Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 3#1#1 Chapter 3 Hubs, Bridges and Switches.

Similar presentations


Presentation on theme: "Lecture 3#1#1 Chapter 3 Hubs, Bridges and Switches."— Presentation transcript:

1 Lecture 3#1#1 Chapter 3 Hubs, Bridges and Switches

2 Lecture 3#2#2 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:

3 Lecture 3#3#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

4 Lecture 3#4#4 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: m simple, inexpensive device m Multi-tier provides graceful degradation: portions of the LAN continue to operate if one hub malfunctions m extends maximum distance between node pairs (100m per Hub)

5 Lecture 3#5#5 Hub limitations  single collision domain results in no increase in max throughput m 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?

6 Lecture 3#6#6 Bridges  Link Layer devices: forward Ethernet frames selectively: m learn where each station is located m examine the header of each frame m forward on the proper link (if known) if dest. and source on same link, drop frame WHY? m if not known where dest. is, broadcast frame except on originating link, of course

7 Lecture 3#7#7 Bridges  Bridge isolates collision domains m buffers frame m then forwards it, if needed, using CSMA/CD  A broadcast frame is forwarded on all interfaces (except the incoming one) m thus broadcast frames propagate across brodges  A set of segments connected by bridges and hubs is called a broadcast domain

8 Lecture 3#8#8 Bridges (more)  Bridge advantages: m Isolates collision domains resulting in higher total max throughput, and does not limit the number of nodes nor geographical coverage m Can connect different type Ethernet since it is a store and forward device m Transparent: no need for any change to hosts LAN adapters

9 Lecture 3#9#9 Backbone Bridge

10 Lecture 3#10 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

11 Lecture 3#11 Bridges: frame filtering, forwarding  bridges filter packets m same-LAN -segment frames not forwarded onto other LAN segments  forwarding: m how to know on which LAN segment to forward frame?

12 Lecture 3#12 Bridge Filtering  bridges learn which hosts can be reached through which interfaces: maintain filtering tables m when frame received, bridge “learns” location of sender: incoming LAN segment m records sender location in filtering table  filtering table entry: m (Node LAN Address, Bridge Interface, Time Stamp) m stale entries in Filtering Table dropped (TTL can be 60 minutes)

13 Lecture 3#13 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 “   Q” /* if listed */ if  not listed, forward on all ports except P /* “flood */ else,if Q= P, drop the frame /*frame already there*/ /* WHY ? */ otherwise, forward the frame on port Q only

14 Lecture 3#14 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 m bridge notes that C is on port 1 m frame ignored on upper LAN m frame received by D

15 Lecture 3#15 Bridge Learning: example  D generates reply to C, sends it m bridge sees frame from D m bridge notes that D is on interface 2 m bridge knows C on interface 1, so selectively forwards frame out via interface 1 only C 1

16 Lecture 3#16 What will happen with loops? Incorrect learning A B 1 1 2 2 A, 1 2 2 Frame sent from A to B; B listed in filtering tables

17 Lecture 3#17 What will happen with loops? Frame looping A C 1 1 2 2 C,?? … … Frame sent from A to C; C not listed in filtering tables

18 Lecture 3#18 Loop-free: tree A B C A message from A will mark A’s location

19 Lecture 3#19 Loop-free: tree A B C A message from A will mark A’s location A: 

20 Lecture 3#20 Loop-free: tree A B C A:  A message from A will mark A’s location

21 Lecture 3#21 Loop-free: tree A B C A:  A:  A:  A:  A message from A will mark A’s location

22 Lecture 3#22 Loop-free: tree A B C A:  A:  A:  A:  A message from A will mark A’s location

23 Lecture 3#23 Loop-free: tree A B C A:  A:  A:  So a message to A will go by marks… A message from A will mark A’s location

24 Lecture 3#24 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 belonging to the tree Disabled

25 Lecture 3#25 Introducing Spanning Tree  Objective: Find tree spanning all LAN segments m each bridge transmits on a single port m each LAN transmits on a single bridge  Bridges run the Spanning Tree Protocol m Use a distributed algorithm m Result: select what ports (and bridges) should actively forward frames, and which should accept frames m bridges communicate using special configuration messages (BPDUs) to perform this selection BPDU = Bridge Protocol Data Unit  STP standardized in IEEE 802.1 D

