交换网络

  • 前言
    • 交换机的基本工作原理
      • 交换机的转发行为
      • 交换机初始状态
      • 学习MAC地址
      • 转发数据帧
      • 目标主机回复
    • 交换机的基本配置
      • 配置验证
  • 思考与分析

前言

常见的以太网设备包括Hub、交换机等。交换机工作在数据链路层,它有效地隔离了以太网中的冲突域,极大地提升了以太网的性能。

交换机的基本工作原理

交换机工作在数据链路层,对数据帧进行操作。在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行转发。
接下来我们以小型交换网络为例,讲解交换机的基本工作原理。

交换机的转发行为

交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系。MAC地址表也称为CAM(Content Addressable Memory)表。

如图所示,交换机对帧的转发操作行为一共有三种:泛洪(Flooding),转发(Forwarding),丢弃(Discarding)
1.泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
2.转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
3.丢弃:交换机把从某一端口进来的帧直接丢弃。

交换机的基本工作原理可以概括地描述如下:
1.如果进入交换机的是一个单播帧,则交换机会去MAC地址表中查找这个帧的目的MAC地址。
1)如果查不到这个MAC地址,则交换机执行泛洪操作。
2)如果查到了这个MAC地址,则比较这个MAC地址在MAC地址表中对应的端口是不是这个帧进入交换机的那个端口。如果不是,则交换机执行转发操作。如果是,则交换机执行丢弃操作。
2.如果进入交换机的是一个广播帧,则交换机不会去查MAC地址表,而是直接执行泛洪操作

交换机还具有学习能力。当一个帧进入交换机后,交换机会检查这个帧的源MAC地址,并将该源MAC地址与这个帧进入交换机的那个端口进行映射,然后将这个映射关系存放进MAC地址表。

交换机初始状态

初始状态下,交换机MAC地址表为空。

初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。本例中,SWA为初始状态,在收到主机A发送的数据帧之前,MAC地址表中没有任何表项。

学习MAC地址

交换机将收到的数据帧的源MAC地址和对应接口记录到MAC地址表中。

  • 主机A发送数据给主机C时,一般会首先发送ARP请求来获取主机C的MAC地址,此ARP请求帧中的目的MAC地址是广播地址,源MAC地址是自己的MAC地址。SWA收到该帧后,会将源MAC地址和接收端口的映射关系添加到MAC地址表中。缺省情况下,X7系列交换机学习到的MAC地址表项的老化时间为300秒。如果在老化时间内再次收到主机A发送的数据帧,SWA中保存的主机A的MAC地址和G0/0/1的映射的老化时间会被刷新。此后,如果交换机收到目标MAC地址为00-01-02-03-04-AA的数据帧时,都将通过G0/0/1端口转发。

转发数据帧

当数据帧的目的MAC地址不在MAC表中,或者目的MAC地址为广播地址时,交换机会泛洪该帧。

本例中主机A发送的数据帧的目的MAC地址为广播地址,所以交换机会将此数据帧通过G0/0/2和G0/0/3端口广播到主机B和主机C。

目标主机回复

交换机根据MAC地址表将目标主机的回复信息单播转发给源主机。

  • 主机B和主机C接收到此数据帧后,都会查看该ARP数据帧。但是主机B不会回复该帧,主机C会处理该帧并发送ARP回应,此回复数据帧的目的MAC地址为主机A的MAC地址,源MAC地址为主机C的MAC地址。SWA收到回复数据帧时,会将该帧的源MAC地址和接口的映射关系添加到MAC地址表中。如果此映射关系在MAC地址表已经存在,则会被刷新。然后SWA查询MAC地址表,根据帧的目的MAC地址找到对应的转发端口后,从G0/0/1转发此数据帧。

交换机的基本配置

以华为模拟器eNSP的设备为例

system-view
Enter system view, return user view with Ctrl+Z.
[SWA]interface GigabitEthernet 0/0/1
[SWA-GigabitEthernet0/0/1]undo negotiation auto
[SWA-GigabitEthernet0/0/1]speed 100
[SWA-GigabitEthernet0/0/1]duplex full

  • negotiation auto命令用来设置以太网端口的自协商功能。端口是否应该使能自协商模式,要考虑对接双方设备的端口是否都支持自动协商。如果对端设备的以太网端口不支持自协商模式,则需要在本端端口上先使用undo negotiation auto命令配置为非自协商模式。之后,修改本端端口的速率和双工模式保持与对端一致,确保通信正常。
  • duplex命令用来设置以太网端口的双工模式。GE电口工作速率为1000Mbit/s时,只支持全双工模式,不需要与链路对端的端口共同协商双工模式。
  • speed命令用来设置端口的工作速率。配置端口的速率和双工模式之前需要先配置端口为非自协商模式。

配置验证


  • display interface [ interface-type [ interface-number [.subnumber ] ] ]命令用来查看端口当前运行状态和统计信息。
  • current state表示端口的物理状态,如果为UP,表示端口处于打开状态。
  • Line protocol current state表示端口的链路协议状态,如果为UP,表示端口的链路协议处于正常的启动状态。
  • Speed表示端口的工作速率,SWA的G0/0/1端口工作速率为100Mbit/s。
  • Duplex表示端口的双工模式,SWA的G0/0/1端口双工模式为全双工。

