一、预习:
MPLS是一种根据报文中携带的标签来转发数据的技术,两台LSR必须在它们之间转的数据 的标签使用上“达成共识”。LSR之间可以运行LDP来告知其他LSR本设备上的标签绑定信息,从而实现标签报文的正确转发。
LSR:Label Switching Router,标签交换路由器,由LSR 构成的网络区域称为 MPLS域(MPLS Domain),在 IP 网络内进行传统的 IP 转发,在 MPLS 域内进行标签转发。
LER:Label EdgeRouter位于 MPLS 域边缘、连接其它网络的 LSR 称为边缘路由器 ;
Core LSR:区域内部的 LSR 称为核心 LSR。
LDP:Label Distribution Protocol,标签分发协议是MPLS的一种控制协议,相当于传统网络中的信令协议,负责FEC的分类、标签的分配及LSP的建立和维护等操作。LDP规定了标签分发过程中的各种消息及相关处理过程。
LDP的工作 过程主要分为两部分:
1、LSR之间建立LDP会话
2、LSR之间基于LDP会话动态交换标签与FEC映射信息,并根据标签信息建立 LSP
PHP: Penultimate Hop Popping,倒数第二跳弹出
MPLS消息类型:
Discovery Message Hello UDP LDP发现机制中宣告本LSR并发现邻居
Session Message Initialization TCP 在LDP Session建立过程中协商参数
Keepalive TCP 监控LDP Session的TCP连接的完整性
Advertisement Message Address TCP 宣告接口地址
Address Withdraw TCP 撤销接口地址
Label Mapping TCP 宣告FEC、Label映射信息
Label Request TCP 请求FEC的标签映射
Label Abort Request TCP 终止未完成的Label Request Message
Label Withdraw TCP 撤销FEC/Label映射
Label Release TCP 释放标签
Notication Message Notification TCP 通知LDP Peer错误信息
标签的发布和管理:
在MPLS网络中,下游LSR决定标签和FEC的绑定关系,并将这种绑定关系发布给上游LSR
标签发布方式Label Advertisement Mode:
DU模式Downloadstream Unsolicited:下游自主方式
对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发
LSR会主动将自己为FEC捆绑的标签通告给上游邻居,无需邻居先发起请求再通行
DoD模式Downstream on Demand:下游按需方式
对于一个特定的FEC,LSR获得标签请求消息之后才进行标签分配与分发
一般情况下,对特定FEC的访问需求会触发标签请求消息
标签分配控制方式Label Distribution Control Mode:
Independent独立方式:本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签
Ordered有序方式:对于LSR上某个FEC的标签映射 ,只有当该LSR已经已经具有此FEC下一跳的标签映射 消息、或者该LSR就是此FEC的出节点时,该LSR才向上游发送此标签的映射
配置命令:label distribution control-mode {independent | ordered}
标签保持方式Label Retention Mode:
Liberal自由模式:LSR收到的标签映射 可能 来自下一跳,也可能来自非下一跳;对于从邻居LSR收到的标签映射 ,无论邻居LSR是不是自己的下一跳都保留
Conservative保守模式:对于从邻居LSR收到的标签映射 ,只有当邻居LSR是自己的下一跳时才保留
标签操作:
Push:当IP报文进入MPLS域时,LER在报文二层头部和IP头部之间插入一个新标签;或者中间设备根据需要,要标签栈顶增加一个新标签(标签嵌套封装)
Swap:当报文在MPLS域内转发时,根据LFIB表,用下一跳分配的标签,替换MPLS的栈顶标签
Pop:当报文离开MPLS域时,将MPLS报文的标签剥掉
标签值解析,Label,在0-19位:
0-15:特殊标签
值为0:IPV4 Explicit NULL Label 显式空标签,给QOS用的,LER需要看的空标签,表示里面还有EXP位要看
值为1:Router Alert Label
值为2:IPV6显式空标签
值为3:隐式空标签,LER不需要看的空标签,次末跳,倒数第二跳,PHP(pemultimate hop popping)次末跳弹 出,置换给它一个3标签,让出站的LER直接剥离MPLS头部,即不再查LFIB(Label Forwarding Imformation Base)表,直接剥离LSP,直接进入IP转发或者下一层标签转发(减少最后一跳的负担,减少查表次数)
4~13、15:保留
14:OAM Router Alert Label,Operation Administration &Maintenance,通过发送OAM报文检测和通告LSP故障,使用MPLS承载,对于Transit LSR和Penultimate LSR是透明的
16-1023:静态LSP和静态CR-LSP(Constraint-Based Routed Label Switched Path)共享的标签空间
1024及以上:动态信令协议的标签空间
二、拓朴图:
三、主要配置步骤:
- 配置IGP协议,使MPLS域内路由互通
- 配置MPLS lsr-id,开启mpls协议,为IGP路由触发建立标签,默认情况下,只为32位路由建立 标签,这里设置为所有非32位的路由都发标签
- 接口开启mpls、开启mpls ldp标签分发协议
四、主要配置命令:
#
mpls lsr-id 2.2.2.2
mpls
lsp-trigger all
#
int G0/0/0
mpls
mpls ldp
#
dis mpls lsp
dis mpls ldp peer
dis mpls ldp session
五、测试:
ping测试中抓包,可以看到mpls是在2层和3层之间的协议: