MPLS多协议标签交换

这篇具有很好参考价值的文章主要介绍了MPLS多协议标签交换。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

多协议标签交换 MPLS(Multiprotocol Label Switching)是一种网络协议,用于在数据包交换网络中高效地进行数据路由转发。MPLS通过引入标签(Label)来对数据包进行标识和分类,从而提供了更快速、灵活和可控的数据传输机制。

多协议:可以基于多种不同的3层协议来生成2.5层的标签信息

包交换:包交换是基于IP地址进行数据转发,是路由器的路由行为。

原始的包交换:数据包进入路由器后,路由器需要查询本地的路由表(RIB路由信息数据库),再基于下一跳或者目标IP查询本地的ARP表,才能进行数据的转发。

快速的包交换:一次路由多次交换。每个数据流中的第一个包将被基于原始包交换规则转发,过程中生成缓存列表,记录整个通讯过程,该数据流量剩余数据包仅查询缓存记录即可。

特快的包交换:无需路由,直接交换。 CEF-Cisco特快交换,为思科私有技术。非思科厂商设备均存在和CEF转发机制相同的技术。

路由表和ARP表,转换为 FIB(转发信息数据库)表,流量转发过程中仅查询FIB表即可。

FIB的特点:在将路由器表转换过程中,存储递归查询结果,同时将新封装的二层地址进行绑定。

IP    fast0/0          172.16.20.115(7)
    (递归后的出接口)      0 packets, 0 bytes
                  epoch 0
                  sourced in sev-epoch 357
                  Encap length 14
                  701CE7662A9768EFBD1D24C50800 新的二层封装
                  目标MAC   源MAC          类型号

标签交换:数据包在进入到的MPLS的域内后,将在第2层和3层中间压入标签号,使得域内的路由器在转发该数据包时,基于2.5层的标签号仅需要查询本地的一张LFIB表即可。(标签转发信息数据库)。

最初在包交换仅支持原始交换时,标签的意义在于更快地查询,但随着包交换的加速,使用标签交换失去了快速查表的优势。

当下MPLS存在的意义:

  • 解决BGP的路由黑洞

  • MPLS VPN

  • MPLS TE 流量工程

另外:随着包交换的加速,使得今天的MPLS技术也开始基于FIB表工作,来提高MPLS的工作效率。


MPLS工作过程

  • 控制层面:路由协议工作,生成RIB-FIB,流量的方向即为控制流量。

  • 数据层面:设备基于路由表访问目标,产生数据流量,与控制层面方向相反。

控制层面

1)在没有MPLS时控制层面仅生成RIB(路由表)和FIB(转发信息数据库),FIB是基于RIB生成的。

2)MPLS协议会启动TDP(Cisco私有)或LDP(公有),在直连设备间将建立邻居关系。

LDP基于UDP和TCP的646端口工作,先使用UDP发送组播hello包发现邻居,获取邻居IP地址,再和该直连邻居建立TCP的会话。邻居关系建立后,为了邻居关系间的稳定,一般使用设备的环回地址来建立TCP会话。建议设置环回地址为MPLS协议的route-id,该id值将携带在组播收发的hello报文中,之后自动进行TCP会话建立。

总结:MPLS协议需要在直连邻居间使用router-id来进行TCP的会话,故前提条件为,route-id必须为设备真实使用的IP地址,建议为环回地址稳定。组播hello包在直连的物理接口上收发,来获取对端的router-id,自然也要求router-id值在邻居间路由可达。

因此正常在建立LDP的邻居关系前,路由协议已经收敛完成,RIB和FIB表已经生成。

3)MPLS在建立邻居关系后,生成邻居表,LDP协议再基于FIB表中学习到的路由条目生成标签号。

思科设备默认基于FIB表中所有学习到的路由条目生成标签号,华为设备默认仅基于FIB表中32位掩码的主机路由生成标签号。原因在于正常32位主机路由为OSPF学习到的环回接口,正常在工程中只有BGP和MPLS VPN才会基于环回通讯,使用标签转发,其他普通流量还是基于特快包交换来进行。反观思科在启动MPLS以后,所有流量将基于标签转发,降低了转发效率(前提为默认)。

4)标签号生成后,将存储于本地的LIB表(标签信息数据库),LIB表将在邻居间共享。LIB表中装载本地及邻居为每条路由分发的标签号。

5)运行MPLS协议的设备,将LIB和FIB进行结合,将标签号和最佳路径的关系映射生成LFIB表(标签转发信息数据库)。

注:LFIB是控制层面生成的表

