开发者社区> 科技小先锋> 正文

几句话就能让你明白:三层交换转发原理和一次路由多次交换的意思

简介:
+关注继续查看

【三层交换】

作用:三层交换产生的替代单臂路由

原理:一次路由,多次交换


【三层交换不能取代路由器的原因】

a)路由器接口丰富(支持语音口、串口、电口、光口);三层交换接口单一,一般只有电口或光口

b)路由器三层功能强大,交换机一般只具有基本的三层功能。如“nat、bgp”等协议不支持

一、初识三层交换

(1)、单臂路由的缺陷

a)“单臂”本身将成为网络的骨干链路,容易形成网络瓶颈。瓶颈是在“三层路由器功能上形成的,不是在线路上形成的”

b)子接口依然依托于物理接口,就实际应用而言不灵活

c)每次VLAN间转发都需要查看路由表,严重浪费设备资源

(2)、三层交换机的转发原理

Ø三层交换=2层交换+3层转发

Ø三层交换机通过硬件来交换和路由选择数据包

ØCisco  catalyst交换机使用传统的MLS(Multilayer  Switching,多层交换)体系结构或基于CEF(Cisco Express  Forwarding,Cisco快速转发)的MLS结构

1、传统的MLS

ØMLSASICApplication-specific Intergrated  Circuit,应用专用集成电路),能够对被路由器的数据包执行第2层重写操作

Ø2层重写操作包括重写源和目标MAC地址,以及写入重新计算得到的循环冗余校验码(CRC)

Ø支持传统MLSCatalyst交换机使用一种MLS协议从MLS路由器那里获悉第2层重写信息。使用传统MLS时,第3层引擎(路由处理器)和交换ASIC协同工作,在交换机上建立第3层条目

Ø使用传统MLS时,交换机交数据流中的第一个数据包转发给第3层引擎,后者以软件交换的方式对数据包进行处理。对数据流中的第一个数据包进行路由处理后,第3层引擎对硬件交换组件进行程序处理,使之为后续的数据包选择路由

《名词解释》

ASIC:应用专用集成电路(二层处理器)

第3层引擎:路由器处理器(三层处理器)

数据流:一个文件为一个数据流



183240458.jpg

183240289.jpg


【传统的MLS发包过程】

1)VLAN 1的主机将数据包发送给默认网关。三层交换机是主机的网关,因此,三层交换机上VLAN 1的端口接收到主机发来的数据包,这个数据帧中,源MAC地址是VLAN 1主机的MAC地址,目标MAC地址是默认网关的MAC地址

2)三层交换机的第3层引擎接收到这个数据包,在转发数据前重写数据帧的2层封装,三层交换机首先要使用ARP协议来获得VLAN 2主机的MAC地址

3)三层交换机用VLAN 2的主机的MAC址址作为发送帧的目标MAC地址来封装数据帧,并重写CRC值。同时,在硬件中创建一个MLS条目,以便能够转发和重写这个流中的后续数据包

4)VLAN 1主机发送给VLAN 2主机的后续数据包直接由三层交换机的ASIC进行处理,ASIC根据刚才创建的MLS条目重写第2层封装,并快速转发数据包,如2’所示

《总结以上过程》

以上的过程被称为“一次路由,多次交换”。也就是说,交换机的三层引擎只需要处理数据流中的第一个数据包,而后续的数据全由硬件来执行转发,这样就实现了三层交换机的快速转发功能

2、基于CEF的MLS

ØCEF是一种基于拓扑的转发模型,可预先将所有路由选择信息加入到转发信息库(FIB)中,这样,交换机就能够快速查找路由选择信息

ØCEF是“思科快速转发”,能记录通信过的主机,用两个表在二层进行记录

【CEF主要包含两个转发用的信息表】

转发信息库(FIB):比路由表更详细细,会记录通信过的主机IP。FIB类似于路由

表,包含路由表中转发信息的镜像。当网络的拓扑发生变化时,路由表将被更新,而FIB也随之变化。第3层引擎和硬件交换组件都维护一个FIB

邻接关系表:它会记录通信过的主机及MAC地址。在网络中,如果两个节点之间在数据链路层只有一跳,则它们彼此相邻,除FIB外,CEF还使用邻接关系表中储存第2层编址信息


183454402.jpg

【基于CEF的MLS发包过程】:

a)主机A发送数据包给自己的默认网关,三层交换机是主机A的网关,因而可接收到这个数据包

b)三层交换机查找FIB表,数据包的目标IP地址10.20.20.2,与三层交换机直连

c)三层交换机查找邻接关系表,在邻接关系表中,有IP地址与源MAC地址,目标MAC地址的对应关系,并找到转发端口

d)三层交换机的硬件交换组件根据邻接关系重写数据帧的二层封装,并快速转发......如果三层交换接收到主机A发送来的数据包,但邻接关系表中没有主机B的二层重写信息,那么三层交换机将数据包交给三层引擎进行处理......三层引擎会发送ARP请求获取主机B的MAC地址信息,然后,第3层引擎将一个解析后的邻接关系条目加入到自己的邻接关系表中,硬件交换组件也将这条邻接关系条目加入到自己的邻接关系表


【基于CEF的MLS与传统的MLS对比】

Ø传统的MLS每个数据流的第一个数据包都要进行路由

Ø基于CEF的MLS在第一次路由后,就会在邻接关系表和FIB表中保存目标信息,那么有数据需要转发时,就可以直接用硬件查找邻接关系表和FIB表

3、虚接口的引入


183608173.jpg

183608242.jpg


二、三层交换机的配置

【启动路由功能】

   switch(config)# ip  routing            /在三层交换机上启动路由功能

【配置路由接口】

   switch(config-if)# no  switchport      /将交换机的某个接口配置为路由接口

【查看FIB表】

   switch# show ip  cef

【查看邻接关系表】

   switch# show adjacency  detail

【配置虚接口的IP地址】

   switch(config)# interface  vlan vlan-id             /把接口加入VLAN

   switch(config-if) ip  address ip_address  netmask   /相当于在接口配IP

   switch(config-if)# no  shutdown

【DHCP中继的配置】

   sw-3L(config-if)# ip  helper-address  DHCPsrv-IPAddress

      #在设有DHCP服务器上的VLAN接口上配置

      #DHCPsrv-IPAddress为DHCP服务器的IP地址



本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1214533,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比:
6 0
飞天加速计划·高校学生在家实践——ECS服务器初体验
我当前是计算机专业研二学生,现就读于北京科技大学,主攻方向是计算机视觉(CV)中的图像分割,我们实验室也有GPU计算集群,不过在知乎偶然一次机会了解到阿里云的高校计划,从链接点进来后,经过一系列熟悉的操作,我慢慢了解到云服务器ECS这一概念。
6 0
Python 网络编程2:UDP-发送、接收数据
Python 网络编程2:UDP-发送、接收数据
4 0
Python web服务器4: 网络通信
Python web服务器4: 网络通信
4 0
Vue3项目使用Vue-router4(对比vue2配合Vue-router3)
Vue3项目使用Vue-router4(对比vue2配合Vue-router3)
3 0
Vue3动态添加路由及生成菜单
Vue3动态添加路由及生成菜单
3 0
6967
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载