交换机认知与原理

交换机认知与原理

Scroll Down
请注意,本文发布日期:  105  天前,最后编辑日期:  61  天前,内容可能已经不具有时效性,请酌情参考。

一、交换机

交换机(switch)是数据链路层设备,交换机所连接的网络是二层网络(即连接同一个交换机的所有PC位于同一个广播域内)当然三层交换机可以实现不同网段之间的互联。在ethernet中,每个连接到网络中的设备都会有一个数据链路层地址(即MAC地址),交换机会先进行MAC地址学习,形成二层转发表(即CAM表),然后根据收到的数据帧中的目的MAC地址和CAM表中的源MAC进行比对,比对成功则转发到相应的端口。

(二层)交换机的主要功能就是MAC地址学习、数据帧过滤和转发

交换机相对于集线器来说,hub是不会理会数据帧中的MAC地址的,直接转发数据,所以需要CSMA/CD来避免数据冲撞,这会导致网络带宽会受到限制。switch需要学习MAC并形成CAM表,根据CAM表进行数据帧转发,数据是不会发生碰撞的(全双工情况下),所以不需要CSMA/CD。switch每个端口的带宽都是独享的,比如100M交换机,那么所有端口独享100M。但是交换机也存在不足:

  • 当网络规模比较大的时候,可能会引起广播风暴(broadcast storm),网络中广播数据帧巨大,交换机处理性能不足而导致网络拥塞或瘫痪。
  • 二层交换机无法满足不同物理网段/VLAN间的通信

针对二层交换机的不足,VLAN、三层交换机、路由器技术可以解决这些问题。

广播风暴是指广播数据充斥网络无法处理,并占用大量带宽,导致业务无法正常运行

二、交换机转发原理&转发方式

1、CAM表

CAM表是交换机的二层转发表,CAM表中存放的是VLAN、src MAC、type、接口等对应关系信息。交换机接收到数据帧后,提取帧头中的dst MAC,并根据CAM表进行转发。CAM表是存放在交换机的RAM中,每项会在CAM中存放5分钟,如果某项被匹配中一次,时间就会重置。

sw1.png

2、转发原理

通过实例来探索交换机学习MAC和转发原理:A发送数据给C

sw2.png

交换机拿到数据帧后的处理流程:

1st.查找CAM表:根据以太网帧中的dst MAC,比对CAM表中的MAC

  • 如果dst MAC是广播帧,学习src MAC,然后泛洪;
  • 如果存在,则查询对应的接口,学习src MAC并转发;
  • 如果是未知单播帧,则执行2nd

2nd.学习src MAC并泛洪转发:学习提取以太网帧中的src MAC,然后将接收该帧的交换机物理接口和该帧的src MAC的对应关系,存到CAM中;然后将该帧泛洪;

广播帧是指帧内的dst MAC为ffff:ffff:ffff

单播帧是指帧内的dst MAC不为ffff:ffff:ffff

泛洪是指将dst MAC为广播地址的帧发送到除接收接口外的其他接口(同属于一个广播域内)或者将数据帧发送给与接收帧的入站端口所属相同VLAN的所有端口。触发泛洪规则:

  • 接收到广播帧
  • 接收到未知单播帧

sw3.png

sw4.png

交换机收到帧后,只会提取帧头的字段,主要是src MAC和dst MAC。等待交换机学习完所有属于同一个广播域下的PC后,就能进行快速转发。如果拔掉接口,那么该接口对应的CAM表中的记录会立即删除。CAM表中的每条记录只要不触发查询,默认5分钟后老化(可以设置老化时间)。

ARP表在纯二层设备上是没有的

广播域是指泛洪出去的数据帧可以到达的节点共同组成一个广播域

查看mac表:sh mac address-table

实际上,A在访问C时,是不知道C的MAC地址的,所以会通过ARP协议去获取C的MAC地址。在这个过程中,会首先发送dst MAC为广播地址的帧,并携带自己的MAC,C收到后,发现请求的是自己的MAC,就会把MAC发送给A。交换机收到后发现dst MAC匹配中CAM表中的记录,学习C的src MAC,然后转发至连接A的接口。

