EEE 449 Computer Networks The Data Link Layer

  • Slides: 53
Download presentation
EEE 449 Computer Networks The Data Link Layer En. Mohd Nazri Mahmud MPhil (Cambridge,

EEE 449 Computer Networks The Data Link Layer En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) nazriee@eng. usm. my Room 2. 14 Semester 1 2011 -2012

OSI v TCP/IP Semester 1 2011 -2012

OSI v TCP/IP Semester 1 2011 -2012

Data Link Control Protocols • to manage exchange of data over a link –

Data Link Control Protocols • to manage exchange of data over a link – frame synchronization – flow control – error control – addressing – control and data – link management Semester 1 2011 -2012

Flow Control • ensure sending entity does not overwhelm receiving entity – by preventing

Flow Control • ensure sending entity does not overwhelm receiving entity – by preventing buffer overflow • influenced by: – transmission time • time taken to emit all bits into medium – propagation time • time for a bit to traverse the link • packets have varying delays Semester 1 2011 -2012

Model of Frame Transmission Semester 1 2011 -2012

Model of Frame Transmission Semester 1 2011 -2012

Stop and Wait • source transmits frame • destination receives frame and replies with

Stop and Wait • source transmits frame • destination receives frame and replies with acknowledgement (ACK) • source waits for ACK before sending next • destination can stop flow by not send ACK • works well for a few large frames • Stop and wait becomes inadequate if large block of data is split into small frames Semester 1 2011 -2012

Stop and Wait Link Utilization Semester 1 2011 -2012

Stop and Wait Link Utilization Semester 1 2011 -2012

Sliding Windows Flow Control • • • allows multiple numbered frames to be in

Sliding Windows Flow Control • • • allows multiple numbered frames to be in transit receiver has buffer W long transmitter sends up to W frames without ACK includes number of next frame expected sequence number is bounded by size of field (k) – frames are numbered modulo 2 k – giving max window size of up to 2 k - 1 • receiver can ack frames without permitting further transmission (Receive Not Ready) • must send a normal acknowledge to resume • if have full-duplex link, can piggyback ACks Semester 1 2011 -2012

Sliding Window Diagram Semester 1 2011 -2012

Sliding Window Diagram Semester 1 2011 -2012

Sliding Window Example Semester 1 2011 -2012

Sliding Window Example Semester 1 2011 -2012

Sliding Window exercise • To test your understanding Semester 1 2011 -2012

Sliding Window exercise • To test your understanding Semester 1 2011 -2012

Media Access Control • In shared media, we need to manage the sharing process

Media Access Control • In shared media, we need to manage the sharing process before the data transfer • When nodes are connected and use a common link (ie multipoint or broadcast link) we must – Ensure that each node gets access to the link – Prevent any data “collision” between nodes – Handle the collisions when they occur Semester 1 2011 -2012

Media Access Control • Random access protocols for multiple access – Contention-based – No

Media Access Control • Random access protocols for multiple access – Contention-based – No node is superior to another node – Node that wished to send data uses a procedure to make sending decision – No predefined schedule – Collisions damage data Semester 1 2011 -2012

Media Access Control • Protocol 1: Pure ALOHA – The earliest random access method

Media Access Control • Protocol 1: Pure ALOHA – The earliest random access method – Developed in 1970’s – When collision occur, each node waits for a random amount of time (called backoff time) before retrying – After a maximum number of failed retry, nodes must give up and try later – Prodecure and parameters (discussion) Semester 1 2011 -2012

Media Access Control • Pure ALOHA throughput analysis discussion Semester 1 2011 -2012

Media Access Control • Pure ALOHA throughput analysis discussion Semester 1 2011 -2012

Media Access Control • Protocol 2: Slotted ALOHA – Time is divided into slots

Media Access Control • Protocol 2: Slotted ALOHA – Time is divided into slots whose duration last for a frame-time – Nodes must send only at the beginning of the time slot – Nodes must wait until the next time slot if they miss the current one – The vulnerable time is halved from the Pure ALOHA case Semester 1 2011 -2012

