Ethernet

advertisement
Ethernet
Outline
Multiple Access and Ethernet Intro
Ethernet Framing
CSMA/CD protocol
Exponential backoff
Shared Access Networks are Different
• Shared Access Networks assume multiple nodes on the
same physical link
– Bus, ring and wireless structures
– Transmission sent by one node is received by all others
– No intermediate switches
• Need methods for moderating access (MAC protocols)
– Fairness
– Performance
– How can this be done?
CS 640
2
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 (all used in wireless/cellular
environments)
• Contention-based
– 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
CS 640
3
A Quick Word about Token Ring
• Developed by IBM in early 80’s as a new LAN
architecture
– Consists of nodes connected into a ring (typically via
concentrators)
– Special message called a token is passed around the ring
• When nodes gets the token it can transmit for a limited time
• Every node gets an equal opportunity to send
– IEEE 802.5 standard for Token Ring
• Designed for predictability, fairness and reliability
– Originally designed to run at either 4Mbps and 16Mbps
• Still used and sold but beaten out by Ethernet
CS 640
4
Our Focus is Ethernet
• History
–
–
–
–
Developed by Bob Metcalfe and others at Xerox PARC in mid-1970s
Roots in Aloha packet-radio network
Standardized by Xerox, DEC, and Intel in 1978
LAN standards define MAC and physical layer connectivity
• IEEE 802.3 (CSMA/CD - Ethernet) standard – originally 2Mbps
• IEEE 802.3u standard for 100Mbps Ethernet
• IEEE 802.3z standard for 1,000Mbps Ethernet
• CSMA/CD: Ethernet’s Media Access Control (MAC) policy
– CS = carrier sense
• Send only if medium is idle
– MA = multiple access
– CD = collision detection
• Stop sending immediately if collision is detected
CS 640
5
Ethernet Standard Defines Physical Layer
• 802.3 standard defines both MAC and physical layer
details
Metcalfe’s original
Ethernet Sketch
CS 640
6
Ethernet Technologies: 10Base2
•
•
10: 10Mbps; 2: under 185 (~200) meters cable length
Thin coaxial cable in a bus topology
•
Repeaters used to connect multiple segments
– Repeater repeats bits it hears on one interface to its other interfaces: physical layer
device only!
CS 640
7
10BaseT and 100BaseT
• 10/100 Mbps rate
• T stands for Twisted Pair
• Hub(s) connected by twisted pair facilitate “star topology”
– Distance of any node to hub must be < 100M
CS 640
8
Physical Layer Configurations for 802.3
• Physical layer configurations are specified in three parts
• Data rate (10, 100, 1,000)
– 10, 100, 1,000Mbps
• Signaling method (base, broad)
– Baseband
• Digital signaling
– Broadband
• Analog signaling
• Cabling (2, 5, T, F, S, L)
–
–
–
–
5 - Thick coax (original Ethernet cabling)
F – Optical fiber
S – Short wave laser over multimode fiber
L – Long wave laser over single mode fiber
CS 640
9
Ethernet Overview
• Most popular packet-switched LAN technology
• Bandwidths: 10Mbps, 100Mbps, 1Gbps
• Max bus length: 2500m
– 500m segments with 4 repeaters
• Bus and Star topologies are used to connect hosts
– Hosts attach to network via Ethernet transceiver or hub or switch
• Detects line state and sends/receives signals
– Hubs are used to facilitate shared connections
– All hosts on an Ethernet are competing for access to the medium
• Switches break this model
• Problem: Distributed algorithm that provides fair access
CS 640
10
Ethernet Overview (contd.)
• Ethernet by definition is a broadcast protocol
– Any signal can be received by all hosts
– Switching enables individual hosts to communicate
• Network layer packets are transmitted over an
Ethernet by encapsulating
• Frame Format
64
48
48
16
Preamble
Dest
addr
Src
addr
Type
CS 640
32
Body
CRC
11
Switched Ethernet
• Switches forward and filter frames based on LAN addresses
– It’s not a bus or a router (although simple forwarding tables are maintained)
• Very scalable
– Options for many interfaces
– Full duplex operation (send/receive frames simultaneously)
• Connect two or more “segments” by copying data frames between them
– Switches only copy data when needed
• key difference from repeaters
• Higher link bandwidth
– Collisions are completely avoided
• Much greater aggregate bandwidth
– Separate segments can send at once
CS 640
12
Ethernet Frames
• Preamble is a sequence of 7 bytes, each set to “10101010”
– Used to synchronize receiver before actual data is sent
• Addresses
– unique, 48-bit unicast address assigned to each adapter
• example: 8:0:e4:b1:2
• Each manufacturer gets their own address range
– broadcast: all 1s
– multicast: first bit is 1
• Type field is a demultiplexing key used to determine which
higher level protocol the frame should be delivered to
• Body can contain up to 1500 bytes of data
CS 640
13
A Quick Word about Aloha Networks
• Developed in late 60’s by Norm Abramson at Univ. of Hawaii
(!!) for use with packet radio systems
– Any station can send data at any time
– Receiver sends an ACK for data
– Timeout for ACK signals that there was a collision
• What happens if timeout is poorly timed?
– If there is a collision, sender will resend data after a random backoff
• Utilization (fraction of transmitted frames avoiding collision for
N nodes) was pretty bad
– Max utilization = 18%
• Slotted Aloha (dividing transmit time into windows) helped
– Max utilization increased to 36%
CS 640
14
Ethernet’s MAC Algorithm
• In Aloha, decisions to transmit are made without paying attention
to what other nodes might be doing
• Ethernet uses CSMA/CD – listens to line before/during sending
• If line is idle (no carrier sensed)
– send packet immediately
– upper bound message size of 1500 bytes
– must wait 9.6us between back-to-back frames
• If line is busy (carrier sensed)
– wait until idle and transmit packet immediately
• called 1-persistent sending
• If collision detected
– Stop sending and jam signal
– Try again later
CS 640
15
State Diagram for CSMA/CD
Packet?
No
Sense
Carrier
Send
Detect
Collision
Yes
Discard
Packet
attempts < 16
Jam channel
b=CalcBackoff();
wait(b);
attempts++;
attempts == 16
CS 640
16
Collisions
Collisions are caused when two adaptors transmit at the same
time (adaptors sense collision based on voltage differences)
• Both found line to be idle
• Both had been waiting to for a busy line to become idle
A starts at
time 0
A
B
A
B
Message almost
there at time T when
B starts – collision!
How can we be sure A knows about the collision?
CS 640
17
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
• 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 bit signal
CS 640
18
Collision Detection contd.
A
B
A
B
A
B
time = 0
time = T
time = 2T
CS 640
19
Exponential Backoff
• If a collision is detected, delay and try again
• Delay time is selected using binary exponential backoff
– 1st time: choose K from {0,1} then delay = K * 51.2us
– 2nd time: choose K from {0,1,2,3} then delay = K * 51.2us
– nth time: delay = K x 51.2us, for K=0..2n – 1
• Note max value for k = 1023
– give up after several tries (usually 16)
• Report transmit error to host
• If delay were not random, then there is a chance that sources
would retransmit in lock step
• Why not just choose from small set for K
– This works fine for a small number of hosts
– Large number of nodes would result in more collisions
CS 640
20
MAC Algorithm from the Receiver Side
• Senders handle all access control
• Receivers simply read frames with acceptable
address
–
–
–
–
Address to host
Address to broadcast
Address to multicast to which host belongs
All frames if host is in promiscuous mode
CS 640
21
Fast and Gigabit Ethernet
• Fast Ethernet (100Mbps) has technology very similar to
10Mbps Ethernet
– Uses different physical layer encoding (4B5B)
– Many NIC’s are 10/100 capable
• Can be used at either speed
• Gigabit Ethernet (1,000Mbps)
–
–
–
–
–
–
Compatible with lower speeds
Uses standard framing and CSMA/CD algorithm
Distances are severely limited
Typically used for backbones and inter-router connectivity
Becoming cost competitive
How much of this bandwidth is realizable?
CS 640
22
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
• Transport level flow control helps reduce load (number of
back to back packets)
• Ethernet is inexpensive, fast and easy to administer!
CS 640
23
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
CS 640
24
Why did Ethernet Win?
• There are LOTS of LAN protocols
• Price
•
•
•
•
•
Performance
Availability
Ease of use
Scalability
Tomorrow we will talk about physical layer
stuff…
CS 640
25
Download