You are on page 1of 29

Layer 2

Data Framing for Fun and Profit

Eric L. Michelsen
Inductive Logic

Where In the Stack Are We?


OSI 7. Application 6. Presentation 5. Session 4. Transport 3. Network 2. Link 1. Physical
1490 PPP Frame AAL2 AAL5 Relay Ether- 802.2 Novell SNAP net II (LLC) IPX

Link Layer Sublayers

HDLC

ATM
Ethernet

Bit serial (V.35, HSSI, DS1, DS3, etc.)

4/27/2001

Inductive Logic

Layers Upon Layers



Synchronous HDLC (SDLC) RFC 1662 (Asynchronous HDLC) Frame Relay RFC 1490 (Multiprotocol in Frame Relay) Four Flavors of Ethernet ATM (cells, AAL5 packets) RFC 1483 (Multiprotocol in AAL5) FUNI Reference formats: DSL, Frame Relay, ATM, DS1, DS3, SONET
Inductive Logic
3

4/27/2001

Synchronous HDLC (aka SDLC)


1 octet opening flag
01111110

2 or 4 data CRC closing flag flag flag

01111110 ... idle ...

Sends frames (packets) over a serial (synchronous)

bit stream Frames are delimited by flags (8 bits: 01111110) Shared flag closes one frame and opens the next Idle is usually flags, but may be 1s (mark idle) Shared zero flag is deprecated, and often banned:
flag flag 0111111011111101111110 flag

4/27/2001

Inductive Logic

HDLC Bit Stuffing


bit stuffed 0 01111110 . . .
opening flag

111110 . . . . 01111110
user data: five 1s closing flag

Transparency is by bit stuffing everything between the


flags: any sequence of five 1s has a 0 bit stuffed after it Stuffed frame length need not be a multiple of 8 bits Stuffing makes the effective data rate pattern sensitive 3 kinds of CRC: CRC-SDLC (aka CRC-CCITT), CRC-16, and CRC-32 (used by CCITT). CRC-16 detects errors better, but wasnt known when CRC-SDLC was chosen. Rarely used. Hardware sends/detects flags, bit stuffing, CRC
Inductive Logic
5

4/27/2001

RFC 1662 (Asynchronous HDLC)


Sends frames over a synchronous or asynchronous octet

stream (e.g., modem, X.25, SONET) Based on ISO/IEC 3309:1991 (HDLC framing) Frames delimited by flag octets: 01111110 (0x7E) Byte stuffing: escape = 0x7D, Following byte = (user data XOR 0x20) Flag and Escape bytes in user data MUST be escaped PPP Async Control Character Map (ACCM) specifies other values from 0 - 0x1F to escape (Tx), and ignore (Rx) Byte stuffing is often done in software
1 octet
opening flag 01111110 data

2 or 4
CRC closing flag 01111110
6

idle...

4/27/2001

Inductive Logic

Frame Relay
Uses synchronous HDLC framing sublayer Data Link Control Identifier (DLCI) multiplexes virtual
circuits. Usually only local significance. Uses Q.922 header: Usually 2-octet address (1024 DLCIs), extensions for 3 or 4 (EA=1 on last address octet) Max information length is configurable, 4096 max
1 octet 2 to 4 1 to max-length information 2 1 opening frame flag address CRC closing flag

F E DLCI[9:4] DLCI[3:0] C N 7 6 5 4 3 2 1 0 7 6 5 4 3
EA CR =0
4/27/2001

B E DE EA C =1 N 2 1 0
7

Inductive Logic

Frame Relay (cont.)


Link Management Interface (LMI) on fixed DLCI Forward Explicit Congestion Notification (FECN) set by
Frame Relay network if frame experienced congestion Backward ECN set if reverse direction is congested FECN & BECN set by network only

Q.922 is not clear if user equipment can set them or not

Discard Eligible, set by network for overcommitted, or


user for low priority, frames C/R bit carried transparently by Frame Relay network
frame address

F E DLCI[9:4] DLCI[3:0] C N 7 6 5 4 3 2 1 0 7 6 5 4 3
EA CR =0
4/27/2001

B E DE EA C =1 N 2 1 0
8

Inductive Logic

RFC 1490
Multiprotocol Encapsulation in FR

Allows a SNAP-like header in data field to encapsulate


raw LAN frames (bridged mode)

Bridging header (OUI = 0x00-80-C2 for 802.1) encapsulates LAN frame PID specifies with or without LAN FCS
1 3 2 6
LAN data

0 or 4
optional LAN FCS

Ctl pad NLPID OUI PID dest ... =3 =0 =0x80 MAC

LAN frame Frame Relay information field

Also allows direct IP encapsulation (routed mode)


Ctl NLPID = 3 = 0xCC
4/27/2001

IP packet

Frame Relay information field

Inductive Logic

Four Flavors of Ethernet



Ethernet II IEEE 802.2 IEEE 802.2 SNAP Novell IPX (raw 802.3) All use a common hardware sublayer:

This is the basis of the 64-byte minimum frame size Finally recognized by IEEE 802.3-1998 as the MAC layer
frame size 64 to 1518 48 (min) to 1502 (max) PID + data
pad (if needed)

8 octets
S preamble F D

4 FCS CRC-32

destination MAC

source MAC

1010 ... 1011

Ethernet Common HW sublayer


4/27/2001

Inductive Logic

10

Ethernet II
First widespread Ethernet standard PIDs administered by IEEE All IP on Ethernet is required to support this (RFC

1122), and almost all use it. All PIDs are >= 1536 (decimal) Exact packet length is not available from frame data alone, because of padding
6
S destination F MAC D

8 octets preamble

6 source MAC

2 PID

46 (min) to 1500 (max) data Ethernet II pad (if


needed)

4 FCS

Common HW sublayer
4/27/2001

Inductive Logic

Common HW sublayer
11

Destination and Source Service Access Points (DSAP and

Ethernet IEEE 802.2

SSAP) are essentially protocol IDs Used by IPX since Netware 3.12 (SAP=0xE0) Not used for IP Exact length available because length specifies valid data, not including padding Dont confuse Service Access Point (SAP) with Service Advertising Protocol (SAP)
6 6 2 1 1 1 43 to 1497 data
needed)

8 octets
preamble

dest source length DSAP SSAP Ctl MAC MAC

pad (if FCS

length
4/27/2001

Inductive Logic

12

IEEE 802.2 SNAP


SubNetwork Access Protocol (SNAP) OUI + PID allows vendors to define globally
unique protocol identifiers

OUI = Organizationally Unique Identifier

OUI = 0 implies PID is an Ethernet II PID Optional support in IP (RFC 1042)


8 octets
preamble

38 to 1492 data

dest source length DSAP SSAP Ctl OUI PID MAC MAC

pad (if FCS needed)

length

4/27/2001

Inductive Logic

13

Novell IPX (raw 802.3)


Defined by Novell before 802.3 was complete Phased out by Novell in Netware 3.12 Checksum is forced to 0xFFFF (=> none), takes

place of DSAP/SSAP Does not allow a real IPX checksum


6 6 2 46 (min) to 1500 (max) 2 data pad (if
needed)

8 octets

4 FCS

IPX destination source preamble length checksum MAC MAC = FFFF

IEEE 802.3

IPX header

4/27/2001

Inductive Logic

14

How Can I Tell?


Check PID/length first, then DSAP/SSAP
preamble MAC MAC
dest source PID >=

1536

data/pad

FCS Ethernet II

dest source length DSAP SSAP Ctl preamble MAC MAC 3-1535

data/pad

FCS 802.2

dest source length DSAP SSAP Ctl OUI PID preamble MAC MAC 8-1535 = AA = AA

data/pad

FCS

802.2 SNAP

dest source length preamble MAC MAC 2-1535


4/27/2001

FFFF

data/pad

FCS

Novell old IPX


15

Inductive Logic

Synchronous bit stream Bit stream may be framed (DS3, OC3) Cells are 53 bytes:
5 header + 48 payload Idle with null or unassigned cells Cell delineation usually by Header Error Check (HEC) ATM switches operate primarily on cells, ignoring payload type (PT) VPI/VCI is virtual circuit identifier VPI is 8 bits (UNI) or 12 bits (NNI) VCI is 16 bits CLP is like Frame Relay DE
Inductive Logic

ATM Cells
1

8 bits
GFC/ VPI...

VPI...

2 ...VPI

VCI...

...VCI... PT CLP

4 ...VCI 5

HEC (8-bit CRC)

6
: : 53 Payload 48 octets

4/27/2001

16

ATM AAL5 (Packets)


Packet framing above cell layer ATM Adaptation Layer 5 (AAL5)
packet layer
packets SAR (AAL5) cells ATM layer

includes Segmentation and Reassembly (SAR) of packets User-user bit in cell header payload-type (PTI) indicates last cell in packet
cell header AAL5 packet cell cell cell last cell cell cell

cell

PTI = last cell


4/27/2001

Inductive Logic

17

ATM AAL5 (Packets), cont.



Control, length, and CRC-32 at end of last cell Control field currently unused data length provides precise length Length in trailer allows starting to send packet before length is known

(cut through switches, e.g. frame to ATM)


N x 48

0 to 65,535 octets
data data length
4/27/2001

0 to 47
pad

2
data length

4
CRC-32

UU ctl

Inductive Logic

18

RFC 1483
Multiprotocol Encapsulation in ATM

Requires an 802.2 SNAP-like header in data field Allows for raw LAN frames (bridged mode)

Header (OUI = 0x00-80-C2 for 802.1) encapsulates LAN frames PID specifies with or without LAN FCS
1 1 3 2 2 6 ... LAN data LAN frame AAL5 or FUNI data field 0 or 4 optional LAN FCS

DSAP SSAP Ctl OUI PID pad dest ... =AA =AA =3 00 80 C2 00 xx 00-00 MAC

Also allows direct IP encapsulation (routed mode)


DSAP SSAP Ctl OUI PID
AA AA 03 00 00 00 08 00

IP packet

4/27/2001

Inductive Logic

19

Classical IP Over ATM


RFC 1577 (Classical IP and ARP over ATM)

Specifies RFC 1483 Routed IP format (802.2 SNAP) Defines Inverse-ARP for identifying your IP peer Defines a bunch of LAN Emulation (LANE) SVC stuff that no one uses

4/27/2001

Inductive Logic

20

FUNI
ATM standard for Frame User-Network Interface Q.922 HDLC frames to ATM AAL5 interworking Fully supports ILMI, OAM, SVCs: all ATM management
Premise Premise format
HDLC flag

FUNI Interworking cells

Device
ATM Network
VC payload CRC
HDLC flag

Q.922

variable

ATM format AAL5 trailer

VC payload

pad

4/27/2001

Inductive Logic

21

Some Common Encapsulations


1483 FUNI (Ethernet) 1483 FUNI (IP) 1490 (Ethernet) 1490 (IP) Q.922 Q.922 +1490 HDLC
HDLC Q.922 flag DLCI 528 AA AA 03 00 80 C2 00 07 00 00 HDLC Q.922 flag DLCI 528 AA AA 03 00 00 00 08 00 HDLC Q.922 flag DLCI 16 03 00 80 00 80 C2 00 07 HDLC Q.922 flag DLCI 16 HDLC flag HDLC flag HDLC flag Optional 1 or 2 HDLC Adrs Ctl PPP-PID flag FF 03

Ethernet frame IP packet Ethernet frame

CRC CRC CRC CRC CRC CRC CRC

HDLC flag HDLC flag HDLC flag HDLC flag HDLC flag HDLC flag HDLC flag

03 CC

IP packet VC payload

Q.922 Q.922 03
NLPID

ISO protocol packet HDLC payload

HDLC + PPP

PPP information

CRC

HDLC flag

4/27/2001

Inductive Logic

22

Frame Relay Encapsulations


1483 FUNI (Ethernet) 1483 FUNI (IP) 1490 (Ethernet) 1490 (IP)
HDLC flag

Q.922

AA AA 03 00 80 C2 00 07 00 00

Ethernet frame IP packet Ethernet frame

CRC CRC CRC CRC CRC

HDLC flag

HDLC flag

Q.922
Q.922

AA AA 03 00 00 00 08 00

HDLC flag

HDLC flag

03 00 80 00 80 C2 00 07

HDLC flag

HDLC flag

Q.922 03 CC Q.922
variable NL03 PPP-PID PID

IP packet VC payload

HDLC flag

None

HDLC flag

HDLC flag

PPP- HDLC Q.922 RFC1973 flag

PPP information

CRC

HDLC flag

4/27/2001

Inductive Logic

23

ATM Encapsulations
variable

None (AAL5)

VC payload

pad
variable

AAL5 trailer

1483 AA AA 03 00 80 C2 00 07 00 00 (Ethernet) 1483 IP AA AA 03 00 00 00 08 00 (ATM)

Ethernet frame

pad
variable

AAL5 trailer

IP packet

pad
variable

AAL5 trailer

FRF.5

Q.922
Optional 1 or 2 Adrs Ctl PPP-PID FF 03 1 or 2

VC payload

pad
variable

AAL5 trailer

CiscoPPP

PPP information

pad
variable

AAL5 trailer

PPP-2364NULL PPP-2364LLC

PPP-PID 1 or 2 FE FE 03 CF PPP-PID

PPP information

pad
variable

AAL5 trailer

PPP information

pad

AAL5 trailer

4/27/2001

Inductive Logic

24

DS1 ESF Framing


193-bit frame
M1

DS1-ESF (unchannelized)

192-bit Payload

C1

M2

F1=0

M3

C2

M4

F2=0

Reference T1.107

M5

C3

M6

F3=1

M7

C4

M8

F4=0

4 x 6 = 24 frames = 1 superframe

M9

C5

M10

F5=1

M11

C6

M12

F6=1

6-bit CRC 4 kbps Facility Data Link (FDL)

Frame Alignment Signal (FAS)

Framing is bit-oriented (rather than octet-oriented) 8k frames/s x 193 = 1.544 Mbps line rate (exactly) 8k frames/s x 192 = 1.536 Mbps payload rate (exactly) 8k frames/s 24 333 superframes/s 4/27/2001

Note: SF (aka D4) framing is not usable for data transport

Inductive Logic

25

DS3 Framing
680-bit M-subframe
X1

84-bit F1=1 Payload


F1=1

C1=1

F2=0

C2=1

F3=0

FE AC C3=1

F4=1

X2

C1=1

F2=0

C2=1

F3=0

F4=1

P1

F1=1

CP FE BE DL

F2=0

CP FE BE DL

F3=0

CP FE BE DL

F4=1

P2 M1 =0 M2 =1 M3 =0

F1=1

F2=0

F3=0

F4=1

F1=1

F2=0

F3=0

F4=1

F1=1

C1=1

F2=0

C2=1

F3=0

C3=1

F4=1

F1=1

C1=1

F2=0

C2=1

F3=0

C3=1

F4=1

M-Frame Alignment

M-subframe Alignment Framing is bit-oriented. C-bit-parity shown.


M23 mode sets C1 in subframe-1 randomly, other C-bits per stuffing

7 M-subframes = 1 M-frame

Reference T1.107
FEAC = Far End Alaram & Control FEBE = Far End Block Error DL = Data Link: HDLC EOC 26

X1 = X2 = not Remote Alarm Indication (RAI) P1 = P2 = CP = XOR of previous M-frame payload bits CP are end-to-end parity bits 44.736 Mbps line rate (exact) 44.736 x (84 / 85) 44.210 Mbps payload rate Inductive Logic 4/27/2001

STS-1 (component of OCn)


90 Columns
A1 A2 J0/Z 0 Section overhead B1 E1 F1 D1 D2 D3 H1 H2 H3 B2 K1 K2

Reference GR-253, chap 3.

STS-1 Payload Capacity (84 useable columns) 8000 x 84 x 9 x 8 = 48.384 Mbps


H1/H2 point to the Synchronous Payload Envelope (SPE) at arbitrary byte offset
J1 J1 B3 C2

9 Rows

STS-1 Envelope Capacity


Line D4 D5 D6 overhead D7 D8 D9
D10 D11 D12 | S1/ M0 M1/ E2 Z1 Z2

Fixed Stuff

F2 H4 Z3

Transport overhead

810 Byte Frame

Z4 Z5

Framing is byte-oriented. Line rate = 8000 frames/s x 90 x 9 x 8 bits= 51.840 Mbps 4/27/2001

Path Overhead (POH) 27

Inductive Logic

Fixed Stuff

87 Columns

ATM cells, etc. G1

STS-Nc SPE
STS-3c SPE: 3 x 87 = 261 Columns
J1 B3 C2 G1 F2 H4 Z3 Z4 Z5 J1 B3 C2

STS-12c SPE: 12 x 87 = 1044 Columns

STS-3c Payload Capacity: 8000 x 260 x 9 x 8 = 149.760 Mbps


260 Columns

F2 H4 Z3 Z4 Z5

Fixed Stuff Fixed Stuff Fixed Stuff

G1

STS-12c Payload Capacity: 8000 x 1040 x 9 x 8 = 599.040 Mbps


1040 Columns

Path Overhead (POH)

9 Rows

Line Rate = N x 51.840 Mbps Framing chosen to match STM-N STS-48c (not shown) is exactly 4 times STS-12c (POH + 15 Stuff)

Path Overhead (POH)

9 Rows

Reference GR-253, chap 3.

4/27/2001

Inductive Logic

28

This slide intentionally left blank

4/27/2001

Inductive Logic

29

You might also like