Schahin Rajab TCP or QUIC Which protocol is most promising for the future of the internet?

Size: px
Start display at page:

Download "Schahin Rajab TCP or QUIC Which protocol is most promising for the future of the internet?"

Transcription

1 Schahin Rajab TCP or QUIC Which protocol is most promising for the future of the internet?

2 Table of contents 1 Introduction 3 2 Background TCP UDP QUIC HTTP Comparing TCP with QUIC Request and Response Multiplexing Latency Vertical Handover 6 4 Analysis Which protocol takes home the prize? 6 5 Discussion 7 6 Conclusion 7 7 Future Work 8 References 9 1

3 Abstract This paper discusses which direction the internet is heading towards and whether the design of the most used transport protocol, TCP, will be able to meet these standards. Google has proposed a new experimental protocol called QUIC, in their goal of making the web faster. This paper compares different internetworking aspects of QUIC and TCP to examine which protocol suits best for the future of the internet. QUIC proved to hold the best promises with reduced latency, rapid iterations and better multiplexing. 2

4 1. Introduction A transport protocol is a way of exchanging data between two computers across the internet. The two most fundamental transport protocols of the transport layer are TCP ( Transmission Control Protocol ) and UDP ( User Datagram Protocol ). TCP was introduced over 40 years ago [1] and is a reliable protocol which can handle packet loss by retransmitting the packets and can also deliver the packets in order. UDP is its counterpart that does not provide these services and instead takes a connectionless approach by simply sending out the packets without establishing a connection first and these packets are then processed independently. This makes UDP faster than TCP, but is less reliable. Because of how much content there is that has to be transferred in byte order and without losses, TCP is the most widely used transport protocol today. However, the web has changed dramatically over the past two decades. From being a basic static web page being composed by only one server, web pages today are interactive and over one megabyte in size and has dozens of different resources and domain servers. Users demands a better web experience, they want high quality images and nice layout without having to wait longer than a second for the website to load (Jakob Nielsen published an article in response times 3 important limits/ regarding response time where he explained that 0.1 second is how fast a website should load for it to feel instantaneous to the user ). People also access the internet through new devices such as mobile phones and tablets, and even machines are connected to networks so they can communicate with other machines! Even though we have seen a rapid development of the internet, we are still using protocols that were designed long before the first commercial internet access providers were established [2]. TCP have had many improvements since its first introduction in 1974 and is still seeing changes. However, iteration is slow and since it is built directly into the operating system s kernel, the deployment is slow as well considering the vast number of old operating systems still being used [3]. The speed of which TCP is improving at does not match the rate of change the web is undergoing. This paper will look at a new protocol that has been developed to catch up with the evolution of the internet by trying to reduce latency while at the same time does not compromise in security or reliability. This protocol is developed by Google and is called QUIC, Quick UDP Internet Connections. QUIC is built upon UDP but has similar features of TCP. Google developed QUIC with aim to reduce delay. Also, QUIC has a much faster iteration than what TCP has, a new version can be released within weeks instead of years. And it can be pushed out to clients more quickly since QUIC is built into Google s own browser, Chrome. 3

