当前位置:文档之家› MPLS基础培训胶片

MPLS基础培训胶片


MPLS的转发表的数据结构(续)
typedef struct tagMplsNhlfe { ULONG ulOutIfIndex; ULONG ulHopCount; ULONG ulNextHopAddr; UCHAR ucLsrType; UCHAR ucOutStackSize; ULONG aulOutLabelStack [ AMB_LMGR_MAX_LABEL_STACK ]; }MPLS_NHLFE_S;
底层通知MPLS的接口结构
typedef struct tagMPLSProductResponseMsg { /*底层驱动对Create, Update请求的响应,Delete请求不响应, 事件类型包 括: MPLS_RESPONSE_CREATE_LSP,MPLS_RESPONSE_UPDATE_LSP MPLS_BATCH_UPDATE_LSP */ UCHAR ucEventType; ULONG ulLSPID; ULONG ulUpdateNum; ULONG ulErrorCode; ULONG ulNHLFEIndex; } MPLS_PRODUCT_RESPONSE_MSG_S;
IP ETH IPX
MPLS ATM FR PPP X.25 ETH IPX IP
SNA
MPLS协议的位置
七层 四层 三层
LDP协议 TCP/UDP IP MPLS
二层 一层
链路协议 物理接口
MPLS在协议栈中的位置
PPP Header(Packet over PPP Header SONET/SDH) Ethernet
可以多于一个标签,(标签栈) MPLS转发仅基于标签栈顶标签转发报文 MPLS通常是夹在二层链路层和三层IP报头之间的协议,承载 MPLS的链路层可以是: Point-to-Point link (PPP) Ethernet ATM Packet Over SONET (POS)等
MPLS转发(续一)
压标签(PUSH):Ingress LSR,打上标签头后转发
在后续节点,根据报文携带的标签转发 根据标签查找LIB (Label Information Database)决定转发行为
交换(SWAP):Transit,新标签替代入标签后转发 弹出(POP):Egress,标签弹出,转IP协议栈处理 倒数第二跳弹出:PHP(Penultimate Hop Popping), 倒数第二跳,弹出后转发 交换后压标签(SWAP & PUSH): 标签栈,标签替代 后压上一个或多个标签转发
相关概念
Ingress LSR Transit LSR Egress LSR
LSP
注意LSP是单向的传输通道
2 3 data
2 L 3 data
LSP内传递的数据帧
2 3 data
MPLS转发简介
MPLS转发与传统IP报文转发的比较
传统的IP报文转发 - 每个报文根据分析报文 头,查找路由,独立计算下一跳 MPLS转发 - 报文的转发基于标签交换,得 到下一跳
MPLS培训胶片
2003年5月
MPLS体系结构
RFC3031 - Multiprotocol Label Switching Architecture 协议组成
标签交换 信令协议:LDP/RSVP等,完成标签的分配
MPLS的意义
高速交换 有连接: 有利于QOS、VPN、FE 可融合多种协议 SNA
Remote MPLS Peer Label Exchange for F1 – 30
F1Βιβλιοθήκη 20F130 50
F1
30 90
F1
40 F1
Push 20
Swap to 30 Then Push 50
Swap to 90
POP 90 Then Swap to 40
POP 40
Tunnel Label 50
MPLS 转发图示
MPLS转发过程:
Ingress LSR 接收到IP报文,进行流分类或查转发表,打上标 签,并根据标签转发表项转发此标记报文。 Transit LSRs根据入接口和入标签查找标签转发表项得到出接 口和出标签,打上交换的标签,转发。 在LSP倒数第二跳或Egress LSR,弹出标签,还原IP报文后, 按照IP转发程序继续转发。
MPLS Header
Layer 3 Header
Ethernet Hdr GFC VPI Label
MPLS Header VCI
Layer 3 Header DATA
ATM Cell Header
PTI CLP HEC
Frame Relay
Flags
DLCI
DLCI Label
DATA
FCS
Flags
MPLS通知底层的示例(续)
Ingress上创建LSP Create函数 非Ingress创建LSP Create函数 函数类型 补充说明 ulLSPID ulUpdateNum ulRequestID ucLSRType ulVCID ulInLabel ulInIfIndex ulNextHopAddr ulOutIfIndex ucOutStackSize ulOutLabelStack LSP ID 0 由底层同步返回 MPLS_LSP_INGRESS 0 0 0 下一跳地址 出接口 1或2(FAST Reroute时) 出标签栈 LSP ID 0 由底层同步返回
将报文划分分属不同的转发等价类(FEC)
FEC (Forwarding Equivalence Classes) 报文的FEC划分可基于
目的单播地址 流量工程 VPN 隧道 QoS等
每个FEC映射到某个下一跳 FEC可以理解为按某种条件划分出来的一个数 据流
MPLS转发(续二)
报文进入网络,打上该FEC对应的标签并转发
IP包在打上MPLS包头后还是需要有二层的包头封装。ATM/FR 则分别采用原来包头的VPI/VCI,DLCI做标签
MPLS相关概念
MPLS: Multi Protocol Label Switching LSR: label switching router LSP: label switched path (单向) Ingress LSR 入口LSR Transit LSR 中间LSR Egress LSR 出口LSR label:标签,固定长度的一个数字
MPLS 图示(续)
MPLS转发示意:
In If In Lbl Prefix Out IfOut Lbl 0 - 172.90.38 1 30
InIf InL P bl refix O t IfO L l u ut b 0 45 172.90.38 1 3
InIf InL P bl refix O IfO L ut ut bl 0 3 172.90.38 -
MPLS通知底层的接口结构(续)
/* 出接口索引 */ ULONG ulOutIfIndex; /* 出标签栈大小 */ UCHAR ucOutStackSize; /* 出标签栈,依照标签栈顺序 */ ULONG aulOutLabelStack [AMB_LMGR_MAX_LABEL_STACK ]; /* 资源标识,无资源要求时为0 */ ULONG ulRHandle; }MPLS_REQUEST_PRODUCT_MSG_S;
In If In Lbl Prefix Out IfOut Lbl 0 30 172.90.38 1 45
倒数第二跳弹出,Penultimate Hop Popping(PHP)
标签栈
报文可以携带多个标签 转发行为根据栈顶标签 LSP Over LSP (LSP隧道) 应用于VPN等
标签栈转发图示
MPLS通知底层的接口结构
typedef struct tagMPLSRequestProductMsg { /* LSP标识,底层不处理,在响应时返回 */ ULONG ulLSPID; /* 请求更新序号,底层不处理,在响应时返回 */ ULONG ulUpdateNum; /* 请求标识,每次请求时由底层返回,用于对应Update和 Delete请求 */ ULONG ulRequestID;
跳数 (Hop Count) 路径矢量 (Path Vector)
环路和TTL(续)
LSR-1 LSR-2 IP报文 TTL = 10 Label = 25 IP 报文 TTL = 6 Label = 39 IP 报文 TTL = 6 LSR-6 LSR3
LSR-6 --> 25 跳数=4 标签分发协议的IGP域
下一跳和出接口索引 转发行为类型 出标签(Swap) 还可能有报文转发的链路层封装形式
FEC-to-NHLFE Map (FTN) - Ingress Incoming Label Map (ILM) - Non Ingress
三种转发控制表
目 的 IP FTN 入 标 签 ILM 入 标 签 ILM
MPLS通知底层的接口结构(续)
/* 以下参数与LSP的创建和更新有关 */ /* LSR类型 */ UCHAR ucLSRType; /* L2VPN VC ID */ ULONG ulVCID; /* 入标签 */ ULONG ulInLabel; /* 入接口索引 */ ULONG ulInIfIndex; /* 下一跳地址 */ ULONG ulNextHopAddr;
LSR-4
Label = 21 IP 报文 TTL = 6 LSR-5
IP 报文 TTL = 6
Egress
TTL在进入无TTL能力的LSP之被减量 如果在入LSR TTL为0,则该数据包被丢弃
MPLS的标签分发协议
MPLS连接可以使静态配置,也可以通过MPLS信令协议 建立标签连接。现有的MPLS标签分配协议有:
相关主题