SlideShare a Scribd company logo
1 of 62
Download to read offline
Tutorial:
Introduction to MPLS
Joseph M. Soricelli (jms@juniper.net)
     NANOG 28, Salt Lake City, Utah
Caveats and Assumptions
 The views presented here are those of the author
 and they do not necessarily represent the views of
 Juniper Networks

 You will ask a question when you don’t
 understand!




                                               1 June 2003
What is MPLS?
 Forwarding of user data traffic using fixed sized
 headers which contain a label value
 Virtual Circuit for IP
    Unidirectional path through the network
    Tunnel through the network
 Traffic Engineering
    Using paths other than the IGP shortest-path
 Mapping IP prefixes to LSPs
 Forwarding Equivalence Class (FEC)




                                                   1 June 2003
MPLS Labels
 Fixed Length
 Local Significance
 Labels usually change on each network segment
 Assigned upstream by signaling protocols
 Four defined fields
    Label
    Experimental
    Stack Bit (0=additional labels 1=end of stack)
    Time-to-Live



             Label (20 bits)      CoS S     TTL




                                                     1 June 2003
MPLS Shim Header
 Labels are placed between L2 header and L3 data
 Multiple labels may be stacked together


L2 Header   MPLS Header                 L3 Data




L2 Header   MPLS Header MPLS Header               L3 Data




L2 Header   MPLS Header MPLS Header MPLS Header             L3 Data




                                                                      1 June 2003
Label Space
 20 bits of label allows for values between 0 and
 1,048,575
 Labels 0 through 15 are reserved by IETF
    Label 0 – IPv4 Explicit NULL
    Label 1 – Router Alert
    Label 2 – IPv6 Explicit NULL
    Label 3 – IPv4 Implicit NULL
 All other labels may be allocated at random
    Some vendors allocate dynamic labels from certain
    ranges
    The JUNOS software begins at 100,000




                                                        1 June 2003
MPLS Labels
 Label Distribution
    Downstream-on-Demand
       “Ask and you shall receive”
    Unsolicited Downstream
       Sent without a request
       “Here’s a label to use for this prefix”
 Label Retention
    Liberal (Keep all received labels)
    Conservative (Keep only labels you use)
 Label Control
    Ordered
       Allocate a label after receiving a label or if you are egress
    Independent
       Allocate a label at any time

                                                               1 June 2003
Link-Layer Support for MPLS
 PPP protocol ID value of 0x0281
 PPP NCP ID value of 0x8281
 All other Layer 2 encapsulations use 0x8847
    Ethernet
    HDLC
    GRE Tunnel
    Frame Relay
    ATM AAL5 SNAP




                                               1 June 2003
Label Switched Path (LSP)
 Unidirectional path through the network




                                           1 June 2003
Router Types - Ingress
  Ingress Router
           Packets enter the LSP
           Head-end router
           Upstream from other routers in the LSP
           “Gozinta” router
           Performs a label push operation




 Ingress




                                                    1 June 2003
Router Types - Transit
  Transit Router
     Zero or more transit routers in an LSP
        Maximum of 253
     Sends traffic to the downstream physical next-hop of
     the LSP
     Performs a label swap operation




            Transit      Transit      Transit




                                                       1 June 2003
Router Types - Penultimate
 Penultimate Router
    Immediate upstream router from the egress router
    Often performs a label pop operation
      Penultimate Hop Popping (PHP)
      Remaining packet contents sent to the egress router
    Can perform a label swap operation




                                    Penultimate




                                                            1 June 2003
Router Types - Egress
  Egress Router
     Packets exit the LSP
     Tail-end router
     Downstream from other routers in the LSP
     “Gozoutta” router
     Can perform a label pop operation




                                                Egress




                                                         1 June 2003
Ultimate Hop Popping (UHP)
 The egress router signals a label value of 0 to the
 penultimate router
 The packet sent to the egress contains an MPLS
 header with a label value of 0
 Egress router pops the label and performs an IPv4
 route lookup before forwarding the packet


                                            Egress



                                        0




                                                     1 June 2003
Penultimate Hop Popping (PHP)
 The egress router signals a label value of 3 to the
 penultimate router
 The penultimate router pops the top label from
 the packet the forwards the remaining data to the
 egress router
    Native IPv4 packet
    MPLS header when label stacking is used
 Egress router performs an appropriate lookup
    Route lookup for IPv4 packets
    MPLS switching table lookup for labeled packets




                                                      1 June 2003
Penultimate Hop Popping (PHP)
 Helps the egress router offload processing
    Very beneficial for non-ASIC devices

                                   Penultimate



                                                 3




                                                 3
                                                      Egress




                                                 3


                                   Penultimate



                                                     1 June 2003
LSP Forwarding - Ingress
 An IPv4 packet arrives at the ingress router with
 a destination address of 192.168.1.1
 Ingress router has a route for 192.168.1.0/24
 with a next-hop of the LSP
 MPLS header with a label of 101,456 is appended
 to the packet and forwarded downstream

                                              192.168.1.0/24



       101,456        108,101   100,001   3



    101,456      IP




                                                     1 June 2003
LSP Forwarding - Transit
  Each transit router receives a labeled packet and
  performs a switching table lookup
  Each transit router performs a label swap
  operation
     101,456 swapped for 108,101
     108,101 swapped for 100,001


                                                  192.168.1.0/24



      101,456      108,101         100,001    3



                108,101   IP   100,001   IP




                                                         1 June 2003
LSP Forwarding - Penultimate
 The penultimate router receives a labeled packet
 and performs a switching table lookup
 Since the egress router signaled a label value of 3,
 the penultimate router pops the top label and
 forwards the remaining data


                                              192.168.1.0/24



      101,456    108,101    100,001      3



                                         IP




                                                     1 June 2003
LSP Forwarding - Egress
 The egress router receives a native IPv4 packet
    Route lookup performed
    Packet forwarded to the appropriate next-hop router




                                                 192.168.1.0/24



     101,456     108,101      100,001        3                  IP




                                                        1 June 2003
LSP Signaling Protocols
  Resource Reservation Protocol (RSVP)
     Well-known signaling protocol
     Extended to support traffic engineering
     Supports explicit paths and bandwidth reservations
     Labels allocated only along the defined LSP path
  Label Distribution Protocol (LDP)
     Uses the same shortest-path as IGP for forwarding
     Labels allocated and exchanged between neighbors
  Constrained Routing LDP (CR-LDP)
     Adds traffic engineering capabilities to LDP
     Limited support from vendors




                                                      1 June 2003
RSVP Session
 Uniquely defines and identifies the LSP
 throughout the network
    Destination address of LSP
    Tunnel ID value
    Protocol number (often set to 0)
 An individual session may have multiple defined
 senders
    LSP ID defines a sender
    Ingress router creating an additional path for the LSP
       Secondary path
       Fast Reroute Detour
 Routers become RSVP neighbors after session
 establishment


                                                       1 June 2003
