目录
Multiprotocol Label Switching 多协议标签交换
Multiprotocol Label Switching 多协议标签交换
前言
MPLS (Multiprotocol Label Switching)位于TCP/I协议栈中的链路层和网络层之间,用于向IP层提供连接服务,同时又从链路层得到服务。MPLS以标签交换替代IP转发。
MPLS并不是一种业务或者应用,它实际上是一种隧道技术。这种技术不仅支持多种高层协议与业务,而且在一定程度上可以保证信息传输的安全性。
传统 IP 转发
ATM 信元转发
MPLS 标签转发
传统的IP技术简单,且部署成本低,但由于硬件技术存在限制,基于最长匹配算法的IP技术必须使用软件查找路由,转发性能低下。为了适应网络的发展,ATM(Asynchronous Transfer Mode)技术应运而生。ATM采用定长标签(即信元),并且只需要维护比路由表规模小得多的标签表,能够提供比IP路由方式高得多的转发性能。如何结合IP与ATM的优点成为当时热门话题。多协议标签交换技术MPLS(Multiprotocol Label Switching)就是在这种背景下产生的。
MPLS VPN 应用
然而,随着ASIC(Application Specific Integrated Circuit)技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不再具备明显的优势。但另一方面结合其它技术的应用上MPLS成为了一大亮点。
MPLS TE 应用
MPLS 网络模型
MPLS 控制平面和转发平面
帧模式 MPLS
MPLS标签是MPLS信息传递的载体,路由器之间通过标签的交互,完成在建立的标签转发路径上传送数据。
MPLS 报文头部
MPLS 标签嵌套
这里的Label1,Label2,Label3都指的是前一个胶片中的4个Bytes的MPLS头部,其中包含有20bits的标签信息。
FEC 与 NHLFE
FEC 与 NHLFE 举例
MPLS 转发过程 - Ingress LER(RTA)
MPLS 转发过程 - LSR (RTB)
入标签到一组下一跳标签转发表项的映射称为入标签映射ILM(Incoming Label Map)。ILM在Transit节点的作用是将标签和NHLFE绑定。通过标签索引ILM表,就相当于使用目的IP地址查询FIB,能够得到所有的标签转发信息。
MPLS 转发过程 - LSR(RTC)
MPLS 转发过程 - Egress LER(RTD)
思考题
华为HCIA基础实验 - LSP
LSP 基础实验1:静态LSP 动态LDP
基本配置
R1:
undo ter mo
sys
sysname R1
user-interface console 0
idle-timeout 0 0
int loop 0
ip add 1.1.1.1 32
int g0/0/0
ip add 192.168.12.1 24
q
R2:
undo ter mo
sys
sysname R2
user-interface console 0
idle-timeout 0 0
int loop 0
ip add 2.2.2.2 32
int g0/0/0
ip add 192.168.12.2 24
int g0/0/1
ip add 192.168.23.2 24
q
R3:
undo ter mo
sys
sysname R3
user-interface console 0
idle-timeout 0 0
int loop 0
ip add 3.3.3.3 32
int g0/0/1
ip add 192.168.23.3 24
q
配置 OSPF协议
R1:
ospf router-id 1.1.1.1
area 0
net 192.168.12.1 0.0.0.0
net 1.1.1.1 0.0.0.0
q
R2:
ospf router-id 2.2.2.2
area 0
net 192.168.12.2 0.0.0.0
net 192.168.23.2 0.0.0.0
net 2.2.2.2 0.0.0.0
q
R3:
ospf router-id 3.3.3.3
area 0
net 192.168.23.3 0.0.0.0
net 3.3.3.3 0.0.0.0
q
配置完成后,查看 R1 的 OSPF 路由表,能看其他 2 台设备的环回口
<R1>display ospf routing
=========
配置 MPLS 协议
配置 MPLS 协议,首先需要配置 LSR ID,全局开启 MPLS,在转发MPLS的接口上开启 MPLS功能
手动建立一条的静态 LSP
配置LSR ID用来在网络中唯一标识一个MPLS路由器。缺省没有配置LSR ID,必须手工配置。为了提高网络的可靠性,推荐使用LSR某个Loopback接口的地址作为LSR ID。
R1:
mpls lsr-id 1.1.1.1
mpls
int g0/0/0
mpls
q
static-lsp ingress R1toR3 destination 3.3.3.3 32 nexthop 192.168.12.2 out-label 102
R2:
mpls lsr-id 2.2.2.2
mpls
int g0/0/0
mpls
int g0/0/1
mpls
q
static-lsp transit R1toR3 incoming-interface g0/0/0 in-label 102 nexthop 192.168.23.3 out-label 203
R3:
mpls lsr-id 3.3.3.3
mpls
int g0/0/1
mpls
q
static-lsp egress R1toR3 incoming-interface g0/0/1 in-label 203
配置完成后,在R1 R2 R3 上查看一下,可以看到 R1 已经拥有了去往 R3 的静态 LSP,且在本地的 In标签为 NULL,说明 R1 是该 LSP 的Ingress.
[R1]display mpls lsp
在R1 上验证去往 R3 的 MPLS 报文所经过的路径
<R1>tracert lsp ip 3.3.3.3 32
在 R3 上验证去往 R1 的 MPLS 报文所经过的路径,可以看到系统提示LSP 并不存在,说明LSP 具有单向性。
<R3>tracert lsp ip 1.1.1.1 32
配置 R3 去往 R1 的静态 LSP
R3:
static-lsp ingress R3toR1 destination 1.1.1.1 32 nexthop 192.168.23.2 out-label 302
R2:
static-lsp transit R3toR1 incoming-interface g0/0/1 in-label 302 nexthop 192.168.12.1 out-label 201
R1:
static-lsp egress R3toR1 incoming-interface g0/0/0 in-label 201
配置完成后,在 R3 上验证去往 R1 的 MPLS 报文所经过的路径
<R3>tracert lsp ip 1.1.1.1 32
=========
利用 LDP 动态分发标签并建立 LSP
首先,在 R1 R2 R3 上删除之前创建的静态 LSP
R1:
undo static-lsp ingress R1toR3
undo static-lsp egress R3toR1
R2:
undo static-lsp transit R1toR3
undo static-lsp transit R3toR1
R3:
undo static-lsp egress R1toR3
undo static-lsp ingress R3toR1
使用 mpls ldp 命令全局启用 LDP,然后在接口上使用同样的命令在接口上开启 LDP
必须完成 MPLS 协议的配置,然后才能进行 LDP 的配置
R1:
mpls ldp
int g0/0/0
mpls ldp
R2:
mpls ldp
int g0/0/0
mpls ldp
int g0/0/1
mpls ldp
R3:
mpls ldp
int g0/0/1
mpls ldp
q
在 R1 上查看 启用了 LDP 的接口,R1 的g0/0/0 启用了 LDP ,标签发布方式为 DU 方式
<R1>display mpls ldp interface
查看LDP 会话信息,Operational 表示会话已经成功建立。
LSR在LDP会话中的角色:
Active: LSR ID值较大的一方表示建立LDP会话的主动方。
Passive:LSR ID值较小的一方表示建立LDP会话的被动方。
<R1>display mpls ldp session
查看 LSP 信息, LDP 为 R1 去往 R3,R3 去往 R1 均动态建立了 LSP
<R1>display mpls lsp
R1去往 R3的为 NULL/1025 、1025/3 、3/NULL
R3去往 R1的为 NULL/1024 、1024/3 、3/NULL
在R1 上验证去往 R3 的MPLS 报文所经过的路径,R1 在出发时被赋予了标签 1025,经过R2 时,标签被替换为3
==========
标签管理的 3 种方式
display mpls ldp interface
另一条查看命令
display mpls ldp
可以查看到
标签发布方式 : DU (Downstream Unsolicited,下游自主方式)
Label Advertisement Mode
标签的分配控制方式:有序标签分配控制方式 标签的保持方式:自由标签保持方式
Label Distribution Mode : Ordered Label Retention Mode : Liberal
DU:对于一个到达同一目地址报文的分组,LSR无需从上游获得标签请求消息即可进行标签分配与分发。
Ordered:只有当该LSR已经具有此IP分组的下一跳的标签,或者该LSR就是该IP分组的出节点时,该LSR才可以向上游发送此IP分组的标签。
Liberal:对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。
<R1>tracert lsp ip 3.3.3.3 32
R3 在出发时被赋予了标签 1024,经过R2 时,标签被替换为 3
<R3>tracert lsp ip 1.1.1.1 32
测试 MPLS 连通性,可以看到 R1 R3之间可以通过 MPLS 的LSP 进行报文的转发。
<R1>ping lsp ip 3.3.3.3 32
<R3>ping lsp ip 1.1.1.1 32