第九章 广播和本地组播(IGMP和MLD)
距离项目开启已经过去了一段时间,这段时间内自己学习的内容也算挺多的,但是也较容易遗忘,之后应该在空余的时间内多翻翻博客,更加清楚传统计算机网络的运作。
由于51要出去玩,更要好好利用好最近的时间。完成自己的每周规划。
并且考虑到最近身体比较虚弱…,应该更加早睡早起!
加油!
广播和本地组播(IGMP和MLD)
在引言中有下面一些比较重要的概念:
广播和组播为应用程序提供了两种服务
- 数据分组交付至多个目的地 //顾名思义
- 通过客户端请求/发现服务器 //类似于DHCP
一个广播请求会影响在广播范围内所有可以到达的主机,而组播只影响那些可能对该请求有兴趣的主机
注意,在广播的更高开销和简单性以及组播的效率改善和更多的复杂性之间存在一种平衡。
广播
广播是指将报文发送到网络中的所有可能的接收者。很容易的能够理解广播的概念,就像你拿着大喇叭对所有人喊话一样。所以它并不需要ARP请求来确定每个目的地的MAC地址。
一般而言,使用广播的应用程序使用UDP协议,然后调用一组普通的API来发送流量。并且我们在打算发送广播数据报的时候,要加上一些特殊的标志,这样确认后可以防止误操作而产生大量的广播流量,造成网络拥塞。
组播
组播的意思就是向一个组发送流量。
组播状态必须由主机和路由器来保持,定期的进行更新和删除操作,这样就能够很好的维护一个组。那他是如何更新的呢?我们下面的协议会讲到~
主机地址过滤
过滤发生在每个主机的网络接口卡(NIC)上,
NIC指接收目的地址是接口的硬件地址或者广播地址的那些帧,如果涉及到组播帧,情况会更复杂。它往往被分成两类:
- 执行基于组播硬件地址的散列值的过滤 //存在散列冲突
- 侦听组播地址的一张有限表 //超过表所能容纳的更多组播地址时,NIC进入“组播混杂”模式,即所有的流量都会交给主机软件。
组播地址和48位的硬件地址的映射是不唯一的,所以进一步的过滤还是必须的。
这两种类型说到底还是会有一些不必要的数据报被接受,所以还需要设备驱动程序或者高层软件执行检查。
如下图所示:

当NIC接收到帧的时候,它首先会检查是否接收该帧(即检查CRC,MAC地址等),然后交付给设备驱动程序,设备驱动程序查明该帧的类型,例如IP数据包,他就传递到IP层。IP层过滤完成后,便传到TCP或UDP等。然后就查询端口号。其实就是数据报在Internet主机上分解的过程, 如下图:

互联网组管理协议和组播侦听发现协议
两个协议都用于允许组播路由器了解附近主机感兴趣的组,区别在于IPv4使用的是互联网组管理协议(IGMP),而IPV6使用的是组播帧听发现协议(MLD)
如何运作:
组播路由器定期向每个连接的子网发送IGMP(MLD)请求。主机则会响应这个请求,告诉路由器那些组和源是感兴趣的。如果成员资格变动,主机也可以发送主动提供的报告。

