MPLS 多协议标签交换
分区 新分区 1 的第 4 页
5)mpls应用 MPLS这个策略主要用于路由器比较多时,在路由器组的边际路由器运行BGP,内部路由器运行
MPLS,这样可以大大减小路由表的大小(内部路由无只需知道内部的全部路由条目即可),从而加快 了数据包的转发速度。后面我会用一个实验来解释这个东西的使用。
6)mpls基本命令
分区 新分区 1 的第 1 页
no auto-summary
!
router bgp 100
neighbor 1.1.1.1 remote-as 200
neighbor 1.1.1.1 ebgp-multihop 255
neighbor 1.1.1.1 update-source Loopback0
neighbor 4.4.4.4 remote-as 100
现在呢,对该策略做一个小小的改进,就是拆标签的过程发生在R2 而不在R3上了,就是说R1、R2 照常为192.168.2.2产生local label并传递,而R3不再传递local label 3 而是向R2发送一个空标签(pop tag),当R2接收到标签为16的数据包时查询LFIB发现16对应的out label为pop tag,于是去掉标签发向 R3。这个过程和上边的那个策略是差不多的。
R3
mpls label protocol ldp
//启用ldp
mpls ldp router-id Loopback0 force
!
interface Loopback0
ip address 3.3.3.3 255.255.255.0
!
interface Serial1/0
ip address 192.168.3.1 255.255.255.0
mpls ip
//在接口下开启mpls
!
interface Serial1/1
ip address 192.168.2.2 255.255.255.0
mpls ip
//在接口下开启mpls
!
router eigrp 100
network 3.3.3.0 0.0.0.255
network 192.168.2.0
6)mpls基本命令
mpls label protocol ldp mpls ldp router-id Loopback0 force mpls ip show mpls forwarding-table
7)实验
//启用ldp协议,及标签方式 //为ldp标记router-id,这时会传递给邻居的 //接口模式下启用mpls //查看ldp标签表
neighbor 2.2.2.2 update-source Loopback0
!
ip classless
ip route 2.2.2.2 255.255.255.255 192.168.1.2
*****************************************************************************************
标签分布方法:1。LDP 标签分布协议 Forwarding Packets Based On Labels 2。BGP 3。RSVP
4)mpls工作原理(用于BGP)
IP
DATA
16
IP
DATA
3
IP
DATA
初始情况是这样的,R1、R3起IBGP并互指邻居,R2什么协议也不起。数据包要经过R1到达R3的 3.3.3.3这个地址,而R2路由表中并没有3.3.3.3这个地址,所以正常情况下数据包会在R2丢弃。
serial restart-delay 0
!
router bgp 200
bgp router-id 1.1.1.1
network 172.16.1.0 mask 255.255.255.0
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 ebgp-multihop 255
R2
mpls label protocol ldp
//启用ldp
mpls ldp router-id Loopback0 force
!
interface Loopback0
ip address 2.2.2.2 255.255.255.0
!
interface Serial1/0
ip address 192.168.2.1 255.255.255.0
R1
interface Loopback0
ip address 1.1.1.1 255.255.255.0
!
wenku.baidu.com
interface Loopback1
ip address 172.16.1.1 255.255.255.0
!
interface Serial1/0
ip address 192.168.1.1 255.255.255.0
MPLS 多协议标签交换
2010年8月25日 16:22
1)多协议标签交换MPLS最初是为了提高转发速度而提出的。与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报 文头,而不用在每一跳都分析IP报文头,从而节约了处理时间。 2)针对标签进行转发,不是针对目标IP进行转发。查看的不是路由表而是自己的标签数据库(LFIB标签转发信息库)。
注意:使用udp646端口号去发现邻居,每5S发送一次ldp去发现线路是否激活,hold(15s),接下来会用tcp646去建立会话然 后分发标签,每60s发一次,hold180s。 mpls分配标签的时候默认总为24位的做标签。 3)给路由表里的每一个条目分配一个标签。该标签位于帧报头和IP报头之间。
1。R2、R3、R4运行ospf。 2。R2、R4运行IBGP AS为100并互指邻居,R3不做BGP的配置
R1与R2、R4与R5运行EBGP,R1的as为200,R5的as为300 在R2、R3、R4之间运行mpls 3。似的R1能够ping通172.16.2.1 源自172.16.1.1
具体配置如下:
mpls ip
//在接口下开启mpls
!
分区 新分区 1 的第 2 页
!
interface Serial1/1
ip address 192.168.1.2 255.255.255.0
!
router eigrp 100
network 2.2.2.0 0.0.0.255
network 192.168.2.0
neighbor 4.4.4.4 update-source Loopback0
neighbor 4.4.4.4 next-hop-self
!
ip route 1.1.1.1 255.255.255.255 192.168.1.1
*****************************************************************************************
network 192.168.3.0
no auto-summary
*****************************************************************************************
R4
mpls label protocol ldp
//启用ldp
ip address 192.168.3.2 255.255.255.0
mpls ip
//在接口下开启mpls
!
router eigrp 100
network 4.4.4.0 0.0.0.255
network 192.168.3.0
no auto-summary
!
router bgp 100
bgp router-id 4.4.4.4
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
neighbor 2.2.2.2 next-hop-self
分区 新分区 1 的第 3 页
neighbor 2.2.2.2 next-hop-self neighbor 5.5.5.5 remote-as 300 neighbor 5.5.5.5 ebgp-multihop 255 neighbor 5.5.5.5 update-source Loopback0 ! ip route 5.5.5.5 255.255.255.255 192.168.4.2 ***************************************************************************************** R5 interface Loopback0 ip address 5.5.5.5 255.255.255.0 ! interface Loopback1 ip address 172.16.2.1 255.255.255.0 interface Serial1/1 ip address 192.168.4.2 255.255.255.0 ! router bgp 300 bgp router-id 5.5.5.5 network 172.16.2.0 mask 255.255.255.0 neighbor 4.4.4.4 remote-as 100 neighbor 4.4.4.4 ebgp-multihop 255 neighbor 4.4.4.4 update-source Loopback0 ! ip route 4.4.4.4 255.255.255.255 192.168.4.1
mpls ldp router-id Loopback0 force
!
interface Loopback0
ip address 4.4.4.4 255.255.255.0
!
interface Serial1/0
ip address 192.168.4.1 255.255.255.0
!
interface Serial1/1
但查看R1的路由表会发现,到达3.3.3.3的下一条地址是192.168.2.2,而R2是知道192.168.2.2这个条 目的,所以R1在数据包上做一个标记说明数据包是到达192.168.2.2的,这样数据包就能到达R3了,再 查路由条目即可到达 3.3.3.3 了。
具体过程是这样的,每一台路由器都会为192.168.2.2 这个路由条目产生一个标签,我们称之为 local标签。同时这个标签会它的上一台路由器传递,我们称之为out 。 如R2产生的local label是16传给 R1后在R1上就是out label了。数据包会被一out label为标签发出,如数据包离开R1时标记有16,到达R2 后查阅标签表(LFIB)将标签16换为3发出,从而到达R3。这个过程我在图中画了出来。
注意:mpls标签的原则:首先mpls会给去往目标地址的下一跳打上一个标签,标签的生成是只有路由 条目中有此路由条目才会生成,生成标签后会通告给它的所有邻居,因为标签是存在LFIB中的,而 LFIB是存在cef表中的,cef会根据路由前缀去生成一个标签;其次是标签的压入:标签的压入是根据 根据要去往的目标地址和cef表决定的,再次就是转发时候执行的动作:当下一跳地址和此路由器是直 连的话,那么下一跳地址将会给邻居发送一个空的标签,邻居接受到标签之后就会执行pop动作。转发 的时候查看的才是LFIB。另外mpls做标签的时候地址宣告的掩码必须保持一致,否则标签会不一 致!!!!