Media Access Control Semester 1 2011 -2012

Media Access Control Semester 1 2011 -2012

Media Access Control • Protocol 3: CSMA – Nodes must sense the medium before

Media Access Control • Protocol 3: CSMA – Nodes must sense the medium before attempting to send – Discussion on the case of 4 nodes – Due to propagation delay a node may mistakenly sense an idle medium Semester 1 2011 -2012

Media Access Control • Protocol 4: CSMA/CD – Nodes must sense the medium before

Media Access Control • Protocol 4: CSMA/CD – Nodes must sense the medium before attempting to send – If collision occurred and is detected, stops transmitting that frame, transmits a jam signal, and then waits for a random time interval before trying to resend the frame. – Only part of the transmission time is used for an incomplete frame transmission improve CSMA performance by terminating transmission as soon as a collision is detected, thus shortening the time required before a retry can be attempted. – Discussion on procedure Semester 1 2011 -2012

Media Access Control • What about wireless network? • Can the 4 protocols work?

Media Access Control • What about wireless network? • Can the 4 protocols work? Why or Why not? Semester 1 2011 -2012

Error Control & Detection • detection and correction of errors such as: – lost

Error Control & Detection • detection and correction of errors such as: – lost frames – damaged frames • common techniques use: – error detection – positive acknowledgment – retransmission after timeout – negative acknowledgement & retransmission Semester 1 2011 -2012

Error detection • Parity Check • CRC Semester 1 2011 -2012

Error detection • Parity Check • CRC Semester 1 2011 -2012

Error detection • Parity Check – The simplest error detection scheme – Appends a

Error detection • Parity Check – The simplest error detection scheme – Appends a parity bit to the end of a block of data – The value of this bit is selected so that the character has an even number of 1 s (even parity) or an odd number of 1 s (odd parity) – Example – transmission of a 7 -bit IRA character G (1110001) using odd parity will append a 1 and transmit 11100011. – The receiver examines the received character and of the number of 1 s is odd it assumes no error. Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check – Given a k-bit block of nits, or

Error detection • Cyclic Redundancy Check – Given a k-bit block of nits, or message , the transmitter generates an n-bit sequence known as a frame check sequence (FCS) so that the resulting frame consisting of k+n bits is exactly divisible by some predetermined number – The receiver then divides the incoming frame by that number and if there is no remainder assumes there was no error Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check – Let • • • T = (k+n)-bit

Error detection • Cyclic Redundancy Check – Let • • • T = (k+n)-bit frame to be transmitted, with n<k M= k-bit message, the first k bits of T F- n-bit FCS, the last n bits of T P = pattern of n+1 bits, the predetermined divisor Example – M = 1010001101 (10 bits) – Pattern P = 110101 (6 bits) – FCS R = to be calculated(5 bits) Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check • Example – M = 1010001101 (10 bits)

Error detection • Cyclic Redundancy Check • Example – M = 1010001101 (10 bits) – Pattern P = 110101 (6 bits) – FCS R = to be calculated(5 bits ie n=5) – – – Operations are carried out in modulo-2 arithmetic The message is multiplied by 2 n ie=(25) giving 101000110100000 The product is divided by P giving remainder or 01110 The remainder is added to 2 n. M to give T = 101000110101110 At the receiver the received frame is divided by P, if there is no remainder, it assumes no error. – The pattern P is chosen to be one bit longer than the desired FCS and the exact bit pattern chosen depends on the types of errors expected Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check – Polynomial treatment of the CRC • Express

Error detection • Cyclic Redundancy Check – Polynomial treatment of the CRC • Express all values as polynomials in a dummy variable X with binary coefficients • The coefficients correspond to the bits in the binary number • For example for a message M = 1010001101 in polynomial form is X 9 + X 7 + X 3 + X 2 + 1 and pattern P= 110101 as X 5 + X 4 +X 2 + 1 • Modulo-2 arithmetic is used again Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check – 4 versions of pattern, P are widely

