《IP组播(第1卷)》一1.3 组播数据包

简介:

本节书摘来自异步社区《IP组播(第1卷)》一书中的第1章,第1.3节,作者【美】Josh Loveless(乔希 勒夫莱斯) , Ray Blair(雷 布莱尔) , Arvind Durai(阿温德 杜莱),更多章节内容可以访问云栖社区“异步社区”公众号查看

1.3 组播数据包

如前所述,组播这种通信方式可以只通过一条数据流,将消息送到多个接收方。在运行Internet协议(IP)的以太网环境中,构成网络基础设施的设备主要是路由器和交换机,它们负责将单个数据包复制为多个数据包或消息,并高效地将这些数据包分发给有意接收这些消息的设备。

现在我们需要简要回顾开放式系统互联(OSI)模型,并解释组播在不同层中的应用。表1-1中列出了OSI模型的组成部分。


6d9ce8cfa7bfee79a3c34a310b03ada478a52d95

组播应用通常使用IP上的用户数据报协议(UDP)。因此需要使用传输层,使用了传输层就不能没有网络层运行的IP协议。路由器提供的主要功能也是在IP层。以太网交换机会在数据链路层上,使用MAC地址复制子网中的组播流量。

你必须完全理解OSI模型,这样才能了解IP组播技术,以及各层之间的相互作用。

注释
 

我们把数据帧称为二层消息,在这里我们关注的是源和/或目的MAC地址。我们把数据包称为三层消息,它包含源和目的IP地址。

学习组播一定要理解路由器到底是如何构建组播路由信息库(MRIB)的,以及路由器是如何通过使用单播路由信息库(RIB)来确保转发路径中不出现环路的。从数学的角度说,使用树形结构是路由设备或交换设备确保无环拓扑的最佳方式。组播路由器和交换机就是构建树形结构的专家,本书后文中将更详细地介绍相关内容。

1.3.1 组播源是什么

当说到组播时,总是涉及两种类型的主机:组播源和组播接收方。组播源可以是网络中拥有IP地址的任意设备。要想成为源设备,主机只需要向组播组(Multicast Group)IP地址发送一个消息。在图1-8中,3个发送方都在向同一个组播目的地址239.1.1.1发送消息。

组播源设备在发出一个组播消息前,不需要说明它想把这个消息发送给一个组。任何启用了IP的设备(包括路由器和交换机)都可以把数据包发往组播组。当IP组播路由器在处理一个目的地是组播组的消息时,它会建立一个新的转发条目。这个新的转发条目是“源,组”条目,被称为“源组”,简写为(S, G)。图1-8中发送方A的(S, G)条目应该是(192.168.0.2, 239.1.1.1)。

(S, G)条目指的是源IP地址和目的组地址,中间以逗号相隔。图1-8中的发送方IP地址就是源(S)地址,目的组播组IP地址就是(G)地址。注意图中的3台设备都向同一个组地址发送消息。这会引发问题吗?在继续阅读的过程中想着这个问题。


8da4ade889f45225b44d3f456d613b68642a8781

1.3.2 组播接收方是什么

组播接收方是指启用了组播的设备,并且它表达过对某个组播组或者某个(S, G)对感兴趣。除非组播是在链路本地(不会由任何路由器在网络中转发,比如224.0.0.2这个表示“所有路由器”的IPv4组)传输的,否则IP设备要想成为某个组播组的接收方,必须由管理员或某项应用向那个组播组进行注册。注册后,这个组播接收方就会侦听去往这个组播组目的地址的数据包,比如图1-8中的组播组239.1.1.1。

组播注册的过程是由Internet组播消息协议(IGMP)进行管理的。路由器收到或发起针对某个组或某些组的接收方注册行为时,路由器会在MRIB中添加(, G)条目。(, G)条目表示路由器对这个组感兴趣。

注释
 

组播转发信息库(MFIB)和组播路由信息库(MRIB)是用来解释Cisco路由器中组播流的术语。

MRIB负责维护组播协议生成的路由信息。这些信息会反馈到MFIB中,MFIB负责转发组播数据包,并且负责收集组播流的状态统计信息。