5 2. Background 2.1 TCP TCP guarantees that all bytes sent will arrive to its destination, and in order. TCP is connection oriented, meaning a connection has to be established before any data can be exchanged. All TCP connections are established through a three way handshake where the client begins by choosing a random sequence number and sends a SYN segment to the server. The server increments this sequence number by one and chooses its own sequence number and sends out a SYN ACK segment back to the client. Finally, the client increments both sequence numbers by one and establishes the connection by sending an ACK segment to the server. Once connection has been established, data can be exchanged through the route that was decided during the handshake. TCP splits data into segments and transfer them one by one in IP packets. When the client transfers one IP packet to the server it waits with sending out the next one until it receives an ACK segment from the server. TCP does this to make sure that the data has been received in full and in order. If an ACK segment has not been received within a certain amount of time, TCP handles this by retransmitting the lost packet. This makes TCP a reliable protocol to use. but not a very time efficient one. Since most applications depends on a reliable transport protocol, TCP is the most widely used. 2.2 UDP A datagram is a packet sent through an unreliable service with no guarantee of delivery or error correction. The user datagram protocol is a connectionless service, meaning there is a route lookup for each UDP packet. Lost packets are not retransmitted and packets are not necessarily received in order. UDP has a header that is lightweight compared to the 20 byte size header for TCP. It is only 8 byte in size and contains four 16 bit fields; Source port, destination port, length and checksum. This smaller overhead makes UDP useful when exchanging data between applications that allows loss of data in low latency. Such typical application is online gaming where low latency is needed and packet losses are acceptable. 2.3 QUIC QUIC is an experimental transport protocol developed by Google that runs over UDP. Main idea with this protocol is to reduce latency by minimizing the number of round trip times, RTT, it takes to establish a connection. If a client wants to re connect to a server, it can do so immediately without having to perform any handshake. The connection is also always encrypted [4]. 4

6 2.4 HTTP 2.0 The aim with HTTP 2.0 is to address the issues in HTTP 1.1 by introducing header field compression to reduce latency and by utilizing network resources more efficiently [5]. It introduces a new way of encapsulating HTTP messages called binary framing layer. Instead of text protocols, HTTP 2.0 divides its messages to smaller frames and encodes them in binary. These frames can be sent out simultaneously and makes it possible to deliver multiple requests/responses over a single TCP connection. A frame in HTTP 2.0 is the tiniest protocol unit and each frame has a frame header.. There exist different types of frames, each with its own purpose [6]. The two most common frame types are the header frame and the data frame, which carries header block fragment and HTTP request/response payloads respectively. 3. Comparing TCP with QUIC 3.1 Request and Response Multiplexing A typical issue with web pages that has many resources is how the page should be uploaded. If there is only one TCP connection opened then there can only be one request sent at a time before the client has to wait for a response from the server so it can send out the next request. This takes a long time for webpages with many resources. HTTP pipelining tackles this issue by sending multiple HTTP requests through a single open TCP connection at the same time. The problem with this is that the responses has to be sent back in the same order as the requests were received which can lead to Head of line blocking (HOL blocking). HOL blocking occurs when a request is taking so much time to be processed by the server that the subsequent requests gets blocked. Another problem is that HTTP pipelining is difficult to implement, the major web browsers have all disabled support of HTTP pipelining [7]. Instead, browsers open multiple TCP sessions to the server and sends one request through each connection and let the server handle these requests independently. This is a nice way of circumvent the TCP slow start limit as the TCP congestion windows are multiplied by the number of opened TCP sessions. But it is more expensive to operate since every established connection requires extra memory and CPU consumption for both the client and server. Also, implementing multiple parallel TCP connections is difficult to do [7]. A solution to this problem has been presented with the HTTP 2.0. Instead of opening multiple TCP sessions, HTTP 2.0 uses its binary framing layer to divide each HTTP message into frames and allows these frames to be interleaved and multiplexed onto a single TCP connection and reassembled at the other end [7]. This method reduces loading time for web 5

