网络IP地址和IP数据报
🚚 分组转发
🚥 路由选择
在数据链路层中,我们提到了MAC地址这个唯一的身份编址。理论上,单单依靠MAC地址,上海的网卡就可以找到洛杉矶的网卡了,技术上是可以实现的。但是,这样做有一个重大的缺点。以太网采用广播方式发送数据包,所有成员人手一”包”,不仅效率低,而且局限在发送者所在的子网络。也就是说,如果两台计算机不在同一个子网络,广播是传不过去的。这种设计是合理的,否则互联网上每一台计算机都会收到所有包,那会引起灾难。因此,必须找到一种方法,能够区分哪些MAC地址属于同一个子网络,哪些不是。如果是同一个子网络,就采用广播方式发送,否则就采用”路由”方式发送。这就导致了”网络层”的诞生。它的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做”网络地址”,简称”网址”。于是,”网络层”出现以后,每台计算机有了两种地址,一种是MAC地址,另一种是网络地址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。
异构网络互联?
不同的寻址方案、不同的网络接入机制、不同的差错处理方法、不同的路由选择机制、不同的设备(手机,电脑,平板等)都能正常连接,IP网看不见互连的各网络的具体异构细节
什么是``?
集中式控制和分布式转发。路由器中取消了路由选择软件,不再交换路由信息,在逻辑上集中的远程控制器掌握各主机和整个网络的状态,能够为每个分组计算出最佳的路由,然后再每个路由器生成正确的转发表。路由器的工作很单纯,收到分组,查找转发表,转发分组。南向接口:控制器朝向转发设备的接口北向接口:控制器可编程特性向程序员暴露的API
拥塞控制
开环控制就是在拥塞之前就提前设计解决闭环控制就是在拥塞时自动调整解决问题不经过路由器:直接交付,经过路由器:间接交付
IPv4的packet?
fragment:发生在IP层。链路层MTU严格限制着datagram的长度,而且在IP数据报的源和目的地路径上的各段链路可能使用不同的链路层协议,有不同的MTU。以太网MTU1500B。576B是许多广域网的MTU。IP协议规定互联网上的所有主机和路由器必须能够接收长度不超过576B的datagram,即数据长度512B加上最长IP首部60B,再加上4B的富余量。IP datagram超过576B时,需要了结目的主机能否接收所要发送的数据报长度,否则要进行分片。
IPv4的addr格式?
互联网是一个单一抽象的网络。连接到因特网上的每台主机(或路由器)都分配一个4B的全球唯一标识符,即IP 地址,由互联网名字和数字机构ICANN分配。每个主机的接口分配一个IP地址,其含义就是这个IP地址不但标志了这个主机或路由器,而且还标志了此接口所连接的网络。32bIP地址采用两级结构。
子网:给每个物理网络分配一个网络号会使得路由表变得太大而使网络性能变坏,两级IP地址不够灵活。从主机号借位,构成子网号。凡是从其他网络发送给本单位某台主机的IP数据报,仍然是根据IP数据报的目的网络号,先找到连接到本单位网络上的路由器,然后该路由器在收到IP数据报后,按目的网络号和子网号找到目的子网,最后把IP数据报直接交付给目的网络。方便IP地址管理,主机号可以由地址块单位自行分配;根据目的主机链接的网络前缀转发分组,减少转发表的存储空间,缩短查找转发表的时间
什么是NAT?
传输层协议基于安全性和IP资源保护的考量,机构内部采用TCP/IP对于仅在机构内部使用的计算机可以由本机自动分配IP,让这些机构使用仅在本地有效的IP地址(本地地址)为了解决本地地址和互联网IP地址的冲突问题,指名一些专用地址,在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。采用专用IP地址的互联网络叫作本地互联网或专用互联网或专用网,全世界专用互连网络内主机可能具有相同的IP地址。专用IP地址也叫可重用地址。在路由器上安装NAT软件,NAT路由器至少有一个有效的外部全球IP,NAT转换表中存放{本地IP地址:端口}到{全球IP地址:端口}的映射NAT路由器需要查看和转换传输层的端口号
VPN:同一机构的物理距离跨越很大,但需要在专用网内相互交换信息,租用电信公司的通信线路为本机构专用。但费用较高。利用公用互联网作为本机构专用网之间的通信载体,这样的专用网又称虚拟专用网VPN,信息需要加密;机构的每一个场所都需要购买专用的硬件和软件进行配置,使每个场所的VPN能够知道其他场所的位置。
什么是CIDR?
无分类域间路由选择,将网络号改为网络前缀。剩余为主机号0.0.0.0/0 default router斜线记法:128.14.35.7/20 前20b是网络前缀。掩码和地址逐位相与,得到网络前缀。*路由器在相互之间交换信息时,必须把自己所在网络(子网)的子网掩码告诉对方。路由器表中的每个条目,除了要给出目的网络地址和下一条地址外,还要同时给出该目的网络的子网掩码。*CIDR编址又称构造超网或路由聚合:网络前缀都相同的所有连续的IP地址组成一个CIDR地址块,一个大的CIDR地址块往往包含很多小的地址块,所以在路由转发表中利用较大的一个地址块来代替许多较小的地址块,称为路由聚合。
什么是和?
#UDP作为IP传输三种方式之一,组播指的是报文从一个源发出,只需发送一次,被转发到一组特定的接收者,相同的报文在每条链路上最多有一份。相较于传统的单播和广播,组播可以有效地节约网络带宽、降低网络负载,所以被广泛应用于IPTV、实时数据传送和多媒体会议等网络业务中。多播地址使用D类地址,尽最大努力交付,不承诺成功。多播数据报和一般IP数据报的区别就是它使用D类IP地址作为目的地址,并且首部协议字段值=2,表明使用IGMP。组播一定仅用于UDP多播地址之能用于目的地址,不能用于源地址。对多播数据报不产生ICMP差错报文(ping多播地址,永远不会收到响应)
IGMP:因特网组管理协议 #UDP主机使用一个IGMP的协议加入组播组,能够运行组播协议的路由器:组播路由器。IGMP让连接到本地局域网上的多播路由器知道本局域网上是否有主机(的某个进程)参与或退出了某个多播组。IGMP使用IP数据报传递报文(IGMP报文加上IP首部构成IP数据报),它也向IP提供服务,所以IGMP是属于整个网际协议IP的一个组成部分。多播路由器之间需要协同工作,把多播数据报用最小代价传送给所有的组成员,需要使用多播路由选择协议。多播转发必须动态的适应多播组成员的变化,网络拓扑并没有变多播路由器在转发多播数据报时,不能仅仅根据多播数据报中的目的地址,还要考虑从哪来,到哪去多播数据报可以由没有加入多播组的主机发出,也可以通过没有组成员接入的网络
第一阶段:当某台主机加入新的多播组时,该主机应向多播组的多播地址发送一个IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到IGMP报文后,还要利用多播路由选择协议把这种组成员关系转发给互联网上的其他多播路由器。第二阶段:组成员关系是动态的。本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要有一台主机对某个组响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一台主机响应,多播路由器就认为本网络上的主机已经都离开了这个组,因此也就不再把这个组的成员关系转发给其他的多播路由器。
多播路由选择协议:找到以源主机为根节点的组播转发树,在树的每条连路上传送一次,同一个多播组,对不同的源点也会有不同的多播转发树
IPv6的datagram?
更大的地址空间,32b-128b IPv6是IPv4字节数4B的平方
扩展的地址层次结构
灵活的首部格式,但首部长度固定40B
改进的选项,取消了首部长度、服务类型、总长度、标志、标识、片偏移、协议、检验和(网络层差错检验取消)字段;TTL字段改为跳数限制字段,增加扩展首部(下一个首部)
允许协议继续扩充
支持即插即用(自动配置)不需要DHCP
支持资源的预分配,支持实时视像等要求保证一定带宽和时延的应用
IPv6只有在包的源结点才能分片,是端到端的,传输路径中的路由器不允许分片,所以从一般意义上说,IPv6不允许分片
IPv6首部长度必须是8B的整数倍,IPv4是4B的整数倍,8B对齐
增大了安全性,身份验证和保密功能是IPv6的关健特征
首部包括8个域,IPv4是12个,这一改变使得路由器能够快速的处理分组,从而改善吞吐率
更好的支持选项
取消了掩码
IPv4到IPv6的过渡双协议栈:主机或路由器同时配置IPv4 IPv6地址隧道技术:IPv6数据报进入IPv4网络时,把整个IPv6数据报封装到IPv4数据报的数据部分ICMPv6:ARP和IGMP的功能被合并倒了ICMPv6中。
移动IP?
#户口的概念移动站以固定的网络IP地址实现跨越不同网段的功能,即一个移动结点可以再不改变其IP地址的情况下,改变其驻留地址。(保持TCP连接,而主机关机后移动再打开是通过DHCP重新获取新IP地址,不是移动IP)移动结点:具有永久IP地址的移动站归属地址:永久地址,移动站原始连接的网络称为归属网络,永久地址和归属网络的关联是不变的归属代理(本地代理):连接到归属网络上的路由器,它实现的代理功能是在应用层完成外地代理:被访网络中使用的代理,通常是连接在被访网络上的路由器,两个重要功能:1. 为移动站创建一个临时地址:转交地址,转交地址的网络号显然和被访网络一致2. 及时把移动站的转交地址告诉其归属代理
在数据链路层中,我们提到了MAC地址这个唯一的身份编址。理论上,单单依靠MAC地址,上海的网卡就可以找到洛杉矶的网卡了,技术上是可以实现的。但是,这样做有一个重大的缺点。以太网采用广播方式发送数据包,所有成员人手一”包”,不仅效率低,而且局限在发送者所在的子网络。也就是说,如果两台计算机不在同一个子网络,广播是传不过去的。这种设计是合理的,否则互联网上每一台计算机都会收到所有包,那会引起灾难。
因此,必须找到一种方法,能够区分哪些MAC地址属于同一个子网络,哪些不是。如果是同一个子网络,就采用广播方式发送,否则就采用”路由”方式发送。
这就导致了”网络层”的诞生。它的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做”网络地址”,简称”网址”。于是,”网络层”出现以后,每台计算机有了两种地址,一种是MAC地址,另一种是网络地址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。
TCP/IP体系中的网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。IP数据报,分组(如果IP数据报太大就切割成分组)网络层不提供服务质量的承诺,不保证分组交付的时限,所传送的分组可能出错、丢失、重复和失序。进程之间通信的可靠性由运输层负责。
网络层的两个层面:路由选择和分组转发。
路由器间的信息也分为两类:主机间的转发数据和传送的路由信息。数据层面硬件转发,转发一个分组的时间是纳秒数量级。控制层面根据路由选择协议所用的路由选择算法计算路由使用软件,一般是秒数量级。
路由器之间交换路由信息,生成路由表,根据路由选择协议生成转发表,依靠多路由器协同工作。
SDN:软件定义网络。路由器中取消了路由选择软件,不再交换路由信息,在逻辑上集中的远程控制器掌握各主机和整个网络的状态,能够为每个分组计算出最佳的路由,然后再每个路由器生成正确的转发表。路由器的工作很单纯,收到分组,查找转发表,转发分组。
| 异构网络互联 | 不同的设备(手机,电脑,平板等)都能正常连接,IP网看不见互连的各网络的具体异构细节 |
| 路由选择与转发 | 让数据在路由器之间走最佳的路径 |
| 拥塞控制 | 开环控制就是在拥塞之前就提前设计解决 闭环控制就是在拥塞时自动调整解决问题 |
不经过路由器:直接交付,经过路由器:间接交付
| name | 大小/单位 | 注释 |
| 版本 | 4b | v4/v6 |
| 首部长度IHL | 4b/4B | 因为IP数据报固定长度为20B,所以此处最小值为5,即二进制的0101,最常使用是20B,此时不使用 |
| 区分服务 DSCP + ECN | 8b | 希望获得哪种服务,用的比较少 |
| 总长度 Total Length | 16b/B | 首部+数据的长度,最大为2^16-1=65535B,以太网最大传送单元MTU=1500B,因此当一个IP数据报封装成帧时,数据报的总长度:首部加数据一定不能超过下面数据链路层的MTU值 |
| 标识 Identification | 16b | 用来表示是哪一个数据报的分片,不同的分片标识各不相同 |
| 标志 Flags | 3位,但实际有用的只有后两位 | 用来表示是否分片和分片是否结束,最低位为MF,MF=1时表示还有切片,中间位是DF,DF=0时才允许分片 |
| 片偏移 Fragment Offset | 13位/8B | 用来标记分片之后,该分片在原来的数据报的位置,以8字节为单位 |
| 生存时间 Time To Live | 8b | 即TTL,每经过一个路由器TTL-1,0时自动放弃,根据系统不同默认的TTL不同,确保分组不会永远在网路中循环,将TTL设置为1,表示仅能够在本局域网中传送。 |
| 协议 Protocol | 8b | 数据协议类型,用来标记协议名的字段值,如TCP,UDP,ICMP等 |
| 首部检验和 Header Checksum | 检验首部的字段是否出错,出错就丢弃此数据报 | |
| 源地址 Source IP Address | 32b | 发送方ip地址 |
| 目的地址 Destination IP address | 32b | 接收方ip地址 |
| 可选字段OPtions | 未知,0-40b | 用来排错等安全检测 |
| 填充 | 未知 | 将数据报对齐成为4B的整数倍,数值全为0 |
分片:链路层MTU严格限制着IP数据报的长度,而且在IP数据报的源和目的地路径上的各段链路可能使用不同的链路层协议,有不同的MTU。以太网MTU1500B。
IP协议规定互联网上的所有主机和路由器必须能够接收长度不超过576B字节的数据报,即数据长度512B加上最长IP首部60B,再加上4B的富余量。
IP数据报超过576B时,需要了结目的主机能否接收所要发送的数据报长度,否则要进行分片。
互联网是一个单一抽象的网络。连接到因特网上的每台主机(或路由器)都分配一个32b的全球唯一标识符,即IP 地址,由互联网名字和数字机构ICANN分配。
点分十进制记法 127.0.0.1
每个主机的接口分配一个IP地址,其含义就是这个IP地址不但标志了这个主机或路由器,而且还标志了此接口所连接的网络。32bIP地址采用两级结构。
IP::= {网络号,主机号}(:: = 是“定义为”)
早期采用分类地址
| 主机号全为0 | 表示网络本身 | 202.98.174.0 |
| 主机号全为1 | 表示本网络的广播地址,直接广播地址 | 202.98.174.255 |
| 32位全为1 | 整个TCP/IP网络的广播地址,受限广播地址,实际使用中,由于路由器对广播域的隔离,等效于本网络的广播地址 | 255.255.255.255 |
| 32位全为0 | 本网络上的本主机 | 0.0.0.0 |
| 01111111开头 | 环回自检Loopback Test,表示任意主机本身,永远不会出现在任何网络上 | 127.x.x.x |
子网:
两级IP地址的缺点:IP地址空间的利用率不高,给每个物理网络分配一个网络号会使得路由表变得太大而使网络性能变坏,两级IP地址不够灵活。
从主机号借用若干比特作为子网号,IP = {网络号,子网号,主机号}
凡是从其他网络发送给本单位某台主机的IP数据报,仍然是根据IP数据报的目的网络号,先找到连接到本单位网络上的路由器,然后该路由器在收到IP数据报后,按目的网络号和子网号找到目的子网,最后把IP数据报直接交付给目的网络。
子网中主机号全0的地址为子网的网络号,主机号全1的地址为子网的广播地址。
| IP地址分级 | 地址块和主机号 | 1. 方便IP地址管理,主机号可以由地址块单位自行分配 |
| 2. 根据目的主机链接的网络前缀转发分组,减少转发表的存储空间,缩短查找转发表的时间 | ||
| 多归属主机 | 一个IP地址对应一个网络接口号 | 同时连接到两个网络上时,该主机就必须拥有两个IP地址,其网络前缀是不同的 |
| 用转发器或交换机连接起来的若干局域网仍为一个网络,因为这些局域网都具有同样的网络前缀,具有不同网络前缀的局域网必须由路由器进行互连 |
CIDR
无分类域间路由选择,将网络号改为网络前缀。剩余为主机号。
斜线记法:128.14.35.7/20 前20b是网络前缀
掩码:
使用子网掩码来表达对原网络中主机号的借位
IP地址对应的,32b的二进制串,网络号和子网号对应1,主机号对应2。
路由器在相互之间交换信息时,必须把自己所在网络(子网)的子网掩码告诉对方。路由器表中的每个条目,除了要给出目的网络地址和下一条地址外,还要同时给出该目的网络的子网掩码。
消除了传统ABC类地址及划分子网的概念,可以更有效的分配IPv4的地址空间
使用网络前缀的概念代替子网络的概念,于传统分类IP地址最大的区别是网络前缀的位数不是固定的,
使用斜线记法,IP地址/网络前缀所占比特数。掩码和地址逐位相与,得到网络前缀。
最长前缀匹配:CIDR中路由表的每个项目由网络前缀和下一跳地址组成,在查找路由表时可能会得到不只一个匹配结果,此时应当从匹配结果中选择具有最长网络前缀的路由,网络前缀越长,地址块越小,路由越具体。(前缀长度降序排列)
CIDR查找路由表通常将路由表放在一种层次式数据结构中,自上而下的层次查找,最常用的是二叉线索表。
CIDR编址又称构造超网.
网络前缀都相同的所有连续的IP地址组成一个CIDR地址块
路由聚合:一个大的CIDR地址块往往包含很多小的地址块,所以在路由转发表中利用较大的一个地址块来代替许多较小的地址块,称为路由聚合
CIDR三个特殊地址块:
前缀n=32,即32bIP地址都是前缀,没有主机号,用于主机路由
前缀n=31,只有两个主机地址,用于点对点链路(无编号网络,匿名网络),现在常常不分配IP
n=0,同时IP地址=0,用于默认路由
IPv6
地址中每4b用一个十六进制表示,用冒号分隔每16b,冒号开头的0可以省掉,但整个冒号中间至少有一个数字,相继域都是0时,可以用双冒号缩写。
特点
更大的地址空间,32b-128b IPv6是IPv4字节数4B的平方
扩展的地址层次结构
灵活的首部格式,但首部长度固定40B
改进的选项,取消了首部长度、服务类型、总长度、标志、标识、片偏移、协议、检验和(网络层差错检验取消)字段;TTL字段改为跳数限制字段,增加扩展首部(下一个首部)
允许协议继续扩充
支持即插即用(自动配置)不需要DHCP
支持资源的预分配,支持实时视像等要求保证一定带宽和时延的应用
IPv6只有在包的源结点才能分片,是端到端的,传输路径中的路由器不允许分片,所以从一般意义上说,IPv6不允许分片
IPv6首部长度必须是8B的整数倍,IPv4是4B的整数倍,8B对齐
增大了安全性,身份验证和保密功能是IPv6的关健特征
首部包括8个域,IPv4是12个,这一改变使得路由器能够快速的处理分组,从而改善吞吐率
更好的支持选项
取消了掩码
三种目的地址类型
单播
多播
任播
IPv4到IPv6的过渡
| 双协议栈 | 主机或路由器同时配置IPv4 IPv6地址 |
| 隧道技术 | IPv6数据报进入IPv4网络时,把整个IPv6数据报封装到IPv4数据报的数据部分 |
ICMPv6:ARP和IGMP的功能被合并倒了ICMPv6中。
Mobile IP
移动站以固定的网络IP地址实现跨越不同网段的功能,即一个移动结点可以再不改变其IP地址的情况下,改变其驻留地址。(保持TCP连接,而主机关机后移动再打开是通过DHCP重新获取新IP地址,不是移动IP)
移动结点:具有永久IP地址的移动站
本地代理:通常就是连接在归属网络(原始连接到的网络)上的路由器
外地代理:通常就是连接在被访网络(移动到另一地点所接入的网络)上的路由器
归属地址:永久地址,移动站原始连接的网络称为归属网络,永久地址和归属网络的关联是不变的
归属代理:连接到归属网络上的路由器,它实现的代理功能是在应用层完成
外地代理:被访网络中使用的代理,通常是连接在被访网络上的路由器,两个重要功能:
为移动站创建一个临时地址:转交地址,转交地址的网络号显然和被访网络一致
及时把移动站的转交地址告诉其归属代理
私有地址
基于安全性和IP资源保护的考量,机构内部采用TCP/IP对于仅在机构内部使用的计算机可以由本机自动分配IP,让这些机构使用仅在本地有效的IP地址(本地地址)
为了解决本地地址和互联网IP地址的冲突问题,指名一些专用地址,在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。
采用专用IP地址的互联网络叫作本地互联网或专用互联网或专用网,全世界专用互连网络内主机可能具有相同的IP地址。专用IP地址也叫可重用地址。
A类:1个,10.0.0.0-10.255.255.255
B类:16个,172.16.0.0-172.31.255.255
C类:256个,192.168.0.0-192.168.255.255
VPN
同一机构的物理距离跨越很大,但需要在专用网内相互交换信息,
租用电信公司的通信线路为本机构专用。
利用公用互联网作为本机构专用网之间的通信载体,这样的专用网又称虚拟专用网VPN
4. 信息需要加密
5. 机构的每一个场所都需要购买专用的硬件和软件进行配置,使每个场所的VPN能够知道其他场所的位置
NAT
在路由器上安装NAT软件,NAT路由器至少有一个有效的外部全球IP,NAT转换表中存放{本地IP地址:端口}到{全球IP地址:端口}的映射
NAT的实现方式有如下三种,即:
静态转换(Static NAT):将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址;
动态转换(Dynamic NAT):将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址,当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式;
端口多路复用(Port NAT):改变外出数据包的源端口并进行端口转换,即端口地址转换。采用端口多路复用方式,内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
作为IP传输三种方式之一,组播指的是报文从一个源发出,只需发送一次,被转发到一组特定的接收者,相同的报文在每条链路上最多有一份。相较于传统的单播和广播,组播可以有效地节约网络带宽、降低网络负载,所以被广泛应用于IPTV、实时数据传送和多媒体会议等网络业务中。
多播地址使用D类地址,尽最大努力交付,不承诺成功。多播数据报和一般IP数据报的区别就是它使用D类IP地址作为目的地址,并且首部协议字段值=2,表明使用IGMP。
多播地址之能用于目的地址,不能用于源地址。
- 对多播数据报不产生ICMP差错报文(ping多播地址,永远不会收到响应)
组播一定仅用于UDP,它对将报文同时送往多个接收者的应用来说非常重要。TCP是一个面向连接的协议,意味这两台主机内的两个进程之间存在一条连接,会一对一发送。
主机使用一个IGMP的协议加入组播组,能够运行组播协议的路由器:组播路由器。
| 局域网硬件组播 | MAC地址第一字节的最低有效位=1 为多播地址 | 01-00-5E---后23位取自IP地址IP32位地址*前四位是D类编码,继5位不同于构成以太网多播地址。即28位只有23为构成组播映射。收到多播数据报的主机要在IP层利用IP数据报首部的IP地址进行过滤 |
| 网际组管理协议IGMP(v3) | IGMP让连接到本地局域网上的多播路由器知道本局域网上是否有主机(的某个进程)参与或退出了某个多播组 | IGMP使用IP数据报传递报文(IGMP报文加上IP首部构成IP数据报),它也向IP提供服务,所以IGMP是属于整个网际协议IP的一个组成部分 |
| 多播路由选择协议 | 多播路由器之间需要协同工作,把多播数据报用最小代价传送给所有的组成员,需要使用多播路由选择协议 | 1. 多播转发必须动态的适应多播组成员的变化,网络拓扑并没有变 |
| 2. 多播路由器在转发多播数据报时,不能仅仅根据多播数据报中的目的地址,还要考虑从哪来,到哪去 | ||
| 3. 多播数据报可以由没有加入多播组的主机发出,也可以通过没有组成员接入的网络 |
IGMP的工作可分为两个阶段。
第一阶段:当某台主机加入新的多播组时,该主机应向多播组的多播地址发送一个IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到IGMP报文后,还要利用多播路由选择协议把这种组成员关系转发给互联网上的其他多播路由器。
第二阶段:组成员关系是动态的。本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要有一台主机对某个组响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一台主机响应,多播路由器就认为本网络上的主机已经都离开了这个组,因此也就不再把这个组的成员关系转发给其他的多播路由器。
多播路由选择协议
洪泛与剪除
隧道技术
基于核心的发现技术(对每个多播组指定一个核心路由器,核心路由器创建除了对应多播组的转发树)
5. 距离向量多播路由选择协议
6. 基于很新的转发树CBT 避免路由环路
7. 开放最短通路优先的多播扩展MOSPF
8. 协议无关多播方式PIM