Computer Networks Virtual Circuits, MPLS,VLAN Outline Circuit
Total Page:16
File Type:pdf, Size:1020Kb
11/23/2019 Outline • Circuit switching 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 Packet Switching 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 quality of service (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: Frame Relay 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 Label Switching 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