1 / 9

BGP Link-State extensions for Segment Routing

BGP Link-State extensions for Segment Routing. Hannes Gredler Saikat Ray Stefano Previdi Clarence Filsfils Mach( Guoyi ) Chen Jeff Tantsura. Introduction. Segment routing A flexible, scalable way of doing source routing Segments are “instructions”

dominy
Download Presentation

BGP Link-State extensions for Segment Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BGP Link-State extensions for Segment Routing Hannes Gredler Saikat Ray Stefano Previdi Clarence Filsfils Mach(Guoyi) Chen Jeff Tantsura

  2. Introduction • Segment routing • A flexible, scalable way of doing source routing • Segments are “instructions” • “Go to node N via shortest path”, “use link L”, etc. • Each segment is identified by a “Segment ID” (SID) • IGPs advertise the <Segments, SID> • Ingress node adds SID stack to data packets to determine the packet path • Per-flow state is only at the ingress node • SIDs map to MPLS labels for MPLS data plane

  3. Need for BGP LS +------------+ | Consumer | +------------+ ^ | v +-------------------+ | BGP Speaker | +-----------+ | (Route-Reflector) | | Consumer | +-------------------+ +-----------+ ^ ^ ^ ^ | | | | +---------------+ | +-------------------+ | | | | | v vvv +-----------+ +-----------+ +-----------+ | BGP | | BGP | | BGP | | Speaker | | Speaker | . . . | Speaker | +-----------+ +-----------+ +-----------+ ^ ^ ^ | | | IGP IGPIGP • Segments are used to set up end-to-end paths (topological and services) • Paths may span IGP areas, or even ASes • Segment information from one IGP area alone does not work • BGP LS collects LSDB from all IGP areas • BGP LS provides visibility into segment information required for building end-to-end paths

  4. BGP LS • BGP LS models the IGP network as a collection of three types of objects: (i) Nodes, (ii) Links (ordered pair of nodes) and (iii) Prefixes • Each object is encoded as BGP object • The “key” portion of the objects is the NLRI • The rest of the properties of the object are in the BGP-LS attribute • BGP-LS attribute is a set of TLVs; easily extended • Approach: Add the segment information in the BGP-LS attribute of the corresponding object

  5. Segment routing TLVs • SR information TLVs are defined in I-D.previdi-isis-segment-routing-extensions • TLV for Prefix-SID • TLV for Adjacency-SID between two nodes as well as between nodes in a LAN • TLV for SID/Label binding for advertising paths from other protocols (and their optional ERO) • TLV for SR Capabilities • TLV for SR Algorithm • Encoding Defined in this draft 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Value (variable) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ From IS-IS

  6. SR TLVs in Node Attribute • The following SR TLVs are in the node attribute (BGP-LS attribute that is added to a node NLRI) +---------------+-------------------+----------+--------------------+ | TLV Code | Description | Length | IS-IS SR | | Point | | | TLV/sub-TLV | +---------------+-------------------+----------+--------------------+ | 1033 | SID/Label Binding | variable | 149 | | 1034 | SR Capabilities | variable | 2 | | 1035 | SR Algorithm | variable | 15 | +---------------+-------------------+----------+--------------------+

  7. SR TLVs in Link Attribute • The following TLVs are added to a link attribute +-----------+----------------------------+----------+---------------+ | TLV Code | Description | Length | IS-IS SR | | Point | | | TLV/sub-TLV | +-----------+----------------------------+----------+---------------+ | 1099 | Adjacency Segment | variable | 31 | | | Identifier (Adj-SID) TLV | | | | 1100 | LAN Adjacency Segment | variable | 32 | | | Identifier (Adj-SID) TLV | | | +-----------+----------------------------+----------+---------------+

  8. SR TLVs in Prefix Attribute • The following TLVs are added to a Prefix attribute +----------------+-------------+----------+----------------------+ | TLV Code Point | Description | Length | IS-IS SR TLV/sub-TLV | +----------------+-------------+----------+----------------------+ | 1158 | Prefix SID | variable | 3 | +----------------+-------------+----------+----------------------+

  9. What next • WG document • Add more details on SID/label binding TLV • Prototype implementations

More Related