计算机网络-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多平台发布

相关推荐
爱笑的眼睛111 天前
浅谈 前端验证码那些事
前端·程序人生
GPT01232 天前
大模型日报 2024-12-20
程序人生
十二测试录2 天前
Python基础——字符串
开发语言·经验分享·python·程序人生·职场发展
测试老哥2 天前
Python自动化测试图片比对算法
自动化测试·软件测试·python·测试工具·程序人生·职场和发展·测试用例
杰哥就是杰哥3 天前
坚持奋斗到底
程序人生
大鱼前端5 天前
React 19新特性探索:提升性能与开发者体验
程序人生
测试19985 天前
什么是自动化测试?
自动化测试·软件测试·python·测试工具·程序人生·职场和发展·测试用例
python_知世5 天前
基于LLaMA-Factory微调Llama3
人工智能·深度学习·程序人生·自然语言处理·大语言模型·llama·大模型微调
赵大仁6 天前
从零开始掌握Vue.js组件开发:详解原理与实践
前端·javascript·vue.js·经验分享·vscode·程序人生·前端框架