第7章UDP协议

上传人:仙*** 文档编号:32349289 上传时间:2021-10-14 格式:PPT 页数:80 大小:1.01MB
收藏 版权申诉 举报 下载
第7章UDP协议_第1页
第1页 / 共80页
第7章UDP协议_第2页
第2页 / 共80页
第7章UDP协议_第3页
第3页 / 共80页
资源描述:

《第7章UDP协议》由会员分享,可在线阅读,更多相关《第7章UDP协议(80页珍藏版)》请在装配图网上搜索。

1、第七章第七章 用户数据报协议用户数据报协议UDPRFC768RFC768TCP/IPTCP/IP详解卷详解卷1 1:CH11CH11、CH12CH12、CH13CH13主要内容主要内容n7.1 7.1 运输层协议概述运输层协议概述n7.2 7.2 用户数据报协议用户数据报协议UDPUDPn7.3 7.3 广播和多播广播和多播n7.3 IGMP7.3 IGMP协议协议n课下作业课下作业7.1 运输层协议概述 n从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 物理层网络层运输层应用层数据链路层面向信息处理面向通信用户功能网络功

2、能运输层为相互通信的应用进程提供了逻辑通信运输层为相互通信的应用进程提供了逻辑通信 54321运输层提供应用进程间的逻辑通信主机 A主机 B应用进程应用进程路由器 1路由器 2AP1LAN2WANAP2AP3AP4IP 层LAN1AP1AP2AP4端口端口54321IP 协议的作用范围运输层协议 TCP 和 UDP 的作用范围AP3运输层协议和网络层协议的主要区别运输层协议和网络层协议的主要区别 应用进程应用进程IP 协议的作用范围(提供主机之间的逻辑通信)TCP 和 UDP 协议的作用范围(提供进程之间的逻辑通信)因 特 网运输层的主要功能运输层的主要功能 n运输层为应用进程之间提供端到端的

3、逻辑通信运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)(但网络层是为主机之间提供逻辑通信)n运输层还要对收到的报文进行差错检测运输层还要对收到的报文进行差错检测n运输层需要有两种不同的运输协议,即面向连运输层需要有两种不同的运输协议,即面向连接的接的 TCP 和无连接的和无连接的 UDP。 运输层与其上下层之间的关系运输层与其上下层之间的关系运输实体运输实体运输协议运输层层接口 运输服务用户(应用层实体) 运输服务用户 (应用层实体)层接口 网络层(或网际层)应用层主机 A主机 B运输层服务访问点TSAP网络层服务访问点NSAP运输层向上提供可靠的和不可靠的逻辑通

4、信信道运输层向上提供可靠的和不可靠的逻辑通信信道 ?应用层运输层发送进程接收进程接收进程数据数据全双工可靠信道数据数据使用 TCP 协议使用 UDP 协议不可靠信道发送进程运输层的运输层的QoSQoS参数参数n连接建立 连接建立时延 连接建立失败概率n数据传送 吞吐量 传送时延 残留误码率 数据安全性 优先级n连接释放 连接释放时延 连接释放失败概率网络服务分类网络服务分类n A 型网络服务型网络服务 可接受的残留差错率、可接受的可报告差错率;可接受的残留差错率、可接受的可报告差错率; n B 型网络服务型网络服务 可接受的残留差错率、不可接受的可报告差错率;需要运可接受的残留差错率、不可接受

5、的可报告差错率;需要运输实体进行差错恢复;输实体进行差错恢复; n C 型网络服务型网络服务 不可接受的残留差错率、不可接受的可报告差错率;需要不可接受的残留差错率、不可接受的可报告差错率;需要运输实体进行差错检测和差错恢复;运输实体进行差错检测和差错恢复;运输层定义了运输层定义了5 5 个运输协议类个运输协议类运输层采取的技术措施运输层采取的技术措施n复用复用/解复用解复用目的:当网络层服务质量目的:当网络层服务质量(吞吐量、传输延迟等吞吐量、传输延迟等)较好,而运输层用较好,而运输层用户要求不高时,可通过复用在满足运输用户要求的前提下降低费用。户要求不高时,可通过复用在满足运输用户要求的前

