INF3190 – Home Exam 2. Goal The goal of this exercise is to provide network layer reliability for the monitoring/administration tool presented in “home.

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
CCNA – Network Fundamentals
CSCI 4550/8556 Computer Networks
Transmission Control Protocol (TCP)
Intermediate TCP/IP TCP Operation.
Transport Layer3-1 TCP. Transport Layer3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 16 Omar Meqdadi Department of Computer Science and Software Engineering University.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
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.
Chapter 3 outline 3.1 transport-layer services
Transport Layer Transport Layer. Reliable data transfer: getting started send side receive side rdt_send(): called from above, (e.g., by app.).
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer Transport Layer: TCP. Transport Layer 3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer3-1 Reliable Data Transfer. Transport Layer3-2 Principles of Reliable data transfer r important in app., transport, link layers r top-10.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
2: Application Layer 1 1DT066 Distributed Information System Chapter 3 Transport Layer.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
EEC-484/584 Computer Networks Lecture 13 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 4 OSI Transport Layer
1 Reliable Data Transfer. 2 r Problem: Reliability  Want an abstraction of a reliable link even though packets can be corrupted or get lost r Solution:
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Ch 3. Transport Layer Myungchul Kim
C OMPUTER NETWORKING HOMEWORK 2. UDP VS. TCP UDP Unreliable Unordered delivery No congestion control, flow control, connection setup TCP Reliable In-order.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
University of the Western Cape Chapter 12: The Transport Layer.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Data Link Layer Part I – Designing Issues and Elementary.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
15-1 Last time □ Reliable Data Transfer ♦ Provide rdt over unreliable network layer ♦ FSM model ♦ rdt 1.0: rdt over reliable channels ♦ rdt 2.0: rdt over.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
Types of Service. Types of service (1) A network architecture may have multiple protocols at the same layer in order to provide different types of service.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Transport Layer3-1 Transport Layer Our lives begin to end, the day we become silent about things that matter.
Transport Layer 3-1 Internet Transport Layer Lecture 8 Dr. Najla Al-Nabhan.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
UDP: User Datagram Protocol Chapter 12. Introduction Multiple application programs can execute simultaneously on a given computer and can send and receive.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
Ch 3. Transport Layer Myungchul Kim
1 COMP 431 Internet Services & Protocols The Transport Layer Pipelined Transport Protocols Jasleen Kaur March 29, 2016.
Data Link Layer.
Ch 3. Transport Layer Myungchul Kim
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Chapter 3 Transport Layer
DMET 602: Networks and Media Lab
Reliable Transmission
Introduction to Networks
Process-to-Process Delivery:
CS412 Introduction to Computer Networking & Telecommunication
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Dr. John P. Abraham Professor UTPA
The Transport Layer Reliability
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

INF3190 – Home Exam 2

Goal The goal of this exercise is to provide network layer reliability for the monitoring/administration tool presented in “home exam 1”. UDP may suffer from poor performance in the presence of heavy loss since it is an unreliable protocol and does not guarantee the receipt of the packets. In this assignment, you are supposed to implement a Go-Back-N communication protocol that adds reliability to the communication over UDP sockets.

First, modify the “home exam 1” in a way that all communication is carried out with UDP sockets (including both commands and streaming data). All transferred data are encapsulated in 100-bytes messages (packets). If packets arrive out of order, they must be reordered and shown in the correct format. Go-Back-N protocol: once a packet is received at the receiver side an acknowledgment packet is sent back to the sender. This packet contains an acknowledgment number indicating that the receiver has received all data packets preceding it in a sequence.

Keep the outgoing packets in a sending buffer. Tunable sending buffer size in the program (use a default buffer size of 10 packets). When an ACK packet arrives, the sender erases the packets up to its sequence number from its sending buffer.

Every time a packet is sent, the sender sets a retransmission timer to a tunable value (specified below) if it is not already set for another packet. The sender continues to send newer packets in its buffer if there are any. IF (No ACK for a certain packet) AND (Retransmission Timer expires) => – Retransmit that packet and all packets already transmitted with higher sequence numbers only ONCE, – AND flush the sending buffer, – AND set the retransmission timer again for the next unacknowledged packet.

Defining Protocol Parameters Retransmission timer: it is restarted when the timed packet is received. Its recommended value is 600 milliseconds. Packet headers: The packet header format for reliable-UDP and ACK packets should be defined as follows: |D|A|0|0|0|0|0|0|0|0|0|0|0|0|0|0| | Sequence # + Ack # | Control bits: They indicate what is present in the packet. The ACK bit (A) indicates that the acknowledgment number in the header is valid (i.e. the packet is an acknowledgment). The D bit indicates the packet is carrying data.

Notice #1: To have a meaningful result, you should increase the “process statistics” execution (e.g. ps aux) time interval to a larger value than what is used in “home exam 1”, e.g. 2-3 seconds. Using a small value may lead the outdated packets to be retransmitted while they are not useful anymore. Notice #2: Duplicate packets should be ignored at the receiver and not be displayed or used. Notice #3: To test the program, generate random packet loss!