710 likes | 722 Views
Hubs, 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 limited length: 802.3 (Ethernet) specifies maximum cable length
E N D
Lecture 3 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 smallest 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)