6、提下降低费用。定义:复用定义:复用/解复用是指在一个网络连接上支持多个运输层连接。解复用是指在一个网络连接上支持多个运输层连接。n分流分流/合流合流 目的:当网络层服务质量目的:当网络层服务质量(吞吐量、传输延迟等吞吐量、传输延迟等)较差,而运输层用较差,而运输层用户要求较高时,可通过分流满足运输用户的要求户要求较高时,可通过分流满足运输用户的要求(提高吞吐量,减提高吞吐量,减少传输延迟少传输延迟)。定义:分流定义:分流/合流是指把一个运输连接上传送的会话数据映射到多合流是指把一个运输连接上传送的会话数据映射到多个网络连接上传送,各网络连接可相互独立地并行传送。个网络连接上传送,各网络连接可相

7、互独立地并行传送。运输服务原语运输服务原语n三个阶段三个阶段连接建立连接建立数据传送数据传送 连接释放连接释放n4 种服务种服务TC 建立建立正常数据传送正常数据传送加速数据传送加速数据传送TC 释放释放n12 种原语种原语TC 建立建立(4 种种)正常数据传送正常数据传送(4 种种)加速数据传送加速数据传送(2 种种)TC 释放释放(2 种种) 用户数据运输服务原语时序用户数据运输服务原语时序n连接建立阶段连接建立阶段(3 种可能种可能) 成功建立连接、被叫用户拒绝、成功建立连接、被叫用户拒绝、TS 提供者拒绝;提供者拒绝; n数据传送阶段数据传送阶段(2 种可能种可能) 正常数据传送、加速

8、数据传送;正常数据传送、加速数据传送; n连接释放阶段连接释放阶段(4 种可能种可能) 一个用户发起的释放、两个用户同时发起的释放、一个用户发起的释放、两个用户同时发起的释放、TS 提供提供者发起的释放、者发起的释放、TS 用户和提供者同时发起的释放;用户和提供者同时发起的释放;TCP/IP 体系中的运输层协议体系中的运输层协议 TCPUDPIP应用层与各种网络接口运输层n两个对等运输实体在通信时传送的数据单位叫作两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元运输协议数据单元 TPDU (Transport Protocol Data Unit)nTCP 传送的协议数据单位是传送的

9、协议数据单位是 TCP 报文段报文段(segment)n UDP 传送的协议数据单位是传送的协议数据单位是 UDP 报文报文或或用户数用户数据报据报TCP 与与 UDP TCP 与与 UDP nUDP 在传送数据之前在传送数据之前不需要先建立连接不需要先建立连接。对方的运输。对方的运输层在收到层在收到 UDP 报文后,不需要给出任何确认。虽然报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下不提供可靠交付,但在某些情况下 UDP 是一种是一种最有效的工作方式。最有效的工作方式。nTCP 则提供则提供面向连接面向连接的服务。的服务。TCP 不提供广播或多播不提供广播或多播服

10、务。由于服务。由于 TCP 要提供可靠的、面向连接的运输服务,要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。据单元的首部增大很多,还要占用许多的处理机资源。 端端 口口n端口就是运输层服务访问点端口就是运输层服务访问点 TSAPn端口是用来标志应用层的进程端口是用来标志应用层的进程n由由ICANN负责分配负责分配n端口用一个端口用一个 16 bit 端口号进行标志端口号进行标志n端口号只具有本地意义端口号只具有本地意义端口在进程之间的通信中所起的作用端口在进程之间的通

11、信中所起的作用 应用层运输层网络层TCP 报文段UDP用户数据报应用进程TCP 复用IP 复用UDP 复用TCP 报文段UDP用户数据报 应用进程端口端口TCP 分用UDP 分用IP 分用IP 数据报IP 数据报发送方接收方两类端口两类端口 n熟知端口熟知端口 其数值一般为其数值一般为 01023。当一种新。当一种新的应用程序出现时,必须为它指派一个熟知端的应用程序出现时,必须为它指派一个熟知端口。口。n一般端口一般端口 用来随时分配给请求通信的客户进用来随时分配给请求通信的客户进程。程。 套接字套接字socketnIP地址地址+Port套接字套接字socketn一对套接字对应一对通信的进程一