RSVP Path and Resv Messages
 Path messages sent downstream
    Addressed to the egress router
    Contains the router alert option
    Establishes protocol state along the way
 Resv messages sent upstream
    Addressed to the next upstream node
    Finalizes protocol state
    Assigns and allocates resources


      Path        Path          Path           Path




      Resv        Resv          Resv           Resv


                                                      1 June 2003
RSVP PathTear and ResvTear Messages
 LSP already established and operational
    Link failure causes protocol state to be removed
 PathTear messages sent downstream
    Addressed to the egress router
    Contains the router alert option
    Removes protocol state along the way
 ResvTear messages sent upstream
    Addressed to the next upstream node
    Removes protocol state
                               PathTear     PathTear


                   X
     ResvTear



                                                       1 June 2003
RSVP PathErr and ResvErr Messages
 Error messages signal problems to the ingress or
 egress routers
    No protocol state removed by error messages
    Ingress or egress routers may initiate a teardown of the
    LSP due to receipt of an error message
 PathErr messages sent upstream
 ResvErr messages sent downstream



     PathErr      PathErr




                               ResvErr      ResvErr



                                                       1 June 2003
RSVP Path Message Objects
 Objects used to define the LSP and request
 resources
    Session
       Defines the address of the egress router
       Contains the Tunnel ID value associated with the LSP
    RSVP-Hop
       Interface address of the previous hop of the LSP
    Sender-Template
       Defines the address of the ingress router
       Contains a unique LSP ID
    Sender-Tspec
       Displays any request bandwidth reservations
    Session Attribute
       Contains LSP priority values as well as the ASCII name of
       the LSP

                                                              1 June 2003
RSVP Path Message Objects
 Objects used to define the LSP and request
 resources
    Label Request
    Explicit Route
       Defines the requested path of the LSP through the
       network
       Can be manually created
       Can be the output of Constrained SPF calculation
    Record Route
       Contains the actual path of the LSP through the network
       Used for loop detection and prevention




                                                           1 June 2003
RSVP Resv Message Objects
 Objects used to allocate resources and establish
 the LSP
    Session
       Contains the egress address and Tunnel ID
    RSVP-Hop
       Interface address of the downstream hop of the LSP
    Style
       Type of resource allocation performed
       Fixed Filter (FF)
       Shared Explicit (SE)
    FlowSpec
       Displays the bandwidth reserved by the LSP
       Matches the information in the Sender-Tspec object




                                                            1 June 2003
RSVP Resv Message Objects
 Objects used to define the LSP and request
 resources
    Filter-Spec
       Contains the ingress address and LSP ID
       Matches the information in the Sender-Template object
    Label
       Contains the 20-bit label value to be used for traffic
       forwarding
    Record Route
       Contains the actual path of the LSP through the network
       Used for loop detection and prevention




                                                                1 June 2003
RSVP Bandwidth
 By default, each interface uses 100% of its
 capacity as reservable bandwidth
    You may change this percentage
 An LSP may request a bandwidth reservation
 during its establishment in the network
    Only determines if the LSP is setup of not
    The BW reservation is NOT used to police traffic




                                                       1 June 2003
Explicit Route Object (ERO)
  Puts the “engineering” in TE
     Allows the ingress router to define the path of the LSP
     through the network
  May contain loose hop information
     Loose hop defines a node the LSP must pass through at
     some point
     IPv4 shortest-path routing used for forwarding Path
     messages:
        From ingress to first loose hop
        Between loose hops
        From last loose hop to egress router
  May contain strict hop information
     Strict hop must be the next downstream router
     Must be directly connected to the local router


                                                         1 June 2003
Loose Hop ERO
   Ingress uses routing table to forward the Path
   message towards RTR-D
   RTR-D uses routing table to forward message to
   egress router



    A                   B                    C




  ERO:
              D                   E
D — Loose




                                                 1 June 2003
Strict Hop ERO
    Ingress consults ERO to locate the first strict hop
             Forwards Path message out interface associated with
             that hop
    Each transit router ensure it is next strict hop in
    the path
             If so, message forwarded to next strict hop
             If not, PathErr message sent back to ingress router

      A                            B                         C




  ERO:
D — Strict
B — Strict             D                       E
E — Strict
C — Strict
                                                                   1 June 2003
Mixing Strict and Loose Hops
   An ERO may contain both strict and loose hops
         Loose hops are routed using routing table
         Strict hops receive messages when they are directly
         connected



    A                          B                        C




  ERO:            D                        E
D — Strict
B — Loose




                                                            1 June 2003
Manual ERO Concerns
   Manual use of EROs requires knowledge of the
   network topology
   Loop detection might cause LSP setup to fail
   IGP metrics shown below
        RTR-E forwards Path message back to RTR-B
        Loop detection in RRO by RTR-B prompts creation of
        PathErr message

    A                        B                        C
                1                        1


            1           1        1               5



  ERO:              D                    E
B — Loose                    1
E — Loose
                                                          1 June 2003
Automatic EROs
 The ingress router can automatically create an
 ERO for the LSP
    Contains all strict hops for the complete path
    Formed from information contained in the Traffic
    Engineering Database (TED)
 TED is populated by information advertised by the
 Interior Gateway Protocols
    Both OSPF and IS-IS have been extended to support
    traffic engineering
    OSPF Opaque LSA 10 (Area-Scope Flooding)
    IS-IS TLV 22 (Extended IS Reachability)
    IS-IS TLV 135 (Extended IP Reachability)




                                                       1 June 2003
IGP Extensions
 Both link-state IGPs may advertise information
 which is stored in the TED
    Interface and neighbor interface addresses
    Maximum reservable bandwidth per network link
    Current reservable bandwidth
    Traffic Engineering metric
    Administrative group information
       Affinity classes
       Colors
 The ingress router uses a modified form of the
 SPF algorithm within the TED to generate the ERO
    Constrained Shortest-Path First (CSPF)
    Takes user-defined constraints into account



                                                    1 June 2003
CSPF Algorithm
  When the ingress router invokes the CSPF
  algorithm, it creates a subset of the TED
  information based on the constraints provided
  1. Prune all links which don’t have enough reservable BW
  2. Prune all links which don’t contain an included
     administrative group color
  3. Prune all links which do contain an excluded
     administrative group color
  4. Calculate a shortest path from the ingress to egress
     using the subset of information
        Manual ERO definitions taken into account
        Run CSPF from ingress to first ERO node
        Run second CSPF from ERO node to egress




                                                      1 June 2003
CSPF Algorithm (Contd.)
  When the subset of information used by CSPF
  returns multiple equal-cost paths:
  5. Prefer the path where the last-hop address equals the
     egress address
  6. Should equal-cost paths still exist, select the one with
     the fewest physical hops
  7. Should equal-cost paths still exist, pick one based on
     the load-balancing configuration of the LSP
        Random
        Most-fill
        Least-fill
  The result of CSPF (strict-hop ERO) is passed to
  RSVP for LSP signaling



                                                         1 June 2003
