Title: Johan J. Lukkien, j.j.lukkientue.nl
1Computer Networks2002/2003
- The Data Link Layer
- Johan Lukkien
2The OSI model
PSDU
SSDU
TSDU
NSDU
DSDU
PhSDU
3Data Link Layer services
- Provide packet oriented service (frames)
- send/receive frames between machines
- deal with transmission errors
- support addressing, in the broadcast domain
- support sharing by several network layer
protocols - Services provided by physical layer
- put bits (signals) on (p2p or broadcast) wires
- diverse technologies
- Note
- quality of service differs per technology
- e.g. reliability
- provided service itself as well
- e.g. connection orientation
4Data Link Layer issues
- Address LAN and point-2-point issues
- define DPDU and DSDU
- More or less stack-independent, see picture
- Part of the link layer is technology dependent
the medium access (MAC) sublayer - structure transmissions into frames (DPDU)
- policy for shared medium access
- e.g. dealing with collisions
- error detection
- flow control
- addressing
5Some stacks and the OSI model
6Data Link Layer issues (cntd)
- The other part (Logical Link Control, LLC)
concerns - the connection to multiple network layers
- additional functionality to improve quality of
provided services - reliability, connection orientation
- Note these quality issues re-
occur in network and transport layer - e.g., flow control, error checking
- Rule of thumb dont make a low level service
unnecessarily complicated - e.g. is reliability useful at this level? When?
Why?
7Framing methods
- Byte count
- include length in header
- not used very much difficult to re-sync
- Flags
- dedicated start and stop byte (sequence)
- often chosen to be identical
- need to be escaped when it occurs as part of
payload - byte stuffing add an escape byte in front
- used the escape to escape itself as well
- generalize to bit sequence, HDLC
- special pattern for start/stop, e.g. 01111110
- after each occurrence of 5 1s a 0 is stuffed
- Use special, unused bit patterns in physical layer
8Byte count
- A stream encoded with byte count
- without errors
- with errors
- Note difficult to resynchronize
9Stuffing
10Flow control policies
- Feed-back based
- communicate receiver state to sender
- so sender can take decision
- explicit start/stop commands
- ask for another fixed maximum amount of data
- more smoothly
- Rate-based
- internal mechanism to adjust the rate
- Data-Link mainly feed-back based methods
11Example data link protocols
- Point-to-point (tradionally, reliable service)
- High level data link control protocol (HDLC)
- ISO 3309-1979
- Point-to-point protocol
- RFC 1661 (1662,1663)
- The IEEE 802 LANs
12High-Level Data Link Control Protocol
- Background
- master and tributaries sharing a multi-access
link - controller for several terminals
- concentrator
- Developed by IBM SDLC
- adapted by ISO HDLC
- adapted by CCITT to support X.25 LAP, LAPB
- ....collection of bit-oriented link-layer
protocols
13High-Level Data Link Control Protocol
- Frame format
- Point to many-point and vice versa
- use flags for separation of frames
- Control sequence numbers, acks, ....
- Data payload, any length
- Checksum CRC
- Address the involved tributary
14Frame types
- Three types, encoded in Control
- Information frame.
- A supervisory frame
- info concerning the communication status
- An unnumbered frame
- no numbering
- P/F poll/final
- Next expected
frame - Seq serial
number (sliding
window)
15PPP Point to Point Protocol
- The Internet choice
- derived from HDLC
16PPP (cntd)
- Byte oriented byte stuffing
- so it works on both bit- and byte oriented
wires - Derived from HDLC
- address 11111111 (broadcast...)
- mostly, control 00000011 (unnumbered frame, no
reliability) but may use HDLC mechanism - Protocol
- type of packet in payload
- e.g. LCP, NCP, AUTHENTICATE, IP, IPX, AppleTalk,
....
17PPP (cntd)
- Link Control Protocol
- setup line and bring it down
- evaluate line performance
- negotiate communication options in dependent of
network protocol, e.g. header compression - Authenticate
- optional
- Network Control Protocol
- negotiate details of supported network layer
- e.g. IP address
- more than one may be supported
18PPP LCP frame types
19Dial-up scenario
- Physical connection
- PC user initiates connection to ISP router
- modems synchronize and negotiate
- Line negotiation
- LCP packets are sent via PPP frames to router
- finalize with this phase with connection-ack
- Authenticate
- using an authentication protocol, e.g.
challenge/response passwd - Network
- IP-NCP packets are sent to negotiate IP as
network protocol - dynamically assigned IP address is returned from
router - PC operates as a part of the Internet
- User is done with connection
- NCP tears down the network connection (freeing
the assigned IP address for re-use) - LCP tears down the data link connection
- Modem is told to hangup
20Local area networks IEEE 8-2
- Communication based on broadcasting
- multi-access links
- or just packet-level broadcasting
- LAN technologies define
both the physical and
the MAC layer - Particular issue
- addressing
- including multi-cast
21Multiple Access Protocols
- ALOHA
- Carrier Sense Multiple Access Protocols
- Collision-Free Protocols
- Limited-Contention Protocols
- Wavelength Division Multiple Access Protocols
- Wireless LAN Protocols
22Name, address, location, route....
- Context
- a source sends a message to a destination both
connect to the network via an access point at a
certain location (identifier) - Access point
- a fixed physical location to connect to the
network - Name
- an identification that is independent of access
point and communicating partner - Address
- the name of an access point
- Route
- a path from source to destination dependent on
the access points of both
23IEEE 802 MAC addresses
- In fact identifiers
- Attached to a Network Interface Card
- 48 bit numbers, with some structure
- globally unique global authority (first Xerox,
then IEEE), 1250/224 - 3 bytes fixed Organizational Unique Identifier
- G/L bit global unique-ness
- G/I bit multicast?
- all 1s broadcast not really used
24Logical Link Control (802.2)
- Standardizes towards network layer
- Adds quality to the service
- type 1
- datagram service best effort packet delivery
- type 2
- reliable connection oriented service
- HDLC-like
- type ...
- achieve some reliability without the complete
overhead of type 2
25802.2 Format
- DSAP destination access point (1byte)
- SSAP source access point (1 byte)
- Control 1 or 2 bytes
- (Data, i.e. the packet)
- Access points protocols used at both sides
- usually identical
- two bits reserved
- group/individual (not really useful to address
multiple protocols though....) - global/local
- only 802-approved numbers are admitted
- and those have both SAP fields equal
26Using your own SAP
- Use locally assigned SAPs
- but thats difficult to synchronize dynamically
- Use header extension
- both SAPs 10101010 (aa)
- a.k.a. SNAP, subnetwork access protocol
- indicates a header of 5 extra bytes
- to make headers have an even length
- to use the OUI of MAC addresses to standardize
- buying a block of addresses also brings a block
of protocols....