• 4-6网络层-IP组播


    一.IP数据报的三种传输方式

    1.单播
    单播用于发送数据包到单个目的地,且每发送一份单播报文都使用一个单播IP地址作为目的地址。是一种点对点传输方式。

    2.广播
    广播是指发送数据包到同一广播域或子网内的所有设备的一种数据传输方式,是一种点对多点传输方式。

    3.组播(多播)
    当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点传输方式。

    *注:组播数据报和一般IP数据报的区别:
    ①组播数据报也是”尽最大努力交付”,不提供可靠交付
    组播地址只能用于目的地址,而不能用于源地址
    ③对组播数据报不产生ICMP差错报文。因此,若在PING命令后面键入组播地址,将永远不会收到响应
    ④并非所有的D类地址都可作为组播地址

    二.组播

    1.概念
    组播机制是让源计算机一次发送的单个分组 可以抵达用一个组地址标识的 若干目标主机,并被它们正确接收

    *注:组播仅应用于UDP

    (1)因特网中的IP组播也使用组播组的概念,每个组都有一个特别分配的地址,要给该组发送的计算机将使用这个地址作为分组的目标地址

    (2)组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络。

    *注:组播需要路由器的支持才能实现,能够运行组播协议的路由器称为组播路由器

    在这里插入图片描述

    2.实现过程
    (1)主机使用一个称为IGMP(因特网组管理协议)的协议加入组播组
    (2)使用该协议通知本地网络上的路由器关于要接收发送给某个组播组的分组的愿望
    (3)通过扩展路由器的路由选择和转发功能,可以在许多路由器互联的支持硬件组播的网络上面实现因特网组播

    3.优点
    组播提高了数据传送效率。数据只需发送一次就可发送到所有接收者,大大减轻了网络的负载和发送者的负担,减少了主干网出现拥塞的可能性。

    *注:多个单播可以仿真组播,但是一个组播所需要的带宽要小于多个单播带宽之和;用多个单播仿真一个组播时路由器的时延很大,而处理一个组播分组的时延很小。

    三.IP组播地址

    IP组播使用D类地址格式,地址范围为224.0.0.0~239.255.255.255,一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。

    IP组播地址分为两个部分:只在本局域网上进行硬件组播、在因特网的范围内进行组播。

    *注:在因特网上进行组播的最后阶段,还是要把组播数据报在局域网上用硬件组播交付给组播组的所有成员

    在这里插入图片描述
    [硬件组播]
    同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的。

    TCP/IP协议使用的以太网多播地址的范围是:
    从01-00-5E-00-00-00到01-00-5E-7F-FF-FF

    每个16进制数对应4位,前面3组(01-00-5E)固定不动,占据了24位,共48位以太网地址,剩余24位,最高位为0,剩23位。将D类IP地址转换成十六进制即可

    在这里插入图片描述
    硬件地址的映射关系不是唯一的,因此收到组播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃。

    [例]
    以太网组播IP地址224.215.145.230应该映射到的组播MAC地址是______

    解:
    IP地址四组,每组8位,共32位。取后24位
    215:11010111
    145:10010001
    230:11100110
    即 11010111 10010001 11100110
    最高位改0
    01010111 10010001 11100110
    对应十六进制
    57 91 E6
    因此映射到的组播MAC地址为 01-00-5E-57-91-E6

    四.IGMP与组播路由算法

    (一)因特网组管理协议IGMP

    1.概念
    IGMP协议让路由器知道组播组成员的信息(本局域网上是否有主机(的进程)参加或退出了某个组播组)

    在这里插入图片描述

    IGMP是TCP/IP的一部分,使用IP数据报传递报文

    在这里插入图片描述
    2.工作阶段
    (1)第一阶段
    ①主机加入新的组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明要成为该组的成员
    ②本地的组播路由器收到IGMP报文后,将组成员关系转发给因特网上的其他组播路由器
    (2)第二阶段
    ①本地组播路由器周期性地探询本地局域网上的主机,以便知道这些主机是否仍继续是组的成员
    ②响应结果
    只要对某个组有一台主机响应,那么组播路由器就认为这个组是活跃的;一个组在经过几次的探询后仍然没有一台主机响应时,则不再将该组的成员关系转发给其他的组播路由器

    (二)组播路由算法

    1.目的:找出以源主机为根节点的组播转发树。
    2.对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。
    3.在组播路由选择中,路由器可以从它的多个接口转发收到的分组,而在单播路由选择中,路由器只能从它的一个接口转发收到的分组。

    在这里插入图片描述
    由于树具有不存在环路的特性,因此构造一个组播转发树,通过该转发树既能将组播分组传送到组内的每台主机,又能避免环路

    4.实现因特网组播的路由算法
    (1)基于链路状态的路由选择
    (2)基于距离-向量的路由选择:使用水平分割避免无穷计数问题
    (3)协议无关的组播(PIM):可以建立在任何路由器协议之上

  • 相关阅读:
    Linux(一)Linux理论、Shell
    postgres和postgis下载链接
    [go]泛型扩展切片与map(filter与transfer)
    工作≤4 年,小公司反复横跳,技术热情不足被当成纯资源、成长缓慢的人
    场景分类任务可用数据集(部分)
    NLP_GPT生成式自回归模型
    .NET开源功能强大的串口调试工具
    线上牛奶配送
    嵌入式软件学习进阶
    (173)FPGA约束:单周期时序分析或默认时序分析
  • 原文地址:https://blog.csdn.net/weixin_45825865/article/details/126443753