《网络协议》全套PPT电子课件教案-第七章 UDP协议

上传人:aa****6 文档编号:48662311 上传时间:2018-07-19 格式:PPT 页数:27 大小:597.50KB
返回 下载 相关 举报
《网络协议》全套PPT电子课件教案-第七章  UDP协议_第1页
第1页 / 共27页
《网络协议》全套PPT电子课件教案-第七章  UDP协议_第2页
第2页 / 共27页
《网络协议》全套PPT电子课件教案-第七章  UDP协议_第3页
第3页 / 共27页
《网络协议》全套PPT电子课件教案-第七章  UDP协议_第4页
第4页 / 共27页
《网络协议》全套PPT电子课件教案-第七章  UDP协议_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《《网络协议》全套PPT电子课件教案-第七章 UDP协议》由会员分享,可在线阅读,更多相关《《网络协议》全套PPT电子课件教案-第七章 UDP协议(27页珍藏版)》请在金锄头文库上搜索。

1、1复习lIP路由选择协议l基本概念:AS、IGP、EGP、距离向量算法、链路状 态算法、区域lRIP、OSPF、BGP关于RIP协议,下列说法正确的有:( ) A. RIP协议是一种IGP B. RIP协议是一种EGP C. RIP协议是一种距离矢量路由协议 D. RIP协议是一种链路状态路由协议 RIP协议是基于( ) A. UDP B. TCP C. ICMP D. IP 2复习lIGP的作用范围是() A. 区域内 B. 局域网内 C. 自治系统内 D. 自然子网范围内距离向量协议包括() A. RIP B. BGP C. OSPF 下列关于链路状态算法的说法正确的是:( ) A. 链路

2、状态是对路由的描述 B. 链路状态是对网络拓扑结构的描述 C. 链路状态算法本身不会产生自环路由 D. OSPF和RIP都使用链路状态算法 RIP协议的路由项在多少时间内没有更新会变为不可达?( )A. 90s B. 120s C. 180s D. 240s3第七章 UDP协议简介进程到进程的通信UDP格式UDP检验和UDP操作UDP服务器设计 本章小结47.1 UDP简介lTCP/IP传输层提供了两个协议:UDP和TCP。 UDP(User Datagram Protocol,用户数据报协议)是 一种无连接、不无连接、不 可靠可靠的传输层协议, 参看 RFC 768。l传输层协议的三个功能:

3、l创建进程到进程的通信。UDP使用端口号完成进程到进程 的通信。l提供控制机制。TCP提供控制,但是UDP不为IP增加可靠 性、流量控制或差错恢复。UDP在收到分组时不确认,仅 提供有限的差错检验,如果收到的分组中有差错,丢弃此 分组。因此利用UDP的应用程序要承担可靠性方面的全部工作 。l负责为进程提供连接机制。传输层应该在发送端和接收端 建立连接,把从进程得到的数据流分为可传输单元,然后 依次发送,最后在接收端接收并形成数据流,交付给进程 。而UDP不执行上述操作,它只从进程接收数据单元,不 建立连接,而且不可靠的交付给接收端。57.1 UDP简介lUDP特点:无连接,不可靠数据直接封装在

4、IP数据报中传输运行效率高,实现简单l典型应用:SNMP(简单网络管理协议);NFS(网络文件 系统) 、域名系统(DNS)以及简单文件传输系统( TFTP)。l由于UDP协议提供的是快速但不可靠的服务,因此它适用不要求提供可靠数据传输的场合前面我们学到的哪个协议采用UDP封装的?RIP67.1 UDP简介UDP传输原理 nUDP协议在接收到上层传输来的数据之后,就将数据分 割为若干个数据段(Segment),并给每个数据段配置一个 用于在目的端重装时使用的号码 。为什么使用需要 UDP? 无需建立连接 (建立连接会增加延迟) UDP是一个简单协议,适用发送很短报文而不关心可靠性。 无拥塞控制

5、: UDP 可按需要随时发送nUDP并不一定按顺序发送这些数据段,也不关心这此数据段 到达目的端的先后顺序。在发送数据段之后,既不去跟踪数 据段的传输,也不去校验数据段的完整性,甚至不对数据段 是否到达进行确认。因此,UDP协议被认为是一种不可靠的 协议。UDP协议在发送数据段的时候,不建立连接,不和目的端进 行任何联系,因此被称为无连接协议。77.2 进程到进程的通信l主机到主机的通信:IP负责主机到主机的通信,IP作为网络 层协议,只能将报文交付给主机。但是,这是一种不完整的 交付。l进程到进程的通信:UDP负责将报文交付给适当的进程。87.2 进程到进程的通信C/S模式l完成进程到进程的

6、通信可以有多种方法,最常用方法 是客户/服务器模式(Client/Server),即本地计算机上客户进程,要从远程计算机上的服务器进程得到服 务。 l目前操作系统支持多用户和多程序运行环境。由于大 多数网络应用程序都在同一台机器上运行,计算机上 必须能够确保目的地机器上的软件程序能从源地址机 器处获得数据报,以及源计算机能收到正确的回复。 这是通过使用 UDP 的“端口号端口号”完成的。例如,如果一 个客户希望在IP地址为128.1.123.1的服务器上使用域名 服务系统(DNS)。因此,IP目的地址为 128.1.123.1 ,并且要在 UDP 头部插入目标端口号 53,说明在目的 端53号

7、端口获得DNS服务,形成数据报。97.2 进程到进程的通信C/S模式l远程计算机在同一时间内可以运行多个服务器程序。l本地计算机在同一时间内可以运行多个客户程序。对通信双方来说,需要定义下面四项,才能正确连接通信。本地主机 本地进程远程主机 远程进程u本地主机和远程主机通过IP地址定义。u本地进程和远程进程通过端口号定义。()用来选择主机,()用来选择进程。 a. IP地址 b. MAC地址 c. 端口号 107.2 进程到进程的通信套接字地址l一个IP地址和一个端口号合起来称为套接字地址。l要使用UDP服务,需要一对套接字地址:客户端套接字地址和服务器端套接字地址。l客户端套接字地址唯一定义

8、了客户应用程序。l服务器端套接字地址唯一定义了服务器应用程序。117.2 进程到进程的通信端口号lIANA将端口划分为三个范围:熟知的(或知名的)、注册的和动态的(或私用的)。详细内容参见 http:/www.iana.org/assignments/port-numbers F熟知端口:0-1023,由IANA指派和控制,分配给系统 的主要和核心服务。如80端口被指定HTTP服务。F注册端口:1024-49151,在IANA中注册以防止重复, 但是IANA不指派也不控制,分配给行业应用程序和进 程。如1433分配给Microsoft SQL Server进程。F动态端口:49152-6553

9、5,又称为短期端口,既不用注册也不用指派,可以由任何进程使用,用做某些连接 的临时端口。127.2 进程到进程的通信端口号lUDP的熟知端口如下表所示。 端口协议说明 7Echo将收到的数据报回送 到发送端 9Discard丢弃收到的数据报 13Daytime返回日期和时间 53domain域名服务DNS 67Bootps引导程序协议服务器 端口 68Bootpc引导程序协议客户端 口 69TFTP简单文件传输协议 161SNMP简单网络管理协议 162SNMP简单网络管理协议( 陷阱) 520RIP路由信息协议137.3 UDP数据报格式UDP分组有8个字节固定首 部,分为四项,每项均为16

10、 位。 源端口号(16位) 目的端口号(16位) 总长度(16位) 检验和(16位) 数据首部 8字节源端口号:在源主机上运行的 进程所使用的端口号。若源主 机是服务器端,则此端口号是 熟知端口号;若源主机是客户 端,则大部分情况下端口号是 动态端口号。目的端口号:目的主机上运行的进程使用的端口号。若目的主 机是服务器端,则大多数情况下端口号是熟知端口号;若目的 主机是客户端,则此端口号是动态端口号。 总长度:数据报总长度,从8到65535字节,包括首部和数据。 规定最小长度是8字节,此时只有首部无数据。 检验和:检验整个用户数据报(首部加上数据)出现的差错。实例分析147.4 UDP的校验和

