Lecture 10: Bridging & Switching

Lecture 10: Bridging & Switching

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us