MPLS---多协议标签交换技术
包交换技术---数据组成数据包之后,在各个网络节点不断传递,最终达到目标
包交换转发效率的不高的原因
1在整个包交换的过程中,需要先查询路由表,在查询arp表效率变低
2路由表的匹配原则,最长匹配原则
3路由表存在递归查找到原则
4IP头部是不定长的,导致我们对IP头部读取时需要使用软件经行处理,无法基于硬件进行快速查找
标签交换
标签交换是在二层和三层封装之间,添加一个和路由条目存在映射关系的标签,之后维护一张记录对应关系以及转发接口的表,携带标签的数据来到设备上,先看标签,之后基于维护的标签转发表进行转发,而不需要查看三层的内容,因为标签本身短小且定长,所以其转发效率高于包交换
但是标签交换需要先给数据包打入标签,之后到达目标前需要将标签弹出,因此,标签交换也只是转发过程中提高了效率,整体上相较于包交换并没有提升多少
包交换的变更
1进程交换---process switching---最早的包交换---每一个数据包都需要先查看路由表,之后看
ARP缓存表来确定二层内容
2快速包交换--fast switching ---基于流的包交换---一次路由,多次交换---所谓一次路由,多次
交换 当一股数据流来到设备上,我们只针对第一个数据包进行路由过程,将路由的结果和数
包的五元组记录在缓存中,之后数据流中其他数据来到设备将直接对比缓存中的五元组,相同
则直接按照转发方式经行转发,而不在进行路由过程
3思科的特快交换技术---Cisco Express Forwarding----简称CEF技术。主要是将路由表和arp缓存
表中的内容进行预读取 预读取----将该递归的进行递归运算,该查arp缓存表的提前插好,之后将
结果记录在CEF表,而CEF表支持硬件转发的,所以极大的提高流转发效率
虽然 CEF是Cisco的私有技术,但是各大厂商按照思科的思路,设计了属于自己的特快交换技术
,华为设备进行路由转发基于fib表(转发信息表),这个表支持硬件转发
但是标签交换并不是没有用处,在某些方面用处很大
1用于解决BGP路由黑洞的问题
2 MPLS VPN
3MPLS TE---流量工程---简单理解流量工程就是控制流量转发的路径
1 所有运行标签交换的路由器组成的转发网络我们看作一个MPLS网络,我们将他称为MPLS域
2我们将运行MPLS的设备称为LSR---标签交换路由器
3基于标签交换的前提首先得有标签,标签是每台LSR基于本地路由表中的路由条目生成来的,我们将所有具有相同特征(所有匹配到同一条路由条目的数据包)的数据包称为FEC---等价转发类,同一个FEC需要配置同一个标签
4每台LSR将自己的标签信息和FEC的映射信息记录在本地的一张表中,这张表称为--LIB(标签信息表)之后将fib表进行结合,生成LFIB表---标签转发信息表。
在整个过程中,LSR设备除了需要自己分配标签以外,还需要知道其他LSR设备针对于同一个FEC分配标签所以在整个标签交换一样分为两个层面---控制层面,数据层面
包交换
控制层面---路由协议数据流的方向,目的为了获取未知网段的路由信息,生成路由表
数据层面---涉笔基于已经完善的路由表(fib)来转发具体的数据信息,其方向正好与控
制层方向相反
标签交换
控制层面---基于FEC分配的标签,并获取其他LSR对同一个FEC分配的标签,之后,记录
生成lib表,之后结合fib生成lfib表----这个过程可以基于静态完成,也可以基于动
态协议完成---LDP协议--标签分发协议
控制层面---设备基于lfib表,根据标签转发
入站LSR---(ingress)MPLS域的边界,当没有标签的数据包来到入站LSR上,他需要在数据包
中压入标签。
中转LSR--- (transit)完成标签置换动作的LSR设备。
出站LSR--- (egress)---也是MPLS域的边界,完成标签的弹出动作。
整个过程中,数据层流量流动的路径为r1-r2-r3-r4,这条路径我们称为LSP---标签交换路径
需要注意LSP是单向的,如果想要数据双向来回,必须构建一条反方向的路径
Label --- 20位--- 0 - 2的20次方---我们将标签号的取值范围称为标签空间,每台LSR 设备的标签空间都是独立的。
其中:
0- 15 ----特殊标签值---我们分配的时候不能直接分配,因为每个特殊标签
都拥有其特殊的含义
16- 1023 ---一般应用于静态LSP搭建
1024 - 2的20次方---应用于LDP等动态标签交换协议来分配时使用
EXP ---占3位---做策略使用的---一般000,可以理解为优先级,优先级高则可以优先转发。
S---占1位---栈底位---标签不止可以打一个,可以打多个,我们将多个标签的有序集合称为标签栈。如果存在多个标签,需要使用这个标记位进行标识。如果是最后-一个标签,则该位置1,如果不是,则置0。
构建静态LSP
1保证路由条件---静态只需要边界设备拥有来回路由信息即可
配置LSR
入栈LSR:
1给LSR配置LSR-ID---32位二进制构成,都是按照ip地址格式来写,但是只能手动配置
LSR-ID建议使用环回接口
[r1]mpls lsr-id 1.1.1.1
2激活MPLS
1全局激活MPLS
[r1]mpls
2接口激活MPLS---所有需要参加MPLS数据收发的接口都需要激活
[r1-GigabitEthernet0/0/0]mpls
构建静态的LSP
[r1]static-lsp ingress 1to4 destination 4.4.4.0 24 nexthop 12.0.0.2 out-label 1000
1下一跳nexthop----必须和路由表中的下一跳相同
2out-labe出站标签----下一跳设备接受后需要根据这个标签判断数据到达哪
一个网段
中转LSR
前两步一样
构建静态的LSP
[r1]static-lsp transit 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 1000 nexthop 23.0.0.2 out-label 1001
in-label 入栈标签---必须和上一跳配置的出栈标签相同
出站LSR
[r1]static-lsp egress 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 1001