您好,欢迎访问三七文档
第8章UDP协议第8章UDP协议8.1最终目标的标识--UDP端口8.2UDP数据包格式8.3UDP校验和的计算8.3.1UDP伪头部格式8.3.2为什么使用伪头部8.4UDP数据包的封装8.5标准UDP端口第8章UDP协议传输层(TCP与UDP)端到端通信主机1路由器路由器主机2端到端点到点点到点点到点网络1网络2第8章UDP协议点到点通信:是由网络互联层来实现的,网络互联层只屏蔽了不同网络之间的差异,构建了一个逻辑上的通信网络,因此它只解决了数据通信问题。端到端通信:是建立在点到点通信基础之上的,它是比网络互联层通信更高一级的通信方式,完成应用程序(进程)之间的通信。端到端的通信是由传输层来实现的。第8章UDP协议传输层端口的概念为了识别传输层之上不同的网络通信程序(进程),传输层引入了端口的概念。在一台主机上,要进行网络通信的进程首先要向系统提出动态申请,由系统(操作系统内核)返回一个本地惟一的端口号,进程再通过系统调用把自己和这个特定的端口联系在一起,这个过程叫绑定(Binding)。这样,每个要通信的进程都与一个端口号对应,传输层就可以使用其报文头中的端口号,把收到的数据送到不同的应用程序,如后图所示。第8章UDP协议应用程序应用程序应用程序应用程序ICMPTCPUDPARPIPRARP以太网网络接口层以太网由传输层报头中的端口字段标识由IP数据报头中的上层协议字段标识由以太网帧类型字段标识……第8章UDP协议在TCP/IP协议中,传输层使用的端口号用一个16位的二进制数表示。因此,在传输层如果使用TCP协议进行进程通信,则可用的端口号共有216个。由于UDP也是传输层一个独立于TCP的协议,因此使用UDP协议时也有216个不同的端口。8.1最终目标的标识—UDP端口UDP和TCP都使用了与应用层接口处的端口(port)与上层的应用进程进行通信。图8-7说明了端口在进程之间的通信中所起的作用。8.1最终目标的标识—UDP端口8.1最终目标的标识—UDP端口若没有端口,运输层就无法知道数据应当交付给应用层的哪一个进程。端口是用来标识应用层的进程。图8-8举例说明了端口的作用。8.1最终目标的标识—UDP端口8.1最终目标的标识—UDP端口端口分类:一类是由因特网分配给一些常用的应用层程序固定使用的熟知端口,其数值一般为0~1023。另一类是临时端口,当写一种新的应用程序时,必须为它指派一个临时端口,否则其他的应用进程就无法和它进行交互。实际上,机器通常从1024起分配动态(临时)端口。8.2UDP数据包格式UDP协议是建立在IP协议之上的,从进程的缓冲区输出一个UDP数据报,把生成的UDP数据报直接封装在IP数据报中进行传输,因此在传输层使用UDP协议时,发送端不需要发送缓冲区。UDP数据报头区UDP数据区IP数据区IP报头区UDP数据报IP数据报被封装在IP中的UDP数据报通过网络传输到目标主机的IP层后,由目标主机的UDP层根据目标端口号送到接收该数据的相应进程。8.2UDP数据包格式用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单,只有8个字节,如图8-11所示,由4个字段组成,每个字段都是两个字节。各字段意义如下所述:源端口字段:源端口号,可选项。目的端口字段:目的端口号。长度字段:UDP用户数据报的长度。检验和字段:可选项。8.2UDP数据包格式UDP目标端口号(16位)0151631UDP源端口号(16位)UDP长度(16位)UDP校验和(16位)数据区UDP数据报头区UDP数据区IP数据区IP报头区UDP数据报IP数据报8.2UDP数据包格式8.2UDP数据包格式这个伪头部并不是UDP的真正组成部分,它只是为了UDP在进行差错检查时可以把更多的信息包含进去而人为加上的。伪头部的格式如图所示。协议(8位,UDP值为17)UDP长度(16位)填充域(8位,全0)目标端IP地址(32位)源端IP地址(32位)0151631788.2UDP数据包格式伪头部包含IP头部的一些字段,填充域全填0,目的是使伪头部为16位二进制数的整数倍,这是计算校验和时所需要的。UDP长度为UDP数据报的总长(当然不能包括虚构的伪头部)。源端在发送UDP数据报时,使用构造的UDP伪头部和UDP数据报计算出校验和(校验和计算方法与IP头部校验和的计算方法相同),然后填入UDP头部。8.3UDP校验和的计算图8-12给出了一个计算UDP检验和的例子。8.3UDP校验和的计算UDP使用伪头部结构来计算校验和。在发送方将伪头部与UDP数据包一起计算校验和后发送给接收方,接收方同样计算后进行比较,如对,说明是给本机的,且数据没错。伪头部没有传输!还是为了可靠,可以不选。8.5标准UDP端口UDP数据包中,源端口字段可选,目标端口字段必须指定。接收主机发现IP协议字段为17,就将数据交给UDP协议处理。8.5标准UDP端口UDP端口号关键词描述53Domain域名服务器67BootPS引导协议服务器68BootPC引导协议客户机69TFTP简单文件传输协议161SNMP简单网络管理协议162SNMP-TRAP简单网络管理协议陷阱两台要通信的主机,每一端要使用一个二元地址(IP地址,端口号)才可以完成它们之间的通信。8.5标准UDP端口UDP协议的特点UDP对数据的封装非常简单,主要是增加了端口号与校验和,就直接通过IP层进行传输了,因此具有以下特点:(1)UDP是一种无连接、不可靠的数据报传输服务协议。(2)UDP对数据传输过程中惟一的可靠保证措施是进行差错校验,如果发生差错,则只是简单地抛弃该数据报。(3)如果目标端收到的UDP数据报中的目标端口号不能与当前已使用的某端口号匹配,则将该数据报抛弃,并发送目标端口不可达的ICMP差错报文。8.5标准UDP端口(4)UDP协议在设计时的简单性,是为了保证UDP在工作时的高效性和低延时性。因此,在服务质量较高的网络中(如局域网),UDP可以高效地工作。(5)UDP常用于传输延时小,对可靠性要求不高,有少量数据要进行传输的情况,如DNS(域名服务)、TFTP(简单文件传输)等。
本文标题:第8章-UDP协议
链接地址:https://www.777doc.com/doc-1218133 .html