12、对套接字对应一对通信的进程 如:如:(138.3.1.6,1500)和和221.2.3.1,25) (144.43.4.1,1500)和和(221.2.3.1,25)常用的端口号常用的端口号TCP端口号端口号FTP传输层传输层TELNETDNSSNMPTFTPSMTPUDP应用层应用层2123255369161RIP520使用使用TCP和和 UDP协议的各种应用和应用层协议协议的各种应用和应用层协议应 用应用层协议运输层协议名字转换DNS一般用UDP选路协议RIP一般用UDP网络管理SNMP一般用UDP网络文件服务NFS一般用UDPIP电话专用协议一般用UDP流式多媒体通信专用协议一般用UDP

13、邮件传输SMTPTCP远程登陆TELNETTCP超文本传输HTTPTCP文件传输FTPTCP同一个名词同一个名词 socket有多种不同的意思有多种不同的意思 n应用编程接口应用编程接口 API 称为称为 socket API,简称为,简称为 socket。nsocket API 中使用的一个函数名也叫作中使用的一个函数名也叫作socket。n调用调用 socket 函数的端点称为函数的端点称为 socket。n调用调用 socket函数时其返回值称为函数时其返回值称为 socket描述符,可简描述符,可简称为称为 socket。n在操作系统内核中连网协议的在操作系统内核中连网协议的 Berk

14、eley 实现,称为实现,称为 socket 实现。实现。 7.2 用户数据报协议用户数据报协议 UDP nUDP 只在只在 IP 的数据报服务之上增加了很少一点的功能,即端口的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。的功能和差错检测的功能。nU D P不提供可靠性:它把应用程序封装后传给不提供可靠性:它把应用程序封装后传给I P层,被层,被IP层封层封装后发送出去,但是并不保证它们能到达目的地。装后发送出去,但是并不保证它们能到达目的地。n但但 UDP 在某些方面有其特殊的优点:在某些方面有其特殊的优点:n发送数据之前不需要建立连接发送数据之前不需要建立连接nUDP

15、 UDP 的主机不需要维持复杂的连接状态表的主机不需要维持复杂的连接状态表nUDP UDP 用户数据报只有用户数据报只有8 8个字节的首部开销个字节的首部开销n网络出现的拥塞不会使源主机的发送速率降低网络出现的拥塞不会使源主机的发送速率降低,这对某些实时应用是这对某些实时应用是很重要的。很重要的。 端口是用报文队列来实现端口是用报文队列来实现 UDP 端口 51000UDP 端口 69出队列入队列出队列入队列TFTP 服务器TFTP 客户UDP 用户数据报应用层运输层UDP被被IP封装后的格式封装后的格式n端口号表示发送进程和接收进程。端口号表示发送进程和接收进程。n长度长度UDP数据报的长度

16、为多少字节数据报的长度为多少字节n校验和校验和防止防止UDP数据报在传输中出错数据报在传输中出错UDP的包格式的包格式源端口 (16)目的端口 (16)长度 (16)数据(可变长)1位位 0 1516 31校验和 (16)8字节字节校校 验验 和和n校验方式与校验方式与IP数据包的首部校验一样数据包的首部校验一样n但:但:校验范围为首部和数据校验范围为首部和数据计算校验和时,在计算校验和时,在UDP数据报之前增加数据报之前增加12字节的字节的伪伪首部首部,伪首部只是在计算校验和时使用,既不向下,伪首部只是在计算校验和时使用,既不向下传送,也不向上递交。传送,也不向上递交。若数据是奇数字节,要在

17、数据最后填充若数据是奇数字节,要在数据最后填充1个字节的个字节的0伪首部源端口目的端口长 度检验和数 据首 部UDP长度源 IP 地址目的 IP 地址017IP 数据报字节44112122222字节发送在前数 据首 部UDP 用户数据报计算计算 UDP 检验和的例子检验和的例子 10011001 00010011 153.1900001000 01101000 8.10410101011 00000011 171.300001110 00001011 14.1100000000 00010001 0 和 1700000000 00001111 1500000100 00111111 10870

18、0000000 00001101 1300000000 00001111 1500000000 00000000 0(检验和)01010100 01000101 数据01010011 01010100 数据01001001 01001110 数据01000111 00000000 数据和 0(填充)10010110 11101101 求和得出的结果01101001 00010010 检验和 153.19.8.104171.3.14.1112 字节伪首部8 字节UDP 首部7 字节数据填充二进制求和求反码全 0 17 15 1087 13 15 全 0数据 数据 数据 数据数据 数据 数据 全

