1 / 13

Pseudowire Hashing

Pseudowire Hashing. Vach Kompella Joe Regan Shane Amante IETF 71. D. C. A. B. E. F. Problem Statement. A PW can carry many different flows How can the multiple PSN paths in a network be exploited to balance the flows?. PW Hashing Fields.

ingo
Télécharger la présentation

Pseudowire Hashing

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. Pseudowire Hashing Vach Kompella Joe Regan Shane Amante IETF 71 draft-vkompella-pwe3-hash-label-00

  2. D C A B E F Problem Statement • A PW can carry many different flows • How can the multiple PSN paths in a network be exploited to balance the flows? draft-vkompella-pwe3-hash-label-00

  3. PW Hashing Fields • At ingress: L2 fields are available to choose among the first hop multi-paths • At LSR: Not determinable what is available • Heuristic for IP: look for first nibble = 4/6 for IP • No heuristic for L2 traffic because no protocol type available • Incoming packet has label stack with tunnel encap and PW label • Not enough to provide second hop diversity draft-vkompella-pwe3-hash-label-00

  4. Example • Ethernet PW • Typical hash fields are MAC SA/DA, ethertype, VLAN • PSN supports ECMP • Ingress only hashing gives the following paths • Four available paths D C A B E F draft-vkompella-pwe3-hash-label-00

  5. Example • Ethernet PW • Typical hash fields are MAC SA/DA, ethertype, VLAN • LAG between A-C, C-D, and D-B supports ECMP • Ingress only hashing gives the following paths • Four available paths D C A B draft-vkompella-pwe3-hash-label-00

  6. Solution (Ingress) • A and B exchange a range of labels called Hash Labels, H[0] … H[n] • For traffic from A to B • A hashes L2 fields to figure out nexthop C or E, say C • A hashes L2 fields to n buckets, gets index k • A determines PW label, say PWL for this Attachment Circuit • A determines PSN encap to C, say tunnel label TL1 • A pushes PWL, H[k], TL1 and sends to C TL1 H[k] PWL Payload draft-vkompella-pwe3-hash-label-00

  7. Solution (LSR) • C receives label stack (TL1, H[k], PWL). • C hashes on label stack to determine next hop • With H[k] varying over the flows of the PW, this will not be a single next hop • C swaps tunnel label TL1 to TL2, leaving rest of label stack in place • Alternatively, if C has a LAG in its PSN, then C can hash on the label stack to pick a link in the LAG group TL2 H[k] PWL Payload draft-vkompella-pwe3-hash-label-00

  8. Solution (Egress) • B receives label stack (TL2, H[k], PWL). • B pops TL2 • B pops H[k] (action for all Hash Labels is pop • B identifies PW using PWL and processes packet TL2 H[k] PWL Payload draft-vkompella-pwe3-hash-label-00

  9. Benefits of the Approach • Ingress holds only one set of labels per peer • Egress distributes only one set of labels • Extensible to PSN level also • Provides “hashable” information that is: • stable per flow at intermediate nodes • uses MPLS methods • requires no changes to CE • minimizes the labels allocated and programmed per node • Allows label stacking of Hash labels for more diversity • I know that some P routers don’t hash this way (order of labels) and I would like to understand if we should switch the order of labels draft-vkompella-pwe3-hash-label-00

  10. Is this Extensible to PSN? • The goal is to adapt this method for the PSN • Avoid looking below label stack at LSRs • General thoughts: • {A, C}, {C, D}, {D, B} exchange Hash labels • {A, E}, {E, F}, {F, B} exchange Hash labels • {C, F}, {E, D} exchange Hash labels draft-vkompella-pwe3-hash-label-00

  11. Ingress PSN Behavior • For PSN traffic from A to B • A hashes incoming fields to figure out nexthop C or E, say C • A hashes incoming fields to n buckets, gets index k • A determines PSN encap to C, say tunnel label TL1 • A pushes TL1, H[k] and sends to C H[k] TL1 Payload draft-vkompella-pwe3-hash-label-00

  12. PSN LSR Behavior • C receives label stack (H[k], TL1). • C hashes on label stack to determine next hop D or F • With H[k] varying over the flows of the PSN, this will not be a single next hop, say D • C hashes incoming label stack to n buckets, gets index m • C pops H[k] • C swaps TL1 to TL2 • C pushes H[m], TL2 and sends to D H[m] TL2 Payload draft-vkompella-pwe3-hash-label-00

  13. Questions • Placement of Hash Label • Before the PW label • Leave PW label processing to the end • Avoid switching on PW label at S-PE • Before the Tunnel label • Must process hash label before swapping label • Avoid switching on tunnel label at LSR • Existing implementations? • Is Hash Label exchange a FEC or just a Capabilities exchange? • Can we do the same for diversity for BGP label exchanges? • Should this be done in mpls wg? • Could this be used to explore PW paths like lsp-ping multi-path? draft-vkompella-pwe3-hash-label-00

More Related