
Lecture 10: Bridging & Switching CSE 123: Computer Networks Alex C. Snoeren HW 2 due WEDNESDAY Lecture 10 Overview ● Bridging & switching ◆ Selective forwarding ◆ Learning bridges ◆ Spanning Tree CSE 123 – Lecture 10: Bridging & Switching 2 Bridges ● Store and forward device ◆ Data-link layer device ◆ Buffers entire packet and then rebroadcasts it on other ports ● Creates separate collision domains ◆ Uses CSMA/CD for access to each LAN (acts like a host) ◆ Can accommodate different speed interfaces (issues?) ◆ Separate CDs improves throughput (why?) ● Can significantly improve performance ◆ Not all frames go everywhere. (Why did they with a hub?) CSE 123 – Lecture 10: Bridging & Switching 3 Selective Forwarding ● Only rebroadcast a frame to the LAN where its destination resides ◆ If A sends packet to X, then bridge must forward frame ◆ If A sends packet to B, then bridge shouldn’t LAN 1 LAN 2 A W B X bridge C Y D Z CSE 123 – Lecture 10: Bridging & Switching 4 Forwarding Tables ● Need to know “destination” of frame ◆ Destination address in frame header (48bit in Ethernet) ● Need know which destinations are on which LANs ◆ One approach: statically configured by hand » Table, mapping address to output port (i.e. LAN) ◆ But we’d prefer something automatic and dynamic… ● Simple algorithm: Receive frame f on port q Lookup f.dest for output port /* know where to send it? */ If f.dest found then if output port is q then drop /* already delivered */ else forward f on output port; else flood f; /* forward on all ports but the one where frame arrived*/ CSE 123 – Lecture 10: Bridging & Switching 5 Learning Bridges ● Eliminate manual configuration by learning which addresses are on which LANs Host Port A 1 ● Basic approach B 1 ◆ If a frame arrives on a port, then associate its source C 1 address with that port D 1 ◆ As each host transmits, the table becomes accurate W 2 X 2 ● What if a node moves? Table aging Y 3 ◆ Associate a timestamp with each table entry Z 2 ◆ Refresh timestamp for each new packet with same source ◆ If entry gets too stale, remove it CSE 123 – Lecture 10: Bridging & Switching 6 Learning Example Suppose C sends frame to D and D replies back with frame to C ● C sends frame, bridge has no info about D, so floods to both LANs ◆ bridge notes that C is on port 1 ◆ frame ignored on upper LAN ◆ frame received by D CSE 123 – Lecture 10: Bridging & Switching 7 Learning Example ● D generates reply to C, sends ◆ bridge sees frame from D ◆ bridge notes that D is on port 2 ◆ bridge knows C on port 1, so selectively forwards frame via port 1 CSE 123 – Lecture 10: Bridging & Switching 8 Learning bridges recap ● Each bridge keeps a list mapping link-layer destination address to port number (what are the directions to this destination?) ● This list is populated by looking at the source address of each packet it receives on a given port and entering those values in the table (if a packet from A came from port x, then packets to A should be sent on part x) ● If a packet arrives with a destination address not in the table, then send on all ports (except the one it came on) ● Simple, automatic , self healing CSE 123 – Lecture 10: Bridging & Switching 9 Network Topology ● Linear organization ◆ Inter-bridge hubs (e.g. CS) are single points of failure ◆ Unnecessary transit (e.g. EE<->SE must traverse CS) ● Backbone/tree ◆ Can survive LAN failure ◆ Manages all inter-LAN communication ◆ Requires more ports CSE 123 – Lecture 10: Bridging & Switching 10 An Issue: Cycles A ● Learning works well in B tree topologies B3 C B5 D B7 ● But trees are fragile B2 ◆ Net admins like E F K redundant/backup paths B1 ● How to handle Cycles? G H ◆ Where should B1 B6 forward packets destined B4 for LAN A? CSE 123 – Lecture 10: Bridging & Switching 11 Spanning Tree A ● Spanning tree uses B subset of bridges so B3 there are no cycles C B5 ◆ Prune some ports D B7 B2 K ◆ Only one tree E F B1 ● Q: How do we find a spanning tree? G H ◆ Automatically! B6 B4 ◆ Elect root, find paths I J CSE 123 – Lecture 10: Bridging & Switching 12 Spanning Tree Algorithm ● Each bridge sends periodic configuration messages ◆ (RootID, Distance to Root, BridgeID) ◆ All nodes think they are root initially ● Each bridge updates route/Root upon receipt ◆ Smaller root address is better ◆ Select port with lowest cost to root as “root port” ◆ To break ties, bridge with smaller address is better ● Rebroadcast new config to ports for which we’re “best” ◆ Don’t bother sending config to LANs with better options ◆ Add 1 to distance, send new configs on ports that haven’t told us about a shorter path to the root ● Only forward packets on ports for which we’re on the shortest path to root (prunes edges to form tree) CSE 123 – Lecture 10: Bridging & Switching 13 Spanning Tree Example ● Sample messages to and from B3: A B B3 1. B3 sends (B3, 0, B3) to B2 and B5 C B5 2. B3 receives (B2, 0, B2) and (B5, 0, B5) and accepts B2 as root D B7 B2 K 3. B3 sends (B2, 1, B3) to B5 E F 4. B3 receives (B1, 1, B2) and (B1, 1, B5) and accepts B1 as root 5. B3 wants to send (B1, 2, B3 ) but B1 doesn’t as its nowhere “best” G H 6. B3 receives (B1, 1, B2) and (B1, 1, B5) again and again… B6 B4 Data forwarding is turned off for LAN A I J CSE 123 – Lecture 10: Bridging & Switching 14 Important Details ● What if root bridge fails? ◆ Age configuration info » If not refreshed for MaxAge seconds then delete root and recalculate spanning tree » If config message is received with a more recent age, then recalculate spanning tree ◆ Applies to all bridges (not just root) ● Temporary loops ◆ When topology changes, takes a bit for new configuration messages to spread through the system ◆ Don’t start forwarding packets immediately -> wait some time for convergence CSE 123 – Lecture 10: Bridging & Switching 15 Switched Ethernet ● Hosts directly connected to a bridge ◆ learning + spanning tree protocol ● Switch supports parallel forwarding ◆ A-to-B and A’-to-B’ simultaneously ◆ Generally full duplex as well ● Switch backplane capacity varies ◆ Ideally, nonblocking ◆ I.e., can run at full line rate on all ports ● No longer any shared bus ◆ Each link is its own collision domain ◆ Collision detection largely irrelevant CSE 123 – Lecture 10: Bridging & Switching 16 Layer-2 Forwarding ● Create spanning tree across LANs ◆ Learn which ports to use to reach which addresses ● Benefits ◆ Higher link bandwidth (point-to-point links) ◆ Higher aggregate throughput (parallel communication) ◆ Improved fault tolerance (redundant paths) ● Limitations ◆ Requires homogeneous link layer (e.g. all Ethernet) ◆ Harder to control forwarding topology ● What if we want to connect different link layers? CSE 123 – Lecture 10: Bridging & Switching 17 For Next Time ● Read 3.2.5-6, 9.3.1 in P&D ● Homework 2 due Wednesday ● NO CLASS FRIDAY CSE 123 – Lecture 10: Bridging & Switching 18.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages18 Page
-
File Size-