19、0注:注:nU D P的检验和是可选的,而的检验和是可选的,而T C P的检验和是必需的。的检验和是必需的。n如果传送的检验和为如果传送的检验和为0,说明发送端没有计算检验和。,说明发送端没有计算检验和。n如果发送端没有计算检验和而接收端检测到检验和有差如果发送端没有计算检验和而接收端检测到检验和有差错,那么错,那么U D P数据报就要被悄悄地丢弃,不产生任何数据报就要被悄悄地丢弃,不产生任何差错报文。差错报文。nU D P检验和选项在默认条件下是打开的检验和选项在默认条件下是打开的n尽管尽管U D P检验和是可选的,但是它们应该总是在用。检验和是可选的,但是它们应该总是在用。nU D P数据

20、报的长度在检验和计算过程中出现两次。数据报的长度在检验和计算过程中出现两次。检测到不同检验和差错的分组统计结果检测到不同检验和差错的分组统计结果IP分片分片n把一份把一份I P数据报分片以后,只有到达目的地才进行重新数据报分片以后,只有到达目的地才进行重新组装。组装。n即使只丢失一片数据也要重传整个数据报。即使只丢失一片数据也要重传整个数据报。n因为因为I P层本身没有超时重传的机制层本身没有超时重传的机制由更高层来负责由更高层来负责超时和重传,超时和重传,T C P有超时和重传机制,但有超时和重传机制,但U D P没有。没有。n所以要避免分片所以要避免分片nT C P试图避免分片试图避免分片

21、查资料查资料n避免分片的措施避免分片的措施ICMP不可达差错(需要分片)不可达差错(需要分片)n当路由器收到一份需要分片的数据报,但当路由器收到一份需要分片的数据报,但I P首部首部中的中的 D F位又为位又为1,则发生,则发生I C M P不可达差错。不可达差错。不能分片时的不能分片时的ICMP不可达差错报文格式不可达差错报文格式用用Traceroute确定路径确定路径MTUn尽管大多数的系统不支持路径尽管大多数的系统不支持路径MTU发现功能,但可以修发现功能,但可以修改改Traceroute程序,用它来确定路径程序,用它来确定路径MTU。n具体做法:发送分组,并设置具体做法:发送分组,并设

22、置“不分片不分片”标志位。发送的标志位。发送的第一个分组的长度正好与出口第一个分组的长度正好与出口M T U相等,每次收到相等,每次收到ICMP“不能分片不能分片”差错时就减小分组的长度。如果路由差错时就减小分组的长度。如果路由器发送的器发送的ICMP差错报文是新格式,包含出口的差错报文是新格式,包含出口的M T U,那么就用该那么就用该MTU值来发送,否则就用下一个最小的值来发送,否则就用下一个最小的MTU值来发送。值来发送。MTU值的个数是有限的,因此在程序中构造值的个数是有限的,因此在程序中构造一些由近似值构成的表,取下一个最小一些由近似值构成的表,取下一个最小MTU值来发送。值来发送。

23、最大最大UDP数据报长度数据报长度n理论上,理论上,I P数据报的最大长度是数据报的最大长度是6 5 5 3 5字节,字节,这是由这是由I P首部首部1 6比特总长度字段所限制的。比特总长度字段所限制的。n去除去除2 0字节的字节的I P首部和首部和8个字节的个字节的U D P首部,首部, U D P数据报中用户数据的最长长度为数据报中用户数据的最长长度为6 5 5 0 7字字节。节。n但是,大多数实现所提供的长度比这个最大值小。但是,大多数实现所提供的长度比这个最大值小。n主要原因:主要原因:1. 应用程序可能会受到其程序接口的限制应用程序可能会受到其程序接口的限制。socket API提供

24、了一个可供应用程序调用的函数,以设置接收和发送提供了一个可供应用程序调用的函数,以设置接收和发送缓存的长度。对于缓存的长度。对于UDP socket,这个长度与应用程序可,这个长度与应用程序可以读写的最大以读写的最大U D P数据报的长度直接相关。现在的大部数据报的长度直接相关。现在的大部分系统都默认提供了可读写大于分系统都默认提供了可读写大于8 1 9 2字节的字节的U D P数据数据报(使用这个默认值是因为报(使用这个默认值是因为8 1 9 2是是N F S读写用户数据读写用户数据数的默认值)。数的默认值)。2. 因为因为T C P / I P的内核实现,存在一些实现特性的内核实现,存在一