第九章 广播和本地组播(IGMP和MLD)的更多相关文章
- 《TCP/IP 详解 卷1:协议》第 9 章:广播和本地组播(IGMP 和 MLD)
我已经懒了,卷一已经是去年年底看完的,但怎么说卷一的坑开了就要填完啊-- 广播和本地组播(IGMP 和 MLD) 引言 有 4 种 IP 地址,单播(unicast).任播(anycast).组播(m ...
- TCP/IP 笔记 - 广播和本地组播
在之前第二章介绍IP寻址的时候有介绍到,IP地址有4种:单播.组播.广播.任播. 单播,客户端与服务器之间点到点连接通信: 组播,在发送者和多个接收者(如某个特定的分组)之间实现点对多点的连接通信: ...
- Java单播、广播、多播(组播)---转
一.通信方式分类 在当前的网络通信中有三种通信模式:单播.广播和多播(组播),其中多播出现时间最晚,同时具备单播和广播的优点. 单播:单台主机与单台主机之间的通信 广播:当台主机与网络中的所有主机通信 ...
- Java单播、广播、多播(组播)
一.通信方式分类 在当前的网络通信中有三种通信模式:单播.广播和多播(组播),其中多播出现时间最晚,同时具备单播和广播的优点. 单播:单台主机与单台主机之间的通信 广播:当台主机与网络中的所有主机通信 ...
- apue第九章之孤儿进程组
1. 为什么会有孤儿进程组的概念,APUE没直接写,但是GNU有规定: 孤儿进程组不可以获得终端,这是为了保证控制进程死掉后他的终端可以安全分配给新session.posix要求向新孤儿进程组中停止状 ...
- 组播和广播的概念,IGMP的用途
1.组播和广播的概念 1) 组播 主机之间的通讯模式,也就是加入了同一个组的主机可以接收到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据. 主机可以向路由器请求加入或退出某个 ...
- MAC地址的介绍(单播、广播、组播、数据收发)
MAC地址组成 网络设备的MAC地址是全球唯一的.MAC地址长度为48比特,通常用十六进制表示.MAC地址包含两部分:前24比特是组织唯一标识符(OUI,OrganizationallyUniqueI ...
- 组播基本概念、IGMP、IGMP监听学习笔记
前言 一直对组播这个概念迷迷糊糊,特别是交换机处理组播的方式,非常想搞懂但是懒癌发作.这几天终于耐心地看了下有关组播的资料,大致了解了一下同一广播域内组播的相关知识.组播占了计算机网络的一大部分,特别 ...
- Android设备一对多录屏直播--(UDP组播连接,Tcp传输)
原文:https://blog.csdn.net/sunmmer123/article/details/82734245 近期需要学习流媒体知识,做一个Android设备相互投屏Demo,因此找到了这 ...
随机推荐
- 第33章 TIM—电容按键检测—零死角玩转STM32-F429系列
第33章 TIM—电容按键检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...
- 第4章 初识STM32—零死角玩转STM32-F429系列
第4章 初识STM32 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资 ...
- caffe怎么把全连接层转成convolutional层
caffe中有把fc层转化为conv层的,其实怎么看参数都是不变的,对alex模型来说,第一个fc层的参数是4096X9216,而conv的维度是4096x256x6x6,因此参数个数是不变的,只是需 ...
- javascript入门笔记7-计时器
计时器 语法: setInterval(代码,交互时间) 参数说明: 代码:要调用的函数或要执行的代码串. 交互时间:周期性执行或调用表达式之间的时间间隔,以毫秒计(1s=1000ms). 例子: & ...
- BZOJ1050: [HAOI2006]旅行comf(并查集 最小生成树)
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4021 Solved: 2257[Submit][Status][Discuss] Descript ...
- turtle画玫瑰花
import turtle turtle.screensize(400, 300, "pink") turtle.setup(1000, 600) turtle.write('作者 ...
- CSS设置背景透明字体不透明
写CSS时给容器设置透明度的时候如果使用background-color: #000000; opacity: 0.5;这时会出现容器里的文字也跟着透明.解决办法是不用十六进制的色值和透明度分开写,使 ...
- vue.js实践应用
对于vue.js,不想多比比,直接搞上源码+图片 <!DOCTYPE html> <html> <head> <meta charset="utf- ...
- JZOJ 3521. 道路覆盖
Description ar把一段凹凸不平的路分成了高度不同的N段,并用H[i]表示第i段高度.现在Tar一共有n种泥土可用,它们都能覆盖给定的连续的k个部分. 对于第i种泥土,它的价格为C[i],可 ...
- python Re库的介绍
re库的贪婪匹配和最小匹配 后面跟着?变为最小匹配