广播、多播和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住. 今天尝试着 ...
随机推荐
- ConstraintLayout 约束布局
约束布局ConstraintLayout 这种布局方式出现已经有一段时间了,刚出现的时候一直以为这种布局只是针对拖拽使用的布局,最近在新项目里看到了这种布局,又重新学习了这种布局,才发现以前真的是图样 ...
- python-urllib/urllib2模块
urllib与urllib2: urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL.这意味着,你不可以伪装你的User Agent字符串等. ...
- (6)centos安装和解压
一.rpm包安装方式步骤:1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录:2.打开一个终端,su -成root用户:3.cd soft.version.rpm所在的目录 ...
- codevs——1154 能量项链(区间DP)
2006年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 在Mars星球上,每个Mars人 ...
- [JLOI2015]有意义的字符串
4002: [JLOI2015]有意义的字符串 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1000 Solved: 436[Submit][St ...
- Apollo 分布式配置中心
1. 介绍 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置 ...
- Akka之Circuit Breaker
这周在项目中遇到了一个错误,就是Circuit Breaker time out.以前没有接触过,因此学习了下akka的断路器. 一.为什么使用Circuit Breaker 断路器是为了防止分布式系 ...
- SQL Server Debugging with WinDbg – an Introduction
Klaus Aschenbrenner Klaus Aschenbrenner provides independent SQL Server Consulting Services across E ...
- Storyboards Tutorial 04
设计好后运行发现没有任何变化,是空白的.这是因为你的tableview相关的delegate方法还在.所以首先要屏蔽或者删除在PlayerDetailsViewController.m 如下的操作 # ...
- 评分条RatingBar Android
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...