NT1210 Introduction to Networking. Unit 10

Similar documents
CSE 4/589 Midterm Review. Hengtong Zhang SUNY Buffalo 10/30/2018

Chapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management

10 minutes survey (anonymous)

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9

Computer Networking Introduction

Chapter 3 Transport Layer

Chapter 3- parte B outline

Chapter 3 Transport Layer

CSC 401 Data and Computer Communications Networks

Chapter 3 Transport Layer

Chapter III: Transport Layer

Application. Transport. Network. Link. Physical

Different Layers Lecture 21

ENEE 457: Computer Systems Security 11/07/16. Lecture 18 Computer Networking Basics

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

TSIN02 - Internetworking

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

Different Layers Lecture 20

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

CS 4390 Computer Networks. Pointers to Corresponding Section of Textbook

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

User Datagram Protocol

TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture

ECE 650 Systems Programming & Engineering. Spring 2018

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

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

CMPE 80N: Introduction to Networking and the Internet

TSIN02 - Internetworking

TSIN02 - Internetworking

TSIN02 - Internetworking

CS 4390 Computer Networks. Transport Services and Protocols

Internet and Intranet Protocols and Applications

NWEN 243. Networked Applications. Layer 4 TCP and UDP

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

UNIT IV -- TRANSPORT LAYER

CS118 Discussion 1A, Week 4. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

Experiential Learning Workshop on Transport & IP Routing

Chapter III: Transport Layer

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

CSE 4213: Computer Networks II

UDP, TCP, IP multicast

CSC 4900 Computer Networks: TCP

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

TCP: Overview RFCs: 793,1122,1323, 2018, 2581

Transport Layer (TCP/UDP)

OSI Transport Layer. objectives

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. ** Slides are attributed to J. F.

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

Lecture 12: Transport Layer TCP again

a. the physical layer, b. and the data-link layer. a. three physical layers, b. three data-link layers, c. and only one network layer.

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

Chapter 3 Transport Layer

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

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

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

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

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Lecture 5. Transport Layer. Transport Layer 1-1

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

CSCD 330 Network Programming

9th Slide Set Computer Networks

CNT 6885 Network Review on Transport Layer

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

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

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

Transport Layer Marcos Vieira

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

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)

CSC 401 Data and Computer Communications Networks

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

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

Unit 2.

EEC-682/782 Computer Networks I

Chapter 6. The Transport Layer. The Transport Service. Services Provided to the Upper Layers. Transport Service Primitives (3) 10/7/2010

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

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

UNIT IV TRANSPORT LAYER

CS4700/CS5700 Fundamentals of Computer Networks

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

7. TCP 최양희서울대학교컴퓨터공학부

Introduction to TCP/IP networking

The Transmission Control Protocol (TCP)

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

Transport Layer: outline

Computer Networks. (Intensive Learning Experience) July 03, 2018

TCP /IP Fundamentals Mr. Cantu

RSC Part III: Transport Layer 3. TCP

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

CSC 634: Networks Programming

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

Introduction to Protocols

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

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols

Defining Networks with the OSI Model. Module 2

Transcription:

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 and TCP/IP models and their applications to actual networks. Explain the functionality and use of typical network protocols. Differentiate among major types of LAN and WAN technologies and specifications and determine how each is used in a data network. 2

Objectives Use network tools to monitor protocols and traffic characteristics. Define how data logically moves through networks. Compare and contrast TCP and UDP transportation techniques. 3

Transport and Application Protocols TCP/IP Transport: TCP/IP model s two upper layers (Application and Transport) define how applications communicate and other important features of what applications can do on network Transport and Application Layers focus on hosts Scope of Impact for TCP/IP Layers 4 Figure 10-1

Transport and Application Protocols Host perspectives on upper layers: Upper layer protocols exist in both application and OS Application developers include Application layer protocol in application (e.g., Telnet) OS vendor includes Transport protocol inside OS (e.g., IE in Windows) Software Architecture of Application and Transport Layers 5 Figure 10-2