25、些实现特性(或(或差错),使差错),使I P数据报长度小于数据报长度小于6 5 5 3 5字节。字节。ICMP源站抑制差错源站抑制差错n同样也可以使用同样也可以使用U D P产生产生I C M P“源站抑制源站抑制(source quench)”差错。差错。n当一个系统(路由器或主机)接收数据报的速度当一个系统(路由器或主机)接收数据报的速度比其处理速度快时,比其处理速度快时,可能可能产生这个差错。产生这个差错。n“可能可能”:即使一个系统已经没有缓存并丢弃数:即使一个系统已经没有缓存并丢弃数据报,也不要求它一定要发送源站抑制报文。据报,也不要求它一定要发送源站抑制报文。ICMP源站抑制差错报

26、文格式源站抑制差错报文格式对源站抑制的态度对源站抑制的态度n尽管尽管RFC 1009 要求路由器在没有缓存时产生源要求路由器在没有缓存时产生源站抑制差错报文,但是新的站抑制差错报文,但是新的Router Requirements RFC Almquist 1993 对此作对此作了修改,提出路由器不应该产生源站抑制差错报了修改,提出路由器不应该产生源站抑制差错报文。由于源站抑制要消耗网络带宽,且对于拥塞文。由于源站抑制要消耗网络带宽,且对于拥塞来说是一种无效而不公平的调整,因此现在人们来说是一种无效而不公平的调整,因此现在人们对于源站抑制差错的态度是不支持的。对于源站抑制差错的态度是不支持的。7

27、.3 广播和多播广播和多播n广播和多播仅应用于广播和多播仅应用于U D P协议栈各层对收到帧的过滤过程协议栈各层对收到帧的过滤过程广广 播播n受限的广播(本地广播)受限的广播(本地广播) 255.255.255.255n直接广播直接广播 N-ID.主机号全主机号全1广播与多播的比较广播与多播的比较n广播增加了对广播数据不感兴趣主机的处广播增加了对广播数据不感兴趣主机的处理负荷理负荷n多播减少了对应用不感兴趣主机的处理负多播减少了对应用不感兴趣主机的处理负荷荷多多 播播nI P多播提供两类服务:多播提供两类服务:1) 向多个目的地址传送数据向多个目的地址传送数据2) 客户对服务器的请求客户对服务

28、器的请求 如无盘工作站如无盘工作站多播地址(多播地址(D类地址)类地址)分配的分配的28 bit均用作多播组号而不再表示其他均用作多播组号而不再表示其他主机组主机组n一个主机组可跨越多个网络一个主机组可跨越多个网络n主机组中成员可随时加入或离开主机组主机组中成员可随时加入或离开主机组n主机组中对主机的数量没有限制主机组中对主机的数量没有限制n不属于某一主机组的主机可以向该组发送不属于某一主机组的主机可以向该组发送信息信息熟知组播地址(永久组)熟知组播地址(永久组) 如:如:n2 2 4 . 0 . 0 . 1 该子网内的所有主机该子网内的所有主机n2 2 4 . 0 . 0 . 2 该子网内的

29、所有路由器该子网内的所有路由器n2 2 4 . 0 . 1 . 1 用作网络时间协议用作网络时间协议NTPn2 2 4 . 0 . 0 . 9 用作用作RIPV2 n2 2 4 . 0 . 1 . 2 用作用作SGI公司的公司的dogfight应用应用D类类IP地址到以太网多播地址的映射地址到以太网多播地址的映射nI A N A拥有一个以太网地址块,即高位拥有一个以太网地址块,即高位24 bit为为0 0 : 0 0 : 5 e(十六进制表示),这意味着该地址块所拥有的地(十六进制表示),这意味着该地址块所拥有的地址范围从址范围从0 0 : 0 0 : 5 e : 0 0 : 0 0 : 0

