MPLS-LDP邻居建立、标签的发布、控制保持
MPLS LDP
是多协议MPLS的一种控制协议,相当于传统网络中的信令协议,负责转发等价类FEC的分类、标签的分配以及标签交换路径LSP的建立和维护等。
**1、LDP对等体:**两个设备之间相互存在LDP会话,并且能够同步标签映射消息叫做LDP的对等体。
1.1、LDP对等体是指相互之间存在LDP会话,使用LDP来交换标签消息的两个LSR。
1.2、LDP对等体通过它们之间的LDP会话获得对方的标签。
2、LDP邻接体:邻居。
2.1、本地邻接体:Local Adjacency,以组播形式发送Hello消息(即链路hello消息)发现的邻接体叫做本地邻接体。维护本地LDP会话。
2.2、远端邻接体:Remote Adjacency,以单播形式发送Hello消息(即目标hello消息)发现的邻接体叫做远端邻接体。维护远端LDP会话。
本地和远端区别:在于通过什么方式发现了邻居,组播即本地邻接体,单播即远端邻接体!!!
**3、LDP会话:**基于TCP建立的LDP的连接。
3.1、本地LDP会话:Local LDP Session,建立会话的两个LSR之间是直连的。
3.2、远端LDP会话:Remote LDP Session,建立会话的两个LSR之间可以是直连的,也可以是非直连的。
4、LDP消息类型
4.1、发现消息:Discovery,用于通告和维护网络中LSR的存在,如hello消息。
4.2、会话消息:Session,用于建立、维护和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息。
4.3、通告消息:Advertisement,用于创建、改变和删除FEC的标签映射。
4.4、通知消息:Notification,用于提供建议性的消息和差错通知。
**Hello:**发现/维护LDP邻居。
**初始化消息:**用于协商建立LDP会话的参数。
**keeplive:**用于保活LDP会话,默认15秒一次,45秒holdtime。
地址消息:
**标签映射消息:**用于发送本地给某条FEC分配的标签。
**LDP邻居:**5s一次hello报文,15秒中断。
**LDP会话:**15s一次keepalive报文,45秒中断。
DHCPv4:
**Request:**所有客户端发送的报文,Discovery,Request,释放,冲突告警。
**Repaly:**所有服务端发送的报文,ACK,Offer,NAK。
5、LDP工作过程
LDP发现机制:
1、LDP的TCP连接如何建立?
LDP使用传输地址进行建立,而传输地址默认取值为MPLS LSR-ID。所以MPLS LSR-ID一定是双方可达的。
LDP使用TCP/UDP的646端口进行工作。
2、LDP的TCP连接由谁发起建立?
**5.1 LDP会话建立过程:**基于TCP,传输地址较大的一方作为主动方,发起建立TCP连接,TCP SYN;被动方
PHP:倒数第二跳弹出。
LDP的hello报文基于UDP协议的646端口。
LDP的ID:由LSR-ID(使用设备的接口地址)和Label space ID组成。
两端将自身启用LDP的接口IP地址通过adress message发送给对端。
**注意:**华为设备默认情况下,LDP协议只会为32位的主机路由构建LSP。可以使用命令为所有路由建立LSP!!!
1、如果是物理接口地址自动产生的32位路由不构建LSP;
2、如果是loopback接口地址自动产生的/32为主机路由则构建LSP。
设备的标签是基于全局的还是接口的?
1、基于全局:标签值在全局唯一。
2、基于接口:标签值在接口唯一。
**地址消息:**设备会将自身所有启用MPLS的接口地址发送给邻居。
LDP LSP的建立:
LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系来建立LSP,而标签的发布和管理有标签发布方式、标签分配控制方式和标签保持方式来决定。
1、路由器为自身直连/32位主机路由以egress lsr建立LSP,其他路由器则以transit lsr和ingress lsr建立LSP。
2、LSP建立过程实际就是将FEC和标签进行绑定,并将这种绑定通告LSP上相邻LSR过程。
3、两端将自身启用的LDP的接口地址通过 address message发送给对端
4、LDP只会使用下游提供的标签,而非下游提供的标签默认会保存在内存中,如何确定上下游关系呢?
4.1 通过路由表查询FEC的下一跳地址,然后查看所有LDP邻居谁拥有这个下一跳地址,拥有下一跳地址的LSR为自身的下游。
标签的发布和管理
1、标签的发布方式:
1.1 下游自主方式DU:Downstream Unsolicited,下游主动向上游提供。
1.2 下游按需方式DoD:Downstream on Demand,上游请求之后,下游才给上游提供。
**2、标签分配控制方式:**Label Distribution Control Mode
2.1 独立标签分配控制方式(Independent),本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签。
无需等待下游的标签映射消息,即可向自身的上游进行提供。
2.2 有序标签分配控制方式(Ordered),对于LSR上某个FEC的标签映射,只有当该LSR已经具有次FEC下一跳的标签映射消息,或者该LSR就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射。
只有收到了下游的标签映射消息,才可以向自身的上游提供标签映射消息。
3、标签的保持方式:Label Retention Mode
3.1 自由标签保持方式:Liberal,对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。(无论标签映射是否来自自身的下一跳,都进行保存,保证LSP的快速重建,但是需要更多的内存)
3.2 保守标签保持方式:Conservative,对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。(只保存来自下一跳的标签映射,节省更多的内存资源)
4、组合方式:
4.1 下游自主方式DU+有序标签分配控制方式Ordered+自由标签保持方式Liberal:该方式为缺省方式。
收到下游的标签之后主动朝上游发送标签,无论是否来自下一跳的标签都保存,华为默认。
4.2 下游按需方式DoD+有序标签分配控制方式Ordered+保守标签保持方式
4.3 下游自主方式+独立标签分配控制方式+自由标签保持方式
4.4 下游按需方式+独立标签分配控制方式+保守标签保持方式
**LSR设备确定下游:**LSR-ID + 下一跳地址确定。