广播、多播和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住. 今天尝试着 ...
随机推荐
- 介绍Node.JS
几年前,完全放弃Asp.net,彻底脱离微软方向.Web开发,在公司团队中,一概使用Node.js.Mongodb.Git,替换Asp.net mvc.Sql server和Tfs.当时来看,这是高风 ...
- jemalloc原理分析
netty4引入了内存池的概念,它的主要思想源自于jemalloc,由于难以理解netty中这一块的代码,我决定先看一看网上的相关文章 官方git jemalloc原理分析 jemalloc和内存管理 ...
- HDU 5727.Necklace-二分图匹配匈牙利
好久没写过博客了,把以前的博客补一下. Necklace Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- POJ 3264 Balanced Lineup RMQ ST算法
题意:有n头牛,编号从1到n,每头牛的身高已知.现有q次询问,每次询问给出a,b两个数.要求给出编号在a与b之间牛身高的最大值与最小值之差. 思路:标准的RMQ问题. RMQ问题是求给定区间内的最值问 ...
- 2016北京集训测试赛(八)Problem C: 直径
Solution 一个定理: 把两棵树用一条边练成一棵树后, 树的直径在原来两棵树的四个直径端点中产生. 放到这一题, 我们通过DP先求出大树中以每个点为根的子树中的直径, 再取每棵小树中与其他树有连 ...
- iOS github大全 & iOS7的学习blog
iOS github大全 :有600多个iOS各方面的开源库,并分类了 一天天学习iOS7 :每天学习一点iOS7的新特性
- android windowSoftInputMode属性详解(转)
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一]当有焦点产生时,软键盘是隐藏还是显示 [二]是否减少活动 ...
- EasyMvc入门教程-基本控件说明(8)提醒导航
提醒导航顾名思义就是提醒大家注意某些文字了..请看下面的例子: 实现代码如下: @Html.Q().BlockRemind().Text("我可以作为提醒使用") 有的同学会说:这 ...
- Windows脚本\批处理命令学习笔记
1.为新建变量赋值: set 变量=值 2.输出变量的值 echo %变量% 3.关闭批处理中命令行的显示(默认是显示命令行的) 在文件開始处增加:echo off 若需又一次显示:echo on 若 ...
- 将输入流InputStream转换为String
public static String convertStreamToString(InputStream is) { /* * To convert the InputStream to Stri ...