<<

11/23/2019

Outline

refresher

• Virtual Circuits

15-441/641: Computer Networks • Why virtual circuits? Virtual Circuits, MPLS,VLAN • How do they work? • Today’s virtual circuits: MPLS 15-441 Fall 2019 Profs Peter Steenkiste & Justine Sherry • Virtual LANs

• How do they differ?

Fall 2019 https://computer-networks.github.io/fa19/

Circuit Switching Circuit Switching

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

1 11/23/2019

Circuit Versus Virtual Circuits • Each wire carries many “virtual” circuits Circuit Switching Packet Switching • Forwarding based on virtual circuit (VC) identifier in a packet header

• Fast switches can be built • Switch design is more • IP header: source IP, destination IP, etc.

relatively inexpensively complex and expensive • Virtual circuit header: VC ID, ..

• Inefficient for bursty data • Allows statistical • A path through the network is set up when the VC is established multiplexing • Statistical multiplexing for efficiency, similar to IP • Predictable performance • Can support wide range of (e.g. hard QoS) • Difficult to provide QoS guarantees • No guarantees: best effort service • Requires circuit • Weak guarantees: delay < 300 msec, … establishment before • Data can be sent without • Strong guarantees: e.g. equivalent of physical circuit communication signaling delay and overhead

Can we get the benefits of both?

Virtual Circuits Versus Virtual Circuit Forwarding Packet Switching A Switch • Many similarities: 1 VC1 C • Forwarding based on “address” (VCID or destination address) 3 B 2 4 VC2 D • Statistical multiplexing for efficiency VC3 • Must have buffers space on switches F E • Virtual circuit switching: • Uses short connection identifiers to forward packets Address Next Hop • Switches maintain state for each connection so they can more easily implement features such VC1 3 • The address used for look up in the forwarding as quality of service table is a virtual circuit identifier (VC id) • Switches are stateful: VC connection state cannot be lost VC2 3 • Forwarding table entries are filled in during • Packet switching: VC3 4 signaling • Uses full destination addresses for forwarding packets VC4 ? • Can send data right away: no need to establish a connection first • VC id is often shorter than destination address VC5 ? • Switches are stateless: easier to recover from failures and is typically “flat” (e.g., no CIDR) • Adding QoS is hard, kind of – see QoS lecture

2 11/23/2019

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

VC id Swapping Connections and Signaling

A 1 Switch • Permanent vs. switched virtual connections (PVC/SVC) VC1 1 C 1 2 • static vs. dynamic. PVCs last “a long time” 2 2 B 2 3 1 3 VC2 1 • E.g., connect two bank locations with a PVC 12 4 2 D 1 • SVCs are more like a phone call VC3 2 F • PVCs administratively configured (but not “manually”) 3 E • SVCs dynamically set up on a “per-call” basis

Address Next Hop Next id • Look up is based on VC id in • Topology VC1 = 1 3 2 header + incoming port number • point to point, point to multipoint, multipoint to multipoint VC2 = 2 3 3 • Forwarding table specifies • Challenges: How to configure these things? outgoing port and new VC id VC3 = 1 4 1 • What VCI to use? • VC id conflicts can be resolved • Setting up the path VC4 = 2 3 1 locally during signaling

3 11/23/2019

Basic SVC Connection Setup Virtual Circuits In Practice

• Asynchronous Transfer Mode - ATM: Teleco approach calling network called • Based on 53 byte “cells”, not packets (I am not kidding) party party • Kitchen sink: design driven by voice requirements, but supports file transfer, SETUP video, etc., • Intended as IP replacement. That didn’t happen. :)

SETUP • Today: dead. • MPLS: The “IP Heads” answer to ATM CONNECT • Stole all the good ideas from ATM and integrated them into IP • Today: Used inside many transit networks to provide traffic engineering, VPN CONNECT support, .. • Other networks just run IP. CONNECT ACK • Older (ancient?) technology: CONNECT • Only provided PVCs. Used for quasi-dedicated 56k/T1 links between offices, ACK etc. Slower, less flexible than ATM.

Outline MPLS

• Circuit switching refresher • Multi-Protocol Layer 3 (IP) header • Virtual Circuits • Brings the virtual circuit concept into IP Layer 2 header • Why virtual circuits? • Driven by multiple forces

• How do they work? • QoS, traffic engineering • Simplifies packet forwarding • Today’s virtual circuits: MPLS Layer 3 (IP) header • MPLS is implemented using an MPLS that sits • Virtual LANs between the IP and datalink header MPLS label • How do they differ? • VC ID is called an MPLS label Layer 2 header

Some MPLS slides from H. Zhang

4 11/23/2019

Label Switched Paths (LSP) Label Switched Router (LSR)

• Performs LSP setup and MPLS packet forwarding • Uni-directional path between two routers in an ISP’s network • Label Edge Router (LER): LSP ingress or egress • Forces packet along a specific path (set of routers) • Transit Router: forwards packet and swaps MPLS label

New York

Ingress New York San San Francisco Egress Francisco Transit

MPLS Header MPLS Header

• IP packet is encapsulated in MPLS header by the LSP ingress router and sent down a LSP Label CoSS TTL

