目录

BGP的路由过滤

1)通过路由策略进行过滤

2)通过前缀列表来进行过滤

3)通过过滤列表进行过滤

BGP的社团属性

1)社团属性的基本知识

2)四种公认的社团属性

3)社团属性的有关配置

MPLS基础知识

1)了解两种交换与MPLS的原理

(1)标签交换

(2)包交换

(3)MPLS交换原理

2)MPLS主要应用的领域

3)通过图了解MPLS数据的流动方式

(1)MPLS域与表的相关概念

(2)两种交换方式不同层面的数据流动

(3)MPLS数据流动的三个过程

4)MPLS标签报文的内容

(1)LABEL

(2)EXP

(3)S

(4)TTL


BGP的路由过滤




mpls 配置 mpls lsr_前端


 接着使用上图进行路由过滤编写,现给R1上加一条192.168.1.0 /24的网段进行过滤配置

1)通过路由策略进行过滤


[r1]ip ip-prefix aa permit 192.168.1.0 24 
 
[r1]route-policy aa deny node 10 
 
Info: New Sequence of this List. 
 
[r1-route-policy]if-match ip-prefix aa 
 
[r1-route-policy]q 
 
[r1]route-policy aa permit no 20 
 
Info: New Sequence of this List. 
 
[r1-route-policy]q 
 
[r1]bgp 1 
 
[r1-bgp]peer 12.0.0.2 route-policy aa export



2)通过前缀列表来进行过滤


[r2]ip ip-prefix aa deny 192.168.1.0 24 
 
[r2]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32 
 
[r2]bgp 2 
 
[r2-bgp]peer 12.0.0.1 ip-prefix aa import



3)通过过滤列表进行过滤


[r3]acl 2000 
 
[r3-acl-basic-2000]rule deny source 192.168.1.0 0 
 
[r3-acl-basic-2000]rule permit source any 
 
[r3-acl-basic-2000]q 
 
[r3]bgp 2 
 
[r3-bgp]peer 13.0.0.1 filter-policy 2000 import



BGP的社团属性


mpls 配置 mpls lsr_网络_02


1)社团属性的基本知识


社团属性可以类似的理解为路由标记。我们可以给不同的BGP路由当中打入不同社团属性,之后,携带社团属性进行通告,之后,便可以根据路由中的社团属性抓取流量,制定策略。如图所示生产网段与办公网段可以做成不同的社团属性,以来制定不同的策略。


社团属性本身其实就是个标号,用来区分路由的 --- 由32位二进制构成


两种写法:


1,直接十进制表示


2,十六位:十六位 --- 前16位设定为该路由所在AS的AS号,后16位为自定义编号。


注意,一条路由中可以打入多个社团属性


2)四种公认的社团属性


BGP当中,也定义了几个公认的社团属性


1,0X00000000 ---- internet


所有BGP路由默认属于这个名称为“internet”的社团中。如果我们使用路由过滤器匹配社团属性为internet的路由时,将匹配到任意一条BGP路由


2,0XFFFFFF02 --- no - advertise


被打上这个社团属性的路由将不被通告给其对等体


3,0XFFFFFF01 --- no - export


被打上这个社团属性的路由间无法通告给自己的EBGP邻居(不包括联邦的EBGP邻居)


4,0XFFFFFF03 --- no - export - subconfed


被打上这个社团属性的路由间无法通告给自己的EBGP邻居,包括联邦的EBGP邻居


3)社团属性的有关配置


mpls 配置 mpls lsr_前端_03


通过上图进行配置 


[r1]route-policy aa permit node 10 
     
Info: New Sequence of this List. 
     
[r1-route-policy]apply community 
     
[r1-route-policy]apply community no-advertise ---- 在路由信息中添加社团属性


[r1-bgp]peer 12.0.0.2 advertise-community ---- 各大厂商默认传递BGP路由信息时不通告社团属性,所以,必须通过此命令让社团属性正常通告。


通过社团属性过滤表抓流量


[r1-bgp]network 172.16.1.0 24 route-policy com1 ---- 发布流量时更改属性 
      
[r1-bgp]network 172.16.3.0 24 route-policy com2 ---- 发布流量时更改属性      
            
[r1]ip community-filter 1 permit 1:11 --- 通过community-filter来抓流量 
      
[r1]ip community-filter 2 permit 1:22 
      
[r1]route-policy bb deny node 10 
      
[r1-route-policy]if-match community-filter 1 --- 调用社团属性过滤器
      
[r1-route-policy]q 
      
[r1]route-policy bb permit node 20 
      
Info: New Sequence of this List. 
      
[r1-route-policy]if-match community-filter 2 
            
[r1-route-policy]apply community no-export additive --- 注意,添加多个社团属性需要后面加参数 -- additive 
      
[r1]route-policy bb permit node 30 --- 空表放通所有 
      
r1]bgp 1 
      
[r1-bgp]peer 12.0.0.2 route-policy bb export ---- 调用


MPLS基础知识


MPLS --- 多协议标签交换


1)了解两种交换与MPLS的原理

(1)标签交换


在二层封装和三层封装之间,添加一个和路由条目存在映射关系的标签,之后,维护一张记录对应关系和转发接口表,之后,携带标签的数据来到设备上,将先看到标签,之后基于维护的表进行转发,而不再看三层发IP数据。 ----- 因为标签本身短小且定长,所有,转发效率会高于包交换。 但是,由于标签交换过程需要由压入标签和弹出标签的动作,所以,整体对包交换效率的提升并不明显。


