IP组播基础

IP组播基础

当网络中部署点到多点通信应用时,若采用单播方式,网络中传输的信息量与需要该信息的用户量成正比。多份内容相同的信息发送给不同用户,对信源及网络带宽都将造成巨大压力。若采用广播方式,无需接受信息的主机也接收到该信息,这样会造成安全的问题,也会导致网段中信息泛滥。

IP组播技术有效地解决了单播和广播再点到多点应用中的问题。组播源只发送一份数据,数据在网络节点间被复制、分发,且只发送给需要该信息的接收者。

点到多点应用的发展与部署

传统点到点应用

  • 服务提供以单个用户为单位提供服务。

  • 不同用户与服务提供端的通信数据存在差异。

  • 两个通信实体之间的通信过程如下:

    1. Server封装数据包并发出,其中源IP为自身IP,目的IP为远端Client地址,源MAC为自身MAC地址,目的MAC为网关路由器的MAC地址。

    2. 网关路由器收到数据包,解封装后根据目的IP查找路由表,确定去往目的IP的下一跳地址及出接口。重新封装源数据包,从相应出接口发给下一跳设备继续转发。

    3. 经过路由器的多次逐条转发,数据包到达Client所在网络,Client收到数据后,对数据包进行解封装并交由本机上层应用协议处理。

新型点到多点应用

  • 服务提供端以一组用户为单位提供服务。
  • 同组用户与服务提供端的通信数据无差异。

IP组播基础

单播方式部署点到多点应用

  • 单播方式存在的问题:
    • 重复流量过多
    • 消耗设备和链路带宽资源。
    • 难以保证传输质量(当网络拥堵的时候无法保障传输质量)。

IP组播基础

广播方式部署点到多点应用

  • 广播方式所存在的问题:
    • 地域范围限制。
    • 安全性无法保障。
    • 有偿性无法保障。

IP组播基础

  • 广播(Broadcast)是在一台源IP主机和网络中所有其他的IP主机之间进行,属于一对所有的通讯方式,所有主机都可以 接收(不论主机是否需要)

  • 广播的特点:

    • 一份广播报文,使用一个广播地址作为目的地址。Source向本网段对应的广播地址发送且仅发送一份报文。
    • 不管是否有须要,保证报文被网段中的所有用户主机接收。
  • 广播的缺陷:

    • 广播方式下,信息发送者与用户主机被限制再一个共享网段中,且该网段所有用户主机都能接收到信息。
    • 广播方式只适合共享网段,且信息安全性和有偿服务得不到保障。
  • 对于点到点的网络应用,单播和广播都有一定得局限性。

组播方式部署点到多点应用

  • 组播方式的优势:

    • 无重复流量。
    • 节省设备与带宽资源。
    • 安全性高。
    • 有偿性有保障。

IP组播基础

  • 组播(Multicast)是在一台源IP主机和多台(一组)IP主机之间进行,中间的交换机和路由器根据接收者的需要,有选择性地对数据进行复制和转发。
  • 组播的优势:
    • 组播方式下,单一的信息流沿组播分发树被同时发送给一组用户,相同的组播总数据量在一条链路上有且最多仅有一份。
    • 相比单播,由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的怎加不会导致信息源负载的加重以及网络资源消耗的显著增加。
    • 相比广播,由于被传递的信息指挥发送给需要该信息的接收着,所以不会造成网络资源的浪费,并能提高信息传输的安全性。另外,广播只能在同一网段中进行,而组播可以实现跨网段的传输。
  • 组播的应用:
    • 组播技术有效地满足了单点发送、多点接收的需求,实现了IP网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。利用组播技术可以更方便地提供在线直播、网络电视、远程教育等服务。

组播基本概述

组播基本架构

IP组播基础

  • 组播源到路由器:组播源生成组播数据,完成数据封装并发送给网关路由器。
  • 路由器到路由器:录取更具接收者的分布情况有选择地对数据进行复制和转发。
  • 路由器到接收端:路由器收到组播数据并发送给相应的接收者。

组播源到路由器

