L2 Addressing and data plane. Benjamin Baron

Similar documents
Switching and Forwarding Reading: Chapter 3 1/30/14 1

ECE 158A: Lecture 13. Fall 2015

Principles behind data link layer services

Ethernet. EE 122: Intro to Communication Networks. Fall 2007 (WF 4-5:30 in Cory 277) Vern Paxson TAs: Lisa Fowler, Daniel Killebrew & Jorge Ortiz

Principles behind data link layer services:

Principles behind data link layer services:

Medium Access Protocols

Link layer: introduction

Review. Error Detection: CRC Multiple access protocols. LAN addresses and ARP Ethernet. Slotted ALOHA CSMA/CD

Data Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies

Summary of MAC protocols

CS 43: Computer Networks Switches and LANs. Kevin Webb Swarthmore College December 5, 2017

Professor Yashar Ganjali Department of Computer Science University of Toronto.

Chapter 3 Part 2 Switching and Bridging. Networking CS 3470, Section 1

Reminder: Datalink Functions Computer Networking. Datalink Architectures

A primer on modern LANs

CSC 4900 Computer Networks: Link Layer (2)

Hubs. twisted pair. hub. 5: DataLink Layer 5-1

Lecture 5 The Data Link Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Communication Networks

Lecture 6 The Data Link Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Some portions courtesy Srini Seshan or David Wetherall

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

ECE 4450:427/527 - Computer Networks Spring 2017

The Link Layer and LANs: Ethernet and Swiches

Goal and Outline. Computer Networking. What Do We Need? Today s Story Lecture 3: Packet Switched Networks Peter Steenkiste

Administrivia CSC458 Lecture 4 Bridging LANs and IP. Last Time. This Time -- Switching (a.k.a. Bridging)

Computer Networks. Wenzhong Li. Nanjing University

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

Layer 2 functionality bridging and switching

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

Computer Networks Principles LAN - Ethernet

Lecture 6. Data Link Layer (cont d) Data Link Layer 1-1

Chapter 5 Link Layer and LANs

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

Computer Network Fundamentals Spring Week 3 MAC Layer Andreas Terzis

Cisco Cisco Certified Network Associate (CCNA)

CSC 401 Data and Computer Communications Networks

Addressing and Switching in the Link Layer

Growth. Individual departments in a university buy LANs for their own machines and eventually want to interconnect with other campus LANs.

Lecture 9 The Data Link Layer part II. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

CS 3516: Advanced Computer Networks

Lecture 20: Link Layer

CSE 123A Computer Networks

King Fahd University of Petroleum and Minerals College of Computer Sciences and Engineering Department of Computer Engineering

CS 455/555 Intro to Networks and Communications. Link Layer Addressing, Ethernet, and a Day in the Life of a Web Request

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 18

Principles behind data link layer services:

Redes de Computadores. Medium Access Control

7010INT Data Communications Lecture 7 The Network Layer

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review.

More on Link Layer. Recap of Last Class. Interconnecting Nodes in LAN (Local-Area Network) Interconnecting with Hubs. Computer Networks 9/21/2009

Lecture 16: Network Layer Overview, Internet Protocol

Floodless in SEATTLE: A Scalable Ethernet Architecture for Large Enterprises

Top-Down Network Design

EPL606. Internetworking. Part 2a. 1Network Layer

CCM 4300 Lecture 6 Computer Networks, Wireless and Mobile Communications. Dr Shahedur Rahman. Room: T115

Lecture 4b. Local Area Networks and Bridges

ECSE 414 Fall 2014 Final Exam Solutions

The Link Layer and LANs. Chapter 6: Link layer and LANs

CSC 4900 Computer Networks: The Link Layer

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols

CMPE 150 Winter 2009

CSCD 330 Network Programming Spring 2017

Network Security Fundamentals. Network Security Fundamentals. Roadmap. Security Training Course. Module 2 Network Fundamentals

