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

devtools/2024/11/8 21:28:50/

文章目录

    • 基本概念
    • IP多播的类型
      • 硬件多播
      • IPv4多播地址映射为多播MAC地址

基本概念

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

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

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

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

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

![[单播与多播.png]]

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

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

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

IP多播地址和多播组

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

![[多播地址.png]]

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

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

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

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

![[<a class=IPv4多播地址.png]]" />

IP多播的类型

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

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

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

硬件多播

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

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

![[硬件多播.png]]

当给某个多播组的成员主机配置其所属多播组的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

![[多播MAC地址.png]]

IPv4MAC_65">将IPv4多播地址映射为多播MAC地址

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

![[将<a class=IPv4多播地址映射为多播MAC地址.png]]" />

  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 地址。

![[将<a class=IPv4多播地址映射为多播MAC地址2.png]]" />

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

在这里插入图片描述


http://www.ppmy.cn/devtools/132399.html

相关文章

encodeURIComponent和decodeURIComponent的使用场景

实战项目存在的问题&#xff1a;URL中存在有特殊字符&#xff0c;尤其是# 。在 URL 中有特殊的意义&#xff0c;它表示 URL 的 锚点&#xff08;fragment identifier&#xff09;&#xff0c;用于指定页面中的一个特定位置。通常&#xff0c;# 后面的内容被认为是锚点标识符&am…

【CUDA】线程配置

一、 线程层次结构 1.1 认识 GPU 可并行执行工作 Thread&#xff1a;所有线程执行相同的核函数&#xff0c;并行执行 Thread Block&#xff1a;执行在一个Streaming Multiprocessor (SM)&#xff0c;同一个Block中的线程可以协作 线程的集合称为块&#xff0c;块的数量很多…

【记录分享】多任务黑客攻击仿真模拟器

在电影和电视剧中&#xff0c;黑客攻击的场景往往充满了紧张、快速的打字声和不断滚动的命令行界面。为了让这种体验更具沉浸感&#xff0c;我们可以通过编程模拟出一个真实的黑客攻击过程。本篇文章将介绍如何使用 Python 和 Tkinter 库设计一个多任务黑客攻击仿真模拟程序&am…

数据分析:16s扩增子网络分析之SparCC

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍共表达网络分析SPARCC算法安装NetCoMi加载R包数据链接导入数据数据预处理network constructionnetwork analysis - degree centralitynetwork plots - degree centralitynetwork co…

外包功能测试就干了4周,技术退步太明显了。。。。。

先说一下自己的情况&#xff0c;大专生&#xff0c;21年通过校招进入武汉某软件公司&#xff0c;干了差不多3个星期的功能测试&#xff0c;那年国庆&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我才在一个外包企业干了4周的功…

C# 几个基础位运算

通过使用二进制位&#xff08;bit)来做开关&#xff0c;是个不错的选择。 使用二进制作为开关&#xff0c;主要是针对不同的位进行赋值 1或者 0。 在实现这个功能之前&#xff0c;先来复习几个知识点&#xff1a; 位逻辑非运算&#xff08;~&#xff09;&#xff1a;1变0&…

传统RAG流程;密集检索器,稀疏检索器:中文的M3E

目录 传统RAG流程 相似性搜索中:神经网络的密集检索器,稀疏检索器 密集检索器 BGE系列模型 text-embedding-ada-002模型 M3E模型 稀疏检索器 示例一:基于TF-IDF的稀疏检索器 示例二:基于BM25的稀疏检索器 稀疏检索器的特点与优势 传统RAG流程 相似性搜索中:神经…

ICT网络赛道安全考点知识总结3

关于SSL VPN的特点的描述如下&#xff1a; 由于SSL VPN登录方式借助了浏览器&#xff0c;所以实现了客户端的自动安装和配置&#xff0c;这样用户可以随时随地用设备快捷登录&#xff0c;同时也缓解了网络管理员维护客户端等方面的压力。 SSL VPN针对内网资源可以解析到应用层&…