LDP操作的四个阶段及其细节
在LDP(Label Distribution Protocol)协议中,操作过程主要包括四个阶段:发现、会话建立与保护、LSP(Label Switched Path)建立与保护和会话撤销。下面将对每个阶段进行详细介绍,并说明LDP如何在这些阶段中确保网络的正确功能和避免环路。
1. 发现阶段:
在这个阶段,LSR(Label Switching Router)通过发送Hello消息来通告自己的存在并发现相邻的LSR。LDP有两种发现机制:
- 基本发现机制:用于发现本地的LDP对等体,即直接通过链路层连接的LSR。LSR周期性地发送LDP链路Hello消息,这些消息被发送到“子网内所有路由器”的组播地址。通过接收到的链路Hello消息,LSR可以确定在哪些链路上存在LDP对等体。
- 扩大发现机制:用于发现远端的LDP对等体,即不直接通过链路层连接的LSR。LSR周期性地向指定的IP地址发送LDP目标Hello消息。如果LSR收到LDP目标Hello消息,则表明在网络层存在LDP对等体。
2. 会话建立与保护阶段:
在发现邻居后,LSR开始建立会话。这一过程包括建立TCP连接和协商会话参数,如LDP版本、标签分发方式和定时器值等。会话建立后,通过发送Hello消息和Keepalive消息来维护会话的稳定。
3. LSP建立与保护阶段:
LSP的建立过程是将FEC(Forwarding Equivalence Class)和标签绑定,并将这些绑定信息通告给LSP上的相邻LSR。以DU(Deterministic Uplink)模式和有序标签控制方式为例,主要步骤如下:
- 当网络的路由发生变化时,如果LSR发现有新的目的地址出现,且不属于现有FEC,则需要为该目的地址建立一个新的FEC。
- 如果LSR有可分配的标签,则为其分配一个标签,并向上游发送标签映射消息,该消息包含分配的标签等信息。
- 收到标签映射消息的LSR记录该标签映射信息,并将该信息转发给其上游LSR。这一过程持续进行,直到入口LSR收到标签映射消息。此时,LSP建立完成,数据分组可以进行标签转发。
4. 会话撤销阶段:
LDP通过检测Hello消息来判断邻接关系是否保持,通过检测Keepalive消息来判断LDP会话是否完整。每个LSR都有自己的Hello保持定时器和会话保持定时器:
- Hello保持定时器:如果LSR在定时器超时后没有收到相邻LSR的Hello消息,则认为邻接关系已经丢失。
- 会话保持定时器:如果LSR在定时器超时后没有收到任何Keepalive消息,则认为LDP会话已经结束,相应的TCP连接将被关闭。
LDP环路检测:
为了防止LSP中出现环路,LDP使用环路检测机制。有两种环路检测方式:
- 最大跳数:在传递标签绑定或标签要求的消息时,跳数字段被更新。如果跳数达到最大值,则认为出现了环路。
- 路径向量:在传递标签绑定或标签要求的消息时,包含一个路径向量记录。如果LSR发现路径向量中已经包含了自身的LSRID,或者跳数达到最大值,则认为出现了环路。
需要注意的是,虽然所有LSR都应配置环路检测,但在建立LDP会话时,并不要求双方的一致性。为了进行环路检测,需要在所有LSR上配置最大跳数或路径向量记录。
通过这些机制,LDP确保了在标签交换网络中正确地建立LSP,并避免了潜在的环路问题,从而保证了数据转发的效率和可靠性。