local area network and ethernet - tsinghua...
TRANSCRIPT
Local Area Network and
Ethernet
2012/11/23 1
Dan LI
CS Department, Tsinghua University
Today’s Lecture
MAC (Medium Access Control)
Ethernet
Bridges and LAN switches
Reading list
2012/11/23 2
Problem 1 – Sharing a Wire
Two hosts share a wire
One to send
The other to receive and wait to send
… But what if we want more hosts?
2012/11/23 3
Problem 1 – Sharing a Wire
2012/11/23 4 4
Expensive! Can we share a wire?
Switches Wires for everybody!
Problem 2 – Listen and Talk
Natural scheme – listen before you talk…
Works well in practice
yak yak…
2012/11/23 5
Problem 2 – Listen and Talk
Natural scheme – listen before you talk…
Works well in practice
yada yada…
2012/11/23 6
Problem 2 – Listen and Talk
Natural scheme – listen before you talk…
Works well in practice
But sometimes breaks down when two want to
speak at the same time
Why? How do we fix/prevent this?
yada
yada… yak yak…
2012/11/23 7
Problem 3 – Who is the Packet for?
Need to put an address on the packet
What should it look like?
How do you know what address you want to
send to?
2012/11/23 8
Multiple Access Methods
Fixed assignment
Partition channel so each node gets a slice of the bandwidth
Essentially circuit switching – thus inefficient
Examples: TDMA, FDMA, CDMA
Random access
Nodes contends equally for bandwidth and recover from collisions
Examples: Aloha, Ethernet
Token-based or reservation-based
Take turns using the channel
Examples: Token ring
2012/11/23 9
Random Access Protocols
When node has packet to send
Transmit at full channel data rate
No a priori coordination among nodes
Two or more transmitting nodes “collision”
Random access MAC protocol specifies
How to detect collisions
How to recover from collisions (e.g., via delayed retransmissions)
Examples of random access MAC protocols:
Slotted ALOHA and ALOHA
CSMA and CSMA/CD
2012/11/23 10
Aloha – Basic Technique
First random MAC developed
For radio-based communication in Hawaii (1970)
Basic idea:
When you’re ready, transmit
Receiver’s send ACK for data
Detect collisions by timing out for ACK
Recover from collision by trying after random delay
Too short large number of collisions
Too long underutilization
2012/11/23 11
Pure ALOHA
Simple idea
Let users transmit whenever they have data to be sent
Each station transmit frames arbitrarily
If collision occurs, the sender waits a random time
and sends it again
2012/11/23 12
N N-1 2 1
interface Bus channel
The model of ALOHA
Pure ALOHA Collision
2012/11/23 13
Collision reason:two station send frame simultaneously
1 2 N-1 N ...
Pure ALOHA Collision(cont’d)
2012/11/23 14
A1
new frame
B1
A2 A2
B1
collison
t1
t2 B2
A2 t3
B2 t4
B3
A3 Station A
Station B
Final effect A1 B1 A2 B2
t
t
t
Performance Analysis(1)
2012/11/23 15
Vulnerable period for the shaded frame.
Collides with
the start of the
shaded frame
Collides with
the end of the
shaded frame
t
0t 0t t0 2t t
0 3t t
Performance Analysis(2)
Assumptions
Fixed frame length, frame time is t
New frames generated and retransmitted according to Poisson
distribution
Parameters
Throughput S: mean successful frames per frame time 0 S 1
Network load G: mean frames per frame time G ≥ S
Successful transmission probability: P0=S/G
2012/11/23 16
Performance Analysis(3)
2012/11/23 17
P0= P [no other traffic being initiated during
the entire vulnerable period ]
= e –λ2t = e –2G
(P=(λT)K e-λT/K!)
Throughput: S = G P0 = G e -2G
Maximum throughput occurs when
G=0.5,
S=1/2e ≈ 0.184
Slotted Aloha
Principle: divide time into discrete intervals
Each interval corresponding to one frame
Each user must know slot boundaries (synchronization)
2012/11/23 18
A1
new frame
B3
A2 A2
B1
collision
t1
t2 B2 B2 B3
A3
station B
final effect A1 B1 A2 B2 A3
station A
Performance Analysis(1)
P0= P [ arrival interval> t ]
= e - λ t = e –G
Throughput S = G P0 = G e –G
Maximum throughput occurs when G=1,
S=1/e ≈ 0.368
2012/11/23 19
t t
ALOHA Summary
2012/11/23 20
Throughput versus offered traffic for ALOHA systems
Expected Number of Transmissions
Pure ALOHA
P0=e-2G
Pk=e-2G(1-e-2G)k-1
E= kPk=e2G
Slotted ALOHA
P0=e-G
Pk=e-G(1-e-G)k-1
E= kPk=eG
2012/11/23 21
Today’s Lecture
MAC(Medium Access Control)
Ethernet
Bridges and LAN switches
Reading list
2012/11/23 22
Origin of Ethernet
First practical local area network, built at Xerox PARC in 70’s
“Dominant” LAN technology:
Cheap
Kept up with speed race: 10, 100, 1000 Mbps
2012/11/23 23
Metcalfe’s Ethernet
sketch
Ethernet
CSMA/CD
Backoff Algorithm
Frame Structure
Experiences with Ethernet
2012/11/23 24
Ethernet MAC – Carrier Sense
Basic idea Listen to wire before
transmission
Avoid collision with active transmission
Why didn’t ALOHA have this? In wireless, relevant
contention at the receiver, not sender Hidden terminal
Exposed terminal
2012/11/23 25
NY
CMU
Chicago
St.Louis
Chicago
CMU
NY
Hidden Exposed
Ethernet CSMA protocols
Station listens for a carrier before sending
Classification:
1-persistent CSMA
* Waits until it becomes idle, then transmits frame
immediately
* If a collision occurs, waits for a random amount of
time and start all over again
Non-persistent CSMA
* If the channel is busy, waits for a random amount of
time and sense channel again
2012/11/23 26
Ethernet CSMA Protocols (Cont.)
P-persistent CSMA (slotted channel)
If the channel is busy, waits to the next slot
If idle, transmits frame with probability of p
With a probability of q=1-p it defers to the next
slot,
If that slot is also idle, it either transmits or
defers again, with probabilities p and q.
Repeat the process
2012/11/23 27
CSMA Comparison
1-persistent CSMA
High throughput and low delay with low load
Low throughput with high load
Non-persistent CSMA
High throughput with high load
p-persistent CSMA
Between 1-persistent CSMA and Non-persistent
CSMA
2012/11/23 28
Various Random Access Protocols
Comparison of the channel utilization versus load
for various random access protocols.
2012/11/23 29
30
Ethernet Collision Detection
ALOHA has collision detection?
That was very slow and inefficient
Ethernet MAC
Listen while transmitting
If you notice interference assume collision
Why didn’t ALOHA have this?
Very difficult for radios to listen and transmit
Signal strength is reduced by distance for radio
Collisions
Collisions are caused when two adaptors
transmit at the same time
Both found line to be idle
Both had been waiting for a busy line to become
idle
Luckily, adaptors can sense collision based
on voltage differences
2012/11/23 31
Collisions (Cont.)
2012/11/23 32
A B
A B
A starts at
time 0
Message almost
there at time T
when B starts –
collision!
How can we be sure A knows about the collision?
Collision Detection
How can A know that a collision has taken
place?
There must be a mechanism to insure
retransmission on collision
A’s message reaches B at time T
B’s message reaches A at time 2T
So, A must still be transmitting at 2T
2012/11/23 33
Collision Detection (Cont.)
2012/11/23 34
A B
A B
A B
time = 0
time = T
time = 2T
IEEE 802.3
Specifies max value of 2T to be 51.2us This relates to maximum distance of 2500m between
hosts
At 10Mbps it takes 0.1us to transmit one bit so 512 bits (64B) take 51.2us to send
So, Ethernet frames must be at least 64B long
14B header, 46B data, 4B CRC
Padding is used if data is less than 46B
Send jamming signal after collision is detected to insure all hosts see collision
48 bits signal
2012/11/23 35
Gigabit Ethernet
Minimum packet size requirement
Make min packet size larger!
6400B for 2500m LAN, 640B for 250m LAN
Make network smaller?
25m for 64B, which is too small
Gigabit Ethernet uses carrier extension for small packets and backward compatibility
Maximum packet size requirement
1500 bytes is not really “hogging” the network
Defines “jumbo frames” (9000 bytes) for higher efficiency
2012/11/23 36
Collision Free Protocols
Pure ALOHA, slotted ALOHA, CSMA and
CSMA/CD are contention based protocols
CSMA with collision detection CSMA/CD
Collision free protocols:
Pay constant overhead to achieve performance
guarantee
Good when network load is high
2012/11/23 37
Bit-Map based Protocol
Contention and data transmission periods
alternate
The contention period is divided into slots, with
1 bit-wide slots for each host in the network
If a host wants to transmit a packet, it sets its
contention slot equal to 1
Otherwise, it sets it to 0
The slots pass all hosts in sequence, so every
host is aware of who will transmit
2012/11/23 38
Bit-Map based Protocol (Cont.)
2012/11/23 39
1 1 1 1 1 1 2 4 5 6
01234567 01234567
0 4
data frame
But what if there are a large number of hosts in
the network?
The contention period will have to grow to
include them all
With a large number of hosts, the contention
period may be very long, leading to inefficiency
Binary Countdown Protocol
During Contention Period
Each host broadcasts its binary address one bit at a time, starting with the most significant bit
Bits transmitted simultaneously are boolean OR’d together
Arbitration rule
If a host sent a zero bit but the boolean OR results in a one bit, the host gives up and stops sending address bits
Whichever host remains after the entire address has been broadcast gets access to the medium
2012/11/23 40
Binary Countdown (Cont.)
2012/11/23 41
0 0 1 0 0 - - -
0 - - -
1 0 0 -
1 0 1 0
0 1 2 3
Bit Time Host
Addresses
0 1 0 1
1 0 0 1
1 0 1 0
Binary Countdown: Fairness
Stations with the highest addresses will always win
This is good if you want to implement priority, but bad if you want to give all hosts fair access to the channel
Used in CAN-bus networks (cars)
Solution:
Change the address of a host after a successful transmission
2012/11/23 42
Binary Countdown: Permuting Addresses
After successful transmission of host A, all
hosts with addresses less than host A add
one to their address, improving their priority
Host A changes its address to zero, giving it
the lowest priority
2012/11/23 43
Limited Contention Protocols
Collision based protocols (ALOHA,CSMA/CD) are good when the network load is low
Collision free protocols (bit map, binary countdown) are good when load is high
How about combining their advantages -- limited contention protocols
Behave like the ALOHA scheme under light load
Behave like the bitmap scheme under heavy load
2012/11/23 44
Limited Contention Protocols (Cont.)
Trick: partition the group of station and limit
the contention for each slot
Under light load, every one can try for each slot
like aloha
Under heavy load, only a small group can try for
each slot
How can we do it
2012/11/23 45
Adaptive Tree Walk Protocol
Treat stations as the leaf of a binary tree
At the first slot, all stations under the root
node can try to get the sending slot
If no conflict, fine
If conflict, only nodes under a subtree get to try
for the next one
Depth first search
Recursively
2012/11/23 46
Example
2012/11/23 47
0
1 2
3 4 5 6
A B C* D E* F* G H*
Example (Cont.)
Slot 0: C*, E*, F*, H* (all nodes under node 0 can try), conflict
Slot 1: C* (all nodes under node 1 can try), C sends
Slot 2: E*, F*, H*(all nodes under node 2 can try), conflict
Slot 3: E*, F* (all nodes under node 5 can try), conflict
Slot 4: E* (all nodes under E can try), E sends
Slot 5: F* (all nodes under F can try), F sends
Slot 6: H* (all nodes under node 6 can try), H sends
2012/11/23 48
Ethernet
CSMA/CD
Backoff Algorithm
Frame Structure
Experiences with Ethernet
2012/11/23 49
2012/11/23 50
Ethernet CSMA/CD Workflow
Packet?
Sense
Carrier
Discard
Packet
Send Detect
Collision
Jam channel
b=CalcBackoff();
wait(b);
attempts++;
No
Yes
attempts < 16
attempts == 16
2012/11/23 51
Ethernet CSMA/CD (Cont.)
Jam signal
Make sure all other transmitters are aware of collision; 48 bits;
Exponential backoff
If deterministic delay after collision, collision will occur again in lockstep
Why not random delay with fixed mean? Few senders needless waiting
Too many senders too many collisions
Goal
Adapt retransmission attempts to estimated current load
Ethernet Backoff Calculation
Exponentially increasing the random delay
Infer senders from the number of collisions
More senders increase wait time
First collision: choose K from {0,1}; delay is K x 512 bit transmission times
After second collision: choose K from {0,1,2,3}…
After ten or more collisions, choose K from {0,1,2,3,4,…,1023}
2012/11/23 52
Transmission Attempts
2012/11/23 53
0
100
200
300
400
500
600
Sec
onds
0 2 4 6 8 10 12Transmission Attempts
Ethernet
CSMA/CD
Backoff Algorithm
Frame Structure
Experiences with Ethernet
2012/11/23 54
2012/11/23 55
Ethernet Frame Structure
Sending adapter encapsulates IP datagram
(or other network layer protocol packet) in
Ethernet frame
2012/11/23 56
Ethernet Frame Structure (Cont.)
Preamble: 8 bytes
101010…1011
Used to synchronize receiver, sender clock rates
CRC: 4 bytes
Checked at receiver, if error is detected, the
frame is simply dropped
2012/11/23 57
Ethernet Frame Structure (Cont.)
Addresses: 6 bytes
Each adapter is given a globally unique address at manufacturing time
Address space is allocated to manufacturers 24 bits identify manufacturer
E.g., 0:0:15:* 3com adapter
Frame is received by all adapters on a LAN and dropped if address does not match
Special addresses
Broadcast – FF:FF:FF:FF:FF:FF is “everybody”
Range of addresses allocated to multicast Adapter maintains list of multicast groups node is interested in
2012/11/23 58
Ethernet Frame Structure (Cont.)
Each protocol layer needs to provide some hooks to
upper layer protocols
Demultiplexing: identify which upper layer protocol packet
belongs to
E.g., port numbers allow TCP/UDP to identify target application
Ethernet uses Type field
Type: 2 bytes
Indicates the higher layer protocol, e.g., IP, IPv6, ARP
59
Ethernet Frame Structure (Cont.)
Each protocol layer needs to provide some
hooks to upper layer protocols
Demultiplexing: identify which upper layer protocol
packet belongs to
E.g., port numbers allow TCP/UDP to identify target
application
Ethernet uses Type field
Type: 2 bytes
Indicates the higher layer protocol, e.g., IP, IPv6,
ARP
Address
2012/11/23 60
0 Single address
1 Group address
Destination address is
either single address or
group address (broadcast
= 111...111)
Addresses are defined on
local or universal basis
246 possible global
addresses
0 Local address
1 Global address
Ethernet
CSMA/CD
Backoff Algorithm
Frame Structure
Experiences with Ethernet
2012/11/23 61
62
Why Did Ethernet Win?
Failure modes
Ethernet – node detached
Token rings – network unusable
Good performance in common case
Deals well with bursty traffic
Usually used at low load
Volume lower cost higher volume ….
Easy incremental deployment
Cheap cabling, etc
Why Did Ethernet Win? (Cont.)
You plug in the host and it basically works
No configuration at the data link layer
Today: may need to deal with security
Protocol is fully distributed
Broadcast based
In part explains the easy management
Some of the LAN protocols (e.g. ARP) rely on broadcast
Networking would be harder without ARP
2012/11/23 63
Experiences with Ethernet
Ethernets work best under light loads
Utilization over 30% is considered heavy
Network capacity is wasted by collisions
Most networks are limited to about 200 hosts
Specification allows for up to 1024
Most networks are much shorter
5 to 10 microsecond RTT
Ethernet is inexpensive, fast and easy to
administer
2012/11/23 64
Ethernet Problems
Ethernet’s peak utilization is pretty low (like Aloha)
Peak throughput worst with
More hosts
More collisions needed to identify single sender
Smaller packet sizes
More frequent arbitration
Longer links
Collisions take longer to observe, more wasted bandwidth
Efficiency is improved by avoiding these conditions
2012/11/23 65
66
Summary
CSMA/CD carrier sense multiple access with
collision detection
Why do we need exponential backoff?
Why does collision happen?
Why do we need a minimum packet size?
How does this scale with speed?
Ethernet
What is the purpose of different header fields?
What do Ethernet addresses look like?