11、发送方:将数据段的内容分成多个 16位整数的串 校验和: 作段内容的加法( 补码和) 发送方将补码和放入 UDP 校验和字段l目的:检测传输中的错误接收方:对接收到的数据段内容进 行补码和计算 检查计算结果是否与收到 的校验和相等: 不等 查出错误 相等 没查出错误, 但是仍有可能存在错误 。 157.5 UDP的操作流量控制和差错控制:UDP是一个很小的不可靠协议。 UDP没有流量控制,也没有窗口机制。当到达报文太多时 ,接收端可能会溢出。除校验和外,UDP无差错控制机制。发送端不知道报文是 丢失还是重复地传送了。当接收端使用校验和检测出差错 使,丢弃此数据报。使用UDP的进程必须提供流量控

12、制和差错控制机制。无连接服务:UDP提供无连接的服务。UDP发送的每一个 用户数据报都是独立的数据报,不进行编号,可以经过不 同的路径。UDP不能发送数据流,而且也不能将数据流分割成多个不 同的相关联用户数据报。因此,只有发送短报文的进程才 应当使用UDP。167.5 UDP的操作封装和拆装拆装:当这个报文到达目的主机时,物理层对信号解码, 变为比特流,传给数据链路层。数据链路层使用其首部( 和尾部)检查数据。若无差错,则去掉首部和尾部,将数 据报传递给IP,进行检查。若无差错,就去掉首部,将用 户数据报连同发送端和接收端的IP地址传递给UDP,UDP 使用检验和对整个用户数据报进行检查。若无

13、差错,则去 掉首部,将应用数据连同发送端的套接字地址传递给接收 进程。在应答收到的报文时,将发送端的套接字地址传递 给进程。 l封装:当进程有报文要通过UDP发送时,它将此报文连 同套接字地址以及数据长度传递给UDP。UDP收到数据 后加上UDP首部。然后将UDP数据报传递给IP。IP加上 自己首部,在协议字段使用值17,指出这个数据是从 UDP协议来的。这个IP数据报再传递给数据链路层。链 路层收到IP数据报后,加上自己的首部,传递给物理层 。物理层将这些比特编码为电信号或光信号将其发送到 远程机器上。 177.5 UDP的操作封装和拆装187.5 UDP的操作排队!输入队列可能发生溢出,溢

14、出时UDP丢弃这个用户数据报, 并请求ICMP协议向客户端发目的端不可达报文。排队:队列与端口相关联。l大多数UDP服务器是交互服务器。即单个服务器进程对单个 UDP端口上(服务器上的熟知端口)的所有客户请求进行处理 。l通常程序所使用的每个UDP端口都与一个有限大小的输入队列 相联系。这意味着,来自不同客户的差不多同时到达的请求将 由UDP自动排队。接收到的UDP数据报按照接收顺序交给应用 程序(在应用程序要求交送下一个数据报时)。l当报文到达服务器进程,UDP检查对应此数据报中目的端口号 指明的端口是否创建了队列。若有此队列,则UDP将数据报添加到队列报尾若没有此队列,则UDP丢弃数据报,

15、向客户端发ICMP的端 口不可达报文。 197.5 UDP的操作排队l开始时UDP控制块表(记录打开的端口)如下:1.有一个数据报到达端口号52012。找到此端口号,并有队列38 ,表明此端口用过。数据报发送到队列38。2. 几秒钟后,一个进程启动,它向操作系统申请端口号,得到 52014,连同进程ID(4978)一起,创建一个条目,此时没 有分配队列,因为还没有数据报到达此端口。正在使用497852014状态进程ID端口号队列号正在使用23455201034 正在使用342252011正在使用465252012385201238207.5 UDP的操作排队l开始时UDP控制块表如下 :3.

16、几秒钟后,有一个数据报到达端口号52011。发现没有队列 被分配到这个目的端,而是用户数据报第一次到达这个目 的端。创建队列,给它一个号(43)。 4. 几秒钟后,有一个数据报到达端口号52222。发现找不到对 应这个目的端的项目,丢弃用户数据报,发“端口不可达 ”ICMP报文。 43正在使用497852014状态进程ID端口号队列号正在使用23455201034 正在使用342252011正在使用46525201238217.5 UDP的操作复用和分用分用:在接收端,可能有多个进程接收数据报。UDP根据 端口号将接收到的数据段传递给正确的应用层进程 。l当主机运行TCP/IP时,在发送端和接收端,都只有一个 UDP,但可能有多个进程要使用UDP的服务。复用和分用 用来处理这种情况。复用:在发送端,可能有

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号