CS3600 SYSTEMS AND NETWORKS

Similar documents
CS4700/CS5700 Fundamentals of Computer Networks

CS Networks and Distributed Systems. Lecture 5: Bridging. Revised 1/14/13

CompSci 356: Computer Network Architectures. Lecture 7: Switching technologies Chapter 3.1. Xiaowei Yang

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundaments of Computer Networks

CS3600 SYSTEMS AND NETWORKS

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

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

CSE 461: Bridging LANs. Last Topic

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundaments of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks

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

ECE 4450:427/527 - Computer Networks Spring 2017

Data Communications. Connecting Devices

CS4700/CS5700 Fundamentals of Computer Networks

LAN Overview (part 2) Interconnecting LANs - Hubs

Lecture 7. Reminder: Homework 2, Programming Project 1 due today. Homework 3, Programming Project 2 out, due Thursday next week. Questions?

Some portions courtesy Srini Seshan or David Wetherall

Medium Access Protocols

CS3600 SYSTEMS AND NETWORKS

ECE 158A: Lecture 13. Fall 2015

CSE 123A Computer Networks

Lecture 9: Bridging & Switching"

CS4700/CS5700 Fundamentals of Computer Networks

Link layer: introduction

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

CSE 123: Computer Networks Alex C. Snoeren. HW 2 due Thursday 10/21!

Access Technologies! Fabio Martignon

Summary of MAC protocols

CS IT. Lecture (06) STP (I) Problem statement. By: Dr. Ahmed ElShafee

Network Infrastructure

Transparent Bridging and VLAN

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

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks

Switching & ARP Week 3

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

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

Principles behind data link layer services:

Principles behind data link layer services:

Introduction to Communication Networks Spring Unit 13 Network extensions Bridges.

Solutions for Exercises of Lecture 5 - Bridges

Principles behind data link layer services

COMP/ELEC 429/556 Introduction to Computer Networks

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

Computer Networks. Wenzhong Li. Nanjing University

Internetworking Part 1

Lecture 8: Networks to Internetworks

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

CS4700/CS5700 Fundamentals of Computer Networks

Routing. Information Networks p.1/35

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

ECE 333: Introduction to Communication Networks Fall 2001

Underlying Technologies -Continued-

Communication Networks

CSCI Computer Networks

Chapter 6 Connecting Device

Switched Ethernet Virtual LANs

CSE/EE 461 Lecture 7 Bridging LANs. Last Two Times. This Time -- Switching (a.k.a. Bridging)

RBRIDGES LAYER 2 FORWARDING BASED ON LINK STATE ROUTING

Distributed Queue Dual Bus

Lecture 9: Switched Ethernet Features: STP and VLANs

Managing Network Spanning Trees

Top-Down Network Design

Configuring STP. Understanding Spanning-Tree Features CHAPTER

Connecting LANs. Required reading: Forouzan 17.1 to 17.1 Garcia 6.11 (intro ) CSE 3213, Fall Instructor: N. Vlajic

3.5 CONNECTING DEVICES

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

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

Image courtesy Cisco Systems, Inc. Illustration of a Cisco Catalyst switch

3. INTERCONNECTING NETWORKS WITH SWITCHES. THE SPANNING TREE PROTOCOL (STP)

SWITCHING, FORWARDING, AND ROUTING

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

Hubs, Bridges, and Switches (oh my) Hubs

Chapter 11 in Stallings 10 th Edition

CSC 401 Data and Computer Communications Networks

Configuring Rapid PVST+

Configuring Spanning Tree Protocol

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

CS 3516: Advanced Computer Networks

LAN Interconnection and Other Link Layer Protocols

Configuring Transparent Bridging

The Spanning Tree Protocol

Configuring Spanning Tree Protocol

Redes de Computadores. Shortest Paths in Networks

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

A primer on modern LANs

Introduction to OSPF

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE. Jean-Yves Le Boudec Fall Contents

