TCP/IP协议卷学习---基础部分(十二 广播和多播)

1 概念
IP地址有3种,单播地址,多播地址和广播地址。广播地址和多播地址仅适用于UDP。TCP表示的是两个服务进程之间的唯一链接,所以只能使用单播地址。
单播的这种通信方式不会影响其他主机之间的通信(除了争抢信道之外),广播需要发送给所有主机,但某些特殊情况不需要所有主机都做处理,会造成其他主机负荷工作,因此出现了多播。对于以太网,当地址中最高字节的最低位设置为 1时表示该地址是一个多播地址,用十六进制可表示为01:00:00:00:00:00。以太网广播地址ff : ff : ff : ff : ff : ff可看作是以太网多播地址的特例。

2 正常的多播/广播地址处理流程
如果网卡收到一个帧,这个帧将被传送给设备驱动程序(如果帧检验和错,网卡将丢弃
该帧) 。
设备驱动程序将进行另外的帧过滤。首先,帧类型中必须指定要使用的协议( I P 、A R P等等) 。其次,进行多播过滤来检测该主机是否属于多播地址说明的多播组。
设备驱动程序随后将数据帧传送给下一层,比如,当帧类型指定为 I P 数据报时,就传往I P层。I P 根据I P地址中的源地址和目的地址进行更多的过滤检测。如果正常,就将数据报传送给下一层(如T C P或U D P) 。
每次U D P收到由 I P 传送来的数据报,就根据目的端口号,有时还有源端口号进行数据报过滤。如果当前没有进程使用该目的端口号,就丢弃该数据报并产生一个 I C M P 不可达报文(T C P根据它的端口号作相似的过滤) 。如果U D P数据报存在检验和错,将被丢弃。

3 广播
0表示所有的比特位全为 0;- 1 表示所有的比特位全为 1;netid、subnetid和hostid分别表示不为全 0或全1的对应字段。子网号栏为空表示该地址没有进行子网划分
在这里插入图片描述
① 受限的广播
受限的广播地址为255.255.255.255。该地址用于主机配置过程中 I P 数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的 I P 地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。
② 指向网络的广播
指向网络的广播地址是主机号为全 1的地址。A类网络广播地址为 netid.255.255.255,其中netid为A类网络的网络号。B类网络广播地址为netid.netid.255.255.255。C类网络广播地址为netid.netid.netid.255。
③ 指向子网的广播
指向子网的广播地址为主机号为全 1且有特定子网号的地址。作为子网直接广播地址的 I P地址需要了解子网的掩码。例如,如果路由器收到发往128.1.2.255的数据报,当B类网络128.1的子网掩码为255.255.255.0时,该地址就是指向子网的广播地址;但如果该子网的掩码为255.255.254.0,该地址就不是指向子网的广播地址。
④ 指向所有子网的广播
指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号为全 1 。例如,如果目的子网掩码为255.255.255.0,那么 I P 地址128.1.255.255是一个指向所有子网的广播地址。然而,如果网络没有划分子网,这就是一个指向网络的广播。

4 多播
IP多播提供两种服务
① 向多个目的地址传送数据。例如交互式会议系统和向多个接收者分发邮件或新闻。如果不采用多播,目前这些应用大多采用 T C P 来完成(向每个目的地址传送一个单独的数据复制) 。然而,即使使用多播,某些应用可能继续采用
T C P来保证它的可靠性。
② 客户对服务器得请求。例如,无盘工作站需要确定启动引导服务器。目前,这项服务是通过广播来提供的(正如B O O T P) ,但是使用多播可降低不提供这项服务主机的负担。

5 多播组地址
在这里插入图片描述
能够接收发往一个特定多播组地址数据的主机集合称为主机组 (host group) 。一个主机组可跨越多个网络。主机组中成员可随时加入或离开主机组。主机组中对主机的数量没有限制,同时不属于某一主机组的主机可以向该组发送信息。
一些多播组地址被IANA确定为知名地址。它们也被当作永久主机组。224.0.0.1代表“该子网内的所有系统组” ,224.0.0.2代表“该子网内的所有路由器组” 。多播地址224.0.1.1用作网络时间协议NTP,224.0.0.9用作RIP-2,224.0.1.2用作SGI公司的dogfight应用。

6 多播地址到以太地址的转换
I A N A拥有一个以太网地址块,即高位24 bit为00:00:5e(十六进制表示) ,这意味着该地址块所拥有的地址范围从00:00:5e:00:00:00到00:00:5e:ff:ff:ff。IANA将其中的一半分配为多播地址。为了指明一个多播地址,任何一个以太网地址的首字节必须是01,这意味着与IP多播相对应的以太网地址范围从01:00:5e:00:00:00到01:00:5e:7f:ff:ff。
这种地址分配将使以太网多播地址中的32bit与IP多播组号对应起来,通过将多播组号中的低位23bit映射到以太网地址中的低位23bit实现。
由于多播组号中的最高 5 bit 在映射过程中被忽略,因此每个以太网多播地址对应的多播组是不唯一的。32个不同的多播组号被映射为一个以太网地址。例如,多播地址
224. 128.64. 32(十六进制e0 . 80 .40 . 20)和224. 0 .64 . 32(十六进制e0 . 00 . 40 . 20)都映射为同一以太网地址01:00:5e:00:40:20。
在这里插入图片描述
在这里插入图片描述
7 多播地址过滤
由于多个多播地址可以映射到同一个MAC地址,因此设备驱动程序或者IP层需要对数据报进行过滤。
网卡处理数据一般分为两种,且两种类型的网卡仍需要设备驱动程序检查收到的帧是否真是主机所需要的:
① 是网卡根据对多播地址的散列值实行多播过滤,这意味仍会接收到不想接收的多播数据;
② 另一种是网卡只接收一些固定数目的多播地址,这意味着当主机想接收超过网卡预先支持多播地址以外的多播地址时,必须将网卡设置为“多播混杂(multicast promiscuous) ”模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值