【网络】交换机的工作原理

起序:交换机是二层设备,只看帧头帧尾,主要是检查帧头,不会解封装 MAC 帧,也不看帧头中的类型,只看 源 MAC 地址目 MAC 地址
文章文字篇幅略长,请读者耐心读完。

一、网络拓扑图

拓扑图中的 主机名IP 地址MAC 地址 都是假设的,为了更直观,表格展示:

主机名 IP 地址 MAC 地址
PC1 192.168.1.1 AA
PC2 192.168.1.2 BB
PC3 192.168.1.3 CC
PC4 192.168.1.4 DD

【网络】交换机的工作原理

二、PC1 -> PC4(请求)

描述交换机的 工作原理 ,假设两个交换中的 MAC 地址表 都是空的,以上面网络拓扑图为案例。

下面图片显示的就是 PC1 发送HTTP请求给 PC4 在 MAC 层的 MAC 帧 格式,为了清晰了解 MAC 帧 格式,图片有对应关系。点赞谢谢。

【网络】交换机的工作原理

  • 主机 PC1MAC 帧 传入到 交换机 sw1 中,第一件事就是将 帧中的源 MAC 地址(AA) 以及 端口(Fa0/1) 的对应关系存放在自己的 MAC 地址表 中。

此时 交换机 sw1(注:这是 sw1)MAC 地址表 中的内容

Vlan MAC Address Type Ports
1 AA DYNAMIC Fa0/1
  • 交换机 sw1 会根据 帧中的目的 MAC 地址(DD),查询自己的 MAC 地址表 中是否有关于 目的 MAC 地址(DD)接口 的对应关系,从上方可以看出,此时 MAC 地址表中是不存在 目的 MAC 地址(DD) 以及对应 接口 记录的。
  • 如果没有,交换机 sw1 会把 克隆 N 份,向 除传入交换机 的其他所有的接口广播出去。图片中除了接口 Fa0/1,其他两个接口(Fa0/2、Fa0/3)都会传输 交换机 sw1 广播出来的帧。
  • 主机 PC2 收到帧之后,解封装帧时,如果发现帧中的 目的 MAC 地址 不是自己MAC地址,就会把帧丢弃。
  • 交换机 sw2 收到 交换机 sw1 转发出来的 后,第一件事就是将 帧中的源 MAC 地址 以及 端口(Fa0/3) 的对应关系存放在自己的 MAC 地址表 中。

此时 交换机 sw2(注:这是 sw2)MAC 地址表 中的内容

Vlan MAC Address Type Ports
1 AA DYNAMIC Fa0/3
  • 交换机 sw2 会根据 帧中的目的 MAC 地址(DD),查询自己的 MAC 地址表 中是否有关于 目的 MAC 地址(DD)接口 的对应关系,从上方可以看出,此时 MAC 地址表中是不存在 目的 MAC 地址(DD) 以及对应 接口 记录的。

  • 如果没有,交换机 sw2 会把 克隆 N 份,向 除传入交换机 的其他所有的接口广播出去。图片中除了接口 Fa0/3,其他两个接口(Fa0/1、Fa0/2)都会传输 交换机 sw2 广播出来的帧。

  • 主机 PC3 收到帧之后,解封装帧时,如果发现帧中的 目的 MAC 地址 不是自己MAC地址,就会把帧丢弃。

  • 主机 PC4 收到帧之后,解封装帧时,如果发现帧中的 目的 MAC 地址 是自己 MAC地址,就会一层一层的将 MAC 帧 解开:

  1. MAC 层 解封装 帧头帧尾

  2. IP 层 解封装 IP 数据报

  3. 传输层 解封装 TCP/UDP 报文段

  4. 应用层 解封装 HTTP 请求

注:交换机是学习 帧中的源 MAC 地址 以及 录入端口(本地端口) 的对应关系,学完之后形成 MAC 地址表,所以交换机的 MAC 地址表 中只有别人的 MAC 地址 和自己 本地端口 的对应关系。

三、PC4 -> PC1(响应)

下面图片显示的就是 PC4 发送HTTP响应给 PC1 在 MAC 层的 MAC 帧 格式,为了清晰了解 MAC 帧 格式,图片有对应关系。点赞谢谢。

【网络】交换机的工作原理

  • 主机PC4MAC 帧 传入到 交换机 sw2 中,第一件事就是将 帧中的源 MAC 地址(DD) 以及 端口(Fa0/3) 的对应关系存放在自己的 MAC 地址表 中。

此时 交换机 sw2(注:这里是 sw2)MAC 地址表 中的内容

Vlan MAC Address Type Ports
1 AA DYNAMIC Fa0/3
2 DD DYNAMIC Fa0/2
  • 交换机 sw2 会根据 帧中的目的 MAC 地址(AA),查询自己的 MAC 地址表 中是否有关于 目的 MAC 地址(AA)接口 的对应关系,从上方可以看出,此时 目的 MAC 地址(AA) 对应的 接口Fa0/3 ,所以就不用 广播 了。
  • 交换机 sw1 收到 交换机 sw2 转发出来的 后,第一件事就是将 帧中的源 MAC 地址(DD) 以及 端口(Fa/03) 的对应关系存放在自己的 MAC 地址表 中。

此时 交换机 sw1(注:这里是 sw1)MAC 地址表 中的内容

Vlan MAC Address Type Ports
1 AA DYNAMIC Fa0/1
2 DD DYNAMIC Fa0/3
  • 交换机 sw1 会根据 帧中的目的 MAC 地址(AA),查询自己的 MAC 地址表 中是否有关于 目的 MAC 地址(AA)接口 的对应关系,从上方可以看出,此时 目的 MAC 地址(AA) 对应的 接口Fa0/1 ,所以就不用 广播 了。
  • 主机 PC1 收到帧之后,解封装帧时,如果发现帧中的 目的 MAC 地址 是自己 MAC地址,就会一层一层的将 MAC 帧 解开:
  1. MAC 层 解封装 帧头帧尾

  2. IP 层 解封装 IP 数据报

  3. 传输层 解封装 TCP/UDP 报文段

  4. 应用层 解封装 HTTP 响应

主机 PC1 就会在浏览器上看到解析 HTTP 响应的页面了。

如果对您有帮助,点个赞再走吧。