计算机网络:网络层 —— IP 多播技术

文章目录

基本概念

多播 (Multicast,也称为组播 )是一种实现"一对多 "通信的技术,允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的),与传统单播"一对一"通信相比,多播可以极大地节省网络资源

  1. 在因特网上进行的多播称为IP多播,也称多址广播或组播,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的 TCP/IP 网络技术。

  2. 多播的基础概念是"组" 。一个多播组就是一组希望接收特定数据流的接收者,这个组没有物理或者地理的边界,组内的主机可以位于互联网或者专用网络的任何地方。

  3. 当发送方发送数据包时,该数据包会通过网络传输到所有加入该多播组的设备,而不是通过设备的单播地址。

  4. 当多播组的成员数量很大时,采用多播方式可以显著地减少网络中各种资源的消耗。

  • 左边部分显示的是传统的单播 方法。在这种情况下,视频服务器必须向每一个订阅频道的用户单独发送一份视频流

    假设总共有 60 个用户,那么服务器就需要同时维持 60 条独立的连接,每一条连接都需要消耗一定的带宽资源。随着用户的增加,这种方式会导致服务器负担过重,网络带宽利用率低下。

  • 右边部分则是采用多播 技术的情景。在这里,视频服务器只需要发送一次视频流 ,而路由器 R1、R2 和 R3 负责将这份流复制并分发给各个子网中的用户。这样一来,无论有多少用户观看同一个节目,服务器只需发送一份原始内容即可,大大减轻了服务器的压力并且提高了网络带宽的使用效率。

IP多播地址和多播组

在IPv4中,D类地址被作为多播地址 。多播地址只能用作目的地址,而不能用作源地址

用每一个D类地址来标识一个多播组,使用同一个IP多播地址接收IP多播数据报的所有主机就构成了一个多播组每个多播组的成员是可以随时变动的 ,一台主机可以随时加入或离开多播组。多播组成员的数量和所在的地理位置也不受限制,一台主机可以属于几个多播组

  • 非多播组成员也可以向多播组发送IP多播数据报。

  • 与 IP 数据报相同,IP 多播数据报也是"尽最大努力交付",不保证一定能够交付给多播组内的所有成员。

  • IPv4 多播地址又可分为预留的多播地址 (永久多播地址)、全球范围可用的多播地址 以及本地管理的多播地址 [RFC 3330]

IP多播的类型

IP 多播可以分为以下两种:

  1. 只在本局域网 上进行的硬件多播
  2. 因特网 上进行的多播

目前大部分主机都是通过局域网接入因特网的。因此,在因特网上进行多播的最后阶段,还是要把 IP 多播数据报在局域网上,用硬件多播交付给多播组的所有成员

硬件多播

硬件多播是一种在局域网(LAN)上实现多播通信的技术,它利用硬件(如网络接口卡)的特性来高效地将多播数据发送给多个接收者。

由于 MAC 地址(也称为硬件地址)有多播 MAC 地址 这种类型,因此只要把 IPv4 多播地址映射成多播 MAC 地址 ,即可将 IP 多播数据报封装在局域网的 MAC 帧 中,而 MAC 帧首部中的目的 MAC 地址字段的值,就设置为由 IPv4 多播地址映射成的多播 MAC 地址。这样,可以很方便地利用硬件多播来实现局域网内的IP多播

当给某个多播组的成员主机配置其所属多播组的IP多播地址时,系统就会根据映射规则从该IP多播地址生成相应的局域网多播MAC地址。

因特网号码指派管理局 IANA,将自己从IEEE注册管理机构申请到的以太网 MAC 地址块中从 01-00-5E-00-00-0001-00-5E-7F-FF-FF 的多播 MAC 地址,用于映射 IPv4 多播地址。这些多播 MAC 地址的左起前25个比特都是相同的剩余23个比特可以任意变化 ,因此共有 2 23 2^{23} 223 个

将IPv4多播地址映射为多播MAC地址

32比特的IPV4多播地址 映射成48比特的多播MAC地址的方法:

  1. 前缀固定不变 :IPv4 多播地址的前四位始终为 1110,表示这是一个多播地址。

  2. 剩余28位任意变化:IPv4 多播地址的第 5 位到第 32 位(共 28 位)可以任意变化。

  3. 映射规则

    • 将IPv4多播地址的低 23 位直接复制到 48 位的多播MAC地址的高 23 位。
    • MAC 地址的第 24 位设置为 0
    • MAC 地址的第 25 位到第 48 位设置为 0000.0001

由于 IP 多播地址可变化的 28 比特的前 5 个比特无法映射到 MAC 多播地址,这会造成IP多播地址与多播MAC地址的映射关系并不是唯一的 。如果不同的IP多播地址之间的不同之处仅出现在不能映射的那5个比特,则这些IP多播地址会映射出同一个多播 MAC 地址。

由于IP多播地址与多播MAC地址的映射关系不是唯一的,因此收到IP多播数据报的主机,还要在网际层利用软件进行过滤,把不是主机要接收的IP多播数据报丢弃。

相关推荐
VVVVWeiYee17 分钟前
Mesh路由组网
运维·网络·智能路由器·信息与通信
IT枫斗者34 分钟前
如何解决Java EasyExcel 导出报内存溢出
java·服务器·开发语言·网络·分布式·物联网
北'辰42 分钟前
使用ENSP实现DHCP+动态路由
运维·网络
网络安全Jack42 分钟前
网络安全基础
网络·智能路由器
Hacker_LaoYi1 小时前
网络安全之接入控制
网络·web安全·智能路由器
air_7291 小时前
实验四:构建园区网(OSPF 动态路由)
服务器·网络·智能路由器
ladymorgana1 小时前
【Nginx从入门到精通】05-安装部署-虚拟机不能上网简单排错
网络·nginx·智能路由器
很楠不爱1 小时前
Linux网络——传输层协议
linux·网络·udp
澜世1 小时前
2024小迪安全基础入门第二课
网络·笔记·安全
xxjkkjjkj2 小时前
udp_socket
linux·网络