tcp/ip详解卷1:协议 读书笔记 广播和多播

一、多播和广播仅适合于UDP,对于需要和多个接受者进行通信来说是一种和好的方式。TCP是一个面向连接的协议,意味着分别运行于两主机的两个进程之间存在一条连接,所以TCP不适合于多播和广播。


二、通常每个以以太网帧仅发往单个目的主机,目的地址指明单个接收接口成为单播;

一个主机向网上的所有其他主机发送帧,这就是多播;以太网地址(MAC地址)目的地址全为1的特殊地址是广播地址(ff:ff:ff:ff:ff:ff)。

多播处于单播和广播之间:帧仅发送给属于多播组的多个主机;当以太网地址中最高字节的最低位为1时表示该地址是一个多播地址例如01:00:00:00:00:00


三、信道传送帧过滤过程

首先,网卡查看由信道传送过来的帧,确定是否接受该帧,看MAC地址是否是广播地址或和自己的物理地址或多播地址(MAC地址)相同,如是以上物理地址,就接收。若接受后就将它传往设备驱动程序,设备驱动程序将进行另外的帧过滤。帧类型中必须指定要使用的协议(IP、ARP等);进行多播过滤检测该主机是否属于多播地址说明的多播组。如果过了过滤,驱动程序随后将数据帧传送给下一层,比如当帧类型指定为IP数据报时,就传往IP层。IP根据IP地址中的源地址和目的地址进行更多的过滤检测。如果正常就将数据报传送给下一层(TCP UDP)。每次UDP收到IP传来的数据报,就根据目的端口号,有时还有端口号进行过滤,如果没有当前没有进程使用该目的的端口号,就丢弃该数据报并产生一个ICMP不可达报文,TCP根据端口号也做相似的过滤。


四、多播和广播的区别

使用广播的问题在于它增加了对广播数据不感兴趣主机的处理负荷,多播的出现减少了对应用不感兴趣主机的处理负荷,主机可加入一个或者多个多播组,网卡将知道该主机加入了哪些多播组,然后仅接收主机加入多播组的那些多播帧。


五、广播地址

四种IP广播地址:

1)受限的广播地址:255:255:255:255,在任何情况下路由器都不转发目的地址为受限的广播地址的数据,这样的数据报仅出现在本地网络中。

2)指向网络的广播地址:主机号全为1的地址,例如A类网络广播地址为NETID.255.255.255,其中NETID为A类网络的网络号。路由器一般都转发指向网络的广播,但也设置成不转发。

3)指向子网的广播地址:主机号为全1且有特定的子网号的地址。作为子网直接广播的IP地址需要了解子网掩码;例如,如果路由器收到发往128.1.2.255的数据报,当B类网络128.1的子网掩码为255.255.255.0时,128.1.2.255就是指向子网的广播地址;2是子网号,255为全1。

4)指向所有子网的广播地址:子网号和主机号为全1。指向所有子网的广播也需要了解网络的子网掩码,以便和指向网络的广播地址区分。


六、多播IP地址

多播组地址包括最高位为1110 4bit和多播号,表示为点分十进制数为:244:0:0:0 到239:255:255:255。能够接受发往一个特定多播组地址的数据的主机集合为主机组,一个主机组可跨越多个网络。主机组中成员可随时加入或离开主机组,组机组对主机的数量没有限制,同时不属于某个主机组的主机可以向该组发送信息。一些多播组地址被IANA确定为知名地址,他们也被当做永久主机组,这些多播地址所代表的组是永远的组,他们的成员却不是永久的。


七、多播IP地址到以太网地址的转化

IANA有一块以太网地址块:01:00:5e:00:00:00到01:00:5e:ff:ff:ff,他将一半分配为多播地址从01:00:5e:00:00:00到01:00:5e:7f:ff:ff,这种地址分配将使以太网多播地址中的23bit于IP组播号对应起来,通过将多播组号中的低23位映射到以太网地址中的低位23位实现,由于多播组号中的最高5位在映射中被忽略,因此每个以太网多播地址的多播组是不唯一的,32个不同的多播组号被映射为一个以太网地址。既然地址映射不是唯一的,那么设备驱动程序或IP层就必须对数据报进行过滤,因为网卡可能接收到主机不想接受的多播数据帧。因为一个多播以太网地址对应多个多播IP地址,那么可能接收到的数据帧的多播以太网地址符合但是可能这不是主机加入的多播组IP,这时就需要在IP层进行过滤。


八、

多播进程将目的IP地址指明为多播地址,设备驱动程序将它转换为相应的以太网地址,然后把数据发送出去,这些接收进程必须通知他们的IP层,他们想接收的发往给定多播组的地址的数据报,并且设备驱动程序必须能接收这些多播组帧,这个过程就是加入一个多播组。也就是说要想接收一个多播组帧,必须要在IP层设置接收的多播IP地址和在数据链路层设置多播的以太网地址,只有通过了这两层才能接收到多播组帧。


你可能感兴趣的:(网络协议)