7 pages and also reduces the CPU usage and memory costs since we only require one TCP connection. However, since HTTP is based upon TCP, there is still a problem with HOL blocking at the transport level. But this is something QUIC could fix. Since QUIC runs over UDP, it can avoid this issue of TCP head of line blocking because UDP is not in order. 3.2 Latency Reducing the time it takes to load a web page is crucial to keep users engaged with the web site. When establishing an encrypted TCP connection, i.e. TCP+SSL ( Secure Socket Layer ), there is a handshake with up to 3 round trips. If one round trip would take, say, 100 milliseconds the client would then have to wait 300 ms before being able to send out the first request. QUIC on the other hand only require one round trip to establish a connection with a server it has not talked to before, and zero round trips to re connect to a server. QUIC manages to encrypt the connection even with zero round trips by assuming that the server s public key is still the same as before [8]. 3.3 Vertical handover When a device connected to the internet switches from one network interface to another, this is called a vertical handover. This could for example be, switching from (Wi Fi) to LTE. The IP address of the device will change after a vertical handoff, and consequently, so will the port number. This is an issue for TCP since it is dependent on the ports at the endpoints which means that a new TCP connection needs to be established. A solution to this is Multipath TCP and is developed by the IETF, Internet Engineering Task Force, where a device can connect to multiple networks [9]. This would mean if one network drops the device can instead fall back to another one without losing the TCP connection or the congestion window. QUIC, on the other hand, does not rely on port pairs. Every QUIC packet has instead a 64 bit GUID, Globally Unique Identifier, which can be used to identify which port it came from to the server after the handover. This should help making the transition to a new network interface almost unnoticeable. And if the QUIC connection would be lost it could simply re connect to the server again with zero round trip time. 4. Analysis Which protocol takes home the prize? Internet is expanding at a rapid rate and QUIC is part of Google s goal to make the web faster. Not only do each person have multiple devices connected to internet nowadays, we are also starting to see devices being connected to other devices Internet of Things. It is estimated that by 2020, more than 50 billion devices will be connected [10]. Innovations are required to address this and TCP as it is today will not keep up. 6

8 QUIC reduces latency by clever zero round trips to talk to a server it already has talked to before. It solves the TCP bottleneck when it comes to head of line blocking problem by using UDP instead. And since TCP was originally designed during a time when machines were very large and stationary, it does not perform well during vertical handovers [11]. TCP is dependant on the source s and destination s IP port, and after a handover the device is assigned a new IP address so the TCP connection has to restart. This is too slow for the future. Already today most people are using mobile devices everywhere they go. Devices needs to be quicker at adapting to changes of network interfaces. QUIC solves this by having a 64 bit GUID on every packet that can explain to the server which port it came from before the handover, and which port it is using now. All this and more makes QUIC an attractive protocol to be used in the future instead of TCP. QUIC may not replace TCP, but perhaps some of its successful features can be implemented in TCP. 5. Discussion Trying to improve TCP instead of developing QUIC is not easy. Deploying a new version of QUIC is quick since the protocol is implemented directly into Google Chrome instead of some operating system kernel. When it could take more than a decade to release a new version of TCP to everyone because most people sits on old operating systems, it could take weeks for Google to just update QUIC on everyone s Chrome browser. This rapid iteration of QUIC is very beneficial to the future course of the internet since Google can collect statistics of how QUIC is performing and make changes accordingly. It accelerates the pace of which the web is changing at. Developing a whole new transport protocol is also a difficult task. All the routers and servers which helps transfer a packet between two endpoints have to understand the protocol being used or else it will drop it. Reprogramming every server, router, hub, switch etc. is close to impossible, so there is not much choice other than using TCP or UDP. Hence, why QUIC rests on top of UDP. 6. Conclusion TCP has design problems that does not match with the web today. QUIC has some promising features that could very well change our web experience dramatically in the long run. It is still in the experimental stage and mainly only Google s own servers supports QUIC. 7

9 7. Future work Google has released a QUIC toy server and client to be used by anyone [12]. This could be used to test how much better QUIC performs at packet recovery than TCP is and how QUIC behaves during packet losses. It would also be interesting to test out how much faster it is to download various web pages with QUIC than it is with TCP by enabling and disabling QUIC in the Chrome settings. 8

