当前位置:网站首页>组播和广播的知识点梳理
组播和广播的知识点梳理
2022-07-06 04:49:00 【拉普拉强】
组播的作用
组播的优点:
- 将数据包交付至多个目的地址
- 客户端向服务器请求,但是无需知道服务器地址,适用于客户端对网络环境知之甚少的场景,一个典型的应用是DHCP
- 减少广播的开销,广播会发送到局域网中所有的主机,沿着协议栈直到传输层发现目的端口上没有进程才会返回ICMP差错报文,这样消耗很大,使用组播代替后,不相关的主机,在网口上就把这个报文丢弃了,减少了后续协议栈的开销
组播的缺点:
- 实现起来比较复杂
任源组播和特定源组播
- 任源组播ASM
任源组播指的是组播的接收方不关注组播的发送方是什么地址,只要发来的,我都接收。
- 特定源组播SSM
接收方对发送方的身份敏感,只有在指定列表中的发送方发出的报文,接收方才接收。现在特定源组播用的比较多
组播地址和MAC地址之间的映射关系
广播地址对应的MAC地址固定是全f,组播地址也有其对应的MAC地址,只是这个地址不固定,和组播地址有关系。
IPv4组播和MAC地址的映射
步骤:
- MAC地址一共48位,分成前24位+1位替换位+后23位
- 前24位固定是01:00:5e
- 后23位取组播地址的后23位
由于组播地址范围是224.0.0.0-239.255.255.255,一共有228个地址,MAC地址只取后23位,因此每25=32个组播IP地址,共享一个组播MAC地址
IPv6组播和MAC地址的映射
步骤:
- MAC地址前16位固定33:33
- MAC地址后32位取IPv6组播地址的后32位
由于IPv6组播地址前16位固定,后112位可以任意,因此有2^80个网络层地址共享一个链路层地址。
查看网口对应的组播组
Linux下通过以下命令查看网口对应的组播组:
[[email protected] ~]# netstat -gn
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 224.0.0.1
enp175s0f0 1 224.0.0.1
virbr1 1 224.0.0.1
224.0.0.1是所有主机的所有网口默认都加入的一个组播地址,这就意味着,目的地址为该地址的报文,会被这个网口接收。可以看到,这个地址可以ping通。
主机对组播地址的过滤
组播报文经过交换机之后,会被泛洪发送VLAN内部的每一台主机。主机进一步对组播报文进行过滤。
首先是网口的过滤:网口默认会接收MAC地址为本网口地址的报文和广播报文,网口接收组播报文的情况则不一样,网口过滤有两种实现方式:
- 在网口上维护主机感兴趣的组播地址对应的HASH值,当报文的目的地址在这些HASH值之中,就把报文交给协议栈,否则就丢弃
- 在网口上维护一张组播表,当报文的目的地址在这个表中,就把报文交给协议栈。
NIC对组播地址过滤之后,报文进入协议栈,协议栈会进一步对报文进行过滤。
边栏推荐
- Can CDC pull the Oracle table in full
- [HBZ sharing] how to locate slow queries in cloud database
- Biscuits (examination version)
- [buuctf.reverse] 159_[watevrCTF 2019]Watshell
- Application of Flody
- yolov5 tensorrt加速
- Selection of slow motion function
- Postman manage test cases
- ue5 小知识 FreezeRendering 查看视锥内渲染的物体
- 饼干(考试版)
猜你喜欢

How to estimate the population with samples? (mean, variance, standard deviation)

你需要知道的 TCP 三次握手

Zynq learning notes (3) - partial reconfiguration

Easyrecovery reliable and toll free data recovery computer software

Weng Kai C language third week 3.1 punch in
![[detailed steps of FreeRTOS shift value for the first time]](/img/73/a469eb2465bb2c5acaa4d018d3edd3.jpg)
[detailed steps of FreeRTOS shift value for the first time]

几种RS485隔离通讯的方案介绍

Postman管理测试用例

ue5 小知识点 开启lumen的设置

The implementation of the maize negotiable digital warehouse receipt standard will speed up the asset digitization process of the industry
随机推荐
[数学建模] 微分方程--捕鱼业的持续发展
Redis has four methods for checking big keys, which are necessary for optimization
Uva1592 Database
Word cover underline
[HBZ share] reasons for slow addition and deletion of ArrayList and fast query
Summary of three log knowledge points of MySQL
Sqlserver query results are not displayed in tabular form. How to modify them
Yolov5 tensorrt acceleration
关于imx8mp的es8316的芯片调试
Pagoda configuration mongodb
[buuctf.reverse] 159_[watevrCTF 2019]Watshell
Nestjs配置文件上传, 配置中间件以及管道的使用
CADD course learning (7) -- Simulation of target and small molecule interaction (flexible docking autodock)
Bubble sort
MIT CMS. 300 session 8 – immersion / immersion
Flody的应用
Microservice resource address
ue5 小知识 FreezeRendering 查看视锥内渲染的物体
View workflow
Luogu deep foundation part 1 Introduction to language Chapter 2 sequential structure programming