Presentation is loading. Please wait.

Presentation is loading. Please wait.

Outline A little hardware Ethernet Realistic data transfer rates

Similar presentations


Presentation on theme: "Outline A little hardware Ethernet Realistic data transfer rates"— Presentation transcript:

1 Outline A little hardware Ethernet Realistic data transfer rates
Chapter 2 Tidbits Outline A little hardware Ethernet Realistic data transfer rates Spring 2006 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 Spring 2006 CS 332

3 Example Workstation Architecture
Spring 2006 CS 332

4 Key Features Memory is finite (say 4 – 128 MB)
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 Sits on system I/O bus and delivers data between memory and network link Device driver on workstation manages the adaptor (i.e., where (memory address) should incoming data be stored) While CPU speeds doubling every 18 months, same is not true of memory speeds (only appx. 7% increase per year) As a network node, a workstation runs at memory, not processor, speeds to a first approximation! Spring 2006 CS 332

5 The Memory Bottleneck Text Section 2.9.3!
Memory Bandwidth on a modern PC-class machine Spring 2006 CS 332

6 The Memory Bottleneck Looks like we should be able to transmit frames between network adaptor and host memory at rate of 1056 Mbps Misleading: the figure measures peak bandwidth! Limitation is size of data blocks being transferred across bus Ex. Takes 8 clock cycles to acquire bus (regardless of number of bytes transferred), so 64 byte payload takes 24 cycles (bus is 32 bits wide so 16 cycles for data + 8 for bus acquisition) so max bandwidth is Mbps Spring 2006 CS 332

7 But There’s More… Memory/CPU bandwidth (1880 Mbps) is realistic, but same order of magnitude as range of network bandwidths machine can support. So yes, can deliver frames from network to memory and then load into CPU registers at network bandwidth, but… It is impractical for device driver, OS, and application to go to memory multiple times for each word of data in a network packet (possibly because it needs to copy data from one buffer to another). If memory/CPU path crossed n times, then effective throughput is 1880 Mbps/n. Ex. If copying needs to be done 5 times (not uncommon), then your peak bandwidth is now 376 Mbps. Spring 2006 CS 332

8 Ethernet (802.3) Section 2.6 in text! 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). Spring 2006 CS 332

9 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 is the “official” protocol, though not every Ethernet follows this standard (slight differences in certain packet header fields, etc). Spring 2006 CS 332

10 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) Spring 2006 CS 332

11 Ethernet Transceiver and Adaptor
Spring 2006 CS 332

12 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 Spring 2006 CS 332

13 All hosts in the same collision domain Spring 2006 CS 332

14 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) Spring 2006 CS 332

15 Frame Format (cont.) Minimum of 46 and maximum of 1500 bytes of data
Minimum required to frames long enough for collision detection 32 bit CRC (cyclic redundancy check) 802.3 format slightly different (16 bit length field replaces the type field) Software kludged so that it can handle either Spring 2006 CS 332

16 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 Spring 2006 CS 332

17 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 It passes to host only the frames that it accepts Spring 2006 CS 332

18 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s after one frame before sending next Spring 2006 CS 332

19 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?! Spring 2006 CS 332

20 512 Bits… Worst case scenario: A sends frame at time t
A’s frame arrives at B at time t+d B begins transmitting at time t+d and collides with A’s frame B’s runt (32 bits) arrives at A at time t +2d Host A must transmit for 2d to be sure it detects all possible collisions! Spring 2006 CS 332

21 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 Spring 2006 CS 332

22 Ethernet Success Extremely easy to administer and maintain Inexpensive
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 Spring 2006 CS 332


Download ppt "Outline A little hardware Ethernet Realistic data transfer rates"

Similar presentations


Ads by Google