TCP/IP之八:广播、多播与IGMP

广播作为一种给所有主机发数据包的方式,在计算机网络中是必需的,因为很多情况下都需要这样的通信方式,因而广播也很自然地成为了TCP/IP协议栈的一部分。广播是通过将目的端置为特殊的IP地址来实现的,比如以255.255.255.255,会被本地网络中所有主机处理。

TCP/IP协议栈对数据包的过滤处理过程如下图:

HG1U9FMANK6`]1H_5OU}TN1

每一层都对数据包进行判定,看是接受数据包还是丢弃,如果是目的端为广播地址的数据包,而本机又没有对应的应用程序来处理这样的数据包,则数据包会经过网络接口层->IP层->传输层,最后在传输层被丢弃,这样的处理过程给不想接收这样的数据包的主机增加了额外的负担,为了解决这样的问题,就引入了多播,多播只给加入了多播组的主机发送数据包。

IP地址分类:

SZONRY3]O3)4VDM(P91@G{Q

广播地址分类:

(1)受限的广播地址,即255.255.255.255,目的地为255.255.255.255的数据包只能出现在本地网络中,路由器在任何情况下都不对这类数据包进行转发。
(2)指向网络的广播地址,即主机号为全1的IP地址;
(3)指向子网的广播地址,除了网络号和子网号,其余位为全1的IP地址;
(4)指向所有子网的广播地址,子网号与主机号为全1。

广播IP地址一般对应的广播物理地址为ff:ff:ff:ff:ff:ff。

多播地址:

D类地址被用于多播,多播地址往往被IANA确定为知名地址,比如224.0.0.1为该子网内所有系统组,224.0.0.2为该子网内所有路由器组等等,这些组是永久性的,但是组内成员是可以随时动态变化的。
多播地址到以太网物理地址的映射关系如下:

4B9TRNFS]5489)A`CRMCXNQ

从上图可以看出,以太网多播地址范围为01:00:5E:00:00:00到01:00:5E:7F:FF:FF。

IGMP:

多播如果只是用于本地局域网内部,那么上面所述的技术已经可以很好地解决问题了。但是当多播应用于多个网络,多播数据包需要经过路由器转发时,我们不可能给世界上所有的网络都发送多播数据包,然后让主机自己去决定丢弃还是接收,最好的方式应该是如果某个网络不存在属于特定多播组的进程,则发往该多播组的数据包就不应该在该网络内传输,为了实现这样的目标,IGMP就自然而然地出现了,IGMP即Internet组管理协议。

IGMP报文格式如下:

W8D1TFKL7)6_9YV9~QRDS%M

(1)Version为版本号;Type为类型,即说明是IGMP查询还是响应;Unused字段尚未使用;Checksum为校验和;Group Address为组播IP地址。
(2)可以看出,IGMP报文内容格式是固定的8字节。

IGMP作用方式:

(1)当一个进程加入一个多播组时,该主机必须主动发送一个IGMP响应报文;
(2)路由器不定期地发送IGMP查询报文;
(3)主机必须根据自己的具体情况,对IGMP报文做出响应。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值