1、MPLS
目的:数据报文通过标签交换的方式去转发报文(到目的地)
LSP:标签交换路径
LDP:为路由表里面每条路由分发标签用(思科),华为只为路由表里面学到的32位的路由去分发标签
2、MPLS体系结构
控制平面—软件层面,标签交换
目的:将LSP(标签交换路径)建立出来
每一台路由器都为32的路由分发标签(入标签)
下游路由器的入标签=上游路由器的出标签
数据平面—硬件层面,转发报文
目的:数据报文通过标签交换的方式去转发报文(到目的地)
3、LDP
标签分发协议,用来动态建立LSP
作用:1)LSP发现;2)LDP会话建立和维护;3)FEC分类、标签分发、LDP的建立和维护(标签映射的通告和撤销)
LDP会话的建立:
LSR之间发送Hello消息,Hello消息携带传输地址(默认是LSR ID),后续使用传输地址建立LDP会话(华为设备LSR ID手动配置,且要配置设备存在的地址)
传输地址大的一方主动发起建立TCP连接
TCP建立完成后,主动方发送初始报文(协商LDP版本号、保活时间等信息)
被动方接收初始报文,如果接受这些参数,则发送初始报文和保活信息
主动方接收到被动方初始报文,接受相关参数,发送保活报文
发送标签请求和标签映射信息,通告FEC(即某条路由信息)和标签的绑定关系来建立LSP
4、MPLS数据转发过程
首先,MPLS需要为报文事先分配好标签,建立一条LSP,才能进行报文转发
标签Push:Ingress节点收到目的地址X.X.X.X的IP报文,查FIB表(disp fib),TunnelID不为0,压入标签Z并转发。(TunnelID=0,就按普通IP报文路由转发)
标签交换Swap:Transit节点收到该标签报文,查看LFIB表进行标签交换,将标签Z换成标签Y。
标签弹出(Pop):倒数第二跳Transit节点收到带标签Y的报文。因为Egress分给它的标签值为3,所以进行PHP换作,弹出标签Y并转发报文。从倒数第二跳转发给Egress的报文以IP报文形式传输。
Egress节点收到该IP报文,查FIB表转发给目的地。
PHP(Penultimate Hop Popping,倒数第二跳弹出)
当出标签为3的时候,要先弹出标签再发送给下游邻居。
查询指令:
display fib //查看FIB表
display mpls lsp //查看LSP
display mpls ldp peer//查看LDP对等体的信息
display mpls ldp lsp //查看LDP构建的LSP路径
display mpls ldp session//查看LDP对等体间的会话信息。
displaympls route-state //查看哪些路由信息需要标签转发