CIS 725 Data Link Layer.

Slides:



Advertisements
Similar presentations
Network Operations & administration CS 4592 Lecture 15 Instructor: Ibrahim Tariq.
Advertisements

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
CIS 725 Data Link Layer. Physical Layer Figure 3-1 B. Forouzan, TCP/IP Protocol Suite.
Flow and Error Control. Flow Control Flow control coordinates the amount of data that can be sent before receiving acknowledgement It is one of the most.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Data Link Layer Review Advanced Computer Networks.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Networks: Data Link Layer1 Data Link Layer. Networks: Data Link Layer2 Data Link Layer Provides a well-defined service interface to the network layer.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
1 Comnet 2006 Communication Networks Recitation 8 ARQ Protocols & Performance.
EEC-484/584 Computer Networks Lecture 13 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
CSE 461: Sliding Windows & ARQ. Next Topic  We begin on the Transport layer  Focus  How do we send information reliably?  Topics  The Transport layer.
1 Netcomm 2005 Communication Networks Recitation 8.
20101 The Data Link Layer Chapter Design Issues Controls communication between 2 machines directly connected by “wire”-like link Services Provided.
Go-Back-N (GBN) Yan Gao Feb. 17, Go-Back-N protocol  Concept Introduce a window of size n Can inject n packets into net before hearing an ACK 
Copyright © 2005 Department of Computer Science CPSC 641 Winter Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Go-Back-N ARQ  packets transmitted continuously (when available) without waiting for ACK, up to N outstanding, unACK’ed packets  a logically different.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 15.
CIS 725 Data Link Layer. Flow Control Producer-consumer problem Sliding window protocol - Go Back N - Selective retransmission.
Copyright © Lopamudra Roychoudhuri
Recap of Lecture 19 If symptoms persist, please consult Dr Jacobson.
Transport Layer: Sliding Window Reliability
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.4.
Failure detection The design of fault-tolerant systems will be easier if failures can be detected. Depends on the 1. System model, and 2. The type of failures.
CPSC TCP Plots r Slides originally from Williamson at Calgary r Minor modifications are made.
Data Link Layer Flow and Error Control. Flow Control Flow Control Flow Control Specifies the amount of data can be transmitted by sender before receiving.
NUS.SOC.CS2105 Ooi Wei Tsang Application Transport Network Link Physical you are still here.
Retransmission. Automatic Repeat reQuest (ARQ) 2 Time Packet ACK Timeout Automatic Repeat Request –Receiver sends acknowledgment (ACK) when it receives.
1 Flow&Error Control R. Supakorn. 2 Flow Control Flow control refers to a set of procedure used to restrict the amount of data that the sender can send.
CSE/EE 461 Sliding Windows and ARQ. 2 Last Time We finished up the Network layer –Internetworks (IP) –Routing (DV/RIP, LS/OSPF) It was all about routing:
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
Data Link Layer. Link Layer The data unit to be transmited at the link layer is called a frame. Why link layer? How can it know where a frame begins and.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Computer Networking Lecture 16 – Reliable Transport.
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Tutorial 4 : Chapter 7 Data & computer.
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
Go-Back-N ARQ packets transmitted continuously (when available) without waiting for ACK, up to N outstanding, unACK’ed packets a logically different sender.
Computer Communication & Networks
DMET 602: Networks and Media Lab
Data Link Layer Flow Control.
Data Link Layer - 3 Dr. Sanjay P. Ahuja, Ph.D.
Part III Datalink Layer 10.
UNIT 4 Data Link Control Line Discipline Flow Control Error Control
TCP - Part III TCP Timers Selective Acknowledgements.
TCP Wrap-up TCP Timers Selective Acknowledgements.
Data Communications and Networking Pipelined reliable data transfer
Instructor Mazhar Hussain
Data Link Layer What does it do?
Precept 2: TCP Congestion Control Review
Data Link Layer: Data Link Control
TCP Sequence Number Plots
Overview Jaringan Komputer (2)
Data Link Layer as a Reliable Data Transport Protocol
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
CSS432 (Link Level Protocols) Reliable Transmission Textbook Ch 2.5
TCP Sliding Windows, Flow Control, and Congestion Control
CS4470 Computer Networking Protocols
Sliding Window Protocol
Getting Connected (Chapter 2 Part 3)
9: Pipelined Protocols and RTT
The Transport Layer Reliability
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
TCP Sliding Windows, Flow Control, and Congestion Control
Error Checking continued
TCP Sliding Windows, Flow Control, and Congestion Control
Presentation transcript:

CIS 725 Data Link Layer

Flow Control Producer-consumer problem Sliding window protocol - Go Back N - Selective retransmission

Go Back N na x x x x ns S:: ns = 1; na = 1 do ns < na + W /\ avail(nl_buff) /\ sbuff[ns] = null  sbuff[ns] = nl_buff; R!(sbuff[ns],ns); ns++ [] sbuff[ns] != null  R ! (sbuff[ns],ns); ns++ [] R ? ack(s)  if s > na then na = s [] timeout  ns = na od

R:: nr = 1 do S ? (D,x)  if nr = x then deliver(D); nr++ S ! Ack(nr) od

Acks sent but not yet received nr na ns ns <= na + W outstanding data packets ns na 1 1 nr W = 3 d1 2 1 1 3 1 d2 2 d3 4 1 3 a2 a3 4 2 5 2 d4 d5

Cumulative Acks ns na 1 1 nr W = 3 d1 2 1 1 d2 3 1 2 d3 4 1 3 a2 a3 4 1 5 1 d4 d5

- Alternative: Timeout per message d,1 d,1 d,2 d,3 a,2 a,3 d,4 d,2 d,3 a,2 start timer start timer a,2 start timer timeout d,1 start timer d,5 d,2 - Alternative: Timeout per message

Go Back N S:: ns = 1; na = 1 do ns < na + W /\ avail(nl_buff) /\ sbuff[ns] = null  sbuff[n] = nl_buff; R!(sbuff[ns],ns); ns++; if ns = na + W then start timer [] sbuff[ns] != null  R ! (sbuff[ns],ns); ns++ [] R ? ack(s)  if s > na then na = s; cancel timer [] timeout  ns = na od

A ------------------B Bandwidth =108 bytes/sec RTD = 2 msecs 2msecs ---- 2* 105 bytes 1 packet = 1000 bytes W = 200 W will also depend on buffer space at the receiver d,2 a,2 Timeout interval = 2msecs d,W

Selective Retransmission Retransmit only those packets the lost packets

Selective Retransmission S:: ns = 1; na = 1 do ns < na + W /\ avail(nl_buff) /\ sbuff[ns] = null  sbuff[n] = nl_buff; R!(sbuff[ns],ns); ns++ [] R ? nack(s, bitmap)  na = s; for (0 <= i < W) if bitmap[i] then R! (sbuff[s+i], s+i); [] timeout  R ! (sbuf[na], na) od

R:: nr = 1 do S ? (D,x)  rbuff[x] = D; recd[x] = true; if x != nr then S !nack(nr, bitmap) [] recd[nr]  deliver(rbuff[nr]); nr++ od

R:: nr = 1 do S ? (D,x)  rbuff[x] = D; recd[x] = true; if x != nr then S !nack(nr, bitmap) [] recd[nr]  deliver(rbuff[nr]); nr++ od

Receiver timeout R:: nr = 1 do S ? (D,x)  rbuff[x] = D; recd[x] = true; [] timeout  S !nack(nr, bitmap) [] recd[nr]  deliver(rbuff[nr]); nr++ od

Receiver based Windows S:: ns = 1; na = 1 do : [] R ? Ack(s,x)  W = x; if s > na then na = s od

R:: nr = 1 do S ? (D,x)  if nr = x then deliver(D); nr++; compute W; S ! ack(nr, W); od