You are on page 1of 66

Ethernet

EECE 542 Brad Guenther

History
Originally developed at Xerox PARC (Palo Alto Research Center) in 1973 First 10 Mbps standard published in 1980 by DEC, Intel, and Xerox (DIX). Used thick coax cable. This led to IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications in 1985.

10Base5 Media

10BaseT

10baseFL 62.2/125 m Multimode Fiber

100BaseTX 100BaseFX TIA/EIA UTP Cat 5 and up (2 pair) 62.2/125 m Multi-mode Fiber Or Single mode fiber

Thick coax TIA/EIA UTP Cat RG-8, 3,4,5,5e,6 RG-11 (2 pair)

Speed

10 Mbps

10 Mbps

10 Mbps

100 Mbps

100 Mbps

Max 500 Meters 100 Seg. Meters Length

2000 Meters

100 Meters

400/2000 Meters (full/half duplex), 10 Km

802.3a-1985 10Base2 Thin net 802.3i-1990 10BaseT twisted-pair 802.3u 100Base-T Fast Ethernet w/ AutoNegotiation 802.3x-1997 Full Duplex standard 802.3ab-1999 1000Base-T Gigabit Over Twisted pair

10 Mbps Frame Requirements


Minimum frame time = 51.2 ms Minimum length = 51.2 ms x 10 Mbps = 512 bits = 64 bytes Why? Late Collisions are a bad thing! (Early Collisions are normal) Max length set to 1518 bytes due to memory cost and monopoly laws Bytes are sent in normal order, but the bits in each byte are sent in LSB order 9.6 microsecond interframe gap

802.3 MAC Frame


7 1 SD 6 Destination Address 6 Source Address 2

1500 max
Data Pad

4 FCS

Preamble

Length

Start with 7 bytes of 1010101 to get timing syncd (layer 1) Then indicate the frame is starting (10101011) last chance to sync! PDU headers (addresses + length type) Data (46-1500 bytes -- may contain some control info as well) Add bits if necessary to get to 46 bytes CRC-32 FCS

Frame Encapsulation
Different Encapsulation types exist for Ethernet Two machines communicating using a given layer three protocol must be using the same Ethernet encapsulation type Different encapsulation types can be used for different layer 3 protocols.

Frame Encapsulation Types


802.3 (Raw Ethernet) Ethernet II 802.2 (802.3 w/ addition of 802.2 headers) SNAP (802.3 + 802.2 + SNAP headers)

Ethernet II
Standard introduced by DIX. Used almost universally by networks using TCP/IP Uses type field that denotes the layer 3 protocol that is encapsulated within Ex: 0x0800 = IPv4, 0806 = ARP

802.3 MAC Frame


7 Preamble Synch

1
SD Start frame

6 Destination Address

6 Source Address

46-1500

4
FCS

Length Information Pad

64 to 1518 bytes

Length < 1518 Type > 1536 Ethernet II Frame


7 Preamble Synch 1 SD Start frame 6 Destination Address 6 Source Address 2 Type Information Pad 4 FCS

64 to 1518 bytes

802.2 -- LLC
Logical Link Control Added more layer 2 header information that act as pointers to memory buffers. Provides information to layer 3. Allows multiplexing of upper layer protocols on the same network Service Access Points SAP Maybe either connection-oriented or connectionless

Connectionless Services
Type 1 LLC (unreliable)
Unacknowledged: Here ya go! Data accepted silently.

Acknowledged: Here ya go! Data accepted. Thanks!

Connection-Oriented Service
Type 2 LLC (reliable) Establish connection: Hey are you listening to me? Do I have to I suppose. Good! How fast can we talk and can we talk at the same time? Transfer Data: Same as before Close connection: Ok, thats all I have to say. Oh good, hes done! Thanks for shutting up! Ok, he knows Im done. Adds sequence numbers

LLC headers
Adds Three fields between the address fields and the data field. Destination service access point (DSAP) a first bit=1 indicates group Source Service Access Point (SSAP) a first bit=1 indicates a command Control field identifies the type of PDU (first 3 bits) DSAP & SSAP used to identify sending and receiving protocol stacks

1 byte Destination SAP Address

1 Source SAP Address

1 Control Information

Destination SAP Address I/G 1 7 bits C/R 1

Source SAP Address

7 bits

I/G = Individual or group address

C/R = Command or response frame

