You are on page 1of 71

Hubs, Bridges and Switches

Lecture 3

Lecture 3 #1
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 #2
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 #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 #4
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 #5
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 #6
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 #7
Backbone Bridge

Lecture 3 #8
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 #9
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 #10
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 #11
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 #12
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 #13
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 #14
What will happen with loops?
Incorrect learning

2 2

A , 12 A , 12

1 1

A
Lecture 3 #15
What will happen with loops?
Frame looping

2 2

C,?? C,??

1 1

A
Lecture 3 #16
What will happen with loops?
Frame looping

2 2

B,2 B,1

1 1

A
Lecture 3 #17
Loop-free: tree

C
B

A message from A
A will mark A’s location

Lecture 3 #18
Loop-free: tree

C
B

A: 

A message from A
A will mark A’s location

Lecture 3 #19
Loop-free: tree

A:  C
B

A: 

A message from A
A will mark A’s location

Lecture 3 #20
Loop-free: tree

A:  A: 
A:  C
B

A: 
A: 

A message from A
A will mark A’s location

Lecture 3 #21
Loop-free: tree

A:  A: 
A:  C
B

A: 
A: 

A message from A
A will mark A’s location

Lecture 3 #22
Loop-free: tree

A:  A: 
A:  C
B

A: 
A: 

So a message to A message from A


…A will go by marks A will mark A’s location

Lecture 3 #23
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 by disabling
subset of interfaces

Disabled

Lecture 3 #24
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 #25
How to construct a spanning tree?
 Bridges run a distributed spanning tree
algorithm
 Selectwhat ports (and bridges) should actively
forward frames
 Standardized in IEEE 802.1 specification

Lecture 3 #26
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:
1. How to find a root bridge?
2. How to compute a ST of bridges?
3. How to compute a ST LAN segments?

Lecture 3 #27
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 #28
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 #29
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 = 0 always!
 Another node v:

 Mark neighbor with least distance as


“parent”

Lecture 3 #30
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 #31
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
0 1
G

B 1
F

Lecture 3 #32
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
0 1
G

B 1
F

Lecture 3 #33
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
0 1
G
3
B 1
F

Lecture 3 #34
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 #35
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 #36
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 #37
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 #38
Example Spanning Tree

B8
Protocol operation:
1. Pick a root
2. Each bridge picks a
B3 root port
B5
B7
B2

B1

B6 B4

Lecture 3 #39
Example Spanning Tree

B8

B3 Spanning Tree:
B5 B1
root
port B7
B2
B2 B4 B5 B6 B7

B1
Root B3 B8

B6 B4

Lecture 3 #40
Spanning 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!

Lecture 3 #41
Example Spanning Tree

B8

B3 Forwarding Tree:
B5 B1
root
port B7
B2
B2 B4 B5 B7

B1
Root B8
Designated
B6 Bridge
B4 Note: B3, B6 forward nothing

Lecture 3 #42
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 #43
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 #44
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 #45
Forwarding/Blocking State
1. 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.
2. All ports send BPDU messages
 To adjust to changes

Lecture 3 #46
Spanning Tree Protocol: Execution

B8

B3

B5
B7
B2

(B1,root=B1,dist=0) B1 (B1,root=B1, dist=0)

B6 B4

(B6, Root=B1dist=1) (B4, root=B1, dist=1)


Lecture 3 #47
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 #48
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 #49
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 #50
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, but no
collisions!

Lecture 3 #51
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 #52
Ethernet Switches (more)
Dedicated

Shared

Lecture 3 #53
Optional: Wireless LAN and PPP

Lecture 3 #54
IEEE 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
 BSS’s combined to form
distribution system (DS)

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

Lecture 3 #56
IEEE 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?

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

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

Lecture 3 #59
Collision 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
Lecture 3 #60
Collision 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

Lecture 3 #61
Point 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!)
Lecture 3 #62
PPP 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 other’s network address
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 higher layers!!!

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

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

Lecture 3 #66
Byte Stuffing
 “data transparency” requirement: data field must
be allowed to include flag pattern <01111110>
 Q: is received <01111110> data or flag?

 Sender: adds (“stuffs”) extra < 01111101> byte


before each < 01111110> or <01111101> data byte
 Receiver:
 Receive 01111101
• discard the byte,
• Next byte is data
 Receive 01111110: flag byte

Lecture 3 #67
Byte Stuffing

flag byte
pattern
in data
to send

flag byte pattern plus


stuffed byte in
transmitted data

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

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

Lecture 3 #70
Configuration Messages: BPDU

Lecture 3 #71

You might also like