TCPIPChap12MultipleCast

来源:互联网 发布:2016淘宝66大促 编辑:程序博客网 时间:2024/06/08 10:47

 

一、子网及子网掩码

 

 

 

现在所有的主机都要求支持子网编址。不是把I P地址看成由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。

 

除了I P地址以外,主机还需要知道有多少比特用于子网号及多少比特用于主机号。这是

在引导过程中通过子网掩码来确定的。这个掩码是一个32 bit的值,其中值为1的比特留给网络号和子网号,为0的比特留给主机号。

 

 

 

二、广播分类

 

2.1受限的广播

其地址为255.255.255.255

该地址用于主机配置过程中I P数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的I P地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。

 

 

2.2 指向网络的广播

指向网络的广播地址是主机号为全1的地址。A类网络广播地址为n e t i d . 2 5 5 . 2 5 5 . 2 5 5,其中n e t i dA类网络的网络号。

一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。

 

2.3 指向子网的广播

指向子网的广播地址为主机号为全1且有特定子网号的地址。作为子网直接广播地址的I P

地址需要了解子网的掩码。例如,如果路由器收到发往1 2 8 . 1 . 2 . 2 5 5的数据报,当B类网络1 2 8 . 1的子网掩码为2 5 5 . 2 5 5 . 2 5 5 . 0时,该地址就是指向子网的广播地址;但如果该子网的掩码为2 5 5 . 2 5 5 . 2 5 4 . 0,该地址就不是指向子网的广播地址。

 

2.4指向所有子网的广播

指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分

开。指向所有子网的广播地址的子网号及主机号为全1。例如,如果目的子网掩码为

2 5 5 . 2 5 5 . 2 5 5 . 0,那么I P地址1 2 8 . 1 . 2 5 5 . 2 5 5是一个指向所有子网的广播地址。然而,如果网络没有划分子网,这就是一个指向网络的广播。

 

三、广播的处理

广播是怎样传送的?路由器及主机又如何处理广播?很遗憾,这是难以回答的问题,因为它依赖于广播的类型、应用的类型、T C P / I P实现方法以及有关路由器的配置。

 

四、多播的用途

4.1向多个目的地址传送数据。有许多向多个接收者传送信息的应用:例如交互式会议系

统和向多个接收者分发邮件或新闻。如果不采用多播,目前这些应用大多采用T C P来完成

(向每个目的地址传送一个单独的数据复制)。然而,即使使用多播,某些应用可能继续采用T C P来保证它的可靠性。

4.2客户对服务器的请求。例如,无盘工作站需要确定启动引导服务器。目前,这项服务

是通过广播来提供的(正如第1 6章的B O O T P),但是使用多播可降低不提供这项服务主机的负担。

 

五、知名多播地址

DIP地址就是多播地址,如下:

 

能够接收发往一个特定多播组地址数据的主机集合称为主机组(host group)。一个主机组

可跨越多个网络。主机组中成员可随时加入或离开主机组。主机组中对主机的数量没有限制,

同时不属于某一主机组的主机可以向该组发送信息。

 

一些多播组地址被I A N A确定为知名地址。它们也被当作永久主机组,这和T C PU D P中的熟知端口相似。注意这些多播地址所代表的组是永久组,而它们的组成员却不是永久的。

例如,2 2 4 . 0 . 0 . 1代表“该子网内的所有系统组”,2 2 4 . 0 . 0 . 2代表“该子网内的所有路由器组”。多播地址2 2 4 . 0 . 1 . 1用作网络时间协议N T P2 2 4 . 0 . 0 . 9用作R I P - 2 (1 0 . 5)2 2 4 . 0 . 1 . 2用作S G I公司的d o g f i g h t应用。

 

 

六、多播组地址到以太网地址的转换

 

I P多播相对应的以太网地址范围从0 1 : 0 0 : 5 e : 0 0 : 0 0 : 0 00 1 : 0 0 : 5 e : 7 f : ff : ff。以太网中的低第24位一定是0

这种地址分配将使以太网多播地址中的2 3 b i tI P多播组号对应起来,通过将多播组号中的低位2 3 b i t映射到以太网地址中的低位2 3 b i t实现。

 

由于多播组号中的最高5 bit在映射过程中被忽略,因此每个以太网多播地址对应的多播

组是不唯一的。3 2 个不同的多播组号被映射为一个以太网地址。例如,多播地址

2 2 4 . 1 2 8 . 6 4 . 3 2(十六进制e 0 . 8 0 . 4 0 . 2 0)和2 2 4 . 0 . 6 4 . 3 2(十六进制e 0 . 0 0 . 4 0 . 2 0)都映射为同一以太网地址0 1 : 0 0 : 5 e : 0 0 : 4 0 : 2 0

 

既然地址映射是不唯一的,那么设备驱动程序或I P层(见图1 2 - 1)就必须对数据报进行过滤。因为网卡可能接收到主机不想接收的多播数据帧。另外,如果网卡不提供足够的多播数据帧过滤功能,设备驱动程序就必须接收所有多播数据帧,然后对它们进行过滤。

 

七、多播数据发送和接受过程

单个物理网络的多播是简单的。多播进程将目的I P地址指明为多播地址,设备驱动程序将

它转换为相应的以太网地址,然后把数据发送出去。这些接收进程必须通知它们的I P层,它们想接收的发往给定多播地址的数据报,并且设备驱动程序必须能够接收这些多播帧。这个过程就是“加入一个多播组”(使用“接收进程”复数形式的原因在于对一确定的多播信息,在同一主机或多个主机上存在多个接收者,这也是为什么要首先使用多播的原因)。当一个主机收到多播数据报时,它必须向属于那个多播组的每个进程均传送一个复制。这和单个进程收到单播U D P数据报的U D P不同。使用多播,一个主机上可能存在多个属于同一多播组的进程。

 

八、IGMP

当把多播扩展到单个物理网络以外需要通过路由器转发多播数据时,复杂性就增加了。

需要有一个协议让多播路由器了解确定网络中属于确定多播组的任何一个主机。这个协议就

I n t e r n e t组管理协议(I G M P)。