Transport and Application Protocols Serving needs of next higher h Layer: On hosts, each function has needs and supplies answer to needs of other functions Example: Web browser Application needs to get web page; Application protocol takes care of it using browser application and HTTP does that by using HTTP GET command Needing and Supplying Services in TCP/IP Upper Layers 6 Figure 10-3

Transport and Application Protocols Encapsulation and headers: Application and Transport layer protocols use headers to do their work Application protocol on sending host adds Application protocol header that destination host s Application layer protocol reads Transport layer adds headers based on protocol used: TCP or UDP 7

Transport and Application Protocols UDP header format TCP header format UDP/TCP Header Reference 8 Figure 10-4,5

Transport and Application Protocols Sending host adds original i Application and Transport layer header to data to create message; upper layer messages remain mostly unchanged as they pass through network Example: Message from web server going the web browser; message shows TCP, HTTP, Data Link, and IP headers plus data going through route from host to host Encapsulation with Web Traffic, All Layers 9 Figure 10-6

Transport and Application Protocols IP vs. Transport encapsulation examples Top: Purely IP view shows each LAN and WAN as line with packet moving from source to destination as three steps (three hops in route) Bottom: LAN switches and Telco leased line with all headers shown IP Versus Transport Perspective on Encapsulation 10 Figure 10-7

Transport and Application Protocols Applications and their preferred Transport protocols Some Applications Using TCP, and Some Using UDP 11 Figure 10-8

Transport Layer Concepts Elements of Transport Protocols Addressing Connection Establishment Connection Release Flow Control and Buffering Multiplexing Crash Recovery Needing and Supplying Services in TCP/IP Upper Layers 12 Figure 10-3

Transport Layer Concepts TCP: Reliable, in-order delivery Congestion control Flow control Connection setup UDP: Unreliable, unordered delivery No-frills, best-effort delivery Delay guarantees Bandwidth guarantees Needing and Supplying Services in TCP/IP Upper Layers 13 Figure 10-3

Transport Layer Concepts Connection establishment t using three-way handshake h CR = CONNECTION REQUEST (a) Normal operation (b) Old CONNECTION REQUEST appearing out of nowhere (c) Duplicate CONNECTION REQUEST and duplicate ACK 14

Transport Layer Concepts Connection release (a) Normal case of three-way handshake release (b) Error case: Final ACK lost 15

Transport Layer Concepts Flow control: Window can dynamically resize According to network conditions According to sender s capacity According to receiver s capacity http://wiki.treck.com/file:fig1.40_using_a_sliding_window_protocol.gif 16

Transport Layer Concepts Buffering (a) Chained fixedsize buffers (b) Chained variable-sized buffers. (c) One large circular buffer per connection 17

Transport Layer Concepts Multiplexing l i Multiplexing at sender: Handles data from multiple sockets, adds transport header (later used for demultiplexing) Demultiplexing at receiver: Uses header info to deliver received segments to correct socket 18

Transport Layer Concepts Crash Recovery: Different combinations of client and server strategies 19

Short Break Take 15 20

Transport Layer Port Numbers Most host OSs allow multiprocessing which allows more than one program to be active at same time Each active program gets share of CPU and RAM with all programs taking turns Transport of data packets similar Protocol identifies correct application process on destination host and uses port to identify communication session Concept of Application-to-Application Flows Between Two Apps 21 Figure 10-9

Transport Layer Port Numbers Port numbers identify application processes Example: 3 TCP communication sessions with TCP port numbers; Both hosts are using TCP port 1024 so have to use different TCP port numbers to identify separate communication sessions Three TCP Flows with Unique TCP Ports per Host 22 Figure 10-10

Transport Layer Port Numbers Port numbers need to be unique on each source host because of how TCP uses destination port number Example: Right shows destination host s s TCP software; when top segment arrives (destination port 80), Host2 looks at its list of active TCP ports to find port 80 Destination Host Chooses Right Destination Application Based on Destination Port 23 Figure 10-11

