660 likes | 674 Views
Learn about the limitations of a single LAN and the benefits and limitations of using hubs and bridges to interconnect LAN segments. Discover how bridges filter and forward frames, creating loop-free communication paths.
E N D
Lecture 3 Chapter 3Hubs, Bridges and Switches
Lecture 3 Interconnecting LANs Q: Why not just one big LAN? • Limited amount of supportable traffic: on single LAN, all stations must share bandwidth • Ethernet: limited length: 802.3 specifies maximum cable length • Ethernet: large “collision domain” (can collide with many stations) • Token Ring: token passing delay per station: 802.5 limits number of stations per LAN:
Lecture 3 Hubs • Physical Layer devices: essentially repeaters operating at bit levels: repeat bits received on one interface to all other interfaces • Hubs can be arranged in a hierarchy (or multi-tier design), with backbone hub at its top
Lecture 3 Hubs (more) • Each connected LAN referred to as LAN segment • Hubs do not isolate collision domains: node may collide with any node residing at any segment in LAN • Hub Advantages: • simple, inexpensive device • Multi-tier provides graceful degradation: portions of the LAN continue to operate if one hub malfunctions • extends maximum distance between node pairs (100m per Hub)
Lecture 3 Hub limitations • single collision domain results in no increase in max throughput • multi-tier throughput same as single segment throughput • individual LAN restrictions pose limits on number of nodes in same collision domain and on total allowed geographical coverage • cannot connect different Ethernet types (e.g., 10BaseT and 100baseT) Why?
Lecture 3 Bridges • Link Layer devices: forward Ethernet frames selectively: • learn where each station is located • examine the header of each frame • forward on the proper link (if known) • if dest. and source on same link, drop frame WHY? • if not known where dest. is, broadcast frame • except on originating link, of course
Lecture 3 Bridges • Bridge isolates collisiondomains • buffers frame • then forwards it, if needed, using CSMA/CD • A broadcast frame is forwarded on all interfaces (except the incoming one) • thus broadcast frames propagate across brodges • A set of segments connected by bridges and hubs is called a broadcast domain
Lecture 3 Bridges (more) • Bridge advantages: • Isolates collision domains resulting in higher total max throughput, and does not limit the number of nodes nor geographical coverage • Can connect different type Ethernet since it is a store and forward device • Transparent: no need for any change to hosts LAN adapters
Lecture 3 Backbone Bridge
Lecture 3 Interconnection Without Backbone • Not recommended for two reasons: - single point of failure at Computer Science hub - all traffic between EE and SE must path over CS segment
Lecture 3 Bridges: frame filtering, forwarding • bridges filter packets • same-LAN -segment frames not forwarded onto other LAN segments • forwarding: • how to know on which LAN segment to forward frame?
Lecture 3 Bridge Filtering • bridges learn which hosts can be reached through which interfaces: maintain filtering tables • when frame received, bridge “learns” location of sender: incoming LAN segment • records sender location in filtering table • filtering table entry: • (Node LAN Address, Bridge Interface, Time Stamp) • stale entries in Filtering Table dropped (TTL can be 60 minutes)
Lecture 3 Bridge Operation pseudocode Init: set filtering table to void Case: frame arrives on port P, src MAC , dest MAC /* Table Update stage */ if not listed, add mapping P with expiration time else update expiration time /* if listing fits */ /* Frame Forwarding stage */ look up in filtering table: listing P Q /* if listed */ if not listed, forward on all ports except P /* “flood */ if = P , drop the frame /*frame already there*/ /* WHY ? */ Otherwise,forward the frame on port Q
Lecture 3 Bridge 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 2 and 3 • bridge notes that C is on port 1 • frame ignored on upper LAN • frame received by D
Lecture 3 Bridge Learning: example C 1 • D generates reply to C, sends it • bridge sees frame from D • bridge notes that D is on interface 2 • bridge knows C on interface 1, so selectively forwards frame out via interface 1 only
Lecture 3 B 2 2 A , 1 A , 1 2 2 1 1 A What will happen with loops?Incorrect learning
Lecture 3 What will happen with loops?Frame looping C 2 2 … C,?? C,?? … 1 1 A
Lecture 3 Loop-free: tree C B A message from Awill mark A’s location A
Lecture 3 Loop-free: tree C B A: A message from Awill mark A’s location A
Lecture 3 Loop-free: tree A: C B A: A message from Awill mark A’s location A
Lecture 3 Loop-free: tree A: A: A: C B A: A: A message from Awill mark A’s location A
Lecture 3 Loop-free: tree A: A: A: C B A: A: A message from Awill mark A’s location A
Lecture 3 Loop-free: tree A: A: A: C B A: A: A message from Awill mark A’s location So a message toA will go by marks… A
Lecture 3 Disabled Bridges-Spanning Tree • for increased reliability, it is desirable to have redundant, alternative paths from source to dest • this causes cycles - bridges may multiply and forward frame forever • solution: organize bridges in a spanning tree and disable all ports not aligned with the tree
Lecture 3 Introducing Spanning Tree • Objective: Find tree spanning all LAN segments • each bridge transmits on a single port • each LAN transmits on a single bridge • Bridges run the Spanning Tree Protocol • Use a distributed algorithm • Result: select what ports (and bridges) should actively forward frames, and which should accept frames • bridges communicate using special configuration messages (BPDUs) to perform this selection • BPDU = Bridge Protocol Data Unit • STP standardized in IEEE 802.1D
Lecture 3 Method • Bridges communicate using special configuration messages (BPDUs) • BPDU = Bridge Protocol Data Unit • Each bridge sends periodically a BPDU to all its neighbors • BPDU contains: • ID of bridge sender views as root (my_root_ID) • known distance to that root • senders own bridge ID
Lecture 3 Overview of STP We solve in order: • How to agree on a root bridge? • How to compute a ST of bridges? • How to compute a ST LAN segments?
Lecture 3 1. Choosing a root bridge • Assume • each bridge has a unique identifier (ID) • within a bridge each port has a unique ID • Each bridge remembers smallest bridge ID seen so far (= my_root_ID) • including own ID • Periodically, send my_root_ID to all neighbors (“flooding”) (included in BPDU) • When receiving ID, update if necessary • Qn: Is that enough?!
Lecture 3 2. Compute ST given a root Idea: each node finds its shortest path to the root shortest paths tree Output: At each node, parent pointer (and distance) How: Bellman-Ford algorithm
Lecture 3 Distributed Bellman-Ford Assumption: There is a unique root node s • this was done in Step 1 Idea: Each node, periodically, tells all its neighbors what is its distance from s But how can they tell? • s: easy. dists = 0always! • Another node v: • Bridge calls the neighbor with least distance to root - its “parent”
Lecture 3 Why does this work? • Suppose all nodes start with distance , and suppose that updates are sent every time unit. 2 1 ID=21 E 1 1 1 D 2 C ID=17 A 1 0 0 0 G 3 2 0 1 B 0 2 F B sees same distance from A and E; A chosen since has smaller ID
Lecture 3 Bellman-Ford: properties • Works for any non-negative link weights w(u,v): • Works when the system operates asynchronously. • Works regardless of the initial distances!
Lecture 3 3. ST of LAN segments Assumption: given a ST of the bridges Idea: Each segment has at least one bridge attached. Only one of them should forward packets! • Choose bridge closest to root. Break ties by bridge ID (and then by port ID on that bridge if needed) Implementation: Bridges listen to all distance announcements on each port. Bridge A marks a port as a “designated port” iff A is the best bridge for that port’s LAN, i.e: • Its distance D to root is the shorter than all distances received on this port • Of all bridges with distance D reported on this port it has lowest ID • of several ports to same LAN on same bridge take low ID
Lecture 3 Spanning Tree Concepts:Path Cost • A cost is associated with each segment • = “weight” of the segment • = cost associated with transmission on the LAN segment connected to the port • bridge associates the weight with relevant port • default segment weight is 1 • Can be manually or automatically assigned • Can be used to alter the path to the root bridge • Path cost is the sum of the component segment weights
Lecture 3 Spanning Tree Concepts:Root Port • Each non-root bridge has a Root port: The port on the path towards the root bridge • = parent pointer • The root port is part of the lowest cost path towards the root bridge • If port costs are equal on a bridge, the port with the lowest ID becomes root port
Lecture 3 Example Spanning Tree • Protocol operation: • Pick a root • Each bridge picks a root port B8 B3 B5 B7 B2 B1 B6 B4
Lecture 3 Example Spanning Tree B8 Spanning Tree: B3 B5 B1 root port B7 B2 B7 B2 B4 B5 B6 B1 Root B8 B3 B6 B4
Lecture 3 ST Concepts: Designated Port • Each LAN has a single designated bridge • all other bridges on LAN know which one it is • all tfc of LAN towards root goes thru that bridge • This is the bridge reporting minimum cost path to the root bridge for the LAN • ties broken by choosing lowest ID • Only designated & root ports remain active in a bridge. Bridge uses: • designated ports to send downstream frames • root ports to send upstream frames (toward root) • Bridge with no designated port becomes inactive
Lecture 3 Example Spanning Tree B8 Forwarding Tree: B3 B5 B1 root port B7 B2 B2 B4 B5 B7 B1 Root B8 Designated Bridge B6 B4 Note: B3, B6 forward nothing
Lecture 3 STP Requirements • Each bridge has a unique identifier • A multicast address for bridges on a LAN • A unique port identifier for all ports on all bridges • Bridge id + port number
Lecture 3 Forwarding/Blocking State • Only root and designated ports are active for data forwarding • Other ports are in the blocking state: no forwarding! • If bridge has no designated port, no forwarding at all block root port too. • All ports send BPDU messages • including blocked ones • To adjust to changes
Lecture 3 Spanning Tree Protocol: Execution B8 B3 B5 B7 B2 B1 (B1,root=B1,dist=0) (B1,root=B1, dist=0) B6 B4 WHY? (B4, root=B1, dist=1) (B6, Root=B1dist=1)
Lecture 3 Bridges vs. Routers • both are store-and-forward devices • routers: network layer devices (examine network layer headers) • bridges are link layer devices • routers have routing tables, use routing algorithms, designed for Wide Area addressing • bridges have filtering tables, use filtering, learning & spanning tree algorithms, designed for local area
Lecture 3 Routers vs. Bridges Bridges + and - + Bridge operation is simpler, requiring less processing - Topologies are restricted with bridges: a spanning tree must be built to avoid cycles - Bridges do not offer protection from broadcast storms (endless broadcasting by a host will be forwarded by a bridge)
Lecture 3 Routers vs. Bridges Routers + and - + arbitrary topologies can be supported, cycling is limited by TTL counters (and good routing protocols) + provide firewall protection against broadcast storms - require IP address configuration (not plug and play) - require higher processing • bridges do well in small (few hundred hosts) while routers used in large networks (thousands of hosts) and in Internet core
Lecture 3 Ethernet Switches • layer 2 (frame) forwarding, filtering using LAN addresses • Switching: A-to-B and A’-to-B’ simultaneously, no collisions • large number of interfaces • often: individual hosts, star-connected into switch • Ethernet w. no collisions! • = Switched Ethernet
Lecture 3 Ethernet Switches • cut-through switching: frame forwarded from input to output port without awaiting for assembly of entire frame • slight reduction in latency • combinations of shared/dedicated, 10/100/1000 Mbps interfaces
Lecture 3 Ethernet Switches (more) Dedicated Shared
Lecture 3 principles behind data link layer services: error detection, optional: error correction sharing a broadcast channel: multiple access link layer addressing, ARP various link layer technologies Ethernet hubs, bridges (STP), switches IEEE 802.11 LANs PPP Chapter 5 Kurose and Ross Data Link: Summary
Lecture 3 EXTRA SLIDES