CÊu tróc MPLS
Néi dung Kh¸i niÖm MPLS Nh·n vµ LSR Ên ®Þnh nh·n vµ ph©n phèi §êng chuyÓn m¹ch nh·n ATM LSR Loops vµ TTL Tæng quan LDP Day in the Life of a Packet
Kh¸i niÖm MPLS MPLS: ChuyÓn m¹ch nh·n ®a giao thøc MPLS chÝnh lµ chuyÓn m¹ch líp 2+ §îc ph¸t triÓn ®Ó tæ hîp IP vµ ATM ViÖc truyÒn gãi trong MPLS ®îc thùc hiÖn theo c¸ch t¬ng tù nh trong ATM switch ViÖc göi gãi tin ®îc thùc hiÖn dùa vµo nh·n
Kh¸i niÖm MPLS Gi¶I ph¸p cña c¸c h·ng ý tëng ban ®Çu: Ipsilon – flow-driven CSR cña Toshiba: 1994 chuyÓn m¹ch ATM - flow-driven Tag Switching cña Cisco 1996: topology-driven Aris cña IBM: 1996, topology-driven C¸c gi¶i ph¸p kh¸c: FastIP (3Com), IP Navigator cña Ascend, VNS cña Nortel....
Kh¸i niÖm MPLS Nguyªn t¾c c¬ b¶n TÝch hîp ATM vµ IP trong mét thiÕt bÞ TÝch hîp ®Þnh tuyÕn vµ chuyÓn m¹ch Ph©n t¸ch ®Þnh tuyÕn vµ chuyÓn tiÕp
Kh¸i niÖm MPLS Kh«ng nh IP, ViÖc ph©n líp vµ ®Æt gi¸ trÞ label cã thÓ dùa vµo: §Þa chØ ®Ých Traffic Engineering VPN QoS FEC: Forwarding Equivalence Class Mçi FEC cã thÓ biÓu thÞ: prefix cña ®Þa chØ ®Ých, VPN, Traffic Engineering tunnel, líp dÞch vô.
Kh¸i niÖm MPLS C¸c thµnh phÇn c¬ b¶n LSR: Label Switch Router Lo¹i LSR Chøc n¨ng thùc hiÖn LSR ChuyÓn tiÕp gãi cã nh·n LSR biªn KiÓm tra l¹i líp 3, ®Æt vµo ng¨n xÕp nh·n tríc khi göi gãi vµo m¹ng LSR. NhËn gãi tin cã nh·n, lo¹i bá nh·n, kiÓm tra l¹i líp 3 vµ chuyÓn tiÕp gãi IP ®Õn nót tiÕp theo. ATM-LSR Sö dông giao thøc MPLS trong m¶ng ®iÒu khiÓn ®Ó thiÕt lËp kªnh ¶o ATM. ChuyÓn tiÕp tÕ bµo ®Õn nót ATM-LSR tiÕp theo ATM-LSR biªn NhËn gãi cã nh·n hoÆc kh«ng nh·n, ph©n vµo c¸c tÕ bµo ATM vµ göi c¸c tÕ bµo ®Õn nót ATM-LSR tiÕp theo. NhËn c¸c tÕ bµo ATM tõ ATM-LSR cËn kÒ, t¸i t¹o c¸c gãi tõ c¸c tÕ bµo ATM vµ chuyÓn tiÕp gãi cã nh·n hoÆc kh«ng nh·n.
Nh·n vµ LSR LSR: Router chuyÓn m¹ch nh·n Edge-LSR lµ LSR thùc hiÖn viÖc d¸n nh·n vµ bá nh·n ATM-LSR: Bé chuyÓn m¹ch ATM chøa bé ®iÒu khiÓn chuyÓn m¹ch nh·n
Nh·n vµ LSR Giao thøc ®Þnh tuyÕn IP ®îc sö dông trong miÒn ®Þnh tuyÕn IGP domain with a label distribution protocol Giao thøc ®Þnh tuyÕn IP ®îc sö dông trong miÒn ®Þnh tuyÕn Giao thøc ph©n phèi nh·n ®îc sö dông ®Ó thùc hiÖn viÖc chuyÓn ®æi ®Þa chØ/nh·n gi÷a c¸c node kÕ cËn nhau LSR nèi vµo (Ingress) nhËn gãi IP, ph©n líp gãi, Ên ®Þnh nh·n råi göi gãi ®· ®îc d¸n nh·n tíi m¹ng MPLS LSR lâi (Core) chuyÓn m¹ch c¸c gãi/tÕ bµo dùa vµo gi¸ trÞ nh·n LSR nèi ra (Egress) th¸o bá nh·n tríc khi göi gãi IP ra ngoµi m¹ng MPLS
Nh·n vµ LSR Sö dông c¸c gi¸ trÞ Ethertypes/PPP PIDs/SNAP míi/etc 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 Label | Exp|S| TTL Nh·n (Label) = 20 bit Exp (Experimental) 3 bit S = Bottom of stack, 1bit TTL = Time to live, 8 bit Sö dông c¸c gi¸ trÞ Ethertypes/PPP PIDs/SNAP míi/etc Cho phÐp sö dông hoÆc mét vµi Label -> Chång Label MPLS LSR lu«n göi gãi tin ®i dùa vµo gi¸ trÞ cña nh·n trªn ®Ønh cña chång giao thøc (top of the stack)
M¹ch ao MPLS Mçi gãi ®Òu cã g¾n “label” ®Ó nhËn diÖn cuéc nèi. Mçi node cã chøa tr¹ng th¸i m¹ch aá “state”. Bang tr¹ng th¸i (state) bao gåm tËp hîp c¸c liªn kÕt gia nh·n, chÆng tiÕp theo vµ nh·n sö dông cho chÆng tiÕp theo. Bang ®îc tham chiÕu bëi label. X Y Z V W Label a b c Bang tr¹ng th¸i U d Virtual circuit is another packet transport paradigm. Asynchronous transfer mode (ATM) is an example of Virtual Circuit paradigm. Virtual circuit is established between the source and the destination. Once the circuit is established, the packet is switched along with it. Each packet is identified by the label attached to it. The label is unique within each link. The label value used on each link is determined in a distributed manner. That is, different labels are used on different links. Each node keeps the circuit state. The state is a association between the label value, the next hop, and the new label value used on the next link. When a packet arrives at a node, the state table of the node is examined and the next hop is resolved. The most important point is that the label is unique within a link, which results in small label length. The next hop is determined by looking up the state table using the label as a index. Thus the short label length simplifies table lookup procedure. Remember that in datagram paradigm, the next hop is determined by the destination address. The destination address needs to be unique through the entire network, which results in long network address and complicated table lookup.
Göi ®i c¸c gãi cã g¾n nh·n MPLS 3 giai ®o¹n xö lý gãi T¹o vµ g¾n nh·n ®äc, thay ®æi label vµ göi ®i T¸ch bá nh·n IP packet 1 IP packet IP packet L1 IP packet L3 7 IP packet L2 2 4 6 §äc gi¸ trÞ L3 Label ®îc t¹o ra vµ g¾n vµo. 8 3 5 §äc gi¸ trÞ Label Label ®îc t¸ch bá. §äc gi¸ trÞ L3. Label lookup is done. Label is swapped. ®äc label Thay ®æi label.
ChuyÓn m¹ch nh·n víi chång nh·n (label stack) Nh·n bªn ngoµi ®îc sö dông ®Ó truyÒn gãi. 1 2 3 4 6 7 8 5 IP packet L0 Outer label is swapped. L1 L2 L3 Inner label is intact. Nh·n trong vÉn d nguyªn Nh·n ngoµi ®îc thay ®æi Both labels are prepended by R1. Nh·n ngoµi ®îc R4 Ên ®Þnh Nh·n trong ®îc R7 Ên ®Þnh
T¸ch bá nh·n ë chÆng cuèi 1 2 3 4 6 7 8 5 Gãi IP L1 L2 L3 ®äc gi¸ trÞ label Label ®îc t¸ch bá
LSP: ®êng chuyÓn m¹ch nh·n C¸c gãi ®· d¸n nh·n ®îc chuyÓn m¹ch trªn ®êng LSP. #2 #3 In Out inf label 1.1.1.1 1.1.1.2 1.1.1.4 1.1.1.6 #1 #2 #1 #2 #1 #2 #1 #2 #3 #3 #3 #3 #1 #3 In Out inf label #1 #3 In Out inf label #1 #2 #2 #3 #3 #1 1.1.1.3 1.1.1.5
LDP LSP ®îc thiÕt lËp sö dông giao thøc LDP 1.1.1.1 1.1.1.2 1.1.1.4 Label request For 1.1.1.6#2 Label request For 1.1.1.6#2 Label request For 1.1.1.6#2 Label request For 1.1.1.6#2 1.1.1.1 1.1.1.2 1.1.1.4 1.1.1.6 #1 #2 #1 #2 #1 #2 #1 #2 #3 #3 #3 #3 Label mapping #1 #2 #2 #3 Label mapping Label mapping #3 #1 1.1.1.3 1.1.1.5 Label mapping
C¸c LSR vµ Label PPP Header Shim Header Layer 3 Header Ethernet Hdr PPP Header(Packet over SONET/SDH) PPP Header Shim Header Layer 3 Header Ethernet Ethernet Hdr Shim Header Layer 3 Header Frame Relay FR Hdr Shim Header Layer 3 Header GFC VPI VCI PT CLP HEC DATA ATM Cell Header Label Subsequent cells GFC VPI VCI PTI CLP HEC DATA Label
Ên ®Þnh vµ ph©n phèi Label Label chØ cã gi¸ trÞ côc bé tõng chÆng Mçi LSR cã mét c¬ chÕ nhËn biÕt vµ chuyÓn ®æi nh·n riªng Mçi LSR chñ ®éng Ên ®Þnh label cho c¸c FEC cña m×nh Label ®îc Ên ®Þnh vµ trao ®æi gi÷a c¸c LSR kÕ cËn nhau
Ên ®Þnh vµ ph©n phèi Label C¸c LSR Upstream vµ Downstream 171.68.40/24 171.68.10/24 Rtr-A Rtr-B Rtr-C Router-C lµ downstream neighbor cña Rtr-B víi ®Þa chØ ®Ých lµ 171.68.10/24 Rtr-B lµ downstream neighbor cña Rtr-A víi ®Þa chØ ®Ých lµ 171.68.10/24 LSR biÕt ®îc c¸c downstream neighbor cña nã th«ng qua giao thøc ®Þnh tuyÕn IP §Þa chØ next-hop chÝnh lµ downstream neighbor
Ên ®Þnh vµ ph©n phèi Label Unsolicited Downstream Distribution Sö dông label 30 øng víi ®Ých 171.68.10/24 Sö dông label 40 øng víi ®Ých 171.68.10/24 171.68.40/24 171.68.10/24 Rtr-A Rtr-B Rtr-C Next-Hop In Lab - ... Address Prefix 171.68.10 Out I/F 1 30 Next-Hop In Lab 30 ... Address Prefix 171.68.10 Out I/F 1 40 Next-Hop In Lab 40 ... Address Prefix 171.68.10 Out I/F 1 - C¸c tuyÕn x¸c ®Þnh bëi IGP C¸c LSR ph©n phèi label ®Ó truyÒn gãi tíi c¸c node kÕ cËn
Ên ®Þnh vµ ph©n phèi Label On-Demand Downstream Distribution Use label 40 for destination 171.68.10/24 Use label 30 for destination 171.68.10/24 171.68.10/24 171.68.40/24 Rtr-A Rtr-B Rtr-C Request label for destination 171.68.10/24 Request label for destination 171.68.10/24 C¸c Upstream LSR yªu cµu downstream neighbor ph©n bæ label C¸c Downstream LSR ph©n bæ label theo yªu cÇu
Ên ®Þnh vµ ph©n phèi Label Label Retention Mode Liberal retention mode LSR lu gi÷ c¸c gi¸ trÞ label tõ tÊt c¶ c¸c node kÕ cËn C¶i thiÖn thêi gian héi tô, when next-hop is again available after IP convergence Require more memory and label space Conservative retention mode LSR chØ lu gi÷ l¹i c¸c gi¸ trÞ label tõ c¸c node chÆng kÕ tiÕp LSR discards all labels for FECs without next-hop Free memory and label space
Ên ®Þnh vµ ph©n phèi Label Label Distribution Modes §iÒu khiÓn LSP ®éc lËp LSR g¾n mét gi¸ trÞ Label cho mét FEC mét c¸ch ®éc lËp, bÊt kÓ LSR cã nhËn ®îc nh·n chÆng tiÕp theo cho FEC ®ã hay kh«ng LSR sau ®ã qu¶ng b¸o gi¸ trÞ Label cho c¸c node kÕ cËn nã §iÒu khiÓn LSP theo yªu cÇu LSR only binds and advertise a label for a particular FEC if: it is the egress LSR for that FEC or it has already received a label binding from its next-hop
Ên ®Þnh vµ ph©n phèi Label Mét sè giao thøc trao ®æi label LDP T¹o gi¸ trÞ label theo ®Þa chØ IP ®Ých RSVP, CR-LDP Sö dông cho traffic engineering BGP External label (VPN) PIM For multicast states label mapping
§êng chuyÓn m¹ch nh·n (LSP) IGP domain with a label distribution protocol IGP domain with a label distribution protocol LSP follows IGP shortest path LSP diverges from IGP shortest path LSP ®îc t¹o ra tõ c¸c th«ng tin ®Þnh tuyÕn IGP LSPs may diverge from IGP shortest path LSP tunnels (explicit routing) with TE LSPs are unidirectional Return traffic takes another LSP
§êng chuyÓn m¹ch nh·n (LSP) T¸ch bá nh·n ë chÆng cuèi Label ngoµi cïng cña chång nh·n (top of the stack) ®îc t¸ch bá ®i bëi upstream neighbor cña egress LSR Egress LSR yªu cÇu “popping” th«ng qua giao thøc ph©n phèi nh·n Egress LSR advertises implicit-null label Egress LSR sÏ kh«ng cÇn ph¶i xem xÐt råi tach bá nh·n n÷a One lookup is saved in the egress LSR
§êng chuyÓn m¹ch nh·n (LSP) T¸ch bá nh·n ë chÆng cuèi Address Prefix and mask 171.68.10/24 Next-Hop 171.68.9.1 Interface Serial1 171.68.44/24 171.68.12.1 Serial2 171.68/16 ... Null Next-Hop In Lab Address Prefix Out I/F - 171.68/16 1 4 ... Next-Hop In Lab Address Prefix Out I/F 4 171.68/16 2 pop ... Summary route for 171.68/16 Summary route for 171.68/16 1 1 171.68.44/24 Use label 4 for FEC 171.68/16 Use label “implicit-null” for FEC 171.68/16 171.68.10/24 Summary route is propagate through the IGP and label is assigned by each LSR Egress LSR summarises more specific routes and advertises a label for the new FEC Egress LSR needs to do an IP lookup for finding more specific route Egress LSR need NOT receive a labelled packet
ATM LSR Bé chuyÓn m¹ch ATM göi ®i c¸c cell (not packet) ViÖc ph©n phèi Label lµ Downstream on-demand, Ordered IGP label trïng víi gi¸ trÞ VPI/VCI trong Cell header Merging LSR: Ability to use the same label for different FECs if outgoing interface is the same Save label space on ATM-LSRs Cell interleave problem Non Merging LSR: ATM-LSR requests one label per FEC and per incoming interface (upstream neighbors) Downstream LSR may request itself new label to its downstream neighbors
ATM LSRs Non-Merging Downstream on Demand Lab 5 8 ... Address Prefix 171.68 Out I/F 3 4 1 2 ATM-LSR requested additional label for same FEC in order to distinguish between incoming interfaces (Downstream on Demand) ATM cell 5 IP Packet ATM cell 5 171.68 ATM cell 4 ATM cell 3 ATM cell 4 ATM cell 3 ATM cell 4 IP Packet ATM cell 8 ATM cell 8 ATM cell 8
ATM LSRs VC-Merging Downstream on Demand Lab 5 8 ... Address Prefix 171.68 Out I/F 3 1 2 ATM-LSR transmitted cells in sequence in order for the downstream LSR to re-assembling correctly the cells into packets ATM cell 5 IP Packet ATM cell 5 171.68 ATM cell 3 ATM cell 3 ATM cell 3 ATM cell 3 ATM cell 3 IP Packet ATM cell 8 ATM cell 8 ATM cell 8
Loops and TTL In IP networks TTL is used to prevent packets to travel indefinitely in the network MPLS may use same mechanism as IP, but not on all encapsulations TTL is present in the label header for PPP and LAN headers (shim headers) ATM cell header does not have TTL
Loops and TTL LSR ë chÕ ®é ATM kh«ng cã kh¶ n¨ng TTL Some suggested options: - hop-count object in LDP - Path Vector object in LDP
Loops and TTL LSR-1 LSR-2 LSR-3 IP packet TTL = 10 IP packet TTL = 6 Label = 25 IP packet TTL = 6 Label = 39 LSR-6 --> 25 Hops=4 LSR-6 IP packet TTL = 6 Label = 21 IP packet TTL = 6 IGP domain with a label distribution protocol Egress LSR-4 LSR-5 TTL is decremented prior to enter the non-TTL capable LSP If TTL is 0 the packet is discarded at the ingress point TTL ®îc kiÓm tra t¹i LSP nèi ra
C¸c kh¸i niÖm trong LDP LDP - Label Distribution Protocol Label ®îc t¹o ra t¬ng øng víi FEC (Unicast Destination Prefix) LDP works between adjacent/non-adjacent peers C¸c phiªn LDP ®îc thiÕt lËp gi÷a c¸c peers
C¸c b¶n tin LDP C¸c b¶n tin ph¸t hiÖn (Discovery) §îc sö dông ®Ó ph¸t hiÖn vµ duy tr× sù hiÖn diÖn cña c¸c peer míi C¸c Hello packet (UDP) ®îc göi tíi tÊt c¶ c¸c ®Þa chØ routers multicast Mét khi node kÕ cËn ®îc ph¸t hiÖn, phiªn LDP ®îc thiÕt lËp trªn TCP
C¸c b¶n tin LDP C¸c b¶n tin vÒ phiªn C¸c b¶n tin qu¶ng b¸ ThiÕt lËp, duy tr× vµ gi¶i to¶ c¸c phiªn LDP C¸c b¶n tin qu¶ng b¸ T¹o, thay ®æi, xo¸ gi¸ trÞ label C¸c b¶n tin th«ng b¸o B¸o hiÖu lçi
Day in the life of a Packet Address Prefix and mask 171.68.10/24 Next-Hop 171.68.9.1 Interface Serial1 171.68.44/24 171.68.12.1 Serial2 171.68/16 ... Null Next-Hop In Lab Address Prefix Out I/F - 171.68/16 1 4 ... Next-Hop In Lab Address Prefix Out I/F 4 171.68/16 1 7 ... Next-Hop In Lab Address Prefix Out I/F 7 171.68/16 2 pop ... P P 1 1 2 PE PE Use label “implicit-null” for FEC 171.68/16 Use label 4 for FEC 171.68/16 Use label 7 for FEC 171.68/16 171.68.44/24 Summary route for 171.68/16 Summary route for 171.68/16 CE 171.68.10/24 Summary route is propagate through the IGP and label is assigned by each LSR Egress LSR summarises more specific routes and advertises a label for the new FEC Egress LSR needs to do an IP lookup for finding more specific route
Day in the life of a Packet Basic Layout
Day in the life of a Packet Database Layout
Day in the life of a Packet
Day in the life of a Packet
KÕt luËn LSR göi c¸c gãi tin dùa vµo gi¸ trÞ nh·n IP header vµ quyÕt ®Þnh göi gãi tin ®îc t¸ch riªng ra ®Ó t¨ng tÝnh linh ®éng Gi¸ trÞ Label cã thÓ ®îc t¹o ra tõ nhiÒu nguån kh¸c nhau C¸c giao thøc ®Þnh tuyÕn IP §Þa chØ Multicast Traffic Engineering QoS VPN
KÕt luËn MPLS cho phÐp ph©n líp linh ®éng c¸c gãi tin vµ tèi u ho¸ tµi nguyªn m¹ng Label ®îc ph©n bæ bëi c¸c giao thøc kh¸c nhau LDP, RSVP, BGP, PIM C¸c giao thøc ph©n phèi kh¸c nhau cã thÓ cïng tån t¹i trªn mét LSR Label chØ cã gi¸ trÞ côc bé Kh«ng cÇn ph¶i ®¸nh sè hay ph©n bæ gi¸ trÞ nh·n trªn ph¹m vi toµn cÇu