<<

Outline

refresher 15-441 • Virtual Circuits - general 15-441 Computer Networking 15-641 • Why virtual circuits? • How virtual circuits? -- tag switching! • Two modern implementations Lecture 11: Virtual Circuits • ATM - teleco-style virtual circuits Peter Steenkiste • MPLS - IP-style virtual circuits

Fall 2016 www.cs.cmu.edu/~prs/15-441-F16

Circuit Switching Circuit Switching

• Source first establishes a connection (circuit) to • Switch remembers the destination. Switch how to forward data • Each router or switch along the way may reserve some bandwidth for the data flow • No addresses! • Source sends the data over the circuit. • Many options • No destination address needed - routers know the path • Between specific wires • The connection is torn down. (circuit = wire) • Example: traditional telephone network. • Between timeslots Input Output (TDMA on each wire) Ports Ports • Between frequencies (FDMA on each wire)

1 Virtual Circuits Circuit Versus • Each wire carries many “virtual” circuits. Circuit Switching Packet Switching • Forwarding based on virtual circuit (VC) identifier • Fast switches can be • Switch design is more • IP header: src, dst, etc. • Virtual circuit header: just “VC” built relatively complex and expensive • A path through the network is set up when the VC is established inexpensively • Allows statistical • Can eue statistical multiplexing for efficiency • Inefficient for bursty data multiplexing • Can support wide range of . • Predictable performance • Difficult to provide QoS • No guarantees: best effort service (e.g. hard QoS) guarantees • Weak guarantees: delay < 300 msec, … • Requires circuit • Data can be sent • Strong guarantees: e.g. equivalent of physical circuit establishment before without signaling delay communication and overhead

Can we get the benefits of both?

Virtual Circuits Versus Packet Switching Virtual Circuit Forwarding

• Many similarities: A Switch VC1 C • Forwarding based on “address” (VCID or dest address) 1 • Statistical multiplexing for efficiency B 2 3 VC2 • Must have buffers space on switches 4 D VC3 • Virtual circuit switching: F • Uses short circuit identifiers to forward packets E • Switches keep (hard) state for each circuit, so they can more easily Address Next Hop implement features such as quality of service VC1 3 • Failures result in loss of virtual circuit • Address used for look up is a virtual • Packet switching: VC2 3 circuit identifier (VC id) • Use full destination addresses for forwarding packets VC3 4 • Forwarding table entries are filled in • Can send data right away: no need to establish a connection first during signaling • Switches are stateless: easier to recover from failures VC4 ? • Adding QoS is hard VC5 ? • VC id is often shorter than destination address 8

2 VC versus Packets: Control over Path How to Pick a VC Id?

VCI A Switch Payload Payload Dst VC1 = 1 1 C 3 R1 packet B 2 4 VC2 = 2 D 1 3 A R2 forwarding VC3 = 3 1 3 2 4 F 1 3 table: E R1 R4 Dst 2 4 2 4 Dst R2 B 1 R3 3 • When B establishes green virtual circuit, how does it 2 4 know what VC ids are available? Different paths to R1 VC table: • Even worse: every VC id may already be used on a same destination! VC 1 R2 link along the path to the destination (useful for traffic • Solution: VC id swapping VC 2 R3 engineering!)

10

VC id Swapping Connections and Signaling

A 1 Switch VC1 1 C 1 2 • Permanent vs. switched virtual connections 2 2 B 2 3 1 3 VC2 1 12 4 2 D (PVC/SVC) 1 VC3 2 • PVCs last “a long time” F 3 E • E.g., connect two bank locations with a PVC or for traffic engineering Address Next Hop Next id • Look up is based on VC id in • PVCs administratively configured VC1 = 1 3 2 header + incoming port number • SVCs dynamically set up on a “per-call” basis • A bit more like a phone call VC2 = 2 3 3 • Forwarding table specifies • Significant signaling overhead for each connection outgoing port and new VC id VC3 = 1 4 1 • Topology VC4 = 2 3 1 • VC id conflicts can be resolved locally during signaling • point to point, point to multipoint, multipoint to multipoint

11

3 SVC Connection Setup Virtual Circuits In Practice

calling network called party party • Older tech: • Only provided PVCs. Used for quasi-dedicated 56k/T1 links SETUP between offices, etc. • Asynchronous Transfer Mode - ATM: Telco SETUP approach

CONNECT • Kitchen sink: voice, file transfer, video, etc. • Intended as IP replacement. That didn’t happen. :)

CONNECT • Today: rarely used. • MPLS: The “IP Heads” answer to ATM CONNECT ACK • Stole good ideas from ATM CONNECT • Integrates well with IP ACK • Today: Used inside many transit networks to provide traffic engineering, VPN support, simplify core.

Outline ATM Background