30、0到到0 0 : 0 0 : 5 e : ff : ff : ff。nI A N A将其中的一半分配为多播地址。将其中的一半分配为多播地址。n为了指明一个多播地址,任何一个以太网地址的首字节必为了指明一个多播地址,任何一个以太网地址的首字节必须是须是0 1,这意味着与,这意味着与I P多播相对应的以太网地址范围从多播相对应的以太网地址范围从0 1 : 0 0 : 5 e : 0 0 : 0 0 : 0 0到到0 1 : 0 0 : 5 e : 7 f : ff : ff。地址映射的不唯一性地址映射的不唯一性n由于多播组号中的最高由于多播组号中的最高5 bit在映射过程中被忽略,在映射过程中被忽

31、略,因此每个以太网多播地址对应的多播组是不唯一的。因此每个以太网多播地址对应的多播组是不唯一的。n3 2 个不同的多播组号被映射为一个以太网地址。个不同的多播组号被映射为一个以太网地址。n例如:多播地址例如:多播地址2 2 4 . 1 2 8 . 6 4 . 3 2(十六进(十六进制制e 0 . 8 0 . 4 0 . 2 0)和)和2 2 4 . 0 . 6 4 . 3 2(十六进制(十六进制e 0 . 0 0 . 4 0 . 2 0)都映射为同一以)都映射为同一以太网地址太网地址0 1 : 0 0 : 5 e : 0 0 : 4 0 : 2 0。多播过滤多播过滤n既然地址映射是不唯一的,那

32、么设备驱动程序既然地址映射是不唯一的,那么设备驱动程序或或I P层就必须对数据报进行过滤。层就必须对数据报进行过滤。n因为网卡可能接收到主机不想接收的多播数据因为网卡可能接收到主机不想接收的多播数据帧。另外,如果网卡不提供足够的多播数据帧帧。另外,如果网卡不提供足够的多播数据帧过滤功能,设备驱动程序就必须接收所有多播过滤功能,设备驱动程序就必须接收所有多播数据帧,然后对它们进行过滤。数据帧,然后对它们进行过滤。局域网网卡趋向两种处理类型局域网网卡趋向两种处理类型n一种是网卡根据对多播地址的散列值实行多播过一种是网卡根据对多播地址的散列值实行多播过滤,这意味仍会接收到不想接收的多播数据;滤,这意

33、味仍会接收到不想接收的多播数据;n另一种是网卡只接收一些固定数目的多播地址,另一种是网卡只接收一些固定数目的多播地址,这意味着当主机想接收超过网卡预先支持多播地这意味着当主机想接收超过网卡预先支持多播地址以外的多播地址时,必须将网卡设置为址以外的多播地址时,必须将网卡设置为“多播多播混杂混杂(multicast promiscuous)”模式。模式。对多播的评价对多播的评价尽管:尽管:n地址映射不完美地址映射不完美n需要硬件过滤需要硬件过滤但:但:n前景非常好前景非常好单个网多播和跨网多播单个网多播和跨网多播n单个网多播单个网多播 多播进程将目的多播进程将目的I P地址指明为多播地址指明为多播

34、地址,设备驱动程序将它转换为相应的以太网地地址,设备驱动程序将它转换为相应的以太网地址,然后把数据发送出去。址,然后把数据发送出去。n跨网多播跨网多播 需要有一个协议让多播路由器了解确需要有一个协议让多播路由器了解确定网络中属于确定多播组的任何一个主机,这个定网络中属于确定多播组的任何一个主机,这个协议就是协议就是Internet组管理协议(组管理协议(IGMP)。)。7.4 IGMP协议协议nRFC1112nIGMP封装在封装在IP数据报中,数据报中,IP首部中协议字段值为首部中协议字段值为2。IGMP报文报文类型类型 为为1是由多播路由器发出的查询报文是由多播路由器发出的查询报文 为为2说

35、明是主机发出的报告报文说明是主机发出的报告报文组地址组地址 在查询报文中组地址设置为在查询报文中组地址设置为0 在报告报文中组地址为要参加的组地址在报告报文中组地址为要参加的组地址加入一个多播组加入一个多播组n在一个给定接口上的多播组中的成员是动态的在一个给定接口上的多播组中的成员是动态的它随时它随时因进程加入和离开多播组而变化因进程加入和离开多播组而变化n进程必须以某种方式在给定的接口上加入某个多播组进程必须以某种方式在给定的接口上加入某个多播组n一个主机通过组地址和接口来识别一个多播组。一个主机通过组地址和接口来识别一个多播组。n主机必须保留一个表,此表中包含所有至少含有一个进程主机必须保

