当前位置: 首页 > article >正文

什么是TCP,UDP,MQTT?

以下内容来源于抖音,作者织点代码,读者根据文章内容以及相应论文添加自己的理解进行注释。


计算机之间怎么通信?

彼此之间用网线连接在一起就可以了

但是这样子太麻烦了,成本太高,操作也麻烦

集线器

于是我们可以把线拧在一起

而拧在一起的这个设备,就是集线器

  • 但集线器的缺点也很明显:
  • 每次发送的消息都会发送给所有人
  • 多台计算机之间同时发送消息也会造成互相干扰,导致数据紊乱

交换机(MAC地址)

交换机通过内部的MAC地址表来决定信息流向,输入交换机的设备都必须要有自己的MAC地址

MAC地址是设备出厂时就设定好的,全球唯一的,可以理解为设备的UUID

假如黑色计算机想发送消息给橙色计算机

需要在报文里写上自己的MAC以及橙色的MAC地址,并发给交换机,交换机收到信息之后,发现了黑色计算机的MAC地址,并记录下来,跟接口1绑定

但是交换机现在不知道橙色MAC地址对应的是哪个接口,于是给所有人都发了一遍,这个做法叫泛洪(Flooding)

紫色和绿色的计算机收到信息之后发现与自己的MAC对不上,于是不会处理,而橙色计算机的MAC地址能匹配上,于是发消息回应,回应的消息也要写上自己的MAC地址和黑色计算机的MAC地址

回应消息经过交换机之后,交换机也会把橙色计算机的MAC地址跟接口4进行绑定


http://www.kler.cn/a/597762.html

相关文章:

  • 二叉树的学习
  • Docker容器之网络
  • 数据结构——B树、B+树、哈夫曼树
  • 【QA】Qt中有哪些命令模式的运用?
  • XSS介绍通关XSS-Labs靶场
  • 2.2 求导法则
  • Redis 跳表原理详解
  • 大数据中的数据预处理:脏数据不清,算法徒劳!
  • AI比人脑更强,因为被植入思维模型【19】三脑理论思维模型
  • Unity中MonoBehaviour的生命周期详解
  • 基于SpringBoot+Vue的在线拍卖管理系统+LW示例参考
  • 山东大学数据结构课程设计
  • :ref 和 this.$refs 的区别及 $ 的作用
  • OpenCV HighGUI 模块使用指南(Python 版)
  • C++红黑树实现
  • Python:生成器及三者关系
  • c++之迭代器
  • C之(15)cppcheck使用介绍
  • nano 是一个简单易用的命令行文本编辑器,适合在终端中快速编辑文件。它比 vi 或 vim 更容易上手,特别适合初学者
  • 电阻的阻值识别