Medium Access Control. CSCI370 Lecture 5 Michael Hutt New York Institute of Technology

Configuring Spanning Tree Protocol

Configuring Rapid PVST+ Using NX-OS

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

Configuring STP and RSTP

Lecture 4b. Local Area Networks and Bridges

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

Computer Science Department 2 nd semester- Lecture13

Access Technologies. Fabio Martignon

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

Transcription:

CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 20: Bridging Prof. Alan Mislove (amislove@ccs.neu.edu) Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang

Recap Broadcast technology host host host host host host host host Hub Hub emulates a broadcast channel Easy to add a new host Broadcast network is a simple way to connect hosts Everyone hears everything Need MAC protocol to control medium sharing Problem: Cannot scale up to connect large number of nodes Too many nodes, too many collisions, goodput (throughput of useful data) goes to zero Alan Mislove amislove at ccs.neu.edu Northeastern University2

Building Large LAN Using Bridges Bridges connect multiple IEEE 802 LANs at layer 2 Datagram packet switching Only forward packets to the right port Reduce collision domain In contrast, hubs rebroadcast packets. host host host host host host Bridge host host host host host host Alan Mislove amislove at ccs.neu.edu Northeastern University3

Transparent Bridges Overall design goal: Complete transparency Plug-and-play Self-configuring without hardware or software changes Bridges should not impact operation of existing LANs Three parts to transparent bridges: (1) Forwarding of Frames (2) Learning of Addresses (3) Spanning Tree Algorithm Alan Mislove amislove at ccs.neu.edu Northeastern University4

Frame Forwarding Each bridge maintains a forwarding database with entries < MAC address, port, age> MAC address: port: age: host address or group address port number of bridge aging time of entry interpretation: a machine with MAC address lies in direction of the port number from the bridge. The entry is age time units old. Alan Mislove amislove at ccs.neu.edu Northeastern University5

Frame Forwarding 2 Assume a frame arrives on port x. Search if MAC address of destination is listed for ports A, B, or C. Found? Not found? Forward the frame on the appropriate port Flood the frame, i.e., send the frame on all ports except port x. Alan Mislove amislove at ccs.neu.edu Northeastern University6

Address Learning In principle, the forwarding database could be set statically (=static routing) In the 802.1 bridge, the process is made automatic with a simple heuristic: The source field of a frame that arrives on a port tells which hosts are reachable from this port. Alan Mislove amislove at ccs.neu.edu Northeastern University7

Address Learning 2 Algorithm: For each frame received, stores the source address in the forwarding database together with the port where the frame was received. An entry is deleted after some time out (default is 15 seconds). Alan Mislove amislove at ccs.neu.edu Northeastern University8

Example Consider the following packets: <Src=A, Dest=F>, <Src=C, Dest=A>, <Src=E, Dest=C> What have the bridges learned? X Y Alan Mislove amislove at ccs.neu.edu Northeastern University9

Danger of Loops Alan Mislove amislove at ccs.neu.edu Northeastern University10

Danger of Loops Consider the two LANs that are connected by two bridges. Alan Mislove amislove at ccs.neu.edu Northeastern University10

Danger of Loops Consider the two LANs that are connected by two bridges. Assume host n is transmitting a frame F with unknown destination. Alan Mislove amislove at ccs.neu.edu Northeastern University10

Danger of Loops Consider the two LANs that are connected by two bridges. Assume host n is transmitting a frame F with unknown destination. What is happening? Alan Mislove amislove at ccs.neu.edu Northeastern University10

Danger of Loops Consider the two LANs that are connected by two bridges. Assume host n is transmitting a frame F with unknown destination. What is happening? Bridges A and B flood the frame to LAN 2. Alan Mislove amislove at ccs.neu.edu Northeastern University10

Danger of Loops Consider the two LANs that are connected by two bridges. Assume host n is transmitting a frame F with unknown destination. What is happening? Bridges A and B flood the frame to LAN 2. Bridge B sees F on LAN 2 (with unknown destination), and copies the frame back to LAN 1 Alan Mislove amislove at ccs.neu.edu Northeastern University10