26 Lecture 3#26 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: m ID of bridge sender views as root (my_root_ID) m known distance to that root  senders own bridge ID

27 Lecture 3#27 Introductory STP We solve in order: 1. How to agree on a root bridge? 2. How to compute a ST for bridges? 3. How to compute a ST for LAN segments? Note: we assume throughout that the network is connected

28 Lecture 3#28 1. Choosing a root bridge  Assume m each bridge has a unique identifier (ID) m within a bridge each port has a unique ID  Each bridge remembers smallest bridge ID seen so far (= my_root_ID) m 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 for univeral agreement?!

29 Lecture 3#29 2. Compute ST given a root Idea: each bridge finds its shortest path to the root  shortest paths tree Output: At each node, parent pointer and distance to root Spanning tree T: A link belongs to T iff it connects some bridge to its parent Qn: Does this idea fully specify an algorithm producing a spanning tree? How: Bellman-Ford algorithm

30 Lecture 3#30 Distributed Bellman-Ford Assumption: There is a unique root node s m 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. dist s = 0 always!  Another node v :  Bridge calls the neighbor with least distance to root - its “parent” m If bridges tie: choose bridge with lowest ID

31  Suppose all nodes start with distance , and suppose that updates are sent every time unit. 1 1 0 0 0 0 Lecture 3#31 Why does this work? C D B E F G A 0 1 1 1 1 3 2 2 B sees same distance from A and E; A chosen since has smaller ID  ID=17 ID=21 2 2 1 ID=3 ID=7 Means: link admitted to bridge spanning tree

32 Lecture 3#32 Bellman-Ford: properties  Works for any positive link weights w(u,v) :  Works when the system operates asynchronously.  Works regardless of the initial distances

33 Lecture 3#33 Actual STP What is missing so far?:  Can’t discard redundant links, since we need to connect host, not just bridges m Instead can disable some bridge ports leading to them  Graph model too simple, since there can be many bridges on one LAN (see next slide)  We need to look at forwarding paths and not just graph paths STP protocol does all the “steps” together:  Selection of root bridge  Evaluation of distance to root and parent bridge  Selection of the active ports and blocked ports

34 Lecture 3#34 Example of a network A L1 B C E D F L2 L5 L3 L4 L6 L7 L3 connects three bridges, 4 ports

35 Lecture 3#35 STP plan Objective: prune given network to render a forwarding tree, i.e:  between any two hosts there is a single forwarding path through the network, no loops possible Method: Classify all ports into three types: m Root ports: one for each bridge m Designated ports: one for each LAN m All other ports are blocked Root and designated ports transfer data frames in both directions. Blocked ports don’t transfer data

36 Lecture 3#36 BPDU’s (1)  Each bridge sends BPDUs on all its ports.  Based on received BPDUs, bridge determines:  Root  own distance/cost to it  classification of own ports  The BPDU contains bridge’s current view of: m the root bridge of the network m own distance to this root m own ID number m the sending port’s ID number

37 Lecture 3#37 BPDUs (2)  A BPDU is computed by a bridge for each of its ports and sent out on that port m it will reach all ports attached to port’s LAN  STP prerequisites m each bridge is given a bridge ID number m The ID number is unique in the network m Each port is given a port ID number m The port ID is unique within its bridge m ID numbers assigned manually or automatically m Each link (LAN) has a positive cost

38 Lecture 3#38 BPDU Processing in a bridge (1)  Determine current view of root: this is lowest root ID received, including own bridge ID. m Only messages reporting this root are considered in sequel  Compare all reported distances to root. own distance to root= lowest received distance + + cost of the link to the reporting bridge

39 Lecture 3#39 Designated Ports  all BPDUs received on a port are compared, including own message sent on it;  the best one is chosen as follows: m choose message with smallest distance to root m if tied, choose the one with lowest bridge ID m if tied, choose lowest port ID Qn: When does this happen? m If the message sent on that port is best, label it a designated port  there is exactly one designated port on each LAN

40 Lecture 3#40 Root Ports  now compare the best messages received on all the ports of the bridge, according to the same criteria as above m the port on which best message was received is labeled root port  there is exactly one root port per bridge  only root and designated ports receive and send data.  BPDU’s are sent periodically m even after convergence of algorithm m indicate bridge is active / discover failures

