Different Layers Lecture 21

Similar documents
Different Layers Lecture 20

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

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

NT1210 Introduction to Networking. Unit 10

Internet and Intranet Protocols and Applications

Layered Model. DoD Model. ISO/OSI Model

Application. Transport. Network. Link. Physical

Chapter 2 Application Layer

OSI Transport Layer. objectives

Review of Previous Lecture

TSIN02 - Internetworking

CMPE 80N: Introduction to Networking and the Internet

WWW: the http protocol

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

CS 4390 Computer Networks. Transport Services and Protocols

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

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

CNT 6885 Network Review on Transport Layer

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

CSE 4213: Computer Networks II

Lecture 11. Transport Layer (cont d) Transport Layer 1

Internet communication

Transport Layer (TCP/UDP)

Lecture 5. Transport Layer. Transport Layer 1-1

Review for Internet Introduction

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

NWEN 243. Networked Applications. Layer 4 TCP and UDP

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

Goal and A sample Network App

CC451 Computer Networks

Chapter 2 Application Layer

NWEN 243. Networked Applications. Transport layer and application layer

Client/Server Computing

The Transmission Control Protocol (TCP)

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

UNIT IV -- TRANSPORT LAYER

Introduction to the Application Layer. Computer Networks Term B14

Internet Protocol Stack! Principles of Network Applications! Some Network Apps" (and Their Protocols)! Application-Layer Protocols! Our goals:!

Transport Layer. Chapter 3: Transport Layer

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

4. The transport layer

CSC 4900 Computer Networks: TCP

TSIN02 - Internetworking

The Application Layer: SMTP, FTP

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

CSC 401 Data and Computer Communications Networks

Lecture 8. TCP/IP Transport Layer (2)

CMSC 322 Computer Networks Applications and End-To- End

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

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Chapter 2: Application layer

TSIN02 - Internetworking

Client/Server Computing & Socket Programming

Computer Communication Networks Midterm Review

FTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

CS 716: Introduction to communication networks th class; 11 th Nov Instructor: Sridhar Iyer IIT Bombay

Internet and Intranet Protocols and Applications

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Chapter 3 Transport Layer

Transport Layer: outline

Client/Server Computing & Socket Programming

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

Chapter 3: Transport Layer

CSC 4900 Computer Networks:

Chapter 3- parte B outline

CSC 4900 Computer Networks: End-to-End Design

Chapter 3 Transport Layer

Transport protocols. Transport Layer 3-1

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

Chapter 2 part B: outline

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

Lecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

UNIT IV TRANSPORT LAYER

RSC Part III: Transport Layer 3. TCP

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

Chapter 6 Transport Layer

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

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

Introduction to Protocols

Linux Networking: tcp. TCP context and interfaces

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

Lecture 3: The Transport Layer: UDP and TCP

Chapter 3 Transport Layer

Fall 2012: FCM 708 Bridge Foundation I

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

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

TSIN02 - Internetworking

Application Layer. Applications and application-layer protocols. Goals:

Chapter 3: Transport Layer Part A

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

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

Lecture 9: Transpor Layer Overview and UDP

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

Input ports, switching fabric, output ports Switching via memory, bus, crossbar Queueing, head-of-line blocking

CSCI 466 Midterm Networks Fall 2013

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

Transcription:

Different Layers Lecture 21 10/17/2003 Jian Ren 1

The Transport Layer 10/17/2003 Jian Ren 2

Transport Services and Protocols Provide logical communication between app processes running on different hosts Transport protocols run in end systems Example protocols TCP UDP 10/17/2003 Jian Ren 3

Transport vs. network layer Network layer Logical communication between hosts Transport layer Logical communication between processes Relies on, and enhances network layer services 10/17/2003 Jian Ren 4

Transport Layer Protocols Reliable, in-order delivery: TCP Flow control Congestion control Connection setup Unreliable, unordered delivery: UDP Services not available: Delay guarantees Bandwidth guarantees 10/17/2003 Jian Ren 5

UDP: User Datagram Protocol UDP segments may be: Lost Delivered out of order to app Connectionless: No handshaking between UDP sender, receiver Each UDP segment handled independently of others Why is there a UDP? No connection establishment (which can add delay) Simple: no connection state at sender, receiver Small segment header No congestion control: UDP can blast away as fast as desired 10/17/2003 Jian Ren 6

UDP Often used for streaming multimedia apps Loss tolerant Rate sensitive Other UDP uses DNS SNMP Reliable transfer over UDP: add reliability at application layer Application-specific error recovery! 10/17/2003 Jian Ren 7

