欢迎来到天天文库
浏览记录
ID:51091529
大小:1.50 MB
页数:31页
时间:2020-03-18
《《UDP协议讲解》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、讲解与演示演讲人:朱珉时间:2017.11.UDP协议01/UDP协议概述02/UDP协议格式03/UDP与TCP的比较04/UDP协议的应用场景目录CONTENTS00/小组成员分工介绍小组成员分工介绍0PARTONE朱珉张润华陈犇小组成员分工介绍UDP协议概述1PARTONEUDP协议介绍规范文件----IETFRFC768全称----UserDatagramProtocol(用户数据报协议)定义----OSI(OpenSystemInterconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务IP报文协
2、议号----17特点1.无连接发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延2.无序性UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息(如TCP所采用的序号),而且报文不一定按顺序到达的,所以接收端无从排起。3.不可靠UDP使用“尽最大努力交付”,对接收到的数据报不发送确认信号,发送端不知道数据是否被正确接收,也不会重发数据。5.无拥塞控制网络出现的拥塞不会使源主机的发送速率降低。很多的实时应用(如IP电话、实时视频会议等)要去源主机以恒定的速率发送数据,并且允许在网络发生拥塞时丢失一些数据,但却不允许数据有太多的时延。
3、UDP正好符合这种要求。4.开销小UDP的首部开销小,只有8个字节,传送数据较TCP快速。UDP协议特点6.面向报文发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。因此,应用程序必须选择合适大小的报文。复用和分用UDP协议基本功能UDP只是在IP数据报服务的基础之上增加了少量功能,这就是复用和分用以及差错检测的功能。当运输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口,上交到最后的终点——应用进程。分用基于端口的复用和分用的原理类似,只
4、是数据报的传输方向相反。复用差错检测UDP协议基本功能UDP只是在IP数据报服务的基础之上增加了一些功能,这就是分用和复用以及差错检测的功能。一个UDP模块必须提供产生和验证检验和的功能,但是一个应用程序在使用UDP服务时,可以自由选择是否要求产生校检和。在计算校检和时,要在UDP用户数据报之前增加12字节的伪首部。校检和就是按照这个临时的UDP用户数据报来计算的。UDP计算校检和的方法和计算IP数据报首部校检和的方法相似。但不同的是:IP数据报的校检和只校检IP数据报的首部,但UDP的校检和使把首部和数据部分一起都校检。UDP数据报格式虽然UDP协议非常简单,
5、但它的产生晚于更加复杂的TCP协议。早期的网络开发者开发出IP协议和TCP协议分别位于网络层和传输层,所有的通信都要先经过TCP封装,再经过IP封装(应用层->TCP->IP)。开发者将TCP/IP视为相互合作的套装。但很快,网络开发者发现,IP协议的功能和TCP协议的功能是相互独立的。对于一些简单的通信,我们只需要“BestEffort”式的IP传输就可以了,而不需要TCP协议复杂的建立连接的方式(特别是在早期网络环境中,如果过多的建立TCP连接,会造成很大的网络负担,而UDP协议可以相对快速的处理这些简单通信)。UDP协议由此被开发出来,作为IP协议在传输层
6、的"傀儡"。这样,网络通信可以通过应用层->UDP->IP的封装方式,绕过TCP协议。由于UDP协议本身异常简单,实际上只为IP传输起到了桥梁的作用。UDP协议历史来源UDP协议格式2PARTTWOUDP数据包首部格式用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单,只有8个字节,由四个字段组成,每个字段的长度都是两个字节。各字段的意义如下:(1)源端口:源端口号。在需要对方回信时选用。不需要时可用全0。(2)目的端口:目的端口号。这在终点交付报文时必须要使用到。(3)长度:UDP用户数据报的长度,其最小值是8(仅有首部)(4)检验和:检测UDP用
7、户数据报在传输中是否有错。有错就丢弃。伪首部只在计算检验和时有用把整个数据报加上伪首部以16位为单位进行二进制求和第三步如果和的高16位不为0,则将和的高16位和低位反复相加,直到和的高16位为0,从而获得一个16位的值第四步将上述的和取反,即得到校验和。第一步把IP数据包的校验和字段置为0,并将数据字段填充零至16位对齐UDP首部校验和的计算与IP/ICMP/IGMP/TCP等协议的校验和算法都是相同的UDP数据报检验和计算方法第二步UDP检验和计算实例Socket是操作系统提供的一个编程接口,它用来代表某个网络通信。应用程序通过socket来调用系统内核中处
8、理网络协议的模块,而这些
此文档下载收益归作者所有