adc00 2019-12-04
使用交换机将各台设备相连接(有线的交换机就是有线连接,无线的就是无线连接),手动分配IP地址(交换机没有现在家用路由器有的DHCP功能,不能自动分配IP地址),填写子网掩码。如果只在内网通讯的话,不需要填写网关和DNS服务器,原因之后会讲。
其实这就完成了,就可以进行内网的通讯了。
但是理论层面其实还没有完。
当连接到局域网的设备第一次想要通过Ip访问局域网下的另外一台设备时,由于是第一次连接,该设备只知道目标设备的IP地址,不知道MAC地址(还记得每台设备上会维护一个ARP表,来做IP地址和MAC地址的映射吧),这时就会发出一个ARP请求,该请求的目标MAC地址是全F的。
交换机收到该请求包后,首先在自己的转发表中记录下该端口是和源MAC地址对应的(这一步学名叫MAC地址学习),然后由于目标MAC地址为全F,所以直接泛洪处理。注意,交换机只处理数据链路层上的内容,对于网络层及以上的内容完全不看
目标设备收到ARP请求后返回数据包,来说明自己就是那个IP地址对应的设备,同时在自己的ARP表中记录源设备的IP地址和MAC地址的映射关系,此时交换机的转发表中又记录了目标设备的MAC地址和对应的端口号。然后交换机依据数据包中的目标MAC地址和自己转发表中刚刚记录的对应关系,将数据包转发给一开始发送数据包的设备的对应端口。这样,一开始发包的那个设备就知道目标设备的MAC地址了。它在自己的ARP表上记录下MAC地址和IP地址的对应关系,之后的通信就可以进行了,交换机也就不需要发送广播包了。