Administrative Groups
 Each interface may be assigned to one or multiple
 administrative groups
     Colors are often used to describe these groups (Gold,
     Silver, Bronze)
     User-friendly names can be used as well (Voice,
     Management, Best-Effort)
     Names are locally significant to the router
 Group information is propagated by the IGP as a
 32-bit vector
     Bits 0 through 31
     Stored in the TED


  1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0




                                                             1 June 2003
Administrative Groups
 The LSP can be configured to include or exclude
 certain group values
    Include requires each link to contain the specified
    group value
       Multiple values are combined as a logical OR
    Exclude requires each link to not contain the value
       Multiple values are combined as a logical OR
 LSP performs a logical AND on the include and
 exclude groups




                                                          1 June 2003
Administrative Groups Example-Include
 The LSP can be configured to include certain
 group values
       LSP from C to E should include Gold or Silver
       All IGP link metrics are set to 1
                                Bronze
                 A                                   B


       Gold            Silver            Silver                Bronze




                                                  Management
  C                               D                                     E




      Bronze                          Silver                   Gold
                       Silver
                                    Best Effort

                                Silver
                 F                                   G
                                                                            1 June 2003
Administrative Groups Example-Include
 After pruning all links which do not contain either
 Gold or Silver, SPF is run and the ERO is formed



             A                               B


      Gold        Silver            Silver




  C                          D                          E




                                 Silver          Gold
                  Silver
                               Best Effort

                           Silver
             F                               G
                                                            1 June 2003
Administrative Groups Example-Exclude
 The LSP can be configured to exclude certain
 group values
       LSP from C to E should exclude Best Effort
       All IGP link metrics are set to 1
                                Bronze
                 A                                   B


       Gold            Silver            Silver                Bronze




                                                  Management
  C                               D                                     E




      Bronze                          Silver                   Gold
                       Silver
                                    Best Effort

                                Silver
                 F                                   G
                                                                            1 June 2003
Administrative Groups Example-Exclude
 After pruning all links which contain Best Effort,
 SPF is run and the ERO is formed


                            Bronze
               A                                 B


       Gold        Silver            Silver                Bronze




                                              Management
  C                           D                                     E




      Bronze                                               Gold
                   Silver


                            Silver
               F                                 G
                                                                        1 June 2003
Administrative Groups Example-Both
 Both include and exclude can be used together
       LSP from C to E should (include Gold or Silver) and
       (exclude Best Effort)
       All IGP link metrics are set to 1
                                Bronze
                 A                                   B


       Gold            Silver            Silver                Bronze




                                                  Management
  C                               D                                     E




      Bronze                          Silver                   Gold
                       Silver
                                    Best Effort

                                Silver
                 F                                   G
                                                                            1 June 2003
Administrative Groups Example-Both
 First, all links which do not contain either Gold or
 Silver are pruned
 Second, all links containing Best Effort are pruned
 Third, SPF is run and the ERO is formed
             A                                B


      Gold        Silver             Silver




  C                           D                          E




                   Silver                         Gold


                            Silver
             F                                G
                                                             1 June 2003
RSVP Configuration
  Routers must be enabled to support MPLS and
  RSVP
[edit]                               mpls traffic-eng tunnels
user@host# show interfaces           !
ge-0/2/0 {                           interface POS0/0/0
    unit 0 {                           ip address 10.222.28.1 255.255.255.0
        family inet {                  no ip directed-broadcast
             address 10.222.29.1/24;   mpls traffic-eng tunnels
        }
        family mpls;
    }
}
[edit]
user@host# show protocols
rsvp {
    interface all;
}
mpls {
    interface all;
}
                                                                      1 June 2003
RSVP Configuration
  Explicit networks paths can be established

[edit]
user@host# show protocols mpls
path user-defined-ERO {          ip explicit-path name user-defined-ERO enable
    192.168.20.1 loose;           next-address loose 192.168.20.1
    192.168.24.1 loose;           next-address loose 192.168.24.1
    192.168.36.1 loose;           next-address loose 192.168.36.1
    192.168.40.1 loose;           next-address loose 192.168.40.1
}




                                                                     1 June 2003
RSVP Configuration
  Configure the ingress router to support the LSP
[edit]
user@host# show protocols mpls
label-switched-path ingress-to-egress {
    to 192.168.32.1;
    primary user-defined-ERO;
}
path user-defined-ERO {
    192.168.20.1 loose;
    192.168.24.1 loose;
    192.168.36.1 loose;
    192.168.40.1 loose;
}
interface Tunnel10
 ip unnumbered Loopback 0
 no ip directed-broadcast
 tunnel destination 192.168.32.1
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng priority 1 1
 tunnel mpls traffic-eng path-option 1 explicit name user-defined-ERO

                                                                        1 June 2003
LDP Neighbors
 Two connected LDP routers form a neighbor
 relationship
    Hello messages multicast to 224.0.0.2
    UDP port 646
    Included transport address or source IP address of
    message is used as session identifier
 Two remote LDP routers can also become
 neighbors
    Targeted hello messages
    Unicast to the remote neighbor
    UDP port 646
    Transport address included in message
 Label space advertised as part of LDP ID


                                                         1 June 2003
LDP ID
 Each router creates an LDP ID
    6-byte value separated by a colon
       192.168.1.1:0
    First 4 bytes are the router ID of the node
    Last two bytes are used to define the type of labels
    allocated
       A value of 0, the default, means labels are handed out on a
       per-node basis




                                                            1 June 2003
LDP Sessions
 After becoming neighbors, each LDP router
 decides which router should be the active node
    Highest router ID is the active node
 Active node creates a TCP connection between
 the routers
    TCP port 646
    Once connection between peers even when multiple
    physical links (multiple neighbors) exist
 Active node then creates an LDP session by
 sending initialization messages to the passive
 peer




                                                   1 June 2003
LDP Session Initialization
  Initialization message includes:
     Local LDP ID
     Remote LDP ID
     Protocol version
     Negotiable hold time value
  The passive node examines the LDP ID values to
  verify that an active neighbor relationship is in
  place for this new session
     If acceptable, a keepalive message is returned
  Passive node generates its own initialization
  message and sends it to the active node
     If accepted, a keepalive message is returned
  The peers now have an operational session
  between themselves


                                                      1 June 2003
Advertising Information in LDP
  Two new LDP peers exchange interface addresses
  in Address messages
     All directly connected addresses are advertised
     Allows each peer to associate a label advertisement
     from the session to a physical next-hop interface
  The peers then advertise FEC and label
  information
     Local FEC includes prefixes reachable from the router
     as an egress router (loopback address)
     FEC may also include information received from other
     LDP sessions
     Labels are allocated for all reachable FEC information




                                                        1 June 2003
LDP Database
 All LDP routers maintain an LDP database
    FEC/Labels received across a particular session
    FEC/Labels advertised across a particular session
 By default, FEC/Label information is flooded to all
 LDP peers for all possible prefixes
    Full-mesh of information for the entire LDP network
    Possible routing loop issues
 Full mesh of LSPs results from complete FEC
 prefix knowledge
    Each router is an ingress router for every FEC
    Each router is also an egress router for the FEC it
    advertised




                                                          1 June 2003
LDP Database Example

