admin 管理员组文章数量: 887021
MPLS
ISO位于二层和三册之间,可认定为是2.5层
VPN/虚拟私有网络的分类:
- 传统的VPN:
- PPPoE
- PPTP
- L2TP
- 站点之间的基于互联网的IPSec
- MPLS VPN
传统IP的缺陷
- 路由器逐跳转发,最长匹配查找
- 传统IP流量工程切换,备份,转发的问题
术语定义
-
LER/Label Edge Router:处于MPLS域边缘的路由器,用于打标签和删除标签
-
LSR/Label Switch Router:处于MPLS域内,用于标签交换的路由器
-
LSP/Label Switch Path: MPLS生成的路径,是单向的
-
LDP/Label Distribution Protocol/标签分发协议: MPLS 体系中的一种主要协议。在 MPLS 网络中,两个标签交换路由器(LSR)必须用在它们之间或通过它们转发流量的标签上达成一致。[用UDP去发现邻居,TCP去建立邻居,目的端口号都为646]
-
ISP/Internet Service Provider/互联网服务提供商:指的是面向公众提供下列信息服务的经营者:
- 一是接入服务,即帮助用户接入Internet
- 二是导航服务,即帮助用户在Internet上找到所需要的信息
- 三是信息服务,即建立数据服务系统,收集、加工、存储信息,定期维护更新,并通过网络向用户提供信息内容服务。
-
PE/Provider Edge:服务提供商骨干网的边缘路由器,它相当于标签边缘路由器(LER)。
-
CE/Customer Edge/用户边缘设备:是服务提供商所连接的用户端路由器。CE路由器通过连接一个或多个PE路由器,为用户提供服务接入。CE路由器通常是一台IP路由器,它与连接的PE路由器建立邻接关系。
-
P/Provider
标签的空间范围
- 0-15:特殊标签
- 16-1023:静态LSP和静态CR-LSP/Constraint-based Router Label Switch Path的共享的标签空间
- 1024即以上:LSP,RSVP-TE,MP-BGP等动态信令协议的标签空间
MPLS 结构
-
控制平面:负责产生和维护路由信息以及标签信息
- 路由信息表/RIB/Routing Information Base:由IP路由协议(IP Routing Protocol)生成,用于选择路由
- 标签分发协议/LDP/Label Distribution Protocol:负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作
- 标签信息表/LIB/Label Information Base:由标签分发协议生成,用于管理标签信息
-
转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发
- 转发信息表/FIB/Forwarding Information Base:从RIB提取必要的路由信息生成,负责普通IP报文的转发
- 标签转发信息表/LFIB/Label Forwarding Information Base:简称标签转发表,由标签分发协议在LSR上建立LFIB,负责带MPLS标签报文的转发
MPLS帧模式封装
MPLS Header包含(总长度4byte):
- 标签长度20bit
- EXP/Expermental Use:3 bit,用于QoS
- S/Bottom Of Stack:1 bit,用于区分标签嵌套的结束
- TTL: 8bit,防止环路和数据无限转发
MPLS环路检测
- IGP的环路检测机制
- TTL环路检测
- 帧模式的MPLS中使用TTL
- 信源模式的MPLS中不使用TTL
- LDP环路检测机制
- 距离向量法
- 最大跳数法
基本MPLS配置
- 必须有IGP或静态路由
- mpls lsr-id x.x.x.x–配置标签交换路由器的ID,该地址必须在全局路由可达,否则无法发现、建立邻居或邻居不稳定
- mpls–全局开启mpls
- mpls ldp–全局开启mpls的ldp/标签分发协议
- 接口上配置:mpls和mpls ldp
- tracert lsp ip 44.1.1.1 32----用该命令测试LDP的配置
MPLS标签的转发/标签的行为
- PUSH Label:存在于入口的PE;会根据FEC/转发等价类(一般意义上是一个前缀)压入一个标签
- SWAP:存在于P;进行标签的交换
- POP:移除/弹出一层标签
MPLS 对TTL的处理/TTL的繁衍
- 在进入MPLS域内的时候复制IP的TTL,即既有IP的TTL又有MPLS的TTL
- 在MPLS域内只对MPLS 的TTL进行计算
- 出MPLS域的时候,将MPLS的TTL复制到IP的TTL,并删除MPLS的TTL
- 有时候需要关闭MPLS的TTL复制功能,如不希望边缘用户/CE知道PE内的具体信息
- 建议在配置MPLS的时候也配置关闭TTL
- 命令:在mpls视图下配置undo ppl propagate public
LDP
用来在LSR之间建立LDP Session 并交换Label/FEC映射信息的协议
用UDP去发现邻居,TCP去建立邻居,目的端口号都为646
LDP发现机制–hello
- 基本发现机制:发现直接连接在同一链路上的LSR邻居,目的地址224.0.0.2(224网段的组播地址的TTL值都为1)
- 扩展发现机制:发现非直连的LSR邻居,单播形式
LDP Session建立和维护----Initiation+KeepAlive
LDP的邻居状态:
基于平台的标签空间:
- 如LDP ID 的11.1.1.1:0中的:0代表基于平台
- 对一个前缀向所有的邻居发送相同的标签
- 两个设备之间有多个运行LDP的链路,但是会话依旧只有一个
- 只有出接口没有入接口
LDP的标签发布方式/Label Advertisement Mode:
- 下游自主方式/DU/Downstream Unsolicited:默认情况下的标签分发方式,对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发;华为设备默认情况下只针对32位的路由来分发标签(因此在配置接口IP时应该配置成32位的后缀)(思科设备是对所有的静态和igp路由分发标签);下游分配的标签供上游使用的
- 下游按需方式/DoD/Downstream on Demand:需要上游请求,下游设备才会进行标签的分配与分发
LDP的标签分配方式/Label Distribution Control Mode:
- 定义:在LSP的建立过程中,LSR分配标签时采用的处理方式。
- Independent/独立标签分配控制方式:本地LSR可以自主地分配一个标签绑定到某个FEC,并通告上游LSR,而无需等待下游的标签
- Ordered/有序标签分配控制方式:默认的标签分配方式,对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息、或者该LSR就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射
LDP标签的保持方式/Label Retention Mode:
- 定义:对LSR收到的、但目前暂时不需要的标签映射的处理方式
- Conservative/保守:对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳才保留
- Liberal/自由标签保持方式:默认的方式;对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留,可以更快速地切换
LDP的一些调整:
- local:默认的用mpls lsr-id 的地址来建立邻居
- 用直连接口来作为transport地址:接口视图下配置 mpls ldp transport-address interface
- 建立远端LDP会话:
- mpls ldp remote-peer name
- remote-ip x.x.x.x
- 需要两端对指
PHP/次末跳弹出:
-
原本在MPLS的最后一跳需要查找FIB和LFIB,而MPLS域内PE又多,会造成效率低,因此有了PHP
-
PHP:在倒数第二跳收到了来自末跳设备的特殊标签(3,即隐式空标签,默认行为;0,即显示空标签~用于QoS)
- 显示空标签配置:mpls下配置label advertise explicit-null
- 隐式空标签配置:mpls下配置label advertise implicit-null
-
严格意义上不是只有最后一跳才做,任何设备都会做
LDP与IGP同步:
- 产生背景:由于LDP的收敛速度依赖于IGP路由的收敛,即LDP的收敛速度比IGP的收敛速度慢,因此可能导致:
- 当主链路发生故障时,IGP路由和LSP均切换到备份链路上。但当主链路从故障中恢复时,由于LDP的收敛速度低于IGP,IGP会先切换回主链路,因此会造成LSP流量损失
- 当主链路IGP正常但主链路的LDP会话发生故障时,由于IGP仍在使用主链路而备份链路不存在IGP,导致LSP链路无法建立,造成LSP流量丢失
- 当某节点发生主备倒置时,LDP会话的建立可能晚于IGP的GR/Graceful Restart结束,从而发布链路的最大开销值,造成路由震荡
- 三个定时器:
- Hold-down timer:用于抑制IGP邻居建立的时长
- Hold-max-cost timer:用于控制通告接口链路的最大cost值的时长
- Delay timer:用于控制等待LSP建立的时间
静态LSP
-
产生背景:LDP是动态方式通告标签,一般情况下都使用LDP建立LSP,但若LDP协议出现问题,可能导致MPLS流量的丢失,因此对于某些关键数据或重要业务,通过配置静态LSP来确定传输路径
-
特点:静态LSP需要通过手工配置来实现,不需要交互控制报文,资源消耗比较小,但通过静态方式建立的LSP不能根据网络topo变化动态调整,需要管理员预干涉,所以适用于topo简单且稳定的网络
-
配置原则:
- 上一节点的出标签等于下一节点的入标签
- 范围是16~1023
- 需要在Ingress/入口PE、Transit/传输P设备和Egress/出口PE上配置(因为LSP是单向的而数据包有来有回,因此在每个需要配置的设备上都需要配置双向)
-
基本配置代码:
-
Ingress/入口PE的配置:
- system-view视图下:
- static-lsp ingress name destination IP-address mask nexthop IP-address out-label number
-
Transit/传输P设备的配置
- system-view视图下:
- static-lsp transit name incoming-interface g0/0/1 in-label number1 nexthop IP-address out-balel number2
-
Egress/出口PE的配置:
- system-view视图下:
- static-lsp egress 14 incoming-interface g0/0/2 in-label number
▲因为LSP是单向的,所以不要忘记建立双向的LSP
-
MPLS VPN
典型的具有两层标签:
- 其中外层标签/公网标签是LDP分发的
- 内层标签/VPN的标签/私网标签是MP-BGP协议(VPNV4)来自动分发的(每个VPNV4分配一条标签,仅出口PE了解内层标签,中间设备不关心内层标签)。
VRF/Virtual Route Forwarding/虚拟路由器转发:相当于把一个路由器划分成多个子虚拟路由器,不同的虚拟子路由器之间相互隔离(VRP,FIB等都隔离)
-
VPNv4的路由:96位的=64位的RD+32位的IP
-
关键参数:
- RD/route-distinguisher/路由区分符:64位长,必须拥有,建议RD是惟一的;目的是解决在PE和PE之间更新VPNv4路由的时候解决潜在的路由重叠问题
-
RT/route-target/路由目标:用来控制收发VPNv4的路由
-
通常只在PE上配置
VPN实例/VPN Instance:即VPN路由转发表/VRF
- 不同的VPN之间的路由表通过VRF实现
- PE上存在多个路由转发表,包括一个公网/全局路由转发表,以及一个或多个VPN路由转发表
- 一个VPN实例/Site可以拥有多个接口,但一个接口只能属于一个VPN实例
MP-BGP:
- 多个PE之间需要全互联或者需要有RR
- 采用不同的地址族来区分不同的网络层协议,以便正确处理VPN-IPv4路由
- IPv4的单播
- IPv4的VPNv4地址族
- IPv4的vpn-instance的地址族
- …
- 在PE设备间更新什么内容:
- 96位的VPNv4
- 对应的内层标签
- 其他属性(metric,ext-community等)
- PE和CE的交互:
- PE必会运行MP-BGP
- 如果客户端是IDG协议则需要双向重分布
- 如果客户端是静态路由,需要手工书写静态路由指向客户站点,然后重发布到BGP的vpn实例中
- 如果客户也是BGP协议,需要在BGP的vpn实例中激活邻居
基本配置–PE端:
- 1.配置SP内的IGP(OSPF,ISIS等),以确定路由可达
- 2.配置LDP(具体命令见上),以为BGP配置更新源,确保外层的LSP是连续的
- 3.ip vpn-instance Name —为每个客户配置vpn实例
- router-distinguisher 100:1 --配置RD
- vpn-target 100:14 export-extcommunity —配置RT的出方向
- vpn-target 100:14 import-extcommunity —配置RT的入方向
- 4.isis 1 vpn-instance Name --配置与CE相关的IGP,此处注意要绑定vpn实例,否则该ISIS为全局协议
- is-level level-2
- cost-style wide
- network-entity 49.2525.0000.0000.0001.00
- import-route bgp —bgp重分布到isis
- 5.int g0/0/1 —用户祥光的接口绑定vpn实例
- ip binding vpn-instance Name —在接口上绑定VPN实例
- ip add 15.1.1.1 24 --配置IP地址,此时的IP地址不是全局范围的单播地址(若在绑定vpn实例之前配置了IP地址,可能会被删除)
- isis enable —需要先绑定vpn实例后再绑定isis,否则会报错
- 6.bgp 100 ----配置mp-bgp
- peer 11.1.1.1 as-number 100
- peer 11.1.1.1 connect-interface loopback0
- ipv4-family unicast
- undo synchronization
- undo peer 11.1.1.1 enable --关闭默认的单播邻居,该设备不需要承载默认的IPv4单播路由
- ipv4-family vpnv4
- policy-target —对收到的VPN路由或者标签进行VPN-Target过滤,是系统的默认命令
- peer 11.1.1.1 enable --配置使能vpnv4邻居
- ipv4-family vpn-instance Name
- network 15.1.1.0 24 --宣告网段
- import-route isis 1 —isis重分布到bgp
- 7.测试
- ping -vpn-instance Name 15.1.1.5 ----若要ping测试,需要加“-vpn-instance”内容
- tracert lsp ip 44.1.1.1 32----用该命令测试LDP的配置
- display bgp vpnv4 vpn-instance Name routing-table
- display ip routing-table vpn-instance Name
MPLS VPN和OSPF:
- 存在的问题:在MPLS VPN的场景下的OSPF,改变了框架,PE设备成为ABR。MPLS区域被认为是超级区域0,所以得到了区域间的路由/inter-area[会造成问题,如若两个CE之间存在直连的低速备份链路,那么路由就不会走MPLS域而是走直连的备份链路]
- 解决方法:还原MPLS环境下的OSPF的LSA的技术:sham-link
- 在PE设备上运行
- 1.int loop 10 —新建一个虚拟接口
- ip binding vpn-instance Name --绑定vpn实例
- ip address 10.10.10.10 32 --必须是32位的
- 2.bgp 100
- ipv4-family vpn-instance Name
- network 10.10.10.10 32 --宣告loop 10
- ipv4-family vpn-instance Name
- 3.ospf 1 —在ospf中建立sham-link.默认的cost为1,不要没事干修改cost否则可能被备份低速链路抢先
- area 0
- shame link 10.10.10.10 destin-ip/40.40.40.40
- area 0
MPLS VPN和BGP:
- 问题:因为同一个CE/vpn实例若运行的是BGP协议,那么他们的AS号就会配置成相同,在CE1通过MPLS传递给CE2的时候,因为AS_Path的放环机制,会丢弃传递过来的路由
- 解决方法1:PE设备改写AS_Path
- bgp 100
- ipv4-family vpn-instance Name
- peer 15.1.1.5 substitute-as --核心命令,配置CE的AS号为自己的AS号(即若原来是 100 64241该命令后AS会被改为100 100)
- ipv4-family vpn-instance Name
- bgp 100
- 解决方法2:配置SoO/Set of Origin:不常见
QinQ/dot1Q in dot1Q
描述:类似于MPLS VPN(L3 VPN),该为L2 VPN,也存在两层标签(私网+公网),封装双层VLAN Tag
优点:
- 解决日益紧缺的公网VLAN ID资源问题(原本只有4096个Vlan可供使用,该技术将可使用的Vlan扩展到4096*4096个)
- 用户可以规划自己的私网VLAN ID
- 提供一种较为简单的二层VPN解决方法
- 使用户网络具有较高的独立性
数据转发流程:
QinQ的类型:
- 基于端口的QinQ
- 灵活QinQ:相对于基于端口的QinQ,灵活QinQ可以根据如报文的外层Vlan及802.1P来选择加入或不加入S-Vlan tag,并且S-Vlan tag可配置
基本配置:
- 基于端口的QinQ:
- 在PE的与CE相连接的接口视图下配置
- port link-type dot1q-tunnel —开启QinQ
- port default vlan 3 —配置外层tag
- 在PE的与CE相连接的接口视图下配置
本文标签: 笔记 routing HCIP amp IENP
版权声明:本文标题:[个人笔记]HCIP-Routing & Switching-IENPH12-222 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726803411h1031361.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论