协议分析 第3章-2 UDP协议_第1页
协议分析 第3章-2 UDP协议_第2页
协议分析 第3章-2 UDP协议_第3页
协议分析 第3章-2 UDP协议_第4页
协议分析 第3章-2 UDP协议_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络

协议分析与测试第三章-2

UDP协议第三章-2主要内容UDP概述UDP数据报格式UDP主要操作第一节

UDP概述

UDP协议概述(UserDatagramProtocol)UDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。(尽力而为)虽然UDP用户数据报只能提供不可靠的交付,但UDP在某些方面有其特殊的优点。发送数据之前不需要建立连接,无连接的协议UDP的主机不需要维持复杂的连接状态表,信宿收到UDP数据报之后不需要给出任何应答报文。每个数据报单独路由。UDP用户数据报只有8个字节的首部开销。没有流量控制和确认机制,网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。

UDP协议概述(UserDatagramProtocol)无连接,不存在连接建立的时延。信源端,传送数据的速度仅受应用程序生成数据的速度、计算机的能力和传输带宽的限制。信宿端UDP把每个数据报放在队列中,应用程序每次从队列读一个数据报。不建立连接,也不需要维护连接状态,一台服务机可以同时向多个客户机传输相同的数据,如多播。吞吐量不受流量控制算法的调节,只受应用程序生成数据的速率、传输带宽、信源和信宿主机性能的限制。UDP和TCP的最重要功能是将IP提供的端到端传递服务扩展到进程级。UDP基本功能进程-进程数据传递差错检测TCP基本功能进程-进程数据传递差错检测可靠数据传递面向连接拥塞控制UDP提供了不可靠的无连接传输服务。UDP使用IP携带报文,但增加了对给定主机上多个目标进行区别的能力。UDP特点没有确认机制不对报文排序没有超时机制没有反馈机制控制流量导致报文丢弃、重复和乱序使用UDP的应用程序要承担可靠性方面的全部工作。

UDP协议在设计时的简单性,是为了保证UDP在工作时的高效性和低延时性。因此,在服务质量较高的网络中(如局域网),UDP可以高效地工作。

UDP常用于传输延时小,对可靠性要求不高,有简单数据要进行传输的情况,如DNS(域名服务)、TFTP(简单文件传输)等,既节省开销,又提高网络传输效率。实时性要求较高但可承受一定的数据错误的应用,如实时语音、视频等,以及广播、多播较多地使用UDP。第二节

UDP数据报格式

伪首部源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数据首部UDP用户数据报用户数据报UDP有两个字段:数据字段和首部字段。首部字段有8个字节,由4个字段组成,每个字段都是两个字节。源端口:运行在信源机的应用进程使用的端口号目的端口:运行在信宿机的应用进程使用的端口号数据报总长度:用户数据报的总长度(首部+数据)检验和:检验整个用户数据报的差错伪首部源端口目的端口长度检验和122222字节接收主机发现IP协议字段为17,就将数据交给UDP协议处理。UDP数据包中,源端口字段可选,目标端口字段必须指定。目标端收到的UDP数据报中的目标端口号不能与当前已使用的某端口号匹配,则丢弃该数据报,并发送目标端口不可达的ICMP差错报文。UDP对数据传输过程中惟一的可靠保证措施是进行差错校验,如果发生差错,则只是简单地抛弃该数据报伪首部源端口目的端口长度检验和122222字节伪首部源端口目的端口长度检验和数据首部UDP长度源IP地址目的IP地址017IP数据报字节44112122222字节发送在前数据0~65507B首部8BUDP用户数据报在计算检验和时,临时把“伪首部”和UDP用户数据报连接在一起。伪首部仅仅是为了计算检验和。校验和的计算

UDP伪头部并不是UDP的真正组成部分,它只是为了UDP在进行差错检查时可以把更多的信息包含进去而人为加上的。伪头部没有传输!伪头部的格式:UDP长度为UDP数据报的总长(当然不能包括虚构的伪头部)。填充域全填0,目的是使伪头部为16位二进制数的整数倍,这是计算校验和时所需要的.另:如果数据报的长度是奇数字节,则要在最后添加一个填充字节0,使字节总数为偶数,方便计算校验和,附加的0不会被传输。计算UDP检验和的例子1001100100010011→153.190000100001101000→8.1041010101100000011→171.30000111000001011→14.110000000000010001→0和170000000000001111→150000010000111111→10870000000000001101→130000000000001111→150000000000000000→0(检验和)0101010001000101→TE0101001101010100→ST0100100101001110→IN0100011100000000→G和0(填充)1001011011101011→求和得出的结果0110100100010100→检验和04112字节伪首部8字节UDP首部7字节数据填充按二进制反码运算求和将得出的结果求反码全0171510871315全0TESTING全0最大UDP数据报长度65535=20+8+65507数据首部IP数据报发送在前数据0~65507B首部8BUDP用户数据报制约UDP数据报长度的因素大部分系统缺省提供读写8192个字节的UDP数据报受TCP/IP内核实现的限制BSD/38632786B32778+8SunOS4.1.332767B32759+8Solaris65535B65527+8第三节

UDP主要操作

UDP报文的封装、拆封数据首部IP数据报发送在前数据0~65507B首部8BUDP用户数据报封装:高层-UDP-IP-数据链路层-物理网络拆封:物理网络-数据链路层(必要检验、去首尾部)-IP(去IP首部、连同源目的IP一起送给)-UDP(校验和检查、去UDP首部)-高层UDP的复用、分用当主机运行TCP/IP协议族时,只有一个UDP,但可能会有多个进程想要使用UDP的服务,UDP可以进行复用和分用。UDP接收多个Applications的数据报,封装后送给IP传输。接收到IP送来的数据报,分别将其送给对应的应用程序。端口是用报文队列来实现UDP端口51000UDP端口69出队列入队列出队列入队列TFTP服务器TFTP客户UDP用户数据报应用层运输层UDP传输队列与端口关联,每个应用进程都包含1个输入队列和1个输出队列UDP为进程临时分配一个port时,也同时在内存建立1个输入队列和1个输出队列发:数据包写入输出队列,UDP逐个取出,加UDP首部封装后给IP收:到达信宿的数据报放在与该数据报目的port对应的输入队列。出入都可能会溢出出溢出:降发送速度入溢出:丢弃,发送“端口不可达”报文常用的UDP端口UDP的使用场合DNS-UDPvideoUDPIP协议字段值=17UDP-8BytesHeadSourceportDestinationportLengthCheckSumData小结:为什么选择UDP?Question?1、TCP和U

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论