单播、多播、广播、组播、泛播、冲突域、广播域、VLAN概念汇总

1 引言

“多播”可以理解为一个人向多个人(但不是在场的所有人)说话,这样能够提高通话的效率。如果你要通知特定的某些人同一件事情,但是又不想让其他人知道,使用电话一个一个地通知就非常麻烦,而使用日常生活的大喇叭进行广播通知,就达不到只通知个别人的目的了,此时使用“多播” 来实现就会非常方便快捷,但是现实生活中多播设备非常少。多播包括组播和广播,组播是多播的一种表现形式。

网络中假设X代表所有的机器,Y代表X中的一部分机器,Z代表一组机器,1代表一台机器,那么

1:1 那就是单播;
1:Y 那就是多播;
1:X 那就是广播;
1:Z 那就是组播;
Y=X时,多播就是广播;Y=Z多播就是组播;
泛播也叫任意播,是指某组中任意发送方对应拓朴结构中几个最接近的接收方之间的通信。
而组播是指单个发送方对应一组选定接收方的一种通信。

2 组播

1、组播的特点
1)什么是组播?
组播是一种数据包传输方式,当有多台主机同时成为一个数据包的接受者时,出于对带宽和CPU负担的考虑,组播成为了一种最佳选择。
2)组播如何进行工作?
组播通过把224.0.0.0-239.255.255.255的D类地址作为目的地址,有一台源主机发出目的地址是以上范围组播地址的报文,在网络中,如果有其他主机对于这个组的报文有兴趣的,可以申请加入这个组,并可以接受这个组,而其他不是这个组的成员是无法接受到这个组的报文的。
3)组播和单播的区别?
为了让网络中的多个主机可以同时接受到相同的报文,如果采用单播的方式,那么源主机必须不停的产生多个相同的报文来进行发送,对于一些对时延很敏感的数据,在源主机要产生多个相同的数据报文后,在产生第二个数据报文,这通常是无法容忍的。而且对于一台主机来说,同时不停的产生一个报文来说也是一个很大的负担。如果采用组播的方式,源主机可以只需要发送一个报文就可以到达每个需要接受的主机上,这中间还要取决于路由器对组员和组关系的维护和选择。
4)组播和广播的区别?
如同上个例子,当有多台主机想要接收相同的报文,广播采用的方式是把报文传送到局域网内每个主机上,不管这个主机是否对报文感兴趣。这样做就会造成了带宽的浪费和主机的资源浪费。而组播有一套对组员和组之间关系维护的机制,可以明确的知道在某个子网中,是否有主机对这类组播报文感兴趣,如果没有就不会把报文进行转发,并会通知上游路由器不要再转发这类报文到下游路由器上。
2、组播的缺点:
1) 与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。
2) 现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。

2 单播

1、单播的定义
主机之间“一对一”的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作。但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部都是采用IP单播协议。网络中的路由器和交换机根据其目标地址选择传输路径,将 IP单播数据传送到其指定的目的地。
2、单播的优点:
1)服务器及时响应客户机的请求
2)服务器针对每个客户不通的请求发送不通的数据,容易实现个性化服务。
3、单播的缺点:
1)服务器针对每个客户机发送数据流,服务器流量=客户机数量×客户机流量;在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负。
2)现有的网络带宽是金字塔结构,城际省际主干带宽仅仅相当于其所有用户带宽之和的5%。如果全部使用单播协议,将造成网络主干不堪重负。现在的P2P应用就已经使主干经常阻塞,只要有5%的客户在全速使用网络,其他人就不要玩了。而将主干扩展20倍几乎是不可能。

3 广播

1、广播的定义
主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。
2、广播的优点:
1)网络设备简单,维护简单,布网成本低廉
2)由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。
3、广播的缺点:
1)无法针对每个客户的要求和时间及时提供个性化服务。
2)网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。例如有线电视的客户端的线路支持100个频道(如果采用数字压缩技术,理论上可以提供 500个频道),即使服务商有更大的财力配置更多的发送设备、改成光纤主干,也无法超过此极限。也就是说无法向众多客户提供更多样化、更加个性化的服务。
3) 广播禁止在Internet宽带网上传输。


4 多播

1、多播的定义
“多播”可以理解为一个人向多个人(但不是在场的所有人)说话,这样能够提高通话的效率。如果你要通知特定的某些人同一件事情,但是又不想让其他人知道,使用电话一个一个地通知就非常麻烦,而使用日常生活的大喇叭进行广播通知,就达不到只通知个别人的目的了,此时使用“多播” 来实现就会非常方便快捷,但是现实生活中多播设备非常少。多播包括组播和广播,组播是多播的一种表现形式。

