以下内容来源于抖音,作者织点代码,读者根据文章内容以及相应论文添加自己的理解进行注释。
计算机之间怎么通信?
彼此之间用网线连接在一起就可以了
但是这样子太麻烦了,成本太高,操作也麻烦
集线器
于是我们可以把线拧在一起
而拧在一起的这个设备,就是集线器
- 但集线器的缺点也很明显:
- 每次发送的消息都会发送给所有人
- 多台计算机之间同时发送消息也会造成互相干扰,导致数据紊乱
交换机(MAC地址)
交换机通过内部的MAC地址表来决定信息流向,输入交换机的设备都必须要有自己的MAC地址
MAC地址是设备出厂时就设定好的,全球唯一的,可以理解为设备的UUID
假如黑色计算机想发送消息给橙色计算机
需要在报文里写上自己的MAC以及橙色的MAC地址,并发给交换机,交换机收到信息之后,发现了黑色计算机的MAC地址,并记录下来,跟接口1绑定
但是交换机现在不知道橙色MAC地址对应的是哪个接口,于是给所有人都发了一遍,这个做法叫泛洪(Flooding)
紫色和绿色的计算机收到信息之后发现与自己的MAC对不上,于是不会处理,而橙色计算机的MAC地址能匹配上,于是发消息回应,回应的消息也要写上自己的MAC地址和黑色计算机的MAC地址
回应消息经过交换机之后,交换机也会把橙色计算机的MAC地址跟接口4进行绑定