user@host> show ldp database
Input label database, 192.168.16.1:0--192.168.20.1:0
  Label     Prefix
 100352     192.168.16.1/32
      3     192.168.20.1/32
 100368     192.168.24.1/32
 100304     192.168.32.1/32
 100320     192.168.36.1/32
 100336     192.168.40.1/32

Output label database, 192.168.16.1:0--192.168.20.1:0
  Label     Prefix
      3     192.168.16.1/32
 100112     192.168.20.1/32
 100096     192.168.24.1/32
 100128     192.168.32.1/32
 100144     192.168.40.1/32


                                                        1 June 2003
LDP Loop Avoidance
 LDP consults the IGP shortest-path information to
 avoid loops
    Results in the forwarding path for LDP and the IGP
    being identical
 For example:
    Suppose that 192.168.1.1 is reachable via IS-IS over
    the fe-0/0/0.0 interface
    The LDP database reports that a label has been
    received from two LDP peers for 192.168.1.1
       One is reachable over the fe-0/0/0.0 interface
       The other is reachable over the fe-0/1/1.0 interface
    The LDP process installs the label information
    associated with the fe-0/0/0.0 interface




                                                              1 June 2003
Using RSVP for LDP Traffic Engineering
  Established RSVP tunnels can be used to engineer
  LDP forwarding paths through the network
  The RSVP ingress and egress routers form an LDP
  session using targeted hello messages
     Once the session is formed, address and FEC
     information is advertised
     Advertised and received FEC/Label information is
     stored in the LDP database
     FEC/Label information is re-advertised to other LDP
     peers
  Label stacking is performed across the RSVP LSP




                                                       1 June 2003
LDP Tunneling and Label Stacking
 LDP neighbor relationships between:
         A and B via the physical interface
         B and E via bi-directional RSVP LSPs
         E and F via the physical interface
 RTR-B performs a swap and push operation
         Swap label 101,583 for label 100,001 (advertised by E)
         Push label 106,039 (advertised by C) to reach RTR-E
                                          LDP: 100,001

  A                  B                C                  D             E            F

      LDP: 101,583       RSVP: 106,039 RSVP: 105,821         RSVP: 3       LDP: 3


                            106,039          105,821
        101,583             100,001          100,001         100,001
          IP                  IP                IP              IP           IP



                                                                                        1 June 2003
Questions and Comments
  We’ve just barely scratched the surface here
    LSP protection
        Primary and secondary paths
        Fast Reroute
    Policy control and LSP selection
    LSP Preemption
    Class of Service
    Using MPLS to support services (L3VPN, L2VPN, VPLS)
  Feedback on this presentation is highly
  encouraged
    jms@juniper.net


  Questions?

                                                     1 June 2003
Thank you!
http://www.juniper.net

More Related Content

What's hot

MPLS Traffic Engineering
MPLS Traffic EngineeringMPLS Traffic Engineering
MPLS Traffic EngineeringAPNIC
 
BGP Advance Technique by Steven & James
BGP Advance Technique by Steven & JamesBGP Advance Technique by Steven & James
BGP Advance Technique by Steven & JamesFebrian ‎
 
MPLS Concepts and Fundamentals
MPLS Concepts and FundamentalsMPLS Concepts and Fundamentals
MPLS Concepts and FundamentalsShawn Zandi
 
Waris l2vpn-tutorial
Waris l2vpn-tutorialWaris l2vpn-tutorial
Waris l2vpn-tutorialrakiva29
 
Mpls basics introduction
Mpls basics introductionMpls basics introduction
Mpls basics introductionPhilip Agu Bah
 
Segment Routing: A Tutorial
Segment Routing: A TutorialSegment Routing: A Tutorial
Segment Routing: A TutorialAPNIC
 
MPLS Deployment Chapter 1 - Basic
MPLS Deployment Chapter 1 - BasicMPLS Deployment Chapter 1 - Basic
MPLS Deployment Chapter 1 - BasicEricsson
 
BGP (border gateway routing protocol)
BGP (border gateway routing protocol)BGP (border gateway routing protocol)
BGP (border gateway routing protocol)Netwax Lab
 
Segment Routing Lab
Segment Routing Lab Segment Routing Lab
Segment Routing Lab Cisco Canada
 
Deploy MPLS Traffic Engineering
Deploy MPLS Traffic EngineeringDeploy MPLS Traffic Engineering
Deploy MPLS Traffic EngineeringAPNIC
 
MPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label SwitchingMPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label SwitchingPeter R. Egli
 
MPLS (Multiprotocol Label Switching)
MPLS (Multiprotocol Label Switching)MPLS (Multiprotocol Label Switching)
MPLS (Multiprotocol Label Switching)Netwax Lab
 

What's hot (20)

MPLS Traffic Engineering
MPLS Traffic EngineeringMPLS Traffic Engineering
MPLS Traffic Engineering
 
BGP Advance Technique by Steven & James
BGP Advance Technique by Steven & JamesBGP Advance Technique by Steven & James
BGP Advance Technique by Steven & James
 
MPLS Concepts and Fundamentals
MPLS Concepts and FundamentalsMPLS Concepts and Fundamentals
MPLS Concepts and Fundamentals
 
Waris l2vpn-tutorial
Waris l2vpn-tutorialWaris l2vpn-tutorial
Waris l2vpn-tutorial
 
Mpls basics introduction
Mpls basics introductionMpls basics introduction
Mpls basics introduction
 
Segment Routing: A Tutorial
Segment Routing: A TutorialSegment Routing: A Tutorial
Segment Routing: A Tutorial
 
MPLS Presentation
MPLS PresentationMPLS Presentation
MPLS Presentation
 
MPLS Deployment Chapter 1 - Basic
MPLS Deployment Chapter 1 - BasicMPLS Deployment Chapter 1 - Basic
MPLS Deployment Chapter 1 - Basic
 
Mpls Services
Mpls ServicesMpls Services
Mpls Services
 
BGP (border gateway routing protocol)
BGP (border gateway routing protocol)BGP (border gateway routing protocol)
BGP (border gateway routing protocol)
 
01 introduction to mpls
01 introduction to mpls 01 introduction to mpls
01 introduction to mpls
 
MPLS VPN
MPLS VPNMPLS VPN
MPLS VPN
 
Mpls L3_vpn
Mpls L3_vpnMpls L3_vpn
Mpls L3_vpn
 
Segment Routing Lab
Segment Routing Lab Segment Routing Lab
Segment Routing Lab
 
Deploy MPLS Traffic Engineering
Deploy MPLS Traffic EngineeringDeploy MPLS Traffic Engineering
Deploy MPLS Traffic Engineering
 
OSPF Basics
OSPF BasicsOSPF Basics
OSPF Basics
 
SEGMENT Routing
SEGMENT RoutingSEGMENT Routing
SEGMENT Routing
 
Bgp
BgpBgp
Bgp
 
MPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label SwitchingMPLS - Multiprotocol Label Switching
MPLS - Multiprotocol Label Switching
 
MPLS (Multiprotocol Label Switching)
MPLS (Multiprotocol Label Switching)MPLS (Multiprotocol Label Switching)
MPLS (Multiprotocol Label Switching)
 