2、多播的特点
广播和多播仅应用于UDP,它们对需将报文同时传往多个接收者的应用来说十分重要。TCP是一个面向连接的协议,它意味着分别运行于两主机(由IP地址确定)内的两进程(由端口号确定)间存在一条连接。
考虑包含多个主机的共享信道网络如以太网。每个以太网帧包含源主机和目的主机的以太网地址(48 bit)。通常每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,因而称为单播(unicast)。在这种方式下,任意两个主机的通信不会干扰网内其他主机(可能引起争夺共享信道的情况除外)。然而,有时一个主机要向网上的所有其他主机发送帧,这就是广播。通过ARP和RARP可以看到这一过程。多播(multicast) 处于单播和广播之间:帧仅传送给属于多播组的多个主机。


5 泛洪

泛洪的定义

在CISCO设备上有个概念叫泛洪。如果有学设备的,我这里顺便对比讲下,比如现在有个信息包进来,从我们交换机某个端口进来,他要寻质如果事先没有地址那么他就会给每个端口发信息,包括自己,来求证是否是对方。所以交换机不能屏蔽广播而路由器可以,因为他有记忆功能,可以形成路由表。而设备上的泛洪呢他的意思是给所有端口发除了自己,大家对记下这两个概念.而我们IP地址上的广播地址的概念:IP地址是由2进制组成,当全为一时,表示广播地址。广播地址主机都为1.主机全为0的话是网段表示一个网。

网络泛洪

从定义上说,攻击者对网络资源发送过量数据时就发生了洪水攻击,这个网络资源可以是router,switch,host,application等。常见的洪水攻击包含MAC泛洪,网络泛洪,TCP SYN泛洪和应用程序泛洪。接下来简单的分别解释一下以上这些:
1)MAC泛洪发生在OSI第二层,攻击者进入LAN内,将假冒源MAC地址和目的MAC地址将数据帧发送到以太网上导致交换机的内容可寻址存储器(CAM)满掉,然后交换机失去转发功能,导致攻击者可以像在共享式以太网上对某些帧进行嗅探,这种攻击可以通过端口安全技术方式,比如端口和MAC地址绑定。
2)网络泛洪包括Smurf和DDos:
smurf发生在OSI第三层,就是假冒ICMP广播ping,如果路由器没有关闭定向广播,那攻击者就可以在某个网络内对其它网络发送定向广播 ping,那个网络中的主机越是多,造成的结果越是严重,因为每个主机默认都会响应这个ping,导致链路流量过大而拒绝服务,所以属于增幅泛洪攻击,当然也可以对本网络发送广播ping。
3)DDos发生在OSI第三、四层,攻击侵入许多因特网上的系统,将DDos控制软件安装进去,然后这些系统再去感染其它系统,通过这些代理,攻击者将攻击指令发送给DDos控制软件,然后这个系统就去控制下面的代理系统去对某个IP地址发送大量假冒的网络流量,然后受攻击者的网络将被这些假的流量所占据就无法为他们的正常用户提供服务了。
4)TCP SYN泛洪发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手。攻击者发送TCP SYN,SYN是TCP三次握手中的第一个数据包,而当服务器返回ACK后,改攻击者就不对之进行再确认,那这个TCP连接就处于挂起状态,也就是所谓的半连接状态,服务器收不到再确认的话,还会重复发送ACK给攻击者。这样更加会浪费服务器的资源。攻击者就对服务器发送非常大量的这种TCP连接,由于每一个都没法完成三次握手,所以在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供服务了。
5)最后应用程序泛洪发生在OSI第七层,目的是消耗应用程序或系统资源,比较常见的应用程序泛洪是什么呢?没错,就是垃圾邮件,但一般无法产生严重的结果。其它类型的应用程序泛洪可能是在服务器上持续运行高CPU消耗的程序或者用持续不断的认证请求对服务器进行泛洪攻击,意思就是当TCP连接完成后,在服务器提示输入密码的时候停止响应。

6 冲突域

冲突域(物理分段)

连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合或以太网上竞争同一带宽的节点集合。也就是说,用Hub或者Repeater连接的所有节点可以被认为是在同一个冲突域内,它不会划分冲突域。由于广播域被认为是OSI中的第二层概念,所以象 Hub,交换机等第一,第二层设备连接的节点被认为都是在同一个广播域。

冲突域(Collision Domain)

一组与同一条物理介质相连的设备,其中任何两台设备同时访问该介质都将导致冲突,冲突域中同一时间内只有一台机器能够发送数据。

7 广播域(Broadcast Domain)

网络中一组相互接收广播消息的设备。

第一层设备如集线器,与之连接的所有设备都属于同一个冲突域和同一个广播域;

