1 IP多播的基本概念
- 在互联网上进行多播就叫做IP多播。
- IP多播所传送的分组需要使用多播IP地址。
- 在多播数据报的目的地址写入的是多播组的标识符,然后设法让加入到这个多播组的主机的IP地址与多播组的标识符关联起来;
- 多播组的标识符就是IP地址中的D类地址。
- 多播地址只能用于目的地址,而不能用于源地址;
- 224.0.1.0至238.255.255.255是全球范围都可使用的多播地址;
2 在局域网上进行硬件多播
TCP/IP 协议使用的以太网多播地址块的范围是从 00-00-5E-00-00-00 到 00-00-5E-FF-FF-FF
以太网硬件地址字段中的第1字节的最低位为1时即为多播地址,这种多播地址数占IANA分配到的地址数的一半。
因此IANA拥有的以太网多播地址的范围是从 01-00-5E-00-00-00 到 01-00-5E-7F-FF-FF
3 网际组管理协议IGMP和多播路由选择协议
1. IP多播需要两种协议
网际组管理协议 IGMP
IGMP 让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。
从概念上讲,IGMP的工作可分为两个阶段。
- 第一阶段:当某台主机加入新的多播组时,该主机应向多播组的多播地址发送一个 IGMP报文,声明自己要成为该组的成员。
- 第二阶段:组成员关系是动态的。本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。
多播路由选择协议
多播路由选择实际上就是要找出以源主机为根节点的多播转发树。
在转发多播数据报时使用了以下的三种方法:
(1)洪泛与剪除
这种方法适合于较小的多播组,而所有的组成员接入的局域网也是相邻接的。
一开始,路由器转发多播数据报使用洪泛的方法。路由器在收到多播数据报时,若是从源点经最短路径传送来的,就向所有其他方向转发,否则就丢弃而不转发。
如果在多播转发树上的某个路由器发现它的下游树枝(即叶节点方向)己没有该多播组的成员,就应把它和下游的树枝一起剪除。
(2)隧道技术
隧道技术适用于多播组的位置在地理上很分散的情况。
对多播数据报进行再次封装,即再加上普通数据报首部,使之成为向单一目的站发送的单播数据报,通过不支持多播的“隧道”后,再剥去其首部,使它又恢复成原来的多播数据报,继续向多个目的站转发。
这种使用隧道技术传送数据报又叫做 IP 中的 IP (IP-in-lP)。
(3)基于核心的发现技术
这种方法对于多播组的大小在较大范围内变化时都适合。
这种方法是对每一个多播组G指定一个核心路由器,给出它的IP单播地址。核心路由器创建出对应于多播组G的转发树。
如果有一个路由器R1向这个核心路由器发送数据报,当数据报到达参加了多播组G的路由器R2时,R2就处理这个数据报。如果R1发出的是一个多播数据报,其目的地址是G的组地址,R2就向多播组G的成员转发这个多播数据报。如果RI发出的数据报是一个请求加入多播组G的数据报,R2就把这个信息加到它的路由中,并用隧道技术向 R1转发每一个多播数据报的一个副本。