多播路由

多播路由

IP多播

IP多播是实现数据一对多通信的模式。从一个源点传送到多个目的地,数据仅仅拷贝一份。

多播组

实现多播,必定就须要有多播组。多播组须要有自己的标识符。而多播组IP即为多播组的标识符,一个多播组IP代表一个多播组。
D类IP地址即为多播组IP地址。D类地址前四位为1110,范围是 224.0 .0 .0到 239. 255. 255. 255。当中部分地址被IANA指派为特定的用途:

多播组 描述
224.0.0.0 基地址 ( 保留)
224.0.0.1 在本子网上的全部參加多播的主机和路由器
224.0.0.2 在本子网上的全部參加多播的路由器
224.0.0.3 未指派
224.0.0.4 DVMRP 路由器
224.0.0.0 ~ 224.255.255.255 为特殊用途的地址
224.0.1.0 ~ 238.255.255.255 全球范围都可使用的多播地址(公网)
239.0.0.0 ~ 239.255.255.255 限制在一个组织的范围(私网)
224.0.0.22 IGMPv3全部组播路由器(IGMPv3成员报告的目的地址)

局域网使用硬件多播

IANA 拥有的以太网多播地址(mac 地址)的范围是从 01-00-5E-00-00-0001-00-5E-7F-FF-FF
因此每个地址仅有23位能够用于标识多播组地址。而D类地址能够有28位(32-4)用于标识多播组,因此D类地址与多播组mac地址不是一对一的关系

                               4      4 3      3 3      2 2      1 1      0 0      0
                               7      0 9      2 1      4 3      6 5      8 7      0
    multicast ip address :                       1110xxxx x####### ######## ########
    multicast mac address:     00000001 00000000 01011110 0####### ######## ########
                                      ^          ^^^^^^^^  ^^^^^^^ ^^^^^^^^ ^^^^^^^^
                                  multicast      |<0x5E>|  |<23bits copyed from ip>|
    # 设置多播路由
    ip route add 224.0.0.0/4 dev eth0

    # 开启转发
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # ping 本子网上的全部參加多播的主机和路由器
    ping 224.0.0.1 -c 2
```bash

ref:
[IP多播(组播)](http://www.cnblogs.com/hrhguanli/p/4090265.html)

猜你喜欢

转载自blog.csdn.net/yk_wing4/article/details/88382774
今日推荐