RIB—> FIB—> LIB—> LFIB 前两张表为路由协议工作后生成,后两张表为MPLS的LDP协议生成。

数据层面

1)没有MPLS协议,基于FIB表正常转发即可

2)MPLS域:MPLS的工作半径

LSR(PE):边界标签交换路由器,工作MPLS域的边缘,连接域外设备

LSR(P):标签交换路由器,整体工作MPLS域内

3)当流量进入到第一台PE设备时, 在没有特快交换之前,路由器基于目标IP地址查询本地的RIB。之后还要在LIB表中对应才能确定流量是否应该压入标签,需要两张表的查询。在存在特快交换时,流量进入第一PE时,直接查询FIB表,表中关联标签号,将直接确定是否压入标签。流量再到P路由器,接收到流量中若存在标签基于LFIB表转发,若没有标签基于FIB表即可。流量从最后一台边界离开MPLS域时将弹出标签。

存在标签号的流量,进入路由器时,入标签表应该为本地路由器分配的编号,出标签为本地的下游(下一跳)设备分配的标签号。上下游的概念基于数据层面进行标定。


标签号

标签被压入在2层与3层之间,称为2.5层

MPLS多协议标签交换

标签的格式:32位,4个字节

MPLS多协议标签交换

前20位为标签号,2^20个标签号。其中1-15号保留,作为特殊编号。

第21-23位为exp,3位8个数,为优先级,用于QoS策略使用。

第24位为栈底位,该位为1标识该标签为最后一层标签,MPLS最大可以在一个数据包中封装3次标签。

普通的MPLS一层标签, MPLS VPN两层标签,MPLS TE三层标签。

TTL为生存时间,在第一次压入标签时,将当前数据包中的3层TTL复制到标签中,之后查询一次标签TTL减一,在最后一跳设备弹出标签时将2.5层的TTL复制到3层报头中。

MPLS的次末跳(倒数第二跳 默认执行)

边界LSR将本地的直连网段传递给MPLS域内邻居后,LDP分配标签号为3,告知倒数第二跳设备它的身份。使得倒数第二跳设备在查询LFIB表后,在已知转发路径的前提下提前弹出标签,这样最后一跳路由器只需要查询FIB表。否则最后一跳路由器在查询LFIB表后,弹出标签还需要查询FIB表。


MPLS的配置

1)IP可达,使用路由协议全网可达

2)配置MPLS – LDP

[r2]mpls lsr-id 2.2.2.2  
必须先定义mpls的router-id,要为本地设备的真实ip地址,且邻居可达,因为该地址将用于建立tcp会话,建议使用环回地址

[r2]mpls  开启mpls协议
[r2-mpls]mpls ldp  再激活ldp协议
[r2-mpls-ldp]q

之后需要在所有标签经过的接口上开启协议

[r2]interface GigabitEthernet 0/0/1
[r2-GigabitEthernet0/0/1]mpls  开启mpls
[r2-GigabitEthernet0/0/1]mpls ldp  再激活ldp协议

当启动配置完成后,邻居间使用UDP报文组播收发hello包,之后基于hello包中的router-id地址进行TCP会话的建立。

[r3]display tcp status
TCPCB   Tid/Soid Local Add:port     Foreign Add:port    VPNID  State
b4cf3d64 167/6   3.3.3.3:646      4.4.4.4:50858     0    Established
b4cf3adc 167/3   3.3.3.3:50806     2.2.2.2:646      0    Established

当TCP会话建立后,邻居间基于TCP会话再建立邻居关系,生成邻居表。

[r3]display mpls ldp peer

再然后基于本地的FIB表,默认华为仅针对32位的主机路由生成标签号,存储于LIB表中,之后邻居间共享LIB表。

[r3]display fib 查看fib表
[r4]display mpls ldp lsp  查看lsp表,装载本地和邻居为各条路由分配的标签号

最后路由器将LIB和FIB集合,生成最佳路径的标签转发规则 —— LFIB

[r4]display mpls lsp 查看lfib表

注:华为默认仅针对32位主机路由分配标签

[r3]mpls 
[r3-mpls]lsp-trigger all  开启功能,将针对fib表中所有路由进行标签号的分配
[r2]tracert -v -a 2.2.2.2 56.1.1.2  查看交换过程中的标签号

MPLS解决BGP的路由黑洞

MPLS协议并不会为通过BGP协议学习的路由条目分配标签号。而是在访问这些BGP路由目标网段时,在流量中压入到达这些网段的BGP下一跳设备地址的标签号。