Error detection • Cyclic Redundancy Check – 4 versions of pattern, P are widely used – CRC-12 system is used for transmission of streams of 6 -bit characters and generates a 12 -bit FCS – Both CRC-16 and CRC-CCITT are popular for 8 -bit characters with 16 -bit FCS. Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • The CRC process

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • The CRC process can be implemented as individual circuit consisting of EX-OR gates and a shift register Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • The register contains

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • The register contains n bits (equal to the length of the FCS) • There are up to n EX-OR gates • The presence or absence of a gate corresponds to the presence or absence of a term in the divisor polynomial, P(X) excluding the Xn term Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • The process begins

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • The process begins with the shift register cleared (all zeros) • The message is then entered one bit at a time starting with the most significant bit • After the last bit is processed the shift register contains the remainder (FCS) • At the receiver, the same logic is used • As each bit of M arrives, it is inserted into the shift register. • If there have been no errors, the shift register should contain the bit pattern for R at the conclusion of M Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • At the receiver,

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • At the receiver, the same logic is used • As each bit of M arrives, it is inserted into the shift register. • If there have been no errors, the shift register should contain the bit pattern for R at the conclusion of M • The transmitted bits of R now begin to arrive and the effect is to zero out the register so that at the conclusion of reception, the register contains all 0 s Semester 1 2011 -2012

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • For example for

Error detection • Cyclic Redundancy Check – Digital Logic Implementation • For example for message M = 1010001101 and divisor P = 110101 Semester 1 2011 -2012

Error detection Semester 1 2011 -2012

Error detection Semester 1 2011 -2012

Error Control : Automatic Repeat Request (ARQ) • collective name for such error control

Error Control : Automatic Repeat Request (ARQ) • collective name for such error control mechanisms, including: – stop and wait – go back N – selective reject (selective retransmission) Semester 1 2011 -2012

Stop and Wait • source transmits single frame • wait for ACK • if

Stop and Wait • source transmits single frame • wait for ACK • if received frame damaged, discard it – transmitter has timeout – if no ACK within timeout, retransmit • if ACK damaged, transmitter will not recognize it – transmitter will retransmit – receive gets two copies of frame – use alternate numbering and ACK 0 / ACK 1 Semester 1 2011 -2012

Stop and Wait • see example with both types of errors • pros and

Stop and Wait • see example with both types of errors • pros and cons – simple – inefficient Semester 1 2011 -2012

Go Back N • based on sliding window • if no error, ACK as

Go Back N • based on sliding window • if no error, ACK as usual • use window to control number of outstanding frames • if error, reply with rejection – discard that frame and all future frames until error frame received correctly – transmitter must go back and retransmit that frame and all subsequent frames Semester 1 2011 -2012

Go Back N - Handling • Damaged Frame – error in frame i so

Go Back N - Handling • Damaged Frame – error in frame i so receiver rejects frame i – transmitter retransmits frames from i • Lost Frame – frame i lost and either • transmitter sends i+1 and receiver gets frame i+1 out of seq and rejects frame i • or transmitter times out and send ACK with P bit set which receiver responds to with ACK i – transmitter then retransmits frames from i Semester 1 2011 -2012

Go Back N - Handling • Damaged Acknowledgement – receiver gets frame i, sends

Go Back N - Handling • Damaged Acknowledgement – receiver gets frame i, sends ack (i+1) which is lost – acks are cumulative, so next ack (i+n) may arrive before transmitter times out on frame i – if transmitter times out, it sends ack with P bit set – can be repeated a number of times before a reset procedure is initiated • Damaged Rejection – reject for damaged frame is lost – handled as for lost frame when transmitter times out Semester 1 2011 -2012

Selective Reject • also called selective retransmission • only rejected frames are retransmitted •