(2)包交换


包交换 --- 数据组成数据包,在网络中的各个节点传递,最终到达目标 --- 路由转发的过程


1,查两张表 --- 路由表和ARP缓存表


2,路由表的匹配原则 --- 最长匹配原则


3,递归查找


4,IP包头可边长 --- 则只能通过软件进行处理


包交换的优化过程:


1,进程交换:最早期的包交换 --- 就是每个数据包来到设备都需要去基于目标IP查看路由表及ARP缓存表来进行转发。


2,快速包交换:基于流的包交换 ---- 一次路由多次交换 ---- 只有第一个数据包需要执行包交换的过程


3,思科的特快交换(Cisco Express Forwading)--- CEF --- 对路由表和ARP缓存表中的内容进行预读取(路由表中需要递归查找的先递归好)记录在CEF表中。并且这个CEF表可以支持硬件处理。


虽然CEF是思科的私有技术,但是,各个厂商结合原理也都开发出了自己的特快交换技术。华为设备在进行数据转发时,就查看的不是路由表,而是FIB表(转发信息数据库),该表支持硬件处理转发。


(3)MPLS交换原理


mpls其实就是和包交换结合共同发展的标签交换技术。---- 因为标签生成需要识别三层协议,而MPLS称为多协议标签交换,因为他可以识别和兼容多种三层协议。


2)MPLS主要应用的领域


(1)用来解决BGP的路由黑洞


(2)MPLS VPN


(3)MPLS TE --- 流量工程 --- 可以简单理解为控制流量转发的路径。


3)通过图了解MPLS数据的流动方式


mpls 配置 mpls lsr_数据_04


(1)MPLS域与表的相关概念


所有运行MPLS设备组成的网络,我们可以称为是一个 MPLS域 。域中所有运行MPLS的设备都可以被称为 LSR(标签交换路由器) 。


这个标签是每台路由器基于自己路由表中的路由条目生成的,是路由器的个人行为。


在MPLS中,我们把具有相同特征的数据报称为FEC --- 等价转发类 ---- (简单理解为匹配到同一条路由条目的所有数据报文都属于同一 个FEC)。一个FEC分配一个标签。


LIB表 --- 标签信息表


LFIB表 --- 标签信息转发表 --- LIB表和FIB表结合的产物 --- 主要记录的就是标签编号和出接口及下一跳的对应关系。在整个过程中,所有MPLS域中的LSR除了自己针对某个FEC生成的标签


外还需要获取其他LSR对相同FEC分配的标签。


(2)两种交换方式不同层面的数据流动


包交换


控制层面 :路由协议的数据流的流动方向,目的是为了获取未知网 段的路由信息生,成路由表。


数据层面 :基于设备已完善的路由表(FIB),来转发具体的数据到达目标网段。其方向正好和控制层面相反。


标签交换


控制层面:基于FEC分配标签,并且获取其他LSR对相同FEC分配的标签。记录在本地LIB表中,再结合FIB表生成LFIB表。(控制层面的功能可以通过静态手工配置来完成,也可以通过动态协议来完成 --- LDP协议:标签分发协议。)


数据层面:设备基于LFIB表,根据标签进行转发


(3)MPLS数据流动的三个过程


结合上面的图来分析:


1.入站LSR(Ingress LSR)


R1这台设备为进入MPLS域中的数据压入标签,所以,这样的设备我们称为 --- 入站LSR(Ingress LSR)


2.中转LSR(transit LSR)


R2向R3传输MPLS信息时,在这个过程中,R2完成了一次标签的置换动作,这样的LSR我们称为 --- 中转LSR(transit LSR)


3.出站LSR(egress LSR)


R4是MPLS域的一个边界,完成的是标签的弹出动作,这样的LSR我们称为 --- 出站LSR(egress LSR)


总结:


整个数据层面数据流动的路径为R1 - R2 - R3 - R4,我们把这条路径称为LSP --- 标签交换路径


一般一个FEC会对应一条LSP 。特别注意,LSP是分方向的,如果需要实现数据的双向互通,则必须搭建两个方向的LSP才行。 LSP的搭建方法 --- 静态,动态LDP


 

4)MPLS标签报文的内容

mpls 配置 mpls lsr_云计算_05

(1)LABEL


LABEL --- 20位 --- 取值范围为0 - 2的20次方。我们把标签的取值范围称为标签空间,每台设备的标签空间是独立了。


1,0 - 15 ---- 特殊标签值,我们在分配时一般不用这些标签,因为他们具有特殊含义


2,16 - 1023 ---- 一般用于静态LSP搭建使用


3,1023 - 2的20次方 ---- LDP等可以动态分配标签的协议使用的标签号的范围


(2)EXP


EXP --- 占3位 --- 主要做策略用的。一般情况下为 000 ,可以理解为优先级,数值越大,优先级越高,可以优先转发。


(3)S


S --- 占1位 --- 栈底位 --- 我们把标签头部组成有序序列称为标签栈。 ---- 该位为1,则代表是最后一个标签,为0,则代表还有后续标签需要处理。


(4)TTL


TTL --- 相当于讲TTL值换了个位置进行计数,当入站时将IP协议封装时的TTL值拿过来使用,出站时又将使用过的TTL值返还给IP协议,作用和目的与IP协议中都是一样的。