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里面的入门知识。