当前位置:网站首页>组播和广播的知识点梳理
组播和广播的知识点梳理
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对组播地址过滤之后,报文进入协议栈,协议栈会进一步对报文进行过滤。
边栏推荐
猜你喜欢
Codeforces Round #804 (Div. 2)
Weng Kai C language third week 3.1 punch in
Ue5 small knowledge points to enable the setting of lumen
What are the advantages of the industry private network over the public network? What specific requirements can be met?
[mathematical modeling] differential equation -- sustainable development of fishing industry
Digital children < daily question> (Digital DP)
Flink kakfa data read and write to Hudi
11. Intranet penetration and automatic refresh
程序员在互联网行业的地位 | 每日趣闻
Yolov5 tensorrt acceleration
随机推荐
Redis - redis in action - redis actual combat - actual combat Chapter 1 - SMS login function based on redis - redis + token shared session application - with code
Case of Jiecode empowerment: professional training, technical support, and multiple measures to promote graduates to build smart campus completion system
Chip debugging of es8316 of imx8mp
How to estimate the population with samples? (mean, variance, standard deviation)
Word cover underline
Sqlserver query results are not displayed in tabular form. How to modify them
Redis 排查大 key 的4種方法,優化必備
2021robocom robot developer competition (Preliminary)
A blog to achieve embedded entry
Leetcode 186 Flip the word II in the string (2022.07.05)
acwing周赛58
Excellent PM must experience these three levels of transformation!
Postman关联
Request (request object) and response (response object)
Postman pre script - global variables and environment variables
Postman测试报告
Tengine kernel parameters
Postman前置脚本-全局变量和环境变量
DMA use of stm32
[Chongqing Guangdong education] Suzhou University English film and Television Appreciation reference materials