TCP: Overview Point-to-point: One sender, one receiver Reliable, in-order byte steam Full duplex data: Bi-directional data flow in same connection Connection-oriented: Handshaking (exchange of control msgs) init s sender, receiver state before data exchange Flow controlled: Sender will not overwhelm receiver socket door application writes data TCP send buffer application reads data TCP receive buffer socket door segment 10/17/2003 Jian Ren 8

TCP seq. # s and ACKs Seq. # s: Byte stream number of first byte in segment s data ACKs: Seq # of next byte expected from other side Cumulative ACK User types C host ACKs receipt of echoed C Host A Host B Seq=42, ACK=79, data = C Seq=79, ACK=43, data = C Seq=43, ACK=80 host ACKs receipt of C, echoes back C simple telnet scenario time 10/17/2003 Jian Ren 9

TCP Reliable Data Transfer TCP creates reliable data transfer service on top of IP s unreliable service TCP uses single retransmission timer Retransmissions are triggered by: Timeout events Duplicate acks 10/17/2003 Jian Ren 10

TCP Flow Control Receiver side of TCP connection has a receive buffer Flow control Sender won t overflow receiver s buffer by transmitting too much, too fast Speed-matching service Matching the send rate to the receiving app s drain rate 10/17/2003 Jian Ren 11

TCP Fairness Goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection 1 TCP connection 2 bottleneck router capacity R 10/17/2003 Jian Ren 12

The Application Layer 10/17/2003 Jian Ren 13

Applications and Application- Layer Protocols Application: communicating, distributed processes e.g., e-mail, Web, P2P file sharing, instant messaging running in end systems (hosts) exchange messages to implement application Application-layer protocols one piece of an app define messages exchanged by apps and actions taken use communication services provided by lower layer protocols (TCP, UDP) 10/17/2003 Jian Ren 14

Application-Layer Protocol Defines Types of messages exchanged Syntax of message types Semantics of the fields Rules for when and how processes send & respond to messages 10/17/2003 Jian Ren 15

HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/server model client: browser that requests, receives, displays Web objects server: Web server sends objects in response to requests PC running Explorer Mac running Navigator HTTP request HTTP response HTTP request HTTP response Server running Apache Web server 10/17/2003 Jian Ren 16

HTTP Overview Uses TCP Client initiates TCP connection (creates socket) to server, port 80 Server accepts TCP connection from client HTTP messages exchanged between browser and Web server HTTP is stateless Server maintains no information about past client requests 10/17/2003 Jian Ren 17

FTP Protocol user at host FTP user interface FTP client local file system file transfer FTP server remote file system Transfer file to/from remote host Client/Server model client: initiates transfer (either to/from remote) Server: remote host Ftp server: port 21 10/17/2003 Jian Ren 18

FTP FTP client contacts FTP server at port 21, specifying TCP as transport protocol Client obtains authorization over control connection Client browses remote directory by sending commands over control connection. When server receives a command for a file transfer, the server opens a TCP data connection to client After transferring one file, server closes connection. FTP client TCP control connection port 21 TCP data connection port 20 FTP server Server opens a second TCP data connection to transfer another file. Control connection: out of band FTP server maintains state : current directory, earlier authentication 10/17/2003 Jian Ren 19

Electronic Mail Major components: User agents Mail servers Simple mail transfer protocol: SMTP User Agent A.k.a. mail reader Composing, editing, reading mail messages E.g., Eudora, Outlook, Netscape Messenger Outgoing, incoming messages stored on server 10/17/2003 Jian Ren 20

Electronic Mail: Mail Servers Mail Servers mailbox contains incoming messages for user message queue of outgoing (to be sent) mail messages SMTP protocol between mail servers to send email messages client: sending mail server server : receiving mail server 10/17/2003 Jian Ren 21

Electronic Mail: SMTP Uses TCP to reliably transfer email message from client to server, port 25 Direct transfer: sending server to receiving server Three phases of transfer Handshaking (greeting) Transfer of messages Closure 10/17/2003 Jian Ren 22

Mail Access Protocols user agent SMTP SMTP access protocol user agent sender s mail server receiver s mail server SMTP: delivery/storage to receiver s server Mail access protocol: retrieval from server POP: Post Office Protocol Authorization (agent <-->server) and download IMAP: Internet Mail Access Protocol More features (more complex) Manipulation of stored msgs on server HTTP: Hotmail, Yahoo! Mail, etc. 10/17/2003 Jian Ren 23

DNS: Domain Name System Distributed database implemented in hierarchy of many name servers Application-layer protocol: name servers to communicate to resolve names (address/name translation) Internet hosts, routers: IP address (32 bit) - used for addressing datagrams name, e.g., egr.msu.edu - used by humans 10/17/2003 Jian Ren 24

DNS Name Servers Why not centralize DNS? Single point of failure Traffic volume Distant centralized database Maintenance No server has all name-to-ip address mappings 10/17/2003 Jian Ren 25