Transport Layer Port Numbers Initializing i servers with well known ports example: Two server software processes (web server and email server) Web server uses HTTP (Application protocol) which uses default port of 80 Email server uses POP3 (Application protocol) which uses port 110 Two Servers with Well-Known Ports Open and Listening for New Connections 24 Figure 10-12

Transport Layer Port Numbers What happens on server when server software registered to use specific port number? Example using web server: Software uses its default setting to use port for HTTP: TCP port 80 Server Initializing Well-Known Port 80 for HTTP 25 Figure 10-13

Transport Layer Port Numbers Web browser software knows web servers should use port 80 by default Email client software knows that POP3 servers use TCP port 110 by default Clients Send TCP Segments to Correct Well-Known Port Numbers 26 Figure 10-14

Transport Layer Port Numbers Application Transport Port Protocol Protocol Number Description HTTP TCP 80 Used by web browsers and web servers Telnet TCP 23 Used for terminal emulation SSH TCP 22 Used for secure terminal emulation FTP TCP 20, 21 Used for file transfer DNS UDP 53 Used for name-to-ip resolution SMTP TCP 25 Used to send Email POP3 TCP 110 Used to receive Email IMAP TCP 143 Used to receive Email SSL TCP 443 Used to encrypt data for secure transactions SNMP UDP 161, 162 Used to manage TCP/IP networks Common Application Protocols and Their Well-known Port Numbers 27 Table 10-1

Transport Layer Port Numbers Dynamically allocated port Client Initializing a Dynamic Port Number Assigned by OS (TCP) 28 Figure 10-15

Transport Layer Port Numbers Dynamic port assignment on client computer when user opens web browser Client Initializing a Dynamic Port Number Assigned by OS (TCP) 29 Figure 10-16

Transport Layer Port Numbers IANA regulates range of numbers for well known ports, dynamic ports, and registered ports Ranges apply to both TCP and UDP Type Port Number Range Well-known 0-1023 Registered 1,024 49,151 Dynamic 49,153 65,535 Well-known, Registered, and Dynamic Port Numbers 30 Table 10-2

Transport Layer Port Numbers To deliver data, TCP encapsulates data inside TCP segment Segment lists source port and destination port To begin communication process, servers initialize and start listening for new sessions from clients Email and Web Servers Waiting for Flows 31 Figure 10-17

Transport Layer Port Numbers Example: Client opens web browser to connect to web server which creates multiple TCP sessions Client needs three TCP port numbers, one per session User also checks his email which creates fourth TCP session Four Flows with (Dynamic) Source Ports and Well-Known Destination Ports 32 Figure 10-18

Transport Layer Port Numbers Four returning messages with their respective port numbers Port Numbers Reversed for TCP Segments in the Opposite Direction 33 Figure 10-19

Other Transport Functions: Segmentation Packets restricted t for size in TCP/IP network so use segmentation to break large data packages into smaller pieces Maximum Transmission Unit (MTU): Maximum size of IP packet that can be sent out network device interface (e.g., router) Based on interface s Data Link protocol; example: Ethernet has MTU of 1500 bytes for TCP IP MTU Concept on Ethernet Links 34 Figure 10-20

Other Transport Functions: Segmentation IP fragmentation ti and TCP segmentation ti play important t roles in TCP/IP networks TCP on sending host breaks large data chunks into smaller pieces when creating original TCP segments TCP segmentation example: Web server needs to send web object (picture.jpg) which h is 14,600 bytes File size exactly 10 times MSS on server s Ethernet interface so divided into 10 segments for transport Web Server Sends Web Object; TCP Segments 35 Figure 10-21

Other Transport Functions: Segmentation UDP datagram: UDP messages that t include UDP header and its encapsulated data UDP also needs to segment data: Limited to maximum size of each link Example: UDP datagram MTU 1472 bytes on Ethernet link UDP Datagram Maximum Data Size on Ethernet Links 36 Figure 10-22