10 References [1] TCP/IP Background: TCP/IP. Accessed 7 April us/library/cc775383(v=ws.10).aspx. [2] Roger Clarke s The Internet in Australia. Accessed 7 April [3] QUIC FAQ for Geeks. Google Docs. Accessed 7 April ef=2&pli=1&usp=embed_facebook. [4] QUIC Crypto. Google Docs. Accessed 20 April XJW5K45IblHd_L2f5LTaDUDwvZ5L6g/edit?pref=2&pli=1&usp=embed_facebook. [5] RFC 7540 Hypertext Transfer Protocol Version 2 (HTTP/2). Accessed 20 April [6] Hypertext Transfer Protocol Version 2 (HTTP/2). Accessed 20 April spec/index.html#frametypes [7] Grigorik, Ilya. High Performance Browser Networking. O Reilly Media, p. 192, p.196, p.214. [8] QUIC Crypto. Google Docs. Accessed 20 April XJW5K45IblHd_L2f5LTaDUDwvZ5L6g/edit?pref=2&pli=1#heading=h.bzxklo2i5w6k. [9] Internet Draft MPTCP Working Group. Accessed 20 April ietf mptcp experience 04.txt. [10] CEO to Shareholders: 50 Billion Connections 2020 Ericsson. Accessed 20 April [11] Ronquist, Mattias. TCP Reaction to Rapid Changes of the Link Characteristics due to Handover in a Mobile Environment. Royal Institute of Technology, PROJECT REPORTS/ Mattias_Ronquist final report.pdf [12] Playing with QUIC The Chromium Projects. Accessed 20 April with quic. 9

Advanced Computer Networking. CYBR 230 Jeff Shafer University of the Pacific QUIC

Advanced Computer Networking. CYBR 230 Jeff Shafer University of the Pacific QUIC CYBR 230 Jeff Shafer University of the Pacific QUIC 2 It s a Google thing. (Originally) 3 Google Engineering Motivations Goal: Decrease end-user latency on web To increase user engagement So they see more

More information

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print, ANNEX B - Communications Protocol Overheads The OSI Model is a conceptual model that standardizes the functions of a telecommunication or computing system without regard of their underlying internal structure

More information

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

CCNA 1 Chapter 7 v5.0 Exam Answers 2013 CCNA 1 Chapter 7 v5.0 Exam Answers 2013 1 A PC is downloading a large file from a server. The TCP window is 1000 bytes. The server is sending the file using 100-byte segments. How many segments will the

More information

The Transmission Control Protocol (TCP)

The 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 information

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role

More information

TCP/IP stack is the family of protocols that rule the current internet. While other protocols are also used in computer networks, TCP/IP is by far

TCP/IP stack is the family of protocols that rule the current internet. While other protocols are also used in computer networks, TCP/IP is by far TCP/IP stack is the family of protocols that rule the current internet. While other protocols are also used in computer networks, TCP/IP is by far the most common of them. TCP/IP can be compared to the

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer CCNA Exploration Network Fundamentals Chapter 04 OSI Transport Layer Updated: 05/05/2008 1 4.1 Roles of the Transport Layer 2 4.1 Roles of the Transport Layer The OSI Transport layer accept data from the

More information

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer

CCNA 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

TSIN02 - Internetworking

TSIN02 - Internetworking TSIN02 - Internetworking Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 Transport layer responsibilities UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 Transport layer in OSI model

More information

NT1210 Introduction to Networking. Unit 10

NT1210 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 information

ECE697AA Lecture 3. Today s lecture

ECE697AA 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 information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

Business Data Networks and Security 10th Edition by Panko Test Bank

Business Data Networks and Security 10th Edition by Panko Test Bank Business Data Networks and Security 10th Edition by Panko Test Bank Chapter 2 Network Standards 1) Internet standards are published as. A) RFCs B) IETFs C) TCP/IPs D) Internet Protocols Question: 1a Objective:

More information

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary Chapter 7 Transport Layer 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary Transport Layer Transportation of Data Role of the Transport Layer The transport layer is responsible

More information

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016 Overview Content Delivery 15-441 15-441 Computer Networking 15-641 Lecture 15: The Web Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 Web Protocol interactions HTTP versions Caching Cookies

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

Link download full: Test Bank for Business Data Networks and Security 9th Edition by Panko https://digitalcontentmarket.org/download/business-data-networks-and-security-9thedition-by-panko/ Business Data

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

User Datagram Protocol

User 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 information

Multipath QUIC: Design and Evaluation

