找回密码
 立即注册

QQ登录

只需一步,快速开始

主机交流Megalayer兑换位02兑换位03
兑换位04兑换位05兑换位06兑换位07
查看: 502|回复: 0

华纳云:什么是UDP协议?可以用于哪些?

[复制链接]

98

主题

10

回帖

604

积分

高级会员

积分
604
发表于 2020-11-22 17:47:06 | 显示全部楼层 |阅读模式
华纳云:什么是UDP协议?可以用于哪些?
对于使用协议,选择 UDP必须非常谨慎。UDP协议在网络质量极不理想的情况下,数据包丢失问题将更加严重。但由于 UDP的特点: UDP不属于连接协议,因此具有资源消耗少、处理速度快等优点,因此一般情况下,传输音频、通常使用 UDP来处理视频和普通数据,因为即使偶尔丢失一个或两个包,对接收结果也没有多大影响。例如, ICQ和 QQ通过 UDP进行聊天。
TCP/IP整体构架概述
IP协议不是完全符合 OSI的七层参考模型。开放系统中传统的互连参考模型是一个7层的通信协议参考模型,在这个模型中,每个协议执行一个特定的任务。这个模型的设计目的是使不同的硬件在同一级别上进行通信。
七个层次分别是:物理层,数据链路层,网路层,传输层,通信层,展示层和应用层。与之相比, TCP/IP通信协议采用四层结构,每一层都调用其下一层所提供的网络来满足其自身的需求。四个层次如下:
应用层:应用程序间的沟通层,像电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
传输层:在这一层,提供节点间的数据传输服务,如传输控制协议(TCP)、用户数据报协议(UDP)等。TCP和UDP将传输数据添加到数据包中,并传输到下一层,下一层负责传输数据,并确定数据已经传送和接收。
互连网络层:主要提供基本的数据封有传送功能,让每一块数据包都到达目的主机(不检查有没有被正确接收),像网际协议(IP)。
网络接口层:作用是实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。
TCP/IP中的协议
以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的:
1. IP
网际协议
IP是TCP/IP的心脏,也是网络层中最重要的协议。
IP层接收下层(以太网设备驱动等网络接口层)发送的数据包,并把数据包送到更高层——TCP或UDP层;相反,IP层也将从TCP或UDP层接收的数据包传输到下层。IP数据包不可靠,因为IP不确认数据包是按顺序发送的还是没有损坏。IP数据包包含2个地址有发送它的主机的地址(源地址)另外一个就是接收它的主机的地址(目的地址)。
高级 TCP和 UDP服务在接收包时,通常假定包中的源地址是有效的。同样, IP地址构成了许多服务的认证基础,它们认为数据包是从一个有效的主机上发送的。IP确认包含一个选项,称为 IP源 routing,可用于在源地址和目的地址之间指定一个直接路径。对某些 TCP和 UDP服务而言,使用了这个选项的 IP包似乎是从路径上的最后一个系统传递来的,而非从其实际位置传递来的。此选项存在于测试中,表明它可以用于欺骗系统,以执行通常被禁止的连接。因此,很多依赖 IP源地址进行确认的服务都会出现问题,并被非法入侵。
2. TCP
如果IP包中有密封的TCP包,IP会把它们传到TCP层。TCP对数据包进行分类,检查错误,并连接虚电路。TCP数据包包括序列号和确认,因此可以对无序接收的数据包进行排序,损坏的数据包可以重新传输。
TCP将其信息发送给更高级别的应用程序,如Telnet服务和客户端。应用程序轮流将信息发送回TCP层,TCP层将它们向下传输到IP层、设备驱动程序和物理介质,最后传输到接收器。
面向连接的服务(如Telnet、FTP、rlogin、X Windows、SMTP)要求可靠性高,所以使用TCP。在某些情况下,DNS使用TCP(发送和接收域名数据库),但使用UDP传输关于单个主机的信息。
3.UDP
UDP与TCP在同一层,但数据包出现故障或重传。因此,UDP不适用于使用虚电路的面向连接的服务,而是主要用于面向查询响应的服务,如NFS。与FTP或Telnet相比,这些服务需要交换的信息更少。使用UDP的服务包括网落时间协议和DNS(DNS也使用TCP)。
欺骗UDP包相比于欺骗TCP包容易,因为UDP不建立初始化连接(也可以叫握手),也就是说与UDP相关的服务面临更大的危险。
4.ICMP
ICMP与IP位于同一层,用于传输IP的控制信息。它主要用于提供到目的地址的路径信息。ICMP的“重定向”消息通知主机到其他系统的更准确的路径,而“无法到达”消息指示路径有问题。此外,如果路径不可用,ICMP可以“优雅地”终止TCP连接。PING是最常用的基于ICMP的服务。
5. TCP和UDP的端口结构
TCP和UDP服务通常具有客户机/服务器关系,例如,一个Telnet服务进程在系统上开始空闲,等待连接。用户使用远程登录客户端与服务进程建立连接。客户端程序将信息写入服务进程,服务进程读取信息并发送响应,客户端程序读取响应并将其报告给用户。所以这个连接是双工的,可以用来读写。
两个系统之间的多个Telnet连接如何相互确认和协调?每个消息中的下列四项唯一地确认了TCP或UDP连接:
源IP地址 发送包的IP地址。
目的IP地址 接收包的IP地址。
源端口 源系统上的连接的端口。
目的端口 目的系统上的连接的端口。
端口是客户端程序或服务进程用来发送和接收信息的软件结构。一个端口对应一个16位数字。服务进程通常使用固定端口,例如,SMTP使用25,Xwindows使用6000。这些端口号是“众所周知的”,因为在与特定主机或服务建立连接时,需要这些地址和目的地址来进行通信。

华纳云提供优质的香港服务器、美国/香港云服务器、香港高防服务器
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|GDC主机交流论坛_GDC之家

GMT+8, 2024-4-23 18:33 , Processed in 0.057849 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表