41 Lecture 3#41 Summary  after convergence: m all bridges agree which bridge is the root m each LAN has exactly one designated port frames from LAN enter the bridge on that port on the way to root (upstream frames from root exit bridge on that port to remote LANs (downstream) all bridges on LAN agree who is the designated port a LAN may have any ≥ 0 number of root ports on it m each bridge has exactly one root port the port leads through a LAN to the parent bridge this is the next bridge on a shortest path to root a bridge may have any ≥ 0 number of designated ports a bridge with no designated ports blocks also the root port

42 Lecture 3#42 Notes  only bridges make decisions, LANs are passive  More discussion of the validity of STP will be given in homework and recitation

43 Lecture 3#43 Example Spanning Tree B3 B5 B7 B2 B1 B6 B4 Protocol operation: 1.Pick a root 2.Each bridge picks a root port B8

44 Lecture 3#44 Example Spanning Tree B3 B5 B7 B2 B1 B4 B6 Root B4B5B6 B8 B1 Spanning Tree: root port B3 B7 B2 B8 root port LANs not connecting bridges omitted here

45 Lecture 3#45 Spanning Tree Protocol: Execution B3 B5 B7 B2 B1 B6 B4 B8 (B1,root=B1, dist=0) (B4, root=B1, dist=1) (B6, Root=B1, dist=1) WHY? (B8,root=B8, dist=0) ignore msg

46 Lecture 3#46 Bridges vs. Routers  both are store-and-forward devices m routers: network layer devices (examine network layer headers) m 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

47 Lecture 3#47 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)

48 Lecture 3#48 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

49 Lecture 3#49 Ethernet Switches  = a powerful bridge  layer 2 (frame) forwarding, filtering using LAN addresses  Switching: A-to-B and A’- to-B’ with no collisions  large number of interfaces  often: individual hosts, star-connected into switch m Ethernet w. no collisions! m = Switched Ethernet  often: includes L3 function

50 Lecture 3#50 Ethernet Switches  cut-through switching: frame forwarded from input to output port without awaiting for assembly of entire frame m slight reduction in latency  allow combinations of shared/dedicated, 10/100/1000 Mbps interfaces

51 Lecture 3#51 Ethernet Switches (more) Dedicated Shared

52 Lecture 3#52 Data Link: Summary  principles behind data link layer services: m error detection, optional: error correction m sharing a broadcast channel: multiple access link layer addressing, ARP  various link layer technologies m Ethernet m hubs, m bridges, switches (require STP) m IEEE 802.11 LANs m PPP  Chapter 5 Kurose and Ross

53 Lecture 3#53 Optional: Wireless LAN and PPP

54 Lecture 3#54 IEEE 802.11 Wireless LAN  wireless LANs: mobile networking  IEEE 802.11 standard: m MAC protocol m unlicensed frequency spectrum: 900Mhz, 2.4Ghz  Basic Service Set (BSS) (a.k.a. “cell”) contains: m wireless hosts m access point (AP): base station  BSS’s combined to form distribution system (DS)

55 Lecture 3#55 Ad Hoc Networks  Ad hoc network: IEEE 802.11 stations can dynamically form network without AP  Applications: m “laptop” meeting in conference room, car m interconnection of “personal” devices m battlefield  IETF MANET (Mobile Ad hoc Networks) working group

56 Lecture 3#56 IEEE 802.11 MAC Protocol: CSMA/CA 802.11 CSMA: sender - if sense channel idle for DIFS sec. then transmit entire frame (no collision detection) -if sense channel busy then binary backoff 802.11 CSMA receiver: if received OK return ACK after SIFS Why Needed?

57 Lecture 3#57 IEEE 802.11 MAC Protocol 802.11 CSMA Protocol: others  NAV: Network Allocation Vector  802.11 frame has transmission time field  others (hearing data) defer access for NAV time units

58 Lecture 3#58 Hidden Terminal effect  hidden terminals: A, C cannot hear each other m obstacles, signal attenuation m collisions at B  goal: avoid collisions at B  CSMA/CA: CSMA with Collision Avoidance

