1、通过路由策略来进行过滤
2,通过前缀列表进行过滤
3、通过filter-policy来进行过滤
BGP的社团属性就类似于路由的一个标记,本质上由32位二进制构成----1,直接使用十进制来标志;2,十六位二进制:十六位二进制----一条BGP路由当中不一定只打一个社团属性,可以打多个。
在BGP当中,定义了几个公有的社团属性。
配置社团属性的策略:
[r1]route-policy com permit node 10
[r1-route-policy]apply community ?
INTEGER Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
internet lnternet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known communityattributes)
no-export Do not export to external peers(well-known communityattributes)
no-export-subconfed Do not send outside a sub-confederation(well-known community attributes)
none No community attribute
[r1-route-policy]apply community no-advertise
[r1-bgp]peer 12.0.0.2 route-policy com export ----在BGP进程中调用
[r1-bgp]peer 12.0.0.2 advertise-community ----在进程中开启社团属性的传递性,华为默认关闭了其传递性。
自定义社团属性:
1,做路由策略
[r1]route-policy com1 permit node 10
lnfo: New Sequence of this List.
[r1-route-policy]apply community ?
INTEGER Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
internet lnternet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known communityattributes)
no-export Do not export to external peers(well-known communityattributes)
no-export-subconfed Do not send outside a sub-confederation(well-known community attributes)
none No community attribute
[r1-route-policy]apply community 1:11
2,在发布路由时调用路由策略
[r1-bgp]network 172.16.4.0 24 route-policy com2
3,根据社团属性抓取流量
使用社团属性过滤器来抓取---- community-filter
[r1]ip community-filter 1 permit 1:11
4,根据抓取到的流量配置策略
[r1]route-policy aaa deny node 10
lnfo: New Sequence of this List.
[r1-route-policy]if-match community-filter 1
[r1]route-policy aaa permit node 20
Info: New Sequence of this List.
[r1-route-policy]if-match community-filter 2
[r1-route-policy]apply community no-export ?
INTEGER Specify community number
STRING<3-11> Specify aa:nn<0-65535>
additive Add to the existing community
internet lnternet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community attributes)
no-export Do not export to external peers(well-known community attributes)
no-export-subconfed Do not send outside a sub-confederation(well-known community attributes)
Please press ENTER to execute command
[r1-route-policy]apply community no-export additive ----在原有社团属性的基础上增加社团属性
[r1]route-policy aaa permit node 30
Info: New Sequence of this List.
5,在BGP进程中调用路由策略
[r1-bgp]peer 12.0.0.2 route-policy aaa export
MPLS:多协议标签交换技术
包交换:数据组成数据包,之后,在各个网络节点中不断传递,最终到达目标。
包交换转发效率不高的问题所在:
标签交换
标签交换在二层和三层封装之间,添加一个和路由条目存在映射关系的标签,之后维护一张记录对应关系及转发接口的表,携带标签的数据来到设备上,先看标签,之后基于维护的标签转发表进行转发,而不再需要查看三层的内容。因为标签本身短小且定长,所以,其转发效率将高于包交换。
但是标签交换需要先给数据包中打上标签,之后在到达目标之前还需要将标签弹出,因此,标签交换只是在转发过程中提高了效率,整体上相较包交换提升并不明显。
包交换的变更:
虽然CEF技术是思科的私有技术,但是各大厂商也基于其思路设计出了属于自己的特快交换技术。华为设备在进行路由转发时就基于FIB(转发信息表),这个表是支持硬件转发的。
虽然标签交换无法替代包交换成为主流的转发技术,但是,依然和包交换在共同的发展,MPLS就是包交换和标签交换共同发展的产物,主要因为在一些领域下,标签交换可以做到更好:
基于标签交换前提首先得有标签,标签是每台LSR基于本地的路由表中的路由条目来生成的。我们将所有具有相同特征(所有匹配到同一条路由条目的数据包)的数据包称为FEC----等价转发类。同一个FEC需要配置同一个标签。
每台LSR将自己的标签和FEC的映射信息记录在本地的一张表中,这张表被称为----LIB(标签信息表)。之后,将和FIB表进行结合,生成LFIB表----标签转发信息表。
在整个过程中,LSR设备除了需要自己分配标签以外还需要知道其他LSR设备针对同一个FEC分配的标签,所以,标签交换和包交换一样也分为两个层面----控制层面,数据层面
包交换
控制层面----路由协议的数据流方向,目的是为了获取未知网段的路由信息,生成路由表。
数据层面----设备基于已经完善的路由表(FIB)来转发具体的数据信息,其方向正好和控制层流量相反。
标签交换
控制层面----基于FEC分配标签,并获取其他LSR对同一个FEC分配的标签,之后,记录生成LIB表,之后结合FIB生成LFIB表----这个过程可以基于静态来完成,也可以基于动态协议来完成----LDP协议----标签分发协议
数据层面----设备基于LFIB表,根据标签进行转发。
整个过程中,数据层流量流动的路径为R1-R2-R3-R4,这条路径我们称为LSP----标签交换路径。需要注意的是,LSP是单向的,如果想让数据双向来回,则还需要构建一条R4-R3-R2-R1的路径。
Label ---- 20位---- 0-2的20次方—我们将标签号的取值范围称为标签空间,每台LSR设备的标签空间都是独立的。其中:
EXP----占3位----做策略使用的----一般000,可以理解为优先级,优先级高则可以优先转发。
S----占1位----栈底位----标签不止可以打一个,可以打多个,我们将多个标签的有序集合称为标签栈。如果存在多个标签,需要使用这个标记位进行标识。如果是最后一个标签,则该位置1,如果不是,则置0。
TTL----生存时间—和三层的TTL值一样,主要目的是为了防止数据包在环路中无限循环下去。数据来到入站LSR时,将把三层的TTL值复制到标签中,在MPLS域中每经过一次转发,TTL减1,之后,在出站LSR上弹出标签,再将标签中的TTL值复制到三层包头中。
构建静态LSP:
1、保证路由条件----静态只需要边界设备拥有来回路由信息即可
2、配置LSR