网络互连技术教程第 8章 用户数据报协议 —— UDP
网络互连技术教程
8.1 UDP协议
8.2 利用 UDP了解网络网络互连技术教程
8.1 UDP协议
8.1.1 UDP协议工作机制
8.1.2 UDP数据报格式每个 UDP报文被称为一个用户数据报 。 用户数据报分为两部分,UDP报头和用户数据 。 图 8-1说明了 UDP用户数据报的格式 。
网络互连技术教程
16位源端口号 16位目的端口号
16位 UDP长度 16位 UDP校验和用户数据图 8-1 UDP用户数据报网络互连技术教程另外,UDP在做校验时,要加上一个 12字节的伪报头 。 图
8-2说明了加上伪报头的 UDP数据报的格式 。 UDP协议的发送和接收端都要加上伪报头之后计算校验和 。 32位的源 IP地址,
目的 IP地址和 8位协议是计算校验之前先从 IP层取出来的,
,16位 UDP长度,域在校验中出现了两次 。 如果接收者的 UDP
协议计算出校验和错误,则简单的丢弃该数据报,不产生任何错误信息 。
网络互连技术教程
32位源 IP地址
32位目的 IP地址
0 8位协议 16位 UDP长度
16位源端口 16位目的端口
16位 UDP长度 16位校验和用户数据报数据图 8-2 用于计算 UDP校验和的各个域网络互连技术教程
8.1.3 UDP工作示例使用 UDP协议的一个例子是 TFTP( Trivial File Transport
Protocol) 应用协议,一般称为简单文件传输协议 。
TFTP协议提供简单文件传输,也可以认为是传输小文件 。 它是为客户机和服务器间不需要复杂的程序交互而设计的,提供简单的,开销不大的文件传输服务 ( 见图 8-3) 。
它的规则很简单,因此 TFTP软件很小,使用起来有一定的局限性,同时也有它的优点 。
网络互连技术教程无盘工作站
TF TP 服务器
TF TP 程序请求下载文件报文发回文件数据报文
TF TP
服务程序图 8-3 无盘工作站通过 TFTP获得启动文件示意图网络互连技术教程
8.2 利用 UDP了解网络
8.2.1 IP分段我们在前面提到了封装的概念 。 现在我们以 UDP应用封装过程为例,看一下封装的过程,如图 8-4所示 。
网络互连技术教程用户数据
UDP 报头 用户数据
IP 报头 UDP 报头 用户数据帧头 IP 报头 UDP 报头 用户数据 帧 尾应用程序生成的数据
UDP 协议将数据封装成数据报
IP 协议将数据封装成 P ac ke t 分组加上帧头、帧尾封装成帧图 8-4 封装的过程网络互连技术教程事实上,封装的过程并非这么简单 。 物理网络层通常规定帧的数据域的最大长度值,当 IP层收到要转发的数据报后,
它先判断该数据报要发往哪个接口,然后询问该接口的 MTU,
( 最大传输单元,Maximum transfer unit) 它将数据报长度字段取出和 MTU比较,如果需要,就把数据报划分成更小的数据单元,最后加上新的 IP报头,这个过程称为分段,分段后的报文称为分片 ( fragment) 。
网络互连技术教程
Ethernet通常规定帧的数据域不超过 1500字节,即要求 IP报头,UDP报头和用户数据加起来最大不超过 1500字节 。 通常 IP
报头长 20字节,UDP报头长 8字节,则用户数据不能超过 1472
字节 。 现在以用户程序刚好要发送一个 1473字节的数据为例,
如图 8-5所示 。
网络互连技术教程
IP 报头 UDP 报头 用户数据( 1473 字节)
A,被转发的 IP 报文超过 1500 字节
IP 报头 UDP 报头 用户数据( 1472 字节) 分片 1
分片 2,数据段只有 1 字节 IP 报头
B,分片后的报文图 8-5 IP分组网络互连技术教程
8.2.2 UDP服务器