重点内容:
(1) 虚拟互连网络的概念。
(2) IP 地址与物理地址的关系。
(3) 传统的分类的 IP 地址(包括子网掩码)和无分类域间路由选择 CIDR 。
(4) 路由选择协议的工作原理。
目录
[2.1 虚拟互联网](#2.1 虚拟互联网)
[A 类地址](#A 类地址)
[B 类地址](#B 类地址)
[C 类地址](#C 类地址)
[2.4地址解析协议 ARP](#2.4地址解析协议 ARP)
[2.6 IP层转发分组的流程](#2.6 IP层转发分组的流程)
[四.网际控制报文协议 ICMP](#四.网际控制报文协议 ICMP)
[4.1 ICMP报文种类](#4.1 ICMP报文种类)
[1. 静态路由和动态路由](#1. 静态路由和动态路由)
[2. 动态路由协议的分类](#2. 动态路由协议的分类)
[A. 内部网关协议(IGP,Interior Gateway Protocol)](#A. 内部网关协议(IGP,Interior Gateway Protocol))
[B. 外部网关协议(EGP,Exterior Gateway Protocol)](#B. 外部网关协议(EGP,Exterior Gateway Protocol))
[3. 路由选择协议的工作原理](#3. 路由选择协议的工作原理)
[4. 路由协议的特点](#4. 路由协议的特点)
[5. 总结](#5. 总结)
一.网络层提供的两种服务
二.网际协议IP(IPv4)***
2.0概述
网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一, 也是最重要的互联网标准协议之一。
与 IP 协议配套使用的还有三个协议:
- 地址解析协议 ARP(Address Resolution Protocol)
- 网际控制报文协议 ICMP (Internet Control Message Protocol)
- 网际组管理协议 IGMP (Internet Group Management Protocol)
2.1 虚拟互联网
所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构 性本来是客观存在的 ,但是我们利用 IP 协议就可以使这些性能各异的网络在网络层上看起来 好像是一个统一的网络。
2.2分类的IP地址
IP 地址的编址方法共经过了三个历史阶段。
(1) 分类的 IP 地址 。这是最基本的编址方法,在 1981 年就通过了相应的标准协议。
(2) 子网的划分 。这是对最基本的编址方法的改进,其标准 RFC 950 在 1985 年通过。
(3) 构成超网 。这是比较新的无分类编址方法。 1993 年提出后很快就得到推广应用。
本节只讨论最基本的分类的 IP 地址。后两种方法将在 4.3 节中讨论。
IP地址,其中网络号必须是唯一的
A 类地址
- 网络号字段:占 1 个字节(8 位),但是只有 7 位可以用作网络号,因为第一位被固定为 0。
- 可用的网络号数量 :2^7 - 2 = 126 个网络。减去 2 是因为:
- 全 0 的网络号(0.0.0.0)被保留表示"本网络"。
- 网络号为 127(127.0.0.0)被保留作为环回地址,用于本机测试。
- 主机号字段:占 3 个字节(24 位)。
- 每个网络中的主机数 :2^24 - 2 = 16,777,214。减去 2 是因为:
- 全 0 的主机号(如 5.0.0.0)表示"网络地址"。
- 全 1 的主机号(如 5.255.255.255)表示"广播地址",用于广播给网络中的所有主机。
- 总地址数:2^31 = 2,147,483,648 个地址,占整个 IP 地址空间的 50%。
B 类地址
- 网络号字段:占 2 个字节(16 位),但前两位被固定为 1 0,因此只剩下 14 位可供使用。
- 可用的网络号数量:2^14 - 1 = 16,383 个网络。减去 1 是因为地址 128.0.0.0 不可用。
- 主机号字段:占 2 个字节(16 位)。
- 每个网络中的主机数:2^16 - 2 = 65,534。减去 2 是因为全 0 和全 1 的主机号地址被保留。
- 总地址数:2^30 = 1,073,741,824 个地址,占整个 IP 地址空间的 25%。
C 类地址
- 网络号字段:占 3 个字节(24 位),前 3 位被固定为 1 1 0,因此剩下 21 位可供使用。
- 可用的网络号数量:2^21 - 1 = 2,097,151 个网络。减去 1 是因为地址 192.0.0.0 不可用。
- 主机号字段:占 1 个字节(8 位)。
- 每个网络中的主机数:2^8 - 2 = 254。减去 2 是因为全 0 和全 1 的主机号地址被保留。
- 总地址数:2^29 = 536,870,912 个地址,占整个 IP 地址空间的 12.5%。
类别 | 网络号字段长度 | 可指派的网络数 | 每个网络的最大主机数 | 总地址数 | 占总地址空间比例 |
---|---|---|---|---|---|
A 类 | 1 字节(7 位) | 126 个网络 | 16,777,214 个主机 | 2,147,483,648 | 50% |
B 类 | 2 字节(14 位) | 16,383 个网络 | 65,534 个主机 | 1,073,741,824 | 25% |
C 类 | 3 字节(21 位) | 2,097,151 个网络 | 254 个主机 | 536,870,912 | 12.5% |
- A 类地址提供最大的主机数,但网络数最少,适用于需要大量主机的大型网络。
- B 类地址具有适中的网络数和主机数,适合中等规模的网络。
- C 类地址提供最多的网络数,但每个网络的主机数最少,适合大量小型网络的分配。
IP地址具有的特点
- IP 地址的分级结构
IP 地址由 网络号 和 主机号 两部分组成。这种分级的结构带来了两个重要好处:
- 管理上的便利性:网络号由 IP 地址管理机构分配,而主机号则由获得网络号的单位自行分配。这样能够简化地址的管理,减少管理机构的工作量。
- 路由的简化:路由器在转发数据包时只需要根据目的地址的网络号进行转发,而不考虑主机号。这样就能大幅减少路由表中的条目数,减少存储和查找路由表的时间。
- 多归属主机(Multihomed Host)
一台主机如果同时连接到多个网络,通常会拥有多个 IP 地址。这些 IP 地址的网络号必须是不同的。这样的主机被称为"多归属主机 "。同样,**路由器通常需要连接多个网络,因此它至少需要有两个 IP 地址。**这可以比作一个建筑位于两个街道交叉口,有两个门牌号码。
- 网络的定义
从互联网的角度来看,一个网络 是指具有相同网络号(net-id)的主机集合。举个例子,如果多个局域网通过转发器或网桥连接,它们仍然属于同一个网络,因为它们具有相同的网络号。只有具有不同网络号的局域网才需要通过路由器进行连接。
- 网络的平等性
互联网对每个 IP 地址的网络(无论是一个小范围的局域网,还是一个跨越广泛地域的广域网)都一视同仁。所有的网络都被平等对待,IP 地址的分配也遵循这个原则。
2.3IP地址和硬件地址
从层次的角度看, 物理地址是数据链路层和物理层使用的地址,而 IP 地址是网络层和以上各层使用的地址,是一种逻辑地址 (称 IP 地址为逻辑地址是因为 IP 地址是用软件实现的)。
MAC帧在不同节点中传递时,MAC帧中的源地址和目的地址会改变,而IP数据报中的IP地址不变
还有两个重要问题没有解决:
(1) 主机或路由器怎样知道应当在 MAC 帧的首部填入什么样的硬件地址?
(2) 路由器中的路由表是怎样得出的?
2.4地址解析协议 ARP
地址解析协议 ARP 解决这个问题的方法是在主机 ARP 高速缓存中存放一个从 IP 地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除------即存在生存时间)。
请注意,ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。
当ARP高速缓存中没有对应的映射时,发送ARP请求,其主要内容为:
"我的 IP 地址是 209.0.0.5 ,硬件地址是 00-00-C0-15-AD-18 。我想知道 IP 地址为 209.0.0.6 的主机的硬件地址。
ARP请求广播发送,ARP响应由请求的目标IP单播发送
ARP 对保存在高速缓存中的每一个映射地址项目都设置 生存时间 (例如, 10 ~ 20 分 钟)。凡超过生存时间的项目就从高速缓存中删除掉。
跨局域网的IP数据报发送对ARP的使用
- 发送方是主机(如 H1),要把 IP 数据报发送到同一个网络上的另一台主机(如 H2)。这时 H1 发送 ARP 请求分组(在网 1 上广播),找到目的主机 H2的硬件地址。
- 发送方是主机(如 H1),要把 IP 数据报发送到另一个网络上的一台主机(如 H3 或 H4)。这时 H1 发送 ARP 请求分组(在网 1 上广播),找到网 1 上的一个路由器 R1 的硬件地址。剩下的工作由路由器 R1 来完成。R1 要做的事情是下面的(3)或(4)。
- 发送方是路由器(如 R1),要把 IP 数据报转发到与 R1连接在同一个网络(网 2)上的主机(如 H3)。这时 R1 发送 ARP 请求分组(在网 2 上广播),找到目的主机 H3的硬件地址。
- 发送方是路由器(如 R1),要把 IP 数据报转发到网 3 上的一台主机(如 H4)。H4与R1 不是连接在同一个网络上。这时 R1 发送 ARP 请求分组(在网 2 上广播),找到连接在网2 上的一个路由器 R2 的硬件地址。剩下的工作由这个路由器 R2 来完成。
这就是为什么路由需要有至少两个IP地址的原因 ,ARP只作用在同一局域网下
2.5IP数据报格式
-
版本------IPv4 or IPv6
-
首部长度------4bit,最大值15,表示首部的长度(一定是4B的倍速)所以,只有固定长度部分时首部长度为5
-
区分服务------8bit,一般不适用
-
总长度------首部和数据之和的长度,单位为字节,最长.我们知道IP数据报长度不能超过MAC帧中MTU最大传输单元的长度,一般以太网中的MTU为1500,如果IP数据报 > MTU,则需要分片处理
-
标识------IP数据报因为大于MTU被分片,分片序号,用于重新组装IP数据报
-
标志------3bit,最低位MF (More Fragment)表示是否还有分片,中位DF(Don't Fragment)表示是否可以分片。
-
片偏移------13bit,片偏移以 8 个字节为偏移单位。
-
生存时间------8bit,现在是最大跳跃次数,其目的是防止无法交付的数据报无限制地在互联网中兜圈子(例如从路由器 R1 转发到 R2,再转发到 R3,然后又转发到 R1),因而白白消耗网络资源。
-
协议------8bit,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的 IP 层知道应将数据部分上交给哪个协议进行处理。
-
首部检验和------16bit,只检验数据报的首部,但不包括数据部分
-
源地址------32bit
-
目的地址------32bit
2.6 IP层转发分组的流程
- 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
- 若 N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付目的主机(这里包括把目的主机地址 D转换为具体的硬件 地址,把数据报封装为 MAC 帧,再发送此帧);否则就是间接交付,执行(3)。
- 若路由表中有目的地址为 D的特定主机路由,则把数据报传送给路由表中所指明的 下一跳路由器;否则,执行(4)。
- 若路由表中有到达网络 N的路由,则把数据报传送给路由表中所指明的下一跳路由 器;否则,执行(5)。
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否 则,执行(6)。
- 报告转发分组出错。
三.划分子网和构造超网
3.1划分子网
两级IP<网络号,主机号>因其某些而情况下利用率低、路由表过大引起性能下降并且灵活性不高,现将两级IP改成三级IP:
1.子网掩码
于是就有了子网掩码
2.使用子网的分组转发
路由表样式
- 从收到的数据报的首部提取目的****IP 地址 D。
- 先判断是否为直接交付 。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和 D逐位相"与"(AND 操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把 D转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)。
- 若路由表中有目的地址为 D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。【路由器检查路由表中是否有针对 目的地址 D 的具体主机路由条目。】
- 对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和 D逐位相"与"(AND 操作),其结果为 N。若 N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行(5)。
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
- 报告转发分组出错。
3.2构造超网
1.无分类编址CIDR
2.最长网络前缀匹配
3.使用二叉线索查找路由表
二叉线索树中的每一个节点代表一个唯一的网络前缀,并且包含子网掩码
四. 网际控制报文协议 ICMP
为了更有效地转发 IP 数据报和提高交付成功的机会,在网际层使用了 网际控制报文协议 ICMP (Internet Control Message Protocol)。**ICMP报文存在于IP数据报的数据部分。**主要用于传输控制消息,报告错误或传递控制信息,如网络不可达、超时、重定向等。
4.1 ICMP报文种类
差差错报告报文
- 终点不可达 当路由器或主机不能交付数据报时就向源点发送终点不可达报文。
- 时间超过 当路由器收到生存时间为零的数据报时,除丢弃 该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
- 参数问题 当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
- 改变路由(重定向) 路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。
改变路由解答了路由器是如何由初始状态,更新路由表的问题
具体来说:
在主机刚开始工作时,一般都在路由表中设置一个默认路由器的 IP****地址。
而这个默认路由器知道到每一个目的网络的最佳路由。
如果默认路由器发现主机发往某个目的地址的数据报的最佳路由应当经过网络上的另一个路由器 R 时,就用改变路由报文把这情况告诉主机。于是,该主机就在其路由表中增加一个项目:到某某目的地址应经过路由器 R(而不是默认路由器)。
IP 数据报的首部+数据字段的前 8 个字节+ICMP差错报告报文的前 8 个字节 = ICMP差错报告报文
不发送ICMP差错报告报文的几种情况
询问报文
- 回送请求和回答 ICMP 回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送 ICMP 回送回答报文。这种询问报文用来测试目的站是否可达以及了解其有关状态。
- 时间戳请求和回答 ICMP 时间戳请求报文是请某台主机或路由器回答当前的日期和时间。在 ICMP 时间戳回答报文中有一个 32 位的字段,其中写入的整数代表从 1900 年1 月 1 日起到当前时刻一共有多少秒。时间戳请求与回答可用于时钟同步和时间测量。
五.互联网路由选择协议
本节将讨论几种常用的路由选择协议,也就是要讨论路由表中的路由是怎样得出的。
互联网路由选择协议(Internet Routing Protocols)是用于在互联网或大型网络中选择路径、交换路由信息的协议。它们确保数据包从源主机传递到目的主机的过程中,选择到最佳的路径。根据路由选择算法和应用范围的不同,互联网路由选择协议可以分为以下几种类型:
1. 静态路由和动态路由
- 静态路由:路由表由网络管理员手动配置,不会根据网络拓扑的变化自动更新。适用于简单且稳定的网络,配置较为固定的环境。
- 动态路由:路由器自动根据网络拓扑和链路状态的变化更新路由表。适用于复杂和变化较大的网络。
2. 动态路由协议的分类
动态路由协议可以根据其工作原理分为以下几种:
A. 内部网关协议(IGP,Interior Gateway Protocol)
内部网关协议用于同一自治系统(AS,Autonomous System)内的路由选择。主要的IGP协议有:
-
RIP(Routing Information Protocol,路由信息协议)
- 工作原理 :RIP是基于距离矢量算法的路由选择协议。每个路由器与邻居交换路由信息,计算到目的地的最短路径。使用跳数(hop count)作为度量标准,最大跳数为15,超过15跳的目的地被认为不可达。
- 特点:好消息传输快,坏消息传输慢
- 优点:简单、易于配置。
- 缺点:路由收敛速度慢,最大跳数限制了其应用范围,不能很好地支持大规模网络。
-
OSPF(Open Shortest Path First,开放最短路径优先)
- 工作原理 :OSPF是基于链路状态算法的路由协议。每个路由器与所有邻居交换链路状态信息,通过计算最短路径树来选择最佳路由。OSPF支持多个区域划分,能有效减少路由表规模。
- 优点:收敛速度快,支持大规模网络,支持更多的路由策略。
- 缺点:配置较为复杂,需要较高的计算和内存资源。
-
IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)
- 工作原理 :IS-IS协议与OSPF类似,也是链路状态协议,通常用于大型ISP或企业网络中。它使用ISO/OSI模型 中的链路状态协议,采用Dijkstra算法计算最短路径。
- 优点:灵活性高,适应性强,支持大规模网络。
- 缺点:与OSPF相比,配置稍微复杂,且在应用中较为少见。
B. 外部网关协议(EGP,Exterior Gateway Protocol)
外部网关协议用于不同自治系统之间的路由选择,最常见的外部网关协议是BGP(Border Gateway Protocol,边界网关协议)。
- BGP(Border Gateway Protocol)
- 工作原理 :BGP是基于路径向量算法 的路由选择协议,广泛应用于互联网的自治系统之间的路由选择。它通过交换路由信息来决定如何传递数据,主要使用AS路径作为度量标准。BGP允许路由器之间的策略控制,比如选择最佳路径、避免循环等。
- 优点:可扩展性强,适应互联网规模的路由需求,能够处理复杂的路由策略。
- 缺点:配置复杂,收敛速度相对较慢,需要较高的计算和内存开销。
3. 路由选择协议的工作原理
路由选择协议基本工作原理:
- 路由表维护:路由器通过路由协议交换路由信息,更新本地的路由表,以确保能根据最佳路径将数据包转发到目的地。
- 数据包转发:当路由器收到数据包时,它会检查数据包的目标地址,并根据路由表选择最佳的下一跳路由器或目的地。
- 路由信息交换:路由器之间通过周期性或按需交换路由信息,来动态地调整路由表以适应网络拓扑变化。
主要的路由算法:
- 距离矢量算法 :每个路由器仅了解到达目的地的"距离"(如跳数)和"方向"(下一跳路由器)。通过与邻居交换信息,逐步更新路由表。
- 例子:RIP。
- 链路状态算法 :每个路由器了解整个网络拓扑(包括其他路由器的链路状态)。通过计算整个网络的最短路径来更新路由表。
- 例子:OSPF、IS-IS。
- 路径向量算法 :通过记录从源到目的地的路径信息,并根据路径选择最优路由。
- 例子:BGP。
4. 路由协议的特点
协议类型 | 特点 |
---|---|
RIP | 简单,基于跳数,收敛速度慢,适用于小规模网络。 |
OSPF | 基于链路状态,支持大规模网络,收敛速度快,支持多个区域。 |
IS-IS | 类似于OSPF,但使用不同的协议格式,适用于大型ISP和企业网络。 |
BGP | 用于自治系统之间,支持复杂的路由策略,适用于互联网规模的网络。 |
5. 总结
- **内部网关协议(IGP)**适用于单一自治系统内的路由选择,主要有RIP、OSPF、IS-IS等。
- **外部网关协议(EGP)**适用于自治系统之间的路由选择,主要有BGP。
- 不同协议适用于不同规模的网络,协议的选择取决于网络规模、性能要求以及管理复杂度。
这些路由选择协议使得全球互联网能够高效、可靠地运行,并且随着技术发展,新的路由协议(如SDN等)正在不断被提出,以支持更加灵活和智能的路由选择。
六.IPv6
七.IP多播
IP多播协议(IP Multicast) 是一种在网络中允许单个源主机将数据同时传送给多个目的主机的通信方式。与广播和单播不同,多播允许通过单个数据报文将数据传输到多个接收者,但不会浪费带宽传送给不需要接收数据的主机。IP多播广泛用于实时视频传输、音频广播、软件更新等应用场景。
1. IP多播地址
IP多播地址位于 IPv4 地址空间的特殊范围,具体为:
- IPv4多播地址范围 :从 224.0.0.0 到 233.255.255.255 。
- 224.0.0.0 到 224.0.0.255 是保留给 局域网内的协议(如路由协议、网络管理协议)使用。
- 233.0.0.0 到 233.255.255.255 是 源特定多播(SSM, Source-Specific Multicast)使用的范围。
- 239.0.0.0 到 239.255.255.255 是 组织范围多播,可供企业内使用。
多播地址的前 4 位是固定的,即 1110
,这就是多播地址的标识位。为了确保多播地址不会和单播地址冲突,IPv4 为多播分配了一个专门的地址范围。
2. IP多播的工作原理
IP多播采用的是 源-接收者模型,由以下几个步骤组成:
-
源主机发送多播数据:
- 源主机将数据报发送到指定的多播地址,数据报的目的地址是多播组地址,而源地址是源主机的IP地址。
-
加入多播组:
- 目的主机(接收者)需要 加入多播组 。这通常通过 Internet Group Management Protocol (IGMP) 完成。在 IPv4 中,IGMP 允许主机报告其希望加入或离开的多播组。路由器通过 IGMP 来维护多播组成员的信息。
-
路由器的角色(多播路由协议):
- 网络中的路由器使用 多播路由协议 来确保从源主机到所有接收者之间的路径。常见的多播路由协议有:
- Protocol Independent Multicast (PIM) :支持多播路由,并且独立于任何特定的路由协议。
- PIM-SM (Sparse Mode,稀疏模式):适用于有大量多播接收者的网络,使用 多播树。
- PIM-DM(Dense Mode,密集模式):适用于少量接收者的网络,自动创建多播树。
- Distance Vector Multicast Routing Protocol (DVMRP):基于距离向量的协议,适用于小规模多播。
- MOSPF(Multicast Open Shortest Path First):与 OSPF 类似的协议,专门用于多播。
- Protocol Independent Multicast (PIM) :支持多播路由,并且独立于任何特定的路由协议。
- 网络中的路由器使用 多播路由协议 来确保从源主机到所有接收者之间的路径。常见的多播路由协议有:
-
多播数据转发:
- 网络中间的路由器根据多播路由协议信息,决定是否将数据包转发到下一跳的路由器或接收者。多播路由协议确保数据仅送到需要的接收者。
-
数据的接收:
- 目的主机通过其网络接口接收并处理多播数据。主机仅接收属于它的多播组的数据。
3. 多播与单播/广播的对比
特性 | 单播(Unicast) | 广播(Broadcast) | 多播(Multicast) |
---|---|---|---|
地址类型 | 单个源和一个目的 | 单个源和所有主机 | 单个源和多个指定主机 |
带宽效率 | 低(每个目的主机都要接收一份) | 极低(所有主机都接收) | 高(仅接收需要的主机) |
路由要求 | 每个路由器都要知道目的主机的路由表 | 所有路由器必须转发广播数据 | 需要多播路由协议支持 |
适用场景 | 点对点通信(如 HTTP) | 需要广播的场景(如ARP) | 实时数据流、视频/音频广播 |
4. 多播的优势与应用
优势:
- 带宽利用率高:通过一个多播数据报同时传输给多个接收者,避免了广播和单播所带来的带宽浪费。
- 高效的数据分发:适合实时性要求高的应用,如视频会议、直播流、软件更新等。
- 降低网络负担:减少了单个源主机向多个目的主机发送多份数据的负担。
应用:
- 视频广播:多播技术广泛应用于视频流和广播电视的网络传输中,特别是 IPTV 和直播。
- 实时音频传输:例如,在会议中多个参与者可以实时接收到音频数据。
- 分布式系统:在需要进行数据分发的分布式系统中,IP多播也被用来同步系统各个节点的状态。
- 大规模软件更新:将软件补丁同时推送到多个计算机。
5. IGMP(Internet Group Management Protocol)
IGMP 是一个用于管理多播组成员的协议,它工作在 网络层,允许主机动态地报告其对多播组的成员资格。IGMP 协议的工作原理大致如下:
- 加入多播组:主机发送 IGMP 加入消息,表明它希望加入特定的多播组。
- 查询和报告:路由器定期发送 IGMP 查询报文,询问是否仍有主机在接收特定的多播组数据。接收主机会响应 IGMP 报告消息,表明自己仍然是该多播组的成员。
- 离开多播组:当主机不再需要接收多播数据时,它会通过 IGMP 离开该多播组。
6. 多播路由协议(PIM)
PIM 是常用的多播路由协议,它有两种工作模式:
- PIM-SM(稀疏模式):适用于大规模多播环境。多播树只有在需要时才会建立,减少了网络开销。
- PIM-DM(密集模式):适用于网络中大多数主机都需要接收多播数据的情况。
PIM 采用 源-接收者树 或 共享树 来转发数据,保证数据能高效地从源主机传递到所有需要的接收者。
总结
IP多播是一种非常高效的数据传输方式,广泛应用于需要实时传输的应用中。通过多播,源主机可以将数据同时发送给多个目的主机,避免了广播和单播带来的带宽浪费,适用于视频流、音频广播等场景。实现多播需要依赖于 IGMP 协议和多播路由协议(如 PIM),并且必须支持多播地址的使用。