Multipath QUIC: Design and Evaluation Multipath QUIC: Design and Evaluation Quentin De Coninck, Olivier Bonaventure quentin.deconinck@uclouvain.be multipath-quic.org QUIC = Quick UDP Internet Connection TCP/TLS1.3 atop UDP Stream multiplexing

More information

A New Internet? RIPE76 - Marseille May Jordi Palet

A New Internet? RIPE76 - Marseille May Jordi Palet A New Internet? RIPE76 - Marseille May 2018 Jordi Palet (jordi.palet@theipv6company.com) -1 (a quick) Introduction to HTTP/2, QUIC and DOH and more RIPE76 - Marseille May 2018 Jordi Palet (jordi.palet@theipv6company.com)

More information

OSI Transport Layer. objectives

OSI Transport Layer. objectives LECTURE 5 OSI Transport Layer objectives 1. Roles of the Transport Layer 1. segmentation of data 2. error detection 3. Multiplexing of upper layer application using port numbers 2. The TCP protocol Communicating

More information

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,

More information

Multipath QUIC: Design and Evaluation

Multipath QUIC: Design and Evaluation Multipath QUIC: Design and Evaluation Quentin De Coninck, Olivier Bonaventure quentin.deconinck@uclouvain.be multipath-quic.org Outline The QUIC protocol Designing Multipath for QUIC Experimental Design

More information

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst EITF25 Internet Techniques and Applications L7: Internet Stefan Höst What is Internet? Internet consists of a number of networks that exchange data according to traffic agreements. All networks in Internet

More information

Network Model: Each layer has a specific function.

Network Model: Each layer has a specific function. OBJECTIVES: To discuss the OSI model and its layer architecture and to show the interface between the layers. To briefly discuss the functions of each layer in the OSI model. To introduce the TCP/IP protocol.

More information

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area Sally Floyd March 2, 2000 IAB Workshop on Wireless Internetworking 1 Observations: Transport protocols

More information

Position of IP and other network-layer protocols in TCP/IP protocol suite

Position of IP and other network-layer protocols in TCP/IP protocol suite Position of IP and other network-layer protocols in TCP/IP protocol suite IPv4 is an unreliable datagram protocol a best-effort delivery service. The term best-effort means that IPv4 packets can be corrupted,

More information

05 Transmission Control Protocol (TCP)

05 Transmission Control Protocol (TCP) SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided

More information

Introduction to Networks and the Internet

Introduction 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 information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Outline Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 RFC? Transport layer introduction UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 The Transport Layer Transport layer

More information

MIDTERM 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 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 information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Lecture 9 Transport Layer Winter 2019 Reading: Begin Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Outline Overview

More information

Transport Protocols & TCP TCP

Transport Protocols & TCP TCP Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC

More information

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 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 information

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me

More information

4.0.1 CHAPTER INTRODUCTION

4.0.1 CHAPTER INTRODUCTION 4.0.1 CHAPTER INTRODUCTION Data networks and the Internet support the human network by supplying seamless, reliable communication between people - both locally and around the globe. On a single device,

More information

Introduction to computer networking

Introduction to computer networking edge core Introduction to computer networking Comp Sci 3600 Security Outline edge core 1 2 edge 3 core 4 5 6 The edge core Outline edge core 1 2 edge 3 core 4 5 6 edge core Billions of connected computing

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE 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 information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE 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 information

CS 43: Computer Networks. 15: Transport Layer & UDP October 5, 2018

CS 43: Computer Networks. 15: Transport Layer & UDP October 5, 2018 CS 43: Computer Networks 15: Layer & UDP October 5, 2018 Reading Quiz Lecture 15 - Slide 2 Layer Moving down a layer. Current perspective: lication is the boss Usually executing within the OS kernel. The

More information

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser

More information

Experimental Evaluation of Transport Services CoAP, HTTP and SPDY for Internet of Things

Experimental Evaluation of Transport Services CoAP, HTTP and SPDY for Internet of Things Experimental Evaluation of Transport Services CoAP, HTTP and SPDY for Internet of Things Laila Daniel, Markku Kojo and Mikael Latvala Department of Computer Science University of Helsinki Mosa Consulting,

