MPLS_LDP基础胶片.ppt
MPLS LDP基础培训胶片2003年07月MPLS体系结构nRFC3031 Multiprotocol Label Switching Architecturen协议组成n标签交换n信令协议:LDP/RSVP等,完成标签的分配nRFC3036 LDP SpecificationMPLS的意义n高速交换n有连接:有利于QOS、VPN、FEn可融合多种协议IPIPXSNAETHATMFRX.25PPPETHIPIPXSNAMPLS 七层 四层 三层 二层 一层 IP物理接口TCP/UDPLDP协议 链路协议 MPLSMPLS协议的位置MPLS在协议栈中的位置PPP HeaderPPP HeaderLayer 3 HeaderLayer 3 HeaderMPLS HeaderEthernet Ethernet HdrHdrLayer 3 HeaderLayer 3 HeaderMPLS HeaderEthernet ATM Cell HeaderHECHECDATADATACLPCLPPTIPTIVCIVCIGFCGFCVPIVPILabelPPP Header(Packet over SONET/SDH)Frame RelayDATADATADLCIDLCIFlagsFlagsDLCIDLCILabelFCSFCSFlagsFlagsIP包在打上MPLS包头后还是需要有二层的包头封装。ATM/FR则分别采用原来包头的VPI/VCI,DLCI做标签MPLS包头结构0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Label|Exp|S|TTL Label=20 bits Exp=Experimental,3 bits,通常用作通常用作COSS=标识是否是栈底标识是否是栈底,1bitTTL=Time to live,8 bits二层协议类型0 x8847可以多于一个标签(标签栈)MPLS转发仅基于标签栈顶标签转发报文保留标签0-150-IPv4 Explicit NULL Label1-Router Alert Label2-IPv6 Explicit NULL Label3-Implicit NULL Label4-15-ReservedMPLS相关概念nMPLS:Multi Protocol Label SwitchingnLSR:label switching routernLSP:label switched path (单向)nIngress LSR 入口LSRnTransit LSR 中间LSRnEgress LSR 出口LSRnlabel:标签,固定长度的一个数字相关概念LSPIngress LSRTransit LSREgress LSR注意LSP是单向的传输通道3data23data23dataL2LSP内传递的数据帧MPLS转发概述nMPLS转发与传统IP报文转发的比较n传统的IP报文转发-每个报文根据分析报文头,查找路由,独立计算下一跳nMPLS转发-报文的转发基于标签交换,得到下一跳MPLS转发(续一)n将报文划分分属不同的转发等价类(FEC)nFEC(Forwarding Equivalence Classes)n报文的FEC划分可基于n目的单播地址n流量工程nVPN 隧道nQoS等n每个FEC映射到某个下一跳nFEC可以理解为按某种条件划分出来的一个数据流MPLS转发(续二)n报文进入网络:n压标签(PUSH):Ingress LSR,打上该FEC对应的标签头后转发。n报文在后续节点:根据报文携带的标签转发,根据标签查找LIB(Label Information Database)决定转发行为n交换(SWAP):Transit,新标签替代入标签后转发n弹出(POP):Egress,标签弹出,转IP协议栈处理n倒数第二跳弹出:PHP(Penultimate Hop Popping),倒数第二跳,弹出后转发n交换后压标签(SWAP&PUSH):标签栈,标签替代后压上一个或多个标签转发标签操作类型nPUSH 在入口压标签nSWAP 在中间节点替换标签nPOP 在出口弹标签3data23dataL23dataL23dataL223dataL23data2标签信息库(LIB)n下一跳标签转发表项-Next Hop Label Forwarding Entry(NHLFE),包括:n下一跳和出接口索引n转发行为类型n出标签(Swap)n还可能有报文转发的链路层封装形式nFEC-to-NHLFE Map(FTN)-IngressnIncoming Label Map(ILM)-Non Ingress三种转发控制表FTNNHLFE目的IP入标签入标签压标签换标签弹标签ILMILMNHLFENHLFEIngress LSRTransit LSREgress LSRMPLS 转发图示nMPLS转发过程:nIngress LSR 接收到IP报文,进行流分类或查转发表,打上标签,并根据标签转发表项转发此标记报文。nTransit LSRs根据入接口和入标签查找标签转发表项得到出接口和出标签,打上交换的标签,转发。n在LSP倒数第二跳或Egress LSR,弹出标签,还原IP报文后,按照IP转发程序继续转发。MPLS 图示(续)nMPLS转发示意:倒数第二跳弹出,Penultimate Hop Popping(PHP)标签栈n报文可以携带多个标签 n转发行为根据栈顶标签nLSP Over LSP(LSP隧道)n应用于VPN等标签栈转发图示Tunnel LSP2Remote MPLS PeerLabel Exchange for F1 30Tunnel Label 50Tunnel Label 90F130 50F130 90F140F120Push 20Swap to 30Then Push 50Swap to 90POP 90 Then Swap to 40F1POP 40LSP1环路和TTLn在IP网络中使用TTL来预防IP报文在网络中的无限传播。nMPLS可以使用类似于IP的机制,但并非在所有封装形式中都适用nTTL存在于PPP和LAN报文的MPLS包头中。nATM信元头不包含TTL域n标签分发协议中的环路检测n跳数(Hop Count)n路径矢量(Path Vector)环路和TTL(续)标签分发协议的IGP域LSR-1LSR-2LSR-4LSR-5LSR-3LSR-6EgressIP 报文TTL=6Label=25IP 报文TTL=6IP报文TTL=10LSR-6-25跳数=4IP 报文TTL=6Label=39IP 报文TTL=6Label=21TTL在进入无TTL能力的LSP之被减量如果在入LSR TTL为0,则该数据包被丢弃MPLS的标签分发协议nMPLS连接可以使静态配置,也可以通过MPLS信令协议建立标签连接。现有的MPLS标签分配协议有:nLDP/CR-LDPnRSVP-TEnMP-BGPnPIM将来可能还有很多。这些协议可以共存在一个标签换路由器上。MPLS的标签分发协议(续)nLDP把单播的IP网地址前缀映射为标签,通过标签交换进行转发。nRSVP,CR-LDP可以支持带宽约束,着色约束,部分明确路由约束等。一般用于流量工程目的,实现各种QoS的要求。nMP-BGP扩展采用BGP扩展,携带MPLS标签,现用于传播VPN的内层标签nPIM用于多播状态下的标记映射标签分发协议LDPnLDP Label Distribution Protocol(RFC 3036)标签分发协议LDPn标签空间 label spacen基于接口的标签空间n基于平台的标签空间nLDP Identifier:4 octet :2 octet对基于平台的标签空间,label space id为0标签分发协议LDPn上游和下游LSRn对于目的172.90.38/24,LSR B是LSR A的下游,LSR C是LSR B的下游,LSR D是LSR C的下游nLSR 通过IP路由协议了解它的下游LSR,下一跳即是下游标签分发协议LDP n拓扑驱动建立LSPn下游分发标签,上游接收分发标签并决定是否接受标签绑定n上游决定满足拓扑驱动n下游分发满足标签的唯一性标签分发协议LDPLDP Discovery 邻居发现Hello周期发送,发现直连LSRUDP port 646,destip 224.0.0.2缺省hello间隔为5秒,holdtime15秒Targeted-hello周期发送,发现远端LSRUDP port 646,destip LSR缺省targeted-hello间隔为15秒,holdtime45秒标签分发协议LDPLDP Session LSR之间建立会话建立TCP连接 port 646Transport address hello报文中的源IP地址或hello报文的transport address可选项中指定的IP地址Active role or Passive role transport address大的一方作为active role,主动发起TCP连接,小的一方作为passive role,等待TCP连接。标签分发协议LDP LDP Session LDP Session状态:nNON EXISTENT 初始状态,未建立TCP连接nINITIALIZED TCP连接已建立nOPENREC 接收到有效的Initialization消息nOPENSENT 发送Initialization消息nOPERATIONAL 可运行状态标签分发协议LDP LDP SessionnLDP建立过程10.1.1.1/2410.1.1.5/241)互发hello报文2)Active role方发起TCP连接4)Passive role方检查Initialization有效,则发送 自己的Initialization和keepalive5)Active role方检查Initialization有效,则发送Keepalive 6)双方发送Address3)Active role方发送Initializatioin 7)双方发送Label Mapping,Label Request etc.LDP-标签分发模式n标签分发模式(Label Distribution Mode)n下游主动分发(Downstream Unsolicited)n下游按需分发(Downstream On Demand)标签分发模式(一)下游主动分发(Downstream Unsolicited)为目的地址172.90.38/24分配标签 3为目的地址172.90.38/24分配标签 45为目的地址172.90.38/24分配标签 30 下游LSR向上游LSR主动分发标签(标签映射消息)标签分发模式(二)下游按需分发(Downstream On Demand)为目的地址171.68.10/24分配标签 3为目的地址171.68.10/24分配标签 45为目的地址171.68.10/24分配标签 30为目的地址172.90.38/24请求标签 为目的地址172.90.38/24请求标签 为目的地址172.90.38/24 请求标签 上游LSR向下游LSR请求标签(标签请求消息)下游LSR向上游LSR分发标签(标签映射消息)LDP-标签控制模式n标签控制模式(Label Distribution Control Mode)n独立的LSP控制模式(Independent)nLSR给某FEC绑定并分发标签,不依赖于此LSR是否从该FEC下一跳接受到分发的标签映射。n有序的LSP控制模式(Ordered)nLSR仅在下列条件下给某FEC绑定并分发标签:n该LSR对于此FEC是Egress LSR,或n该LSR接收到从此FEC下一跳发送的标签映射。LDP-标签控制模式Downstream Unsolicited Independent ControlnDownstream Unsolicited Ordered ControlnDownstream On Demand Independent ControlnDownstream On Demand Ordered ControlLDP-标签保留模式n标签保留模式(Label Retention Mode)自由保留模式(Liberal)nLSR保留从所有邻居分发的标签n当IP路由改变下一跳时快速建立LSPn需要更多的内存空间和标签空间n保守的保留方式(Conservative)nLSR仅保留从下一跳邻居分发的标签n丢弃所有非下一跳分发的标签n节省内存和标签资源LDP 通过PDU报文交换信息 PDU Protocol Data Unit Max PDU Length 4096 bytes PDU Header0 1 2 30 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Version (1)|PDU Length LSR IdentifierLDP 报文交换LDP 消息格式 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|U|Message Type|Message Length|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|Message ID|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|Mandatory Parameters|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|Optional Parameters|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-LDP消息(1)nLDP会话相关消息nHello-发现LSRnInitialization-交换LDP会话属性,协商nKeepAlive-维护LDP会话nNotification 通告错误事件LDP消息(2)nLDP标签分发有关消息Address通告本地LSR上的所有接口地址维护Peer(LDPID)与接口地址的对应关系,以确定路由所对应的下一跳对应的PeerAdress Withdraw 撤消接口地址Label Mapping下游分发标签绑定Label Requestn上游请求标签绑定LDP消息(3)Label Request Abort消息上游取消请求标签绑定Label Release消息上游请求解除标签绑定Label Withdraw消息下游回收标签绑定LDP消息(4)n hello消息 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0|Hello(0X 0100)|Message LengthMessage ID0|0|Paras(0X 0400)|Length Hold time|T|R|Reserved Optional paras(transportaddress,Seq)LDP消息(5)nInitialization消息0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0|Initial(0X 0200)|Message LengthMessage ID0|0|Paras(0X 0500)|Length Protocol Ver|Keepalive Time Optional parasA|D|Reserved|Pvlim|Max Pdu Length Receiver LSR IDLDP消息(6)nKeepalive 消息0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0|Keepalive(0X 0201)|Message LengthMessage IDLDP消息(7)nAddress 消息0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0|Address(0X 0300)|Message LengthMessage ID0|0|Address(0X 0101)|Length AddressAddress Family NumLDP消息(8)nLabel Mapping消息0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0|Label Map(0X 0400)|Message LengthMessage ID0|0|FEC(0X 0100)|Length Prefix(02)|Address Family Num|Prelen Prefix.0|0|Label(0X 0200)|Length Label|Exp|S|TTL Optional Paras(Hop Count,Path Vector,Label Request)MPLS技术的应用n流量工程-MPLS-TE nQoSnMPLS-VPN常用命令nmpls label protocol ldp 启动LDP协议nmpls ip 在接口启动MPLS常用命令nshow mpls ldp interface interface_name operational transport_address eth3/2 YES 10.1.1.2 nshow mpls ldp neighbor Local LDP Ident:201.1.1.1:0.0 Peer LDP Ident:10.1.1.1:0.0 State:Operational Role:active TCP connection:Peer-10.1.1.1 Local-10.1.1.2 DOD/DU:Downstream Unsolicited Negotiated hold time:40 LDP discovery sources:Targeted Hello 201.1.1.1-10.1.1.1 eth3/2 Addresses bound to peer LDP Ident 1.1.1.1 10.1.1.1 200.1.1.1 常用命令nshow mpls ip binding ldp Prefix 10.1.1.0/24 local binding:10.1.1.1:0.0 in if:eth3/2 label:2050 remote binding:10.1.1.1:0.0 out if:eth3/2 label:2049 status:Liberal Prefix 200.1.1.1/32 local binding:10.1.1.1:0.0 in if:eth3/2 label:2051 remote binding:10.1.1.1:0.0 out if:eth3/2 label:2050 status:Establish 常见问题及排错n确认IP的连通(ping)nMPLS接口不可操作(show mpls ldp interface)nTransport地址不可达(show mpls ldp neighbour)n对某个目的网段(FEC)未建立LSPn未发现LDP邻居;n该目的网段的最佳下一跳不是LDP邻居;相关RFCnRFC3031-Multiprotocol Label Switching ArchitectureRFC3032-MPLS Label Stack Encoding nRFC3036 LDP Specification