• Circuit switching refresher • Telephone companies supported voice telephony: 4 kHz analog, 64 kbs digital • Virtual Circuits - general • They provided lines for data networking • Why virtual circuits? • ISDN: 64 kbps and faster channels • How virtual circuits? -- tag switching! • T1 (1.544 Mbps) • Two modern implementations • T3 (44.736 Mbps) • Wanted to become the primary service provider for • ATM - teleco-style virtual circuits data networking services • MPLS - IP-style virtual circuits • Internet traffic, voice, multimedia, .. • Virtual LANs • ATM is based on small, fixed sized cells • How do they differ? • Voice needs small “packets” – reduces latency • Efficient technology: simple buffer management, fast forwarding based on flat VCIDs • Initial version ran at 155 Mbs (versus 10 Mbs Ethernet)

4 ATM Features ATM Discussion

• Fixed size cells (53 bytes) • Vision: ATM is a replacement for IP. • Could carry both traditional telephone traffic (constant bit rate • 5 byte header, 48 byte payload GFC VPI circuits) and other traffic (data, variable BR) VPI VCI • Virtual circuit technology using • Simple switching core: forwarding based on VC identifiers hierarchical virtual circuits (VP,VC). VCI • Better than IP, since it supports QoS, traffic engineering • Support for multiple traffic classes VCI PT CLP • But: the technology is very complex by adaptation layer. HEC • Signaling software is very complex • E.g. voice channels, data traffic • Supporting connection-less service model on connection-based technology is painful • Elaborate signaling stack. • Deploying ATM in LAN is complex (e.g. broadcast) • Backwards compatible with respect to the payload • With IP over ATM, a lot of functionality is replicated telephone standards • Reality: Too little benefit compare with IP, although • Standards defined by ATM Forum. traffic engineering benefits were attractive • Organization of manufacturers, providers, • Fast VCI lookup became less critical over time users

MPLS – Multi-Protocol Label Switched Path (LSP)

• Bringing virtual circuit concept into IP • Simplex path through interior network • Packets forwarded by label-switched routers(LSR) • Driven by multiple forces • Performs LSP setup and MPLS packet forwarding • Traffic engineering • Label Edge Router (LER): LSP ingress or egress Layer 3 (IP) header • Transit Router: swaps MPLS label, forwards packet • High performance forwarding • VPN Layer 2 header • Quality of service New York Ingress Egress Layer 3 (IP) header San Francisco Transit Some MPLS slides from H. Zhang MPLS label Layer 2 header

5 MPLS Header Forwarding Equivalence Classes

IP Packet FEC = “A subset of packets that are all treated the same way by a LSR” 32-bit MPLS Header Label CoS S TTL LSR LSR LER LER LSP • IP packet is encapsulated in MPLS header • Label IP1 IP1 • Class of service IP1 #L1 IP1 #L2 IP1 #L3 • Stacking bit: if next header is an MPLS header IP2 #L1 IP2 #L2 IP2 #L3 • Time to live: decremented at each LSR, or pass through IP2 IP2 • IP packet is restored at end of LSP by egress router • TTL is adjusted, transit LSP routers count towards the TTL Packets are destined for different address prefixes, but can be mapped to common path • MPLS is an optimization – does not affect IP semantics

Establishing LSPs LSPs Driven by IP Routing

#216 #14 #311 #99 #311 • Use a Label Distribution Protocol (LDP) to #963 #311 establish paths based on IP forwarding tables • Simple #963 • MPLS packets follow the same path as IP #14 #462 • But offers only limited benefits #612 • Explicitly route circuits #5 #99 #311 • More work • Provides finer grain control over how traffic is - A LSP is actually part of a tree from all sources to a distributed throughout the network destination (unidirectional). - A control protocol (e.g. Label Distribution Protocol, LDP) • Important tool for traffic engineering builds the tree based on the IP forwarding tables.

23

6 MPLS Builds on Standard IP Label Switched Path (LSP)

Dest Out 47.1 1 Dest Out 47.2 2 Intf Label Dest Intf Label Intf Label Dest Intf 47.1 1 47.3 3 In In Out 47.2 2 In In Out Out 47.3 3 3 50 47.1 1 40 3 40 47.1 1 47.1 1 IP 47.1.1.11 47.1 1 2 Intf Dest Intf Label 3 3 3 In Out Out Dest Out 2 47.1 1 2 3 47.1 1 50 1 47.2 2 47.3 3 1 1 2 47.3 3 47.2 47.3 3 47.2 2 2 IP 47.1.1.1

Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.

Explicityly Routed - ER-LSP Explicitly Routed LSP - Example

Route= {A,B,C} Intf Label Dest Intf Label Intf Label Dest Intf In In Out Out In In Out #216 3 50 47.1 1 40 3 40 47.1 1 #14 #972 Intf Dest Intf Label AB In Out Out IP 47.1.1.11 47.1 3 47.1.1 2 33 3 3 3 47.1 1 50 #14 2 1 1 #972 C 2 47.3 3 47.2 2 #462 IP 47.1.1.1

ER-LSP follows route that source chooses. In other words, the control message to establish the LSP (label request) is source routed.

7