当前位置: 首页 > news >正文

计算机网络-IP组播基础

一、概述

在前面的学习交换机和路由协议,二层通信是数据链路层间通信,在同一个广播域间通过源MAC地址和目的MAC地址进行通信,当两台主机第一次通信由于不清楚目的MAC地址需要进行广播泛洪,目的主机回复自身MAC地址,然后两台主机进行单播一对一通信,这里面其实就涉及到了单播和广播的概念。

还有之前学习OSPF路由协议所有路由器都会加入224.0.0.5这个组播地址,224.0.0.6组播地址主要用于选举OSPF网络中的DR(Designated Router)和BDR(Backup Designated Router),还有其它的一些常见组播地址如RIPV2使用组播224.0.0.9专门用于RIPv2协议的路由器之间进行组播通信,用于传递路由信息。

在计算机网络中,单播、组播和广播是三种不同的数据传输方式,它们各自适用于不同的场景。

1.1 单播(Unicast):

  • 单播是一种点对点的通信方式。
  • 在单播中,发送者向一个特定的接收者发送数据。
  • 每个数据包都包含一个单一的目的地地址,只有这个地址的接收者会接收和处理数据包。
  • 单播适用于一对一的通信,例如电子邮件或在线聊天。

1.2 组播(Multicast):

  • 组播是一种多点传输方式,数据包从发送者发送到一组特定的接收者。
  • 组播地址是一组接收者共享的,所有订阅了该组播组的接收者都会接收到发送的数据。
  • 组播适用于一对多的通信,例如视频会议或在线直播,其中数据包只需要发送一次,但所有订阅的接收者都能接收到。

1.3 广播(Broadcast):

  • 广播是一种将数据包发送到网络中的所有设备的方式。
  • 在广播中,发送者不指定特定的接收者,而是向所有设备发送数据。
  • 每个设备都会接收到广播数据包,但只有那些对数据包感兴趣的设备才会处理它。
  • 广播适用于需要通知网络中所有设备的情况,例如网络发现服务或某些类型的网络管理任务。

也可以从另外一个方面来解读网络中的业务流量。

网络中存在各种各样的业务,从流量模型看一般可以将业务分为两类:

  • 点到点业务:比如FTP,WEB业务,此类业务主要特点是不同的用户有不同的需求,比如用户A需要下载资料A,用户B需要下载资料B。此类业务一般由单播承载,服务器对于不同用户发送不同的点到点数据流。

  • 点到多点业务:比如IPTV,视频会议等,此类业务的特点是用户对于业务有相同的需求,比如用户A,B,C,D都需要收看视频X,此类业务可以使用单播,组播,广播承载。但使用单播或广播承载点到多点业务时存在一定问题。 组播技术能够较好的解决单播或广播在承载点到多点业务时存在的问题。

点到多点业务可以由单播,组播,广播进行承载,现网中也有各种各样的实现方式。但使用单播或者广播承载点到多点业务时存在一些固有的问题。

单播承载点到多点业务
单播承载点到多点业务
广播承载点到多点业务
广播承载点到多点业务

上述以IPTV业务示例,在只有特定客户端需要访问同一个视频源的时候,单播会出现占用大量带宽和建立大量一对一连接的情况,而广播会导致所有客户端都接收到该流量而无论客户是否需要,出现流量冗余和导致安全风险。

所以出现了组播方式进行点到多点业务传输。

组播承载点到多点业务
组播承载点到多点业务

组播方式下,单一的信息流沿组播分发树被同时发送给一组用户,相同的组播数据流在每一条链路上最多仅有一份。相比单播和广播,使用组播的好处如下:

  • 相比单播,用户的增加不会导致信息源负载的加重,不会导致网络资源消耗的显著增加。
  • 相比广播,不会造成网络资源的浪费,并能提高信息传输的安全性,而且组播可以实现跨网段的传输。

综上所述,单播适用于明确源目双方的业务,广播适用于进行无差别传输通信接收发送的业务,而组播可以根据需要传输到特定的点到多点的业务。从现在开始我们主要就是学习组播(Multicast)的相关知识,虽然在实际现网中接触的比较少,但是一些基本常识还是可以学习了解一下的。

二、组播通信的基本概念

组播(Multicast)是在一台源IP主机和多台(一组)IP主机之间进行,中间的网络设备根据接收者的需要,有选择性地对数据进行复制和转发。 组播技术有效地满足了单点发送、多点接收的需求,实现了IP网络中点到多点业务数据的高效传送,能够大量节约网络带宽、降低网络负载。

2.1 组播数据报文结构

组播数据报文的结构与单播报文类似,但组播数据报文的目的MAC地址与目的IP地址与单播报文有很大差异。

组播组成结构示例
组播组成结构示例
  • 组播目的IP地址:目的IP地址为组播IP地址,地址范围从224.0.0.0到239.255.255.255。
  • 组播目的MAC地址:目的MAC地址为组播MAC地址,组播MAC地址由组播IP地址映射而来。
  • 组播源MAC:点到多点业务中的那个"点",也就是那个要发送业务的源的MAC地址。
  • 组播源IP:点到多点业务中的那个"点"的IP地址。

顾名思义"组播",在一个组里面传播,需要接收特定业务的成员就加入这个组即可。而这个组需要有一个有一个唯一标识也就是组播目的IP(组播IP) ,然后在计算机网络中IP和MAC对应,因此会将组播IP通过一定规则映射出一个组播目的MAC地址(组播MAC) ,而发送信息的源头作为"组播源"也有自己的唯一组播源IP组播源MAC作为标识。

本文由 mdnice 多平台发布

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 业界数据架构的演变
  • Linux 系统管理4——账号管理
  • MySQL篇-SQL优化实战
  • vulnhub--IMF
  • 【AI原理解析】—支持向量机原理
  • requests 发送一个 json 格式的 post 请求
  • Node.js实现一个文章生成器
  • YOLOv8改进 | 注意力机制 | 结合静态和动态上下文信息的注意力机制
  • 2024年6月份找工作和面试总结
  • RabbitMQ 更改服务端口号
  • 力扣1895.最大的幻方
  • 51单片机嵌入式开发:3、STC89C52操作8八段式数码管原理
  • NativeMemoryTracking查看java内存信息
  • udp发送数据如果超过1个mtu时,抓包所遇到的问题记录说明
  • 9 redis,memcached,nginx网络组件
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【node学习】协程
  • 03Go 类型总结
  • Elasticsearch 参考指南(升级前重新索引)
  • in typeof instanceof ===这些运算符有什么作用
  • JavaScript类型识别
  • react-native 安卓真机环境搭建
  • Spring Cloud Feign的两种使用姿势
  • Vue 2.3、2.4 知识点小结
  • 编写符合Python风格的对象
  • 从输入URL到页面加载发生了什么
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 王永庆:技术创新改变教育未来
  • 正则表达式
  • 智能网联汽车信息安全
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • linux 淘宝开源监控工具tsar
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • ​渐进式Web应用PWA的未来
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #数学建模# 线性规划问题的Matlab求解
  • (31)对象的克隆
  • (苍穹外卖)day03菜品管理
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十八)SpringBoot之发送QQ邮件
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net core开源商城系统源码,支持可视化布局小程序
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET 事件模型教程(二)
  • .net 无限分类
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .NET应用UI框架DevExpress XAF v24.1 - 可用性进一步增强