付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章UDP协议8.1
多路复用与多路分解8.2
UDP
数据包格式8.3
UDP校验和的计算8.3.1
UDP
校验和的计算8.3.2
为什么使用伪头部8.4
UDP
数据包的封装8.5
标准UDP
端口2014/3/25TCP/IP协议及网络编程-28.1
多路复用与多路分解层协议:为运行在不同主机上的应用进程提供逻辑通信功能(主机好像是直接相连的)。进程之间使用逻辑通信功能彼此发送报文,无需考虑具体物理链路。应用层层网络层
数据链路层物理层层层数物应用层层网络层数据链路层物理层网络层数据链路层物理层网络层
数据链路层物理层网络层
数据链路层物理层络层路层2014/3/25TCP/IP协议及网络编程-38.1
多路复用与多路分解因特网
层协议:UDP(用户数据报协议):为应用程序提供不可靠、无连接的服务。TCP(传输控制协议):为应用程序提供可靠的、面向连接的服务。术语:报文段(segment):
层分组。数据报(datagram):网络层分组。2014/3/25TCP/IP协议及网络编程-48.1
多路复用与多路分解层将网络层所提供的主机到主机交付服务,扩展到在主机上运行的应用程序到应用程序的交付服务。通常,主机上可以有多个应用程序进程运行(如一个HTTP、一个FTP、两个
net)。当
层从底层网络接收数据时,应能正确地定向到相应的一个进程(套接字)。HTTPnetFTPnet层数据报2014/3/25TCP/IP协议及网络编程-58.1
多路复用与多路分解——套接字套接字是从网络向进程传递数据,或从进程向网络传递数据的门户。层和应用进程通过套接字来传递数据。主机上的套接字可以有多个,每个套接字都有惟一的标识符(格式取决于
UDP或TCP)。P1
应用层
P2层网络层链路层物理层=套接字=进程2014/3/25TCP/IP协议及网络编程-68.1
多路复用与多路分解多路复用(发送主机):从不同套接字收集数据块,并为每个数据块封装上首部信息,生成报文段,传递到网络层。多路分解(接收主机):
将报文段中的数据交付到正确的套接字。即接收方运输层从报文段的多个字段中,识别出套接字,并将报文段定向到该套接字。例图,进程P3向进程P1发送。2014/3/25TCP/IP协议及网络编程-78.1
多路复用与多路分解网络层链路层物理层应用层层网络层链路层物理层network链路层物理层P2P4应用层
P3
P1
应用层层
层主机1主机2主机3主机1上的 层收集套接字输出的数据,形成
层报文段,将其传递给下面的网络层(多路复用);主机2的 层将从其网络层收到的报文段多路分解后通过相应的套接字交给其上的P1进程。2014/3/25TCP/IP协议及网络编程-88.1
多路复用与多路分解当报文段到达主机时,层检查报文段中的目的端,将其定向到相应的套接字。报文段中的数据通过套接字进入其所连接的进程。端
:主机上的每个套接字分配一个端
。16位(0~65535)。0~1023为
端
,保留给固定的应用程序。开发一个新应用时,需选择一个端
。2014/3/25TCP/IP协议及网络编程-98.2
UDP
数据包格式UDP段可能:丢包对应用程序交付失序无连接:在UDP发送方和接收方之间无握手每个UDP段的处理独立于其他段使用UDP协议的原因无连接创建(减少时延)简单:无连接段首部小无拥塞控制:UDP能够尽可能快地传输应用常用于流式多DNSSNMP经UDP的可靠传输:在应用层增加可靠性,实现特定的差错恢复!2014/3/25TCP/IP协议及网络编程-108.2
UDP
数据包格式0
16
31UDP源端口UDP目标端口UDP包长UDP校验和数据UDP数据包格式源端口和目标端口字段:
指定了两个16
位长的端
。源端口字段可选,若指定了该字段的值,表示了响应数据包应发往的。若不使用,应设为0。端长度字段:整个UDP
数据包的字节个数,含UDP
头部和数据部分。最小为8
,即该UDP数据包不包含数据段。UDP
校验和字段:可用来保证UDP
数据包的完整性,可选。2014/3/25TCP/IP协议及网络编程-118.3
UDP
校验和的计算8.3.1
UDP
伪头部格式8.3.2
为什么使用伪头部2014/3/25TCP/IP协议及网络编程-128.3.1
UDP
伪头部格式UDP
校验和的计算不仅包含了UDP数据包中的所有数据,还包括一个称为伪头部的结构和长度补足部分(将UDP
数据包补足16
位的整数倍的一个全为0
的8
位字)。计算校验和时:UDP
协议先构造该数据包的一个伪头部结构。然后将UDP
数据包的校验和字段设置为0,并将其连接在伪头部后面。将UDP
数据包的长度补足为16
位的整数倍。最后按照IP
协议校验和的计算方法,对这个新的结构计算校验和,并将结果填入校验和字段。UDP
伪头部和长度补足部分不会进行传输,其长度也不包含在UDP
数据包长度字段内。2014/3/25TCP/IP协议及网络编程-138.3.1
UDP
伪头部格式源IP
地址和目的IP
地址字段包含了发送该数据包的源主机和接收它的目的主机的IP
地址。协议代码字段为UDP
协议的代码。UDP
数据包长度字段就是UDP
数据包的UDP
包长字段的值。0
816
31源IP地址目的IP地址0协议代码(17)UDP数据包长度UDP伪头部格式2014/3/25TCP/IP协议及网络编程-148.3.2
为什么使用伪头部使用UDP
伪头部的目的,为校验和而存在。伪头部并非UDP数据报中实际的有效成分。伪头部是一个虚拟的数据结构,其中的信息是从数据报所在IP分组的报头中提取的,既不向下传送也不向上递交,而仅仅是为了计算校验和。这样的校验和,既校验了UDP用户数据的源端
和目的端,以及UDP用户数据报的数据部分,又检验了IP数据报的源IP地址和目的地址。从而,伪报头可保证UDP数据单元到达正确的目的地址。伪报头中包含IP地址并且作为计算校验和需要考虑的一部分。最终目的端根据伪报头和数据单元计算校验和,来验证通信数据在传输过程中没有改变而且到达了正确的目的地址。2014/3/25TCP/IP协议及网络编程-158.4
UDP
数据包的封装应用程序UDPIP网络层UDP协议的层次图UDP数据区UDP头部IP报文数据区帧数据区IP报头帧头UDP数据包封装关系UDP
数据包是封装在IP
数据包中进行传输,即整个UDP
数据包是作为IP
数据包的数据部分被封装在IP
数据包中的。封装关系
。IP
数据包的头部有一个协议字段,该字段表明IP
数据包封装的是上层哪一种协议的数据包。对于UDP
数据包,该字段的值为17
。2014/3/25TCP/IP协议及网络编程-16178.4
UDP
数据包的封装1、接受方应用程序A首先申请一个端 ,如5555使用UDP协议的应用程序如何将数据传输到目标主机A
的特定应用程序的?2、发送方的应用程序准备好数据后,将其交给UDP
协议,让其将该数据发送给主机A
的端口5555应用层应用程序A应用程序I…层……套接字UDPTCP套接字应用层应用程序A应用程序I…层……套接字端口5555UDPTCP套接字3、UDP
协议将应用程序的数据作为UDP
数据包的数据部分封装在一个UDP
数据包中,并将数据包的目标端口字段设置为55554、
UDP
协议发现端
为5555,就将UDP
数据包的数据区放置在
端口5555的队列中发送方接收方8.4
UDP
数据包的封装上述过程的详细文字描述:首先接收数据的应用程序要申请一个UDP
端,设为P
。发送方的应用程序准备好数据后,将其交给UDP
协议,让其将该数据发送给主机A
的端口P
。UDP
协议将应用程序的数据,作为UDP
数据包的数据部分封装在一个UDP
数据包中,并将数据包的目标端口字段设置为P
。UDP
协议再将UDP
数据包交给IP
协议处理,让其将该数据包发送到主机A
。2014/3/25TCP/IP协议及网络编程-188.4
UDP
数据包的封装IP协议将UDP数据包作为IP数据包的数据封装在一个IP数据包中,并将目的地址设置为A,将协议字段设置为17,然后将其交给网络层处理并发送出去。该IP
数据包可能会经过若干个路由器,并最终到达主机A
的IP
协议层。主机A
的IP
协议发现协议字段为17
,就将IP
数据包的数据区交给UDP
协议处理。UDP
协议发现端
为P
,就将UDP
数据包的数据区放置在端口P
的队列中。A
的应用程序从该队列中将数据取出,并进行处理。2014/3/25TCP/IP协议及网络编程-198.5
标准UDP
端口UDP数据包的源端口字段是可选的,但是目标端 必须指定。,才能确定将数据放在目标主机的UDP协议必须知道端哪个队列中。应用程序如何才能知道要将数据发往目标主机的哪个端口?发送方在发送UDP数据包时指定源端口字段。数据包的接受者在响应该数据包时,可以将目标端设置为该数据包的源端。第一个数据包的发送者如何知道数据包的目标端口呢?一些标准服务指定了
的UDP端口。2014/3/25TCP/IP协议及网络编程-208.5
标准UDP
端口UDP标准端口表端描述0保留7回显9丢弃11活动用户13日期时间15netstat17qotd19字符产生服务37时间2014/3/25TCP/IP协议及网络编程-218.5
标准UDP
端口UDP(标准端口表续端描述42主机名服务43whois53服务67Bootstrap协议服务器68Bootstrap协议客户端69TFTP123网络时间协议161snmp162)2014/3/25TCP/IP协议及网络编程-228.5
标准UDP
端口应用程序申请UDP
端可以采用两种方式:第一种就是指定需要分配哪个端口;第二种方法不指定需要的端口,操作系统可以随意分配一个可用的端给该应用程序。通常,如果应用程序需要接收其他主机的应用程序发出的第一个数据包,它就需要采用第式申请一个固定的端,且这个端必须是其他主机的应用程序知道的。否则应用程序可以采用第二种方法申请端,并在发出的第一个数据包中指定源端。2014/3/25TCP/IP协议及网络编程-23小结
层协议:为运行在不同主
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 函数的表示(第2课时)课件2025-2026学年人教版八年级数学下册
- 借用公司名义买车险协议书
- 中国妇女十二大精神进基层宣讲工作纲要
- 快充协议书芯片好做
- 口腔科口腔溃疡患者饮食护理建议
- 私募基金合作框架协议书
- 合伙协议书范本
- 头条许可使用协议书
- 休克疗法玻利维亚
- 妇科常见超声检查诊断技巧
- 校园防溺水安全教育课件
- 5.1 人要自强(课件) 2025-2026学年统编版道德与法治七年级下册
- 2026年智能科学与技术专业发展规划
- 2026春季安徽黄山东海景区开发有限公司东海索道分公司招聘49人考试备考试题及答案解析
- 2026年湖北国土资源职业学院单招职业技能考试题库及答案详细解析
- 广东粤财投资控股有限公司招聘笔试题库2026
- 肺癌诊治中心建设与管理指南
- 建筑工程起重吊装监理实施细则
- 房屋建筑维修保养方案
- GB/T 2829-2025周期检验计数抽样程序及表(适用于对过程稳定性的检验)
- 2025成人破伤风诊疗及预防中国急诊专家共识解读
评论
0/150
提交评论