引言:对于三层交换机这个名词,大家应该不陌生,但大家是否正真了解它,对于它我有太多的疑问:
* 为什么叫三层?
* 为什么要有三层,二层不够?
* 其工作流程是怎样?
* 为什么同时可以工作在二层模式也可以工作在三层模式下?
* 什么是一次路由多次转发?
* ...
这里面含有着种种的疑问,在这里我也会给出我理解的答案:
- 为什么叫三层? - 工作在网络层(OSI中属于第三层)
- 为什么要有三层,二层不够? - 应该是为了满足大型网络的通信效率,二层交换机承受的主机数毕竟有限,而路由器效率不高
--------------------------我是分割线------------------------
以上都是概念性的,下面来点真功夫,先上图
------------------------------
| 三层交换机 |
| ------- ------- |
| | 网关1 | | 网关2 | |
----1---2-------------3-------
| | |
| | |
| | |
| | |
A B C
1、2、3 - 交换机网口
网关1 - 192.168.2.1
网关2 - 192.168.3.1
主机A - 192.168.2.2
主机B - 192.168.2.3
主机C - 192.168.3.2
-
二层交换机工作流程
- 从一个端口接收数据包,解析源MAC,并更新CAM表
- 解析目的MAC,并从CAM表查找该MAC对应的网口
- 若找到则直接复制数据包到相应网口上
- 若未找到,则广播数据到所有端口,并记录结果到CAM中
-
工作在二层(主机A to 主机B)
- 交换机检测主机A与主机B的IP,发现是在同一个网络下
- 采用二层交换机工作流程与B通信(参考二层交换机工作流程)
-
工作在三层(主机A to 主机C)
- 交换机发现主机A与主机C不在同一个网络下
- 通过路由规则,网关1将数据发给网关2(参看路由器路由过程)
- 网关2将数据发给主机C
--------------------------我是分割线------------------------
从以上可以看成,若主机在同一个网段,则采用二层工作模式,若主机不在同一个网络,则采用三层工作模式