MPLS 基本理论知识
MPLS (multi-protocol label switch)支持多种网络层协议,如:IP、IPX、APPLE TALK。
在MPLS环境中,其实在路由转发数据包时,是根据两种查询机制:
1,通过路由表查询;
2,通过label查询;
在MPLS环境中,标签的生成方式可以基于很多的参数,但在通常的情况下,大多是依赖于路由而生成相应的标签。在数据转发时一般会采用CEF转发机制,如果不使用该机制,那么在生成标签的时候通过LDP/TDP无法插入标签大致失败。
MPLS-control-plan:
1,交互路由信息和标签;
MPLS-data-plan:
1,基于标签转发数据包;
2,在数据层面生成一个LFIB表(标签转发数据库),主要存储一个数据的进/出口标签。
3,转发机制较简单;
Mpls mode有两种:frame mode(TCP/IP) & cell mode(ATM)
MPLS 的标签共32bit 共分为四个字段:label (20bit)、exp(3bit )、s(1 bit)、ttl(8bit ),所以在其中共有220个标签,其中0-15 标签被保留。该字段插入的位置介于MAC和IP之间。
MPLS的实际工作原理:
1, 先需要运行IGP,形成路由表;
2, 基于路由表生成标签(只为IGP分发标签,不为BGP分发标签)。
3, 在LSR 通告后,会形成FIB 和 LFIB表。
4, 分发标签一般在ISP网络中,用户是不可能看见标签的,通常在LSR上POP后,得到纯IP网络信息。
MPLS 标签的生成:
TDP(tag distribution protocol)是cisco 私有协议;
使用的是TCP/UDP端口:711
HELLO :UDP 711 (interval :5S)
Forwarding TAG :TCP711
TDP(tag distribution protocol)是行业标准,对于HELLO包支持认证;
使用的是TCP/UDP端口:646
HELLO :UDP 646 (interval :5S)
Forwarding TAG :TCP646
MPLS_BASE_LAB:
其配置(R1)如下:
interface Loopback0
ip address 1.1.1.1 255.255.255.0
interface Serial0/0
mtu 1504 /*修改MTU*/
ip address 13.1.1.1 255.255.255.0
mpls ip /*启用MPLS*/
clock rate 2000000
interface Serial0/1
mtu 1504
ip address 12.1.1.1 255.255.255.0
mpls ip
clock rate 2000000
router rip /*运行IGP */
version 2
network 1.0.0.0
network 12.0.0.0
network 13.0.0.0
no auto-summary
若把其他的路由器视为ISP内设备的话,其配置类似于R1的配置。(此处略)
配置好完毕后SHOW。(R1)
1,Show mpls ldp neighbor
1,针对上表对于每一个PEER的远端IP网络而言,会标识TCP的连接源/目标IP.端口号(tcp connection:2.2.2.2.40088―1.1.1.1.646),源端口是大于1024且小于65535的随机端口,但目标端口为646,在cisco11.3 版本以前是TCP端口:711,在cisco11.3以后全部行业化,鼓其端口为:646。
2,看State一行,表示所发接包的情况,以及标识的数据包流(下游)
其后,依次有S-IP ,以及到达目的网络所经过的网络节点。
1,show mpls ldp bindings
主要记载local label number以及远端网络所分配的label number(FIB信息)。
3,Show mpls forwarding-table
查看标签转发表(LFIB),以及其前缀路由和出口。
4,show ip cef detail
你将发现里面的有详细内容,以及进/出标签的详细信息,由于内容较多,暂时没有栽截图片。
如上述SHOW命令一样若没有问题,那么如何才能测试出MPLS 的简单环境已经建立好了呢?
用ping命令?
1, ping 4.4.4.4 source 1.1.1.1
是不是成功了?呵呵,你忘记了,在刚开始启用MPLS时,本身就做了IGP协议的(rip),当然会通,即使通了也未必有标志性的提示,该怎么办?
1, 咱们就用 traceroute 4.4.4.4 source 1.1.1.1 试试
你将发现好像有MPLS:Label 18的字眼,告诉你证明你的实验已经成功了。这就是一个简单的MPLS 的环境实验。这只是MPLS里面的入门知识。