You are on page 1of 58

Links and LANs

EE 122: Intro to Communication Networks


Fall 2010 (MW 4-5:30 in 101 Barker) Scott Shenker

TAs: Sameer Agarwal, Sara Alspaugh, Igor Ganichev, Prayag Narula


http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley
1

Your Future?
Who is planning to go to grad school (in CS)? Who is interested in research possibilities?

Regrading of Homework
Requests for regrading must be made within one week of when the work was returned.

To ask for a regrade, attach a page that specifies:


The problem(s) you want to be regraded For each of these problems specify clearly why do you think the problem was misgraded

Without this page, your work will not be regraded. Your entire homework may be regraded
Score could decrease, stay the same, or increase

Other Announcements
Wont finish topic (links/LANs) today
It is your responsibility to slow me down Ask questions, yawn loudly, snore, whatever it takes!

Will continue into next Mondays lecture.

Goals of Todays Lecture


Link-layer services Arbitrating access to a shared medium
Random Access MAC (Media Access Control) Ethernet: single segment Ethernet: spanning multiple segments [Monday] Spanning trees [Monday]

Link-Layer Services

Message, Segment, Packet, and Frame


host HTTP HTTP message

host
HTTP

TCP router IP
IP packet

TCP segment router


IP packet

TCP

IP

IP

IP packet

IP

Ethernet interface

Ethernet interface

SONET interface

SONET interface

Ethernet interface

Ethernet interface

Ethernet frame

SONET frame

Ethernet frame

Today We Focus on Link-Layer


Ethernet interface Ethernet interface SONET interface SONET interface Ethernet interface Ethernet interface

Ethernet frame

SONET frame

Ethernet frame

What functions these technologies provide How they implement those functions

Adaptor-to-Adaptor Communication
datagram

link layer protocol


frame adaptor receiving node

frame sending node

adaptor

Link layer implemented in adaptor (network interface card; NIC)


Ethernet card, 802.11 card (why?)

Sending side:
Encapsulates datagram in a frame Determines local addressing, adds error checking, controls transmission

Receiving side
Recognizes arrival, looks for errors, possibly acknowledges Extracts datagram and passes to receiving node
9

Link-Layer Services
Encoding
Representing the 0s and 1s

Framing
Encapsulating packet into frame, adding header, trailer Using MAC addresses rather than IP addresses

Error detection
Errors caused by signal attenuation, noise Receiver detects presence, may ask for repeat (ARQ)

Resolving contention
Deciding who gets to transmit when multiple senders want to use a shared media

Flow control (pacing between sender & receiver)

10

Framing
Specify how blocks of data are transmitted between two nodes connected on the same
physical media
Service provided by the data link layer Implemented by the network adaptor

Challenges
Decide when a frame starts & ends How hard can that be?

11

Simple Approach to Framing: Counting


Sender: begin frame with byte(s) giving length Receiver: extract this length and count

53

Frame contents
53 bytes of data

21

Frame contents
21 bytes of data

How can this go wrong? On occasion, the count gets corrupted


58 Frame contents 21

Frame 94 contents
Bogus new frame length; desynchronization 12

58 bytes of data misdelivered

Desynchronization
Once framing is desynchronized, stays that way Need a method to resynchronize But once we have that method, why use counting?

Sounds like E2E-like argument.

13

Framing: Sentinels
Delineate frame with special pattern
01111110 Frame contents

e.g., 01111110 start, 01111111 end


01111111

Problem: what if sentinel occurs within frame? Solution: escape the special characters
E.g., sender always inserts a 0 after five 1s receiver always removes a 0 appearing after five 1s

Similar to escaping special characters in C programs


14

When Receiver Sees Five 1s


01111110 Frame content 01111111

If next bit 0, remove it, and begin counting again


Because this must be stuffed bit Cant be at beginning/end of frame

If next bit 1, then:


If following bit is 0, this is start of frame
o receiver has seen 01111110

If following bit is 1, this is end of frame


