410 likes | 622 Views
DP500011 MPLS协议原理. ISSUE 1.0. 内容介绍. 第一章 MPLS 简介 第二章 标签与标签栈 第三章 标签的转发和分配 第四章 LDP 协议. MPLS. MPLS——Multi-Protocol Label Switching Multi-Protocol 支持多种三层协议,如 IP 、 IPv6 、 IPX 、 SNA 等 Label Switching 给报文打上标签,以标签交换取代 IP 转发. 起源:为了将 IP 与 ATM 结合. IP. MPLS. ATM. 面向无连接的控制平面.
E N D
DP500011MPLS协议原理 ISSUE 1.0
内容介绍 第一章 MPLS 简介 第二章 标签与标签栈 第三章 标签的转发和分配 第四章 LDP协议
MPLS • MPLS——Multi-Protocol Label Switching • Multi-Protocol 支持多种三层协议,如IP、IPv6、IPX、SNA等 • Label Switching 给报文打上标签,以标签交换取代IP转发
起源:为了将IP与ATM结合 IP MPLS ATM 面向无连接的控制平面 面向无连接的控制平面 面向连接的控制平面 面向无连接的转发平面 面向连接的转发平面 面向连接的转发平面
传统IP转发 • 每一跳分析IP头,效率低 • QoS难于部署,而且效率低 • 所有路由器都要知道整个网络的所有路由 分析IP头 映射到下一跳 分析IP头 映射到下一跳 分析IP头 映射到下一跳
ATM交换的过程 虚通路连接 (VCC) • 面向连接,有N2问题 • 靠链路层选路,基于VPI/VCI或标签 • 业务质量有保证,可保证实时业务 虚通道连接(VPC) UNI UNI NNI NNI VC交换 VP交换 VC交换 VPI = 1VCI = 1 VPI = 2VCI = 44 VPI = 26VCI = 44 VPI = 20VCI = 30
结合ATM与IP优点的技术 • Layer 3 路由 -- 可伸缩性和灵活性 • Layer 2 交换 -- 高可靠性和流量工程管理 + = X R X Router ATM Switch MPLS Router MPLS——多协议标签交换
MPLS基本概念 LER MPLS域 • LSR:Label Switch Router • LER:Label Edge Router • LSP:Label Switch Path IP LER LSR LSR LER LSP LSR MPLS LER
IP L1 IP L2 IP L3 MPLS 基本工作过程 Core LSR LER LER IP IP 传统IP转发 标签转发 传统IP转发
MPLS的优点 • 以短的、固定长度的标签代替IP头作为转发依据,提高转发速度 • IP与ATM更好地结合 • 提供增值业务,同时不损害效率: • VPN • 流量工程 • QOS
内容介绍 第一章 MPLS 简介 第二章 标签与标签栈 第三章 标签的转发和分配 第四章 LDP协议
MPLS封装格式与标签 • ATM和FR的MPLS封装有两种: • shim封装:与其他链路层类似 • 信元模式:直接利用VC(ATM是VPI/VCI,FR是DLCI)作为标签
标签在分组中的位置 以太网 /SONET /SDH分组 以太网报头/PPP报头 Lable 三层数据 帧模式 ATM分组 ATM报头 Lable 三层数据 信元模式的 ATM分组 VPI/VCI 三层数据
MPLS TTL处理 把整个MPLS域看做一跳 IP TTL -- MPLS TTL=255 MPLS TTL -- IP TTL -- 入口LER LSR 出口LER 把MPLS TTL计入IP TTL IP TTL -- MPLS TTL=IP TTL MPLS TTL -- MPLS TTL -- IP TTL=MPLS TTL 入口LER LSR 出口LER
标签栈 • 理论上,标签栈可以无限嵌套,从而提供无限的业务支持能力。这是MPLS技术最大的魅力所在。
内容介绍 第一章 MPLS 简介 第二章 标签与标签栈 第三章 标签的转发和分配 第四章 LDP协议
标签转发基本概念 • FEC(Forwarding Equivalence Class):将具有相同特性的报文导入到同一条LSP • NHLFE(Next Hop Label Forwarding Entry):描述标签操作 • 下一跳 • 标签操作类型:push/pop/swap/null • 链路层封装类型等 • FTN(FEC to NHLFE):将FEC映射到NHLFE • ILM(Incoming Label Map):将MPLS标签映射到NHLFE
标签操作:push 标签操作:swap ILM->NHLFE 分析IP头 映射到下一跳 标签操作:swap 分析IP报文头 FEC绑定LSP FTN->NHLFE ILM->NHLFE ILM->NHLFE A B C D 入口LER LSR LSR 出口LER A: FEC NHLFE 下一跳 发送接口 标签操作 其他 10.0.1.0/24 B E1 加上标签L1 … 标签转发 标签操作:pop • 传统路由协议和标签分发协 (LDP)一起,在各个LSR中为有业务需求的FEC建立路由表和标签映射表(FEC-Label映射),即成功建立LSP。 • Ingress接收分组,判定分组所属的FEC,给分组加上Label
标签操作:pop 标签操作:push 标签操作:swap ILM->NHLFE 分析IP头 映射到下一跳 标签操作:swap 分析IP报文头 FEC绑定LSP FTN->NHLFE ILM->NHLFE ILM->NHLFE A B C D 入口LER LSR LSR 出口LER B,C: 入标签 NHLFE 下一跳 发送接口 标签操作 其他 L1 C E0 去掉原来的标签,加上标签L2 … 标签转发 • 在MPLS域中只依据标签和标签转发表通过转发单元进行转发
标签操作:pop 标签操作:push 标签操作:swap ILM->NHLFE 分析IP头 映射到下一跳 标签操作:swap 分析IP报文头 FEC绑定LSP FTN->NHLFE ILM->NHLFE ILM->NHLFE A B C D 入口LER LSR LSR 出口LER D: 入标签 NHLFE 下一跳 发送接口 标签操作 其他 L3 D 去掉标签 … 标签转发 • Egress将标签去掉,继续转发
标签操作:push 标签操作:swap 标签操作:pop 分析IP头 FEC绑定LSP FTN->NHLFE 分析IP头 映射到下一跳 ILM->NHLFE ILM->NHLFE LSR 出口LER 入口LER LSR 倒数第二跳弹出(PHP) • 在最后一跳,最外层的标签已经没有意义,因此可以在倒数第二跳将标签弹出,减少最后一跳的负担。 • 如果只有一层标签,则最后一跳直接进行IP转发;否则,对内层标签做标签转发。
LSP的建立 • LSP驱动方式: • 流驱动:收到的报文驱动LSP建立 • 拓扑驱动:拓扑信息(路由)驱动LSP建立 • 应用驱动:应用(如QoS)驱动LSP建立 • 信令协议,用于在LSR之间分配标签,建立LSP: • LDP : Label Distribution Protocol, • CR-LDP : Constrained Route LDP, • RSVP-TE: • MP-BGP: • PIM:
标签分配和管理 • 标签分配模式 • DoD :downstream-on-demand • DU: downstream unsolicited • 标签控制模式 • 有序 • 独立 • 标签保持方式 • 保守模式 • 自由模式
171.68.1.0/24 171.68.10/24 分配到 分配到 171.68.10/24 171.68.1.0/24 分配到 分配到 18 的标签为 的标签为 20 18 的标签为 的标签为 20 路由触发 请求到目的地址 请求到目的地址 请求到目的地址 请求到目的地址 171.68.1.0/24 171.68.10/24 的标签 的标签 171.68.1.0/24 171.68.10/24 的标签 的标签 171.68.4.0/24 171.68.1.0/24 上游 下游 LSR1 LSR2 LSR3 标签分发模式:DoD • 上游LSR向下游LSR发送标签请求消息(包含FEC的描述信息) • 下游LSR为此FEC分配标签,并将绑定的标签通过标签映射消息反馈给上游LSR
路由触发 171.68.10/24 171.68.1.0/24 171.68.1.0/24 171.68.10/24 到 到 到 到 下游 20 20 18 18 可以使用标签 可以使用标签 可以使用标签 可以使用标签 上游 171.68.4.0/24 171.68.1.0/24 标签分发模式:DU • 下游LSR在LDP会话建立成功,主动向其上游LSR发布标签映射消息 • 上游路由器保存标签,存放到标签映射表中
标签请求 标签请求 标签请求 上游 下游 标签映射 标签映射 标签映射 标签控制模式:有序 • 只有收到它的下游返回的标签映射消息后才向其上游发送标签映射消息
标签请求 标签请求 标签请求 上游 下游 标签映射 标签映射 标签映射 标签控制模式:独立 • 不管有没有收到它的下游返回的标签映射消息都立即向其上游发送标签映射消息
mapping label 20 mapping label 30 172.16.2/24 mapping LSR1 LSR2 LSR3 LSR4 label 16 mapping label 17 不是到172.16.2/24 的下一跳邻居发来 的标签,丢弃 LSR5 标签保持方式-保守 • 保守方式(Conservative retention mode) • 只保留来自下一跳邻居的标签,丢弃所有非下一跳邻居发来的标签。 • 优点:节省内存和标签空间。 • 缺点:当IP路由收敛、下一跳改变时LSP收敛慢
mapping label 20 mapping label 30 172.16.2/24 mapping LSR2 LSR3 LSR1 LSR4 label 16 mapping label 17 不是到172.16.2/24 的下一跳邻居发来 的标签,保留以后 使用 LSR5 标签保持方式-自由 • 自由方式(Liberal retention mode) • 保留来自邻居的所有发送来的标签 • 优点:当IP路由收敛、下一跳改变时减少了lsp收敛时间 • 缺点:需要更多的内存和标签空间。
上游 下游 常见搭配1:DoD + 有序 + 保守 • 比较容易控制标签的使用和LSP的建立 • ATM/FR帧模式只能使用DoD方式
上游 下游 常见搭配2:DU + 有序 + 自由 • 浪费标签资源 • 会建立一些无用的LSP • 分支处需要标签合并(merge) • LSP的建立迅速、可靠
标签转发表 • 标签转发表中的IN和OUT,是相对于标签转发而言,不是相对于标签分配的IN和OUT: • 入标签是我分给别人的,出标签是别人分配给我的; • 我分配的标签是给别人用的,我不会添加到报文中。
问题 对于一台设备的标签转发表来说: • 所有的入标签( ) • 对于相同的路由(下一跳也相同),出标签( ) • 对于不同的路由(但下一跳相同),出标签( ) • 对于不同的路由(下一跳也不同),出标签( ) • 对于同一条路由,入标签和出标签( ) A 一定不同 B 一定相同 C 可能相同
解答 对于一台设备的标签转发表来说: • 所有的入标签( A) • 对于相同的路由(下一跳也相同),出标签( B) • 对于不同的路由(但下一跳相同),出标签( A) • 对于不同的路由(下一跳也不同),出标签(C ) • 对于同一条路由,入标签和出标签(C ) A 一定不同 B 一定相同 C 可能相同
LSP环路检测 • 在MPLS域中建立LSP也要防止路径循环。 • 防止LSP的路径循环有两种方式: • 最大跳数方式 • 路径向量方式
内容介绍 第一章 MPLS 简介 第二章 标签与标签栈 第三章 标签的转发和分配 第四章 LDP协议
LDP的基本概念 • LDP是一个动态的生成标签的协议,与动态路由协议(如OSPF)十分相像,都具备如下的几大要素: • 报文(或者叫消息) • 邻居的自动发现和维护机制 • 一套算法,用来根据搜集到的信息计算最终结果。 • 前者计算的结果是标签,后者是路由 • 主要功能: • 发布Label-FEC映射 • 建立与维护标签交换路径 • LDP使用UDP和TCP的传输服务
LDP的消息类型 在LDP协议中,存在4种LDP消息: • 发现(Discovery)消息 用于通告和维护网络中LSR的存在。 • 会话(Session)消息 用于建立,维护和结束LDP对等体之间的会话连接。 • 通告(Advertisement)消息 用于创建、改变和删除特定FEC-标签绑定。 • 通知(Notification)消息 用于提供消息通告和差错通知。
LSR1 LSR2 邻居发现:通过互发hello报文(UDP/prot:646/IP:224.0.0.2) 建立TCP连接:由地址大的一方主动发起。(TCP/port:646) M 会话初始化:由Master发出初始化消息,并携带协商参数。 M 由slave检查参数能否接受,如果能则发送初始化消息,并携带协商参数。并随后发送keepalive消息。 M master检查参数能否接受,如果能则发送keepalive消息。 M 相互收到keepalive消息,会话建立。 M 期间收到任何差错消息,均关闭会话,断开TCP连接 LDP会话的建立和维护
掌握MPLS的基本概念和工作过程 • 掌握标签的分配和分发 • 掌握MPLS LDP协议 小结