第二层设备如交换机和网桥,将网络划分成多个网段,每个网段是一个独立的冲突域,但是相连的所有设备是一个广播域,交换机的每个端口就是一个冲突域;
第三层设备如路由器,将网络划分为多个冲突域和广播域。

以太网使用载波侦听多路访问/冲突检测(Carrier Sense Multi-Access/Collision Detection)技术以减少冲突的发生。即,二层广播帧覆盖的范围就是广播域;二层单播帧覆盖的范围就是冲突域。

8 VLAN技术

解决办法:VLAN技术

VLAN(Virtual Local Area Networks)技术把用户划分成多个逻辑的网络(group),组内可以通信,组间不允许通信。二层转发的单播、组播、广播报文只能在组内转发,并且很容易地实现组成员的添加或删除。VLAN技术提供了一种管理手段,控制终端之间的互通。

一个VLAN内的广播数据帧并不会被泛洪到另一个VLAN来,因为他们处于不同的广播域。


如下图,组1和组2的PC无法相互通信。

9 小结

  • 一个VLAN中所有设备都是在同一广播域内,不同的VLAN为不同的广播域;
  • VLAN之间互相隔离,广播不能跨越VLAN传播,因此不同VLAN之间的设备一般无法互访,不同VLAN间需通过三层设备实现相互通信;
  • 一个VLAN一般为一个逻辑子网;
  • VLAN中成员多基于交换机的接口分配,划分VLAN就是对交换机的接口划分;
  • 另外,华为交换机也支持基于IP地址划分VLAN。
  • VLAN工作于OSI参考模型的第二层;
  • VLAN是二层交换机的一个非常根本的工作机制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lua 中编写 C 函数的一些便捷技巧

零、前言 使用 Lua 时,在编写 C/C 函数经常需要对栈进行交互,而这中间更多的操作和数组、字符串相关。 一、数组操作的便捷方式 从之前分享的 “Lua 数据类型——表” 文章中知道 Lua 中的 “数组” 是以表的形式存在,只是他的 key 值是有…

Z-IETD-FMK;caspase-8 抑制剂 210344-98-2星戈瑞

Z-IETD-FMK是一种caspase-8抑制剂。它通过与caspase-8的活性位点结合,阻断其切割关键蛋白质,进而抑制细胞凋亡过程。该抑制剂具有高选择性、高活性、低毒性等优点。 Z-IETD-FMK通过与caspase-8的半胱氨酸残基形成共价键,从而抑制caspase-8的活…

谷歌发布Gemini 1.0,开启生成式AI模型新时代!

🎥 屿小夏 : 个人主页 🔥个人专栏 : IT杂谈 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. Gemini的发布前期1.1 Gemini的准备1.2 DeepMnid 二. Gemini的三大杀手锏2.1 多模态能力2…

AWS RDS慢日志文件另存到ES并且每天发送邮件统计慢日志

1.背景:需要对aws rds慢日志文件归档到es,让开发能够随时查看。 2.需求:并且每天把最新的慢日志,过滤最慢的5条sql 发送给各个产品线的开发负责人。 3.准备: aws ak/sk ,如果rds 在不同区域需要认证不同的…

Apache RocketMQ 5.0 腾讯云落地实践

Apache RocketMQ 发展历程回顾 RocketMQ 最早诞生于淘宝的在线电商交易场景,经过了历年双十一大促流量洪峰的打磨,2016年捐献给 Apache 社区,成为 Apache 社区的顶级项目,并在国内外电商,金融,互联网等各行…

GBASE南大通用 ADO.NET 中的事务

GBASE南大通用 ADO.NET 中支持事务,可以使用GBASE南大通用Connection 对象的BeginTransaction 函数开始一个事务,并默认使用 ReadCommitted 模式初始化。 事务中可以对单个表执行多个操作,或者对多个表执行多个操作,在事务未提交…

用vue3封装自用的echarts组件

封装的组件 目录 封装的组件在项目中使用 BaseChart.vue <script setup>import {ref,onMounted,onBeforeUnmount,watch,markRaw} from vue;import {debounce} from "/utils"; //节流函数 import * as echarts from "echarts";const emit defineEmit…

TSINGSEE青犀边缘AI计算基于车辆结构化数据的车辆监控方案

随着人工智能技术的不断发展&#xff0c;边缘AI技术逐渐成为智能交通领域的研究热点。其中&#xff0c;基于边缘AI的车辆结构化数据技术与车辆监控系统是实现智能交通系统的重要手段之一。为了满足市场需求&#xff0c;TSINGSEE青犀边缘AI智能分析网关/视频智能分析平台推出了一…

windows安装库报错

