📖 在因特网上进行 IP 多播需要的两种协议
🎯 课程摘要:本节介绍在因特网上实现 IP 多播需要的两种协议——IGMP(网际组管理协议,主机与多播路由器之间)和多播路由选择协议(多播路由器之间),并说明多播转发树的概念。
📝 详细笔记
1. IP 多播数据报的转发问题
在因特网上进行 IP 多播,必须考虑 IP 多播数据报经过多个多播路由器转发的问题。多播路由器必须根据 IP 数据报首部中的多播地址,将其转发到有该多播组成员的局域网。
- 例如:主机 A、B、C 都是多播组 226.128.9.26 的成员,去往该多播组的数据报应传送到 R1 和 R2,而不会传送到 R3(其连接的局域网无该组成员)。
2. 两种协议的分工
| 协议 | 作用范围 | 作用 |
|---|---|---|
| IGMP(网际组管理协议) | 主机 ↔ 本地多播路由器 | 让本地多播路由器知道本局域网上是否有主机加入或退出某个多播组 |
| 多播路由选择协议 | 多播路由器 ↔ 多播路由器 | 在多播路由器之间为每个多播组建立多播转发树,以最小代价传送数据报 |
3. 网际组管理协议 IGMP
- IGMP 是 TCP/IP 体系结构网际层中的协议。
- 作用:让连接在本地局域网上的多播路由器知道本局域网上是否有主机(实际上是主机中的某个进程)加入或退出了某个多播组。
- IGMP 仅在本网络有效。
- ⚠️ 重点/考点:使用 IGMP 并不能知道多播组所包含的成员数量,也不能知道多播组的成员都分布在哪些网络中。仅使用 IGMP 并不能在因特网上进行 IP 多播。
4. 多播路由选择协议
4.1 多播转发树
- 多播路由选择协议的主要任务:在多播路由器之间为每个多播组建立一棵多播转发树。
- 多播转发树连接多播源和所有拥有该多播组成员的路由器。
- IP 多播数据报只要沿着多播转发树进行洪泛,就能被传送到所有拥有该多播组成员的多播路由器。
- 之后,多播路由器在所直连的局域网内通过硬件多播将数据报发送给该多播组的所有成员。
4.2 多播路由选择协议的复杂性
- 针对不同多播组需维护不同的多播转发树。
- 必须动态适应多播组成员的变化(即使网络拓扑并未发生变化)。
- ⚠️ 重点/考点:因此多播路由选择协议比单播路由选择协议(如 RIP、OSPF 等)复杂得多。
4.3 其他要点
- 即使某个主机不是任何多播组的成员,它也可以向任何多播组发送多播数据报。
- 为了覆盖多播组的所有成员,多播转发树可能要经过一些没有多播组成员的路由器(如 R2)。
5. 整体工作流程
💡 核心总结
- 因特网 IP 多播需要两种协议:IGMP(主机↔本地路由器,掌握组成员有无)+ 多播路由选择协议(路由器↔路由器,建立多播转发树)。
- IGMP 仅在本网络有效,无法获知成员数量和分布,必须配合多播路由选择协议才能在因特网实现多播。
- 多播路由选择协议为每个多播组建立多播转发树,数据报沿树洪泛到所有有成员的路由器,再由硬件多播交付给成员。
- 多播路由选择协议因需动态适应组成员变化而比单播路由选择协议复杂得多。
❓ 课后思考 / 经典考题
- 在因特网上实现 IP 多播需要哪两种协议?它们各自的作用范围是什么?
- IGMP 能否知道多播组成员的数量和分布?为什么仅靠 IGMP 无法在因特网上实现多播?
- 什么是多播转发树?多播数据报如何沿多播转发树传送?
- 为什么多播路由选择协议比单播路由选择协议(如 RIP、OSPF)复杂得多?