目录
- 一、以太网协议
- 二、以太网交换机原理
- 三、交换机常见问题思考
- 四、同网段数据通信全过程
- 五、跨网段数据通信全过程
- 六、关键知识
- 七、调试命令
前言:在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。
一、以太网协议
-
以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法。
-
以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。
早期使用集线器(HUB)组网 现在使用交换机组网。
-
冲突域
冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到。 早期以太网(HUB组网): ① 在传统的以太网中,同一介质上的多个节点共享链路带宽,争用链路的使用权,这样就会发生冲突。 ② 同一介质上的节点越多,冲突发生的概率越大。 ③ 解决机制:CSMA/CD(带有冲突检测的载波侦听多路存取):所有节点都共享网络传输信道,节点在发送数据之前,首先检测信道是否空闲,如果信道空闲则发送,否则就等待;在发送出信息后,再对冲突进行检测,当发现冲突时,则取消发送。 交换机以太网(现在用的): ① 隔离冲突域,每个接口相当于1个独立的冲突域。 ② 交换机不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互连的主机(或网络)之间不必再担心流量大小对于数据发送冲突的影响。
-
广播域
广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。
-
以太网帧格式
以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。 以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。 ※ Ethernet_Ⅱ最常用 ※ thernet_II和IEEE 802.3帧前面两个字段都是D.MAC与S.MAC,交换机只会拆到这,所以交换机不知道接收到的帧具体是哪个格式的。
二、以太网交换机原理
-
典型的园区网架构
出口层(通常为路由器):连接公网 核心层(通常是三层交换机):负责用户的数据交换 汇聚层(通常是三层交换机):把用户的数据汇聚起来转发给核心层 接入层(通常是二层交换机):用于把用户接进来(扩展接口的)
-
以太网二层交换机
以太网二层交换机转发数据的端口都是以太网口,并且只能够针对数据的二层头部 (以太网数据帧头) 中的MAC地址进行寻址并转发数据。
-
交换机的工作原理
交换机在接收到任意类型的数据帧时,首先是学习并生成MAC表项(数据帧源MAC地址与入端口对应关系),如果该项已经存在,会更新其老化时间(华为大部分设备默认是300秒),然后将该数据帧从对应的端口转发出去;如果没有该项,则会将其泛洪(转发给所有端口);
-
MAC地址表
每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系。 华为大部分设备默认地址表项老化时间是300秒。
-
交换机的3种数据帧处理行为
交换机对于从传输介质进入某一端口的帧的处理行为一共有3种:泛洪、转发与丢弃。
-
泛洪
如图所示
-
转发
如图所示
-
丢弃
交换机接收到数据帧,发现其目的MAC地址对应的接口,是其来方向的入接口时,会将其丢弃(找错交换机了)。
-
交换机MAC地址学习
交换机只有在报文经过时才能学习并构建相应的mac表项。 交换机接收到报文的第一步是学习mac地址,然后才是其他操作。
第一步:
第二步:
第三步:
第四步:
第五步:
三、交换机常见问题思考
-
交换机接口down后,相应MAC地址表项如何变化?
对应接口的MAC地址表项会消失。
-
同一个Vlan中,PC 从交换机A端口迁移到B端口,交换机MAC地址表项如何变化 ?
会进行变迁到新的接口下。
-
MAC地址表的老化时间是多少?为什么需要老化时间?
华为大部分设备默认是300秒,新报文经过会刷新老化时间重新计算;为了高效的利用设备的资源,不要太多的mac地址条目。
-
如何设置“黑洞”MAC?
交换机系统模式下:mac-address blackhole 5489-98EA-0A02 vlan 1 黑洞mac
-
交换机的一个接口可以学习多个MAC地址吗?
可以的(因为一个接口下可能连接了其他交换机,其他交换机下也有很多设备)
-
交换机的MAC地址表项可以无限增加吗?
不可以,大交换机的较多,中小型交换机的较少。
-
交换机和集线器有和区别?
集线器所有的接口都在一个冲突域下,交换机的每一个接口都是一个独立的冲突域;集线器对于任何报文都是群发,共享链路带宽。 集线器:老设备、只会翻红、共享链路带宽。
-
交换机有NAT功能吗?
大部分交换机都没有nat功能(三层交换机和路由器的功能不是完全一样)
-
所有交换机的端口都可以切换成路由口吗?
不是,部分交换机的端口可以(高端交换机,比如华为-H系列)
四、同网段数据通信全过程
过程如下:
① 主机1不知道主机2的mac地址,arp广播
② 交换机收到arp广播,学习主机1的mac地址,泛洪arp
③ 主机2接收到arp广播,将主机1的mac与ip写入自己的arp缓存表
④ 主机2发送单播给主机1,包含自己的mac与ip
⑤ 主机1收到主机2的mac与ip,将其写入arp缓存表,随后封装icmp报文发送给主机2,开始正式访问
⑥ 交换机收到icmp,不知道目的(主机2),将其泛洪
⑦ 主机2收到icmp后,回包给主机1
⑧ 交换机收到主机2的icmp回包时,将主机2的mac地址与其入端口一起写道mac地址表中,随后查找表,发现自己有主机1的mac地址后,将其从GE0/0/1转发。
⑨ 主机1接收到主机2的回包,访问结束。
五、跨网段数据通信全过程
过程如下:
① 主机1访问主机2的ip地址,发现和自己不是一个网段,将其送给R1(网关路由器)
② 但是主机1不知道R1的mac地址,arp
③ 交换机收到主机1的arp广播,学习主机1mac地址,泛洪arp
④ r1收到arp包,将主机1的mac与ip写入arp表,回给主机1单薄(携带r1的ip与mac)
⑤ 交换机收到r1发送的单播,学习r1的mac,查找mac将其转发给主机1
⑥ 主机1收到后r1回的单播报文,将r1的ip与mac写入arp表,随后封装icmp报文(目的主机2,mac是R1)
⑦ 交换机收到icmp,查找mac地址表,发给R1
⑧ R1收到icmp报文后,查看目的IP地址(是主机2),查找路由表,发出去
⑨ 到达对端
⑩ r1不知道主机2的mac地址,arp,
⑪ 交换机收到arp,学习R1的mac地址生成表项,随后泛洪
⑫ 主机2收到arp,将R1的ip与mac写到自己的arp表,随后发送单播(携带主机2的ip与mac)给R1
交换机收到主机2的单播,学习主机2的mac,发给R1
⑭ R1收到单薄,把主机2的ip与mac写入arp表。随后发送icmp包。
交换机收到icmp,查找mac地址表,转发给主机2
⑯ 主机2收到icmp,回报给主机1,因为跨网段,所以发给网关R1
※ 注意:主机1和主机2的网关是R1路由器的两个不同的接口。
⑰ 交换机收到icmp,查找mac表,发给R1
⑱ R1收到icmp,查找路由表,发给主机1,
⑲ 交换机收到icmp,查找mac表,发给主机1
⑳ 主机1收到回包,访问结束。
六、关键知识
-
交换机基于目标mac 转发数据。
-
交换机的MAC地址表项需要报文触发才可以构建。
-
交换机的MAC地址表是交换机转发数据“地图”。
-
交换机MAC地址表中存放:mac地址和端口映射
-
泛洪:① 未知单播泛洪 ② 广播泛洪
-
交换机根据接收报文的源mac地址来构建自己的MAC地址表项。
七、调试命令
- dis mac-address 查看mac地址表
- dis mac-address summary 查看mac地址表概述
- dis mac-address aging-time 查看mac地址表老化时间
- mac-address aging-time 305 修改mac地址表的老化时间
- mac-address blackhole 5489-98EA-0A02 vlan 1 黑洞mac
- undo mac-address all 清空mac地址表
- dis arp 查看arp
- reset arp all 清空arp