本章深入探讨广播多播机制,这两种机制仅应用于UDP协议,对于需要同时向多个接收者传输数据的应用至关重要。与面向连接的TCP协议不同,UDP是一种无连接协议,它不建立端到端连接,而是将数据报发送到指定的目标地址。

主机帧过滤机制

为了理解广播和多播,首先需要了解主机如何过滤网络信道上传输的数据帧。如图12-1所示,网卡首先检查接收到的数据帧,确定其目的地址是否与自身物理地址或广播地址匹配。大多数网卡配置为混杂模式,可以接收所有数据帧的副本,例如网络分析工具tcpdump。此外,许多网卡支持接收目的地址为特定多播地址或子网多播地址的数据帧。

以太网使用48位地址标识设备,其中最高字节的最低位为1表示多播地址,例如十六进制表示为01:00。以太网广播地址ff:ff可以视为多播地址的特例。

网卡将接收到的有效数据帧传递给设备驱动程序,驱动程序进行进一步的过滤操作,包括检查帧类型(IP、ARP等)和多播地址过滤,以确定主机是否属于目标多播组。最后,设备驱动程序将数据帧传递到相应的网络层协议,例如IP。

IP地址类型

IP地址分为三种类型:

  • 单播地址: 用于标识网络中的单个主机,数据报只发送到该特定主机。
  • 广播地址: 用于向网络中的所有主机发送数据报。
  • 多播地址: 用于向一组特定主机发送数据报,这些主机构成一个多播组。

广播

广播是指将数据报发送到网络中的所有主机。例如,ARP和RARP协议使用广播机制来解析网络地址。

多播

多播介于单播和广播之间,数据报只发送到属于特定多播组的主机。主机可以通过加入或离开多播组来控制接收哪些多播数据。

应用场景

广播和多播机制在各种网络应用中发挥着重要作用,例如:

  • 网络发现: ARP和RARP使用广播来发现网络设备。
  • 多媒体流: 多播允许将音频/视频流同时传输到多个接收者,而不会对网络造成过度负担。
  • 分布式系统: 多播可以用于在分布式系统中进行组通信和数据同步。

本章详细介绍了广播和多播机制,并解释了它们在软件无线电中的应用。