例:R2从BGP邻居5.5.5.5学习到6.6.6.0网段的路由,R2在访问6.6.6.0时,将在数据包中压入到达5.5.5.5IP地址的标签号,来穿越中间没有运行BGP协议的设备,实现打破路由黑洞。

注:华为设备默认不为BGP协议执行下一跳标签机制,思科默认执行。

华为设备需要开启,路由基于隧道进行递归查找

route recursive-lookup tunnel    

MPLS VPN

1)CE将私有路由传递到PE端

2)PE端在收到不同CE发送过来的相同网段路由时,使用RD值进行区分,格式 x:x 32位

3)PE端将附上RD的私有路由不能直接装载于本地公有路由表中,而是需要放置到对应的VRF(虚拟路由转发)空间内,之后再路由赋RT值,用于传递到对端PE设备,对端区分信息。

VPNV4路由 = 普通IPV4路由 + RD + RT

4)VPNV4路由需要MP-BGP来进行传递,对端基于RT值,将路由装载到对应的VRF空间内,再共享给对应的CE

5)控制层面工作完成后,数据层面需要基于MPLS来工作,由于数据层面不能携带RD/RT值
,故MPLS将在数据包中压入两层标签,外层标签用于穿越中间设备,打破BGP路由黑洞,内层标签用于对应VRF空间。

配置

ISP部分:

1、IGP路由

2、MPLS域

3、配置MPLS VPN

[r2]ip vpn-instance a   创建名为a的vrf空间

[r2-vpn-instance-a]ipv4-family   进入IPV4的配置模式下

[r2-vpn-instance-a-af-ipv4]route-distinguisher 1:1  RD值

[r2-vpn-instance-a-af-ipv4]vpn-target 1:1  RT值 必须对端的PE端一致

[r2]interface GigabitEthernet 0/0/0  进入链接CE端的接口

[r2-GigabitEthernet0/0/0]ip binding vpn-instance a 关联到vrf空间

[r2-GigabitEthernet0/0/0]ip address 192.168.2.2 24  配置私有ip地址

注:在关联到VRF空间前不能配置接口IP地址,否则该地址的直连路由将进入公有路由表。

[r2]display ip routing-table vpn-instance a  查看空间内的私有路由表

[r2]ping -vpn-instance a 192.168.2.1  正常测试将在公有路由表中查询记录;该命令为基于vrf空间a进行路由查询

4、PE与PE间建立MP-BPG邻居关系

先和对端建立正常BGP邻居关系,可用于传递正常的公网路由

[r2]bgp 2 
[r2-bgp]router-id 2.2.2.2
[r2-bgp]pe 4.4.4.4 as-number 2 
[r2-bgp]pe 4.4.4.4 connect-interface LoopBack 0
[r2-bgp]pe 4.4.4.4 next-hop-local   

同时还需要再在IPV4的家族模式中,与对端建立一个VPNV4的关系,用于传递VPNV4路由

[r2-bgp]ipv4-family vpnv4 
[r2-bgp-af-vpnv4]peer 4.4.4.4 enable
[r2-bgp]display bgp vpnv4 all peer 查看mp-bgp邻居关系

5、CE端与PE端交互路由

静态:CE端直接编写静态路由即可

PE端编写到VRF空间内的静态路由

[r2]ip route-static vpn-instance a 192.168.1.0 24 192.168.2.1

将本地VRF空间内的静态和直连路由重发布到BGP协议传递到对端的PE

[r2]bgp 2
[r2-bgp]ipv4 vpn-instance a
[r2-bgp-a]import-route direct 
[r2-bgp-a]import-route static

<r4>display bgp vpnv4 vpn-instance a routing-table 查看mp-bpg的BGP表

OSPF:CE端正常启动OSPF即可,PE端启动VPNV4专用的OSPF协议

[r4]ospf 2 vpn-instance a
[r4-ospf-2]area  0
[r4-ospf-2-area-0.0.0.0]network 192.168.3.1 0.0.0.0

之后使用双向重发布,实现路由共享

[r4]bgp 2 
[r4-bgp]ipv4-family vpn-instance a
[r4-bgp-a]import-route ospf  2 

[r4]ospf 2 vpn-instance a
[r4-ospf-2]import-route bgp  

[r4]display  mpls lsp vpn-instance a 查看双层标记的内层标签号

若有错误,欢迎指正!o( ̄▽ ̄)ブ文章来源地址https://www.toymoban.com/news/detail-739446.html

