三层交换机
一、VLAN间路由
1.VLAN间 路由的需求
+传统的二层交换网络,整个网络就是一个广播域,当网络规模增大的时候,网络广播严重,效率下降,不利管理。
在以太网中,*所谓广播域就是指在一个网络中,广播帧(目的MAC地址为ff-ff-ff-ff-ff-ff的帧)将要被转发的最大范围_。
在二层交换机中,交换机仅根据MAC地址进行帧的选路和转发,当一个完整正确的以太网帧从一个交换机端口上被接收上来以后,交换机将在自己维护的MAC地址表中去查找地址,根据地址类型的不同和查找结果的不同情况,交换机对帧采取不同的处理。
*单播帧_(Unicast),目的地址在MAC地址表中存在:
按照目的地址在地址表中的表项所指的输出端口,将帧转发到相应的端口上。(单播MAC地址在地址表中只能指向一个输出端口)
*单播帧_(Unicast),目的地址在MAC地址表中不存在:
在广播域的所有端口上广播该帧
*多播帧_(Multicast),目的地址在MAC地址表中存在:
在广播域的所有端口上广播该帧
*广播帧_(Broadcast):
在广播域的所有端口上广播该帧
在扁平的二层网络上,广播域是整个网络,当出现广播帧或在地址表中不能匹配到目的地址的帧的时候,帧将被广播到整个网络上,全部的主机都将接收到。由于网络广播和目的地址未匹配的帧的普遍存在,当二层网络的规模增加,应用多样化后,网络的广播流量将增加,对整个网络的效率产生较大影响。
由于整个网络在一个广播域,所有的用户都能够不受控制地直接访问网络的所有部分,并能够影响到网络的所有部分的正常运行,因此对于网络的安全性也造成一定的威胁。
二、VLAN隔离二层广播域
+VLAN隔离了二层广播域,也就严格地隔离了各个VLAN之间的任何流量,分属于不同VLAN的用户不能互相通信。
VLAN之间被严格地隔离开来,任何一个帧都不能从自己所属的VLAN被转发到其他的VLAN中。整个网络被划分为若干个规模更小的广播域,网络的广播被控制在相对比较小的范围内,提高了网络的带宽利用率,改善网络效率和性能。
每一个人都不能随意地从网络上的一点,毫无控制地直接访问另一点的网络或监听整个网络上的帧,隔离的广播域改善了网络的安全性。
VLAN可以实现对用户的分组,通过配置VLAN可以实现灵活的网络管理,同时在网络迁移的时候,由于交换机的灵活配置,可以轻松修改网络的设计,而不需要修改网络的布线等烦琐、耗时的工作。
连接不同的VLAN-VLAN间路由
+不同VLAN之间的流量不能直接跨越VLAN的边界,需要使用路由,通过路由将报文从一个VLAN转发到另外一个VLAN。
VLAN之间的通信的解决方法是,在VLAN之间配置路由器,这样VLAN内部的流量仍然通过原来的VLAN内部的二层网络进行,从一个VLAN到另外一个VLAN的通信流量,通过路由在三层上进行转发,转发到目的网络后,再通过二层交换网络把报文最终发送给目的主机。
在VLAN之间做互联使用的路由器上,我们可以通过各种配置,比如对路由协议的配置、对访问控制的配置等等形成对VLAN之间互相访问的控制策略,使网络处于受控的状态。
三、三层交换机做VLAN间路由
+在主机上配置默认网关,对于非本地的通信,主机会自动寻找默认网关,并把报文交给默认网关转发而不是直接发给目的主机
1.1.1.10通2.2.2.20通信:
主机1.1.1.10根据掩码比较,目的主机不是本地主机--IP通信规则,查找本机路由表找网关,这里默认网关--本机RAP Cache中查找网关MAC,没有就启动一个ARP请求去发现。得到默认网关MAC,主机将帧转发给默认网关,有路由器转发--路由器通过查找路由表将报文转发到相应的接口,然后查找到目的主机的MAC,将保温发送给目的主机---目的主机收到报文后,回应的报文经历类似的过程又转发会主机1.1.1.10
了解到以上的过程后,应该可以了解到,VLAN之间的互通就和其他的网络配置相同,都不是简单地把设备放在那里就行了的,要根据网络的实际设计情况,同步地配置网络各个部分的设置。如果单独配置了路由器的地址,而没在主机上配置网关,VLAN间的通信依然是无法运行起来。
路由做VLAN间路由的局限
+在二层交换机上配置VLAN,每一个VLAN使用一条独占的物理连接连接到路由器的一个接口上
VLAN之间的通信使用路由器进行,那么在建立网络的时候就有个联网的选择问题。
按照传统的建网原则,我们应该从每一个需要进行互通的VLAN单独建立一个物理连接到路由器,每一个VLAN都要独占一个交换机端口和一个路由器的端口。
使用VLAN Trunking
+二层交换机上和路由器上配置他们之间相连的端口使用VLAN Trunking,使多个VLAN共享同一条物理连接到路由
可以使多个VLAN的业务流量共享相同的物理连接,通过在VLAN Trunking的物理连接上传递打标记的帧将各个VLAN的流量区分开来。
在做VLAN间互通的时候,对于网络中多个VLAN,只需要共享一条物理链路。在交换机上配置连接到路由器的端口使用VLAN Trunking,在路由器上也做相同的配置。
在这样的配置下,路由器上的路由接口和物理接口是多对一的对应关系,路由器在进行VLAN间路由的时候把报文从一个路由接口上转发到另一个路由接口上,但从物理接口上看是从一个物理接口上转发回同一个物理接口上去,但是VLAN标记在转发后被替换为目标网络的标记。
这样,在通常的情况下,VLAN间路由的流量不足以达到链路的线速度,使用VLAN Trunking的配置,可以提高链路的带宽利用率,节省端口资源,和简化管理(例如:当网络需要增加一个VLAN的时候,只要维护一下设备的配置就行了,不需要对网络布线进行修改)
使用VLAN Trunking之后,用传统的路由器进行VLAN之间的路由在性能上还有一定的不足:由于路由器利用通用的CPU,转发完全依靠软件进行,同时支持各种通信接口,给软件带来的负担也比较大。软件要处理包括报文接收、校验、查找路由、选项处理、报文分片,导致性能不能做到很高,要实现高的*转发率_就会带来高昂的成本。由此就诞生了三层交换机,利用三层交换技术来进一步改善性能。
基于内部硬件路由引擎的三层交换机
+二层交换机上和路由器在功能上的集成构成了三层交换机,三层交换机在功能上实现了VLAN的划分、VLAN内部的二层交换和VLAN间路由的功能
三层交换机使用硬件技术,采用巧妙的处理方法把二层交换机和路由器在网络中的功能集成到一个盒子里,提高了网络的集成度,增强了转发性能。
为了实现各种异构网络的互连,IP协议实现了十分丰富的内容,标准的IP路由需要在转发每一个IP报文的时候做很多处理,经过很多流程,就象前面所说的给软件带来巨大负担的工作。
但是这样的工作并不是在处理每一个报文都必须的,绝大多数的报文只需要经过很少一部分的过程,IP路由的方法有很大的改进余地。
三层交换机的设计基于对IP路由的仔细分析,把IP路由中每一个报文都必须经过的过程提取出来,这个过程是个十分简化的过程:
IP路由中绝大多数报文是不包含IP选项的报文,因此处理报文IP选项的工作在多数情况下是多余的
不同的网络的报文长度都是不同的,为了适应不同的网络,IP实现了报文分片的功能,但是在全以太网的环境中,网络的帧(报文)长度是固定的,因此报文分片的功能也是一个可以裁减的工作
三层交换机采用了和路由器的最长地址掩码匹配不同的方法,使用精确地址匹配的方式处理,有利于硬件实现快速查找
三层交换机采用了Cache的方法,把最近经常使用的主机路由放到了硬件的查找表中,只有在这个Cache中无法匹配到的项目才会通过软件去转发。这样,只有每个流的第一个报文会通过软件进行转发,其后的大量数据流则可以在硬件中得以完成
三层交换机在IP路由的处理上做了以上改进,实现了简化的IP转发流程,利用专用的芯片实现了硬件的转发,这样绝大多数的报文处理都在硬件中实现了,只有极少数报文才需要使用软件转发,整个系统的转发性能能够得以成百上千倍地增加。相同性能的设备在成本上得以大幅度下降。
四、三层交换机
+三层交换机把支持VLAN的二层交换机和路由器的功能集成在一起了,因此也常常称之为二三层交换机。
+二层交换机的功能和路由器的功能,在三层交换机中分别体现为二层VLAN转发引擎和三层转发引擎两个部分。
+二层VLAN引擎与支持VLAN的二层交换机的二层转发引擎是相同的,是用硬件支持多个VLAN的二层转发。
+三层转发引擎使用硬件ASIC技术实现高速的IP转发。
+对应到IP网络模型中,每个VLAN对应一个IP网段,三层交换机中的三层转发引擎在各个网段(VLAN)间转发报文,实现VLAN之间的互通,因此三层交换机的路由功能通常叫做VLAN间路由(Inter-VLAN Routing)。
+二层交换引擎:实现同一网段内的快速二层转发
+三层路由引擎:实现跨网段的三层路由转发
每一个VLAN对应一个IP网段,在二层上,VLAN之间是隔离的。这一点跟二层交换机中的交换引擎的功能是一模一样的。
不同的IP网段之间的访问要跨越VLAN,要使用三层转发引擎提供的VLAN间路由功能(相当于路由器)
在使用二层交换机和路由器的组网中,每个需要与其他IP网段(VLAN)通信的IP网段(VLAN)都需要使用一个路由器接口做网关。
三层交换机的应用也同样符合IP的组网模型,三层转发引擎就相当于传统组网中的路由器的功能,当需要与其他VLAN通信的时候也要为之在三层交换引擎上分配一个路由接口,用来做VLAN的网关
在三层交换机上的这个路由接口是在三层转发引擎和二层转发引擎上的,是通过配置转发芯片来实现的,与路由器的接口不同,这个接口不是直观可见的。
在VLAN指定路由接口的操作实际上就是为VLAN指定一个IP地址、子网掩码和MAC地址,MAC地址是由设备制造过程中分配的,在配置过程中由交换机自动配置。
报文到报文的三层交换技术
+传统三层技术对每个报文进行处理,并基于第三层地址转发报文。这一方法称为报文到报文(Px P)
报文到报文的交换方式与流交换方式的区别:如果每一个报文都要经历第三层处理,并且业务流转发是基于第三层地址的,这种交换方式就是报文到报文交换方式;如果只是第一个报文经过第三层处理,其他后续报文只进行第二层转发,这种交换方式就是流交换方式。
报文到报文的流活动中,报文进入系统中OSI参考模型的第一层物理接口,然后到达第二层接口进行目的MAC地址检查,如果查表检查的结果是不能交换则进入到第三层。在第三层,报文经过路由计算、地址解析等处理,经过三层处理后,报文头被修改并被传回第二层,二层确定合适的输出端口后,报文通过第一层传送到物理介质上。对于后续的每一个报文的转发,都要经过这样的一个过程。
基于流交换的三层交换技术
+不在三层处理所有报文的方法称之为流交换(FS)
在流交换中,第一个报文被分析以确 定其是否表示了一个“流”或者一组具有相同源地址和目的地址的报文,如果第一个报文具有了正确的特征,则该标识流中的后续报文将拥有相同的优先权,同一流中的后续报文被交换到基于第二层的目的地址,流交换节省了检查每一个报文要花费的处理时间。 现在三层交换机为了实现高速交换,都采用流交换的方式。
假设两个使用IP协议的站点(源站点A、目的站点B)通过第三层交换机,通信的过程如下:
- 源站点A在开始发送时,已知目的站的IP地址,但尚不知道在局域网上发送所需要的MAC地址。首先需要采用地址解析(ARP)来确定目的站的MAC地址。源站点把自己的IP地址与目的的站的IP地址比较。
- 若目的站B与源站A在同一子网内,源站A广播一个ARP请求,目的B站返回其MAC地址,A站得到目的站点B的MAC地址后将这一地址缓存起来存放在ARP表中,并用此MAC地址封装包后转发数据。三层以太网交换机的第二层交换模块根据源站A发送的以太网帧中的目的MAC地址查找MAC地址表确定将数据包发向目的端口。
- 若目的站B与源站A不在同一子网内,如源站A要与目的站B通信,源站A要向“缺省路径(其软件中配置的网关地址)”发出ARP封装包,“缺省路径”的IP地址实际上对应所连接第三层交换机的一个路由接口,即连接源站A的物理端口所属VLAN接口。
当发源站A对“缺省路径”的IP地址广播出一个ARP请求时,交换机回相应路由接口(即发源站A的“缺省路径”)的MAC地址给源站。第三层交换模块在以往的通信过程中已得到目的站B的MAC地址,则直接将数据包以此MAC地址封装并发向目的站B;
否则则提取出输入帧的IP包去查路由表,根据路由表中的路由信息向目的站网段广播一个ARP请求,目的站B得到此ARP请求后,向第三层交换模块回复其MAC地址,以后,当再进行站点A与站点B之间的数据包转发时,将用最终的目的站点B的IP地址为索引查找底层硬件转发表,得到出端口与对应的MAC地址,并用查到MAC地址封装包,从查到的出端口将数据转发出去;数据转发过程全部交给第二层交换处理,因此信息得到高速交换。
配置
一、VLAN间路由的配置
创建/删除VLAN的Route Interface属性
+用途
为了给VLAN指定IP地址,需要给VLAN创建一个虚拟路由接口
+[undo]interface vlan vif_id
+参数
vif_id 虚接口号,且虚接口号与vlan id相等
给VLAN指定/删除IP地址和掩码
+用途
给VLAN指定IP地址和掩码/掩码长度
ip address ip_address {mask | mask_length}
undo ip address [ip_address]
undo ip address : 删除vlan的ip地址
+参数
ip_address : vlan的ip地址
mask :对应的子网掩码
mask_length : 对应的掩码长度
配置VLAN
vlan 100
port e0/1 to e0/10
vlan 200
port e0/11 to e0/20
配置VLAN间路由,首先按照网络的路由规划将VLAN配置好
给VLAN配置路由接口
vlan 100
interface vlan 100
ip address 1.1.1.254 255.255.255.0
vlan 200
interface vlan 200
ip address 2.2.2.254 255.255.255.0
配置好VLAN后,各个VLAN的流量在二层上已经隔离,但我们最终仍须实现VLAN间的互通。在需要与其他VLAN通信的VLAN上配置三层的路由接口可以实现VLAN间的互通,即要配置VLAN接口(VLAN接口是逻辑接口,但其意义等同于串口等广域网口)
给主机配默认网关
+在主机上配置主机的默认网关,将默认网关指向所在VLAN在三层交换机上的三层接口地址。
在配置完成以上项目后,可以使用ping等工具测试网络是否连通。
如果能ping通其他VLAN所在接口的IP地址,那么说明三层路由接口已经生效,可以实现跨网段的三层互通。
配置路由协议
+在三层交换机上,根据网络的路由规划配置使用路由协议和配置路由协议参数
配置好接口后,根据网络的路由规划,我们可以配置静态路由,也可以配置动态路由协议用于生成路由表。三层交换机一般只支持几个常见的路由协议。我们可以使用RIP、OSPF等动态路由协议来生成路由表。
举例:配置rip路由协议
switch:
vlan 100
port e0/1 to e0/2
interface vlan 100
ip address 131.109.1.1 255.255.255.0
vlan 200
port e0/3 to e0/4
interface vlan 200
ip address 10.24.40.1 255.255.255.0
rip
network 10.24.40.0
network 131.109.1.0
用OSPF互连不同VLAN
配置以太网交换机1(区域内部交换机)的vlan 1路由接口
vlan 1
port e0/1 to e0/10
interface vlan 1
ip address 1.1.1.1 255.255.255.0
router id 1.1.1.1
ospf
area 1
network 1.1.1.1 255.255.255.0
配置以太网交换机2(区域内部交换机)的vlan 2路由接口
vlan 2
port e0/1 to e0/10
interface vlan 2
ip address 1.1.1.2 255.255.255.0
router iid 1.1.1.2
ospf
area 1
network 1.1.1.2 255.255.255.0
配置以太网交换机3(区域边界交换机)的vlan 3路由接口
vlan 3
port e0/1 to e0/10
interface vlan 3
ip address 1.1.1.3 255.255.255.0
router id 1.1.1.3
ospf
area 1
network 1.1.1.3 255.255.255.0
配置以太网交换机3(区域边界交换机)的vlan4路由接口
vlan 4
port e0/11 to e0/20
interface vlan 4
ip address 1.1.2.3 255.255.255.0
router id 1.1.2.3
ospf
area 0
network 1.1.2.3 255.255.255.0
VLAN4路由接口所属网段配置成区域0
配置以太网交换机4(区域内部交换机)的VLAN5路由接口
vlan 5
port e0/1 to e0/10
interface vlan 5
ip address 1.1.2.4 255.255.255.0
router id 1.1.2.4
ospf
area 0
network 1.1.2.4 255.255.255.0
配置以太网交换机4(区域内部交换机)的VLAN 6路由接口
vlan 6
port e0/10 to e0/20
interface vlan 6
ip address 2.2.2.3 255.255.255.0
router id 2.2.2.3
ospf
area 0
network 2.2.2.3 255.255.255.0
配置以太网交换机5 (自治系统边界交换机)的VLAN 7路由接口:
vlan 7
port e0/10 to e0/20
interface vlan 7
ip address 2.2.2.5 255.255.255.0
router id 2.2.2.5
ospf
area 0
network 2.2.2.5 255.255.255.0
配置以太网交换机5 (自治系统边界交换机)的VLAN 8路由接口:
vlan 8
port e0/10 to e0/20
interface vlan 8
ip address 3.3.3.6 255.255.255.0
router id 3.3.3.6
ospf
area 0
network 3.3.3.6 255.255.255.0
www.huawei.com