1、MPLS转发: ①IP报文进入MPLS域,首先查看FIB表,检查目的地址IP对应的TunnelID 是否为 0x0
1)TunnelID值 0x0, 进入IP转发流程
2)TunnelID值非0x0,进入MPLS转发流程
2、 MPLS表关联:
1) Ingress 处理:通过查询FIB和NHLFE表指导转发报文
- 查看FIB表,根据目的IP找到对应的TunnelID
- 根据TunnelID,找到对应的NHLFE,将FIB和NHLFE关联
- 查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型
- 在IP报文中压入出标签,同时处理TTL,封装好MPLS报文送给下一跳
2)Transit处理:查询ILM(Incoming Label Map)和NHLFE(Next-hop label forwarding entry) 指导MPLS报文转发
- 根据MPLS标签值查看ILM表,得到TunnelID
- 根据ILM表的TunnelID 找到对应的NHLFE表
- 根据NHLFE表得到出接口、下一跳、出标签和标签操作类型
- 如果标签值>=16,新标签替换MPLS报文旧标签,处理TTL,替换完标签的MPLS送给下一跳
- 标签值为3,直接弹出标签,处理TTL,进行IP转发或下一层标签转发
3)Egress处理:通过查询ILM表指导MPLS转发或查询路由表指导IP报文转发
- 收到IP报文,查看路由表,进行IP转发
- 收到MPLS报文,查看ILM表获得标签操作类型,处理TTL
- 标签栈底标识S=1,表明该标签是栈底标签,直接IP转发
- 标签栈底标识S=1,表明还有下一层标签,继续进行下一次标签转发
3、LDP协议: Label Distribution Protocol 在 MPLS 网络中,两个标签交换路由器(LSR)必须用在它们之间或通过它们转发流量的标签上达成一致。
- 发现消息:Discovery , 用于通过和维护网络中LSR存在,比如Hello消息
- 会话消息:Session,用于建立、维护和终止LDP对等体的会话,如Initialization、keepalive
- 通告消息:Advertisement,用于创建、改变和删除FEC标签映射
- 通知消息:Notification,用户提供建议性的消息和差错消息通知
- 除Dsicovery消息使用UDP协议传输,Session、Advertisement、Notification都使用TCP协议传输
4、LDP会话建立:通过Hello 发现邻居;LSR建立会话;LDP对等体直接不断发送Hello消息和keepalive 消息维护会话;
Hello定时器超时,删除邻接关系,发送Notification,结束LDP会话;Keepalive定时器超时,关闭TCP连接,发送Notification,结束LDP会话