Chapter 2 Tidbits

27
Spring 2010 CS 332 1 Chapter 2 Tidbits Outline A little hardware Ethernet Reading: Sec. 2.1, 2.2, 2.6

description

Chapter 2 Tidbits. Outline A little hardware Ethernet Reading: Sec. 2.1, 2.2, 2.6. Why?. Host architecture affects “realistic” data transfer rates, which affects protocol design It’s a good idea to see a bit of the details of how at least one kind of LAN works - PowerPoint PPT Presentation

Transcript of Chapter 2 Tidbits

Page 1: Chapter 2 Tidbits

Spring 2010 CS 332 1

Chapter 2 Tidbits

OutlineA little hardwareEthernet

Reading: Sec. 2.1, 2.2, 2.6

Page 2: Chapter 2 Tidbits

Spring 2010 CS 332 2

Why?

• Host architecture affects “realistic” data transfer rates, which affects protocol design

• It’s a good idea to see a bit of the details of how at least one kind of LAN works– Ethernet is popular (though being replaced by faster

technologies)

– It uses a media access control (MAC) protocol that gives a good introduction to some of the problems encountered in MAC design

Page 3: Chapter 2 Tidbits

Spring 2010 CS 332 3

Example Workstation Architecture

I/O bus

(To network)

CPU

Memory

NetworkadaptorCache

Page 4: Chapter 2 Tidbits

Spring 2010 CS 332 4

Key Features

• Memory is finite (say 1GB – 8 GB)– Memory (along with bandwidth) are two key scarce network resources

that must be carefully managed– Scarce because on a switch or router, packets must be buffered in

memory while awaiting transmission over link• Each node connects to network via a network adaptor (card,

interface)– Sits on system I/O bus and transfers data between memory and

network link– Device driver (OS component) on workstation manages the adaptor

(i.e., where (memory address) should incoming data be stored, what commands are sent to adaptor and when)

• While CPU speeds are doubling every 18 months, same is not true of memory speeds (only approx. 7% increase per year)– It is the speed of memory access, not how fast the processor is, that

limits how fast we can transfer data on the network!

Page 5: Chapter 2 Tidbits

Spring 2010 CS 332 5

Interfacing to the wire

• Transceiver functions– Signal detection– Collision detection– Jam signaling

• Controller functions– Transmit and receive packets– Frame construction– Address recognition– Packet buffering– Checksum generation &

verification– DMA interaction with memory

Cable

Tap

Transceiver

TransceiverCable

Chassis

NetworkController

SystemBackplane

Page 6: Chapter 2 Tidbits

Spring 2010 CS 332 6

The Memory Bottleneck

Memory Bandwidth on a modern PC-class machine

I/O bus3200 Mbps 8512 Mbps

CPU

Memory

Crossbar

Page 7: Chapter 2 Tidbits

Spring 2010 CS 332 7

The Memory Bottleneck

• Looks like we should be able to transmit frames between network adaptor and host memory at rate of 8512 Mbps– Misleading: the figure measures peak bandwidth! (64 bit wide bus

@ 133 MHz = 8512 Mbps) – ignores overhead

– Limitation is size of data blocks being transferred across bus

– Ex. Takes 8 clock cycles to acquire bus, regardless of number of bytes transferred (bus arbitration), so 64 byte payload takes 16 cycles (bus is 64 bits wide so 8 cycles for data + 8 for bus acquisition) so max bandwidth is