Telematics I. Chapter 6 Internetworking. (Acknowledement: These slides have been compiled from H. Karl s set of slides)

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

CSE 461: Bridging LANs. Last Topic

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

The Link Layer II: Ethernet

Chapter 4. DataLink Layer. Reference: Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.

Lecture 3. The Network Layer (cont d) Network Layer 1-1

CSCI Computer Networks

Chapter Seven. Local Area Networks: Part 1. Data Communications and Computer Networks: A Business User s Approach Seventh Edition

Midterm Review. Topics. Review: Network. Review: Network. Layers & Protocols. Review: Network WAN. Midterm Review EECS 122 EECS 122

Midterm Review EECS 122. University of California Berkeley

Hubs, Bridges, and Switches (oh my) Hubs

Hands-On Network Security: Practical Tools & Methods

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. **Slides are attributed to J. F. Kurose

Link Layer and LANs. CMPS 4750/6750: Computer Networks

Review. Some slides are in courtesy of J. Kurose and K. Ross

Good day. Today we will be talking about Local Internetworking What is Internetworking? Internetworking is the connection of different networks.

Inter-networking. Problem. 3&4-Internetworking.key - September 20, LAN s are great but. We want to connect them together. ...

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

LAN Interconnection and Other Link Layer Protocols

Adaptors Communicating. Link Layer: Introduction. Parity Checking. Error Detection. Multiple Access Links and Protocols

Chapter 5 Link Layer. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Interface The exit interface a packet will take when destined for a specific network.

Introduction to OSPF

Lecture 8. Network Layer (cont d) Network Layer 1-1

High Level View. EE 122: Ethernet and Random Access protocols. Medium Access Protocols

Switching & ARP Week 3

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 16

Topics. Link Layer Services (more) Link Layer Services LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS. flow control: error detection:

CS 455/555 Intro to Networks and Communications. Link Layer

exam. Number: Passing Score: 800 Time Limit: 120 min CISCO Interconnecting Cisco Networking Devices Part 1 (ICND)

Communication Networks ( ) / Spring 2011 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

Link Layer and Ethernet

Chapter 5 part 2 LINK LAYER. Computer Networks Timothy Roscoe Summer Networks & Operating Systems Computer Networks

Transcription:

L2 Addressing and data plane Benjamin Baron benjamin.baron@lip6.fr

Goals of Today s Lecture Devices that shuttling packets at different layers - Repeaters and hubs - Bridges and switches - Routers Switch protocols and mechanisms - Dedicated access and full-duplex transfers - Cut-through switching - Self learning of the switch table - Spanning trees

Inside the Network Forward packets from the sender to the receiver

Hop-by-Hop Packet Forwarding Each router has a forwarding table - Maps destination addresses - to outgoing interfaces Upon receiving a packet - Inspect the destination IP address in the header - Index into the table - Determine the outgoing interface - Forward the packet out that interface Then, the next router in the path repeats - And the packet travels along the path to the destination

Forwarding vs. Routing Forwarding: data plane - Directing a data packet to an outgoing link - Individual router using a forwarding table Routing: control plane - Computing paths the packets will follow - Routers talking amongst themselves - Individual router creating a forwarding table

The Internet Network Layer Host, router network layer functions: Transport layer: TCP, UDP Network layer Routing protocols path selection RIP, OSPF, BGP forwarding table IP protocol addressing conventions datagram format packet handling conventions ICMP protocol error reporting router signaling Link layer physical layer

What is Routing? A famous quotation from RFC 791 A name indicates what we seek. An address indicates where it is. A route indicates how we get there. - Jon Postel

What is Addressing? Providing suitable identifiers to nodes - So you can direct data to a node - So you know which node sent the data - and how to send data back to that node Addressing in the French mail - Zip code: 75005 - Street: place Jussieu - Building on street: 4 - Room in building: 26-00/128 - Name of occupant: Benjamin Baron??? Does or should addresses always reflect the underlying network topology?