Danger of Loops Consider the two LANs that are connected by two bridges. Assume host n is transmitting a frame F with unknown destination. What is happening? Bridges A and B flood the frame to LAN 2. Bridge B sees F on LAN 2 (with unknown destination), and copies the frame back to LAN 1 Bridge A does the same. Alan Mislove amislove at ccs.neu.edu Northeastern University10

Danger of Loops Consider the two LANs that are connected by two bridges. Assume host n is transmitting a frame F with unknown destination. What is happening? Bridges A and B flood the frame to LAN 2. Bridge B sees F on LAN 2 (with unknown destination), and copies the frame back to LAN 1 Bridge A does the same. The copying continues Alan Mislove amislove at ccs.neu.edu Northeastern University10

Danger of Loops Consider the two LANs that are connected by two bridges. Assume host n is transmitting a frame F with unknown destination. What is happening? Bridges A and B flood the frame to LAN 2. Bridge B sees F on LAN 2 (with unknown destination), and copies the frame back to LAN 1 Bridge A does the same. The copying continues Where s the problem? What s the solution? Alan Mislove amislove at ccs.neu.edu Northeastern University10

Spanning Trees The solution to the loop problem is to not have loops in the topology IEEE 802.1 has an algorithm that builds and maintains a spanning tree in a dynamic environment. Bridges exchange messages (Configuration Bridge Protocol Data Unit (BPDU)) to configure the bridge to build the tree. Alan Mislove amislove at ccs.neu.edu Northeastern University11

What s a Spanning Tree? 1 2 3 5 4 7 6 A subset of edges of a graph that spans all the nodes without creating any cycle (i.e. a tree) Alan Mislove amislove at ccs.neu.edu Northeastern University12

802.1 Spanning Tree Approach (Sketch) Elect a bridge to be the root of the tree Every bridge finds shortest path to the root Union of these paths become the spanning tree Root 2 3 5 4 7 6 Alan Mislove amislove at ccs.neu.edu Northeastern University13

What do the BPDU messages do? With the help of the BPDUs, bridges can: Elect a single bridge as the root bridge. Calculate the distance of the shortest path to the root bridge Each LAN can determine a designated bridge, which is the bridge closest to the root. The designated bridge will forward packets towards the root bridge. Each bridge can determine a root port, the port that gives the best path to the root. Select ports to be included in the spanning tree. Alan Mislove amislove at ccs.neu.edu Northeastern University14

Concepts Each bridge as a unique identifier: Bridge ID = <MAC address + priority level> Note that a bridge has several MAC addresses (one for each port), but only one ID Each port within a bridge has a unique identifier (port ID). Root Bridge: The bridge with the lowest identifier is the root of the spanning tree. Path Cost: Cost of the least cost path to the root from the port of a transmitting bridge; Assume it is measured in # of hops to the root. Root Port: Each bridge has a root port which identifies the next hop from a bridge to the root. Alan Mislove amislove at ccs.neu.edu Northeastern University15

Concepts Root Path Cost: For each bridge, the cost of the min-cost path to the root Designated Bridge, Designated Port: Single bridge on a LAN that provides the minimal cost path to the root for this LAN: - if two bridges have the same cost, select the one with highest priority (smallest bridge ID) - if the min-cost bridge has two or more ports on the LAN, select the port with the lowest identifier Note: We assume that cost of a path is the number of hops. Alan Mislove amislove at ccs.neu.edu Northeastern University16

A Bridged Network B3 B5 B2 B7 B1 B6 B4 Alan Mislove amislove at ccs.neu.edu Northeastern University17

Steps of Spanning Tree Algorithm 1. Determine the root bridge 2. Determine the root port on all other bridges 3. Determine the designated bridge on each LAN Each bridge is sending out BPDUs that contain the following information: rootid cost bridgeid/portid root bridge (what the sender thinks it is) root path cost for sending bridge Identifies sending bridge Alan Mislove amislove at ccs.neu.edu Northeastern University18

