710 likes | 719 Views
Learn about the limitations, advantages, and operation of hubs and bridges in LAN interconnections. Explore how bridges isolate collision domains and enhance throughput. Discover why a single large LAN is not always practical.
E N D
Hubs, Bridges and Switches Lecture 3 Lecture 3
Interconnecting LANs Q: Why not just one big LAN? • Limited amount of supportable traffic: on single LAN, all stations must share bandwidth • limited length: 802.3 (Ethernet) specifies maximum cable length • large “collision domain” (can collide with many stations) • limited number of stations: 802.5 (token ring) have token passing delays at each station Lecture 3
Hubs • Physical Layer devices: essentially repeaters operating at bit levels: repeat received bits 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: operate on Ethernet frames, examining frame header and selectively forwarding frame based on its destination • Bridge isolates collision domains since it buffers frames • When frame is to be forwarded on segment, bridge uses CSMA/CD to access segment and transmit 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 • bridge procedure(in_MAC, in_port,out_MAC) Set filtering table (in_MAC) to in_port/*learning*/ lookup in filtering table (out_MAC) receive out_port if (out_port not valid) /* no entry found for destination*/ then flood; /* forward on all but the interface on which the frame arrived*/ if (in_port = out_port) /*destination is on LAN on which frame was received */ then drop the frame Otherwise (out_port is valid) /*entry found for destination*/ then forward the frame on interface indicate 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 • 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 • 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 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
What will happen with loops?Frame looping B 2 2 B,2 B,1 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, desirable to have redundant, alternative paths from source to dest • with multiple paths, cycles result - bridges may multiply and forward frame forever • solution: organize bridges in a spanning tree bydisabling subset of interfaces Lecture 3
Introducing Spanning Tree • Allow a path between every LAN without causing loops (loop-free environment) • Bridges communicate with special configuration messages (BPDUs) • Standardized by IEEE 802.1D Note: redundant paths are good, active redundant paths are bad (they cause loops) Lecture 3
How to construct a spanning tree? • Bridges run a distributed spanning tree algorithm • Select what ports (and bridges) should actively forward frames • Standardized in IEEE 802.1 specification Lecture 3
Overview of STP We make a series of simplifications: • Build a ST of bridges (in fact, need to span LAN segments!) • Assume that we are given a root bridge So we solve in order: • How to find 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 • Each bridge remembers best ID seen so far (my_root_ID) • Periodically, send my_root_ID to all neighbors (“flooding”) • When receiving ID, update if necessary • Is that enough?! Lecture 3
2. Compute ST Given a root Idea: each node finds its shortest paths 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 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: • Mark neighbor with least distance as “parent” Lecture 3
Why does this work? • Suppose all nodes start with distance , and suppose that updates are sent every time unit. E D C A 0 G B F Lecture 3
Why does this work? • Suppose all nodes start with distance , and suppose that updates are sent every time unit. E 1 1 D C A 1 0 G 1 B F Lecture 3
Why does this work? • Suppose all nodes start with distance , and suppose that updates are sent every time unit. 2 E 1 1 D 2 C A 1 0 G 1 B F Lecture 3
Why does this work? • Suppose all nodes start with distance , and suppose that updates are sent every time unit. 2 E 1 1 D 2 C A 1 0 G 3 1 B F 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! (later...) 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...) Implementation: Bridges listen to all distance announcement on each port. Mark port as “designated port” iff best on that port’s LAN Lecture 3
Spanning Tree Concepts:Path Cost • A cost associated with each port on each bridge (“weight” of the segment) • default is 1 • The cost associated with transmission onto the LAN connected to the port • Can be manually or automatically assigned • Can be used to alter the path to the root bridge 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
Spanning Tree Concepts: Designated Port • Each LAN has a single designatedport • This is the port reporting minimum cost path to the root bridge for the LAN • Only designated and root ports remain active! 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
Spanning Tree Requirements • Each bridge has a unique identifier • A broadcast address for bridges on a LAN • A unique port identifier for all ports on all bridges • Bridge id + port number Lecture 3
Spanning Tree Algorithm:Implementation Keep pumping a single message: (my root ID, my cost to root, my ID) BPDU: Bridge Protocol Data Unit Update var’s when receiving: • My_root_ID: smallest seen so far • My_cost_to_root: smallest received to my_root + link cost • Break ties by ID That’s enough! Lecture 3
Spanning Tree Algorithm:Select Designated Bridges • Bridges send BPDU frames to its attached LANs • sender port ID • bridge and port ID of the bridge the sending bridge considers root • root path cost for the sending bridge • 3. Best bridge wins, and it knows it (and winning port) • (lowest ID/cost/priority) 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 • 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 (B4, root=B1, dist=1) (B6, Root=B1dist=1) Lecture 3
Bridges vs. Routers • both store-and-forward devices • routers: network layer devices (examine network layer headers) • bridges are Link Layer devices • routers maintain routing tables, implement routing algorithms • bridges maintain filtering tables, implement filtering, learning and spanning tree algorithms 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) Lecture 3