Geographical Phone Numbers Non-geographical - 08 : indirection service (0800 free for the caller) - 09 : telephone service offered by ISPs - 06, 07 : Cell phone numbers (nodes are mobile) -... blurring distinction between name and address

Three Kinds of Identifiers Host Name IP Address MAC Address Example www.upmc.fr 134.157.250.59 58-55-CA-F8-C1-87 Size Hierarchical, human readable, variable length Hierarchical, machine readable, 32 bits (in IPv4) Flat, machine readable, 48 bits Read by Humans, hosts IP routers Switches in LAN Allocation, top-level Domain, assigned by registrar (e.g., for.edu) Variable-length prefixes, assigned by ICANN, RIR, or ISP Fixed-sized blocks, assigned by IEEE to vendors (e.g., Dell) Allocation, low-level Host name, local administrator Interface, by admin or DHCP Interface, by vendor

Overview Two widely-used addressing schemes - Medium Access Control (MAC) addresses - Internet Protocol (IP) addresses Key concepts in addressing - Number of unique addresses - Allocating addresses to nodes - Flat vs. hierarchical structure - Persistent vs. temporary identifiers - Handling diminishing address space - Spoofing of source addresses

Some Questions Could every host on the Internet have an arbitrary, unique numerical address? - Would it scale? If hierarchy is necessary, how to do it? - Tying the addressing to the topology & routing? - What about mobile hosts? Temporary addresses? Who should allocate the addresses? - Network provider? Device manufacturer? Does the sender of the traffic need to authenticate itself? The destination? - What about spoofing and impersonation?

Comparing MAC and IP Addresses MAC IP Assignment Hard-coded in the adaptor Configured or learned Size 48 bits 32 bits (in v4) Structure Flat Hierarchical Portability Purpose Constant over life of the adapter Delivery within a single network Changes with time and location Delivery across an inter-network E.g., social security number vs. postal address

MAC Addresses

The Link Layer LAN/Physical/MAC address - Flat structure - Unique to physical interface (no two alike) how? sender datagram link layer protocol receiver frame adapter frame adapter Frames can be sent to a specific MAC address or to the broadcast MAC address What are the advantages to separating network layer from MAC layer?

Services Provided by the Link Layer Framing - Encapsulation of a network-layer datagram IEEE vision: - Link Access: Sharing of broadcast links and shared media - Error detection: damaged frames are quietly discarded (Ethernet FCS ) OSI vision - Reliable Delivery: Guarantee to deliver the frame to the other end of the link without error Flow Control: The link layer can provide mechanisms to avoid overflowing the buffer Error Correction: Determining where errors have occurred and then correcting those errors.

Local Area Networks Benefits of being local : - Lower cost - Short distance = faster links, low latency Efficiency less pressing - One management domain - More homogenous Examples: - Ethernet - Token ring, FDDI - 802.11 wireless

Problem: Sharing a Wire Learned how to connect hosts But what if we want more hosts? Switches Expensive! How can we share a wire? Wires for everybody!

Random Access Protocols When node has packet to send - Transmit at full channel data rate R - No a priori coordination among nodes Two or more transmitting nodes à collision Random access MAC protocol specifies: - How to detect collisions - How to recover from collisions (e.g., via delayed retransmissions) Examples of random access MAC protocols: - Slotted ALOHA and ALOHA - CSMA/CD (Ethernet) CSMA/CA (WiFi)

Ethernet MAC If line is idle (no carrier sensed) send packet immediately If line is busy (carrier sensed) wait until idle and transmit packet immediately If collision detected - Stop sending and jam signal - Jam signal: make sure all other transmitters are aware of collision - Wait a random time (Exponential backoff), and try again How does sender detect collision? How long does it take?

Life of a Packet: On a Subnet Packet destined for outgoing IP address arrives at network interface - Packet must be encapsulated into a frame with the destination MAC address (ARP) Frame is sent on LAN segment to all hosts - Any host listens to all passing frames Hosts check destination MAC address - Destination MAC address is checked against the host interface MAC address What if a frame is broadcasted instead?

