计算机网络:
实现计算机之间的通信。
一、两两相连
简单的思想,直接使用一根线,如果两两之间连线太多了。
二、HUB
有两个思想:
①转发,1发往4的数据包,通过3,让3帮忙转发
②标示,发包一定要表明身份
早期就是使用HUB,做一个消息的转发,他的转发就是泛洪。
但是HUB有一个问题
,比如HUB上的两台设备,1和2都想向外转发数据包,同时发给HUB,两个信号可能杂糅,HUB并不处理,将消息发给其他,这样两个人的数据包都没法用。
针对上述问题,提出了协议CSMA/CD, 首先进行载波侦听,检测链路上有没有监听数据,如果没有人我在发送自己的数据。
缺陷:广播导致带宽利用率低。链路上只有一个设备发送数据,链路利用率低。
所以集线器只是适合小规模网络工作在物理层。
三、 交换机
SW也是有一个中心的作用,也是可以实现数据转发。
但是HUB并不记录每台设备的标识,只是广播数据。
在交换机中,
①记录MAC和端口的适配关系, 在交换机中维系一张表。
②全双工, 网线里面有八根线,1号主机在发送数据的时候也不影响接受数据。
1号主机2号主机都可以同时向交换机发送数据。
新连接的设备a向交换机发送数据包发送给B,交换机首先记录A的MAC端口的对应关系,对于B的端口,如果交换机找不到就会广播,记录B的MAC和端口。
交换机在链路层,链路层的数据包包含头+数据 ,头中包括源地址,目的地址。
两个交换机可以进行桥接, 会对另一台交换机连接的主机的MAC也进行学习。
四、路由器
两个局域网想互联起来,如果使用交换机,MAC表项太多了,提出了路由器
提出:标识网络, 标识设备。
IP地址标识设备,网络号标识一个网络。
设备发数据包给网关,网关就是路由器的一个端口,路由器查路由表,转发到另一个端口。一跳一跳往下走。
路由表的建立: 有很多,而且不断迭代更新
举例:
0.102想和1.254通信过程:
①0.102通过ARP协议查到0.1的MAC地址
此时源IP:0.102,目的IP:1.254; 源MAC:MAC0.102,目的MAC: MAC0.1
②0.1 到1.52
此时源IP:0.102,目的IP:1.254; 源MAC:MAC0.1,目的MAC: MAC1.52
③1.52到1.254
此时源IP:0.102,目的IP:1.254; 源MAC:MAC1.52,目的MAC: MAC1.254