(flow)泛指数据在跨越网络的两个终端点之间的一种数据流,流能基于第2层、第3层的信息或第2、第3、第4层信息的组合。一个流是在一个特定源和目的之间共享相同的第3层和第4层信息的单向序列分组。
MLS是由少数旧Catalyst交换机使用的提供线速路由选择的技术,MLS查看流中的第一个分组,并缓存所需的信息来允许后续分组能独立与路由处理器进行交换。MLS又是被称为:“一次路由,多次交换”,即流的第一个分组被路由器软件路由,后续的分组则由交换机的硬件来转发。
MLS包含以下三个组件
MLS-SE(MLS交换引擎)是Catalyst交换机上需要支持MLS的一套硬件组件,不包括路由处理器。识别第3层流,重写MAC和交换分组。
MLS-RP:(MLS路由处理器)负责最初分组转发的路由器组件,它向MLS-SE通告如下信息:用于重写的MAC地址,接口的任何变化(例如路由选择、访问控制等)
只有MLS-RP和MLS-SE的特定组合才能运行MLS。
MLSP(多层交换协议),实现MLS-SE和MLS-RP的通信,MLSP分组包括VTP域名、版本号、路由器ID、序列号。还发送关于访问列表和路由表变更或更新的信息。helo时间为15秒,死亡计时器时间为45秒。
一条MLS缓存表项是由每个流的初始分组创建的,一旦收到一个不匹配当前MLS缓存中的任何条目的分组,就创建一条新的IP多层交换表项。
MLS-SE使用流掩码( flow masks)来确定如何创建MLS表项,通过来自操作第3层交换的每个MLS-RP的多层交换协议(MLSP)消息学习流掩码。MLSP是用在MLS-SE 和MLS-RP之间传递MLS信息的协议。
当MLS-SE流掩码改变时,清除整个MLS缓存。
3种类型流掩码如下:
1、 目的-IP:最简单的流掩码,为每个具体的IP地址维护一条MLS表项。该模式用于任何MLS-RP接口上没有配置访问控制列表的时候。
2、 源-目的-ip:MLS-SE为每个源和目的IP地址对维护一条MLS表项。该模式用于在任何MLS-RP接口有一个标准ACL的时候。
3、 ip-流(flow):最详细的流掩码。为每个IP流穿件和维护一条详细的MLS缓存表项,该表项包括源IP地址,目的IP地址,协议和协议端口。该模式用于任何MLS-RP接口有一个扩展ACL的时候。
当一个分组从源主机经过第3层交换到目的主机是,MLS-SE根据从MLS-RP学习并存储在MLS缓存中的信息进行一个分组重写。
MLS操作:
1、 hello分组的交换将MLS-RP通知给MLS-SE
2、 基于一个候选分组创建一条部分MLS缓存表项
3、 基于enable分组完成MLS缓存表项
4、 同一个流中后续分组实现第3层交换
MLS根据配置在MLS-RP上的ACL创建流。当启用IP MLS时,MLS-SE处理标准和扩展ACL线速准许流量,被一个ACL拒绝的流量通常由MLS-RP处理。
由于当匹配某拒绝ACL条目的流量第一次到达该交换机时,MLS-SE查找缓存表,查找不到匹配条目,则将该分组认为是第3层交换的候选分组(candidate packet),MLS-SE学习第3层的流信息(如目的IP地址,源IP地址和协议端口号),并将第一个分组转发给MLS-RP,此时MLS缓存中已创建了这个第3层流的部分MLS表项。MLS-RP收到该分组后,检查ACL以查看是否准许该分组,则根据ACL丢弃该分组,此时,将不会通知MLS-SE来建立对应的MLS缓存表项。
一个MLS-SE为第3层交换流维护一个第3层交换表(第3层MLS缓存)。在创建了MLS缓存后,被定义属于一个现有流的分组能基于缓存信息进行交换。
转载于:https://blog.51cto.com/gujian139/399319