3、转发方式

根据硬件的不同,交换机转发数据帧采取的方式也有所区别,主要分为:直通转发存储转发片段转发

1)直通转发

直通转发(cut Through):交换机只查看数据帧头部中的dst MAC,在本地MAC地址表中找到相应接口后,立即转发数据帧,通常在它收到帧头部14字节左右(即ethernet首部)就会开始转发了,这种转发方式的优势在于转发延迟比较低,缺点是不会检查帧的状态,因此会把小于64字节的帧连同坏帧一起转发出去,浪费了带宽资源和设备处理资源。一些低端交换机使用的就是这种转发方式。

2)存储转发

存储转发(store&Forward):由于检查无误后才会执行转发,但是转发延迟较大,如今绝大多数中高端交换机采用这种转发方式。

sw5.png

3)片段转发

片段转发(Fragment Free):以太帧在传输时有最小帧长度的要求(不能小于64字节),因此这种转发方式就是在交换机接收到64字节后,就能转发该帧了,这种方式消除了直通转发的弊病,但是不会对帧进行CRC校验。

三、交换机端口

交换机中不仅存在物理接口,还存在逻辑接口。根据端口用户划分为二层接口(即L2)、三层接口(即L3):

  • L2:switchport状态;可以划分access模式、trunk模式
  • L3:no switchport状态;SVI(虚拟接口)、路由接口(即物理接口)
L2和L3也存在物理接口和逻辑接口之分

sw6.png

三层交换机的所有物理接口默认都是switchport,可以将物理接口转化为L3功能,即敲no switchport

sw7.png

上图中的interface vlan 10和interface vlan 20 为虚拟L3接口(即SVI),二层交换机上的access和trunk为L2接口。

sw8.png

三层交换机的L3 SVI可以配置IP地址,物理接口划入对应的vlan,才能与其他网元进行互联。

四、交换机管理

在园区网中最多的设备就是交换机,包括L2和L3交换机,其中L2交换机居多且处于典型的接入层,主要的任务就是为终端的PC和用户提供接入,同时划分VLAN隔离广播域,运行STP提供二层的防环机制。一般设备拆箱后,由工程师现场用console线缆配置调试,然后被安装到客户现场的各个机房或者弱电间去,一切妥善后上线运行,之后就需要远程访问管理了。那么如何管理L2和L3交换机呢?

1、L2交换机管理

sw9.png

L2交换机虽然无法识别IP报文,但是不影响L2交换机拥有管理用的IP地址,L2需要创建SVI接口来配置IP地址并进行管理。如图,PC想要访问交换机,就需要创建VLAN 10,然后划分对应的物理接口到VLAN 10,但是可能导致PC配置的IP地址和交换机的SVI的IP地址冲突,建议划分单独的VLAN来管理交换机——管理VLAN。管理VLAN一般设置在生僻的VLAN id和IP编址。比如VLAN 255 和管理地址段192.168.255.0/24。管理VLAN和用户VLAN起到了隔离作用,用户无法访问和管理交换机咋办?所以需要给交换机配置一个默认网关:

vlan 255
name Manage
int vlan 255
ip address 10.10.0.2 255.255.255.0
no sh
line vty 0 4
pass *****
login
enable secret *****
ip default-gateway 10.10.0.1 #默认网关

2、L3交换机管理

sw10.png

关闭路由功能后(no ip routing),交换机配置的默认网关才会生效

默认L3交换机的物理接口都处于switchport模式

L2交换机默认网关指向L3交换机,连接L3交换机之间的链路为trunk
L3配置:
ip routing
vlan 255
name Manage
int vlan 255
ip add 10.10.0.1 255.255.255.0
no sh
int gx/x
sw tr en dot1q
sw mo tr

ACL限制远程管理源:
access-list 1 permit 10.10.0.0 0.0.0.255
line vty 0 4
access-class 1 in

web管理:
ip http server #开启web管理
username xxx privilege 15 secret ***** #设置web用户名密码
ip http authentication local #本地身份认证