UDP协议简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2) 因为分片可以选择不同的路由,所以分片的到达顺序是乱的,最后一片有可 能最先到达。
3) IP分片对于传输层是透明的,但是如果IP的接收端收到的分片少了一片,那 么整个IP包都会被丢弃,如果上层有超时重传机制则发重发整个包,而不是一个 分片,因为IP层本身是没有超时重传机制的。
4) 任何传输层的部首只会在第一个分片中出现,后续分片中是没有的。(只有IP 第一分片会出现ICMP差错报文)
4
UDP伪首部
在计算校验和时需要使用到UDP伪首部。
伪首部只在计算校验和时使用,其既不参与到数 据报长度的计算,也不包括在发送的数据报中。 伪首部的格式如下图所示。其中协议标识符(协 议号)为17。
0 源 IP 地址 目的 IP 地址 0 协议标识符 UDP 长度
5
15 16
31
Socket
无连接服务
是没有握手过程的,当一方想发送数据时就直接了当地发送,因为没有握手 过程也就没有什么流量控制和拥塞控制,这样数据可能传输得更快,但是, 由于也没有确认过程,源端就不知道那些分组到达了目的端。因此可能在传 输过程中丢失数据,不适合用在一些文件的传输,可以用在因特网电话,视 频会议什么的。
15
14
IP分片
note: 0) 在3位标识中还有一位是表示不允许分片,如果该位是1,而且长度又大于MTU,
那么,IP层不对数据进行分片,而是把包丢弃,然后发送一个ICMP消息给起始端。
1) 经过每一个路由或网络都有可能对原来的IP包进行分片,也就是说起始端并
不清楚具体的分片情况,因为中间的过程中可能又产生了很多分片。
6
7
TCP和UDP的区别
8
6.3 UDP的特点
UDP传送数据前并不与对方建立连接,即UDP 是无连接的,在传输数据前,发送方和接收方 相互交换信息使双方同步。 UDP不对收到的数据进行排序,在UDP报文的 首部中并没有关于数据顺序的信息(如TCP所 采用的序号),而且报文不一定按顺序到达的, 所以接收端无从排起。 UDP对接收到的数据报不发送确认信号,发送 端不知道数据是否被正确接收,也不会重发数 据。 UDP传送数据较TCP快速,系统开销也少。
9
面向连接和非连接
面向连接的服务
,应用面向连接的服务时,客户和服务器在进行数据发送前,彼此向对方发 送控制分组,这就是所谓的握手过程,使得客户和服务器都做好分组交换准 备。面向连接服务与很多其他的服务捆绑在一起,包括可靠的数据传输,流 量控制和拥塞控制等,依赖连接以正确的顺序无错地传递所有数据。还要使 用确认和重传机制实现来可靠性。
用户数据报协议(UDP)
1
传输层在TCP/IP协议中的位置
应用层 FTP、Telnet、SMTP、TFTP、DNS
传输层
TCP
UDP
网络层
ARP、RARP
IP
ICMP、IGMP
链路层
FDDI、Ethernet、ATM、
物理层
同轴电缆、光纤、双绞线
2
UDP数据报格式
0 UDP 源端口号 UDP 数据报长度 UDP 数据区 15 16 UDP 目的端口号 UDP 校验和 31
பைடு நூலகம்
10
TCP UDP 对比
11
12
IP分片
13
对于IP层来说,收到上层(UDP/TCP)发过来的数据,会先检查链路层
的MTU: 1)如果 “上层数据+IP头” 的总长度没有超过MTU,则直接 进行发送。 2)如果长度超过了MTU,则要进行分片。
根据IP头部的格式,有一个16位的标识,分片的时候会把这个标识复制 到所有的分片中去,也就是说同一个IP的分片,他们的标识是一样的; 然后3bit标志中有一位是表示是否最后一片,除了最后一片为0,其它片 这个标识位都为1;修改IP的长度为分片中实际数据的长度;片偏移量是 该片偏移原始数据的位置。 接收端根据 标识,是否为最后一片,各个 片的长度,偏移量就可以把分片的包重新组装起来。
图 6-2
UDP 数据报格式
3
UDP数据报格式
源端口号:标识发送方进程。可选项,若未使 用,则置为0。 目的端口号:标识接收方进程。 数据报长度:包括头和数据段在内的总长,单 位为字节。最小值为:8,即只有UDP首部, 没有数据部分。 校验和:可选项,若未使用则置为0。计算时, 需要使用伪首部参与计算。其计算方法与IP头 校验和的计算方法相同。