Reliable File Transfer
|
|
- Evan Austin
- 5 years ago
- Views:
Transcription
1 Due date Wednesday, Mar 14, 11:59pm Reliable File Transfer CS 5565 Spring 2012, Project 2 This project is worth 100 points. You may form teams of up to two students for this project. You are not required to team with the same student as in 1, but you may not switch partners after you started this project. Please update your group status at Introduction Reliable data transmission forms the basis of data communication. In this project, you will implement a reliable transport protocol that runs on top of an unreliable network layer. You will perform a set of experiments to evaluate the performance of the protocol you developed. Network Architecture The network architecture for this project consists of two bidirectional links with a forwarding router in between. dl_client dl_server Reliable Transport UDP 1rx UDP Router 2tx Reliable Transport UDP Host A 1tx Host B 2rx Host C The UDP Router (or forwarder) is implemented as a piece of software that can be run on Linux (on the rlogin cluster); the source is available for download from the class website also. It forwards regular UDP packets received from 1rx to 2tx and UDP packets received from 2rx to 1tx. The underlying LAN connecting hosts A, B, and C determines bandwidth, latency and loss rates for all links except 2tx, whose characteristics is under software control. This control allows us to introduce variable bandwidth, delay and loss rates to evaluate the performance of the reliable data transmission protocol you will implement. Link 2tx s output queue is limited to 32 packets. The router will drop packets as the traffic intensity approaches 1, that is, if it receives packets from 1rx faster than it can send them using the specified bottleneck bandwidth along 2tx. The maximum packet size that can pass through link 2rx is 500 bytes. The maximum 1/8
2 Goal bandwidth across 2tx is 4Mbps. Link 2tx adds a transmission delay which can be specified with 1 millisecond accuracy. This delay is in addition to the delay imposed by the LAN over which the UDP packets travel. Link 2tx has a programmable packet loss rate that ranges from 0 to 100% in steps of 0.1%. Your reliable transmission protocol should ensure that messages sent by the client are successfully received at the server. For the purposes of this project, you may implement any of the sliding window protocols (go back N, selective acknowledgement) discussed in class, or any other equivalent sliding window scheme such as TCP, or a protocol representing a subset of it. As a last resort, you may implement a stop and wait protocol for partial credit. Your reliable transmission protocol should ensure that messages sent by the client are successfully received at the server in the same order that they were transmitted. Since the router will drop packets if packets are injected too fast, you must also implement a form of congestion control. You may assume that you are the only user of the network, hence congestion control amounts to controlling the flow of packets to avoid queuing losses at the router. How to run the Router The router is controlled using the following parameters: The UDP port on which it is should listen for packets from 1rx, also referred to as local port The hostname and UDP port to which it should forward packets along 2tx, also referred to as remote host/remote port. The hostname is the name of host C where you run dl_server. The router learns the host address and source port number of link 1tx after it receives the first UDP packet on link 1rx. See the Router Options section for additional parameters used to control the packet loss, delay, and bandwidth along 2tx. As an example, suppose dl_server runs on host ghestal, the router runs on host strago, and dl_client runs on host celes. You start dl_server on ghestal first 1 : [you@ghestal> dl_server 9999 Then you start the router on strago, connecting it to the server running on ghestal: [you@strago> router C 9998:ghestal:9999 This will create a router instance with the default values for bandwidth and delay on 2tx and with no packet loss. On celes, you ll then run 1 I m using 9999 as port number, but you should use the same number p as in project 1. 2/8
3 dl_client strago 9998 input.dat After the file has been transmitted, use the Unix command cmp to compare the contents of input.dat and output.dat 2. Router Options Running the router with h gives the following help. Usage: router -C <localport:remotehost:remoteport> localport is the port on which router is receiving packets from Link 1 remotehost/port is the host/port to which Link 2 connects -B <bandwidth> link bandwidth in bps -D <delay> link delay in microseconds -L <tx_loss_prob> transmit loss probability, in fractions of b introduce bandwidth variation -t introduce link delay variation -u use plain udp forwarding, this overrides L, -b, and -t flags -v vary random sequence for bandwidth/rtt variations The DROPS field shown in the statistics has the format m(+n) m is the number of packets intentionally lost along Link 2 or dropped for bad length n is the number of UDP packets dropped by this machine since the router program started, as shown in /proc/net/snmp Udp: InErrors. The latter is a host-wide indicator, so it may not show loss due to this instance of router if other students are running another router instance on the same machine. Only the C switch is required. When you start the router, it will print the values that are used for the current run. Pay attention to the units used for the B, D, and L switches. To test your project s basic functionality, we will run it with L 100 (10% packet loss) and transfer an 8Mbit file. Important: Since the router learns the source address and port number of Link 1 from the first packet it receives, be sure to restart your router for every run! 3 On a related note, you must use the same UDP socket in your client to send and receive packets to ensure the router learns the correct port number. The u switch turns off any artificial delay and bandwidth bottleneck, making the router forward packets in both directions as fast as it can. 2 I used port numbers 9998 and 9999 for illustrative purposes above, but you should use your assigned port number p in both cases, or use p and p+1 if you wish to run A and C on the same lab machine. 3 It may appear as though this is not necessary when you re testing your project, but this appearance is only created because the OS on host A immediately reuses the same number when binding a socket to any unused port. 3/8
4 The v switch is related to the L, b, and t switches. When given, the random number generator is seeded with the current time, which creates a different sequence of random numbers every time. Otherwise, the random sequence is the same every time the router is run. This means that the same packets are dropped every time when using the L switch without the v switch. The b and t switches are not used in the standard portion of the assignment. Read the extra credit section for possibilities for extra credit. Router Statistics The router will output transfer statistics similar to the following while it is running: LINK 1 RX: 0XX TX: 0XX LINK 2 RX: 0XX TX: 0XX DROPS: 9 (+ 3) QUEUE 4 The numbers 0XX shown after RX:, TX:, etc. are the number of bytes the router received and sent across the respective link. The number after DROPS: (here: 9) is the number of packets dropped when the L switch is given. The number after QUEUE (here: 4) is the number of packets currently waiting in the output queue of 2tx. The number inside the parentheses (here: +3) is an estimate of the number of packets that were dropped because the router s input queue overflowed. Because of the implementation of the router, the input queue for 1rx is the receive buffer of the UDP socket on which the router receives packets from Link 1. While sending across Link 2, the router does not service that socket, possibly causing the OS to drop packets if they arrive faster than packets can be sent out Link 2tx. Linux keeps a global counter for all packets that were dropped because they couldn t be added to their socket s queue 4. Unfortunately, Linux does not provide a way to extract queue capacity related per socket packet drop information. Therefore, the value shown here includes UDP packets dropped for any reasons across all applications and all users of the machine. The router program will display the change in this value from when it was started to the current point in time. If you share the machine with other students, losses you see there may or may not be yours. Use another machine if you have doubts. (For most purposes, there is no need for you to distinguish packet losses due to queuing in the router s input queue from losses artificially introduced by the router after all, an end system in a network also has no way of telling what causes the packet losses it experiences. I added this option mainly as a debugging help. Experiment 4 is an exception where you need to prevent queuing losses to avoid affecting the accuracy of the experiment.) 4 This counter can be read from /proc/net/snmp, look for Udp: InErrors. 4/8
5 Deliverables When developing a reliable transport protocol, reliability is paramount. Therefore, you should first make sure your protocol handles packet losses well (use v in connection with L). Only after your protocol works reliably should you think about tuning its performance. Reliably means that your protocol works every time we run it. We will stress test your submission to check for race conditions, and we reserve the right to use dynamic race condition detection tools (where available.) For full credit, you should be able to achieve a throughput that is at least 70% of the nominal link bandwidth of link 2tx. You should exploit the layered architecture you developed in project 1. You will replace the transport layer on top of which dl_client and dl_server are running with a reliable one. You may have to extend the service model of your layer and the interface used to access your layer for this purpose. Make sure that your code is protocol independent and supports both IPv4 and IPv6 addresses. The machines on our cluster have global IPv6 addresses, and there are DNS AAAA records provided by the local name server. Be sure to test both IPv4 and IPv6. You do not need to worry about connection setup/tear down, or transport layer multiplexing or demultiplexing. However, you must ensure that your client does not exit until it has received an acknowledgement for the last packet it sent. The client may assume the server is running and ready to receive packets when it starts. Handle all errors that might occur, such as illegal port numbers or IP addresses, nonexisting hostnames, and or non existing input files gracefully. Do not send UDP packets larger than 500 bytes. In other words, your MTU (maximum transmission unit) should be 500 bytes, which includes file data as well as any headers your protocol may add. Instructions for all Experiments Once your protocol works reliably, you should perform a set of experiments to evaluate its performance. For each experiment, record the throughput as reported by dl_server and take the average of at least 3 runs (3 runs would not be acceptable in a publication, I m suggesting 3 runs here to limit your workload. Feel free to measure 5 or more runs.) You may use a 4Mbit input file for experiments 1, 2, and 3. Use an 8Mbit input file for experiment 4. Report the results of the experiments in your report. For each experiment, include all settings you used for the adjustable parameters of your protocol, if your protocol has any statically adjustable parameters. Include the raw measured data in a table, and include the required plot. Include an interpretation of your results for each experiment. If you do not understand the results of an experiment, explain the steps you took to diagnose them and discuss if they failed or succeeded. 5/8
6 Experiment 1: Window Size vs Throughput In this experiment, you will evaluate the impact of window size on throughput. Use a bandwidth of 1Mbps ( B ) and a delay of 50ms ( D 50000) for this experiment. Measure the throughput for the following window sizes W: W=1, 2, 4, 8, 10, 12, 16, 20, 24, 28, 30, 32. Finally, use the highest window size your implementation supports (based on your header format). Explain your results! What is the highest throughput you achieved? Use the window size that provided the highest throughput for the following experiments! Experiment 2: Bandwidth vs. Throughput Use a delay of 150ms for this experiment. Plot the throughput you achieve for the following bottleneck bandwidths B: B=100, 200, 300,, 1000 Kbps! Experiment 3: Delay vs. Throughput Now fix the bandwidth at 1 Mbps and vary the delay. Plot the throughput you achieve for at least the following delays D: D=0, 50, 75, 100, 150, 200, 250, 300, 400, 500, 600ms. Experiment 4: Packet Loss vs. Throughput Hints Now use a bandwidth of 1Mbps and a delay of 0ms. Plot the throughput for at least the following loss rates L, expressed as fractions of 1000: L=10,20,40,60,80,100,150,200,250, and 300. Note: depending on how your mechanism for acknowledgement and retransmission works, you may need to reduce the window size here to avoid queuing losses at the router these losses would perturb the accuracy of your L setting. In other words, reduce the window size if you see any losses in the (+ ) output of the router. To test your protocol without the router, point your client directly at the server as in project 1 this must still work. Use the u switch to test without artificial bottleneck bandwidth and delay. Keep in mind that a lower bound of the total round trip time is 2x the round trip time introduced by the UDP layer between two hosts, plus the delay specified by D at the router, plus the processing delay at the router. Use ping s 500 to get an estimate for the first component, the round trip time between two machines. If you wish, you may pass a suitable retransmission timeout to your client as an optional command line switch or environment variable that overrides a hardwired default or implement round trip time estimation as in TCP for extra credit. Submission You must ensure that your project runs on the Linux rlogin cluster reachable via rlogin.cs.vt.edu. 6/8
7 Submit your source code along with instructions on how to build your project. Use the zip archive format. Do not include object file or executables or other intermediary files in your submission. If you use a graphical IDE, be sure to include instructions on how to build and run your programs from the command line. Include a Makefile as appropriate. You must include a detailed project report that describes the results of your experiments, as outlined in the section Deliverables. The report must be in PDF format. Please also include the source format you used (such as MS Word, Open Office, or others.) Include the report in your submission s zip archive. Your submission should include the names and addresses of all team members in all source files and in the project report. The majority of the credit for this project will come from your report; simply providing a reliable protocol will account for less than 50% of your total score. The project must be submitted using the web based submission form linked from the class website, or submitted as p2 via ~cs5565/bin/submit.pl. Extra Credit Opportunities There are numerous ways in which you could improve your protocol. The following list is intended to give you suggestions and in no way limits what you may do. Tune your protocol s performance and see how close you can get to TCP s performance on a point to point link. Use the ttcp benchmark to measure TCP throughput. Implement a TCP style round trip time estimation scheme. (Perform experiment 4 with and without it.) Implement TCP style fast retransmit. (Perform experiment 4 with and without it.) Implement TCP style delayed acknowledgement. Implement a bidirectional transport. Implement variable sized windows that adapt to packet loss rates and/or receiver buffer capacity. (Turn this off for experiment 1.) Implement transport layer multiplexing and demultiplexing. Implement connection setup and teardown. Note: simply exchanging additional packets at the beginning does not implement setup & teardown. Change the router so it occasionally reorders packets and develop a protocol that can handle reordered packets. Tune your protocol for variable bandwidth and delay (use the b and t switches for that.) 7/8
8 Your own idea. For any extra credit extension, you must demonstrate the set of experiments you used to test it, and, if applicable, the results of the experiments you used to demonstrate its effectiveness. You will not receive extra credit if you do not prove experimentally that you improved your protocol in some way. A Final Comment If you have any questions about the project, please do not hesitate to ask us either by or drop by during office hours or schedule appointments. Do not procrastinate on this project keep in mind that just to get the numbers for your final report, you will have to time well over 100 runs, and this will have to happen after you get your protocol working and tuned. While not extremely difficult, this project wants to be taken seriously, especially with respect to the concurrency prevalent in the implementation of the sender s state machine. Happy hacking! 8/8
Reliable Data Transmission
Reliable Data Transmission CS5516: Project 1 Spring 2003 Deadline: Midnight March 13 th, 2003 Score: 100 points Introduction Reliable data transmission protocols form the basis of data communication. The
More informationCS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007
CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 Question 344 Points 444 Points Score 1 10 10 2 10 10 3 20 20 4 20 10 5 20 20 6 20 10 7-20 Total: 100 100 Instructions: 1. Question
More informationCS 421: COMPUTER NETWORKS SPRING FINAL May 24, minutes. Name: Student No: TOT
CS 421: COMPUTER NETWORKS SPRING 2012 FINAL May 24, 2012 150 minutes Name: Student No: Show all your work very clearly. Partial credits will only be given if you carefully state your answer with a reasonable
More informationCS 421: COMPUTER NETWORKS SPRING FINAL May 16, minutes
CS 4: COMPUTER NETWORKS SPRING 03 FINAL May 6, 03 50 minutes Name: Student No: Show all your work very clearly. Partial credits will only be given if you carefully state your answer with a reasonable justification.
More informationCS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP
CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering
More informationNetwork Management & Monitoring
Network Management & Monitoring Network Delay These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license (http://creativecommons.org/licenses/by-nc/3.0/) End-to-end
More informationChapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control
Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside
More informationAn RPC based Distributed Simulator
Due date Wednesday, Apr 4, 11:59pm An RPC based Distributed Simulator CS 5565 Spring 2012, Project 3 This project is worth 75 points. You may form teams of up to two students for this project. You are
More informationTransport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer
Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CS 375: Computer Networks Thomas C. Bressoud 1 Goals for Todayʼs Lecture Principles underlying transport-layer services (De)multiplexing Detecting
More informationCS457 Transport Protocols. CS 457 Fall 2014
CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram
More informationUser Datagram Protocol
Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram
More informationTransport Protocols Reading: Sections 2.5, 5.1, and 5.2
Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CE443 - Fall 1390 Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides
More informationLab 1 - Reliable Data Transport Protocol
Lab 1 - Reliable Data Transport Protocol Handout: March 8, 2018 Deadline: March 18 23:00, 2018 (No extension) Assignment overview: In this assignment, you will be implementing the sending and receiving
More informationLecture 13: Transport Layer Flow and Congestion Control
Lecture 13: Transport Layer Flow and Congestion Control COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:
More informationEE122 MIDTERM EXAM: Scott Shenker, Ion Stoica
EE MITERM EXM: 00-0- Scott Shenker, Ion Stoica Last name Student I First name Login: ee- Please circle the last two letters of your login. a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e
More informationReliable Transport I: Concepts and TCP Protocol
Reliable Transport I: Concepts and TCP Protocol Brad Karp UCL Computer Science CS 3035/GZ01 29 th October 2013 Part I: Transport Concepts Layering context Transport goals Transport mechanisms 2 Context:
More informationPLEASE READ CAREFULLY BEFORE YOU START
Page 1 of 20 MIDTERM EXAMINATION #1 - B COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2008-75 minutes This examination document
More informationPLEASE READ CAREFULLY BEFORE YOU START
Page 1 of 20 MIDTERM EXAMINATION #1 - A COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2008-75 minutes This examination document
More informationCS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control
: Computer Networks Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control TCP performance We ve seen how TCP the protocol works Sequencing, receive window, connection setup and teardown And
More informationHomework 1. Question 1 - Layering. CSCI 1680 Computer Networks Fonseca
CSCI 1680 Computer Networks Fonseca Homework 1 Due: 27 September 2012, 4pm Question 1 - Layering a. Why are networked systems layered? What are the advantages of layering? Are there any disadvantages?
More informationPLEASE READ CAREFULLY BEFORE YOU START
Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 13, 2011 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2011-75 minutes This examination
More informationCS4700/CS5700 Fundamentals of Computer Networks
CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern
More informationComputer Science 461 Midterm Exam March 14, :00-10:50am
NAME: Login name: Computer Science 461 Midterm Exam March 14, 2012 10:00-10:50am This test has seven (7) questions, each worth ten points. Put your name on every page, and write out and sign the Honor
More informationBasic Reliable Transport Protocols
Basic Reliable Transport Protocols Do not be alarmed by the length of this guide. There are a lot of pictures. You ve seen in lecture that most of the networks we re dealing with are best-effort : they
More informationECE697AA Lecture 3. Today s lecture
ECE697AA Lecture 3 Transport Layer: TCP and UDP Tilman Wolf Department of Electrical and Computer Engineering 09/09/08 Today s lecture Transport layer User datagram protocol (UDP) Reliable data transfer
More informationThe Transmission Control Protocol (TCP)
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals
More informationSequence Number. Acknowledgment Number. Data
CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make
More informationSchool of Engineering Department of Computer and Communication Engineering Semester: Fall Course: CENG415 Communication Networks
School of Engineering Department of Computer and Communication Engineering Semester: Fall 2012 2013 Course: CENG415 Communication Networks Instructors: Mr Houssam Ramlaoui, Dr Majd Ghareeb, Dr Michel Nahas,
More informationNetwork Management & Monitoring Network Delay
Network Management & Monitoring Network Delay These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license (http://creativecommons.org/licenses/by-nc/3.0/) End-to-end
More informationCS 640 Introduction to Computer Networks Spring 2009
CS 640 Introduction to Computer Networks Spring 2009 http://pages.cs.wisc.edu/~suman/courses/wiki/doku.php?id=640-spring2009 Programming Assignment 3: Transmission Control Protocol Assigned: March 26,
More informationShort answer (35 points)
CPSC 360 Fall 2017 Exam 1 Version 2 Solutions (last updated 10/19/2017) This exam is closed book, closed notes, closed laptops. You are allowed to have one 8.5x11 sheet of paper with whatever you like
More informationPage 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11
Goals for Today" CS162 Operating Systems and Systems Programming Lecture 11 Reliability, Transport Protocols" Finish e2e argument & fate sharing Transport: TCP/UDP Reliability Flow control October 5, 2011
More informationProblem 7. Problem 8. Problem 9
Problem 7 To best answer this question, consider why we needed sequence numbers in the first place. We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate
More informationCS 5565 Spring CS 5565 Midterm
CS 5565 This is a closed-book, closed-internet, closed-cellphone and closed-computer exam. However, you may refer to your sheet of prepared notes. Your exam should have 11 pages with 5 questions totaling
More informationUNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING
UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING ECE361 Computer Networks Midterm March 06, 2017, 6:15PM DURATION: 80 minutes Calculator Type: 2 (non-programmable calculators) Examiner:
More informationTransmission Control Protocol. ITS 413 Internet Technologies and Applications
Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion
More informationQUIZ: Longest Matching Prefix
QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22
More informationMIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E
MIDTERM EXAMINATION #2 OPERATING SYSTEM CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Intersession 2008 Last Name: First Name: Student ID: PLEASE
More informationTransport Protocols Reading: Sections 2.5, 5.1, and 5.2
Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching Assistant: Mike Wawrzoniak http://www.cs.princeton.edu/courses/archive/spring06/cos461/
More informationDepartment of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri
Department of Computer and IT Engineering University of Kurdistan Transport Layer By: Dr. Alireza Abdollahpouri TCP/IP protocol suite 2 Transport Layer The transport layer is responsible for process-to-process
More informationPLEASE READ CAREFULLY BEFORE YOU START
Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 16, 2013 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2013-75 minutes This examination
More informationCongestion control in TCP
Congestion control in TCP If the transport entities on many machines send too many packets into the network too quickly, the network will become congested, with performance degraded as packets are delayed
More informationStudent ID: CS457: Computer Networking Date: 3/20/2007 Name:
CS457: Computer Networking Date: 3/20/2007 Name: Instructions: 1. Be sure that you have 9 questions 2. Be sure your answers are legible. 3. Write your Student ID at the top of every page 4. This is a closed
More informationICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections
ICS 451: Today's plan Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections Alternating Bit Protocol: throughput tied to latency with
More informationLast Time. Internet in a Day Day 2 of 1. Today: TCP and Apps
Internet in a Day Day 2 of 1 Carnegie Mellon University 15-440, Distributed Systems Last Time Modularity, Layering, and Decomposition Example: UDP layered on top of IP to provide application demux ( ports
More informationProgramming Assignment 3: Transmission Control Protocol
CS 640 Introduction to Computer Networks Spring 2005 http://www.cs.wisc.edu/ suman/courses/640/s05 Programming Assignment 3: Transmission Control Protocol Assigned: March 28,2005 Due: April 15, 2005, 11:59pm
More informationNT1210 Introduction to Networking. Unit 10
NT1210 Introduction to Networking Unit 10 Chapter 10, TCP/IP Transport Objectives Identify the major needs and stakeholders for computer networks and network applications. Compare and contrast the OSI
More informationCS 326: Operating Systems. Networking. Lecture 17
CS 326: Operating Systems Networking Lecture 17 Today s Schedule Project 3 Overview, Q&A Networking Basics Messaging 4/23/18 CS 326: Operating Systems 2 Today s Schedule Project 3 Overview, Q&A Networking
More informationReliable Transport I: Concepts and TCP Protocol
Reliable Transport I: Concepts and TCP Protocol Stefano Vissicchio UCL Computer Science COMP0023 Today Transport Concepts Layering context Transport goals Transport mechanisms and design choices TCP Protocol
More informationApplied Networks & Security
Applied Networks & Security TCP/IP Protocol Suite http://condor.depaul.edu/~jkristof/it263/ John Kristoff jtk@depaul.edu IT 263 Spring 2006/2007 John Kristoff - DePaul University 1 ARP overview datalink
More informationEECS 3214: Computer Network Protocols and Applications. Final Examination. Department of Computer Science and Engineering
Department of Computer Science and Engineering EECS 3214: Computer Network Protocols and Applications Final Examination Instructor: N. Vlajic Date: April 9, 2016 Instructions: Examination time: 180 min.
More informationUDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data
ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission
More informationCS 421: COMPUTER NETWORKS SPRING FINAL May 21, minutes
CS 421: COMPUTER NETWORKS SPRING 2015 FINAL May 21, 2015 150 minutes Name: Student No: Show all your work very clearly. Partial credits will only be given if you carefully state your answer with a reasonable
More informationTransport Layer Protocols TCP
Transport Layer Protocols TCP Gail Hopkins Introduction Features of TCP Packet loss and retransmission Adaptive retransmission Flow control Three way handshake Congestion control 1 Common Networking Issues
More informationTCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)
TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance
More informationTransport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections
Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address
More informationInternet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.
Internet Layers Application Application Transport Transport Network Network Network Network Link Link Link Link Ethernet Fiber Optics Physical Layer Wi-Fi ARP requests and responses IP: 192.168.1.1 MAC:
More informationTransport Over IP. CSCI 690 Michael Hutt New York Institute of Technology
Transport Over IP CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP What is a transport protocol? Choosing to use a transport protocol Ports and Addresses Datagrams UDP What is a
More informationMultiple unconnected networks
TCP/IP Life in the Early 1970s Multiple unconnected networks ARPAnet Data-over-cable Packet satellite (Aloha) Packet radio ARPAnet satellite net Differences Across Packet-Switched Networks Addressing Maximum
More informationIntroduction to Networks and the Internet
Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.
More informationComputer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am
15-744 Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am (please submit through e-mail to zhuoc@cs.cmu.edu and srini@cs.cmu.edu) Name: A Congestion Control 1. At time t, a TCP connection
More informationUNIT IV TRANSPORT LAYER
Transport Layer UNIT IV TRANSPORT LAYER Congestion Control and Quality of Service Ref: Data Communication & Networking, 4 th edition, Forouzan IV-1 DATA TRAFFIC The main focus of congestion control and
More informationSolution to Question 1: ``Quickies'' (25 points, 15 minutes)
Solution to Question : ``Quickies'' (25 points, 5 minutes) What is meant by the term statistical multiplexing? Answer: In statistical multiplexing, data from multiple users (senders) is sent over a link.
More informationIntro to LAN/WAN. Transport Layer
Intro to LAN/WAN Transport Layer Transport Layer Topics Introduction (6.1) Elements of Transport Protocols (6.2) Internet Transport Protocols: TDP (6.5) Internet Transport Protocols: UDP (6.4) socket interface
More informationPLEASE READ CAREFULLY BEFORE YOU START
MIDTERM EXAMINATION #2 NETWORKING CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R - S c h o o l o f C o m p u t e r S c i e n c e Fall 2011 Question Paper NOTE: Students may take this question
More informationIIP Wireless. Presentation Outline
IIP Wireless Improving Internet Protocols for Wireless Links Markku Kojo Department of Computer Science www.cs cs.helsinki.fi/research/.fi/research/iwtcp/ 1 Presentation Outline Project Project Summary
More informationSection 1 Short Answer Questions
CPSC 3600 section 002 HW #1 Fall 2017 Last revision: 9/7/2017 You must work on this homework individually!! Submission: You are to submit your written answers to turnitin. Also, you are to submit your
More informationCSCI Computer Networks
CSCI-1680 - Computer Networks Chen Avin (avin) Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti, Peterson & Davie, Rodrigo Fonseca Administrivia Sign and hand in Collaboration
More informationLecture 15 Networking Fundamentals. Today s Plan
Lecture 15 Networking Fundamentals Slides attributed to Neil Spring Today s Plan Talk about networking in general Layers, Routing Specifically about IP and TCP Service model, what TCP provides Work our
More informationPRACTICE QUESTIONS ON RESOURCE ALLOCATION
PRACTICE QUESTIONS ON RESOURCE ALLOCATION QUESTION : Internet Versus Station Wagon A famous maxim, sometimes attributed to Dennis Ritchie, says Never underestimate the bandwidth of a station wagon full
More informationECE 697J Advanced Topics in Computer Networks
ECE 697J Advanced Topics in Computer Networks Network Measurement 12/02/03 Tilman Wolf 1 Overview Lab 3 requires performance measurement Throughput Collecting of packet headers Network Measurement Active
More informationQuestion Points Score total 100
CS457: Computer Networking Date: 3/21/2008 Name: Instructions: 1. Be sure that you have 8 questions 2. Be sure your answers are legible. 3. Write your Student ID at the top of every page 4. This is a closed
More informationCS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:
CS 349/449 Internet Protocols Final Exam Winter 2003 12/15/2003 Name: Course: Instructions: 1. You have 2 hours to finish 2. Question 9 is only for 449 students 3. Closed books, closed notes. Write all
More informationETSF10 Internet Protocols Transport Layer Protocols
ETSF10 Internet Protocols Transport Layer Protocols 2012, Part 2, Lecture 2.1 Kaan Bür, Jens Andersson Transport Layer Protocols Process-to-process delivery [ed.4 ch.23.1] [ed.5 ch.24.1] Transmission Control
More informationData Communication Networks Final
Data Communication Networks Final Saad Mneimneh Visiting Professor Hunter College of CUNY NAME: This final test is take home... There are 8 Problems (but each problem has multiple parts, possibly on separate
More informationChapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1
Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport
More informationCommunication Networks
Communication Networks Spring 2018 Laurent Vanbever nsg.ee.ethz.ch ETH Zürich (D-ITET) April 30 2018 Materials inspired from Scott Shenker & Jennifer Rexford Last week on Communication Networks We started
More informationLecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)
Lecture 7: Sliding Windows CSE 123: Computer Networks Geoff Voelker (guest lecture) Please turn in HW #1 Thank you From last class: Sequence Numbers Sender Receiver Sender Receiver Timeout Timeout Timeout
More informationChapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP
Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY The transport
More informationKent State University
CS 4/54201 Computer Communication Network Kent State University Dept. of Computer Science www.mcs.kent.edu/~javed/class-net06f/ 1 A Course on Networking and Computer Communication LECT-10, S-2 IP- Internet
More informationCSCD 330 Network Programming Winter 2015
CSCD 330 Network Programming Winter 2015 Lecture 11a Transport Layer Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Chapter 3 Sections
More informationData Link Control Protocols
Protocols : Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 Y12S1L07, Steve/Courses/2012/s1/its323/lectures/datalink.tex,
More informationFlow and Congestion Control
CE443 Computer Networks Flow and Congestion Control Behnam Momeni Computer Engineering Department Sharif University of Technology Acknowledgments: Lecture slides are from Computer networks course thought
More informationExercises TCP/IP Networking With Solutions
Exercises TCP/IP Networking With Solutions Jean-Yves Le Boudec Fall 2009 3 Module 3: Congestion Control Exercise 3.2 1. Assume that a TCP sender, called S, does not implement fast retransmit, but does
More informationReliable Byte-Stream (TCP)
Reliable Byte-Stream () Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout Simple Demultiplexer (UDP) Header format Note 16 bit port number (so only 64K
More informationThe Transport Layer Multiplexing, Error Detection, & UDP
CPSC 852 Internetworking The Transport Layer Multiplexing, Error Detection, & UDP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852
More informationCCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer
CCNA R&S: Introduction to Networks Chapter 7: The Transport Layer Frank Schneemann 7.0.1.1 Introduction 7.0.1.2 Class Activity - We Need to Talk Game 7.1.1.1 Role of the Transport Layer The primary responsibilities
More information! " Lecture 5: Networking for Games (cont d) Packet headers. Packet footers. IP address. Edge router (cable modem, DSL modem)
Lecture 5: Networking for Games (cont d) Special Send case: to NAT 123.12.2.10 network 192.168.1.101 17.4.9.33 192.168.1.100 123.12.2.[0-128] IP address 23.11.3.10 Edge router (cable modem, DSL modem)
More informationCMPE 257: Wireless and Mobile Networking
CMPE 257: Wireless and Mobile Networking Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 257 Spring'15 1 Student Presentations Schedule May 21: Sam and Anuj May 26: Larissa
More informationChapter 3 Review Questions
Chapter 3 Review Questions. 2. 3. Source port number 6 and destination port number 37. 4. TCP s congestion control can throttle an application s sending rate at times of congestion. Designers of applications
More informationReview problems (for no credit): Transport and Network Layer
Review problems (for no credit): Transport and Network Layer V. Arun CS 653, Fall 2018 09/06/18 Transport layer 1. Protocol multiplexing: (a) If a web server has 100 open connections, how many sockets
More informationCPSC 3600 HW #4 Solutions Fall 2017 Last update: 12/10/2017 Please work together with your project group (3 members)
CPSC 3600 HW #4 Solutions Fall 2017 Last update: 12/10/2017 Please work together with your project group (3 members) Name: Q 1 Kurose chapter 3, review question R14 (20 points) Solution: a) false b) false
More informationCPSC 4240/6240 Spring 2017 HW # 3 v1 Last update: 3/22/2017
CPSC 4240/6240 Spring 2017 HW # 3 v1 Last update: 3/22/2017 You can work individually or with a partner (we won t allow groups > 2). Note that the grading will be identical if you work on your own or with
More informationOperating Systems and Networks. Network Lecture 8: Transport Layer. Adrian Perrig Network Security Group ETH Zürich
Operating Systems and Networks Network Lecture 8: Transport Layer Adrian Perrig Network Security Group ETH Zürich I was going to tell you a joke about UDP, but I wasn t sure if you were going to get it
More informationOperating Systems and Networks. Network Lecture 8: Transport Layer. Where we are in the Course. Recall. Transport Layer Services.
Operating Systems and s Lecture 8: Transport Layer I was going to tell you a joke about UDP, but I wasn t sure if you were going to get it Adrian Perrig Security Group ETH Zürich 2 Where we are in the
More informationLecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren
Lecture 5: Flow Control CSE 123: Computer Networks Alex C. Snoeren Pipelined Transmission Sender Receiver Sender Receiver Ignored! Keep multiple packets in flight Allows sender to make efficient use of
More informationCSE 422 Jeopardy. Sockets TCP/UDP IP Routing Link $100 $200 $300 $400. Sockets - $100
CSE 422 Jeopardy Sockets TCP/UDP IP Routing Link $100 $100 $100 $100 $100 $200 $200 $200 $200 $200 $300 $300 $300 $300 $300 $400 $400 $400 $400 $400 $500 $500 $500 $500 $500 Sockets - $100 True or False:
More information2. Traffic. Contents. Offered vs. carried traffic. Characterisation of carried traffic
Contents characterisation Telephone traffic modelling Data traffic modelling at packet level Data traffic modelling at flow level lect.ppt S-8.5 - Introduction to Teletraffic Theory Spring 6 Offered vs.
More informationOutline. CS5984 Mobile Computing
CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,
More information