42568512)88(8

Mbps

Page 8: Chapter 2 Tidbits

Spring 2010 CS 332 8

But There’s More…• Memory/CPU bandwidth (3200 Mbps) is realistic, but

same order of magnitude as range of network bandwidths machine can support.

• So yes, there is a network-speed path to CPU registers…• We may need to "touch" each word of data in a network

packet multiple times to process it (possibly because it needs to be copied from one buffer to another).– If memory/CPU path crossed n times, then effective throughput is

3200 Mbps/n. – Ex. If copying needs to be done 5 times (not uncommon), then

your peak bandwidth is now 640 Mbps.

• Fixing involves protocol stack architecture, understanding cache/memory interaction, etc.

Page 9: Chapter 2 Tidbits

Spring 2010 CS 332 9

LANs and the OSI RM

• Primary Data Link Layer Tasks– Data Framing

– Error Detection

– Acknowledgments

– Retransmissions

– Duplicate detection

Typical LANs need only address Data Link layer issues of

providing communication between two computers which are

“directly connected.”

Page 10: Chapter 2 Tidbits

Spring 2010 CS 332 10

LANs and the OSI RM

• Primary Media Access Sublayer Tasks– Arbitrating access to shared medium

– Error detection

Because most LANs use broadcast media, the Data Link layer is divided between the “Logical Link Control” sublayer (for “point-to-point” Data Link layer functionality) and the “Media Access” sublayer, which disguises the broadcast service provided by the physical layer as a set of point to point links.

Page 11: Chapter 2 Tidbits

Spring 2010 CS 332 11

Ethernet (IEEE 802.3)

• Multiple access network– Nodes send and receive frames over a shared link

• Carrier Sense Multiple Access with Collision Detect (CSMA/CD)– CSMA: all nodes can distinguish between an idle and busy link– CD: nodes listen as they transmit and can therefore detect when

frame it is transmitting has interfered with a frame transmitted by another node

• Evolved philosophically from the Aloha packet radio network (both mediate access to a shared medium—for Aloha it was the atmosphere, for Ethernet a coaxial cable).

Section 2.6 in text!

Page 12: Chapter 2 Tidbits

Spring 2010 CS 332 12

Ethernet (802.3)

• DEC, Intel, Zerox joined forces to define 10Mbps Ethernet standard in 1978. – 100Mbps and 1Gps Ethernet are designed for point-to-

point switched network, so not the “true” ethernet algorithm.

• IEEE Standard 802.3 is the “official” protocol, though not every Ethernet follows this standard (slight differences in certain packet header fields, etc).

Page 13: Chapter 2 Tidbits

Spring 2010 CS 332 13

Physical Properties

• Implemented on coaxial cable of up to 500 meters in length

• Hosts connect by “tapping” into it. – Taps at least 2.5 meters apart

• Transceiver is small device directly attached to tap– Detects when line is idle and drives signal when host is

transmitting

• All protocol logic implemented in the adaptor (not transceiver)

Page 14: Chapter 2 Tidbits

Spring 2010 CS 332 14

Multiple Ethernet Segments• Multiple Ethernet segments can be joined together

by repeaters– No more than four repeaters between any two hosts (so

Ethernet has a total reach of only 2500 meters).– Like single Ethernet, each host hears every message

sent on network

• An Ethernet is limited, regardless of whether repeaters used, to 1024 hosts

• Again, any signal is heard by everyone– Terminators attached to end of each segment absorb

signal and keep if from reflecting back and interfering with trailing signals

Page 15: Chapter 2 Tidbits

Spring 2010 CS 332 15

All hosts in thesame collision domain

Page 16: Chapter 2 Tidbits

Spring 2010 CS 332 16

Frame Format

• 64 bit preamble for synchronization (unseen by host)

• 48 bit address fields for both destination and source

• Type field (to which higher level protocol should this frame be delivered)

Page 17: Chapter 2 Tidbits

Spring 2010 CS 332 17

Frame Format (cont.)

• Body: minimum of 46 and maximum of 1500 bytes of data– Minimum required to keep frames long enough for

collision detection

• 32 bit CRC (cyclic redundancy check) for error checking

• 802.3 format slightly different (16 bit length field replaces the type field)– Software kludged so that it can handle either

Page 18: Chapter 2 Tidbits

Spring 2010 CS 332 18

Addresses

• Typically written in hex notation– Ex. 8:0:2b:e4:b1:2

• Every Ethernet Adaptor in world has unique Ethernet address– Burned into ROM at factory– Each manufacturer has different prefix

• Ex. AMD starts with x080020

• Each frame transmitted on Ethernet received by every adaptor on that Ethernet

Page 19: Chapter 2 Tidbits

Spring 2010 CS 332 19

Adaptor Accepts:

• Frames addressed to its own address• Frames addressed to the broadcast address (all 1s)• Frames addressed to a multicast address (first bit 1) if

instructed to listen for that address by host• All frames, if it is in promiscuous mode• Note that every adaptor receives enough of every

frame to do address recognition• It passes to host only the frames that it accepts

Page 20: Chapter 2 Tidbits

Spring 2010 CS 332 20

Transmitter Algorithm

• When adaptor has frame to send and line is idle, it transmits frame immediately– Upper bound of 1500 bytes ensures that no adaptor can

occupy the line for too long

• If adaptor has frame to send and line is busy, it waits for line to go idle then transmits immediately– Well, all adaptors wait 9.6 μsec after one frame before

sending next

Page 21: Chapter 2 Tidbits

Spring 2010 CS 332 21

Transmitter Algorithm (cont.)

• It is possible for two or more adaptors to begin transmitting at same time (a collision)

• If collision occurs, both adaptors transmit a 32 bit jamming sequence, then stop transmitting.– So in minimal case an adaptor sends 96 bits: 64 bit preamble and

32 bit jamming sequence (this is called a runt frame)

– Runt frame only occurs if senders are near. In worst case they may need to send as many as 512 bits (64) bytes past preamble to detect collision (thus the 46 data byte miminum: 14 bytes of header plus 46 bytes of data plus 4 byte CRC = 64 bytes).

– Why 512 bits?!

Page 22: Chapter 2 Tidbits

Spring 2010 CS 332 22

512 Bits…

A sends frame at time t

A’s frame arrives at Bat time t+d

B begins transmitting attime t+d and collides withA’s frame

Host A must transmit for 2d to be sure it detects all possible collisions!

B’s runt (32 bits) arrives atA at time t +2d

Worst case scenario:

Page 23: Chapter 2 Tidbits

Spring 2010 CS 332 23

512 Bits (cont.)

• A maximally configured Ethernet is 2500 meters long

• Has max of 4 repeaters• Round trip delay has been determined to be 51.2 μs long, which on 10Mbps Ethernet is 512 bits

• Bottom line: limits placed on Ethernet are designed to limit latency on the network, and thus allow the access algorithm to work somewhat efficiently

Page 24: Chapter 2 Tidbits

And after the Collision?

• Min. pkt. length insures all colliding hosts detect the collision

• How do we decide when to try again?– Remember, a station has no information about what

other stations are involved or where they are located.

Spring 2010 CS 332 24

Page 25: Chapter 2 Tidbits

Binary Exponential Backoff Algorithm

• After first collision, randomly choose to retransmit after 0 or 1 slot times.

• If another collision, double the retransmission interval to four possible slots, and pick one at random.

• Repeat until:– Success – you're done; or

– 16 tries and no success. Quit and declare network broken. (Interval only increases first 10 times.)

Spring 2010 CS 332 25

Page 26: Chapter 2 Tidbits

BEB Notes

• Good because it requires no global (in the sense of knowing what's going on at other stations) state info. Completely distributed.

• Introduces a probabilistic element into the performance of the protocol

• We can't make hard guarantees about delay. (Token ring was better about this.)

Spring 2010 CS 332 26

Page 27: Chapter 2 Tidbits

Spring 2010 CS 332 27

Ethernet Success

• Extremely easy to administer and maintain– No switches that can fail

– No routing or configuration tables to maintain

– Easy to add new hosts

• Inexpensive– Cable is cheap

– Only additional cost is network adapter for each host (potentially as little as $5 per host these days)