Title: Hubs, Bridges and Switches
1Hubs, Bridges and Switches
2Interconnecting 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
3Hubs
- 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
4Hubs (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) -
5Hub 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? -
6Bridges
- 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
7Bridges (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
8Backbone Bridge
9Interconnection 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
10Bridges 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?
11Bridge 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)
12Bridge 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
13Bridge 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
14Bridge 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
15What will happen with loops?Incorrect learning
16What will happen with loops?Frame looping
C
2
2
C,??
C,??
1
1
A
17What will happen with loops?Frame looping
B
2
2
B,2
B,1
1
1
A
18Loop-free tree
C
B
A message from Awill mark As location
A
19Loop-free tree
C
B
A ?
A message from Awill mark As location
A
20Loop-free tree
C
A ?
B
A ?
A message from Awill mark As location
A
21Loop-free tree
A ?
A ?
C
A ?
B
A ?
A ?
A message from Awill mark As location
A
22Loop-free tree
A ?
A ?
C
A ?
B
A ?
A ?
A message from Awill mark As location
A
23Loop-free tree
A ?
A ?
C
A ?
B
A ?
A ?
So a message toA will go by marks
A message from Awill mark As location
A
24Bridges 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 by
disabling subset of interfaces
25Introducing 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)
26How 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
27Overview 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?
281. 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?!
292. 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
30Distributed 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 0 always!
- Another node v
- Mark neighbor with least distance as parent
31Why 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
32Why 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
33Why 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
34Why 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
35Bellman-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...)
363. 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 ports LAN
37Spanning Tree ConceptsPath 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
38Spanning Tree ConceptsRoot 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
39Example Spanning Tree
- Protocol operation
- Pick a root
- Each bridge picks a root port
B8
B3
B5
B7
B2
B1
B6
B4
40Example Spanning Tree
B8
Spanning Tree
B3
B5
B1
root port
B7
B2
B7
B4
B5
B6
B2
B1
Root
B8
B3
B6
B4
41Spanning Tree Concepts Designated Port
- Each LAN has a single designated port
- This is the port reporting minimum cost path to
the root bridge for the LAN - Only designated and root ports remain active!
42Example 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
43Spanning 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
44Spanning Tree AlgorithmImplementation
- Keep pumping a single message (my root ID, my
cost to root, my ID) - BPDU Bridge Protocol Data Unit
- Update vars when receiving
- My_root_ID smallest seen so far
- My_cost_to_root smallest received to my_root
link cost - Break ties by ID
- Thats enough!
45Spanning Tree AlgorithmSelect 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)
46Forwarding/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
47Spanning Tree Protocol Execution
B8
B3
B5
B7
B2
B1
(B1,rootB1, dist0)
(B1,rootB1,dist0)
B6
B4
(B4, rootB1, dist1)
(B6, RootB1dist1)
48Bridges 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
49Routers 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)
50Routers 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)
51Ethernet 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, but no collisions!
52Ethernet 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
53Ethernet Switches (more)
Dedicated
Shared
54Optional Wireless LAN and PPP
55IEEE 802.11 Wireless LAN
- wireless LANs untethered (often mobile)
networking - IEEE 802.11 standard
- MAC protocol
- unlicensed frequency spectrum 900Mhz, 2.4Ghz
- Basic Service Set (BSS) (a.k.a. cell) contains
- wireless hosts
- access point (AP) base station
- BSSs combined to form distribution system (DS)
56Ad Hoc Networks
- Ad hoc network IEEE 802.11 stations can
dynamically form network without AP - Applications
- laptop meeting in conference room, car
- interconnection of personal devices
- battlefield
- IETF MANET (Mobile Ad hoc Networks) working
group
57IEEE 802.11 MAC Protocol CSMA/CA
- 802.11 CSMA sender
- - if sense channel idle for DISF 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?
58IEEE 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
59Hidden Terminal effect
- hidden terminals A, C cannot hear each other
- obstacles, signal attenuation
- collisions at B
- goal avoid collisions at B
- CSMA/CA CSMA with Collision Avoidance
60Collision Avoidance RTS-CTS exchange
- CSMA/CA explicit channel reservation
- sender send short RTS Request To Send
- receiver reply with short CTS Clear To Send
- CTS reserves channel for sender, notifying
(possibly hidden) stations - avoid hidden station collisions
61Collision Avoidance RTS-CTS exchange
- RTS and CTS short
- collisions less likely, of shorter duration
- end result similar to collision detection
- IEEE 802.11 allows
- CSMA
- CSMA/CA reservations
- polling from AP
62Point to Point Data Link Control
- one sender, one receiver, one link easier than
broadcast link - no Media Access Control
- no need for explicit MAC addressing
- e.g., dialup link, ISDN line
- popular point-to-point DLC protocols
- PPP (point-to-point protocol)
- HDLC High level data link control (Data link
used to be considered high layer in protocol
stack!)
63PPP Design Requirements RFC 1557
- packet framing encapsulation of network-layer
datagram in data link frame - carry network layer data of any network layer
protocol (not just IP) at same time - ability to demultiplex upwards
- bit transparency must 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 others network address
64PPP 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 higher layers!!!
65PPP Data Frame
- 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, IP, IPCP, etc)
66PPP Data Frame
- info upper layer data being carried
- check cyclic redundancy check (CRC) for error
detection
67Byte Stuffing
- data transparency requirement data field must
be allowed to include flag pattern lt01111110gt - Q is received lt01111110gt data or flag?
- Sender adds (stuffs) extra lt 01111101gt byte
before each lt 01111110gt or lt01111101gt data byte - Receiver
- Receive 01111101
- discard the byte,
- Next byte is data
- Receive 01111110 flag byte
68Byte Stuffing
flag byte pattern in data to send
flag byte pattern plus stuffed byte in
transmitted data
69PPP Data Control Protocol
- Before exchanging network-layer data, data link
peers must - configure PPP link (max. frame length,
authentication) - learn/configure network
- layer information
- for IP carry IP Control Protocol (IPCP) msgs
(protocol field 8021) to configure/learn IP
address
70Data Link Summary
- principles behind data link layer services
- error detection, correction
- sharing a broadcast channel multiple access
- link layer addressing, ARP
- various link layer technologies
- Ethernet
- hubs, bridges, switches
- IEEE 802.11 LANs
- PPP
- Chapter 5 Kurose and Ross
71Configuration Messages BPDU