15-441 Computer Networking
Lecture 5 – Ethernet
MAC Protocols: A Taxonomy
Three broad classes:
• Channel partitioning
• Divide channel into smaller “pieces” (time slots,
frequency)
• Allocate piece to node for exclusive use
• Random access
• Allow collisions
• “Recover” from collisions
• “Taking turns”
• Tightly coordinate shared access to avoid collisions
Goal: efficient, fair, simple, decentralized
Lecture 5: 9-11-01 2
Outline
• Random Access MAC Protocols
• Ethernet MAC
• Random Access Analysis
• Other Ethernet Issues
• “Taking Turns” MAC and Other LANs
Lecture 5: 9-11-01 3
Random Access Protocols
• When node has packet to send
• Transmit at full channel data rate R.
• 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
• ALOHA
• CSMA and CSMA/CD
Lecture 5: 9-11-01 4
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
Lecture 5: 9-11-01 5
Slotted Aloha
• Time is divided into equal size slots (= pkt trans. time)
• Node (w/ packet) transmits at beginning of next slot
• If collision: retransmit pkt in future slots with probability
p, until successful
Success (S), Collision (C), Empty (E) slots
Lecture 5: 9-11-01 6
Pure (Unslotted) ALOHA
• Unslotted Aloha: simpler, no synchronization
• Pkt needs transmission:
• Send without awaiting for beginning of slot
• Collision probability increases:
• Pkt sent at t0 collide with other pkts sent in [t0-1, t0+1]
Lecture 5: 9-11-01 7
Outline
• Random Access MAC Protocols
• Ethernet MAC
• Random Access Analysis
• Other Ethernet Issues
• “Taking Turns” MAC and Other LANs
Lecture 5: 9-11-01 8
Ethernet
• First practical local area network, built at
Xerox PARC in 70’s
• “Dominant” LAN technology:
• Cheap $20 for 100Mbs!
• Kept up with speed race: 10, 100, 1000 Mbps
Metcalfe’s Ethernet
sketch
Lecture 5: 9-11-01 9
Ethernet MAC – Carrier Sense
• Basic idea:
• Listen to wire before
transmission Hidden Exposed
• Avoid collision with A
active transmission A
• Why didn’t ALOHA B
have this? B
C
• In wireless, relevant
contention at the C
receiver, not sender D
• Hidden terminal
• Exposed terminal
Lecture 5: 9-11-01 10
Ethernet MAC – Collision
Detection
• Note: ALOHA has collision detection also, should
really be called “Fast Collision Detection”
• Basic idea:
• 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
• Much easier to hear “local, powerful” radio station than one in
NY
• You may not notice any “interference”
Lecture 5: 9-11-01 11
Ethernet MAC (CSMA/CD)
• Carrier Sense Multiple Access/Collision Detection
Packet?
No
Sense Send Detect
Carrier Collision
Yes
Discard
Packet Jam channel
attempts < 16 b=CalcBackoff();
wait(b);
attempts++;
attempts == 16
Lecture 5: 9-11-01 12
Ethernet’s CSMA/CD (more)
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
• If random delay with fixed mean
• Few senders needless waiting
• Too many senders too many collisions
• Goal: adapt retransmission attempts to estimated
current load
• heavy load: random wait will be longer
Lecture 5: 9-11-01 13
Ethernet Backoff Calculation
• Exponentially increasing random delay
• Infer senders from # 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}
Lecture 5: 9-11-01 14
Outline
• Random Access MAC Protocols
• Ethernet MAC
• Random Access Analysis
• Other Ethernet Issues
• “Taking Turns” MAC and Other LANs
Lecture 5: 9-11-01 15
Slotted Aloha Efficiency
Q: What is max fraction slots successful?
A: Suppose N stations have packets to send
• Each transmits in slot with probability p
• Prob. successful transmission S is:
by single node: S = p (1-p)(N-1)
by any of N nodes
S = Prob (only one transmits)
At best: channel
= N p (1-p)(N-1) use for useful
… choosing optimum p as N -> infty ... transmissions 37%
… p = 1/N of time!
= 1/e = .37 as N -> infty
Lecture 5: 9-11-01 16
Pure Aloha (cont.)
P(success by given node) = P(node transmits) X P(no other node
transmits in [p0-1,p0] X P(no other node transmits in [p0-1,p0]
= p X (1-p)(N-1) X (1-p)(N-1)
P(success by any of N nodes) = N p X (1-p)(N-1) X (1-p)(N-1) = 1/(2e) = .18
… choosing optimum p as N infty p = 1/2N …
S = throughput = “goodput”
0.4
protocol constrains 0.3
Slotted Aloha
(success rate)
effective channel 0.2
throughput!
0.1
Pure Aloha
0.5 1.0 1.5 2.0
G = offered load = N X p
Lecture 5: 9-11-01 17
Simple Analysis of Efficiency
• Key assumptions
• All packets are same, small size
• Packet size = size of contention slot
• All nodes always have pkt to send
• p is chosen carefully to be related to N
• p is actually chosen by exponential backoff
• Takes full slot to detect collision (I.e. no “fast
collision detection”)
Lecture 5: 9-11-01 18
Ethernet Problems
• Key concern: Ethernet (like Aloha) is unstable at
high loads
• Peak utilization approx. = 1/e = 37%
• 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
• Can improve efficiency by avoiding these conditions
• Works well in practice
Lecture 5: 9-11-01 19
Outline
• Random Access MAC Protocols
• Ethernet MAC
• Random Access Analysis
• Other Ethernet Issues
• “Taking Turns” MAC and Other LANs
Lecture 5: 9-11-01 20
Minimum Packet Size
• What if two
people sent
really small
packets
• How do you find
collision?
Lecture 5: 9-11-01 21
Ethernet Collision Detect
• Min packet length > 2x max prop delay
• If A, B are at opposite sides of link, and B starts
one link prop delay after A
• Jam network for 32-48 bits after collision,
then stop sending
• Ensures that everyone notices collision
Lecture 5: 9-11-01 22
End to End Delay
• c in cable = 60% * c in vacuum = 1.8 x 10^8 m/s
• Modern 10Mb Ethernet {
• 2.5km, 10Mbps
• ~= 12.5us delay
• +Introduced repeaters (max 5 segments)
• Worst case – 51.2us round trip time!
• Slot time = 51.2us = 512bits in flight
• After this amount, sender is guaranteed sole access to
link
• 51.2us = slot time for backoff
Lecture 5: 9-11-01 23
Packet Size
• What about scaling? 3Mbit, 100Mbit, 1Gbit...
• Original 3Mbit Ethernet did not have minimum packet
size
• 1Km 1000/1.8 x 10^8 ~= 5 x 10^-6 = 5us
• 5us * 3Mbps = only 15bits in flight! < hdr size
• For higher speeds must make network smaller,
minimum packet size larger or both
• What about a maximum packet size?
• Needed to prevent node from hogging the network
• 1500 bytes in Ethernet
Lecture 5: 9-11-01 24
Ethernet Frame Structure
• Sending adapter encapsulates IP
datagram (or other network layer protocol
packet) in Ethernet frame
Lecture 5: 9-11-01 25
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
Lecture 5: 9-11-01 26
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, mostly IP but others
may be supported such as Novell IPX and AppleTalk)
Lecture 5: 9-11-01 27
Addressing Alternatives
• Broadcast media all nodes receive all packets
• Addressing determines which packets are kept and
which are packets are thrown away
• Packets can be sent to:
• Unicast – one destination
• Multicast – group of nodes (e.g. “everyone playing Quake”)
• Broadcast – everybody on wire
• Dynamic addresses (e.g. Appletalk)
• Pick an address at random
• Broadcast “is anyone using address XX?”
• If yes, repeat
• Static address (e.g. Ethernet)
Lecture 5: 9-11-01 28
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
Lecture 5: 9-11-01 29
Ethernet Technologies: 10Base2
• 10: 10Mbps; 2: under 185 (~200) meters cable length
• Thin coaxial cable in a bus topology
• Repeaters used to connect up to multiple segments
• Repeater repeats bits it hears on one interface to its other interfaces: physical layer device only!
Lecture 5: 9-11-01 30
10BaseT and 100BaseT
• 10/100 Mbps rate; latter called “fast ethernet”
• T stands for Twisted Pair
• Hub to which nodes are connected by twisted pair, thus
“star topology”
• Can disconnect “jabbering” adapter
Lecture 5: 9-11-01 31
10BaseT and 100BaseT (more)
• Max distance from node to Hub is 100 meters
• Hub can disconnect “jabbering” adapter
• Hub can gather monitoring information, statistics
for display to LAN administrators
• Minimum packet size requirement
• Make network smaller solution for 100BaseT
Lecture 5: 9-11-01 32
Gbit Ethernet
• Use standard Ethernet frame format
• Allows for point-to-point links and shared
broadcast channels
• In shared mode, CSMA/CD is used; short
distances between nodes to be efficient
• Uses hubs, called here “Buffered Distributors”
• Full-Duplex at 1 Gbps for point-to-point links
Lecture 5: 9-11-01 33
Gbit Ethernet
• Minimum packet size requirement
• Make network smaller?
• 512bits @ 1Gbps = 512ns
• 512ns * 1.8 * 10^8 = 92meters = too small !!
• Make min pkt size larger!
• Gigabit Ethernet uses collision extension for small pkts and
backward compatibility
• Maximum packet size requirement
• 1500 bytes is not really “hogging” the network
• Defines “jumbo frames” (9000 bytes) for higher
efficiency
Lecture 5: 9-11-01 34
LAN Switching
• Extend reach of a single shared medium
• Connect two or more “segments” by copying data
frames between them
• Switches only copy data when needed key difference from
repeaters
LAN 1 LAN 2
Lecture 5: 9-11-01 35
Switched Network Advantages
• Higher link bandwidth
• Point to point electrically simpler than bus
• Much greater aggregate bandwidth
• Separate segments can send at once
• Improved fault tolerance
• Redundant paths
• Challenge (next lecture)
• Learning which packets to copy across links
• Avoiding forwarding loops
Lecture 5: 9-11-01 36
Outline
• Random Access MAC Protocols
• Ethernet MAC
• Random Access Analysis
• Other Ethernet Issues
• “Taking Turns” MAC and Other LANs
Lecture 5: 9-11-01 37
“Taking Turns” MAC Protocols
• Channel partitioning MAC protocols:
• Share channel efficiently at high load
• Inefficient at low load: delay in channel access, 1/N
bandwidth allocated even if only 1 active node!
• Random access MAC protocols
• Efficient at low load: single node can fully utilize
channel
• High load: collision overhead
• “Taking turns” protocols
• Look for best of both worlds!
Lecture 5: 9-11-01 38
“Taking Turns” MAC protocols
Polling Token Passing
• Master node “invites” slave • Control token passed from
nodes to transmit in turn one node to next
• Request to Send, Clear to sequentially.
Send msgs • Token message
• Concerns: • Concerns:
• Polling overhead • Token overhead
• Latency • Latency
• Single point of failure • Single point of failure (token)
(master)
Lecture 5: 9-11-01 39
Token Rings
• Packets broadcast around ring
• Token “right to send” rotates around ring
• Fair, real-time bandwidth allocation
• Every host holds token for limited time
• Higher latency when only one sender
• Higher bandwidth
• Point to point links electrically simpler than bus
Lecture 5: 9-11-01 40
Why Did Ethernet Win?
• Failure modes
• Token rings – network unusable
• Ethernet – node detached
• Good performance in common case
• Volume lower cost higher volume ….
• Adaptable
• To higher bandwidths (vs. FDDI)
• To switching (vs. ATM)
• Completely distributed, easy to maintain/administer
• Easy incremental deployment
• Cheap cabling, etc
Lecture 5: 9-11-01 41