future internet chapter 3 virtual circuit switching or a
play

Future Internet Chapter 3: (Virtual) circuit switching or: a tale - PowerPoint PPT Presentation

Future Internet Chapter 3: (Virtual) circuit switching or: a tale from the past Holger Karl Computer Networks Group Universitt Paderborn Overview (Virtual) circuit vs. packet switching The old: ATM The current: MPLS SS 19, v


  1. Future Internet Chapter 3: (Virtual) circuit switching or: a tale from the past Holger Karl Computer Networks Group Universität Paderborn

  2. Overview • (Virtual) circuit vs. packet switching • The old: ATM • The current: MPLS SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 2

  3. The thorns of IP • What made IP forwarding hard? • Packets of different lengths • Complex destination address -> outgoing port lookup in forwarding plane • Very hard to impossible to provide any kind of guarantees • No central view on network • Historically, we did not always build networks like that • … nor do we do that today • A look at the past: Asynchronous Transfer Mode (ATM) • Started in the 1960s, had its big day in the 1990s • .. and at the present: Multi-protocol label switching (MPLS) SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 3

  4. ATM – Basic concepts • Virtual circuits (VC) • Switches know how to handle data arriving in a VC • VCs have to be setup before data can travel along it • VCs have explicit names – Virtual Circuit Identifiers (VCI) • Packets contain this VCI in header, not a destination address • Can be much smaller than a full destination address • Forwarding deterministic based on VCIs, all data on one VC follows same route • Results in separated control and data handling • Operating at different time scales; eases HW/SW separation • VCs can be setup per call/connection or permanently SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 4

  5. ATM – Basic concepts • Fixed-size packets – or cells • Makes buffer management, switching fabric, line scheduling MUCH easier • But causes segmentation/reassembly overhead • Small cells • Necessitates small addressing for acceptable overhead • Historical decisions; was meant for voice traffic (follow-up to PSTN STM network) • Size: industry conflict between • Small cells ! low delay ! no echo cancellation needed vs. • Big country ! needs echo cancellation anyway ! wants small overhead • Ended up as compromise: 48 bytes payload, 5 bytes header SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 5

  6. ATM – Basic concepts • Statistical multiplexing • Deal with outgoing link data rate < sum of incoming data rates • Multiplexing gain = sum of incoming / outgoing rate • Integrated services • Provide support for different service types (voice, data, …) explicitly SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 6

  7. Uniqueness of VCIs • Simple approach: all VCs sharing at least a single link must have different VCIs • Scaling problems • Better: VCI swapping • Switches can rewrite VCI identifiers in incoming cells, based on incoming port: (Incoming port, Incoming VCI) ! (Outgoing port, Outgoing VCI) • These rules are collected in a switch’s translation table • Entails per-VC state in each switch! • Switching becomes a simple lookup operation in translation table! SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 7

  8. Setting up VCs • Option 1: Let each switch locally do routing on the call setup cells • Handle translation tables locally as well • Option 2: “Global” view ? SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 8

  9. ATM state of affairs • Currently, no longer a relevant system for research or new deployment • … but still sits in some backdoor closets somewhere • Largely replaced by its successor, MPLS • See IETF RFC 3031 plus follow-up RFCs SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 9

  10. From ATM to MPLS • ATM turned out to be inflexible, evolved towards MPLS • Main similarities • MPLS is a label-switched protocol, just like ATM uses the virtual circuit identifiers (a terminology difference only) • MPLS has a similar translation table for its labels • Forwarding still stays a simple table lookup • Main differences • MPLS can support varying payload size • MPLS can carry (“tunnel”) arbitrary network layer protocols; MPLS prepends a so-called shim header • Shim: Label, QoS, stack bit, time to live • VC setup works differently SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 10

  11. MPLS control vs. data • Like ATM, MPLS maintains a clear and strict separation of data and control plane • Data plane: Only forwarding, based only on labels, very simple • Much simpler than IP: no longest prefix matching, no routing algorithms at all in the switch • Control plane: • Protocols to determine reachability information (aka routing) or to import it from other networks (e.g., talk to IP BGP routers to understand which network prefixes are attached where) • Protocols to distribute labels (Label distribution protocols, LDP) • For discovered network prefixes, distribute labels to relevant routers • Proactively or on-demand • Various options, e.g., RSVP, MP-BGP, … • Traffic engineering functionality SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 11

  12. MPLS translation table – power over ATM • Translation tables under MPLS much more powerful • ATM: only action was to replace a VCI by another and forward • MPLS: Actions by a label-switched router (LSR) • Replace label by another and forward • Insert another shim header! (Push a label onto a label stack) • Remove a shim header and look at the resulting packet • Label stack allows nesting of virtual circuits inside each other • Great tool for traffic engineering • Once last shim header is removed, pass contained packet to whatever network protocol, e.g., IP SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 12

  13. An MPLS label https://en.wikipedia.org/wiki/Multiprotocol_Label_Switching SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 13

  14. Switching table in an MPLS LSR • What’s hence needed in an MPLS LSR switching table? • What are differences to an Ethernet switch? • Ethernet switching table columns: • Destination MAC address • Outgoing port • MPLS switching table columns - Next Hop Label Forwarding Entry (NHLFE) • Incoming label Why? • Incoming port • Outgoing label • Outgoing port • Optional: Operations on label stack (push, pop) SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 14

  15. Where do MPLS labels come from? • Typical setup: an MPLS network interconnects various other networks • E.g., IP networks interconnected by MPLS • At some point, non-MPLS packet arrives at the first MPLS router • So called label edge router (LER) • LER can analyse packet and decide its forwarding equivalence class (FEC) • FEC: Set of packets to be forwarded in the same fashion (same path) • Decision based on destination IP, source IP, QoS, time of day, load situation of network, non-local information, … • Information that is not necessarily available to an IP router inside a network! • For each FEC, there is a label-switched path (LSP) with according label • LER inserts shim header with this label and starts switching the packet • Typically, multiple FECs on same LSP SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 15

  16. Example: Traffic engineering with MPLS SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 16

  17. MPLS’ hidden jewel (?): Path Computation Element • Determining routes when setting up a label: so far, distributed process similar to a packet router assumed • Actually, MPLS reuses IP routing (not forwarding!) protocols like OSPF to distribute topology information (or better, OSPF-TE with traffic engineering extensions) • Typically: Label Edge Router decides on path • Alternative proposal: Decide on paths in a centralized way! • Introduce a central instance where routing decisions are taken, entries for translation tables are then redistributed • So-called Path Computation Element (PCE) • Presentation here based on RFC 4655 • Note: This makes a lot more sense in a “virtual circuit” model rather than a packet forwarding model • Unlike packets, decisions on path setup only happens rarely – can be done centrally, simplifies network management a lot SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 17

  18. Why centralized path computations? • More complex algorithms could be used • E.g., shared backup paths for paths that do not interact with each other • Bundles of requests can be considered and optimized jointly • E.g.: Setup a VLAN between multiple sites; only relevant if all of paths obtain certain quality • Limited visibility in distributed solutions • E.g., multi-domain, multi-carrier, multi-layer • Dealing with legacy equipment without control functionality • In particular, optical nodes • Management simplified in general; one place to put control functions SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 18

  19. Path Computation Element • To quote RFC 4655: • A Path Computation Element (PCE) is an entity that is capable of computing a network path or route based on a network graph, and of applying computational constraints during the computation. • The PCE entity is an application that can be located within a network node or component, on an out-of-network server, etc. • For example, a PCE would be able to compute the path of a TE LSP by operating on the TED and considering bandwidth and other constraints applicable to the TE LSP service request. SS 19, v 1.3 FI - Ch 3: (Virtual) circuit switching 19

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend