本文共 2521 字,大约阅读时间需要 8 分钟。
MPLS(多协议标签交换)技术文档
1.1 概念
1.1.1 MPLS出现的背景
MPLS(多协议标签交换)最初主要用于解决早期IP转发效率低下的问题,但在近年来因硬件ANSI等芯片的快速发展,MPLS的快速转发优势不再明显。目前主要用于解决路由黑洞和无法形成流量分担的问题。
1.1.2 工作原理
MPLS的工作原理主要包括以下几个步骤:
生成标签转发表:通过控制平面运行LDP协议或其他动态标签分发协议,为网络中的路由器建立标签转发表。 数据平面标签转发:当数据平面收到带有标签的报文时,根据标签查找标签转发表进行转发。 1.1.3 使用场景
MPLS在以下场景中得到广泛应用:
- MPLS TE(流量工程):用于实现路径保护和资源分配。
- MPLS VPN(虚拟专用网络):承担数据转发的核心作用。
2. MPLS体系结构
2.1 控制面路由选择与转发
- 控制面:通过运行IGP(如OSPF)选择最优路由,更新IP转发表。
- 数据面:根据IP转发表进行转发,直到遇到MPLS标签转发表。
2.2 标签转发机制
- LER(标签边缘路由器):负责压入和弹出标签。
- LSR(标签交换路由器):主要负责标签的交换。
2.3 LSP(标签交换路径)
- 静态LSP:由管理员手动配置,需遵循上游节点出标签的值等于下游节点入标签的值。
- 动态LSP:通过LDP、RSVP-TE、MP-BGP等协议动态配置。
2.4 上游下游概念
- 数据面:数据的源是上游,目的地是下游。
- 控制面:下游通过LDP等协议向上游传递标签信息,上游根据标签信息生成标签转发表。
2.5 标签操作类型
- push:压入标签。
- swap:替换标签。
- pop:弹出标签。
3. MPLS的封装格式
3.1 MPLS报文格式
- 封装在L2之上,L3之下。
- 类型值:
- 0x0800:IPV4。
- 0x8847:MPLS单播报文。
- 0x8848:MPLS多播报文。
- 0x8021:P2P类型IPv4报文。
- 0x8281:MPLS单播P2P报文。
- 0x8283:MPLS多播P2P报文。
3.2 报文头部字段
- 标签长度(20位):标签总数为2^20。
- 0-15:保留标签。
- 16-1023:静态LSP和静态CR-LSP标签空间。
- 1024-2^20:动态标签(如LDP、RSVP-TE、MP-BGP)。
- EXP位(3位):用于QoS。
- S位(1位):标识是否为最后一个标签。
- TTL(8位):防止环路。
4. MPLS的转发
4.1 转发表结构
- RIB(路由信息库):用于路由选路,下发最优路由到FIB。
- FIB(转发信息库):指导数据转发,包含tunnel-id和token。
- LIB(标签信息库):保存标签信息。
- LFIB(标签转发信息库):指导标签转发。
- NHLFE(下一跳标签转发表项):包含tunnel-id、出接口、下一跳和标签操作。
- ILM(入标签映射):入标签与NHLFE的映射。
- FTN(FEC到NHLFE):FEC到NHLFE的映射。
4.2 转发流程
5. 配置静态LSP
- 静态LSP:
- Only ingress节点需要存在到达FEC目的地址的路由。
- Tunnel ID不为0,进行MPLS转发。
6. 动态LSP
6.1 LDP标签分发协议
- LDP支持TPC/UDP646端口。
- LDP只能为IGP分配标签,不能为BGP分配标签,MP-BGP可为BGP分配标签。
- LDP的标签管理:
- DU(下游自主):下游自主决定是否传递标签。
- DOD(下游按需):上游请求下游标签,下游按需回复。
- 标签控制模式:
- independent:独立标签控制。
- ordered:有序标签控制。
- 标签保留模式:
- conservative:保守保留模式。
- liberal:自由保留模式。
- 标签通告原则:
- 默认只为32位主机路由分配标签。
- 设备产生标签和FEC映射会通告给所有LDP邻居。
6.2 LDP的报文类型
- 发现消息(Hello报文):用于发现LDP邻居。
- 会话消息:
- Initialization报文:初始化LDP会话。
- KeepAlive报文:维护LDP会话。
- 通告消息:
- Label Mapping:宣告FEC和标签映射。
- Label Request:请求FEC的标签映射。
- 通知消息:用于报错和状态通知。
6.3 LDP邻居状态机
- 非存在状态:通过TCP连接初始化。
- 初始化状态:选举主动方和被动方。
- 操作状态:邻居关系建立成功。
7. MPLS-VPN
7.1 基本模型构成
- CE(连接站点):连接用户的设备。
- PE(运营商边缘设备):负责MPLS转发。
- P(骨干设备):负责MPLS转发。
- Site(用户站点):通过CE连接。
7.2 控制面路由传递问题
- 多个CE背后的site:通过VPN实例区分不同VPN路由。
- 本端PE与对端PE:使用MP-BGP传递路由,通过VPN Target属性区分VPN路由。
7.3 数据面转发问题
- 路由黑洞问题:通过MPLS转发域解决。
- BGP路由传播问题:通过VPN Target和RD属性区分不同VPN路由。
7.4 CE-PE之间的路由协议
- 多实例OSPF:通过区域划分和sham-link解决路由分辨问题。
- BGP扩展团体属性:携带OSPF属性,确保路由正确传递。
7.5 路由防环
- Pseudolink(伪链路):通过配置sham-link解决低速链路问题。
7.6 BGP路由黑洞
- IBGP互联:通过MPLS转发域解决路由黑洞问题。
- 物理接口IBGP:确保MPLS域覆盖所有路由。
通过以上内容,可以全面了解MPLS技术的工作原理、配置与应用场景。
转载地址:http://gxxm.baihongyu.com/