o receiver has seen 01111111
15

Example
01111110 0111111011111011111001 01111111
Sender: Five 1s insert a 0

01111110 0111110101111100111110001 01111111


Receiver: Five 1s and next bit 0 remove it

Start frame

End frame

01111110 0111111011111011111001 01111111

16

Sentinels and Synchronization


Can Sentinels ever get desynchronized? No! Every analysis of start/end is independent

17

Clock-Based Framing (SONET)


SONET (Synchronous Optical NETwork) SONET endpoints maintain clock synchronization Frames have fixed size (e.g., 125 sec) No ambiguity about start & stop of frame
But may be wasteful

NRZ encoding
To avoid long sequences of 0s or 1s payload is XOR-ed with special 127-bit pattern w/ many 0-1/1-0 transitions

18

Error Detection
Errors are unavoidable
Electrical interference, thermal noise, etc.

Error detection
Transmit extra (redundant) information Use redundant information to detect errors Extreme case: send two copies of the data Trade-off: accuracy vs. overhead

Techniques for detecting errors


Parity checking Checksum Cyclic Redundancy Check (CRC)
19

Error Detection: Parity


Add an extra bit to a 7-bit code Odd parity: ensure an odd number of 1s
E.g., 0101011 becomes 01010111

Even parity: ensure an even number of 1s


E.g., 0101011 becomes 01010110

Overhead: 1/7th Power:


Detects all 1-bit errors But: cant detect an even number of bit errors in a word

Can use more bits to gain more power

20

Error Detection: Internet Checksum


Treat data as a sequence of 16-bit words Compute ones-complement sum of all 16-bit words Intermingles integrity of a large group of data Overhead: 16 bits Power:
Catches 1-bit errors, most other errors But not, e.g., same bit flipped in two different words

21

Error Detection: CRC


Family of powerful and principled algorithms
Detects wide range of bit corruption patterns seen in practice

Used by most modern link layers See K&R Section 5.2.3 Why do links use CRC but IP uses checksum?

22

Arbitrating Access in Shared Media

23

Point-to-Point vs. Broadcast Media


Point-to-point: dedicated pairwise communication
Long-distance fiber link Point-to-point link between Ethernet switch and host

Broadcast: shared wire or medium


Traditional Ethernet 802.11 wireless LAN

24

Multiple Access Algorithm


Single shared broadcast channel
Must avoid having multiple nodes speaking at once Otherwise, collisions lead to garbled data

Multiple access mechanism


Distributed algorithm for sharing the channel Algorithm determines which node can transmit

Classes of techniques
Channel partitioning: divide channel into pieces Taking turns: scheme for trading off who gets to transmit Random access: allow collisions, and then recover
o Optimizes for the common case of only one sender
25

Channel Partitioning: TDMA


TDMA: Time Division Multiple Access Access to channel in "rounds"
Each station gets fixed length slot in each round

Time-slot length is packet transmission time


Unused slots go idle

Example: 6-station LAN with slots 0, 3, and 4


Rounds

Slots = 0 1 2 3 4 5

0 1 2 3 4 5

26

Channel Partitioning: FDMA


FDMA: Frequency Division Multiple Access
Channel spectrum divided into frequency bands Each station assigned fixed frequency band Unused transmission time in frequency bands go idle Example: 6-station LAN, 1,3,4 have pkt, frequency bands 2,5,6 idle
frequency bands

FDM cable

27

Taking Turns MAC protocols


Polling Token passing Master node invites Control token passed from one slave nodes to node to next sequentially transmit in turn Node must have token to send data
poll

master
data

Concerns:
Token overhead Latency At mercy of any node

slaves

Concerns:
Polling overhead Latency Single point of failure (master)

28

Why Did Ethernet Beat Token Ring?


Performance?
No!

Latency?
No!

Cost (i.e., simplicity)?


Yes!

Reliability?
Yes!

29

5 Minute Break

Questions Before We Proceed?

30

Random Access MAC Protocols

31

