计算机网络TCP/IP协议-从双绞线到TCP
两台计算机要如何通信,我们可以用网线把他们连接起来,这样就可以通信了,当然如果是老式设备,还需要调整下网线的线序。
那么多台计算机要如何通信呢?
计算机之间两两连接起来吗?当然可以,但是这样成本太高,操作也麻烦,于是我们可以把每家每户的线拧在一起,这样也可以实现多台计算机之间相互通信。
而拧在一起这个线团就是集线器。但是集线器的缺点也是明显的,每次发送的消息都会发给所有人,另外多台计算机之间同时发送消息时会造成互相干扰,导致数据紊乱,于是我们需要更好的设备,这个设备就是交换机。
交换机通过内部的MAC地址表,来决定信息流向,接入交换机的设备都必须要有自己的MAC地址。
MAC地址是设备出场时就设定好的,全球唯一的,可以理解为设备的UUID。
我们来看交换机是如何运作的?
假设黑色计算机需要发送消息给橙色计算机,它需要在报文里写上自己的MAC地址,还有橙色的MAC地址,并发给交换机,交换机收到后,发现了黑色计算机的MAC地址,并记录下来,跟接口1绑定,但是此时交换机并不知道橙色MAX地址对应的是哪个接口,于是给所有人都发了一边,这个发给所有人的做法叫做泛洪(Flooding),紫色、绿色计算机收到消息后,发现目标MAC地址跟自己的对不上,于是会丢弃不处理,而橙色计算机的MAC地址能匹配上,于是发送消息回应。
同样的,回应的消息也要写上自己的MAC地址和黑色计算机的MAC地址,回应消息经过交换机后,交换机也会把橙色计算机的MAC地址跟接口4进行绑定,由于之前以简保存了黑色计算机的MAC地址,交换机可以直接知道黑色计算机在哪个接口,于是不再需要泛洪,而是直接投递到接口1,这样就完成了MAC地址发现到通信的过程。之后如果黑色计算机还要发送给橙色计算机,交换机同样不需要泛洪,而是直接投递,这就是交换机的原理。然而MAC地址是跟设备绑定的,假如计算机更换了网卡,MAC地址就变更了,之前一起沟通过的计算机也要跟着更改,这很不方便,我们需要一个更抽象的地址,即IP地址,使用IP地址是如何通信的呢?
假设黑色计算机需要发送消息给绿色计算机,那么它需要在报文上写好自己的IP地址以及绿色计算机的IP地址,因为需要经过交换机,所以MAC地址也要写上,但是此时黑色计