报错信息 ERROR: Command errored out with exit status 1: ‘D:\test\venv\Scripts\python.exe’ -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] ‘"’"‘C:\Users\aaa\AppData\Local\Temp\pip-install-j oni55ju\xxx_350c8d1094f749eb97d8f049…

《代码随想录》--二叉树(一)

《代码随想录》--二叉树 第一部分 1、二叉树的递归遍历2、二叉树的迭代遍历3、统一风格的迭代遍历代码4、二叉树的层序遍历226.翻转二叉树 1、二叉树的递归遍历 前序遍历 中序遍历 后序遍历 代码 前序遍历 class Solution {public List<Integer> preorderTraversal(T…

阿里云国际版CDN查询实时带宽步骤

调用DescribeDomainRealTimeBpsData查询加速域名的带宽数据。 接口说明 单用户调用频率&#xff1a;100次/秒。如果您不指定StartTime和EndTime&#xff0c;该接口默认返回过去1小时的数据&#xff1b;指定StartTime和EndTime&#xff0c;该接口返回指定时间段的数据。 返回…

opencv 入门二(播放视频)

环境配置如下&#xff1a; opencv 入门一&#xff08;显示一张图片&#xff09;-CSDN博客 用OpenCV播放视频就像显示图像一样简单。唯一不同的是&#xff0c;我们需要某种循环来读取视频序列中的每一帧。 源码如下&#xff1a; #include <iostream> #include <str…

实时时钟(RTC)的选择与设计:内置晶体与外置晶体的优缺点对比

实时时钟(RTC)作为一种具备独立计时和事件记录功能的设备&#xff0c;现已广泛应用于许多电子产品中&#xff0c;并对时钟的精度要求越来越高。根据封装尺寸、接口方式、附加功能、时钟精度和待机功耗等因素进行分类&#xff0c;市场上有各种种类的RTC产品可供选择。 而在设计…

epi 外延炉 简介

因半导体制造工艺复杂&#xff0c;各个环节需要的设备也不同&#xff0c;从流程工序分类来看&#xff0c;半导体设备主要可分为晶圆制造设备&#xff08;前道工序&#xff09;、封装测试设备&#xff08;后道工序&#xff09;等。 本文介绍影响着晶体管性能和可靠性的外延炉。 …

C#调用阿里云接口实现动态域名解析,支持IPv6(Windows系统下载可用)

电信宽带一般能申请到公网IP&#xff0c;但是是动态的&#xff0c;基本上每天都要变&#xff0c;所以想到做一个定时任务&#xff0c;随系统启动&#xff0c;网上看了不少博文很多都支持IPv4&#xff0c;自己动手写了一个。 &#xff08;私信可全程指导&#xff09; 部署步骤…

衡量芯片运算能力的指标

MACCs MACCs&#xff08;Multiply-accumulate operations&#xff09;表示乘加运算&#xff1a;b乘c加a为一次MACC指令&#xff0c;两次OP。 乘加运算是模型运算里的基本单元&#xff0c;矩阵的运算基本都是乘加。 TOPS TOPS&#xff08;Tera Operation Per Second&#xf…

QT isEnable、isSelected、setEnabled 、 setClickable

isEnable&#xff1a;是否启用部件的键盘和鼠标事件 isSelected&#xff1a;判断某个元素是否被选中 setEnabled 和setClickable参考&#xff1a; qt -- setEnabled() 、 setClickable()_qt setenabled-CSDN博客 void SwitchButton::mousePressEvent(QMouseEvent *event) {…

Vue 使用 js-audio-recorder 实现录制、播放、下载音频

Vue 使用 js-audio-recorder 实现录制、播放、下载 PCM 数据 Vue 使用 js-audio-recorder 实现录制、播放、下载 PCM 数据js-audio-recorder 简介Vue 项目创建下载相关依赖主界面设计设置路由组件及页面设计项目启动源码下载 Vue 使用 js-audio-recorder 实现录制、播放、下载 …

FPGA时序分析与时序约束(二)——时钟约束

目录 一、时序约束的步骤 二、时序网表和路径 2.1 时序网表 2.2 时序路径 三、时序约束的方式 三、时钟约束 3.1 主时钟约束 3.2 虚拟时钟约束 3.3 衍生时钟约束 3.4 时钟组约束 3.5 时钟特性约束 3.6 时钟延时约束 一、时序约束的步骤 上一章了解了时序分析和约束…

IDEA shorten command line介绍和JAR manifest 导致mybatis找不到接口类处理

如果类路径太长&#xff0c;或者有许多VM参数&#xff0c;程序就无法启动。原因是大多数操作系统都有命令行长度限制。在这种情况下&#xff0c;IntelliJIDEA将试图缩短类路径。最好选中 classpath file模式。 shorten command line 选项提供三种选项缩短类路径。 none&#x…