36、留一个表,此表中包含所有至少含有一个进程的多播组以及多播组中的进程数量。的多播组以及多播组中的进程数量。IGMP 报告和查询报告和查询 多播路由器使用多播路由器使用IGMP报文来记录与该路由器相连网络中组报文来记录与该路由器相连网络中组成员的变化情况。使用规则如下:成员的变化情况。使用规则如下:n1) 当第一个进程加入一个组时,主机就发送一个当第一个进程加入一个组时,主机就发送一个IGMP报告。报告。如果一个主机的多个进程加入同一组,只发送一个如果一个主机的多个进程加入同一组,只发送一个IGMP报报告。这个报告被发送到进程加入组所在的同一接口上。告。这个报告被发送到进程加入组所在的同一接口上。

37、n2) 进程离开一个组时,主机不发送进程离开一个组时,主机不发送IGMP报告,即便是组中报告,即便是组中的最后一个进程离开。主机知道在确定的组中已不再有组成的最后一个进程离开。主机知道在确定的组中已不再有组成员后,在随后收到的员后,在随后收到的IGMP查询中就不再发送报告报文。查询中就不再发送报告报文。n3) 多播路由器定时发送多播路由器定时发送IGMP查询来了解是否还有任何主查询来了解是否还有任何主机包含有属于多播组的进程。多播路由器必须向每个接口机包含有属于多播组的进程。多播路由器必须向每个接口发送一个发送一个IGMP查询。因为路由器希望主机对它加入的每查询。因为路由器希望主机对它加入的每

38、个多播组均发回一个报告,因此个多播组均发回一个报告,因此IGMP查询报文中的组地查询报文中的组地址被设置为址被设置为0。n4) 主机通过发送主机通过发送IGMP报告来响应一个报告来响应一个IGMP查询,对每查询,对每个至少还包含一个进程的组均要发回个至少还包含一个进程的组均要发回IGMP报告。报告。n使用这些查询和报告报文,多播路由器对每个接口保持一使用这些查询和报告报文,多播路由器对每个接口保持一个表,表中记录接口上至少还包含一个主机的多播组。个表,表中记录接口上至少还包含一个主机的多播组。IGMP查询和报告举例查询和报告举例为改善为改善IGMP的效率,需要考虑的实现细节的效率,需要考虑的实

39、现细节n当一个主机首次发送当一个主机首次发送IGMP报告时,并不保证该报告时,并不保证该报告被可靠接收(因为使用的是报告被可靠接收(因为使用的是I P交付服务),交付服务),下一个报告将在间隔一段时间后发送,这个时间下一个报告将在间隔一段时间后发送,这个时间间隔由主机在间隔由主机在0 1 0秒的范围内随机选择。秒的范围内随机选择。n当一个主机收到一个从路由器发出的查询后,并当一个主机收到一个从路由器发出的查询后,并不立即响应,而是经过一定的时间间隔后才发出不立即响应,而是经过一定的时间间隔后才发出一些响应。一些响应。生存时间字段生存时间字段TTLn一个初始一个初始T T L为为0的多播数据报将

40、被限制的多播数据报将被限制在同一主机在同一主机n在默认情况下,待传多播数据报的在默认情况下,待传多播数据报的T T L被被设置为设置为1,这将使多播数据报仅局限在同一,这将使多播数据报仅局限在同一子网内传送。子网内传送。n更大的更大的T T L值能被多播路由器转发值能被多播路由器转发课下作业(必做)课下作业(必做)1. 查资料:避免分片的措施查资料:避免分片的措施2.查资料:组播和可靠组播技术查资料:组播和可靠组播技术课下作业(选做)课下作业(选做)1. 编写一个能够发现路径编写一个能够发现路径MTU的的Traceroute程序程序2. 编写程序,设计编写程序,设计UDP服务器,操作系统、编程服务器,操作系统、编程语言和环境不限。要求:语言和环境不限。要求: 1)程序能流畅地完成视频文件的传输)程序能流畅地完成视频文件的传输 2)能对多个客户端进行管理(需要通过)能对多个客户端进行管理(需要通过UDP模模拟多个客户端连接验证的情况)拟多个客户端连接验证的情况)

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!