View
221
Download
3
Embed Size (px)
Citation preview
Lecture 3 #1
Chapter 3Hubs, Bridges and Switches
Lecture 3 #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:
Lecture 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
Lecture 3 #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: 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 #5
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 #6
Bridges Link Layer devices: forward Ethernet
frames selectively: learn where each station is located examine the header of each frame forward on the proper link (if known)
• if dest. and source on same link, drop frame WHY?
if not known where dest. is, broadcast frame• except on originating link, of course
Lecture 3 #7
Bridges Bridge isolates collision domains
buffers frame then forwards it, if needed, using CSMA/CD
A broadcast frame is forwarded on all interfaces (except the incoming one) thus broadcast frames propagate across
brodges A set of segments connected by bridges
and hubs is called a broadcast domain
Lecture 3 #8
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 #9
Backbone Bridge
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
Lecture 3 #11
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 #12
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 #13
Bridge Operation pseudocodeInit: set filtering table to voidCase: frame arrives on port P, src MAC , dest MAC
/* Table Update stage */ if not listed, add mapping P with expiration timeelse update expiration time /* if listing fits */
/* Frame Forwarding stage */ look up in filtering table: listing P Q /* if listed */if not listed, forward on all ports except P /* “flood */if = P , drop the frame /*frame already there*/
/* WHY ? */Otherwise, forward the frame on port Q
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 bridge notes that C is on port 1 frame ignored on upper LAN frame received by D
Lecture 3 #15
Bridge Learning: example
D generates reply to C, sends it 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 only
C 1
Lecture 3 #16
What will happen with loops?Incorrect learning
A
B
1 1
22
A , 1 A , 122
Lecture 3 #17
What will happen with loops?Frame looping
A
C
1 1
22
C,?? C,??
……
Lecture 3 #18
Loop-free: tree
A
B
C
A message from Awill mark A’s location
Lecture 3 #19
Loop-free: tree
A
B
C
A message from Awill mark A’s location
A:
Lecture 3 #20
Loop-free: tree
A
B
CA:
A:
A message from Awill mark A’s location
Lecture 3 #21
Loop-free: tree
A
B
CA: A:
A:
A:
A:
A message from Awill mark A’s location
Lecture 3 #22
Loop-free: tree
A
B
CA: A:
A:
A:
A:
A message from Awill mark A’s location
Lecture 3 #23
Loop-free: tree
A
B
C
A:
A: A:
A:
A:
So a message toA will go by marks…
A message from Awill mark A’s location
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 aligned with the tree
Disabled
Lecture 3 #25
Introducing Spanning Tree Objective: Find tree spanning all LAN segments
each bridge transmits on a single port each LAN transmits on a single bridge
Bridges run the Spanning Tree Protocol Use a distributed algorithm Result: select what ports (and bridges) should
actively forward frames, and which should accept frames
bridges communicate using special configuration messages (BPDUs) to perform this selection• BPDU = Bridge Protocol Data Unit
STP standardized in IEEE 802.1D
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: ID of bridge sender views as root (my_root_ID) known distance to that root senders own bridge ID
Lecture 3 #27
Overview of STP
We solve in order:1. How to agree on a root bridge?2. How to compute a ST of bridges?3. How to compute a ST LAN segments?
Lecture 3 #28
1. Choosing a root bridge Assume
each bridge has a unique identifier (ID) within a bridge each port has a unique ID
Each bridge remembers smallest bridge ID seen so far (= my_root_ID) 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?!
Lecture 3 #29
2. Compute ST given a root
Idea: each node finds its shortest path to the root shortest paths tree
Output: At each node, parent pointer (and distance)
How: Bellman-Ford algorithm
Lecture 3 #30
Distributed Bellman-Ford
Assumption: There is a unique root node s 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. dists = 0 always! Another node v: Bridge calls the neighbor with least
distance to root - its “parent”
Suppose all nodes start with distance , and suppose that updates are sent every time unit.
11
0
00
0
Lecture 3 #31
Why does this work?
CD
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
Lecture 3 #32
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!
Lecture 3 #33
3. ST of LAN segmentsAssumption: given a ST of the bridgesIdea: 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 on that bridge if needed)
Implementation: Bridges listen to all distance announcements on each port. Bridge A marks a port as a “designated port” iff A is the best bridge for that port’s LAN, i.e: Its distance D to root is the shorter than all distances
received on this port Of all bridges with distance D reported on this port it
has lowest ID of several ports to same LAN on same bridge take low
ID
Lecture 3 #34
Spanning Tree Concepts:Path Cost A cost is associated with each segment
= “weight” of the segment = cost associated with transmission on the LAN
segment connected to the port bridge associates the weight with relevant port default segment weight is 1 Can be manually or automatically assigned Can be used to alter the path to the root bridge
Path cost is the sum of the component segment weights
Lecture 3 #35
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 #36
Example Spanning Tree
B3
B5
B7B2
B1
B6 B4
Protocol operation:1. Pick a root2. Each bridge picks a
root port
B8
Lecture 3 #37
Example Spanning Tree
B3
B5
B7B2
B1
B4B6
Root
B4 B5 B6
B8
B1
Spanning Tree:
root port
B3
B7B2
B8
Lecture 3 #38
ST Concepts: Designated Port Each LAN has a single designated bridge
all other bridges on LAN know which one it is 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 ties broken by choosing lowest ID
Only designated & root ports remain active in a bridge. Bridge uses: designated ports to send downstream frames root ports to send upstream frames (toward root) Bridge with no designated port becomes inactive
Lecture 3 #39
Example Spanning Tree
B3
B5
B7B2
B1
B6 B4
Root
B8
B2 B4 B5 B7
B8
B1
Forwarding Tree:
Designated Bridge
root port
Note: B3, B6 forward nothing
Lecture 3 #40
STP Requirements
Each bridge has a unique identifierA multicast address for bridges on
a LANA unique port identifier for all ports
on all bridgesBridge id + port number
Lecture 3 #41
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 including blocked ones To adjust to changes
Lecture 3 #42
Spanning Tree Protocol: Execution
B3
B5
B7B2
B1
B6 B4
B8
(B1,root=B1, dist=0)(B1,root=B1,dist=0)
(B4, root=B1, dist=1)(B6, Root=B1dist=1)
WHY?
Lecture 3 #43
Bridges vs. Routers both are store-and-forward devices
routers: network layer devices (examine network layer headers)
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
Lecture 3 #44
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 #45
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
Lecture 3 #46
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 w. no
collisions! = Switched Ethernet
Lecture 3 #47
Ethernet Switches
cut-through switching: frame forwarded from input to output port without awaiting for assembly of entire frameslight reduction in latency
combinations of shared/dedicated, 10/100/1000 Mbps interfaces
Lecture 3 #48
Ethernet Switches (more)Dedicated
Shared
Lecture 3 #49
Data Link: Summary principles behind data link layer services:
error detection, optional: error correction sharing a broadcast channel: multiple access link layer addressing, ARP
various link layer technologies Ethernet hubs, bridges (STP), switches IEEE 802.11 LANs PPP
Chapter 5 Kurose and Ross
Lecture 3 #50
EXTRA SLIDES
Lecture 3 #51
Optional: Wireless LAN and PPP
Lecture 3 #52
IEEE 802.11 Wireless LAN wireless LANs: 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 #53
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” devicesbattlefield
IETF MANET (Mobile Ad hoc Networks) working group
Lecture 3 #54
IEEE 802.11 MAC Protocol: CSMA/CA802.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?
Lecture 3 #55
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 #56
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 #57
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 #58
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 #59
Point to Point Data Link Control one sender, one receiver, one link:
easier than broadcast link:no Media Access Controlno need for explicit MAC addressinge.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 #60
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 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
Lecture 3 #61
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!!!
Lecture 3 #62
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)
Lecture 3 #63
PPP Data Frame (2)
info: upper layer data being carried check: cyclic redundancy check (CRC)
for error detection
Lecture 3 #64
Byte Stuffing “data transparency” requirement: data field
must be allowed to include flag pattern <01111110> Q: is received <01111110> data or flag?
Byte Stuffing procedure Sender: adds (“stuffs”) extra < 01111101> byte
before each < 01111110> or <01111101> data byte
Receiver: when receive 01111101
• discard the byte, • Next byte is data, regardless of value
Receive 01111110: flag byte
Lecture 3 #65
Byte Stuffing
flag bytepatternin datato send
flag byte pattern plusstuffed byte in transmitted data
Lecture 3 #66
PPP Data Control ProtocolsBefore exchanging network-
layer data, data link peers must
PPP-LCP: configure PPP link (max. frame length, authentication)
learn/configure network layer information
for IP: carry IP Control Protocol (PPP-IPCP) msgs (protocol field: 8021) to configure/learn IP address