- MPLS
- MPLS概述
- MPLS 术语
- LER( Label Edge Router)
- 在MPLS网络中,用于标签的压入或弹出,如R2、R4。
- LSP( Label Switched Path)
- 标签交换路径,即到达某一目的地址的报文在MPLS网络中经过的路径。
- LSR( Label Switched Router)
- 在MPLS网络中,用于标签的交换,如R3。
- 根据数据流的方向,LSP的入口LER被称为入节点( ( Ingress);位于LSP中间的LSR被称为中间节点(Transit);LSP的出口LER被称为出节点( Egress)。
- FEC转发等价类
- 具有相同特征的一类报文(可以根据源地址、目的地址、源端口、目的端口、VPN等要素进行划分),
- 在MPLS网络中,同一目的地址的所有报文就是一个FEC。MPLS为同一种FEC分配相同的标签
-
- MPLS 标签
- 报文
-
- 标签栈(Label Stack)
- 标签的排序集合
- 靠近二层首部的标签称为栈顶MPLS标签或外层MPLS标签(Outer MPLS label);靠近IP首部的标签称为栈底MPLS标签或内层MPLS标签(Inner MPLS label)。理论上,MPLS标签可以无限嵌套
- 标签空间/标签取值
- 0~15:特殊标签。如标签3,称为隐式空标签,用于倒数第二跳弹出
- 16~1023:静态LSP的标签空间(现网不用)
- 1024及以上:LDP、MP-BGP( Multiprotocol Border Gateway Protocol)的标签空间
- 思科:0-15特殊标签,其他都可以用
- LDP是为IGP表里面的路由去动态的分配标签(注意:华为只为32位的路由分配标签,思科会为IGP表里面有的路由去分配标签)
- MP-BGP会为BGP表路由进行分发标签
- 报文
- 标签操作
- Push:标签压入
- Swap:标签交换
- go(pop):标签弹出
- MPLS体系结构
- 控制平面:产生和维护路由信息及标签信息
- RIB:路由表 由IP路由协议生成,用于选择路由。
- LDP:标签分发协议 负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作
- LIB:标签信息表 由标签分发协议生成,用于管理标签信息。
- 转发平面:负责普通IP报文或者带MPLS标签报文的转发
- FIB:转发信息表 硬件中精简的路由表(即常转发的路由信息,从RIB提取必要的路由信息生成,负责普通IP报文的转发)
- LFIB:标签转发信息表Label Forwarding Information Base 标签转发表,由标签分发协议在LSR上建立LFIB,负责带MPLS标签报文的转发。
- 控制平面:产生和维护路由信息及标签信息
- LDP
- Label Distribution protocol,标签分发协议,用来动态建立LSP,MPLS网络中最常用标签分配协议。
- 作用
- 1.LSR发现
- 2.LDP会话建立和维护
- 3.FEC分类、标签分发、LSP的建立和维护(标签映射关系的通告或撤销)
- LDP工作过程
- 主要使用4类消息
- 发现( Discovery)消息:用于LDP邻居的发现和维持,如Hello消息。
- 会话( Session)消息:用于LDP邻居会话的建立、维持和中止。如initalization消息、 Keepalive消息。
- 通告( Advertisement)消息:用于创建、改变和删除标签映射,如 Address消息、 Label Mapping消息。
- 通知( Notification)消息:用于提供建议性的消息和差错通知。
- 注意:为保证LDP消息的可靠发送,除了Discovery消息使用UDP传输外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP传输。
- 工作过程主要分两个阶段
- LDP会话的建立
- 1.LSR之间发送Hello消息,Hello消息携带传输地址(默认是LSR ID),后续使用传输地址建立LDP会话。(Hello消息基于UDP,周期性5s,目的是224.0.0.2),LSR ID华为手动配置,一定要配设备存在的地址
- 2.传输地址大(LSR ID)的一方主动发起建立TCP连接
- 3.TCP建立完成后,主动方发送initalization消息(协商LDP版本号、标签分发方式、标签空间、Keepalive保持时间等)
- 4.被动方收到初始消息后,如果接受相关参数,则发送initalization消息和 Keepalive消息。否则发送Notification消息终止LDP会话的建立
- 5.主动发收到被动方的初始消息后,接受相关参数,则发送Keepalive消息,否则发送Notification消息(后续Keepalive 周期性发送,华为15s,思科60s)
- LDP LSP的建立
- 发送标签请求和标签映射消息(Address消息、 Label Mapping消息),通告FEC(即某条路由信息)和标签的绑定关系来建立LSP
- MPLS需要为报文事先分配好标签,建立一条LSP,才能进行报文转发
- LSP的建立过程就是将FEC(路由)和标签进行绑定,并将绑定通告LSP上相邻LSR的过程
- 注意:华为只为IGP学习到的32位路由分发标签,思科可以为IGP表中学习到的所有路由分发标签
建立LSP的方式有两种:
静态LSP:用户通过手工方式为各个转发等价类分配标签建立转发隧道;
动态LSP:通过标签发布协议动态建立转发隧道。
- LDP工作模式
- 标签的发布方式
-
- 标签的分配控制方式
-
- 标签的保持方式
-
- 标签的发布方式
- LDP会话的建立
- 主要使用4类消息
- 标签的发布和管理
- 标签发布方式
- DU(Downstream Unsolicited,下游自主方式) 本地主动把分配好标签的路由信息发给所有LDP邻居
- DoD( Downstream on Demand,下游按需方式) 只有邻居请求某条路由信息的标签的时候,本地才给邻居
- 华为/思科默认采用DU发布标签
- 标签分配控制方式
- 本地为一条路由分配标签的方式
- Independent(独立分配控制方式) 只要本地通过IGP学习到的路由,就会主动为此路由分配标签。
- Ordered(有序分配控制方式) 本地通过IGP学习到路由,必须下游路由器已经为此路由分配了标签,上游设备才可以为此路由分配标签
- 华为设备默认采用ordered的方式分配标签。
- 思科默认使用Independent模式。
- 标签的保持方式
- Liberal(自由标签保持方式)
- 针对某一FEC,保留所有邻居发的标签(有多少个邻居发标签就保留多个标签)
- Conservative(保守标签保持方式)
- 针对某一FEC,保留最优下一跳邻居发的标签
- 华为/思科设备默认采用自由标签保持方式
- 标签发布方式
- MPLS数据转发过程
- MPLS需要为报文事先分配好标签,建立一条LSP,才能进行报文转发。
- 1.标签Push:Ingress节点收到目的地址X.X.X.X的IP报文,查FIB表(disp fib),TunnelID不为0,压入标签Z并转发。(TunnelID=0,就按普通IP报文路由转发)
- 2.标签交换Swap:Transit节点收到该标签报文,查看LFIB表进行标签交换,将标签Z换成标签Y。
- 3.标签弹出(Pop):倒数第二跳Transit节点收到带标签Y的报文。因为Egress分给它的标签值为3,所以进行PHP操作,弹出标签Y并转发报文。从倒数第二跳转发给Egress的报文以IP报文形式传输。
- 4.Egress节点收到该IP报文,查FIB表转发给目的地。
- PHP 次末跳弹出技术
- PHP( Penultimate Hop Popping,倒数第二跳弹出)
- 当出标签为3的时候,要先弹出标签再发送给下游邻居。
-
- LDP配置
- 华为配置
- 1.全局开启MPLS及LDP,配置LSR ID
- mpls lsr-id 1.1.1.1 //启用MPLS时,lsr-id必须先手动配置
- mpls
- mpls ldp
- 2.接口开启MPLS、LDP
- interface GigabitEthernet0/0/0
- mpls
- mpls ldp
- 查看命令
- display fib //查看FIB表
- display mpls lsp //查看LSP
- display mpls ldp peer//查看LDP对等体的信息。
- display mpls ldp lsp //查看LDP构建的LSP路径
- display mpls ldp session//查看LDP对等体间的会话信息。
- display mpls route-state //查看哪些路由信息需要标签转发
- 思科配置
- mpls ldp router-id loopback 0 //lsr-id 默认选择loopback接口,多个则选IP地址最大的。无loopback口选择物理接口最大的。
- interface FastEthernet0/0
- mpls ip //接口开启mpls,默认为LDP
- 路由进程下配置:
mpls ldp autoconfig area x运行在相应area的接口自运行ldp在不需要运行LDP的接口下.可以no掉:
no mplsldp igp autoconfig
- 非直连邻居之间起LDP session
用途:MPLS TE,AToM,MPLS LDP会话保护
发起端:mpls ldp neighbor 22.1.1.1 targeted ldp
接收端:mpls ldp discovery targeted-hello accept
- 高级控制
No mpls ldp advertise-labels
Mpls ldp advertise-labels for 90 to 91
Access-list 90 permit 192.168.254.0 0.0.0.255
Access-list 91 permit ip any
- 控制接收某些前缀的label
mpls ldp neighbor x.xx.x labels accept acl_number
- MD5认证
mpls ldp neighbor 22.1.1.1 password higlab.com
- show ip cef //cisco 查看FIB表
- show mpls ldp bindings //查看LIB表
- show mpls forwarding-table //查看LFIB表
- show mpls ldp neighbor //查看LDP邻居
- show mpls ldp discovery detail //排错的命令
- show mpls interface //查看哪些接口开启mpls
- 华为配置
十八、多协议标签交换MPLS (Multi-Protocol Label Switching)
最新推荐文章于 2023-05-19 01:29:45 发布