简单理解如下:
1.一台机器和一台机器通信这是单播。
2.一台机器发出的数据包能被多台机器收到这就叫组播。
一个机器发送,多台机器接收,但是又不同于广播,
发送端的IP设置在一个范围内都算组播,这个范围是224.0.0.0~239.255.255.255
3.一台机器发出的数据包能被一个网段的机器收到这叫广播
单播(unicast)
单播是说,对特定的主机进行数据传送。
如给一个主机发送IP数据包。
数据链路层会给出网卡的MAC地址(除了FF-FF-FF-FF-FF-FF这个地址之外的MAC地址)
1.具有路由功能的主机可以将单播数据定向转发。
2.目的主机的网络接口则可以过滤掉和自己MAC地址不一致的数据。
广播(broadcast)
广播是主机针对某一个网络上的所有主机发送数据包。
这个网络可能是网络,可能是子网,还可能是所有的子网。
如果是网络,例如A类网址的广播就是 netid.255.255.255,
如果是子网,则是netid.netid.subnetid.255;
如果是所有的子网(B类IP)则是则是 netid.netid.255.255。
广播所用的MAC地址FF-FF-FF-FF-FF-FF。
网络内所有的主机都会收到这个广播数据,
网卡只要把 MAC地址为FF-FF-FF-FF-FF-FF的数据交给内核就可以了。
一般说来ARP,或者路由协议RIP应该是以广播的形式播发的。
多播(multicast)
多播又叫组播
可以说广播是多播的特例,多播就是给一组特定的主机(多播组)发送数据,
这样,数据的播发范围会小一些(实际上播发的范围一点也没有变小),
多播的MAC地址是最高字节的低位为一,例 如01-00-00-00-00-00。
多播组的地址是D类IP(D类IP多用于组播(多播))
规定是224.0.0.0-239.255.255.255。
然多播比较特殊,但是究其原理,多播的数据还是要通过数据链路层进行MAC地址绑定然后进行发送。
所以一个以太网卡在绑定了一个多播IP地址之后,必 定还要绑定一个多播的MAC地址,
才能使得其可以像单播那样工作。这个多播的IP和多播MAC地址有一个对应的算法,这个对应不是一一对应的,
主机还是要对多播数据进行过滤。
广播和多播的性质一样,路由器会把数据放到局域网里面,
然后网卡对数据进行过滤,只拿到自己需要的数据,比如自己感兴趣的多 播数据,
自己感兴趣的组播数据。当一个主机运行了一个处理某一个多播IP的进程的时候,
这个进程会给网卡绑定一个虚拟的多播mac地址,并做出来一个多播 ip。
这样,网卡就会让带有这个多播mac地址的数据进来,从而实现通信,
而那些没有监听这些数据的主机就会把这些数据过滤掉
组播
为了减少在广播中涉及的不必要的开销,
可以只向特定的一部分接收方(可以是域内也可以是域间)发送流量,
这被称为组播。
组播状态(multicast state)(信息)必须由主机和路由器来保持,
以搞清楚哪些接收方对哪类流量感兴趣。
这个信息作为主机和路由器中的软状态来维持,
这意味着它必须定期更新(当这种情况发生时,
组播流量的交付要目停止要目恢复为广播)。
如果正确地使用组播,
只有那些在通信中参与或感兴趣的主机需要处理相关的分组,
流量只会被承载于它将被使用的链路上,
并且只有任意组播数据报的一个副本被承载于这样的链路上。
登录、找回密码、找回密码实战项目_android 找回密码页面
WPF: (Windows Presentation Foundation)概念: 是美国微软公司推出.NET Framework 3.0的组成部分之一,它是一套基于XML、.NET Framework、向量绘图(vector graphic)技术的展示层(presentation layer)开发框架 UI框架描述: 微软视其为下一代用户界面(user interface)技术,将广泛被用于下一代的Windows平台 (Windows Vista)的界面开发。其原来代号为“Aval_wpf是做什么的
本节书摘来自异步社区《51单片机应用开发范例大全(第3版)》一书中的第1章,第1.2节,作者 张杰,宋戈,黄鹤松,员玉良,更多章节内容可以访问云栖社区“异步社区”公众号查看。1.2 Keil Vision2MCS-51单片机的开发除了需要硬件的支持以外,同样离不开软件。CPU真正可执行的是机器码,用汇编语言或C等高级语言编写的源程序必须转换为机器码才...
毕业后去过深圳见识世面,结婚生子返回故乡,初从事程序猿,功力不够,偶然机会步入软件测试,在此领域挣扎多年,积累少许心得体会。借此博客的机会,记录工作中的点滴心得,提升、进步转载于:https://www.cnblogs.com/titan5750/p/6734761.html...
这个是报错图片:大概意思是npm WARN react html table to [email protected]需要react@^15.x.x的对等项,但未安装任何对等项。您必须自己安装对等依赖项。npm WARN可选跳过可选依赖项:[email protected](节点模块\fsevents):npm WARN notsup跳过可选依赖项:[email protected]不支持的平台:需要{...
Visual Studio 2019实现c51上位机控制数码管显示数字初学者对上位机的初步尝试新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入初学者对上位机的初步尝试你好! 这是你第一次使用 Markdown编辑器 所展_c51单片机上位机
#include #includeusing namespace std;int main(){ int n,m,i,j,s,r,max,temp;cin>>n;getchar();while(n--){ int stable[200]={0}; max=0; cin>>m; for(i=1;i {
一、对象操作:ObjectInputStream构造方法:继承关系:继承于:OutputStream主要方法:Object readObject() 读取一个对象。 序列化操作的特有方法ObjectOutputStream构造方法:ObjectOutputStream(OutputStream out) 传入的是节点流的实例继承关系:继承于 InputStr..._对象输入流的构造方法是___________________________,从对象输入流中读取对象
mui展示版第一次使用mui框架的时候,总觉得很多ui样式虽然在官网上有介绍但是用法却不够详尽,后来才找到这个展示版的框架,参考这个效率真的提高了很多。废话不多说,上代码了哦!https://pan.baidu.com/s/1XsateuWCCOKfNvxClVBiXQ提取码:5fy2下方是这个框架的一些演示图下面是这个框架的目录结构..._mui在线演示
1.错误提示2.修改my.ini搜索mysqld,添加skip-grant-tables,这样mysql可以免密登录。3.关闭服务cmd中关闭MySQL服务net stop mysql 4.cmd登录,重置密码mysql -uroot mysqlUPDATE user SET password=PASSWORD("root") WHERE user='root';###...
高级软件开发过程重点知识梳理1. 绪论软件过程定义:从软件需求定义开始到软件废弃为止,跨越整个生命周期内的系统开发、运行、维护等全部活动及其相关项的总和。软件发展三阶段:程序设计、软件工程、软件过程软件过程能力评估标准和改进方案:CMM, ISO, 6 西格玛生命周期模型:瀑布模型、原型模型、螺旋模型、喷泉模型软件过程与软件工程的关系:包含关系软件过程模式的意义:四要素快速把...
Pycharm时一个非常好用的IDE,但是一开始的时候甚至会因为.py文件不能运行而束手无策。。。 这里需要说明一下Pycharm的作用,Pycharm并不是一个像matlab那样什么都自己提供的软件,它更像一个非常棒的搭桥软件:将Python和.py文件连接在一起。所以当你发现.py文件不能运行时,多半是因为.py文件的路径没有添加。 所以你需要将.py文件的路径添加了,一种是手动的方法: ..._pycharm如何运行py文件