More information

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 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 information

Chapter 5 OSI Network Layer

Chapter 5 OSI Network Layer Chapter 5 OSI Network Layer The protocols of the OSI model Network layer specify addressing and processes that enable Transport layer data to be packaged and transported. The Network layer encapsulation

More information

Network Layer (1) Networked Systems 3 Lecture 8

Network Layer (1) Networked Systems 3 Lecture 8 Network Layer (1) Networked Systems 3 Lecture 8 Role of the Network Layer Application Application The network layer is the first end-to-end layer in the OSI reference model Presentation Session Transport

More information

QUIC. Internet-Scale Deployment on Linux. Ian Swett Google. TSVArea, IETF 102, Montreal

QUIC. Internet-Scale Deployment on Linux. Ian Swett Google. TSVArea, IETF 102, Montreal QUIC Internet-Scale Deployment on Linux TSVArea, IETF 102, Montreal Ian Swett Google 1 A QUIC History - SIGCOMM 2017 Protocol for HTTPS transport, deployed at Google starting 2014 Between Google services

More information

CPSC156a: The Internet Co-Evolution of Technology and Society. Lecture 4: September 16, 2003 Internet Layers and the Web

CPSC156a: The Internet Co-Evolution of Technology and Society. Lecture 4: September 16, 2003 Internet Layers and the Web CPSC156a: The Internet Co-Evolution of Technology and Society Lecture 4: September 16, 2003 Internet Layers and the Web Layering in the IP Protocols HTTP (Web) Telnet Domain Name Service Simple Network

More information

Chapter 6. (Week 12) The Transport Layer (CONTINUATION) ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP

Chapter 6. (Week 12) The Transport Layer (CONTINUATION) ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP Chapter 6 (Week 12) The Transport Layer (CONTINUATION) ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP. 524-574 1 THE TRANSPORT LAYER S TASK IS TO PROVIDE RELIABLE, COST- EFFECTIVE DATA TRANSPORT

More information

ECE 333: Introduction to Communication Networks Fall 2001

ECE 333: Introduction to Communication Networks Fall 2001 ECE 333: Introduction to Communication Networks Fall 2001 Lecture 26: Transport layer I 1 Transport Layer In the remaining lectures, we will discuss several issues that are commonly addressed at the transport

More information

Transport Layer TCP & UDP Week 7. Module : Computer Networks Lecturers : Lucy White Office : 324

Transport Layer TCP & UDP Week 7. Module : Computer Networks Lecturers : Lucy White Office : 324 Transport Layer TCP & UDP Week 7 Module : Computer Networks Lecturers : Lucy White lbwhite@wit.ie Office : 324 1 Purpose of the Transport Layer The Transport layer provides for the segmentation of data

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE 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 information

Transport Layer Marcos Vieira

Transport Layer Marcos Vieira Transport Layer 2014 Marcos Vieira Transport Layer Transport protocols sit on top of network layer and provide Application-level multiplexing ( ports ) Error detection, reliability, etc. UDP User Datagram

More information

QUIC: the details. Robin Marx PhD researcher Hasselt University. Curl-up Prague March 2019

QUIC: the details. Robin Marx PhD researcher Hasselt University.   Curl-up Prague March 2019 QUIC: the details Robin Marx - @programmingart PhD researcher Hasselt University https://quic.edm.uhasselt.be Curl-up Prague March 2019 QUIC in Theory and Practice @ DeltaV 2018 https://www.youtube.com/watch?v=b1sqfjixjtc

More information

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols TCP/IP Chapter 5: Transport Layer TCP/IP Protocols 1 Objectives Understand the key features and functions of the User Datagram Protocol Explain the mechanisms that drive segmentation, reassembly, and retransmission

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission 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 information

Transport Protocols and TCP

Transport Protocols and TCP Transport Protocols and TCP Functions Connection establishment and termination Breaking message into packets Error recovery ARQ Flow control Multiplexing, de-multiplexing Transport service is end to end