59 Lecture 3#59 Collision Avoidance: RTS-CTS exchange  CSMA/CA: explicit channel reservation m sender: send short RTS: Request To Send m receiver: reply with short CTS: Clear To Send  CTS reserves channel for sender, notifying (possibly hidden) stations  avoid hidden station collisions

60 Lecture 3#60 Collision Avoidance: RTS-CTS exchange  RTS and CTS short: m collisions less likely, of shorter duration m end result similar to collision detection  IEEE 802.11 allows: m CSMA m CSMA/CA: reservations m polling from AP

61 Lecture 3#61 Point to Point Data Link Control  one sender, one receiver, one link: easier than broadcast link: m no Media Access Control m no need for explicit MAC addressing m e.g., dialup link, ISDN line  popular point-to-point DLC protocols: m PPP (point-to-point protocol) m HDLC: High level data link control (Data link used to be considered “high layer” in protocol stack!)

62 Lecture 3#62 PPP Design Requirements [RFC 1557]  packet framing: encapsulation of network-layer datagram in data link frame m carry network layer data of any network layer protocol (not just IP) at same time m ability to demultiplex upwards  bit transparency: must be able to carry any bit pattern in the data field  error detection (no correction)  connection livenes: detect, signal link failure to network layer  network layer address negotiation: endpoint can learn/configure each other’s network address

63 Lecture 3#63 PPP non-requirements  no error correction/recovery  no flow control  out of order delivery OK  no need to support multipoint links (e.g., polling) Error recovery, flow control, data re-ordering all relegated to Transport layer!!!

64 Lecture 3#64 PPP Data Frame (1)  Flag: delimiter (framing)  Address: does nothing (only one option)  Control: does nothing; in the future possible multiple control fields  Protocol: upper layer protocol to which frame delivered (eg, PPP-LCP, PPP-NCP, IP, IPCP, etc)

65 Lecture 3#65 PPP Data Frame (2)  info: upper layer data being carried  check: cyclic redundancy check (CRC) for error detection

66 Lecture 3#66 Byte Stuffing  “data transparency” requirement: data field must be allowed to include flag pattern m Q: is received data or flag? Byte Stuffing procedure  Sender: adds (“stuffs”) extra byte before each or data byte  Receiver: m when receive 01111101 discard the byte, Next byte is data, regardless of value m Receive 01111110: flag byte

67 Lecture 3#67 Byte Stuffing flag byte pattern in data to send flag byte pattern plus stuffed byte in transmitted data

68 Lecture 3#68 PPP Data Control Protocols Before exchanging network- layer data, data link peers must  PPP-LCP: configure PPP link (max. frame length, authentication)  learn/configure network layer information m for IP: carry IP Control Protocol (PPP-IPCP) msgs (protocol field: 8021) to configure/learn IP address

69 Lecture 3#69 EXTRA SLIDES

70 Lecture 3#70 Spanning Tree Concepts: Path Cost  A cost is associated with each segment m = “weight” of the segment m = cost associated with transmission on the LAN segment connected to the port m bridge associates the weight with relevant port m default segment weight is 1 m Can be manually or automatically assigned m Can be used to alter the path to the root bridge  Path cost is the sum of the component segment weights

71 Lecture 3#71 Spanning Tree Concepts: Root Port  Each non-root bridge has a Root port: The port on the path towards the root bridge m = 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 leading to parent port with lowest ID becomes root port  Finally if several ports lead to the same parent port, choose lowest own port ID

72 Lecture 3#72 ST Concepts: Designated Port  Each LAN has a single designated bridge m all other bridges on LAN know which one it is m 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 m ties broken by choosing lowest ID  Only designated & root ports remain active in a bridge. m designated ports connect to downstream bridges/LANs m root ports connect to upstream bridges/LANs (toward the tree root)  Bridge with no designated port becomes inactive m network objective: connecting hosts, bridges are a tool

73 Lecture 3#73 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 m Bridge id + port number

74 Lecture 3#74 Forwarding/Blocking State 1. Only root and designated ports are active for data forwarding l Other ports are in the blocking state: no forwarding! l If bridge has no designated port, no forwarding at all  block root port too. 2. All ports send BPDU messages l including blocked ones Radia disagrees l To adjust to changes has another sol’n


Download ppt "Lecture 3#1#1 Chapter 3 Hubs, Bridges and Switches."

Similar presentations


Ads by Google