IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 三十七、IP组播 -> 正文阅读

[网络协议]三十七、IP组播

1、IP数据报的三种传输方式

\qquad 单播: 单播用于发送数据包到单个目的地,且每发送一份单播报文都使用一个单播IP地址作为目的地址。是一种点对点的传输方式。
\qquad 广播: 广播是指发送数据包到 同一个广播域或者子网内的所有设备的一种数据传输方式,是一种点对多点的传输方式。
\qquad 组播(多播): 当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点之后才开始复制和分发,是一种点对多点的传输方式。
\qquad 组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。组播路由器的支持是可以运行组播协议的路由器。
在这里插入图片描述

2、IP组播地址

\qquad IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。
\qquad 组播地址范围为:224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目的地址。源地址总是为单播地址
\qquad 1) 组播数据报也是“尽最大能力交付”,不提供可靠支付,应用于UDP;
\qquad 2) 对组播数据包不产生ICMP差错报文;
\qquad 3) 并非所有D类地址都可以作为组播地址;
在这里插入图片描述

3、硬件组播

\qquad 同单播地址一样,组播IP地址也需要相应的组编MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E打头,剩余的6个16进制位是根据IP组播地址的最后23位转换得到的。
\qquad TCP/IP协议使用的以太网多播地址的范围是:从01-00-5E-00-00-00到01-00-5E-7F-FF-FF。IP地址向组播MAC地址的映射方法如下所示。
在这里插入图片描述
\qquad 收到多播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃。

4、IGMP协议和组播路由选择协议

4.1 IGMP协议

\qquad IGMP协议叫做国际组管理协议,其作用是让路由器知道本局域网上是否有主机(的进程)参加或者退出了某个组播组
在这里插入图片描述 \qquad ICMP协议和IGMP协议都属于IP层上层的协议,都使用IP数据报传递报文。
IGMP工作的两个阶段:
\qquad 1) 当某个主机要加入组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明自己要成为改组的成员;本地组播路由器收到IGMP报文之后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器。
\qquad 2) 本地组播路由器周期性探寻本地局域网上的主机,以便知道这些主机是否还是组播组的成员;只要有一个主机对某个组相应,那么组播路由器就认为这个组是活跃的;如果经过几次探寻之后没有一个主机响应,组播路由器就认为本网络上没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器。
\qquad 组播路由器知道的成员关系只是所连接的局域网中有无组播组的成员,并不知道成员的个数。

4.1 组播路由选择协议

\qquad 组播路由选择协议的目的是:找出以源主机为根节点的组播转发树。
在这里插入图片描述
\qquad 构造树可以避免在路由器之间兜圈子;对不同的多播组对应的不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。
\qquad 组播路由选择协议经常用到的三种算法:基于链路状态的路由选择;基于距离向量的路由选择和协议无关的组播(稀疏/密集)。

THE END

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 14:20:18  更:2022-01-01 14:20:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/6 13:05:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码