Lecture III: Hubs, Bridges and Switches

advertisement
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
B
2
2
A , 12
A , 12
1
1
A
Lecture 3
#15
What will happen with loops?
Frame looping
C
2
2
C,??
C,??
1
1
A
Lecture 3
#16
What will happen with loops?
Frame looping
B
2
2
B,2
B,1
1
1
A
Lecture 3
#17
Loop-free: tree
C
B
A
A message from A
will mark A’s location
Lecture 3
#18
Loop-free: tree
C
B
A: 
A
A message from A
will mark A’s location
Lecture 3
#19
Loop-free: tree
A: 
C
B
A: 
A
A message from A
will mark A’s location
Lecture 3
#20
Loop-free: tree
A: 
A: 
A: 
C
B
A: 
A: 
A
A message from A
will mark A’s location
Lecture 3
#21
Loop-free: tree
A: 
A: 
A: 
C
B
A: 
A: 
A
A message from A
will mark A’s location
Lecture 3
#22
Loop-free: tree
A: 
A: 
A: 
C
B
A: 
A: 
So a message to
A will go by marks…
A
A message from 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

Select what 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.




D
C
A
E

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.

1
1

D
C
A
E
1
0
G

B
F
1
Lecture 3
#32
Why does this work?
 Suppose all nodes start with distance ,
and suppose that updates are sent every
time unit.
2
1
1
2
D
C
A
E
1
0
G

B
F
1
Lecture 3
#33
Why does this work?
 Suppose all nodes start with distance ,
and suppose that updates are sent every
time unit.
2
1
1
2
D
C
A
E
1
0
3
G
B
F
1
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
B3
Protocol operation:
1.
2.
Pick a root
Each bridge picks a
root port
B5
B7
B2
B1
B6
B4
Lecture 3
#39
Example Spanning Tree
B8
Spanning Tree:
B3
B5
root
port
B2
B1
B7
B2
B4
B5
B6
B7
B1
Root
B6
B3
B8
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
Forwarding Tree:
B3
B5
B1
root
port
B2
B7
B2
B4
B5
B7
B1
Root
B6
B8
Designated
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)
B6
(B6, Root=B1dist=1)
B1
(B1,root=B1, dist=0)
B4
(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 networklayer 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
Download