ECE 333: Introduction to Communication Networks Fall 2002

Similar documents
ECE 333: Introduction to Communication Networks Fall 2001

OSI Transport Layer. objectives

The Transmission Control Protocol (TCP)

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

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

CSCD 330 Network Programming

TCP/IP THE TCP/IP ARCHITECTURE

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

CMPE 80N: Introduction to Networking and the Internet

CS 4390 Computer Networks. Transport Services and Protocols

Lab - Using Wireshark to Examine TCP and UDP Captures

OSI and TCP/IP Models

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Lecture 17 Overview. Last Lecture. Wide Area Networking (2) This Lecture. Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.

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

Transport Layer Overview

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing

Internet and Intranet Protocols and Applications

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

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

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

Outline. Inter-Process Communication. IPC across machines: Problems. CSCI 4061 Introduction to Operating Systems

Introduction to Protocols

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

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

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

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

UNIT 2 TRANSPORT LAYER

ECE 650 Systems Programming & Engineering. Spring 2018

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

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

TCP/IP Overview. Basic Networking Concepts. 09/14/11 Basic TCP/IP Networking 1

PLEASE READ CAREFULLY BEFORE YOU START

TSIN02 - Internetworking

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

Review of Important Networking Concepts

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

cs144 Midterm Review Fall 2010

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

TCP/IP and OSI Model. Lecture 10 TCP. Host-to-Host Transport Layer. TCP/IP and OSI Model (Continued) TCP Basic (Continued) TCP -- Basic

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

Network Architecture

Computer Communication & Networks / Data Communication & Computer Networks Week # 03

The Data Link Layer. 32 PART I Networking Basics

TCP /IP Fundamentals Mr. Cantu

TSIN02 - Internetworking

CSCD 330 Network Programming

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

ETSF10 Internet Protocols Transport Layer Protocols

User Datagram Protocol(UDP)

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

CS457 Transport Protocols. CS 457 Fall 2014

Different Layers Lecture 21

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

QUESTION BANK UNIT-I

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.

Chapter 5 End-to-End Protocols

Network Programming. Introduction to Sockets. Dr. Thaier Hayajneh. Process Layer. Network Layer. Berkeley API

B.Sc. (Hons.) Computer Science with Network Security B.Eng. (Hons) Telecommunications B.Sc. (Hons) Business Information Systems

NT1210 Introduction to Networking. Unit 10

Lecture-4. TCP/IP-Overview:

Internet. 1) Internet basic technology (overview) 3) Quality of Service (QoS) aspects

Transport Protocols and TCP

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

User Datagram Protocol (UDP):

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

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

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

ECE697AA Lecture 3. Today s lecture

IP Address Assignment

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

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

4.0.1 CHAPTER INTRODUCTION

Chapter 2 Network Models 2.1

Introduction to the Transport Layer

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

COMP750. Distributed Systems. Network Overview

Lecture 3: The Transport Layer: UDP and TCP

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

User Datagram Protocol

CSCI-131 Networking: the End-to-End Layer. Rodrigo Fonseca March 12 th, 2013

UNIT IV TRANSPORT LAYER

Network Model: Each layer has a specific function.

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

Lecture 5. Transport Layer. Transport Layer 1-1

EE 122: IP Forwarding and Transport Protocols

TSIN02 - Internetworking

TSIN02 - Internetworking

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

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

Introduction and Layered Network Architecture. EEE 538 Dr. Nail Akar Bilkent University Electrical and Electronics Engineering Department

6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning

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

TCP/IP protocol suite

ECPE / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Vorlesung Kommunikationsnetze

CSC 634: Networks Programming

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

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

Transcription:

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 layer in a network. We will consider several general transport layer issues, and, as a specific example, we will use the transport layer in the. The has two primary transport layer protocols and UDP both of these will be discussed. In the architecture, the transport layer sits between the application layer and the network layer. For this reason, it is the most visible layer to application designers. The service of the transport layer is to provide a virtual end-to-end message-pipe for applications. In other words, two applications on different hosts can communicate messages to each other as if they are directly connected the details of the underlying network are hidden. 2

Transport Layer The transport layer is an end-to-end layer this means that nodes within the subnet do not participate in transport layer protocols only the end hosts. As with other layers, transport layer protocols send data as a sequence of packets. In /IP these packets are called segments. 1 Application Application Transport Transport 1 Actually only packets are called segments and UDP packets are referred to as datagrams but we will use segments to refer to either of these. 3 Transport layer issues Two main issues addressed at the transport layer are Multiplexing Improving the service offered by network layer 4

