收录若干交换机配置的要点

1 二层转发原理 

二层转发流程

  1. 提取数据报的源MAC地址,查询MAC转发表(也就是L2FDB),如果找到就直接发送到对应端口。
  2. 对于表中不包含的地址,通过广播发送,也就是发送到所有端口。
  3. 使用地址自动学习(根据源MAC地址学习)和老化机制(定时机制)来维护MAC转发表的信息,二层转发一般不会更改数据包内容。

收录若干交换机配置的要点_第1张图片

引入VLAN

  虽然交换机解决了冲突域的问题,但是还是存在广播域问题,这里就应用到了VLAN,也就是在二层交换机上引入VLAN机制。

收录若干交换机配置的要点_第2张图片

  VLAN机制可以使处在相同VLAN下的主机任意通信(二层交换),不同VLAN主机通信完全隔离,如需通信需通过三层交换,阻断广播包,减小广播域,提供了网络安全性。VLAN简单来说就是一个广播域,可以跨越多个物理设备构成一个VLAN,这样网络构建和维护更加方便。

  VLAN的划分方法可以根据交换机端口来划分,根据MAC地址来划分,根据网络层(IP地址、IP子网)来划分,根据IP组播划分等。

 

VLAN协议格式

收录若干交换机配置的要点_第3张图片

 

  • TPID:协议标志,通常是0x8100
  • Priority:优先级
  • CFI:规范指示为,总设为0
  • VLAN ID:VLAN号

VLAN端口

  VLAN基于端口划分可以分为种类端口类型:access、trunk、hybird。

  • Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口
  • Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口
  • Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机

    Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

VLAN下交换机接口出入数据处理过程

1)Acess端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)

2)Acess端口发报文:将报文的VLAN信息剥离,直接发送出去

3)trunk端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃

4)trunk端口发报文:比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送

5)hybrid端口收报文:收到一个报文,判断是否有VLAN信息,如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入;如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用)

6)hybrid端口发报文:1.判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag, 哪些VLAN是tag);2.如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送


2 三层交换原理

三层交换机

  1.使用路由器进行VLAN间路由时的问题

  现在,我们知道只要能提供VLAN间路由,就能够使分属不同VLAN的计算机互相通信。但是,如果使用路由器进行VLAN间路由的话,随着VLAN之间流量的不断增加,很可能导致路由器成为整个网络的瓶颈。

  交换机使用被称为ASIC(ApplicationSpecified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在很多机型上都能实现以缆线速度(Wired Speed)交换。而路由器,则基本上是基于软件处理的。即使以缆线速度接收到数据包,也无法在不限速的条件下转发出去,因此会成为速度瓶颈。就VLAN间路由而言,流量会集中到路由器和交换机互联的汇聚链路部分,这一部分尤其特别容易成为速度瓶颈。并且从硬件上看,由于需要分别设置路由器和交换机,在一些空间狭小的环境里可能连设置的场所都成问题。

  2.三层交换机(Layer 3 Switch)

  为了解决上述问题,三层交换机应运而生。三层交换机,本质上就是“带有路由功能的(二层)交换机”。路由属于OSI参照模型中第三层网络层的功能,因此带有第三层路由功能的交换机才被称为“三层交换机”。

  关于三层交换机的内部结构,可以参照下面的简图。

收录若干交换机配置的要点_第4张图片

  在一台本体内,分别设置了交换机模块和路由器模块;而内置的路由模块与交换模块相同,使用ASIC硬件处理路由。因此,与传统的路由器相比,可以实现高速路由。并且,路由与交换模块是汇聚链接的,由于是内部连接,可以确保相当大的带宽。

  ● 使用三层交换机进行VLAN间路由(VLAN内通信)

  在三层交换机内部数据究竟是怎样传播的呢?基本上,它和使用汇聚链路连接路由器与交换机时的情形相同。

  假设有如下图所示的4台计算机与三层交换机互联。当使用路由器连接时,一般需要在LAN接口上设置对应各VLAN的子接口;而三层交换机则是在内部生成“VLAN接口”(VLAN Interface)。VLAN接口,是用于各VLAN收发数据的接口。(注:在Cisco的Catalyst系列交换机上,VLAN Interface被称为SVI——Switched Virtual Interface)

收录若干交换机配置的要点_第5张图片

  为了与使用路由器进行VLAN间路由对比,让我们同样来考虑一下计算机A与计算机B之间通信时的情况。首先是目标地址为B的数据帧被发到交换机;通过检索同一VLAN的MAC地址列表发现计算机B连在交换机的端口2上;因此将数据帧转发给端口2。

  ● 使用三层交换机进行VLAN间路由(VLAN间通信)

  接下来设想一下计算机A与计算机C间通信时的情形。针对目标IP地址,计算机A可以判断出通信对象不属于同一个网络,因此向默认网关发送数据(Frame 1)。

  交换机通过检索MAC地址列表后,经由内部汇聚链接,将数据帧转发给路由模块。在通过内部汇聚链路时,数据帧被附加了属于红色VLAN的VLAN识别信息(Frame 2)。

  路由模块在收到数据帧时,先由数据帧附加的VLAN识别信息分辨出它属于红色VLAN,据此判断由红色VLAN接口负责接收并进行路由处理。因为目标网络192.168.2.0/24是直连路由器的网络、且对应蓝色VLAN;因此,接下来就会从蓝色VLAN接口经由内部汇聚链路转发回交换模块。在通过汇聚链路时,这次数据帧被附加上属于蓝色VLAN的识别信息(Frame 3)。

  交换机收到这个帧后,检索蓝色VLAN的MAC地址列表,确认需要将它转发给端口3。由于端口3是通常的访问链接,因此转发前会先将VLAN识别信息去除(Frame 4)。最终,计算机C成功地收到交换机转发来的数据帧。

收录若干交换机配置的要点_第6张图片

  整体的流程,与使用外部路由器时的情况十分相似——都需要经过“发送方→交换模块→路由模块→交换模块→接收方”。




参考资源:

【1】华为Access、Hybrid和Trunk的区别和设置http://www.educity.cn/net/1284108.html

【2】二层转发原理,http://www.cnblogs.com/luoxn28/p/5858332.html
【3】三层交换原理,http://network.51cto.com/art/201402/428887.htm
【4】VLAN原理,http://blog.csdn.net/cwm_meng_home/article/details/49762807

你可能感兴趣的:(计算机网络)