Random Access MAC 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


Data lost

Random access MAC protocol specifies:


How to detect collisions How to recover from collisions

Examples
ALOHA and Slotted ALOHA CSMA, CSMA/CD, CSMA/CA (wireless, covered later)
32

Key Ideas of Random Access


Carrier sense
Listen before speaking, and dont interrupt Checking if someone else is already sending data and waiting till the other node is done

Collision detection
If someone else starts talking at the same time, stop Realizing when two nodes are transmitting at once by detecting that the data on the wire is garbled

Randomness
Dont start talking again right away Waiting for a random time before trying again
33

Where it all Started: AlohaNet


Norm Abramson left Stanford to surf

Set up first data communication system for Hawaiian islands


Hub at U. Hawaii, Oahu Had two radio channels:
Random access:

Broadcast:

o Sites sending data o Hub rebroadcasting data

34

Slotted ALOHA
Assumptions All frames same size Time divided into equal slots (time to transmit a frame) Operation When node gets fresh data, transmits in next slot No collision: success! Collision: node retransmits frame in each subsequent slot with probability p until success

Nodes are synchronized


Nodes begin to transmit frames only at start of slots

If two or more nodes transmit, all nodes detect collision


35

Slot-by-Slot Example

36

Efficiency of Slotted Aloha


What is the maximum fraction of successful transmissions?

Suppose N stations have packets to send


Each transmits in slot with probability p Probability of successful transmission is roughly:
by a particular node i: Si = p (1-p)(N-1) by exactly one of N nodes: S= N p (1-p)(N-1)

Limiting behavior:
For fixed p, S 0 as N increases But if p = 1/N, then S 1/e = 0.37 as N increases

Max efficiency is only slightly greater than 1/3!


37

Pros and Cons of Slotted Aloha

Pros

Cons
Wasted slots:
Idle Collisions

Single active node can continuously transmit at full rate of channel


Highly decentralized: only need slot synchronization Simple

Nodes should detect collision in less than time to transmit packet Clock synchronization
38

Improving on Slotted Aloha


Fewer wasted slots
Need to decrease collisions and empty slots

Dont waste full slots on collisions


Need to decrease time to detect collisions

Avoid need for synchronization


Synchronization is hard to achieve

39

CSMA (Carrier Sense Multiple Access)


CSMA: listen before transmit
If channel sensed idle: transmit entire frame If channel sensed busy, defer transmission

Human analogy: dont interrupt others!

40

CSMA Collisions
Collisions can still occur:
propagation delay means two nodes may not hear each others transmission in time. At time t1, D still hasnt heard Bs signal sent at the earlier time t0, so D goes ahead and transmits: failure of carrier sense.

Collision: entire packet


transmission time wasted Do we still needs slots? Would slots hurt or help?

41

CSMA/CD (Collision Detection)


CSMA/CD: carrier sensing, deferral as in CSMA
Collisions detected within short time Colliding transmissions aborted, reducing wastage

Collision detection easy in wired LANs:


Compare transmitted, received signals

Collision detection difficult in wireless LANs:


Reception shut off while transmitting Even if on, might not be able to hear the other sender, even though the receiver can Leads to use of collision avoidance instead (later)

42

CSMA/CD Collision Detection


Both B and D can tell that collision occurred. This lets them (1) know that they need to resend the frame, and (2) recognize that theres contention and adopt a strategy for dealing with it. Note: for this to work, we need restrictions on minimum frame size and maximum distance
43

Limits on CSMA/CD Network Length


A latency d B

Latency depends on physical length of link


Time to propagate a packet from one end to the other

Suppose A sends a packet at time t


And B sees an idle line at a time just before t+d so B happily starts transmitting a packet

B detects a collision, and sends jamming signal


But A cant see collision until t+2d
44

Limits on CSMA/CD Network Length


A latency d B

A needs to wait for time 2d to detect collision


So, A should keep transmitting during this period and keep an eye out for a possible collision

Imposes restrictions. E.g., for 10 Mbps Ethernet:


Maximum length of the wire: 2,500 meters Minimum length of a frame: 512 bits (64 bytes)
o 512 bits = 51.2 sec (at 10 Mbit/sec) o For light in vacuum, 51.2 sec 15,000 meters vs. 5,000 meters round trip to wait for collision

45

Performance of CSMA/CD
Time wasted in collisions
Proportional to d

Time spend transmitting


Proportional to packet length p

Efficiency ~ 1/(1+5d/p)
For large packets, small distances, E ~ 1

Note that as bandwidth increases, p decreases


That is why high-speed LANs are all switched
46

Game Theory?
What happens when one node has CD and the other doesnt? When do we see this in real life?

47

Ethernet (Single Segment)

48

Ethernet: CSMA/CD Protocol


Carrier sense: wait for link to be idle Collision detection: listen while transmitting
No collision: transmission is complete Collision: abort transmission & send jam signal

Random access: binary exponential back-off


After collision, wait a random time before trying again After mth collision, choose K randomly from {0, , 2m-1} and wait for K*512 bit times before trying again

The wired LAN technology


Hugely successful: 3/10/100/1000/10000 Mbps
49

Ethernet Frame Structure


Sending adapter encapsulates packet in frame

Preamble: synchronization
Seven bytes with pattern 10101010, followed by one byte with pattern 10101011 Used to synchronize receiver & sender

Type: indicates the higher layer protocol


Usually IP (but also Novell IPX, AppleTalk, )

CRC: cyclic redundancy check


Receiver checks & simply drops frames with errors
50

Ethernet Frame Structure (Continued)


Addresses: 48-bit source and destination MAC addresses
Receivers adaptor passes frame to network-level protocol
o o o o If destination address matches the adaptors Or the destination address is the broadcast address (ff:ff:ff:ff:ff:ff) Or the destination address is a multicast group receiver belongs to Or the adaptor is in promiscuous mode

Addresses are globally unique


o Assigned by NIC vendors (top three octets specify vendor) During any given week, > 500 vendor codes seen at LBNL

Data:
Maximum: 1,500 bytes Minimum: 46 bytes (+14 bytes header + 4 byte trailer = 512 bits)

51

Ethernet, cont
Connectionless
No handshaking between sending and receiving adapter

Unreliable
Receiving adapter doesnt send ACKs or NACKs Packets passed to network layer can have gaps Gaps will be filled if application is using TCP Otherwise, application will see the gaps

2,700 page IEEE 802.3 standardization


http://standards.ieee.org/getieee802/802.3.html

Note, classical Ethernet has no length field


instead, sender pauses 9.2 sec when done 802.3 shoehorns in a length field
52

Benefits of Ethernet
Easy to administer and maintain Inexpensive Increasingly higher speed Evolvable

53

Evolution of Ethernet
From shared media to switches
Why?

From electrical signaling to also optical

Changed everything except the frame format


Lesson
The right interface can accommodate many changes Implementation is hidden behind interface
54

BEB: Reality vs Theory


In reality, binary exponential backoff (BEB)
Performs well Is irrelevant (why?)

In theory, a very interesting algorithm


Stability of algorithm for finite N only proved in 1985 All backoff algorithms unstable for infinite N (1985)
o Poisson model: infinite user pool, all with infinitesimal demand Sums to finite load

55

MAC Channel Capture in BEB


Two hosts, each with infinite packets to send With BEB, there is a finite chance that the first one to have a successful transmission will never relinquish the channel
The other host will never send a packet

56

Different Backoff Functions


Exponential:
Channel capture Efficiency less than 1

Superlinear polynomial:
Channel capture Efficiency is 1 (for any finite N)

Sublinear polynomial:
No channel capture Efficiency is less than 1 (and goes to zero for large N)
57

Next Lecture
Finish up Links and LANs
Ethernet: spanning multiple segments Spanning trees

Remember:
HW #2 due Project 1A due Requests for regrades due

58

You might also like