Addressing Alternatives Broadcast media à all nodes receive all packets - Addressing determines which packets are kept and which are packets are thrown away - Packets can be sent to: Unicast one destination Multicast group of nodes (e.g. everyone playing Quake ) Broadcast everybody on wire Dynamic addresses (e.g. Appletalk) - Pick an address at random - Broadcast is anyone using address XX? - If yes, repeat Static address (e.g. Ethernet)

MAC Addresses Flat name space of 48 bits - Typically written in six octets in hex - E.g., 20:c9:d0:86:dd:27 for my Ethernet Organizationally unique identifier - Assigned by IEEE Registration Authority - Determines the first 24 bits of the address - E.g., 20:c9:d0 corresponds to Apple Remainder of the MAC address - Allocated by the manufacturer - E.g., 86:dd:27 for my Ethernet card

Forwarding Frames to Destination Adapter Shared media - Forward all frames on the shared media - Adapter grabs frames with matching dest address Multi-hop switched networks - Flood every frame over every link? host host... host - Learn where the MAC address is located? host host host host

Interconnecting LANs Receive & broadcast ( hub ) Learning switches Spanning tree (RSTP, MSTP, etc.) protocols

Interconnecting LANs with Hubs All packets seen everywhere - Lots of flooding, chances for collision Can t interconnect LANs with heterogeneous media (e.g., Ethernets of different speeds) hub hub hub hub

Scalability Problems with Hubs: No Isolation Latency - Avoiding collisions requires backoff - Possible for a single host to hog the medium Failures - One misconfigured device can cause problems for every other device on the LAN

Link-layer Improving on Hubs: Switches - Stores and forwards Ethernet frames - Examines frame header and selectively forwards frame based on MAC dest address - When frame is to be forwarded on segment, uses CSMA/CD to access segment Transparent - Hosts are unaware of presence of switches Plug-and-play, self-learning - Switches do not need to be configured

LAN Switching Extend reach of a single shared medium Connect two or more segments by copying data frames between them - Switches only copy data when needed à key difference from repeaters LAN 1 LAN 2

Switch: Traffic Isolation Switch breaks subnet into LAN segments Switch filters packets - Same-LAN-segment frames not usually forwarded onto other LAN segments - Segments become separate collision domains switch collision domain hub hub hub collision domain collision domain

Filtering and Forwarding Occurs through switch table Suppose a packet arrives destined for node with MAC address x from interface A - If MAC address not in table, flood (act like a hub) - If MAC address maps to A, do nothing (packet destined for same LAN segment) - If MAC address maps to another interface, forward LAN A A B C LAN B LAN C How does this table get configured?

Scalability Challenges MAC addresses are flat - Multiple hosts on the same network - No relationship between MAC addresses Data plane - Forwarding based on MAC address - Switch table size? Look-up overhead? Control plane - Determining where the host is located - Keeping the information up-to-date

Advantages vs. Hubs Better scaling - Separate collision domains allow longer distances Better privacy - Hosts can snoop the traffic traversing their segment - but not all the rest of the traffic Heterogeneity - Joins segments using different technologies

Disadvantages vs. Hubs Delay in forwarding frames - Bridge/switch must receive and parse the frame - and perform a look-up to decide where to forward - Storing and forwarding the packet introduces delay - Solution: cut-through switching Need to learn where to forward frames - Bridge/switch needs to construct a forwarding table - Ideally, without intervention from network administrators - Solution: self-learning

Motivation For Self Learning Switches forward frames selectively - Forward frames only on segments that need them Switch table - Maps dest MAC address to outgoing interface - Goal: construct the switch table automatically B A C switch D

When a frame arrives Self Learning: Building the Table - Inspect the source MAC address - Associate the address with the incoming interface - Store the mapping in the switch table - Use a TTL field to eventually forget the mapping Switch learns how to reach A. B A C D