IP Packet • Label – 20 bits that identify LSP 32-bit • Class of service MPLS Header • Stacking bit • MPLS forward packet based on the label • Packets can be encapsulated in multiple MPLS headers • Time to live • IP packet is restored at end of LSP by egress router • Decrement at each LSR, or • TTL is adjusted, transit LSP routers count towards the TTL • Pass through unchanged • MPLS is an optimization – it does not affect IP semantics

5 11/23/2019

Forwarding Equivalence Classes Establishing LSPs

LSR LSR • Use the Label Distribution Protocol (LDP) to establish paths LER LER LSP based on IP forwarding tables • Simple: IP routing protocols map forwarding of IP prefixes to IP1 IP1 LSPs as they fill in IP forwarding tables IP1 #L1 IP1 #L2 IP1 #L3 • Establish new LSPs as needed IP2 #L1 IP2 #L2 IP2 #L3 IP2 IP2 • MPLS packets follow the same path as IP – lose some MPLS benefits Packets are destined for different address prefixes, but can be mapped to common path • Explicitly establish LSPs to control flow of traffic • More work • FEC = “A subset of packets that are all treated the same way by a LSR” • Provides finer grain control over how traffic is distributed • The concept of FECs provides for a great deal of flexibility and scalability throughout the network • Can be used to force flows of different “sizes” (e.g., Mbps) to follow certain • Important tool for traffic engineering paths through the network – more flexible than traditional routing

LSPs Driven by IP Routing MPLS Builds on Standard IP Dest O ut 47.1 1 #216 Dest O ut 47.2 2 #14 #311 47.1 1 47.3 3 47.2 2 #99 #311 47.3 3 1 47.1 #963 #311 1 2 3 #963 Dest O ut 2 47.1 1 47.2 2 #14 47.3 3 1 #462 #612 47.3 3 47.2 #311 2 #5 #99

- A LSP is actually part of a sink tree with paths from every source to a destination (unidirectional). - A control protocol (e.g. Label Distribution Protocol, LDP) builds the tree based on the IP forwarding tables. • Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.

6 11/23/2019

Label Switched Path (LSP) Explicityly Routed - ER-LSP

Route= Intf Label Dest Intf Label Intf Label Dest Intf {A,B,C} In In Out Out In In Out 3 40 47.1 1 3 50 47.1 1 40 #216 #14 #972 IP 47.1.1.11 47.1 A B Intf Dest Intf Label 3 3 In Out Out 2 3 47.1 1 50 1 #14

1 2 #972 C 47.3 3 47.2 2 IP 47.1.1.1 #462

ER-LSP follows a route that is explicated selected by a network manager.

Explicitly Routed LSP - Example Outline

• Circuit switching refresher Intf Label Dest Intf Label Intf Label Dest Intf In In Out Out In In Out • Virtual Circuits 3 50 47.1 1 40 3 40 47.1 1 Intf Dest Intf Label • Why virtual circuits? In O ut Out IP 47.1.1.11 47.1 3 47.1.1 2 33 3 • How do they work? 3 47.1 1 50 3 2 1 • Today’s virtual circuits: MPLS 1 2 47.3 3 47.2 • Virtual LANs

• How do they differ? IP 47.1.1.1 2

7 11/23/2019

VLAN Introduction VLAN Benefits

• VLANs logically segment switched LANs Performance: limits broadcast messages to the VLAN – improves scalability • Separates hardware topology from LAN topology E.g., very large organizations • They operate at layer 2 (very different from MPLS!) Support for mobility in WiFi • Partitioning is based on organization or function • It is independent of the physical location of nodes in the Management: manage network topology without changing the network physical topology • Devices on a VLAN share their own (private) LAN E.g., departments in a university or company • It is indistinguishable from a physical LAN, e.g., Ethernet, Security: isolates VLAN – VLANs connected by routers with smarter that has its own dedicated hardware (switches, wires) filtering capabilities • Has all the same properties, e.g., broadcast capability E.g., separate “guest” network from internal network so traffic is fully • Form their own IP subnet isolated

VLAN Example VLAN Logical Topology

Devices with the same color form their own VLAN sharing the red physical hardware

8 11/23/2019

VLAN Types Example: 802.1Q Standard

• The VLAN for each packet is selected by a switch, not the host for VLANs over Ethernet • First switch adds a VLAN ID to the packet • A 32 bit VLAN header is inserted after the MAC addresses • Why? • Last switch in the path removes the VLAN ID • Add field to existing header or encapsulation • VLAN memberships can be controlled in different ways, based on: • Header consists of • Port: incoming switch ports are tagged with VLAN ID • Tag Protocol Identifier (16b): single value that marks frame as a VLAN • MAC address: switch has (MAC, VLAN ID) table frame • Protocol: switch as (protocol, VLAN ID) table • Control bits (4b): mostly priority • VLAN Identifier (12b): identifies VLAN

Take Home Points

• Costs/benefits/goals of virtual circuits • Tag/label swapping - basis for most VCs.

• Makes label assignment link-local. Understand mechanism. • MPLS - IP meets virtual circuits (links)

• Used for VPNs, traffic engineering, reduced core routing table sizes

• Management of ISPs at layer 3 • Virtual LANs – manage LANs in software

• Simplifies management of edge networks at layer 2

• Very widely used, e.g., cmu-guest versus cmu-secure WiFi access

• Set up by manager based on organizational structure – no tag swapping

9