交换机与路由器

2019/07/25
今天在重新学习openstack网络部分的内容的时候,又对交换机的内容产生了疑惑。
其实本质上也没什么内容,但是联想到我们实验室的网络拓扑,就很疑惑。


交换机是一个工作在二层的设备,它本身维护了一个端口和mac的关系表,这样每次只需要进行这个过程就可以了。
路由器是工作在三层的设备,它维护的主要是相应的每个数据包来了之后,根据它的出口IP然后相应的转发。
但是这里问题来了:

问题1. 我们实验室进行上网,设置的网关都是学校的,那必然网关是不在实验室的,而且我们的上层交换机级联的,也就是说,我实际上的网关是不在我这同一级的交换机的,大致上的拓扑呢,应该就是下图这样。


交换机与路由器
两层级联

这里的拓扑还算简单,我把两台主机的IP设置的是同一个网段内,然后主机A ping了主机B,当然ping是肯定能ping通的,但是我看了数据包里面的内容,icmp数据包的目的mac地址,就是主机B的mac地址。
因为我没有看到相应的ARP包,虽然感觉应该是一开始的时候arp就弄到了,重新设置了一下,重新进行了这个过程,就可以看到arp包的发送了。


交换机与路由器
交互完全过程

这个过程就基本上让我明白了,也就是说,先是arp进行广播,然后一直往上,可能直到那个节点为止。

问题2 交换机是不是可以一个端口绑定多个mac,因为在我们实验室的拓扑中,有多个子网,也不知道这些子网是怎么设置的,但是出口的端口只有一个,所以应该是可以对应多个的, 但多少个估计应该是有一定的限制把,通过packettrace实验,发现是可以的。


交换机与路由器
多个mac绑定一个端口

实际上的意义就是多个mac绑定了一个端口。