广播、多播和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住. 今天尝试着 ...
随机推荐
- SHELL判断服务是不是正在运行
使用SHELL脚本进行检查服务开启情况 #!/bin/bash #需要首先安装 yum install nmap -y #检查指定端口是否开启 function checkPortStatus() { ...
- HDU 4870 Rating (高斯消元)
题目链接 2014 多校1 Problem J 题意 现在有两个账号,初始$rating$都为$0$,现在每次打分比较低的那个,如果进前$200$那么就涨$50$分,否则跌$100$分. 每一 ...
- Codeforces 791D Bear and Tree Jump(树形DP)
题目链接 Bear and Tree Jumps 考虑树形DP.$c(i, j)$表示$i$最少加上多少后能被$j$整除. 在这里我们要算出所有$c(i, k)$的和. 其中$i$代表每个点对的距离, ...
- JAVA中的编码分析
在实际编程中可以不用关注JVM中使用的是什么编码,而只需要关注自己输出需要采用的编码,JVM会根据你设置的编码正确操作. 1.String采用的是什么编码? 很多厂家根据规范实现了JVM,JVM只说明 ...
- ELK最佳实践
1.ELK最佳实践解析 a.用户通过nginx或haproxy访问ELK日志统计平台,IP地址为keepalived的vip地址; b.nginx将请求转发到kibana; c.kibana到es获取 ...
- servlet源码查看
1,下载源码,点击此处可下载 2,创建web项目 我这里以jdbc这个web项目为例讲解 在javaee libraries中有个javaee.jar包,选中它-->右击-->Proper ...
- ThinkPHP创建应用的一般开发流程及实例
Thinkphp是免费开源的php框架,提供了建站所需要的各种组件,方便用户快速建设部署网站. Thinkphp简介:http://thinkphp.cn/Manual/16 官方完全开发手册:htt ...
- 解决Ubuntu下gedit中文乱码的情况
windows下简体中文多用GBK编码 (或GB2312, GB18030), 而linux下多用UTF-8编码. 因此,一般来说在微软平台编辑的中文txt不能在ubuntu下直接打开查看,除非在保存 ...
- EasyMvc入门教程-基本控件说明(11)菜单导航
基本上,是个网站就会有菜单导航,目前流行的菜单是不是这样样子的? 似乎是bootstrap引领的风格,我们就用EasyMvc实现吧,上代码: @{ var data = new List<Men ...
- Git可视化极简易教程 — Git GUI使用方法
Git可视化极简易教程 — Git GUI使用方法 学习了:http://www.runoob.com/w3cnote/git-gui-window.html