Virtual Link Layer 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross
Administrivia 3 Lectures left HW #2 due Thursday Lab #3 due Sunday, 10 Dec Final Exam (7 Dec, 7:30-9:50pm) ~6 True/False, ~4 Multiple Choice ~10 Short Answers, ~5 Long Answers 2
traceroute VLANs Link Virtualization Asynchronous Transfer Mode (ATM) Multiprotocol Label Switching (MPLS) 3
Motivation Can I join these 4 boxes together? Internet Switch Webserver SMTP Hub Hub Hub ECE Dept INI Dept CS Dept 4
Port-based VLAN Static VLAN: VLAN=Group of Ports Port = switches wire connection Two VLANs configured on a 16-port switch How do the VLANs communicate with each other?
Connecting VLANs What happens when the same VLAN exists on multiple switches? Perhaps for architectural reasons Ex: ECE Faculty in HH and CIC But, what if you have MANY different VLANs?
Connecting VLANs (2) Trunked connection: port belongs to all VLANs all frames at that port are forwarded to all VLANs But, how does the receiving side know which VLAN a particular frame belongs to?
802.1Q Tagged Ethernet VLAN identifier added to Ethernet frame 4-byte VLAN tag Includes 12-bit VLAN identifier Sending switch adds tag, receiving switch parses and removes tag 8
traceroute VLANs Link Virtualization Asynchronous Transfer Mode (ATM) Multiprotocol Label Switching (MPLS) 9
Evolving Understanding of Link Layer Local ISP Regional ISP Start of Lecture 20 Link = channel connecting adjacent nodes Point-to-Point links Broadcast links Company Network
The Zen of Link In Lecture 21, started to realize links can be more complex than a simple wire Link = channel, but can include switches, hubs, etc LAN1: 1 Gbps D 1 2 D LAN2: 100Mbps R 3 R 4 D R D Link can also be PPP/HDLC Uses complex telephony network, but looks to IP like a single wire LAN3: 100Mbps 5 R LAN4: 100Mbps
Link Virtualization What if an entire network could act as a link? ATM (for instance) connects 2 routers, looks like a link But, ATM network consists of multiple routers, different standards, its own network stack, different architecture Application from TCP/IP!!!! Layered architecture will let this happen Transport Network Link Physical Some other networking stack 12
traceroute VLANs Link Virtualization Asynchronous Transfer Mode (ATM) Multiprotocol Label Switching (MPLS) 13
ATM: A Short Introduction ATM = Asynchronous Transfer Mode Vision: single integrating network technology for real-time video/audio, plus text/images Typically used for telephony or WAN scenarios Designed to be low jitter -- great for streaming video Connection oriented -- virtual circuit routing 14
ATM Stack: 3 Layers ATM Layer Sort of a Network Layer Packet is called a cell 5 byte header AAL ATM Physical 48 byte payload (halfway between 32 & 64) Virtual Circuit routing with explicit congestion control Permanent VCs for long-lived connections 15
ATM Stack: 3 Layers Physical Layer Supports a variety of media Fiber and copper AAL ATM Physical Inserts a constant flow of bits, even when no cells are available for transmission Manages cell delineation so receiver can detect cell boundaries 16
ATM Stack: 3 Layers ATM Adaptation Layer (AAL) Analogous to Transport Layer Segmentation / Reassembly 5 different services defined Constant Bit Rate, VBR (3 types), Datagram AAL ATM Physical Choice negotiated at circuit initialization 17
Header Format 28 bits 3 1 8 Virtual Circuit Identifier (VCI) PT HEC Virtual Circuit Identifier Used by routers to index forwarding table Includes Virtual Path Identifier which can be used to reduce forwarding table size for commonly used paths Updated at each router CLP 18
Header Format (2) 28 bits 3 1 8 Virtual Circuit Identifier (VCI) PT HEC Payload Type Identify special cells for operations, routing, etc Cell-loss Priority Congested routers drop low-priority cells first CLP Header Error Control CRC which protects just the header 19
ATM as a Virtual Link IP over ATM Fully connect ATM border routers with virtual circuits ATM Network 20
A Packet's Journey IP handoff to AAL5 at ingress border router Use ATMARP (like ARP) to get VCI addr AAL will negotiate circuit setup IP packet fragmented into cells AAL will respond to congestion events App App Transport Transport Network Network Network Network Link Link AAL ATM ATM AAL ATM Link Link Physical Physical Physical Physical Physical Source Border Interior Border Destination 21
Datagram Journey (2) AAL passes each cell to ATM ATM moves cell from interior router to router across the network At egress border router, cells handed to AAL5 Cells reassembled into IP datagram App App Transport Transport Network Network Network Network Link Link AAL ATM ATM AAL ATM Link Link Physical Physical Physical Physical Physical Source Border Interior Border Destination 22
Link Virtualization Limits Many different link technologies Quick RFC search found IP over {FDDI, PPP, Token-ring, HIPPI, MAPOS, Ethernet, NBMA, ARCnet, InfiniBand, Frame Relay, TV Broadcast signals, Firewire, MPLS, Optical, MPEG-2, Fibre channel, Avians, Semaphore Flags, LoWPAN, 802.15.4, 802.16, SLIP, NetBIOS, IPX, SMDS} only 2 of which are April Fools jokes 23
traceroute VLANs Link Virtualization Asynchronous Transfer Mode (ATM) Multiprotocol Label Switching (MPLS) 24
A short aside: Encapsulation DNS Request GET /index.html HTTP/1.1 Host: www.example.com TCP Segment S D Data IP Packet Src Dest Data Ethernet Frame Preamble Dest Addr Source Addr Data CRC
Key Insight Routers within a network can label packets in any way they wish Label is used for network management other router removes the label before the packet exits the network Where do you put this label? between data-link layer and network layer headers 26
Multiprotocol Label Switching IP routing is slowed by the variable length address searching in the forwarding table Remember longest matching prefix rule? MPLS replaces IP routing within a network by using a fixed length label RFC 3031, 3032 27
MPLS Packet Format Ethernet Header MPLS Header IP Header UDP/TCP Header Data CRC Label TC S TTL Label (20 bits) Traffic Class (3 bits): Used for QoS priority, ECN Bottom of Stack (1 bit) Packet may have a stack of labels Time To Live (8 bits) Same operation as in IP, copied from/into IP header by ingress / egress router 28
Router Operation Inside the network (Label Switch Router) On receipt of packet, lookup label Replace label for next hop Edge of the network (Label Edge Router) Incoming packet: convert IP to label, push MPLS header Outgoing packet: pop MPLS header, forward based on IP address 29
MPLS Routing MPLS-capable router has IP forwarding table plus MPLS forwarding table in out dest out if label label - A 10 0 - B 12 0 - A 8 1 IP only in out dest out if label label 10 A 6 1 12 B - 0 IP only R1 0 R5 0 R7 B R2 R3 1 MPLS Enabled Network 0 1 0 R4 R6 A R8 in out dest out if label label 8 A 6 0 in out dest out if label label 6 A - 0
MPLS Forwarding Notice that Forwarding process doesn t examine the IP header Except at entry to MPLS network Forwarding table is filled (i.e. labels are distributed) using the RSVP-TE protocol or LDP (Label Distribution Protocol) Can populate with any route desired source-specific forwarding Multiple paths possible Paths chosen based on performance, policy,...
MPLS Lots more cool stuff you can do with MPLS Backup links with failover capability Virtual Private Networks Connects disjoint networks and keeps them isolated from other customers Exotic Traffic Engineering Very useful tool I predict lots of excellent tech, research you should learn more
Today VLANs Virtual Link Layer Asynchronous Transfer Mode Multiprotocol Label Switching