Multiplexing The network layer provides communication between two hosts. The transport layer provides communication between two processes running on different hosts. A process is an instance of a program that is running on a host. There may be multiple processes communicating between two hosts for example, there could be a FTP session and a Telnet session between the same two hosts. The transport layer provides a way to multiplex/demultiplex communication between various processes. To provide multiplexing, the transport layer adds an address to each segment indicating the source and destination processes. Note these addresses need only be unique locally on a given host. In /IP these transport layer addresses are called port-numbers. In other protocols, different names are used transport layer addresses; for example, in ATM networks these are called AAL-SAP s (ATM Adaptation Layer Service Access Points). In the port numbers are 16-bits long. The port numbers between 0 and 1023 are reserved and called well-known ports. These numbers are assigned to well-known applications such as FTP, Telnet, and HTTP. For example HTTP is assigned well-known port number 80. 5 Multiplexing Most network applications are based on a client-server architecture where one process, the client, requests services from a second process, the server. For example, a web browser implements the client side of HTTP and a web server implements the server side. The client initiates communication and the server responds. A client sending a request to a web server would use the destination port 80, and in IP would indicate the transport layer protocol is (this is the transport layer protocol used by HTTP). The sending port number is picked from some other port numbers that are not being used for another session by the client. In this way if several different HTTP sessions are established between the two hosts, the sending port number distinguishes them. Thus, the 4-tuple: (sending port, sending IP address, destination port, destination IP address) uniquely identifies a process-to-process connection in the. The use of well-known ports is just one way for finding the destination address. Another example is to use a special process called a process or directory server, which responds to requests for services with the correct port number. 6

Improving the Network layer service When the underlying network layer does not offer adequate service for an application, it is the job of the transport layer to improve this service. For example, suppose the network layer does not guarantee that every packet will arrive. Then the transport layer could provide a way to recover from lost packets and ensure that each packet is delivered correctly. As with the other layers, the service provided by the transport layer can have different characteristics. For example, it may be reliable or unreliable, connection-oriented or connectionless, etc. It could also try to guarantee a certain Quality of Service (QoS), i.e. a given data rate or delay. The service provided by the underlying network layer will determine: 1. How much work has to be performed at the transport layer to provide a certain service. 2. What types of service can even be provided. For example, consider designing a transport layer to offer a service that guarantees the delay of a message. If the underlying network layer already offers this, than little work would be needed at the transport layer. However, if the network layer did not provide any delay guarantees, then it may be impossible to provide this service at the transport layer. 7 Transport layer services in the The network layer in the provides an unreliable, connectionless datagram service. IP tries to deliver each datagram to the destination, but makes no guarantees, that the data will arrive correctly, in order or even at all. This is sometimes described as a best effort service. In the there are two transport layer protocols, each offering a different service. UDP (User Datagram Protocol) provides an unreliable, connectionless transport layer protocol. The second transport layer protocol, (Transport Control Protocol), provides a reliable, connectionoriented transport service. Some common applications and the corresponding transport layer protocol used are shown below: Application protocol SMTP(e-mail) DNS HTTP (web browsing) Telephony FTP Telnet Typical transport protocol UDP UDP 8

UDP The packet format for UDP is shown below. Basically all UDP provides is a multiplexing capability on top of IP. The length field gives the length of the entire packet including the header. The checksum is calculated on the entire packet (and also on part of the IP header). Calculating the checksum is optional, and if an error is detected the packet may be discarded or may be passed on to the application with an error flag. 16 bits 16 bits Source port Destination port UDP length UDP checksum Data 9 converts the unreliable, best effort service of IP into a reliable service, i.e., it ensures that each segment is delivered correctly, only once, and in order. Converting an unreliable connection into a reliable connection is basically the same problem we have considered at the data link layer, and essentially the same solution is used. That is numbers each segment and uses an ARQ protocol to recover lost segments. Some versions of implement Go Back N and other versions implement Selective Repeat. However, there are a few important differences between the transport layer and the data link layer. At the data link layer, we viewed an ARQ protocol as being operated between two nodes connected by a point-to-point link. At the transport layer, this protocol is implemented between two hosts connected over network. In the later case, packets can arrive out-of-order, and packets may also be stored in buffers within the network and then arrive at much later times. Also the round-trip time will change with different connections and connection establishment is more complicated. 10