More information

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing. IP Forwarding & Transport Protocols EE 122: Intro to Communication Networks Fall 2007 (WF 4-5:30 in Cory 277) Vern Paxson TAs: Lisa Fowler, Daniel Killebrew & Jorge Ortiz http://inst.eecs.berkeley.edu/~ee122/

More information

Computer Communication Networks Midterm Review

Computer Communication Networks Midterm Review Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your

More information

Transport Protocols and TCP: Review

Transport Protocols and TCP: Review Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment

More information

Application. Transport. Network. Link. Physical

Application. Transport. Network. Link. Physical Transport Layer ELEC1200 Principles behind transport layer services Multiplexing and demultiplexing UDP TCP Reliable Data Transfer TCP Congestion Control TCP Fairness *The slides are adapted from ppt slides

More information

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer. Gursharan Singh Tatla.   Upendra Sharma. 1 Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message

More information

Data Transport over IP Networks

Data Transport over IP Networks Data Transport over IP Networks Derek Konigsberg octo@logicprobe.org AITP University of Central Florida Data Transport over IP Networks p.1/24 Introduction The TCP/IP protocol suite was created by DARPA

More information

CSCI 466 Midterm Networks Fall 2013

CSCI 466 Midterm Networks Fall 2013 CSCI 466 Midterm Networks Fall 2013 Name: This exam consists of 6 problems on the following 7 pages. You may use your single-sided hand-written 8 ½ x 11 note sheet and a calculator during the exam. No

More information

Lecture (02) The TCP/IP Networking Model

Lecture (02) The TCP/IP Networking Model Lecture (02) The TCP/IP Networking Model Dr. Ahmed M. ElShafee ١ Agenda Introduction to networking architecture Historical background The TCP/IP Protocol Architecture The TCP/IP Application Layer The TCP/IP

More information

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER Transport Layer The Transport layer ensures the reliable arrival of messages and provides error checking mechanisms and data

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/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 information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport 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 information

Department 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 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 information

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP) Lecture (07) OSI layer 4 protocols TCP/UDP protocols By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU Fall2014, Computer Networks II Introduction Most data-link protocols notice errors then discard frames

More information

Introduction. IP Datagrams. Internet Service Paradigm. Routers and Routing Tables. Datagram Forwarding. Example Internet and Conceptual Routing Table

Introduction. IP Datagrams. Internet Service Paradigm. Routers and Routing Tables. Datagram Forwarding. Example Internet and Conceptual Routing Table Introduction Datagram Forwarding Gail Hopkins Service paradigm IP datagrams Routing Encapsulation Fragmentation Reassembly Internet Service Paradigm IP Datagrams supports both connectionless and connection-oriented

More information

CSCI-GA Operating Systems. Networking. Hubertus Franke

CSCI-GA Operating Systems. Networking. Hubertus Franke CSCI-GA.2250-001 Operating Systems Networking Hubertus Franke frankeh@cs.nyu.edu Source: Ganesh Sittampalam NYU TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute

More information

A New Internet? Introduction to HTTP/2, QUIC and DOH

A New Internet? Introduction to HTTP/2, QUIC and DOH A New Internet? Introduction to HTTP/2, QUIC and DOH and more LACNIC 29 - Panamá May 2018 Jordi Palet (jordi.palet@theipv6company.com) -1 Internet is Changing More and more, Internet traffic is moving

More information

Just enough TCP/IP. Protocol Overview. Connection Types in TCP/IP. Control Mechanisms. Borrowed from my ITS475/575 class the ITL

Just enough TCP/IP. Protocol Overview. Connection Types in TCP/IP. Control Mechanisms. Borrowed from my ITS475/575 class the ITL Just enough TCP/IP Borrowed from my ITS475/575 class the ITL 1 Protocol Overview E-Mail HTTP (WWW) Remote Login File Transfer TCP UDP RTP RTCP SCTP IP ICMP ARP RARP (Auxiliary Services) Ethernet, X.25,

More information

ECE 333: Introduction to Communication Networks Fall 2002