Self Learning: Handling Misses When frame arrives with unfamiliar dest - Forward the frame out all of the interfaces - except for the one where the frame arrived - Hopefully, this case won t happen very often Switch floods frame that is destined to C. B A C D

Switch Filtering/Forwarding When switch receives a frame: index switch table using MAC dest address if entry found for destination then { if dest on segment from which frame arrived then drop the frame } else forward the frame on interface indicated else flood forward on all but the interface on which the frame arrived

Cut-Through Switching Buffering a frame takes time - Suppose L is the length of the frame - And R is the transmission rate of the links - Then, receiving the frame takes L/R time units Buffering delay can be a high fraction of total delay, especially over short distances A B switches

Cut-Through Switching Start transmitting as soon as possible - Inspect the frame header and do the look-up - If outgoing link is idle, start forwarding the frame Overlapping transmissions - Transmit the head of the packet via the outgoing link - while still receiving the tail via the incoming link A switches B

Flooding Can Lead to Loops Switches sometimes need to broadcast frames - Upon receiving a frame with an unfamiliar destination - Upon receiving a frame sent to the broadcast address Broadcasting is implemented by flooding - Transmitting frame out every interface - except the one where the frame arrived Flooding can lead to forwarding loops - E.g., if the network contains a cycle of switches - Either accidentally, or by design for higher reliability

Solution: Spanning Trees Ensure the topology has no loops - Avoid using some of the links when flooding - to avoid forming a loop Spanning tree - Sub-graph that covers all vertices but contains no cycles - Links not in the spanning tree do not forward frames

Constructing a Spanning Tree Need a distributed algorithm - Switches cooperate to build the spanning tree - and adapt automatically when failures occur Key ingredients of the algorithm - Switches need to elect a root The switch with the smallest identifier - Each switch identifies if its interface is on the shortest path from the root And it exclude from the tree if not - Messages (Y, d, X) From node X Claiming Y is the root And the distance is d root One hop Three hops

Steps in Spanning Tree Algorithm Initially, each switch thinks it is the root - Switch sends a message out every interface - identifying itself as the root with distance 0 - Example: switch X announces (X, 0, X) Switches update their view of the root - Upon receiving a message, check the root id - If the new id is smaller, start viewing that switch as root Switches compute their distance from the root - Add 1 to the distance received from a neighbor - Identify interfaces not on a shortest path to the root - and exclude them from the spanning tree

Example From Switch #4 s Viewpoint Switch #4 thinks it is the root - Sends (4, 0, 4) message to 2 and 7 Then, switch #4 hears from #2 1 - Receives (2, 0, 2) message from 2 - and thinks that #2 is the root - And realizes it is just one hop away 3 5 Then, switch #4 hears from #7 - Receives (2, 1, 7) from 7 - And realizes this is a longer path - So, prefers its own one-hop path - And removes 4-7 link from the tree 4 7 2 6

Example From Switch #4 s Viewpoint Switch #2 hears about switch #1 - Switch 2 hears (1, 1, 3) from 3 - Switch 2 starts treating 1 as root 1 - And sends (1, 2, 2) to neighbors Switch #4 hears from switch #2 - Switch 4 starts treating 1 as root 3 5 - And sends (1, 3, 4) to neighbors Switch #4 hears from switch #7 - Switch 4 receives (1, 3, 7) from 7 - And realizes this is a longer path - So, prefers its own three-hop path 4 7 2 6 - And removes 4-7 Iink from the tree

Robust Spanning Tree Algorithm Algorithm must react to failures - Failure of the root node Need to elect a new root, with the next lowest identifier - Failure of other switches and links Need to recompute the spanning tree Root switch continues sending messages - Periodically reannouncing itself as the root (1, 0, 1) - Other switches continue forwarding messages Detecting failures through timeout (soft state!) - Switch waits to hear from others - Eventually times out and claims to be the root