Similar to Juniper MPLS Tutorial by Soricelli

Similar to Juniper MPLS Tutorial by Soricelli (20)

Mpls te
Mpls teMpls te
Mpls te
 
MPLS
MPLSMPLS
MPLS
 
An introduction to MPLS networks and applications
An introduction to MPLS networks and applicationsAn introduction to MPLS networks and applications
An introduction to MPLS networks and applications
 
Internet Traffic Engineering
Internet Traffic EngineeringInternet Traffic Engineering
Internet Traffic Engineering
 
MPLS
MPLSMPLS
MPLS
 
Digital network lecturer3
Digital network  lecturer3Digital network  lecturer3
Digital network lecturer3
 
Mpls
MplsMpls
Mpls
 
Mpls technology
Mpls technologyMpls technology
Mpls technology
 
An intoroduction to the IS-IS IGP routing protocol
An intoroduction to the IS-IS IGP routing protocolAn intoroduction to the IS-IS IGP routing protocol
An intoroduction to the IS-IS IGP routing protocol
 
Broadband Network Presentation
Broadband Network PresentationBroadband Network Presentation
Broadband Network Presentation
 
Multi-Protocol Label Switching
Multi-Protocol Label SwitchingMulti-Protocol Label Switching
Multi-Protocol Label Switching
 
yun-MPLS.ppt
yun-MPLS.pptyun-MPLS.ppt
yun-MPLS.ppt
 
MPLS
MPLSMPLS
MPLS
 
MPLS.ppt
MPLS.pptMPLS.ppt
MPLS.ppt
 
Mpls
MplsMpls
Mpls
 
MPLS-extra.ppt
MPLS-extra.pptMPLS-extra.ppt
MPLS-extra.ppt
 
ch2_p3_ospf.pptx
ch2_p3_ospf.pptxch2_p3_ospf.pptx
ch2_p3_ospf.pptx
 
Mpls-Multi Protocol label Switching
Mpls-Multi Protocol label Switching Mpls-Multi Protocol label Switching
Mpls-Multi Protocol label Switching
 
Resource reservation protocol
Resource reservation protocolResource reservation protocol
Resource reservation protocol
 
Dynamic MPLS with Feedback
Dynamic MPLS with Feedback Dynamic MPLS with Feedback
Dynamic MPLS with Feedback
 

More from Febrian ‎

Cisco academy procedure cust
Cisco academy procedure custCisco academy procedure cust
Cisco academy procedure custFebrian ‎
 
QoS Cheatsheet by packetlife.net
QoS Cheatsheet by packetlife.netQoS Cheatsheet by packetlife.net
QoS Cheatsheet by packetlife.netFebrian ‎
 
Tutorial: Internet Resource Management by Champika Wijayatunga, APNIC
Tutorial: Internet Resource Management by Champika Wijayatunga, APNICTutorial: Internet Resource Management by Champika Wijayatunga, APNIC
Tutorial: Internet Resource Management by Champika Wijayatunga, APNICFebrian ‎
 
Deploying IP/MPLS VPN - Cisco Networkers 2010
Deploying IP/MPLS VPN - Cisco Networkers 2010Deploying IP/MPLS VPN - Cisco Networkers 2010
Deploying IP/MPLS VPN - Cisco Networkers 2010Febrian ‎
 
MPLS-based Metro Ethernet Networks Tutorial by Khatri
MPLS-based Metro Ethernet Networks Tutorial by KhatriMPLS-based Metro Ethernet Networks Tutorial by Khatri
MPLS-based Metro Ethernet Networks Tutorial by KhatriFebrian ‎
 
ipv6 mpls by Patrick Grossetete
ipv6 mpls by Patrick Grosseteteipv6 mpls by Patrick Grossetete
ipv6 mpls by Patrick GrosseteteFebrian ‎
 
IPv6 Theory by Cisco
IPv6 Theory by CiscoIPv6 Theory by Cisco
IPv6 Theory by CiscoFebrian ‎
 
Juniper IPv6 Workshop by Irzan
Juniper IPv6 Workshop by IrzanJuniper IPv6 Workshop by Irzan
Juniper IPv6 Workshop by IrzanFebrian ‎
 
Cisco IPv6 Tutorial by Hinwoto
Cisco IPv6 Tutorial by HinwotoCisco IPv6 Tutorial by Hinwoto
Cisco IPv6 Tutorial by HinwotoFebrian ‎
 
OnMobile Global Limited
OnMobile Global Limited OnMobile Global Limited
OnMobile Global Limited Febrian ‎
 
Neso Newsletter Feb09
Neso Newsletter Feb09Neso Newsletter Feb09
Neso Newsletter Feb09Febrian ‎
 
bti asia salary guide
bti asia salary guidebti asia salary guide
bti asia salary guideFebrian ‎
 

More from Febrian ‎ (20)

Cisco academy procedure cust
Cisco academy procedure custCisco academy procedure cust
Cisco academy procedure cust
 
Iperf Tutorial
Iperf Tutorial Iperf Tutorial
Iperf Tutorial
 
QoS Cheatsheet by packetlife.net
QoS Cheatsheet by packetlife.netQoS Cheatsheet by packetlife.net
QoS Cheatsheet by packetlife.net
 
Tutorial: Internet Resource Management by Champika Wijayatunga, APNIC
Tutorial: Internet Resource Management by Champika Wijayatunga, APNICTutorial: Internet Resource Management by Champika Wijayatunga, APNIC
Tutorial: Internet Resource Management by Champika Wijayatunga, APNIC
 
Deploying IP/MPLS VPN - Cisco Networkers 2010
Deploying IP/MPLS VPN - Cisco Networkers 2010Deploying IP/MPLS VPN - Cisco Networkers 2010
Deploying IP/MPLS VPN - Cisco Networkers 2010
 
MPLS-based Metro Ethernet Networks Tutorial by Khatri
MPLS-based Metro Ethernet Networks Tutorial by KhatriMPLS-based Metro Ethernet Networks Tutorial by Khatri
MPLS-based Metro Ethernet Networks Tutorial by Khatri
 
ipv6 mpls by Patrick Grossetete
ipv6 mpls by Patrick Grosseteteipv6 mpls by Patrick Grossetete
ipv6 mpls by Patrick Grossetete
 
IPv6 Theory by Cisco
IPv6 Theory by CiscoIPv6 Theory by Cisco
IPv6 Theory by Cisco
 
Juniper IPv6 Workshop by Irzan
Juniper IPv6 Workshop by IrzanJuniper IPv6 Workshop by Irzan
Juniper IPv6 Workshop by Irzan
 
Cisco IPv6 Tutorial by Hinwoto
Cisco IPv6 Tutorial by HinwotoCisco IPv6 Tutorial by Hinwoto
Cisco IPv6 Tutorial by Hinwoto
 
IPv6 by APNIC
IPv6 by APNICIPv6 by APNIC
IPv6 by APNIC
 
Internet Market
Internet MarketInternet Market
Internet Market
 