Figure 6.14

Type 1 Commands
Unnumbered Information Frame (UI) (no reply expected) Exchange Identification Request (XID) exchange supported LLC services and receive window size. XID reply Test Frame Request Test Frame Reply

Type 2 Commands
Information Frame (I-Frame) (blocks of sequentially number data also contains number of next expected block) Receiver Ready (RR) (used to ack received data when no data to send) Receiver Not Ready (RNR) (hold on a second) Reject (Rej) (Could you send that again?)

Type 2 Commands (cont.)


SABME (Sa-bim-ee) Set Async. Balanced Mode Extended used to establish link between two stations Disconnect (DISC) Used to terminate a connection Unnumbered Ack (UA) Disconnect Mode (DM) response to DISC Frame Reject (FRMR) catastrophic failure (cant be fixed by retrans.

SNAP
Sub-Network Access Protocol Adds 5 bytes of headers First 3 bytes are similar to an OUI often the same information. If not used, it is set to zero. Remaining two bytes contain information about the encapsulated protocol (similar to Ethernet II)

ORG
3

Type
2

SNAP PDU

SNAP Header

Information

LLC PDU

AA AA 03
1 1 1

802.3 Frame

MAC Header

FCS

Encapsulation Summary

Snap SSAP and DSAP


00 Null LSAP 02 Individual LLC Sublayer Management Function 03 Group LLC Sublayer Management Function 7E ISO 8208 (X.25 over IEEE 802.2 Type 2 LLC) 80 Xerox Network Systems (XNS) 86 Nestar 8E PROWAY (IEC 955) Active Station List Maintenance 98 ARPANET Address Resolution Protocol (ARP) BC Banyan VINES AA SubNetwork Access Protocol (SNAP) E0 Novell NetWare F0 IBM NetBIOS F4 IBM LAN Management (individual) F5 IBM LAN Management (group) F8 IBM Remote Program Load (RPL) FA Ungermann-Bass FE ISO Network Layer Protocol FF Global LSAP Others

Ethernet II Type Field


0000-05DC IEEE 802.3 Length Fields (0x5DC=1500d) 0101-01FF Experimental (for development) -- Conflicts with 802.3 Length Fields 8038 DEC LANBridge 8039 DEC DSM 8137 Novell (old) NetWare IPX 8138 Novell 9000 Loopback (Conifguration Test Protocol) 9001Bridge Communications XNS Systems Management
More info see: http://www.wildpackets.com

Layer 2 Addresses
12 hex digits (6 bytes) Unicast:
6 hex digit vendor code (OUI) 6 hex digit serial number www.cavebear.com/CaveBear/Ethernet/vendor.html

Broadcast:
All 1s (Valid for destination only)

Multicast:
Reserved list of 12 digit addresses www.cavebear.com/CaveBear/Ethernet/multicast.html

Frame Format Issues


Notice the order of addressing information in the frame headers: How is it significant? What impact does it have on network devices? How does the frame format relate to transmission order (both byte-wise and bitwise)?

Sources of Frame Corruption


Collisions Jabber Runt Frames / Oversized Frames Reflections (mismatched imped., no term., sharp bends) Electrical Noise Crosstalk NEXT

10 Mbps Ethernet
10Base2: 50 ohm coax, 185 meters 10Base5: 50 ohm thick coax, 500 meters 10BaseFB: Multimode Fiber, star topology, 2000 meters 10BaseFP: Multimode Fiber, star topology, 500 meters, 33 computers 10BaseFL: Multimode Fiber, node to node 2000 meters 10BaseFX: collective name for the fiber variants 10BaseT: UTP, star topology, 100 meters

10BaseT
UTP with max segment length of 100m Manchester Line Coding, No Block Coding 5-4-3 Rule: Between any two nodes on a network, there can only be a maximum of five segments, connected through four hubs and only three of the five segments may contain user connections 10/100 UTP cabling: 90m main run,6m patch,3m workstation

EIA/TIA Cabling Standards


1 White/Green 2 Green 3 White/Orange

568-a:

4 Blue 5 White/Blue 6 Orange 7 White/Brown 8 Brown

1 White/Orange 2 Orange 3 White/Green

568-b

4 Blue 5 White/Blue 6 Green 7 White/Brown 8 Brown

Other cabling issues


MDF, IDF Where do you locate them POP (not meaning email here) How many? Max 2 Hubs & 2 100m Segments (plus patch cables up to 10m) 7 switches between devices (14 hops)

100 Mbps
100BaseTX: 802.3, >= cat 5 UTP, 100 meters, 2 pairs (4 wires) EIA/TIA 568/569 100BaseT4: 100BaseT4 uses four pairs of wiring: one for transmission, one for reception, and two that can do either one. It basically has three pairs of wiring to either transmit or receive data. It divides the 100Mbit/sec data signal between the three pairs of wiring, thus reducing the average frequency of signals on the cable. This lets you work with cat 3 and up UTP and cat 1 STP. 100BaseFX: 62.5/125 fiber, 400 meters 100VG.

100BaseTX
Cat 5 UTP, Uses 2 pairs (1 for RX & 1 TX) Uses MLT-3 Line Coding Uses 8B10B Block coding One hub per collision domain as a general rule (10BaseT allowed them to be cascaded 4 deep) 100BaseTX switches will generally operate at either 10 or 100 Mbps and can be used to connect 10 and 100 Mbps segments

Server

Ethernet Switch

100 Mbps links


Ethernet Switch

10 Mbps links

MLT-3

Auto-negotiation
Uses a series of link pulses to transmit a 16 bit word (Fast Link Pulse Burst) 17-33 pulses similar to Normal Link Pulses used by 10baseT to test link Burst lasts about 2ms Interleaves clock pulses with data pulses. No pulse within time frame after clock pulse indicates a 0.

Auto-negotiation
5 Selector bits (0001=802.3) 8 Tech. Ability Bits Priority: 1000Base-T FD, 1000Base-T HD, 100Base-TX FD, 100Base-T4 (HD), 100Base-TX HD, 10Base-T FD, 10Base-T Hubs have to be half duplex same speed why? Causes problems if improper cables used. Other black magic

802.3 Full Duplex Operation


Only done by switches hubs claiming to be full duplex capable are actually switches? Why? What do switches and hubs look like logically? What impact does this have over the maximum (unrepeated segment length)? Maximum overall segment length? Why? Impact on frame size? (min or max)?

100BaseT4
Designed to run over older voice grade cat 3 UTP Uses 4 pair (8 wires) with each wire running at 25 Mbaud (33.3 Mbps). One pair is dedicated TX, One pair is dedicated RX, and Two pair are bidirectional

100BaseT4
Uses 8B6T encoding 00(hex)=+-00+01(hex)=0+-+-0 Maps 2^8 (256) 3^6 (729) values Combination of line coding and block coding 3 wire pairs x 25 M symbols/sec x 8 bits/6 symbols = 100 Mbps

Gigabit
1000BASE-LX 1000-Mbps gigabit Ethernet specification using two strands of multimode or single mode fiber-optic cable per link. To guarantee proper signal recovery, a 1000BASELX link cannot exceed 550 meters over multimode fiber or 10 km over single mode fiber. 1000BASE-SX: 1000-Mbps gigabit Ethernet specification using two strands of multimode fiber-optic cable per link. 1000BASE-SX links cannot exceed 550 meters.

Gigabit (cont)
1000BASE-X: General Term for gigabit over fiber. Use 8B10B block coding and NRZ Line coding 1000BASE-T: Gigabit over copper, IEEE 802.3ab, Cat 5 UTP, 4 pair, 100 meters

Gigabit Over Copper


802.3ab Full Duplex only 8B1Q4 converts 8 bits to 4 quinary symbols 4D-PAM5 encoding 8 bits are mapped to 4 symbols, each symbol has a value of +2,+1,0,-1, or 2 Maps 2^8 (256) bits into 5^4 (625) symbols 125 Mbaud per pair x 4 pair x 8 bits / 4 symbols = 1 Gbps

Gigabit over Cu (Cont)


Sends code groups of {2,0-2} when idle Start of Stream delimiter sent when new frame arrives Use of hybrids and cancellers enables full duplex transmission by allowing symbols to be transmitted and received on the same wire pair at the the same time IEEE 802.3ab supplement to 802.3 std.

10 Gigabit Networks
IEEE 802.3ae Frame length: 40 bytes to 16,380 bytes No autonegotiation Full Duplex Only What impact does this have on frame encapsulation? I.e. length field? What does it to to the minimum length?

10gae
Somewhat being defined by an organization of manufacturers Why has Ethernet not been a WAN standard Why might 10gae be WAN capable? How? SONET a layer 2 WAN technology can be used to carry Ethernet Frames. Use features of both technologies to overcome problems

10G Ethernet
Both parallel and serial standards exist 10GBase-(S,L, or E)(R,W, or X) S = short wavelength (850nm), L= long wavelength (1300nm), and E= ext. wavelength (1550 nm) R uses 64B/66B, W uses 64B/66B encap. In STS-192 for SONET, and X uses 8B/10B

Parallel LAN 10G Ethernet


WWDM LAN PHY uses 4 parallel channels of 8B/10B coded data. Each channel is called a lane and sends at 2.5G symbols/sec = 3.125 Gbs 10Base-LX4 Added IPG (not the same as the padding done at a lower layer)

Serial 10G Ethernet


LAN PHYs: 10GBase-SR (2-300m), 10GBase-LR (2-10km), 10GBase-ER (240km) WAN PHYs: 10GBase-SW (2-300m), 10GBase-LW (2-10km), 10GBase-EW (240km)

Block & Line Coding Review


Block 10BaseT N/A 10BaseF N/A 100BaseTX 4B/5B 100BaseT4 8B6T 100BaseF 4B/5B 1000BaseT 4D-PAM5 1000BaseF 8B/10B 10gae 8B/10B or 64B/66B Line Manchester NRZI Manchester N/A NRZI N/A NRZI NRZI

Additional Special Frames


VLAN Frames (802.1Q) Pause Frames

VLANs
Break switches up into multiple virtual switches Can be either tagged or untagged Untagged VLANs use normal ethernet frames Tagged VLANs add additional header information

802.1Q VLAN Frame Tags


Dst Addr Src Addr 802.1Q Tag (in L/T field) 2 - bytes Tag Ctrl Info L/T Data Pad

FCS

2-bytes

Tag: 0x8100 (always -- at least for Ethernet) Tag Ctrl Info: 1st 3 bits indicate priority, then a 1 bit Canonical Format Indicator (CFI) set to zero for Ethernet switches, remaining 12 bits indicate which VLAN the frame is from/for

VLANs
Useful for breaking up large switches so that LANs can be segmented for performance or security reasons How does this affect performance? How does this affect security?

Pause Frames
Sent by full duplex DTEs only Requests that transmission to the sending DTE be inhibited for a brief period Uses multicast address 01:80:C2:00:00:01 Not forwarded by 802.1D capable bridges/switches Pause time is a 2 byte field specifying how many 512 bit times transmission should be inhibited

Pause Frames

FCS
Used to check frame integrity Sent MSB first! CRC-32 Usually done with a shift register and XOR gates

Polynomial Codes
Relatively easy to implement with shift registers. Cyclic Redundancy Checks (CRC) Use polynomials with binary coefficients to represent information symbols, codewords, and error vectors

CRC Codes
i( x) ik 1x ik 2 x ... i1 x i0
i = k information bits

k 1

k 2

b( x ) x

n k

i( x) r( x)

r(x) is the remainder of the polynomial division of the shifted form of i(x)/g(x) g(x) has dimension (n-k) Gives n codeword bits First part shows k info bits shifted n-k bits to the left Second part is the (n-k) bit remainder polynomial (n codeword bits, k info bits, and n-k check bits)

CRC Codes

CRC Encoding Steps


Multiply i(x) by x^(n-k) to shift i(x) n-k bits to the left, inserting 0s on the right Divide x^(n-k)*i(x) by g(x) to get q(x) + r(x). (polynomial division uses modulo-2 addition i.e. x^j+x^j=(1+1)x^j=0

Division Example
k=4, n=6 i(x)=x^3+x^2+1 g(x)=x^2+1 How many check bits will there be? Find q(x) and r(x) How long would b(x) be? What is the value of b(x)?

Binary Example
i(x) = x^2+x = 110 g(x) = x^3+x+1=1011 k=3, n=6, how many check bits? What is q(x), r(x) What would b(x) be in a.) binary form & b.) poly form

CRC and Ethernet


Ethernet uses CRC-32 which uses
G(x)=x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^ 8+x^7+x^5+x^4+x^2+x+1 (degree 32 polynomial)

How could the receiver use this? (What two ways could it calculate to see if the FCS was correct?) A bit more to it

You might also like