MAC Addresses Disadvantages - Large forwarding tables in the data plane - Flooding overhead to learn location information - Lack of privacy Advantages - Persistent identifier (well, except for spoofing) - Mobile hosts are easy to handle - Forwarding-table look-up is a simple match

Hubs and Switches Different devices switch different things - Physical layer: electrical signals (repeaters, hubs) - Link layer: frames (bridges, switches) - Network layer: packets (routers) Key ideas in switches - Self learning of the switch table - Cut-through switching - Spanning trees Virtual LANs (VLANs) Application gateway Transport gateway Router Bridge, switch Frame header Packet header TCP header User data Repeater, hub

Switched Network Advantages Higher link bandwidth - Point to point electrically simpler than bus Much greater aggregate bandwidth - Separate segments can send at once Improved fault tolerance - Redundant paths Challenge - Learning which packets to copy across links - Avoiding forwarding loops

Switches vs. Routers Switches - Switches are automatically configuring - Forwarding tends to be quite fast, since packets only need to be processed through layer 2 Routers - Router-level topologies are not restricted to a spanning tree - Can even have multipath routing

Evolution Toward Virtual In the olden days LANs - Thick cables snaked through cable ducts in buildings - Every computer they passed was plugged in - All people in adjacent offices were put on the same LAN - Independent of whether they belonged together or not More recently - Hubs and switches changed all that - Every office connected to central wiring closets - Often multiple LANs (k hubs) connected by switches - Flexibility in mapping offices to different LANs Group users based on organizational structure, rather than the physical layout of the building.

Why Group by Organizational Structure? Security - Ethernet is a shared media - Any interface card can be put into promiscuous mode - and get a copy of all of the traffic (e.g., midterm exam) - So, isolating traffic on separate LANs improves security Load - Some LAN segments are more heavily used than others - E.g., researchers running experiments get out of hand - can saturate their own segment and not the others - Plus, there may be natural locality of communication - E.g., traffic between people in the same research group

People Move, and Roles Change Organizational changes are frequent - E.g., faculty office becomes a grad-student office - E.g., graduate student becomes a faculty member Physical rewiring is a major pain - Requires unplugging the cable from one port - and plugging it into another - and hoping the cable is long enough to reach - and hoping you don t make a mistake Would like to rewire the building in software - The resulting concept is a Virtual LAN (VLAN)

Example: Two Virtual LANs R RO RO RO O Red VLAN and Orange VLAN Bridges forward traffic as needed

Example: Two Virtual LANs R O O O R O R R R R R R RO O O O O Red VLAN and Orange VLAN Bridges forward traffic as needed

Making VLANs Work Bridges/switches need configuration tables - Saying which VLANs are accessible via which interfaces Approaches to mapping to VLANs - Each interface has a VLAN color Only works if all hosts on same segment belong to same VLAN - Each MAC address has a VLAN color Useful when hosts on same segment belong to different VLANs Useful when hosts move from one physical location to another Changing the Ethernet header - Adding a field for a VLAN tag - Implemented on the bridges/switches - but can still interoperate with old Ethernet cards

Ethernet 802.1q Making VLANs Work

Moving From Switches to Routers Advantages of switches over routers - Plug-and-play - Fast filtering and forwarding of frames - No pronunciation ambiguity (e.g., rooter vs. rowter ) Disadvantages of switches over routers - Topology is restricted to a spanning tree - Large networks require large ARP tables - Broadcast storms can cause the network to collapse

Comparing Hubs, Switches, & Routers traffic isolation hubs routers switches no yes yes plug & play yes no yes optimal routing cut through no yes no yes no yes

Conclusion Shuttling data from one link to another - Bits, frames, packets, - Repeaters/hubs, bridges/switches, routers, Key ideas in switches - Cut-through switching - Self learning of the switch table - Spanning trees - Virtual LANs (VLANs) - Routers: next lecture