常用的熟知端口 UDP的主要特点 ·(①UDP是无连接的,发送数据之前不需要建立连接,, SNMP(trap) HTTPS 因此减少了开销和发送数据之前的时延。 HTTP SNMP ·(2)UDP使用尽最大努力交付,即不保证可靠交付,因 此主机不需要维持复杂的连接状态表。 TFTP Telnet ·(3)UDP是面向报文的。UDP对应用层交下来的报文, DNS FTP 既不合并,也不拆分,而是保留这些报文的边界。UDP SMTP 一次交付一个完整的报文。 RPC ·(4)UDP没有拥塞控制,因此网络出现的拥塞不会使源 53到 16222 123 1801443 三机的发送速率降低。这对某些实时应用是很重要的。 UD TCP 很适谷多媒体通信的要求。 ·(5)UDP支持一对一、一对多、多对一和多对多的交互通信。 IP ·(DP的首部开销小,只有8个字节,比TCP的20个字节 的首部要短。 5.2用户数据报协议UDP 面向报文的UDP ·5.2.1UDP概述 ·发送方UDP对应用程序交下来的报文,在添加 ·5.2.2UDP的首部格式 首部后就向下交付IP层。UDP对应用层交下来 的报文,既不合并,也不拆分,而是保留这些报 文的边界。 ·应用层交给UDP多长的报文,UDP就照样发送, 即一次发送一个报文。 1,运() 2111,运) 35,1 5.2.1UDP概述 面向报文的UDP ·UDP只在P的数据报服务之上增加了很少一点 ·接收方UDP对P层交上来的UDP用户数据报, 的功能: 在去除首部后就原封不动地交付上层的应用进程, ·复用和分用的功能 一次交付一个完整的报文。 ·差错检测的功能 ·应用程序必须选择合适大小的报文。 ·虽然UDP用户数据报只能提供不可靠的交付, ·若报文太长,UDP把它交给IP层后,IP层在传送时 但UDP在某些方面有其特殊的优点。 可能要进行分片,这会降低P层的效率。 ·若报文太短,UDP把它交给P层后,会使P数据报 的首部的相对长度太大,这也降低了P层的效率。 1,E0g0) 31111 1
SMTP FTP Telnet RPC DNS SNMP TFTP 111 53 69 161 25 21 20 23 HTTP 80 HTTPS 443 SNMP(trap) 162 5.2 UDP 5.2.1 UDP 5.2.2 UDP 5.2.1 UDP UDP IP UDP UDP UDP (1) UDP (2) UDP (3) UDP UDP UDP (4) UDP (5) UDP (6) UDP 8 TCP 20 UDP UDP IP UDP UDP UDP UDP UDP IP UDP UDP IP IP IP UDP IP IP IP
UDP是面向报文的 用户数据报UDP有两个字段:数据字段和首部字段 首部字段有8个字节,由4个字段组成,每个字段 都是2个字节。 应用层报文 应用层 字节 11 2 源P地址 目的P地址 017UDP长度 UDP首部 UDP用户数据报的数据部分 运输层 字节 12 2 2 2 2 伪首部 源端口目的端口长度检验和 IP首部 UDP用户数据报 1P数据报的数据部分 IP层 首部 数 发送在前 IP数据报 玩( 5.2.2UDP的首部格式 在计算检验和时,临时把“伪首部”和UDP用户数 据报连接在一起。伪首部仅仅是为了计算检验和。 用户数据报UDP有两个字段:数据字段和首部字段。 首部字段很简单,只有8个字节。 字节 4 4 11 字节 4 4 11 2 源P地址 目的P地址 017UDP长度 源P地址 目的P地址 017UDP长度 字节 12 2 2 2 2 字节 12 2 2■ 2 :伪首部 源端口目的端口长度检验和 伪首部源端口目的端口长度检验和 UDP用户数据报 首部 数据 UDP用户数据报 首部 数 部 数据 首部 数 发送在前 发送在前 IP数据报 IP数据报 UDP用户数据报的首部和伪首部 3811 1,运给) 41 UDP基于端口的分用 计算UDP检验和的例子 1001100100010011→153.19 当运输层从P层收到UDP数据报时,就根据首部中的目 12字节 153.19.8.104 0000100001101000→8.104 的端口,把UDP数据报通过相应的端口,上交最后的终 伪首部 171.3.14.11 1010101100000011→171.3 点一一应用进程。 全017 15 0000111000001011 14.11 8字节 1087 13 0000000000010001→0和17 端口1 端口2 端口3 UDP首部 15 全0 0000000000001111 →15 0000010000111111→1087 7字节 数据数据数据数据 败据 0000000000001101→13 数据败据数据全0 请注意, 虽然在UDP 0000000000001111→15 0000000000000000→0(粒验和) UDP分用 之间的通信要用到其端 填充 UDP的检验和是把首 0101010001000101→数据 口号,但由于UDP的 部和数据部分一起都 0101001101010100→数据 UDP数据报到达 通信是无连接的。因此 0100100101001110→数据 不需要使用套接字。 0100011100000000→数据和0(填充) IP层 按二进制反码运算求和1001011011101101→求和得出的结果 将得出的结果求反码0110100100010010→检验和 3911
UDP 5.2.2 UDP UDP UDP