基本概念
1、MPLS位于TCP/IP协议栈中的数据链路层和网络层之间,可以向所有网络层提供服务
2、通过在数据链路层和网络层之间增加额外的MPLS头部,基于MPLS头部实现数据快速转发。
MPLS术语
MPLS域(MPLS Domain):一系列连续的运行MPLS的网络设备构成了一个MPLS域。
LSR(Label Switching Router,标签交换路由器):支持MPLS的路由器(实际上也指支持MPLS的交换机或其他网络设备)。位于MPLS域边缘、连接其它网络的LSR称为边沿路由器LER(Label Edge Router),区域内部的LSR称为核心LSR(Core LSR)
LSR 分类
入站LSR(Ingress LSR):通常是向IP报文中压入MPLS头部并生成MPLS报文的LSR
中转LSR(Transit LSR):通常是将MPLS报文进行例如标签置换操作,并将报文继续在MPLS域中转发的LSR。
出站LSR(Egress LSR):通常是将MPLS报文中MPLS头部移除,还原为IP报文的LSR。
FEC:
FEC(Forwarding Equivalence Class,转发等价类)是一组具有某些共性的数据流的集合,这些数据流在转发过程中被网络节点以相同方式处理。
最常见的转发等价类
1、匹配同一条路由的报文
2、基于报文的优先级
lsp:
LSP(Label Switched Path,标签交换路径)是标签报文穿越MPLS网络到达目的地所走的路径。
同一个FEC的报文通常采用相同的LSP穿越MPLS域,所以对同一个FEC,LSR总是用相同的标签转发。
MPLS标签
IP报文进入MPLS域之前,会被入站LSR压入MPLS头部(又叫MPLS标签),形成一个MPLS标签报文。一个标签报文可以包含一个或多个MPLS标签。
- 标签(Label):用于携带标签值,长度20 bit。
- EXP(Experimental Use):主要用于CoS(Class of Service),长度3 bit。
- S(Bottom of Stack):栈底位,用于指示该标签头部是否为最后一层标签,长度1 bit。如果该字段为1,则表示当前标签头部为栈底;如果该字段为0,则表示当前标签头部之后依然还有其他标签头部。
- TTL(Time To Live):用于当网络出现环路时,防止标签报文被无限制转发,与IP报文头部中的TTL具有相同的意义,长度8 bit。
MPLS支持一层或多层标签头部,这些标签头部的有序集合被称为标签栈(Label Stack)
标签空间
MPLS标签处理
LSR对标签的操作类型包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop)。null
LSP建立原则
当网络层协议为IP协议时,FEC所对应的路由必须存在于LSR的IP路由表中,否则该FEC的标签转发表项不生效。
LSR用标签标识指定FEC,所以该FEC的数据被发送至LSR时,必须携带正确的标签,才能被LSR正确的处理。
对某一FEC,设备上存在进(In)标签和出(Out)标签,分别表示该FEC的数据接收时和发送时所携带的标签。
以R2转发到4.4.4.0/24的数据为例,R1为R2的上游(Upstream)LSR,R3为R2的下游(Downstream)LSR。为确保标签报文能被正确的处理和转发,那么R1发给R2的报文所携带的标签与R2上绑定到4.4.4.0/24的相同,即R1的出标签等于R2的入标签。同理,R2关于4.4.4.0/24这条FEC的出标签必须等于R3的入标签。
LSP建立方式(标签交换路径)
静态LSP
静态LSP是用户通过手工为各个转发等价类分配标签而建立的。由于静态LSP各节点上不能相互感知到整个LSP的情况,因此静态LSP是一个本地的概念。
静态LSP不使用标签发布协议,不需要交互控制报文,因此消耗资源比较小,适用于拓扑结构简单并且稳定的小型网络。 但通过静态方式分配标签建立的LSP不能根据网络拓扑变化动态调整,需要管理员干预
配置命令:
[R1]mpls lsr-id 1.1.1.1
[R1]mpls
[R1-GigabitEthernet0/0/0]mpls
[R1]static-lsp ingress wps destination 4.4.4.4 32 nexthop 10.1.12.2 outgoing-interface g0/0/0 out-label 100
[R2]static-lsp transit wps incoming-interface g0/0/1 in-label 100 outgoing-interface g0/0/0 nexthop 10.1.23.3 out-label 101
[R3]static-lsp transit wps incoming-interface g0/0/1 in-label 101 outgoing-interface g0/0/0 nexthop 10.1.34.4 out-label 103
[R4]static-lsp egress wps incoming-interface g0/0/1 in-label 103
动态LSP:(LDP:标签分发协议)
动态LSP通过标签发布协议动态建立。
标签发布协议是MPLS的控制协议(也可称为信令协议),负责FEC的分类、标签的分发以及LSP的建立和维护等一系列操作。
LDP:标签分发协议:
LDP是多协议标签交换MPLS的一种控制协议,负责转发等价类FEC的分类、标签的分配以及标签交换路径LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息以及相关处理过程。
[R1]mpls lsr-id 1.1.1.1
[R1]mpls
[R1-mpls]mpls ldp
[R1-GigabitEthernet0/0/0]mpls
[R1-GigabitEthernet0/0/0]mpls ldp