Selective Reject • also called selective retransmission • only rejected frames are retransmitted • subsequent frames are accepted by the receiver and buffered • minimizes retransmission • receiver must maintain large enough buffer • more complex logic in transmitter • hence less widely used • useful for satellite links with long propagation delays Semester 1 2011 -2012

Go Back N vs Selective Reject Semester 1 2011 -2012

Go Back N vs Selective Reject Semester 1 2011 -2012

Data Link Control Protocol: High Level Data Link Control (HDLC) • an important data

Data Link Control Protocol: High Level Data Link Control (HDLC) • an important data link control protocol • specified as ISO 33009, ISO 4335 • station types: – Primary - controls operation of link – Secondary - under control of primary station – Combined - issues commands and responses • link configurations – Unbalanced - 1 primary, multiple secondary – Balanced - 2 combined stations Semester 1 2011 -2012

HDLC Transfer Modes • Normal Response Mode (NRM) – unbalanced config, primary initiates transfer

HDLC Transfer Modes • Normal Response Mode (NRM) – unbalanced config, primary initiates transfer – used on multi-drop lines, eg host + terminals • Asynchronous Balanced Mode (ABM) – balanced config, either station initiates transmission, has no polling overhead, widely used • Asynchronous Response Mode (ARM) – unbalanced config, secondary may initiate transmit without permission from primary, rarely used Semester 1 2011 -2012

HDLC Frame Structure • synchronous transmission of frames • single frame format used Semester

HDLC Frame Structure • synchronous transmission of frames • single frame format used Semester 1 2011 -2012

Flag Fields and Bit Stuffing • delimit frame at both ends with 01111110 seq

Flag Fields and Bit Stuffing • delimit frame at both ends with 01111110 seq • receiver hunts for flag sequence to synchronize • bit stuffing used to avoid confusion with data containing flag seq 01111110 – – – 0 inserted after every sequence of five 1 s if receiver detects five 1 s it checks next bit if next bit is 0, it is deleted (was stuffed bit) if next bit is 1 and seventh bit is 0, accept as flag if sixth and seventh bits 1, sender is indicating abort Semester 1 2011 -2012

Address Field • identifies secondary station that sent or will receive frame • usually

Address Field • identifies secondary station that sent or will receive frame • usually 8 bits long • may be extended to multiples of 7 bits – LSB indicates if is the last octet (1) or not (0) • all ones address 1111 is broadcast Semester 1 2011 -2012

Control Field • different for different frame type – Information - data transmitted to

Control Field • different for different frame type – Information - data transmitted to user (next layer up) • Flow and error control piggybacked on information frames – Supervisory - ARQ when piggyback not used – Unnumbered - supplementary link control • first 1 -2 bits of control field identify frame type Semester 1 2011 -2012

Control Field • use of Poll/Final bit depends on context • in command frame

Control Field • use of Poll/Final bit depends on context • in command frame is P bit set to 1 to solicit (poll) response from peer • in response frame is F bit set to 1 to indicate response to soliciting command • seq number usually 3 bits – can extend to 8 bits as shown below Semester 1 2011 -2012

Information & FCS Fields • Information Field – in information and some unnumbered frames

Information & FCS Fields • Information Field – in information and some unnumbered frames – must contain integral number of octets – variable length • Frame Check Sequence Field (FCS) – used for error detection – either 16 bit CRC or 32 bit CRC Semester 1 2011 -2012

HDLC Operation • consists of exchange of information, supervisory and unnumbered frames • have

HDLC Operation • consists of exchange of information, supervisory and unnumbered frames • have three phases – initialization • by either side, set mode & seq – data transfer • with flow and error control • using both I & S-frames (RR, RNR, REJ, SREJ) – disconnect • when ready or fault noted Semester 1 2011 -2012

HDLC Operation Example Semester 1 2011 -2012

HDLC Operation Example Semester 1 2011 -2012

HDLC Operation Example Semester 1 2011 -2012

HDLC Operation Example Semester 1 2011 -2012