关于MLS--------MLS实现三层交换的过程
2012-04-23 20:10
232 查看
MLS(MultiLayer Switching,多层交换)为交换机提供基于硬件的第三层高性能交换。它采用先进的专用集成电路(ASIC)交换部件完成子网间的IP包交换,可以大大减轻路由器在处理数据包时所引起的过高系统开销。
MLS是一种用硬件处理包交换和重写帧头,从而提高IP路由性能的技术。Cisco多层交换技术支持所有传统路由协议,而原来由路由器完成的帧转发和重写功能现在已经由交换机的硬件完成。MLS将传统路由器的包交换功能迁移到第三层交换机上。当然,这首先要求交换的路径必须存在。
MLS由以下三个部分组成:
1. 多层路由处理器 (MLS-RP) 它相当于网络中的路由器,负责处理每个数据流的第一个数据包,协助MLS交换引擎 (MLS-SE)在第三层的CAM (Content-Addressable Memory)中建立捷径条目(Shortcut Entry)。MLS-RP可以是一个外部的路由器,也可以由三层交换机的路由交换模块(RSM)来实现。
2. 多层交换的交换引擎 (MLS-SE) 它是负责处理转发和重写数据包功能的交换实体。
3. 多层交换协议 (MLSP) 它是一个轻型协议,用来通过多层路由处理器
(MLS-RP)对多层交换的交换引擎进行初始化。
下面以图1所示的网络为例,阐述多层交换实现的步骤。
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105649672.jpg)
第一步:发送MLSP Hello 信息
当路由器激活后,多层路由处理器每15秒发送一个MLSP Hello包,这些包内含路由器接口所使用的VLAN标识和MAC地址信息。MLS-SE通过这些信息掌握具备多层交换能力的路由器的第二层属性。如果交换机连接了多个MLS-RP,MLS-SE通过为它们的MAC地址分配XTAG值的方法来区分每个MLS-RP的MAC地址条目。如果MLSP帧从同一个 MLS-RP得到所有MAC地址,MLS-SE则为其附加相同的XTAG值,具体如图2所示。这些关联的记录都存放在CAM中。由于Hello包是周期性发送的,所以,这种方法可以保证相关值动态地跟踪网络的变化,并可实现一定的淘汰机制。
Hello包是在第二层发布的,它使用多播地址01-00-0C-DD-DD-DD.
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105745658.jpg)
第二步:标识候选包(Candidate Packet)
在了解具有多层交换能力的路由器的相关地址后,MLS-SE可以对进入交换机的数据包进行匹配判断。对于一个流中的数据包,如果MLS缓存中含有与之匹配的捷径条目,则MLS-SE就旁路路由器而直接转发该数据包;如果MLS中不含与该数据包相匹配的捷径条目,则MLS-SE将它归为候选包,并在缓存中建立部分捷径(Partial shortcut)。这样的包采用传统的第二层交换机处理方式处理,并发往与之相连的路由器接口(网关),具体见图3所示。
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105757285.jpg)
这里要注意,候选包(帧)必须满足两个标准:目标地址经过MLSP所列的路由器接口的一个MAC地址;不存在捷径条目。
第三步:标识使能包(Enable Packet)
路由器收到并以传统的方式转发数据包。通过数据包的目标地址路由表得知,这个包应从Fast Ethernet1/0的第二个接口转出,并将包封装为VLAN2帧通过ISL链路送回。具体过程如图4所示。
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105810366.jpg)
此时,路由器已经重写第二层帧的帧头。同时,路由器不仅改写了ISL头的VLAN号,而且也修改了两个MAC 地址域:源MAC改为路由器出口的MAC地址,目标MAC改为主机B的MAC地址。虽然数据包的IP地址未改写,但IP包头的生存时间(TTL)值被减1,故 IP包头的校验和也需要做相应的修改。
这个修改后的数据包称为使能包(Enable Packet),当这个数据包从路由器送出并穿过交换机到达目的地主机B时,要履行下列五个功能:
第二层交换机根据使能包的目的地MAC地址,知道该数据包应该从PORT3/1口转发出去;
MLS-SE得知使能包的帧头上源地址是通过Hello过程建立的地址记录之一;
MLS-SE根据使能包目的IP地址查寻在第二步中建立的部分捷径条目;
MLS-SE将与使能包源MAC地址相关联的XTAG值和部分捷径条目的对应XTAG值相比较,如果匹配,则表明这个使能包与第二步中的候选包来自同一个路由器;
MLS-SE完成该捷径条目的建立过程,该捷径记录将包含重写数据流中的后续包帧头所需的所有信息。
第四步:直接交换(转发)数据流中的后续包
当后续的数据包被主机A送出后,MLS-SE利用数据包中的目标IP地址查找在第三步建立的完整捷径。地址匹配后,MLS-SE利用重写引擎修改帧头信息,然后直接转发给主机B(数据包不发给路由器)。重写操作修改帧头域,其值同第一个被路由器修改的数据包的域值一样。详见图5所示。这里需要解释的是, NFFC(NetFlow Feature Card)是装备在三层交换机中的网络流性能卡,它维护第三层交换数据包流的交换表(MLS Cache),作为多层交换的交换引擎部分。
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105833689.jpg)
上述这个过程被称为“一次路由,多次交换”。交换机利用专业化硬件ASIC来处理数据包,速度相当快,可以达到100Mbps甚至1000Mbps.
MLS是一种用硬件处理包交换和重写帧头,从而提高IP路由性能的技术。Cisco多层交换技术支持所有传统路由协议,而原来由路由器完成的帧转发和重写功能现在已经由交换机的硬件完成。MLS将传统路由器的包交换功能迁移到第三层交换机上。当然,这首先要求交换的路径必须存在。
MLS由以下三个部分组成:
1. 多层路由处理器 (MLS-RP) 它相当于网络中的路由器,负责处理每个数据流的第一个数据包,协助MLS交换引擎 (MLS-SE)在第三层的CAM (Content-Addressable Memory)中建立捷径条目(Shortcut Entry)。MLS-RP可以是一个外部的路由器,也可以由三层交换机的路由交换模块(RSM)来实现。
2. 多层交换的交换引擎 (MLS-SE) 它是负责处理转发和重写数据包功能的交换实体。
3. 多层交换协议 (MLSP) 它是一个轻型协议,用来通过多层路由处理器
(MLS-RP)对多层交换的交换引擎进行初始化。
下面以图1所示的网络为例,阐述多层交换实现的步骤。
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105649672.jpg)
第一步:发送MLSP Hello 信息
当路由器激活后,多层路由处理器每15秒发送一个MLSP Hello包,这些包内含路由器接口所使用的VLAN标识和MAC地址信息。MLS-SE通过这些信息掌握具备多层交换能力的路由器的第二层属性。如果交换机连接了多个MLS-RP,MLS-SE通过为它们的MAC地址分配XTAG值的方法来区分每个MLS-RP的MAC地址条目。如果MLSP帧从同一个 MLS-RP得到所有MAC地址,MLS-SE则为其附加相同的XTAG值,具体如图2所示。这些关联的记录都存放在CAM中。由于Hello包是周期性发送的,所以,这种方法可以保证相关值动态地跟踪网络的变化,并可实现一定的淘汰机制。
Hello包是在第二层发布的,它使用多播地址01-00-0C-DD-DD-DD.
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105745658.jpg)
第二步:标识候选包(Candidate Packet)
在了解具有多层交换能力的路由器的相关地址后,MLS-SE可以对进入交换机的数据包进行匹配判断。对于一个流中的数据包,如果MLS缓存中含有与之匹配的捷径条目,则MLS-SE就旁路路由器而直接转发该数据包;如果MLS中不含与该数据包相匹配的捷径条目,则MLS-SE将它归为候选包,并在缓存中建立部分捷径(Partial shortcut)。这样的包采用传统的第二层交换机处理方式处理,并发往与之相连的路由器接口(网关),具体见图3所示。
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105757285.jpg)
这里要注意,候选包(帧)必须满足两个标准:目标地址经过MLSP所列的路由器接口的一个MAC地址;不存在捷径条目。
第三步:标识使能包(Enable Packet)
路由器收到并以传统的方式转发数据包。通过数据包的目标地址路由表得知,这个包应从Fast Ethernet1/0的第二个接口转出,并将包封装为VLAN2帧通过ISL链路送回。具体过程如图4所示。
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105810366.jpg)
此时,路由器已经重写第二层帧的帧头。同时,路由器不仅改写了ISL头的VLAN号,而且也修改了两个MAC 地址域:源MAC改为路由器出口的MAC地址,目标MAC改为主机B的MAC地址。虽然数据包的IP地址未改写,但IP包头的生存时间(TTL)值被减1,故 IP包头的校验和也需要做相应的修改。
这个修改后的数据包称为使能包(Enable Packet),当这个数据包从路由器送出并穿过交换机到达目的地主机B时,要履行下列五个功能:
第二层交换机根据使能包的目的地MAC地址,知道该数据包应该从PORT3/1口转发出去;
MLS-SE得知使能包的帧头上源地址是通过Hello过程建立的地址记录之一;
MLS-SE根据使能包目的IP地址查寻在第二步中建立的部分捷径条目;
MLS-SE将与使能包源MAC地址相关联的XTAG值和部分捷径条目的对应XTAG值相比较,如果匹配,则表明这个使能包与第二步中的候选包来自同一个路由器;
MLS-SE完成该捷径条目的建立过程,该捷径记录将包含重写数据流中的后续包帧头所需的所有信息。
第四步:直接交换(转发)数据流中的后续包
当后续的数据包被主机A送出后,MLS-SE利用数据包中的目标IP地址查找在第三步建立的完整捷径。地址匹配后,MLS-SE利用重写引擎修改帧头信息,然后直接转发给主机B(数据包不发给路由器)。重写操作修改帧头域,其值同第一个被路由器修改的数据包的域值一样。详见图5所示。这里需要解释的是, NFFC(NetFlow Feature Card)是装备在三层交换机中的网络流性能卡,它维护第三层交换数据包流的交换表(MLS Cache),作为多层交换的交换引擎部分。
![](http://cisco.chinaitlab.com/UploadFiles_6776/200707/20070719105833689.jpg)
上述这个过程被称为“一次路由,多次交换”。交换机利用专业化硬件ASIC来处理数据包,速度相当快,可以达到100Mbps甚至1000Mbps.
相关文章推荐
- Cisco 交换机 MLS实现三层交换的过程
- 交换机MLS实现三层交换的过程
- CCBPM关于工作流引擎取回审批的设计方案与实现过程
- 关于三层交换
- 关于Ext3.0中按条件查询并重新加载Grid中的数据的实现过程及store.load的分析
- Android实训案例(四)——关于Game,2048方块的设计,逻辑,实现,编写,加上色彩,分数等深度剖析开发过程!
- asp.net关于在线支付的实现过程
- 关于C语言交换两个数的实现方法以及个人心得
- 由论坛上关于不用变量实现STRLEN函数和宏定义2个数据进行交换
- 三层交换实现vlan间路由与dhcp配置
- Android实训案例(四)——关于Game,2048方块的设计,逻辑,实现,编写,加上色彩,分数等深度剖析开发过程!
- 关于函数实现数值交换
- 菜鸟学做――三层交换综合模拟实验【3】(附图具体配置过程)
- 关于NGUI动态加载图片,并且实现动态打图集的过程
- Android实训案例(四)——关于Game,2048方块的设计,逻辑,实现,编写,加上色彩,分数等深度剖析开发过程!
- asp.net关于在线支付的实现过程
- 关于调用RANDOM(0,1)产生0和1的几率都为1/2,实现RANDOM(a,b)的过程
- 关于工作流引擎取回审批的设计方案与实现过程
- 三层交换实现vlan间路由与dhcp配置 推荐
- Cisco 三层交换 实现vlan间路由与dhcp配置