计算机之间的通信基础:
①首先需要得知对方的IP地址,最终是根据MAC物理地址(网卡地址)输送数据到网卡,被网卡接受。
②如果网卡发现数据的目标MAC地址是自己,就会将数据传递给上一层进行处理。
如果网卡发现数据的目标MAC地址不是自己,就会将数据丢弃,不会传递给上一层进行处理。
一、网线直连
注意:相同设备之间使用交叉线,而不是直通线。
二、同轴电缆
同轴电缆连接的计算机处于半双工通信,容易发生冲突,即一台计算机发送消息别的计算机就得等着,并且如果同轴电缆发生故障,所有计算机就瘫痪了。
三、集线器(Hub)
集线器跟同轴电缆一样是半双工通信,容易冲突,并且如果从IP为192.168.1.10计算机ping192.168.1.12计算机,集线器会将ARP包广播给连接当前集线器的所有终端,即11和12计算机,获取12对应的mac地址,当10计算机获取12的mac地址后,会发送ICMP包给12计算机,但是由于集线器没有记忆功能,会将ICMP包发送给11和12计算机,所以不安全。
四、网桥
网桥连接的是同一网段的设备,网桥可以通过自学习得知网桥左右两个接口那侧的MAC地址,从而起到隔绝冲突域的作用。但是只能隔绝网桥左右两边的冲突域,还是不能完全隔绝整个网段的冲突域,所以诞生了交换机。
五、交换机(Switch)
交换机可以说是局域网的最终方案,它是全双工通信,比集线器安全,有自动记忆的功能。
思考一个问题:全球所有设备都用交换机连接会是什么情况?
首先如果用交换机互相连接终端,IP地址不够用。其次,如果有一个设备新连接到交换机上,给交换机上的某个终端设备发送消息,交换机会发送给连接交换机上的所有设备,从而获取目标设备的Mac地址,这样会引起网络风暴,所以连接不同网段的设备,需要使用路由器。
六、路由器(Router)
路由器可以连接两个不同的网段。比如上图路由器连接了192.168.1.0网段和192.168.2.0网段。可以在IP为192.168.1.10主机ping主机IP为192.168.2.10,是可以ping通的;但如果把中间的路由器拿掉,只有交换机相连两个不同网段,是ping不通的。
注:上图192.168.1.1和192.168.2.1是路由器左右两个接口的IP地址,也就是网关地址,就像我们家用的路由器一般使用前需要设置,首先要登录192.168.0.1网址,这个IP地址就是家用路由器的网关地址。
注意:IP为192.168.1.10主机如果在发送数据之前,首先会判断,目标主机的IP是否和当前主机处于同一个网段,即用目标主机的IP按位与上本网段的子网掩码,如果在同一个网段,则会发送ARP包获取对方的mac地址,如果不在同一个网段则会通过路由器进行转发数据。比如下面两台主机就不能相互通信。
PC0主机pingPC1主机,会拿PC1主机的IP地址按位与PC0网段的子网掩码255.255.255.0,得出的网段为192.168.10.0和PC0不在同一个网段,所以不能相互通信。
总结
网线直连、同轴电缆、集线器、网桥以及交换机它们连接的设备必须在同一个网段,并且连接的设备处在同一个广播域。
路由器可以在不同网段之间转发数据,隔绝广播域。