到了这里,关于MPLS多协议标签交换的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NFC无源标签协议

    无源NFC接口基于 ISO/IEC 14443-3 A 类标准; 命令+起始地址+结束地址+数据 = 1+1+1+64 = 67字节,每次写入的命令和地址都是一样的; 第一包数据必须发送该字符串数据\\\" picksmartM=1H=128W=296S=1C=1 \\\",否则不会处理后面的数据; 因为每一包的数据必须发满64字节,而第一包字符串数据不够6

    2024年02月07日
    浏览(39)
  • 交换机怎么配置RSTP协议?

    在一些通讯要求比较严格的行业,一般不允许通讯中断,那么为了防止链路因为某种原因而无法通讯,就需要将其配置成冗余链路,当主链路因为某种原因而断开时,会马上切换到备用链路,下面就结合cisco模拟软件,进行模拟实验。 1、打开cisco模拟器,按照如图方式连接服

    2024年02月08日
    浏览(37)
  • 交换机二三层协议及其详细解答

    交换机是网络设备的一种,主要用于连接多个网络设备,以实现网络通信和数据传输。交换机的协议分为两层和三层协议。 二层协议也称为数据链路层协议,常见的包括: 以太网协议(Ethernet Protocol):以太网是一种广泛应用的局域网(LAN)技术,它定义了如何在物理层和数

    2024年02月02日
    浏览(35)
  • 以太网交换机的生成树协议STP

    广播风暴 广播帧在各个交换机之间反复转发,分别按顺时针和逆时针方向不停的同时兜圈。广播风暴会大量消耗网络资源,使得网络无法正常转发其他数据帧。 主机收到反复的广播帧,会大量消耗主机的资源。 交换机的帧交换表震荡:同一个MAC地址的记录在其他错误记录直

    2024年02月14日
    浏览(46)
  • 交换机与路由器技术:动态路由协议、RIP路由协议和OSPF路由协议

    路由协议 静态路由 单向、需要管理员手动配置 动态路由 是在路由器设备上去启用某动态路由协议,进行自己直连网段的宣告从而相邻的路由器就可以学习到相邻的路由器所宣告的网段 常见的动态路由协议 RIP:路由信息协议(距离矢量路由协议) OSPF:开放式最短路径优先(内部

    2024年01月16日
    浏览(45)
  • 飞鱼星路由器标签分发协议故障的解决方法

        一、组网环境 在飞鱼星路由器的组网环境中,飞鱼星路由器A和飞鱼星路由器B直接相连,两者执行LPLS,但无法建立LDP。 二、故障分析 1、在飞鱼星路由器A与飞鱼星路由器B上运行display mpls ldp,查看飞鱼星路由器A与飞鱼星路由器B的MPLS LDP的配置信息,配置正确,排除MPLS

    2024年02月05日
    浏览(40)
  • HCIP-7.4交换机STP生成树协议原理

    在网络中交换机等交换设备会对广播数据帧进行泛洪操作。如果出现 环路 ,网络就会产生大量不断无效,循环的广播流,发生了“广播风暴”。交换设备的负载迅速增加,导致正常的数据帧传输受到了抑制,便会导致信道的拥塞,其结果往往是延时或丢帧,甚至网络瘫痪。

    2024年02月11日
    浏览(35)
  • SDN与交换机怎么实现通信 需达成什么“协议”

    什么是SDN 软件定义网络(Software Defined Network, SDN ),是Emulex网络一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制。这一虚拟化和通信领域的关键技术,已经成为业界关注的焦点,软件定义网络有可能从根本

    2024年02月07日
    浏览(44)
  • 三层交换机配置VLAN和使用OSPF协议

    1.拓扑图: 2.实验要求: (31).IP地址基于192.168.1.0/24 (2).使用OSPF (3).全网可达 3.实验思路: (1)在二层交换机配置创建VLAN,将接口划入VLAN (2)SW3,SW4上接口创建Trunk干道 (3)在SW1,SW2使用ospf实现连接 4.配置命令: 配置PC1 IP(以PC1为例)   SW3,SW4,创建vlan,并将接口划入VLA

    2024年02月16日
    浏览(37)
  • IP、MAC地址,交换机路由器,ARP、NAT协议串讲

    MAC 地址在数据链路层工作,是绑定物理网卡,出厂时决定,是独一无二的。 IP 地址在互联网的逻辑上代表一个设备,在ip地址使用到期后,ip地址会被重新分配,然后再次绑定到其他设备上。 交换机和路由器 交换机与路由器的区别: 电子设备是通过内部的网卡进行通

    2024年02月10日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包