TCP-IP详解卷1-12:广播(Broadcast)和多播(Multicast)

TCP-IP详解卷1-12:广播(Broadcast)和多播(Multicast)

一:分类
    广播和多播仅应用于UDP,它们对需将报文同时传往多个接收者的应用来说十分重要。TCP是一个面向连接的协议,它意味着分别运行于两主机(由IP地址确定)内的两进程(由端口号确定)间存在一条连接。
    1: 单播(unicast ):
        每个以太网帧包含源主机和目的主机的以太网地址(48bit)。
        通常每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口。
    2: 广播:时一个主机要向网上的所有其他主机发送帧。
    3: 多播:帧仅传送给属于多播组的多个主机。

二:主机对由信道传送过来帧的过滤过程。
    1: 网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后就将它传往设备驱动程序。
        通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧。
        另外,多数接口均被设置为混合模式,这种模式能接收每个帧的一个复制。
    2:如果网卡收到一个帧,这个帧将被传送给设备驱动程序(如果帧检验和错,网卡将丢弃该帧)。
        设备驱动程序将进行另外的帧过滤。
        首先,帧类型中必须指定要使用的协议(IP、ARP等等)。
        其次,进行多播过滤来检测该主机是否属于多播地址说明的多播组。
        目前,大多数的网卡经过配置都能接收目的地址为多播地址或某些子网多播地址的帧。
        对于以太网,当地址中最高字节的最低位设置为1时表示该地址是一个多播地址
    3:设备驱动程序随后将数据帧传送给下一层,比如,当帧类型指定为IP数据报时,就传往IP层。
        IP根据IP地址中的源地址和目的地址进行更多的过滤检测。如果正常,就将数据报传送给下一层
    4:每次UDP收到由IP传送来的数据报,就根据目的端口号,有时还有源端口号进行数据报过滤。
        如果当前没有进程使用该目的端口号,就丢弃该数据报并产生一个I C M P不可达报文(TCP根据它的端口号作相似的过滤)。
        如果U D P数据报存在检验和错,将被丢弃。
    5:使用广播的问题在于它增加了对广播数据不感兴趣主机的处理负荷。拿一个使用UDP广播应用作为例子。
        如果网内有50个主机,但仅有20个参与该应用,每次这20个主机中的一个发送U D P广播数据时,其余3 0个主机不得不处理这些广播数据报。
        一直到UDP层,收到的UDP广播数据报才会被丢弃。这30个主机丢弃UDP广播数据报是因为这些主机没有使用这个目的端口。

三:四类IP广播地址
    1: 受限的广播(永远不被转发)
        受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的I P地址也不知道。
        在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。
        一个未解的问题是:如果一个主机是多接口的,当一个进程向本网广播地址发送数据报时,为实现广播,是否应该将数据报发送到每个相连的接口上?如果不是这样,想对主机所有接口广播的应用必须确定主机中支持广播的所有接口,然后向每个接口发送一个数据报复制。
    2: 指向网络的广播(以网络为目的向netid广播)
        指向网络的广播地址是主机号为全1的地址。A类网络广播地址为netid.255.255.255,其中netid为A类网络的网络号。
        一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。
    3: 指向子网的广播
        指向子网的广播地址为主机号为全1且有特定子网号的地址。作为子网直接广播地址的IP地址需要了解子网的掩码。
        例如,如果路由器收到发往128.1.2.255的数据报,当B类网络128.1的子网掩码为255.255.255.0时,该地址就是指向子网的广播地址;
        但如果该子网的掩码为255.255.254.0,该地址就不是指向子网的广播地址。
    4: 指向所有子网的广播
        指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号为全1。

四:多播:同时向一组选定的目的地传输数据的一种网络服务。(D类I P地址被称为多播组地址)
        1) 向多个目的地址传送数据。
        2) 客户对服务器的请求。
    1: D类IP地址对应的:1110+28BIT的多播组ID
        分配的28 bit均用作多播组号而不再表示其他。范围从224.0.0.0到239.255.255.255。
    2: 使用同一个IP多播地址接收多播数据包的所有主机构成了一个主机组,也称为多播组。
        能够接收发往一个特定多播组地址数据的主机集合称为主机组(host group)。
        一个主机组可跨越多个网络。
        主机组中成员可随时加入或离开主机组。
        主机组中对主机的数量没有限制,同时不属于某一主机组的主机可以向该组发送信息。
    3: 当一台主机欲加入某个多播组时,会发出“主机成员报告”的IGMP消息通知多播路由器。
        当多播路由器接收到发给那个多播组的数据时,便会将其转发给所有的多播主机。
        多播路由器还会周期性地发出“主机成员查询”的IGMP消息,向子网查询多播主机,若发现某个多播组已没有任何成员,则停止转发该多播组的数据。
        此外,当支持IGMP v2的主机(如Windows 98/2000计算机)退出某个多播组时,还会向路由器发送一条“离开组”的IGMP消息,以通知路由器停止转发该多播组的数据。
        但只有当子网上所有主机都退出某个多播组时,路由器才会停止向该子网转发该多播组的数据。   
        使用多播路由协议,路由器可建立起从多播源节点到所有目的节点的多播路由表,从而实现在子网间转发多播数据包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值