ECE 333: Introduction to Communication Networks Fall 2002 ECE 333: Introduction to Communication Networks Fall 2002 Lecture 26: Transport layer I 1 Transport Layer In the remaining lectures, we will discuss several issues that are commonly addressed at the transport

More information

Lecture (02) The TCP/IP Networking Model

Lecture (02) The TCP/IP Networking Model Agenda ١ Lecture (02) The TCP/IP Networking Model Dr. Ahmed M. ElShafee Introduction to networking architecture Historical background The TCP/IP Protocol Architecture The TCP/IP Application Layer The TCP/IP

More information

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

UDP 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 information

Networks Fall This exam consists of 10 problems on the following 13 pages.

Networks Fall This exam consists of 10 problems on the following 13 pages. CSCI 466 Final Networks Fall 2011 Name: This exam consists of 10 problems on the following 13 pages. You may use your two- sided hand- written 8 ½ x 11 note sheet during the exam and a calculator. No other

More information

Applied Networks & Security

Applied 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 information

Lecture (02) Networking Model (TCP/IP) Networking Standard (OSI) (I)

Lecture (02) Networking Model (TCP/IP) Networking Standard (OSI) (I) Lecture (02) Networking Model (TCP/IP) Networking Standard (OSI) (I) By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU : Fall 2016, Networks II Agenda Introduction to networking architecture Historical

More information

EE 610 Part 2: Encapsulation and network utilities

EE 610 Part 2: Encapsulation and network utilities EE 610 Part 2: Encapsulation and network utilities Objective: After this experiment, the students should be able to: i. Understand the format of standard frames and packet headers. Overview: The Open Systems

More information

Lecture (03) Network Model

Lecture (03) Network Model ١ Lecture (03) Network Model By: Dr. Ahmed ElShafee Agenda Layering concept History Discovering the network layers Application Layer same layer interaction concept; Transport Layer Adjacent layer interaction

More information

CS457 Transport Protocols. CS 457 Fall 2014

CS457 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 information

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols Guide to Networking Essentials, 6 th Edition Chapter 5: Network Protocols Objectives Describe the purpose of a network protocol, the layers in the TCP/IP architecture, and the protocols in each TCP/IP

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

CS 4390 Computer Networks. Transport Services and Protocols

CS 4390 Computer Networks. Transport Services and Protocols CS 4390 Computer Networks UT D data Session 07 Transport Layer Overview and UDP Adapted from Computer Networking a Top-Down Approach 1996-2012 by J.F Kurose and K.W. Ross, All Rights Reserved Transport

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks COMP/ELEC 429/556 Introduction to Computer Networks The TCP Protocol Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu

More information

Internet and Intranet Protocols and Applications

Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 1b: The Transport Layer in the Internet January 17, 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu 01/17/06

More information

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

Networking and Internetworking 1

Networking and Internetworking 1 Networking and Internetworking 1 Today l Networks and distributed systems l Internet architecture xkcd Networking issues for distributed systems Early networks were designed to meet relatively simple requirements

More information

Simulation of TCP Layer

Simulation of TCP Layer 39 Simulation of TCP Layer Preeti Grover, M.Tech, Computer Science, Uttrakhand Technical University, Dehradun ABSTRACT The Transmission Control Protocol (TCP) represents the most deployed transport protocol

More information

TCP /IP Fundamentals Mr. Cantu

TCP /IP Fundamentals Mr. Cantu TCP /IP Fundamentals Mr. Cantu OSI Model and TCP/IP Model Comparison TCP / IP Protocols (Application Layer) The TCP/IP subprotocols listed in this layer are services that support a number of network functions:

More information

QUIZ: Longest Matching Prefix

QUIZ: 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 information

TCP/IP THE TCP/IP ARCHITECTURE

TCP/IP THE TCP/IP ARCHITECTURE TCP/IP-1 The Internet Protocol (IP) enables communications across a vast and heterogeneous collection of networks that are based on different technologies. Any host computer that is connected to the Internet

More information