第十五天
静态手工搭建LSP
入站LSR:
1定义设备的LSR-ID,类似于RID,也是由32位二进制构成,按照IP地址的格式进行配置,但是,只能手动配置。一般我们习惯使用设备的环回接口的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
3)手工配置LSP
[r1]static-lsp ingress 1to4 destination 4.4.4.0 24 nexthop 12.0.0.2 out-label 1000
这个下一跳必须和路由表中到达目标网段的下一跳相同
out-label ,出站标签,数据从R1发出后压入的标签号
中转LSR:
[r2]static-lsp transit 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 1000 nexthop 23.0.0.2 out-label 1001in-label(入站标签,数据进入时识别的标签,需要和前面的出
站标签一致
出站LSR:
[r4]static-lsp egress 1to4 incoming-interface GigabitEthernet 0/0/0 in-label 1002
[r4]display mpls static-lsp(查看静态LSP
静态搭建需要网络管理员在沿途所有LSR上进行配置,任何环节出错,都可能导致流量转发中断。而且静态LSP无法基于拓扑变化而自动收敛,当拓扑结构发生变化时,网络管理员需要手工修改。因此,静态LSP仅适用于规模较小,并且拓扑稳定的网络。
LDP,标签分发协议,主要服务于MPLS的控制层面, IGP时LDP协议的基础,需要先创造路由环境才行。
LDP(分配标签,传递标签
分配标签:激活LDP后,LDP会在本设备上为FEC分配标签,注意,并不是对所有的FEC都分配标签,他只对如果自己是某个FEC的出站LSR是,才主动为这个FEC分配标签。
分配方式,有序方式:只有自己是某个FEC的出站LSR时才会主动分配标签,其他设备分配标签需要先收到FEC和标签的对应关系,之后进行检查(检查自己路由表中是否存在到达这个FEC的路由,以及下一跳和通告者是否相同),检查通过后才去分配标签,华为设备默认采用的是有序分配方式
独立方式:设备可以自己自主对FEC分配标签而不需要等待其他设备的通告
传递标签
R4将标签和FEC的映射关系传递给R3的前提条件是,R4和R3必须是LDP对等体关系,而建立对等体关系的前提是R3和R4之间必须建立LDP会话。
LDP对等体关系分为两种, 本地LDP会话:直连的两个设备之间建立LDP会话
远程LDP会话:并不一定是直连设备,可以通过手工指定的方式去远程建立LDP会话。 非直连建邻 TCP
LDP在进行本地LDP会话建立时,不需要手工指定,本地LDP会话会周期性的发送组播hello包进行发现邻居。因为Hello包是组播发送,所以,传输层只能使用UDP协议进行封装。
1先在LSR上激活LDP协议,我们LSR的接口将开始周期发送hello包来发现LDP对等体
hello包采用UDP的646号端口进行通讯。源和目标都是646
Hello包中将携带自己的LDP ID和传输地址等
传输地址:默认使用的是我们配置的LSR-ID。这个传输地址在后续将作为TCP会话建立的通讯地址,所以,在配置LSR-ID时,一定要保证该地址可用,且IGP要保证彼此地址间可达
LDP ID:要求,所有激活LDP协议的设备都需要具有一个LDP ID。由48位二进制构成。一般构成方式LSR-ID:0 ,前32位为LSR ID,后16位位标签空间
2双方收到彼此交互的hello包之后,获取到对方的传输地址,之后,基于传输地址,去建立TCP会话。为了避免重复建立TCP会话,LDP会选择传输地址大的一方作为主动方,主动发起TCP会话连接请求。 LDP在建立TCP会话连接之前,也会像BGP一样,去检查传输地址的可达性,如果可达,则建立连接,如果不可达,则不建立连接。
3完成TCP会话建立之后,传输地址更大的一方将优先发送初始化报文,中将携带LDP相关的参数,对端收到后,将对这些参数进行检查,如果认可,则将发送自己的初始话报文,同时还会发送一个keeplive报文,代表确认收到的参数。对端收到初始化报文后,如果认可其中的参数,则也将反馈一个keeplive报文作为确认。双方都收到对端的keeplive报文后,则将代表LDP会话建立完成。搭建一条指向4.0网段的LSP,则数据层流量将从R1指向R4,则R1称为R2的上游,R2称为R1的下游。而标签传递是控制层流量,则其传递方向是从下游传递给上游。
标签传递的方式:DU模式(下游自主模式), 下游设备主动发送标签 ---- 华为设备默认使用DU模式
DoD模式(下游按需模式),下游设备只有在收到上游设备发送的请求报文之后,才会发送标签 只有上游设备会去收集下游设备的标签。
PHP,次末跳弹出机制,需要利用特殊标签号,3(隐式空标签),其作用是如果一个LSR看到一个数据的出站标签为3是,则将直接把该标签弹出。华为设备默认开启PHP优化机制。
LDP动态搭建LSP配置
[r1]mpls lsr-id 1.1.1.1
[r1]mpls(全局激活MPLS
[r1]mpls ldp(全局激活MPLS LDP
[r1-GigabitEthernet0/0/0]mpls(接口激活MPLS
[r1-GigabitEthernet0/0/0]mpls ldp (接口激活MPLS LDP
[r1]display mpls ldp peer(查看LDP对等体
[r1]display mpls ldp session( 查看LDP会话建立情况
[r1]display mpls ldp lsp(查看LDP搭建的LSP信息, LIB
[r1]display mpls lsp (查看所有LSP信息 ,LFIB
因为华为设备的LDP默认只给32位主机路由分配标签,主要是为了防止路由条目过多时导致LSP数量太大,造成设备负担
[r4-mpls]lsp-trigger all (执行该命令后,会给路由表中所有的路由条目分配标签在数据转发时,没有标签的数据回去根据IP报文匹配FIB表,如果FIB表中的tunnelID为非0值,则代表需要走标签交换
[r1]tracert lsp ip 4.4.4.4 32
MPLS解决路由黑洞问题
[r2]route recursive-lookup tunnel(在递归查找时,如果有隧道则递归到隧道中
MPLS VPN
MPLS VPN不仅仅是单一VPN技术,是一种由多种技术结合的综合解决方案
PE,服务提供商边界设备
CE,客户边界设备
为了保证不同客户的CE设备传递的路由信息可以隔离开,需要使用VRF技术 ,虚拟路由转发,VPN instance,创建多个VRF相当
于创建多个虚拟设备,每台设备拥有独立的路由表,FIB表,动态路由协议,及接口等
RD(路由区分码),64位二进制构成的数值。
AS:NN(AS号:自定义数值)将64位的RD值放在32位的IP路由前缀前面,形成96位的路由前缀,形成VPNV4路由条目
MP-BGP, BGP V4的拓展版,支持多种地址族,包括IPV4,VPNV4,IPV6….
RT (路由目标值 )也称为VPN Target,32位二进制构成,一个VPNV4路由中可以携带一个或多个RT值,通过BGP的社团属性来携带
RT ,出站RT:PE1为不同的VRF空间定义的发出路由时社团属性中携带RT值
入站RT:PE2为不同VRF空间定义的比对值。
控制层面可达后,为保证数据层面正常传递,我们在通过MPLS域时需要打
双层标签。外层标签被称为公网标签,内层标签被称为私网标签。
公网标签,由LDP协议分配,目的是为了让数据可以通过MPLS域
私网标签,由MP-BGP协议分配,目的是为了区分不同的vrf空间,通过BGP的社团属性携带