广播、多播和IGMP的一点记录
广播和多播:仅应用于UDP
广播分为:
1.受限的广播(255.255.255.255)
2.指向网络的广播(eg:A类网络 netid.255.255.255)主机号为全1的地址
3.指向子网的广播:主机号为全1且有特定子网号的地址
4.指向所有子网的广播:(eg: 128.1.255.255 而subnet mask为 255.255.255.0)
IP多播提供两类服务:
1.向多个目的地址传送数据。如:向多个接收者分发邮件
2.客户对服务器的请求。
多播地址范围: 224.0.0.0~239.255.255.255 即28位多播组ID,IP地址的高四位为1110
由“多播”引发的血案:IGMP(Internet组管理协议)
IGMP的目的是让一个物理网络上的所有系统知道主机当前所在的多播组。IGMP和ICMP一样,都被当作IP层的一部分,通过IP数据报传输。IGMP报文长度固定,为8字节。
多播的基础就是一个进程的概念,该进程在一个主机的给定接口上加入了一个多播组。主机通过组地址和接口来识别一个多播组。
IGMP报告和查询:
多播路由器向子网内的所有系统组发送IGMP的查询报文格式以及主机向多播路由器发送IGMP报告的格式如下:
注:由于路由器希望主机对它加入的每个多播组均发回一个报告,所以将IGMP组地址设为0,此外,当进程离开一个组时,主机不会主动向多播路由器发送IGMP报告,即便是最后一个进程离开。而对于多播路由器来说,它仅仅想知道在给定的接口上的多播组中是否还至少有一个主机。关于TTL值,在上图中,TTL值均为1,其目的是使多播数据报仅局限在同一子网内传送。规定:从224.0.0.0~224.0.0.255的特殊地址空间的TTL值必须为1 。
224.0.0.1是“所有主机组地址”,当接口初始化后,同一物理网络中的所有具备多播能力接口上的主机均自动加入这个多播组,这个组的成员无需向多播路由器发送IGMP报告。
由P140多播路由器例子的一点总结:
当多播路由器选路的守护进程启动后,它发的所有查询IGMP报文的地址都是224.0.0.1,在多播路由表还为空时,多播路由器会频繁的发送IGMP查询消息,例子中的开始时间间隔是5秒,其目的就是要将多播路由表尽快建立起来;当多播路由表建立起来之后,查询时间间隔大概2分钟;主机每次回复IGMP报告的顺序是不一致的,每个报告仅包含一个组地址,因为主机在收到IGMP query的消息后会在0~10秒的随机时间延时后回复多播路由器。
广播、多播和IGMP的一点记录的更多相关文章
- 广播,多播,IGMP:网际组管理协议
广播,多播,IGMP:网际组管理协议 1.概述 IP有三种地址:单播地址, 广播地址,多播地址. 广播和多播仅应用于UDP. 每个以太网帧包含源主机和目的主机的以太网地址 ...
- 关于Java8:StreamAPI的一点记录
关于 Stream ,Functional Interface 的一点记录 stream对于集合操作的便捷度提升: import java.util.ArrayList; import java.ut ...
- 对Integer类中的私有IntegerCache缓存类的一点记录
对Integer类中的私有IntegerCache缓存类的一点记录 // Integer类有内部缓存,存贮着-128 到 127. // 所以,每个使用这些数字的变量都指向同一个缓存数据 // 因此可 ...
- 从symbol link和hard link 到 unlink函数的一点记录
之前一直对Linux的文件类型中的 “l” 类型的了解不是很深入,最近经过“圣经”指点,略知一二,在此先记录一下,以便以后查阅,之后会对文件和目录.文件I/O这部分再扩充. 首先需明确,Unix在查阅 ...
- TCP/IP详解学习笔记(7)-广播和多播,IGMP协议
1.单播,多播,广播的介绍 1.1.单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说 ...
- 7.广播和多播,IGMP协议
1.单播,多播,广播的介绍 1.1.单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说 ...
- 《TCP/IP详解 卷一》读书笔记-----广播&多播&IGMP
1.广播和多播都只适用于UDP,因为TCP是面向连接的,需要将两台主机的两个进程绑定在一起,即IP地址和端口对 2.通常,网卡能看到网络中的每一个数据帧,但是往往它只接受目的地址与自己MAC地址相同的 ...
- TCP/IP详解学习笔记(9)-- 广播,多播,IGMP:网际组管理协议
1.概述 IP有三种地址:单播地址, 广播地址,多播地址. 广播和多播仅应用于UDP. 每个以太网帧包含源主机和目的主机的以太网地址.通常每个以太网帧发往单个目的主机,目 ...
- 关于删除MySQL Logs的一点记录
五一前,一个DBA同事反馈,在日常环境中删除一个大的slow log文件(假设文件大小10G以上吧),然后在MySQL中执行flush slow logs,会发现mysqld hang住. 今天尝试着 ...
随机推荐
- Codeforces 903F Clear The Matrix(状态压缩DP)
题目链接 Clear The Matrix 题意 给定一个$4 * n$的矩形,里面的元素为$'.'$或$'*'$.现在有$4$种正方形可以覆盖掉$'*'$,正方形的边长分别为$1,2,3,4$. 求 ...
- retain和copy还有assign的区别
1. 接触过C,那么假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给 (assign)了b.此时a和b指向同一块内存,请问当a不再需 ...
- Fresco对Listview等快速滑动时停止加载
Fresco中在listview之类的快速滑动时停止加载,滑动停止后恢复加载: 1.设置图片请求是否开启 // 暂停图片请求 public static void imagePause() { Fre ...
- POJ 2128:Highways
Highways Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 2730 Accepted: 1008 Specia ...
- css :before 和 :after
:before p:before 在每个 <p> 元素的内容之前插入内容. 2 :after p:after 在每个 <p> 元素的内容之后插入内容. 2 <!DOCTY ...
- sublimetext3打造pythonIDE
虽然pycharm是非常好用的pythonIDE,用来开发项目很方便,但是修改调整单个或几个小程序就显得很笨重,这时候我们可以选择使用sublime. 一般来说要开发项目我都用pycharm,开发简单 ...
- haproxy mod tcp配置 按hostname 来定向服务器
需求 tcp 链接服务器, 服务器端根据不同的域名 定向到不同的内网服务器上: 参考资料 https://serverfault.com/questions/643131/proxying-tcp-b ...
- 【Excle数据透视表】如何显示/隐藏数据透视表字段列表
在创建完毕的数据透视表中,若单击数据透视表中任意单元格,即可显示数据透视表字段列表窗格,用户就可以通过弹出的窗格进行字段调整 两种情况需要隐藏数据数据透视表窗格 ①数据透视表已经完成 ②失误关闭窗格 ...
- Maven零散笔记——配置Nexus
安装&配置Nexus 解压后,应该获得如下目录结构: nexus-2.0.6是nexus服务主目录 sonatype-work是真正的仓库,同时包含了nexus的配置,如定时任务.用户配置等 ...
- VM tools安装错误The path "" is not a valid path to the xx generic kernel headers.
在网上搜索非常多解决方式.并不适用于我的问题,最后通过下面步骤解决: 1. 更新软件源(防止build-essential不能 安装),然后安装build-essential和linu-headers ...