Ordering of Messages We can order BPDU messages with the following ordering relation < (let s call it lower cost ): M1 ID R1 C1 ID B1? ID R2 C2 ID B2 M2 If (R1 < R2) M1 < M2 elseif ((R1 == R2) and (C1 < C2)) M1 < M2 elseif ((R1 == R2) and (C1 == C2) and (B1 < B2)) M1 < M2 else M2 < M1 Alan Mislove amislove at ccs.neu.edu Northeastern University19

Determine the Root Bridge Initially, all bridges assume they are the root bridge. Each bridge B sends BPDUs of this form on its LANs: B 0 B Each bridge looks at the BPDUs received on all its ports and its own transmitted BPDUs. Root bridge is the smallest received root ID that has been received so far (Whenever a smaller ID arrives, the root is updated) Alan Mislove amislove at ccs.neu.edu Northeastern University20

At this time: A bridge B has a belief of who the root is, say R. Bridge B determines the Root Path Cost (Cost) as follows: If B = R : Cost = 0. If B R: Calculate the Root Path Cost Determine the Root Port Cost = {Smallest Cost in any of BPDUs that were received from R} + 1 B s root port is the port from which B received the lowest cost path to R (in terms of relation < ). Knowing R and Cost, B can generate its BPDU (but will not necessarily send it out): R Cost B Alan Mislove amislove at ccs.neu.edu Northeastern University21

Calculate the Root Path Cost Determine the Root Port At this time: B has generated its BPDU R Cost B B will send this BPDU on one of its ports, say port x, only if its BPDU is lower (via relation < ) than any BPDU that B received from port x. In this case, B also assumes that it is the designated bridge for the LAN to which the port connects. Alan Mislove amislove at ccs.neu.edu Northeastern University22

Selecting the Ports for the Spanning Tree At this time: Bridge B has calculated the root, the root path cost, and the designated bridge for each LAN. Now B can decide which ports are in the spanning tree: B s root port is part of the spanning tree All ports for which B is the designated bridge are part of the spanning tree. B s ports that are in the spanning tree will forward packets (=forwarding state) B s ports that are not in the spanning tree will not forward packets (=blocking state) Alan Mislove amislove at ccs.neu.edu Northeastern University23

A Bridged Network (End of Spanning Tree Computation) x B3 B5 x B2 B7 B1 B6 x B4 Alan Mislove amislove at ccs.neu.edu Northeastern University24

Ethernet Switches Bridges make it possible to increase LAN capacity. Packets are no longer broadcasted - they are only forwarded on selected links Adds a switching flavor to the broadcast LAN Ethernet switch is a special case of a bridge: each bridge port is connected to a single host. Can make the link full duplex (really simple protocol!) Simplifies the protocol and hardware used (only two stations on the link) no longer full CSMA/CD Can have different port speeds on the same switch Unlike in a hub, packets can be stored Alan Mislove amislove at ccs.neu.edu Northeastern University25

Can the Internet be One Big Switched Ethernet? Alan Mislove amislove at ccs.neu.edu Northeastern University26

Can the Internet be One Big Switched Ethernet? Inefficient Too much flooding Alan Mislove amislove at ccs.neu.edu Northeastern University26

Can the Internet be One Big Switched Ethernet? Inefficient Too much flooding Explosion of forwarding table Need to have one entry for every Ethernet address in the world! Poor performance Tree topology does not have good load balancing properties Hot spots Alan Mislove amislove at ccs.neu.edu Northeastern University26

Can the Internet be One Big Switched Ethernet? Inefficient Too much flooding Explosion of forwarding table Need to have one entry for every Ethernet address in the world! Poor performance Tree topology does not have good load balancing properties Hot spots Etc Alan Mislove amislove at ccs.neu.edu Northeastern University26