Transport Layer Review

Similar documents
Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Networking Technologies and Applications

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

TCP/IP Protocol Suite 1

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

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

TSIN02 - Internetworking

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

NWEN 243. Networked Applications. Layer 4 TCP and UDP

TSIN02 - Internetworking

TSIN02 - Internetworking

OSI Transport Layer. objectives

The Transport Layer: TCP & Reliable Data Transfer

05 Transmission Control Protocol (TCP)

Chapter 5 End-to-End Protocols

TSIN02 - Internetworking

Internet and Intranet Protocols and Applications

Introduction to TCP/IP networking

UDP, TCP, IP multicast

TCP : Fundamentals of Computer Networks Bill Nace

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

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

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

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

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

Different Layers Lecture 20

ECE 650 Systems Programming & Engineering. Spring 2018

CSCI Topics: Internet Programming Fall 2008

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

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

6. The Transport Layer and protocols

CSCI-GA Operating Systems. Networking. Hubertus Franke

Transport Protocols. Raj Jain. Washington University in St. Louis

ECE 435 Network Engineering Lecture 15

Connections. Topics. Focus. Presentation Session. Application. Data Link. Transport. Physical. Network

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

Transport Layer Marcos Vieira

NT1210 Introduction to Networking. Unit 10

UNIT IV TRANSPORT LAYER

CSEP 561 Connections. David Wetherall

Unit 2.

QUIZ: Longest Matching Prefix

ARP, IP, TCP, UDP. CS 166: Introduction to Computer Systems Security 4/7/18 ARP, IP, TCP, UDP 1

Transport Layer (TCP/UDP)

CSEP 561 Connections. David Wetherall

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP

Linux Networking: tcp. TCP context and interfaces

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Chapter 24. Transport-Layer Protocols

CSC 4900 Computer Networks: TCP

UNIT IV -- TRANSPORT LAYER

ECE697AA Lecture 3. Today s lecture

Fall 2012: FCM 708 Bridge Foundation I

Washington State University CptS 455 Sample Final Exam (corrected 12/11/2011 to say open notes) A B C

ITS323: Introduction to Data Communications

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

CSE 461 The Transport Layer

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

Lecture 3: The Transport Layer: UDP and TCP

CSE 461 Connections. David Wetherall

9th Slide Set Computer Networks

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

TCP & UDP. Transport Layer. Transport. Network. Functions. End-to-end Reliable Byte Stream. Unreliable End-to-end. C.K. Kim

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay

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

Transport Layer Protocols TCP

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page:

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

Stream Control Transmission Protocol

UNIT V. Computer Networks [10MCA32] 1

CMPE 80N: Introduction to Networking and the Internet

Network Technology 1 5th - Transport Protocol. Mario Lombardo -

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

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

CSCD 330 Network Programming Winter 2015

Process-to-Process Delivery:

Sliding Window Protocols, Connection Management, and TCP Reliability

Introduction to Networks and the Internet

Chapter 3 Transport Layer

ECE 435 Network Engineering Lecture 9

Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery

Announcements Computer Networking. What was hard. Midterm. Lecture 16 Transport Protocols. Avg: 62 Med: 67 STD: 13.

Network Model: Each layer has a specific function.

Lecture (11) OSI layer 4 protocols TCP/UDP protocols

Information Network 1 TCP 1/2. Youki Kadobayashi NAIST

Simulation of TCP Layer

CSCE 463/612 Networks and Distributed Processing Spring 2017

Applied Networks & Security

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2

Introduction to Internet. Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis

Operating Systems and Networks. Network Lecture 8: Transport Layer. Adrian Perrig Network Security Group ETH Zürich

CSE 461 Module 10. Introduction to the Transport Layer

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

Operating Systems and Networks. Network Lecture 8: Transport Layer. Where we are in the Course. Recall. Transport Layer Services.

Chapter 3 Transport Layer

Transcription:

Transport Layer Review Mahalingam Mississippi State University, MS October 1, 2014

Transport Layer Functions Distinguish between different application instances through port numbers Make it easy for applications to use the unreliable virtual link created by network layer Two popular transport layer protocols TCP (transmission control protocol) and UDP (user datagram protocol)

TCP vs UDP TCP is connection oriented Can be used to send and recv data packet only after connection is established connect() should be used before applications can use send() and recv() UDP is not connection oriented sendto(), recvfrom()

TCP vs UDP TCP guarantees all data bytes will be delivered in the right order to the correct process flow control to ensure that a fast sender can not saturate a slow receiver UDP guarantees that if the packet is received, it will be provided to the correct process Applications will have to create acknowledgments (and do everything else TCP does) if reliable delivery needs to be guaranteed

TCP Important components of TCP header One-bit FLAGS (SYN,ACK,FIN,RST,PSH,URG), sequence number and acknowledgment number (32-bit numbers) Window size Three phases connection establishment (three way handshake, SYN, ACK flags, sequence and acknowledgement numbers) sending/receiving data (sequence numbers, acknowledgement numbers, ACK flag) Connection termination (FIN and ACK flags, acknowledgement numbers)

Connection Establishment A and B TCP end-points SYN - SYN/ACK - ACK handshake Only TCP headers, no application data bytes. A B: [SYN, seq=45678] (request for connection; my starting sequence number is 45678) B A: [SYN, seq=43234, ACK, ack=45679] (my starting seq is 43234, received your request, next data byte I am expecting from you is 45679) A B: [SYN, seq=45679, ACK, ack=43235], no data sent

Distinguishing Between Connections TCP layer has to keep track of all current connections A connection is identified using four values sender and destination port, sender and destination IP For each connection TCP remembers starting sequence numbers, keeps track of current sequence and ack numbers, buffer space etc., and uses various timers

After Connection is Established Starting sequence numbers (A-45678, B-43234) A B: [seq=45900, ACK, ack=46456, W=20000] + [100 data bytes] conveys the following The first byte included in this packet has sequence number 45900 (which is actually the 45900-45678=222nd byte of app data): bytes 222 to 321 included in the packet. The next packet I am expecting from you should begin with the data byte with sequence number 46456 (I have so far received the 3221 bytes corresponding to sequence numbers 43235 to 46455) I have 20000 bytes of buffer space left you can send me 20000 bytes (46456 to 66455) before you receive my next ack.

Connection Termination Two parallel full duplex connections one for sending data from A B and acks from B A the other for sending data from B A and acks from A B Terminated individually If A has no more data to send A can initiate termination of the line A B (by sending a TCP header with FIN flag set) B acknowledges FIN by sending an acknowledgement number that counts the FIN flag as a byte. A starting seq=45678, A sent bytes 422 bytes 45679 to 46100. If FIN was not received the acknowledgement number from B will be 46101. If FIN was received the number is 46102 B can continue to send data bytes to A even after one connection is terminated.

Connection Termination FIN, ACK, FIN, ACK (four packets) If both are ready to terminate around the same time it can be three packets FIN, ACK/FIN, ACK

Window Size Window size is dynamic Remaining buffer space TCP layer can not control when the application will read the buffer and clear it. Necessary for flow control (can send window size 0 to stop the other end from sending more data) Necessary for pipe-lining (permit other end can send W bytes before it receives the next acknowledgement: the next ack can indicate a different window size) 16-bit restricted maximum window size to 65536 initially A window scaling (WS) option can be specified in the header to overcome this limitation WS=5, W=20000 implies window size is 2 5 W = 640, 000

Other TCP Topics Timers, Congestion control, Transactional TCP Will be revisited later

UDP Not very different from directly using the IP layer to send a packet The only difference is that port numbers in the UDP header is needed to address processes (IP can address only the platform) UDP has very little overhead Have to use UDP for multitasking (can not use TCP. Why?)