思考与分析

1.当一台主机从交换机的一个端口移动到另外一个端口时,交换机的MAC地址表会发生什么变化?
答:当一台主机从交换机的一个端口移除时,交换机检测到物理链路Down,因此会从MAC地址表中清除对应主机的MAC表项。一旦主机连接到交换机另外一个端口,交换机会检测到新端口对应的物理链路UP。主机发送报文后,交换机就会学习到主机的MAC地址和新端口的映射关系,并且添加到MAC地址表中。

写在最后:学习永无止境!

交换网络基础-交换机的工作原理相关推荐

  1. 网络工程师基础-交换机基本工作原理

    网络中最常见的网络设备莫属于交换机了,因此对于交换技术的学习是在整个计算机网络学习中十分重要的.万丈高楼平地起,一砖一瓦靠根基,要学习交换技术我们首先就要了解交换机是如何工作的,了解了交换机的工作方式 ...

  2. 路由器与交换机的工作原理

    路由器与交换机的工作原理 计算机网络往往由许多种不同类型的网络互连连接而成.如果几个计算机网络只是在物理上连接在一起,它们之间并不能进行通信,那么这种"互连"并没有什么实际意义.因 ...

  3. 交换机开发(一)—— 交换机的工作原理

    一.交换机的工作原理 当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去.交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所 ...

  4. 路由器与交换机的工作原理(转)

    计算机网络往往由许多种不同类型的网络互连连接而成.如果几个计算机网络只是在物理上连接在一起,它们之间并不能进行通信,那么这种"互连"并没有什么实际意义.因此通常在谈到"互 ...

  5. 【转】交换机开发(一)—— 交换机的工作原理

    一.交换机的工作原理 当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去.交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所 ...

  6. 什么是交换机,交换机的工作原理

    什么是交换机,交换机的工作原理 1,什么是交换机 交换机(英文叫switch 简称SW )是一种网络硬件设备,是用一种(光)电信号转发交换数据的设备,可以为接入交换机的任意两个网络节点提供(光)电信号 ...

  7. 交换机的工作原理,以太网及华为交换机的命令指令

    交换机的工作原理及华为交换机的命令 ****一.数据链路层的功能**** 1.1什么是数据链路层: 1.2数据链路层的功能 ****二.以太网的介绍以太网的Mac地址**** 2.1以太网的概念 2. ...

  8. 什么是交换机?交换机的工作原理是什么?

    交换机是一种用于电(光)信号转发的网络设备.它可以为接入交换机的任意两个网络节点提供独享的电信号通路.最常见的交换机是以太网交换机.交换机工作于OSI参考模型的第二层,即数据链路层.交换机拥有一条高带 ...

  9. 08.GPIO基础知识和工作原理

    GPIO基础知识和工作原理 参考资料 1.正点原子开发板资料 <STM32FXX开发指南:库函数版本>-第六章跑马灯实验 2.STM32FxXx官方资料: F429:<STM32F4 ...

最新文章

  1. quartusii开发过程中路径不能出现空格或中文
  2. 【cocos2d-x】Lua中的table函数库
  3. MySQL基础学习过程
  4. linux 内核参数 rss,Linux控制内存的内核参数
  5. 【机器学习基础】机器学习模型什么时候需要做数据标准化?
  6. Nacos配置中心-如何使用Nacos作为配置中心统一管理配置
  7. 查看mysql进程--show processlist
  8. VC++ 查看系统进程,获取进程关联的DLL列表
  9. Kali 里边没有声声音 解决办法 有帮助的话给兄弟点个赞 感激不尽
  10. 西安周边旅游++军事纪实
  11. 基于JAVA高铁在线购票系统计算机毕业设计源码+数据库+lw文档+系统+部署
  12. DLL无法注入的原因查找
  13. JAVASE知识点整理(超万字)
  14. oracle 中此处列不允许,oracle 此地不允许序列
  15. hrm项目-day02
  16. 教你如何快速提取视频中的音频
  17. 随机森林(RFC)实现模型优化与特征提取
  18. 购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。设d为300 000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五人处理。
  19. 手机号码归属地查询 - 一刀工具
  20. kaldi:计算词错率(WER)

热门文章

  1. 1.1、云计算HCIP服务器基础知识
  2. apktools使用
  3. Excel如何批量在空白单元格录入相同内容
  4. 说极路由牛逼的人们,你们用过Tomato DualWAN吗?(一)
  5. React+DvaJS 之 hook 路由权限控制
  6. Windows开发:鼠标操作
  7. 使用document解析xml文件
  8. Gradle transitive = true
  9. 手机python怎么画图_无所不能的python编程是怎么快速画图的呢?5分钟学会!
  10. 安徽工业大学计算机组成原理,安徽工业大学工商学院 计算机组成原理试卷12至13学年A卷...