第三部分
TCP/IP网络互连第 10章 广播与组播本章要点:
广播的概念广播的类型组播的概念
IGMP的概述
10.1 广播的概念
10.2 广播的类型
10.3 组播的概念
10.4 群组管理协议( IGMP)
10.5 组播应用实例
10.1 广播的概念在计算机技术领域中,广播有两种含义:通信技术概念上的广播和网络层概念上的广播。
通信技术概念上的广播对应 OSI模型的物理层。在同一段电缆上,信号可以到达电缆所连接的所有设备,所有的主机都会收到信号,但只有地址符合的主机才接收该信号,其他主机则简单地丢弃该信号。
在网络层中,广播是另一种概念。
在网络中,每 — 台主机在发送和接收消息时都有 — 个地址,网络上的消息可以到达每一台主机,但是,只有地址符合的主机才会接收该消息,其他主机则会把该消息丢弃。但是,如果希望在网络上发送公共消息,需要网络上的全部或部分主机收到该消息,就需要在网络层支持广播技术。
10.2 广播的类型
10.2.1 有限广播有限广播地址( limited broadcast
address):它使用地址
255.255.255.255(IP地址的所有部分全部为 1)。它指本地子网上的所有主机,这种类型的地址可以被所有主机认识。主机不需要任何 IP配置信息。路由器不转发这种报文。
10.2.2 网络直接广播网络广播地址 (network-directed
broadcast address):在一个没有子网的环境中使用。网络号是一个有效的网络号,而主机号全为 1(例如,
128.2.255.255)。这个地址指特定网络上的所有主机,路由器应当转发这些广播消息。在没有子网的网络上的 ARP请求使用这种类型的地址。
10.2.3 子网直接广播子网直接广播地址 (subnet-directed
broadcast address):如果网络号是一个有效的编号,子网号是一个有效的子网号并且主机号全为 1,那么这种地址指特定子网上的所有主机。因为发送方的子网和目的子网可以有不同的子网掩码,
所以发送方必须设法找出目的所使用的子网掩码。实际上,广播由路由器执行,
由它接收数据报并发送到子网。
10.2.4 全子网广播面向所有子网的广播地址( all-
subnet-directed broadcast address):如果网络号是一个有效的网络号,网络被划分为子网并且本地部分全为 1(例如,
128.2.255.255),那么这种地址指特定网络中所有子网上的主机。
10.3 组播的概念组播通信就是从单个的源端把分组发送到一组目的端。组播地址是 D类地址。
10.3.1 以太网组播以太网地址的半部分保留用于组播:
使用高位八位组的低位比特来区别常规单播地址 (置 0)和组播地址 (置 1)。使用点分十六进制表示法 (dotted hexadecimal
notation)来描述组播地址就是:
01.00.00.00.00.0016
10.3.2 IP组播
IP组播 (IP multicasting)是对硬件组播的互联网抽象。它仍然允许到一系列计算机子集的传输,但更加一般化,允许该子集跨越互联网上任意物理网络。
IP组播具有下列一般特征:
( 1) 群组地址
( 2) 群组数
( 3) 动态组播成员
( 4) 硬件的使用
( 5) 网络间转发
( 6) 交付机制
( 7) 成员和传输
10.3.3 IP组播地址
IP组播地址被划分为两类:永久分配的和可临时使用的。永久地址称为熟知的 (well-known),用于 Internet上的主要服务以及基础结构维护。其他组播地址相应于瞬变组播群组 (transient
multicast group),需要使用时则创建,
群组成员为 0时则丢弃。
IP组播使用了数据报的目的地址来规定数据报必须通过组播进行交付。 IP
保留了 D类地址用于组播,其形式如图
10-1所示。
1 011 群组标识
0 1 2 3 31
地址的前 4比特的内容是 1110,指出这是一个组播地址。其余的 28比特标识了特定的组播群组,其中不再有结构层次。而且,群组字段并未划分出哪些比特用来标识群组的来源或所有者,也没有包含管理信息。
10.3.4 组播地址机制组播地址只可用作目的地址。因此,
组播地址从不会出现在数据报的源地址字段,也不会出现在源路由或记录路由选项中。而且,不会生成关于组播数据报的 ICMP差错报文 (例如,目的不可达、
源抑制、回送应答或超时 )。因此,发往组播地址的 ping得不到回答。
10.3.5 组播作用域组播群组的作用域( scope)指的是群组成员的范围。如果所有成员都在同一个物理网络上,我们就认为该群组的作用域限制在一个网络内。类似地,如果群组的所有成员都在一个机构内,则认为该群组的作用域限制在一个机构内。
除了群组的作用域,每个组播数据报也有一个作用域,定义为某组播数据报将传播通过的网络集合。非正式地讲,
数据报的作用域就认为是它的范围
( range)。
IP使用两种技术来控制组播作用域。
第一种技术依靠数据报的寿命 (TTL)字段控制范围。第二种技术称为管理辖区
(administrative scoping),用于控制辖区。
10.4 群组管理协议( IGMP)
群组管理协议( Internet Group
Management Protocol,IGMP),将主机加入一个组播主机组中,或者使主机离开一个组播主机组。组成员关系信息在一个特定的主机与最近的组播路由器之间进行交换。
10.4.1 IGMP报文
IGMP消息封装在 IP数据报中。为了指明一个 IGMP报文,IP报文头包含一个协议号为 2的字段。 IP数据字段包含 8个八位字节的 IGMP消息,如图 10-2所示。
D
类型 最大响应时间 校验和
0 8 1 6 3 1
类地址
10.4.2 IGMP实现首先,主机与组播路由器之间的所有通信都使用 IP组播。
其次,当轮询确定群组成员时,组播路由器不会为每个群组发送单独报文,
而是发送单个查询请求得到关于所有群组的信息。
第三,如果多个组播路由器连接到同一个网络,它们会迅速而有效地选用一个路由器来轮询主机成员。
第四,主机并不会同时响应路由器的 IGMP查询,每个查询包含一个 N值,
指定了最大响应时间 (默认值是 10秒 )。
第五,每台主机监听群组中其他主机的响应,并抑制那些不必要的响应通信量。
10.5 组播应用实例多媒体会议数据分发博弈和模拟实时数据组播