IP组播基础

  • 单播数据包传输的路径是利用“逐跳“(hop-by-hop)转发原理在IP网络中传输。
  • 相较于IP单播,IP组播通信的特点是数据包的目的地址不是一个特定的单一IP地址,二十一个特定组地址。
  • 为了实现信息源和组播组成员跨越互联网进行通讯,需要提供网络层组播,组播数据包的目的IP地址使用组播IP地址,也就是说组播源不关注接收者的位置信息,只要将数据发送到特定组IP地址即可。
  • 以太网传输单播数据帧时,目的mac地址使用的是接收者或者去往接收者的下一跳网关设备的mac地址。
  • l但是在传输组播报文时,目的端不再是一个具体的接收者,而是一个成员不确定的组,如果目的MAC封装成接收者的MAC地址,则需要为每个接收者分别发送一份组播帧。
  • 显然这是不合理的。为了在数据链路层实现组播信息的高效传输,需要提供链路层组播转发能力,链路层组播使用组播mac地址。

组播IP地址

  • 一个组播IP地址并不是表示具体的某台主机,而是一组主机的集合,主机声明加入某组播组即表示自己需要接收目的地址为该组播地址的数据。

IP组播基础

  • IP组播常见模型为ASM模型和SSM模型。

  • Pv4组播地址:

    • IPv4地址空间分为五类,即A类、B类、C类、D类和E类**。D类地址为IPv4组播地址,范围是从224.0.0.0到239.255.255.255,用于标识组播组,且仅能作为组播报文的目的地址使用,不能作为源地址使用。**
    • IPv4组播报文的源地址字段为IPv4单播地址,可使用A、B或C类地址,不能是D类、E类地址。
    • 在网络层上,加入同一组播组的所有用户主机能够识别同一个IPv4组播组地址。一旦网络中某用户加入该组播组,则此用户就能接收以该组地址为目的地址的IP组播报文。
  • 组播服务模型:

    • ASM(Any-Source Multicast)任意源组播.在ASM模型中,任意发送者都可以成为组播源,向某组播组地址发送信息.接收者加入该组播组后,能够接收到发网该组播组的所有消息.在ASM模型中,接收者无法预先知道组播源的位置,接收者可以在任意时间加入或离开该组播组.
    • SSM全称为Source-Specific Multicast,译为指定源组播。在现实生活中,用户可能仅对某些源发送的组播信息感兴趣,而不愿接收其它源发送的信息。SSM模型为用户提供了一种能够在客户端指定信源的传输服务。SSM模型和ASM模型的根本区别是接收者已经通过其他手段预先知道了组播源的具体位置。SSM和ASM使用不同的组播地址范围,直接在接收者和组播源之间建立组播转发树。

组播MAC地址

IP组播基础

  • 组播数据帧的传输目的不再是一个具体的接收者,而是一个成员不确定的组,所以使用的是组播MAC地址.IANA规定,组播MAC地址的高24bit为0x01005e,第25bit固定为0.
  • 组播mac地址用于在链路层表示属于同一组播组的接收者.
  • 以太网传输单播数据帧的时候,目的mac地址使用的是接收者的mac地址或者下一条路由器的mac地址.这个mac地址通过arp获取对应组播数据帧也需要有一个可预见的mac地址.

组播IP与MAC的映射

  • 需要组播IP地址与组播MAC地址的自动映射.
  • MAC地址的低23bit为组播IP地址的低23bit.
  • IP组播基础

映射导致的问题

  • 组播IP地址映射成组播mac地址时,会导致32个组播IP地址对应一个组播mac地址问题

IP组播基础

  • 由于IP组播地址的钱4bit是1110,代表组播标识,而后28bit中只有23bit被映射到mac地址,这样IP地址中就有5bit信息丢失,直接的结果就是出现了32个组播IP地址映射到同一组播地址上.
  • IETF认为同一个局域网中两个或多个组地址生成相同的mac地址几率非常低,不会造成太大影响.

思考题

1.什么是组播通信?

答:IP组播通信值得是IP报文从一个源发出,被转发到一组特定的接收者.相较于传统的单播和广播,IP组播可以有效地节约网络带宽,降低网络负载,所以被广泛应用与IPTV、实时数据传送和多媒体会议等网络业务中。

2.IPv4组播范围?

答:IANA(Internet Assigned Numbers Authority,互联网编号分配委员会)将D类地址空间非陪给IPv4组播使用.IPv4地址一共32为,D类地址最高4为1110,因此地址范围从224.0.0.0到239.255.255.255.