TCP/IP详解读书笔记(第13章IGMP:Internet组管理协议)
来源:互联网 发布:网络用语沒毛病怎么回 编辑:程序博客网 时间:2024/05/17 02:30
TCP/IP详解读书笔记(第13章IGMP:Internet组管理协议)
本章将介绍用于支持主机和路由器进行多播的Internet组管理协议( IGMP)。它让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。
正如ICMP一样,IGMP也被当作IP层的一部分。IGMP报文通过IP数据报进行传输。不像我们已经见到的其他协议, IGMP有固定的报文长度,没有可选数据。图1显示了IGMP报文如何封装在IP数据报中。
图1:IGMP报文封装在IP数据报中
IGMP报文
图2显示了长度为8字节的IGMP报文格式。
图2:IGMP报文的字段格式
IGMP类型为1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。检验和的计算和ICMP协议相同。组地址为D类IP地址。在查询报文中组地址设置为0,在报告报文中组地址为要参加的组地址。
IGMP协议
加入一个多播组
多播的基础就是一个进程的概念(操作系统执行的一个程序),该进程在一个主机的给定接口上加入了一个多播组。在一个给定接口上的多播组中的成员是动态的—它随时因进程加入和离开多播组而变化。
这里所指的进程必须以某种方式在给定的接口上加入某个多播组。进程也能离开先前加入的多播组。
IGMP报告和查询
多播路由器使用IGMP报文来记录与该路由器相连网络中组成员的变化情况。使用规则如下:
1) 当第一个进程加入一个组时,主机就发送一个IGMP报告。如果一个主机的多个进程加入同一组,只发送一个IGMP报告。这个报告被发送到进程加入组所在的同一接口上。
2) 进程离开一个组时,主机不发送IGMP报告,即便是组中的最后一个进程离开。主机知道在确定的组中已不再有组成员后,在随后收到的IGMP查询中就不再发送报告报文。
3) 多播路由器定时发送IGMP查询来了解是否还有任何主机包含有属于多播组的进程。多播路由器必须向每个接口发送一个IGMP查询。因为路由器希望主机对它加入的每个多播组均发回一个报告,因此IGMP查询报文中的组地址被设置为0。
4) 主机通过发送IGMP报告来响应一个IGMP查询,对每个至少还包含一个进程的组均要发回IGMP报告。
使用这些查询和报告报文,多播路由器对每个接口保持一个表,表中记录接口上至少还包含一个主机的多播组。当路由器收到要转发的多播数据报时,它只将该数据报转发到(使用相应的多播链路层地址)还拥有属于那个组主机的接口上。
图3显示了两个IGMP报文,一个是主机发送的报告,另一个是路由器发送的查询。该路由器正在要求那个接口上的每个主机说明它加入的每个多播组。
图3:IGMP的报告和查询
所有主机组
目的IP地址224.0.0.1被称为所有主机组地址。它涉及在一个物理网络中的所有具备多播能力的主机和路由器。当接口初始化后,所有具备多播能力接口上的主机均自动加入这个多播组。这个组的成员无需发送IGMP报告。
- TCP/IP详解读书笔记(第13章IGMP:Internet组管理协议)
- TCP/IP详解读书笔记(第13章IGMP:Internet组管理协议)
- 【TCP/IP详解】第13章 IGMP: Internet组管理协议
- TCP/IP详解 卷1 笔记 第13章 IGMP: internet组管理协议
- TCP-IP详解卷1-13:IGMP(Internet Group Management Protocol):Internet组管理协议
- 《TCP/IP详解卷2:实现》笔记--IGMP:Internet组管理协议
- (13)IGMP:Internet组管理协议
- 《TCP/IP详解 卷1:协议》 读书笔记 第6章 ICMP:Internet控制报文协议
- 《TCP/IP详解-协议》(13)IGMP协议
- TCP/IP学习笔记之十 --- IGMP:Internet组管理协议
- TCP/IP详解学习笔记(9)-- 广播,多播,IGMP:网际组管理协议
- IGMP:Internet组管理协议
- IGMP:Internet组管理协议
- 详解IGMP(Internet组管理协议)报文及协议
- 详解IGMP(Internet组管理协议)报文及协议
- TCP/IP详解读书笔记(第六章 ICMP:Internet控制报文协议)
- 《TCP/IP详解 卷1:协议》 读书笔记 第六章 ICMP:Internet控制报文协议
- 《TCP/IP详解 卷1:协议》 读书笔记 第六章 ICMP:Internet控制报文协议
- zoj 1649 Rescue
- 一个反向适配器的的例子
- 谈内存对齐
- 无知的自己
- 手动重新安装magento
- TCP/IP详解读书笔记(第13章IGMP:Internet组管理协议)
- 好想酣畅的打一场球
- robots的一些作用及用法
- 球中的模型
- 详解PHP中$_SERVER
- FillForms 1.2.9 preliminarily reviewed
- 为什么要持续集成?持续集成的好处
- windows环境下用nginx+FastCGI方式运行Django
- 详解IGMP(Internet组管理协议)报文及协议