资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第7章 用户数据报协议(,UDP),1,主要内容,UDP,服务,UDP,的端口号和套接字地址,用户数据报,UDP,检验和,UDP,的操作,UDP,的应用,2,7.1,UDP,服务,UDP,提供无连接的服务。,UDP,发出的每一个用户数据报都是独立的数据报,都携带了完整的目标地址,每一个用户数据报可以被系统独立的路由。,用户数据报不进行编号。,3,UDP,封装,IP,数据报,UDP,数据报,IP,首部,UDP,首部,UDP,数据,(,20,字节)(,8,字节),4,如果,IP,数据报的长度,超过网络的,MTU,,就要对,IP,数据报进行分片。,如果已经分片的数据报遇到了具有更小,MTU,的网络,那么这些已经分片的数据报还可再进行分片。,5,7.2,UDP,的端口号和套接字地址,UDP,的端口号,套接字地址,6,7,.,2,.,1,UDP,的端口号,TCP/IP,协议族中使用端口号来标识进程。,UDP,可以根据端口号对来自应用层的数据进行多路复用。,UDP,在完成进程到进程之间的通信中采用的是客户,/,服务器工作模式。,UDP,端口号分为三类:熟知端口号、注册端口号和动态端口号。,7,熟知端口号:由,IANA,负责分配给一些常用的应用程序固定使用的端口。其端口号范围从,0,到,1023,注册端口号,:,用户根据需要可以在,IANA,注册以防止重复。其端口号范围从,1024,到,49151,。,动态端口号:用来随时分配给请求通信的客户进程。其端口号范围从,49152,到,65535,。,8,7,.,2,.,2,套接字地址,要使用,UDP,的服务,需要一对套接字地址:客户套接字地址和服务器套接字地址。,一个,IP,地址与一个端口号合起来叫做套接字地址。,IP,地址 端口号,200.23.56.8 69,200.23.56.8 69,套接字地址,9,UDP,分组称为用户数据报(,user datagram),用户数据报格式:,首部 数据,8字节,0 15 16 31,源端口号 目的端口号,16位 16位,总长度 检验和,16位 16位,7.3,用户数据报,10,7.4,UDP,检验和,UDP,检验和包括三个部分:伪首部、,UDP,首部以及从应用层来的数据。,伪首部既不向下传送,也不向上递交。,11,发送端的检验和计算:,l,伪首部填加到,UDP,用户数据报上。把检验和字段填入全零;,l,所有的位划分为每16,bit,为一段。若字节总数不是偶数,则增加一个字节的填充(全0);,l,所有的16,bit,段使用反码算术运算相加(在伪首部中的各行的顺序对检验和的计算没有任何影响。此外,增加0也不影响计算的结果),把得到的结果取反码后插入到检验和字段。,l,伪首部和任何增加的填充丢掉,把,UDP,用户数据报交付给,IP,软件进行封装。,12,接收端的检验和计算:,l,伪首部加到,UDP,用户数据报。若需要,就增加填充;,l,所有的位划分为每16,bit,为一段,把所有的16,bit,段使用反码算术运算相加;,l,得到的结果取反码。若得到的结果是全0,则丢弃伪首部和任何增加的填充并接受这个,UDP,用户数据报。若得到的结果非0,说明接收端检测到校验和有差错,就丢弃这个,UDP,用户数据报。,13,7.5,UDP,的操作,7.5.1 报文的封装和拆封,当进程有报文要通过,UDP,发送时,将,UDP,封装成一份,IP,数据报。,当这个报文到达目的主机网络层,剥去,IP,首部后,,,将用户数据报连同发送端和接收端的,IP,地址一起传递给,UDP。,14,7.5.2.多路复用与多路分用,在发送端,可能有多个需要发送用户数据报的进程。,UDP,使用多路复用技术处理用户数据报的发出。,在接收端也只有一个,UDP,,但有多个进程可能接收用户数据报。根据端口号,UDP,把每一个报文交付给适当的进程。,15,7.6,UDP,的应用,适用需要简单的请求响应通信的进程,而不太关心流量控制和差错控制。而,快速递交比精确递交更为重要的场合。,适用于具有内部流量控制和差错控制机制的进程。,适合多播和广播的运输协议。,可用于管理进程,如简单网络管理协议,SNMP。,可用于某些路由选择更新协议。,UDP,被用于,RIP,选路表的更新。,与实时传输协议一起使用,对多媒体,是很方便的一种协议,.,16,
展开阅读全文