相关文章
|
数据挖掘
跟着 Nature 学作图 | 相关性热图(显示相关性散点图)
跟着 Nature 学作图 | 相关性热图(显示相关性散点图)
932 0
|
测试技术 UED 开发者
软件测试的艺术与科学
在软件开发的舞台上,测试是确保质量的重要角色。它不仅需要严谨的科学方法,还蕴含着艺术般的创造力。本文将带你走进软件测试的世界,探索如何通过创造性思维和系统化方法来提升测试效果,保障软件产品的稳定性和可靠性。
139 27
|
机器学习/深度学习 自然语言处理
微软 Copilot有没有中文版?微软Copilot中文版官网入口介绍
微软Copilot是一款由微软开发的智能助手,旨在通过人工智能技术提升用户在各种软件应用中的工作效率。它集成了自然语言处理(NLP)和机器学习(ML)技术,能够理解用户的意图,并提供实时的建议和自动化功能。Copilot的设计初衷是帮助用户更好地利用工具,提高创造力和生产力。
|
XML 物联网 API
深度思考:总结SOA、WSDL、SOAP、REST、UDDI之间的关系
SOA、WSDL、SOAP、REST及UDDI各具优势,共同增强系统灵活性、互操作性及资源优化。它们在网络服务发展中扮演关键角色,推动跨平台交互与标准化进程。
725 0
深度思考:总结SOA、WSDL、SOAP、REST、UDDI之间的关系
|
安全 网络安全 数据安全/隐私保护
网络安全的护城河:漏洞防御与加密技术的深度解析
【8月更文挑战第31天】在数字化浪潮中,网络安全成为了保护个人隐私和企业资产的关键防线。本文通过浅显易懂的语言和实际代码示例,揭示网络安全漏洞的成因、加密技术的重要性以及提升安全意识的必要性。我们将从基础的网络攻击类型讲起,逐步深入到复杂的加密算法,旨在为不同层次的读者提供一份实用的网络安全指南。
|
存储 网络协议 Linux
在Linux中,如何通过syslog进行远程日志转发?
在Linux中,如何通过syslog进行远程日志转发?
|
缓存 算法
基于机会网络编码(COPE)的卫星网络路由算法matlab仿真
**摘要:** 该程序实现了一个基于机会网络编码(COPE)的卫星网络路由算法,旨在提升无线网络的传输效率和吞吐量。在MATLAB2022a中测试,结果显示了不同数据流个数下的网络吞吐量。算法通过Dijkstra函数寻找路径,计算编码机会(Nab和Nx),并根据编码机会减少传输次数。当有编码机会时,中间节点执行编码和解码操作,优化传输路径。结果以图表形式展示,显示数据流与吞吐量的关系,并保存为`R0.mat`。COPE算法预测和利用编码机会,适应卫星网络的动态特性,提高数据传输的可靠性和效率。
|
存储 网络协议 数据处理
【Socket】解决UDP丢包问题
UDP(用户数据报协议)是一种无连接的传输层协议,因其不保证数据包的顺序到达和不具备内置重传机制,导致在网络拥塞、接收缓冲区溢出或发送频率过快等情况下容易出现丢包现象。为应对这些问题,可以在应用层实现重传机制、使用前向纠错码等方法。这些方法在一定程度上可以缓解UDP通信中的丢包问题,提高数据传输的可靠性和效率。
|
SQL 开发框架 前端开发
技术笔记:TPL详解、使用
技术笔记:TPL详解、使用
259 0
|
运维 数据管理 持续交付
医学检验科LIS系统,LIS检验系统源码
质控品管理功能简介:维护各检验设备的质控品,为质控品指定检验项目,为每一个项目指定靶值、标准差、质控方法。 质控规则管理功能简介:维护质控规则,为每一个规则指定规则格式、测定值N和X倍方差值。 设备质控设置功能简介:为质控设备指定使用的质控规则。 质控报告管理功能简介:根据不同的质控设备和不同的质控批次来查看质控数据,同时可查看和打印质控图。
222 2