MyJalah200905
MyJalah200905MyJalah200905
MyJalah200905
 
Passion
PassionPassion
Passion
 
OnMobile Global Limited
OnMobile Global Limited OnMobile Global Limited
OnMobile Global Limited
 
Nps320
Nps320Nps320
Nps320
 
My Jalah200904
My Jalah200904My Jalah200904
My Jalah200904
 
Neso Newsletter Feb09
Neso Newsletter Feb09Neso Newsletter Feb09
Neso Newsletter Feb09
 
bti asia salary guide
bti asia salary guidebti asia salary guide
bti asia salary guide
 
Nps2 Fe
Nps2 FeNps2 Fe
Nps2 Fe
 

Recently uploaded

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Juniper MPLS Tutorial by Soricelli

  • 1. Tutorial: Introduction to MPLS Joseph M. Soricelli (jms@juniper.net) NANOG 28, Salt Lake City, Utah
  • 2. Caveats and Assumptions The views presented here are those of the author and they do not necessarily represent the views of Juniper Networks You will ask a question when you don’t understand! 1 June 2003
  • 3. What is MPLS? Forwarding of user data traffic using fixed sized headers which contain a label value Virtual Circuit for IP Unidirectional path through the network Tunnel through the network Traffic Engineering Using paths other than the IGP shortest-path Mapping IP prefixes to LSPs Forwarding Equivalence Class (FEC) 1 June 2003
  • 4. MPLS Labels Fixed Length Local Significance Labels usually change on each network segment Assigned upstream by signaling protocols Four defined fields Label Experimental Stack Bit (0=additional labels 1=end of stack) Time-to-Live Label (20 bits) CoS S TTL 1 June 2003
  • 5. MPLS Shim Header Labels are placed between L2 header and L3 data Multiple labels may be stacked together L2 Header MPLS Header L3 Data L2 Header MPLS Header MPLS Header L3 Data L2 Header MPLS Header MPLS Header MPLS Header L3 Data 1 June 2003
  • 6. Label Space 20 bits of label allows for values between 0 and 1,048,575 Labels 0 through 15 are reserved by IETF Label 0 – IPv4 Explicit NULL Label 1 – Router Alert Label 2 – IPv6 Explicit NULL Label 3 – IPv4 Implicit NULL All other labels may be allocated at random Some vendors allocate dynamic labels from certain ranges The JUNOS software begins at 100,000 1 June 2003
  • 7. MPLS Labels Label Distribution Downstream-on-Demand “Ask and you shall receive” Unsolicited Downstream Sent without a request “Here’s a label to use for this prefix” Label Retention Liberal (Keep all received labels) Conservative (Keep only labels you use) Label Control Ordered Allocate a label after receiving a label or if you are egress Independent Allocate a label at any time 1 June 2003
  • 8. Link-Layer Support for MPLS PPP protocol ID value of 0x0281 PPP NCP ID value of 0x8281 All other Layer 2 encapsulations use 0x8847 Ethernet HDLC GRE Tunnel Frame Relay ATM AAL5 SNAP 1 June 2003
  • 9. Label Switched Path (LSP) Unidirectional path through the network 1 June 2003
  • 10. Router Types - Ingress Ingress Router Packets enter the LSP Head-end router Upstream from other routers in the LSP “Gozinta” router Performs a label push operation Ingress 1 June 2003
  • 11. Router Types - Transit Transit Router Zero or more transit routers in an LSP Maximum of 253 Sends traffic to the downstream physical next-hop of the LSP Performs a label swap operation Transit Transit Transit 1 June 2003
  • 12. Router Types - Penultimate Penultimate Router Immediate upstream router from the egress router Often performs a label pop operation Penultimate Hop Popping (PHP) Remaining packet contents sent to the egress router Can perform a label swap operation Penultimate 1 June 2003
  • 13. Router Types - Egress Egress Router Packets exit the LSP Tail-end router Downstream from other routers in the LSP “Gozoutta” router Can perform a label pop operation Egress 1 June 2003
  • 14. Ultimate Hop Popping (UHP) The egress router signals a label value of 0 to the penultimate router The packet sent to the egress contains an MPLS header with a label value of 0 Egress router pops the label and performs an IPv4 route lookup before forwarding the packet Egress 0 1 June 2003
  • 15. Penultimate Hop Popping (PHP) The egress router signals a label value of 3 to the penultimate router The penultimate router pops the top label from the packet the forwards the remaining data to the egress router Native IPv4 packet MPLS header when label stacking is used Egress router performs an appropriate lookup Route lookup for IPv4 packets MPLS switching table lookup for labeled packets 1 June 2003
  • 16. Penultimate Hop Popping (PHP) Helps the egress router offload processing Very beneficial for non-ASIC devices Penultimate 3 3 Egress 3 Penultimate 1 June 2003
  • 17. LSP Forwarding - Ingress An IPv4 packet arrives at the ingress router with a destination address of 192.168.1.1 Ingress router has a route for 192.168.1.0/24 with a next-hop of the LSP MPLS header with a label of 101,456 is appended to the packet and forwarded downstream 192.168.1.0/24 101,456 108,101 100,001 3 101,456 IP 1 June 2003
  • 18. LSP Forwarding - Transit Each transit router receives a labeled packet and performs a switching table lookup Each transit router performs a label swap operation 101,456 swapped for 108,101 108,101 swapped for 100,001 192.168.1.0/24 101,456 108,101 100,001 3 108,101 IP 100,001 IP 1 June 2003
  • 19. LSP Forwarding - Penultimate The penultimate router receives a labeled packet and performs a switching table lookup Since the egress router signaled a label value of 3, the penultimate router pops the top label and forwards the remaining data 192.168.1.0/24 101,456 108,101 100,001 3 IP 1 June 2003
  • 20. LSP Forwarding - Egress The egress router receives a native IPv4 packet Route lookup performed Packet forwarded to the appropriate next-hop router 192.168.1.0/24 101,456 108,101 100,001 3 IP 1 June 2003
  • 21. LSP Signaling Protocols Resource Reservation Protocol (RSVP) Well-known signaling protocol Extended to support traffic engineering Supports explicit paths and bandwidth reservations Labels allocated only along the defined LSP path Label Distribution Protocol (LDP) Uses the same shortest-path as IGP for forwarding Labels allocated and exchanged between neighbors Constrained Routing LDP (CR-LDP) Adds traffic engineering capabilities to LDP Limited support from vendors 1 June 2003
  • 22. RSVP Session Uniquely defines and identifies the LSP throughout the network Destination address of LSP Tunnel ID value Protocol number (often set to 0) An individual session may have multiple defined senders LSP ID defines a sender Ingress router creating an additional path for the LSP Secondary path Fast Reroute Detour Routers become RSVP neighbors after session establishment 1 June 2003
  • 23. RSVP Path and Resv Messages Path messages sent downstream Addressed to the egress router Contains the router alert option Establishes protocol state along the way Resv messages sent upstream Addressed to the next upstream node Finalizes protocol state Assigns and allocates resources Path Path Path Path Resv Resv Resv Resv 1 June 2003
  • 24. RSVP PathTear and ResvTear Messages LSP already established and operational Link failure causes protocol state to be removed PathTear messages sent downstream Addressed to the egress router Contains the router alert option Removes protocol state along the way ResvTear messages sent upstream Addressed to the next upstream node Removes protocol state PathTear PathTear X ResvTear 1 June 2003
  • 25. RSVP PathErr and ResvErr Messages Error messages signal problems to the ingress or egress routers No protocol state removed by error messages Ingress or egress routers may initiate a teardown of the LSP due to receipt of an error message PathErr messages sent upstream ResvErr messages sent downstream PathErr PathErr ResvErr ResvErr 1 June 2003
  • 26. RSVP Path Message Objects Objects used to define the LSP and request resources Session Defines the address of the egress router Contains the Tunnel ID value associated with the LSP RSVP-Hop Interface address of the previous hop of the LSP Sender-Template Defines the address of the ingress router Contains a unique LSP ID Sender-Tspec Displays any request bandwidth reservations Session Attribute Contains LSP priority values as well as the ASCII name of the LSP 1 June 2003
  • 27. RSVP Path Message Objects Objects used to define the LSP and request resources Label Request Explicit Route Defines the requested path of the LSP through the network Can be manually created Can be the output of Constrained SPF calculation Record Route Contains the actual path of the LSP through the network Used for loop detection and prevention 1 June 2003
  • 28. RSVP Resv Message Objects Objects used to allocate resources and establish the LSP Session Contains the egress address and Tunnel ID RSVP-Hop Interface address of the downstream hop of the LSP Style Type of resource allocation performed Fixed Filter (FF) Shared Explicit (SE) FlowSpec Displays the bandwidth reserved by the LSP Matches the information in the Sender-Tspec object 1 June 2003
  • 29. RSVP Resv Message Objects Objects used to define the LSP and request resources Filter-Spec Contains the ingress address and LSP ID Matches the information in the Sender-Template object Label Contains the 20-bit label value to be used for traffic forwarding Record Route Contains the actual path of the LSP through the network Used for loop detection and prevention 1 June 2003
  • 30. RSVP Bandwidth By default, each interface uses 100% of its capacity as reservable bandwidth You may change this percentage An LSP may request a bandwidth reservation during its establishment in the network Only determines if the LSP is setup of not The BW reservation is NOT used to police traffic 1 June 2003
  • 31. Explicit Route Object (ERO) Puts the “engineering” in TE Allows the ingress router to define the path of the LSP through the network May contain loose hop information Loose hop defines a node the LSP must pass through at some point IPv4 shortest-path routing used for forwarding Path messages: From ingress to first loose hop Between loose hops From last loose hop to egress router May contain strict hop information Strict hop must be the next downstream router Must be directly connected to the local router 1 June 2003
  • 32. Loose Hop ERO Ingress uses routing table to forward the Path message towards RTR-D RTR-D uses routing table to forward message to egress router A B C ERO: D E D — Loose 1 June 2003
  • 33. Strict Hop ERO Ingress consults ERO to locate the first strict hop Forwards Path message out interface associated with that hop Each transit router ensure it is next strict hop in the path If so, message forwarded to next strict hop If not, PathErr message sent back to ingress router A B C ERO: D — Strict B — Strict D E E — Strict C — Strict 1 June 2003
  • 34. Mixing Strict and Loose Hops An ERO may contain both strict and loose hops Loose hops are routed using routing table Strict hops receive messages when they are directly connected A B C ERO: D E D — Strict B — Loose 1 June 2003
  • 35. Manual ERO Concerns Manual use of EROs requires knowledge of the network topology Loop detection might cause LSP setup to fail IGP metrics shown below RTR-E forwards Path message back to RTR-B Loop detection in RRO by RTR-B prompts creation of PathErr message A B C 1 1 1 1 1 5 ERO: D E B — Loose 1 E — Loose 1 June 2003
  • 36. Automatic EROs The ingress router can automatically create an ERO for the LSP Contains all strict hops for the complete path Formed from information contained in the Traffic Engineering Database (TED) TED is populated by information advertised by the Interior Gateway Protocols Both OSPF and IS-IS have been extended to support traffic engineering OSPF Opaque LSA 10 (Area-Scope Flooding) IS-IS TLV 22 (Extended IS Reachability) IS-IS TLV 135 (Extended IP Reachability) 1 June 2003
  • 37. IGP Extensions Both link-state IGPs may advertise information which is stored in the TED Interface and neighbor interface addresses Maximum reservable bandwidth per network link Current reservable bandwidth Traffic Engineering metric Administrative group information Affinity classes Colors The ingress router uses a modified form of the SPF algorithm within the TED to generate the ERO Constrained Shortest-Path First (CSPF) Takes user-defined constraints into account 1 June 2003
  • 38. CSPF Algorithm When the ingress router invokes the CSPF algorithm, it creates a subset of the TED information based on the constraints provided 1. Prune all links which don’t have enough reservable BW 2. Prune all links which don’t contain an included administrative group color 3. Prune all links which do contain an excluded administrative group color 4. Calculate a shortest path from the ingress to egress using the subset of information Manual ERO definitions taken into account Run CSPF from ingress to first ERO node Run second CSPF from ERO node to egress 1 June 2003
  • 39. CSPF Algorithm (Contd.) When the subset of information used by CSPF returns multiple equal-cost paths: 5. Prefer the path where the last-hop address equals the egress address 6. Should equal-cost paths still exist, select the one with the fewest physical hops 7. Should equal-cost paths still exist, pick one based on the load-balancing configuration of the LSP Random Most-fill Least-fill The result of CSPF (strict-hop ERO) is passed to RSVP for LSP signaling 1 June 2003
  • 40. Administrative Groups Each interface may be assigned to one or multiple administrative groups Colors are often used to describe these groups (Gold, Silver, Bronze) User-friendly names can be used as well (Voice, Management, Best-Effort) Names are locally significant to the router Group information is propagated by the IGP as a 32-bit vector Bits 0 through 31 Stored in the TED 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 June 2003
  • 41. Administrative Groups The LSP can be configured to include or exclude certain group values Include requires each link to contain the specified group value Multiple values are combined as a logical OR Exclude requires each link to not contain the value Multiple values are combined as a logical OR LSP performs a logical AND on the include and exclude groups 1 June 2003
  • 42. Administrative Groups Example-Include The LSP can be configured to include certain group values LSP from C to E should include Gold or Silver All IGP link metrics are set to 1 Bronze A B Gold Silver Silver Bronze Management C D E Bronze Silver Gold Silver Best Effort Silver F G 1 June 2003
  • 43. Administrative Groups Example-Include After pruning all links which do not contain either Gold or Silver, SPF is run and the ERO is formed A B Gold Silver Silver C D E Silver Gold Silver Best Effort Silver F G 1 June 2003
  • 44. Administrative Groups Example-Exclude The LSP can be configured to exclude certain group values LSP from C to E should exclude Best Effort All IGP link metrics are set to 1 Bronze A B Gold Silver Silver Bronze Management C D E Bronze Silver Gold Silver Best Effort Silver F G 1 June 2003
  • 45. Administrative Groups Example-Exclude After pruning all links which contain Best Effort, SPF is run and the ERO is formed Bronze A B Gold Silver Silver Bronze Management C D E Bronze Gold Silver Silver F G 1 June 2003
  • 46. Administrative Groups Example-Both Both include and exclude can be used together LSP from C to E should (include Gold or Silver) and (exclude Best Effort) All IGP link metrics are set to 1 Bronze A B Gold Silver Silver Bronze Management C D E Bronze Silver Gold Silver Best Effort Silver F G 1 June 2003
  • 47. Administrative Groups Example-Both First, all links which do not contain either Gold or Silver are pruned Second, all links containing Best Effort are pruned Third, SPF is run and the ERO is formed A B Gold Silver Silver C D E Silver Gold Silver F G 1 June 2003
  • 48. RSVP Configuration Routers must be enabled to support MPLS and RSVP [edit] mpls traffic-eng tunnels user@host# show interfaces ! ge-0/2/0 { interface POS0/0/0 unit 0 { ip address 10.222.28.1 255.255.255.0 family inet { no ip directed-broadcast address 10.222.29.1/24; mpls traffic-eng tunnels } family mpls; } } [edit] user@host# show protocols rsvp { interface all; } mpls { interface all; } 1 June 2003
  • 49. RSVP Configuration Explicit networks paths can be established [edit] user@host# show protocols mpls path user-defined-ERO { ip explicit-path name user-defined-ERO enable 192.168.20.1 loose; next-address loose 192.168.20.1 192.168.24.1 loose; next-address loose 192.168.24.1 192.168.36.1 loose; next-address loose 192.168.36.1 192.168.40.1 loose; next-address loose 192.168.40.1 } 1 June 2003
  • 50. RSVP Configuration Configure the ingress router to support the LSP [edit] user@host# show protocols mpls label-switched-path ingress-to-egress { to 192.168.32.1; primary user-defined-ERO; } path user-defined-ERO { 192.168.20.1 loose; 192.168.24.1 loose; 192.168.36.1 loose; 192.168.40.1 loose; } interface Tunnel10 ip unnumbered Loopback 0 no ip directed-broadcast tunnel destination 192.168.32.1 tunnel mode mpls traffic-eng tunnel mpls traffic-eng priority 1 1 tunnel mpls traffic-eng path-option 1 explicit name user-defined-ERO 1 June 2003
  • 51. LDP Neighbors Two connected LDP routers form a neighbor relationship Hello messages multicast to 224.0.0.2 UDP port 646 Included transport address or source IP address of message is used as session identifier Two remote LDP routers can also become neighbors Targeted hello messages Unicast to the remote neighbor UDP port 646 Transport address included in message Label space advertised as part of LDP ID 1 June 2003
  • 52. LDP ID Each router creates an LDP ID 6-byte value separated by a colon 192.168.1.1:0 First 4 bytes are the router ID of the node Last two bytes are used to define the type of labels allocated A value of 0, the default, means labels are handed out on a per-node basis 1 June 2003
  • 53. LDP Sessions After becoming neighbors, each LDP router decides which router should be the active node Highest router ID is the active node Active node creates a TCP connection between the routers TCP port 646 Once connection between peers even when multiple physical links (multiple neighbors) exist Active node then creates an LDP session by sending initialization messages to the passive peer 1 June 2003
  • 54. LDP Session Initialization Initialization message includes: Local LDP ID Remote LDP ID Protocol version Negotiable hold time value The passive node examines the LDP ID values to verify that an active neighbor relationship is in place for this new session If acceptable, a keepalive message is returned Passive node generates its own initialization message and sends it to the active node If accepted, a keepalive message is returned The peers now have an operational session between themselves 1 June 2003
  • 55. Advertising Information in LDP Two new LDP peers exchange interface addresses in Address messages All directly connected addresses are advertised Allows each peer to associate a label advertisement from the session to a physical next-hop interface The peers then advertise FEC and label information Local FEC includes prefixes reachable from the router as an egress router (loopback address) FEC may also include information received from other LDP sessions Labels are allocated for all reachable FEC information 1 June 2003
  • 56. LDP Database All LDP routers maintain an LDP database FEC/Labels received across a particular session FEC/Labels advertised across a particular session By default, FEC/Label information is flooded to all LDP peers for all possible prefixes Full-mesh of information for the entire LDP network Possible routing loop issues Full mesh of LSPs results from complete FEC prefix knowledge Each router is an ingress router for every FEC Each router is also an egress router for the FEC it advertised 1 June 2003
  • 57. LDP Database Example user@host> show ldp database Input label database, 192.168.16.1:0--192.168.20.1:0 Label Prefix 100352 192.168.16.1/32 3 192.168.20.1/32 100368 192.168.24.1/32 100304 192.168.32.1/32 100320 192.168.36.1/32 100336 192.168.40.1/32 Output label database, 192.168.16.1:0--192.168.20.1:0 Label Prefix 3 192.168.16.1/32 100112 192.168.20.1/32 100096 192.168.24.1/32 100128 192.168.32.1/32 100144 192.168.40.1/32 1 June 2003
  • 58. LDP Loop Avoidance LDP consults the IGP shortest-path information to avoid loops Results in the forwarding path for LDP and the IGP being identical For example: Suppose that 192.168.1.1 is reachable via IS-IS over the fe-0/0/0.0 interface The LDP database reports that a label has been received from two LDP peers for 192.168.1.1 One is reachable over the fe-0/0/0.0 interface The other is reachable over the fe-0/1/1.0 interface The LDP process installs the label information associated with the fe-0/0/0.0 interface 1 June 2003
  • 59. Using RSVP for LDP Traffic Engineering Established RSVP tunnels can be used to engineer LDP forwarding paths through the network The RSVP ingress and egress routers form an LDP session using targeted hello messages Once the session is formed, address and FEC information is advertised Advertised and received FEC/Label information is stored in the LDP database FEC/Label information is re-advertised to other LDP peers Label stacking is performed across the RSVP LSP 1 June 2003
  • 60. LDP Tunneling and Label Stacking LDP neighbor relationships between: A and B via the physical interface B and E via bi-directional RSVP LSPs E and F via the physical interface RTR-B performs a swap and push operation Swap label 101,583 for label 100,001 (advertised by E) Push label 106,039 (advertised by C) to reach RTR-E LDP: 100,001 A B C D E F LDP: 101,583 RSVP: 106,039 RSVP: 105,821 RSVP: 3 LDP: 3 106,039 105,821 101,583 100,001 100,001 100,001 IP IP IP IP IP 1 June 2003
  • 61. Questions and Comments We’ve just barely scratched the surface here LSP protection Primary and secondary paths Fast Reroute Policy control and LSP selection LSP Preemption Class of Service Using MPLS to support services (L3VPN, L2VPN, VPLS) Feedback on this presentation is highly encouraged jms@juniper.net Questions? 1 June 2003