Other Transport Functions: Connection Management TCP guarantees delivery and has error recovery built in (connection-oriented) To confirm destination received data, TCP uses acknowledgments for each segment received with no errors Example: Web server sends three TCP segments to web browser with sequence numbers (SEQ); client sends message back to server (ACK) stating all three segments received and to send next set of segments 37

Other Transport Functions: Connection Management When using TCP, sender/receiver perform handshake before exchanging data Agree to establish connection (each knowing other willing to establish connection) Agree on connection parameters TCP Sequence Numbers and Acknowledgement Concepts 38 Figure 10-23

Other Transport Functions: Connection Management Three-way handshake client state LISTEN SYNSENT ESTAB choose init it seq num, x send TCP SYN msg received SYNACK(x) indicates server is live; send ACK for SYNACK; this segment may contain client-to-server data SYNbit=1, Seq=x SYNbit=1, Seq=y ACKbit=1; ACKnum=x+1 ACKbit=1, ACKnum=y+1 choose init seq num, y send TCP SYNACK msg, acking SYN received ACK(y) indicates client is live server state LISTEN SYN RCVD ESTAB 39

Other Transport Functions: Connection Management Congestion control: Too many sources sending too much data too fast for network to handle Different from flow control! Manifestations Lost packets (buffer overflow at routers) Long delays (queuing in router buffers) 40

Other Transport Functions: Connection Management UDP: Connectionless protocol Does not use acknowledgements Does not use sequencing Will not retransmit missing datagrams Considered less reliable than TCP Has much less overhead than TCP Much faster than TCP 41

Other Transport Functions: Error Recovery TCP error recovery uses SEQ and ACK packets 1. Data sent from source in TCP segments with sequence numbers 2. Source expects to receive ACK from destination with next sequence number 3. If source does not receive ACK with expected value or receives no ACK at all in reasonable time, retransmits TCP segments 42

Other Transport Functions: Error Recovery When receiving i host gets some, but not all segments, can send back ACK but with value that tells sender to retransmit some data Example: Second TCP segment has bit errors that occurred during its trip through network so destination router discards TCP segment An Example with an Error; the Recovery Happens Later 43 Figure 10-24

Comparing TCP and UDP TCP RFCs: 793,1122,1323, 1323 2018, 2581 Point-to-point: One sender, one receiver Reliable, in-order byte steam: No message boundaries Pipelined: TCP congestion and flow control set window size Full duplex data Bi-directional data flow in same connection MSS: Maximum segment size Connection-oriented: oriented: Uses handshaking Flow controlled: Sender will not overwhelm receiver 44

Comparing TCP and UDP UDP does NOT guaranteed delivery (connectionless) so Application protocols that do not need guaranteed delivery use UDP Gives Application protocol designers option for less overhead UDP header smaller than TCP headers UDP also faster as it does not stop and wait for acknowledgements of delivery 45

Comparing TCP and UDP Common features Both connect applications Both provide service so application can send data to correct application on destination host Both use port numbers in their headers Differences TCP has more functions, but slower because of them UDP faster due to less overhead, but fewer functions including no error recovery 46

Comparing TCP and UDP Feature TCP UDP Delivering data between two applications Yes Yes Identifying servers using well-known ports Yes Yes Segmenting data Yes No Guaranteed delivery through error recovery Yes No In-order delivery Yes No Flow control Yes No TCP and UDP Comparisons 47 Table 10-3

Summary, This Chapter Explained the relationship between network applications, application protocols, and transport protocols. Gave examples of where Application and Transport layer protocols are implemented in a typical TCP/IP host. Sketched the concept of an application flow occurring over a TCP/IP network. Explained why servers often use well-known ports. Gave examples of TCP flows using port numbers, listing the source and destination ports used. 48

Summary, This Chapter Explained why clients often use dynamic ports. Sketched the concepts of IP MTU and TCP MSS and their relationship. Explained how a sending TCP host segments data. Described the basics of how TCP acknowledges data and performs error recovery. 49

Questions? Comments? 50