1 FTP FILE TRANSFER PROTOCOL FTP uses TCP. FTP uses two simultaneous TCP connections. Server port 21 is used for control, server port 20 for data transfers.

Slides:



Advertisements
Similar presentations
FTP - File Transfer Protocol TFTP – Trivial FTP CISC 856 – Fall 2005 Michael Haggerty University of Delaware (some/most slides courtesy of Umakanth Puppala.
Advertisements

Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Chapter 7 – Transport Layer Protocols
TCP segment structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement number rcvr window size ptr.
FTP - File Transfer Protocol TFTP – Trivial FTP CISC 856 – Fall 2007 Brian Lucas University of Delaware (some/most slides courtesy of Umakanth Puppala,
Client-Server Applications. Indirect Top Level Interaction Application.
EEC-484/584 Computer Networks Lecture 15 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 26 FTP.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 FTP: File Transfer Protocol EE 122: Intro to Communication Networks Fall 2007 (WF 4-5:30 in Cory 277) Vern Paxson TAs: Lisa Fowler, Daniel Killebrew.
File Transfer: FTP and TFTP
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 20 File Transfer Protocol (FTP)
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 20 File Transfer Protocol (FTP)
File Transfer Protocol (FTP)
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
TCP/IP suit 4th Edition by Behrouz A Forouzan. 2 Internet Computing (CS-413)
John Degenhart Joseph Allen.  What is FTP?  Communication over Control connection  Communication over Data Connection  File Type  Data Structure.
File Transfer Protocol (FTP)
File Transfer Protocol CS-328 Dick Steflik. FTP RFC 959 uses two TCP Ports –one for control –one for data transfers command-response protocol control.
FTP - File Transfer Protocol CISC 856 – Fall 2012
Lecturer : Ms.Trần Thị Ngọc Hoa Chapter 8 File Transfer Protocol – Simple Mail Transfer Protocol.
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 12 Transmission Control Protocol (TCP) Basics.
Chapter 31 File Transfer & Remote File Access (NFS)
FTP File Transfer Protocol. Introduction transfer file to/from remote host client/server model  client: side that initiates transfer (either to/from.
FTP - File Transfer Protocol TFTP – Trivial FTP CISC 856 – Fall 2005 Michael Haggerty University of Delaware (some/most slides courtesy of Umakanth Puppala.
FTP - File Transfer Protocol TFTP – Trivial FTP CISC 856 – Fall 2008 Shriram Ganesh University of Delaware (some/most slides courtesy of Brian Lucas, Umakanth.
Ferry Astika Saputra FTP & TFTP Server. Overview File Transfer Protocol (RFC 959) Why FTP? FTP’s connections FTP in action FTP commands/responses Trivial.
FTP (File Transfer Protocol) & Telnet
FTP Client Application CSC 8560 Brian Jorgage 4/27/2004.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
1 INFO 321 Server Technologies II FTP Material adapted from Dr. Randy Kaplan.
Department of Computer Science Southern Illinois University Edwardsville Spring, 2008 Dr. Hiroshi Fujinoki FTP Protocol Programming.
Chapter 6-2 the TCP/IP Layers. The four layers of the TCP/IP model are listed in Table 6-2. The layers are The four layers of the TCP/IP model are listed.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The Transport Layer.
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
Chapter 2 Applications and Layered Architectures Sockets.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
TFTP: Trivial file transfer protocol
ECE 4110 – Internetwork Programming Extra Examples on Addressing and FTP.
Networking Basics CCNA 1 Chapter 11.
TCP/IP Protocol Suite 1 Chapter 19 Upon completion you will be able to: File Transfer: FTP and TFTP Understand the connections needed for FTP file transfer.
FTP File Transfer Protocol Graeme Strachan. Agenda  An Overview  A Demonstration  An Activity.
Tips on FTP Implementation
Tips on FTP Implementation
Understanding FTP BUPT/QMUL Part1: Using telnet to learn FTP operations in passive mode Steps: 1. Using telnet to connect to given FTP server.
1 Tips for the assignment. 2 Socket: a door between application process and end- end-transport protocol (UDP or TCP) TCP service: reliable transfer of.
ECE 4110 – Internetwork Programming File Transfer Protocol (FTP)
1 FTP: File Transfer Protocol EE 122: Intro to Communication Networks Fall 2006 Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim
1 K. Salah Application Layer Module K. Salah Network layer duties.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
COMP2322 Lab 6 TCP Steven Lee Mar 29, 2017.
or call for office visit, or call Kathy Cheek,
Module 23 (ftp and wireshark)
Process-to-Process Delivery
Networking Applications
FTP & TFTP Server Ferry Astika Saputra.
File Transfer: FTP Objectives Chapter 19
TCP/IP Networking An Example
CS4470 Computer Networking Protocols
Chapter 2: Application layer
File Transfer Protocol
World Wide Web Uniform Resource Locator hostname [:port]/path
File Transfer Protocol
Transport Layer 9/22/2019.
Presentation transcript:

1 FTP FILE TRANSFER PROTOCOL FTP uses TCP. FTP uses two simultaneous TCP connections. Server port 21 is used for control, server port 20 for data transfers. Control Connection: 1. Server socket code puts server port 21 in passive open state “listen” 2. Client socket executes an active open by sending SYN and supplies an ephemeral port (for example port 1046) Data Connection: 1. Client not the server issues a passive open using ephemeral port (for example 1047) 2. Client sends this port number to server using control connection 3. Server receives port number and indicates active open (3 way handshake) from port 20 to the client ephemeral port received (for example port 1047) Forouzan Chapter 19, Stevens Chapter 27

2 CONTROL PROCESS DATA TRANSFER PROCESS CONTROL PROCESS DATA TRANSFER PROCESS ClientServer FTP BLOCK DIAGRAM

3 FTP COMMANDS SENT ACROSS CONTROL CHANNEL CommandType of CommandMeaning 220ResponseCommand OK USERAccess CommandUSED ID 331ResponseUser name OK, need password PASSAccess CommandUser Password 230ResponseUser Login OK SYSTMisc commandAsk about server Operating System TYPE IData Format CommandDefine File Type Image 200ResponseCommand OK PORTPort Defining Command Client chooses port RETRFile Transfer CommandRetrieve Files 150ResponseFile Status OK 226ResponseClosing Data Connection QUITAccess CommandLog Out 221ResponseService Closing

4 So how does FTP work with dynamic NAT? See : Problem: Client connects to server and then server starts a new connection back to the client. This is known as active FTP. This appears as a new connection and will not pass through NAT. Solution: Passive FTP. The client initiates both connections to the server. 1. Client opens two ports. 2. The first port is used to contact the server on port Instead of a PORT command to server, client sends PASV command. 4. Server opens another port and tells client what port the server has opened. 5. Client initiates the second connection.

5 In experiment 2, ftp was run on machine The commands typed were: ftp secure_class get abc exit The file abc is 3718 bytes in size as determined by ls –lart on the machine The data was collected using ethereal (only FTP and TCP datagrams shown): No. Time Source Destination Protocol Info TCP > ftp [SYN] Seq=0 Ack=0 Win=5840 Len=0 MSS=1460 TSV= TSER=0 WS= TCP ftp > [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV= TSER= WS= TCP > ftp [ACK] Seq=1 Ack=1 Win=5840 Len=0 TSV= TSER= FTP Response: 220 ready, dude (vsFTPd 1.1.0: beat me, break me) TCP > ftp [ACK] Seq=1 Ack=52 Win=5840 Len=0 TSV= TSER= FTP Request: AUTH GSSAPI TCP ftp > [ACK] Seq=52 Ack=14 Win=5792 Len=0 TSV= TSER= FTP Response: 530 Please login with USER and PASS FTP Request: AUTH KERBEROS_V FTP Response: 530 Please login with USER and PASS TCP > ftp [ACK] Seq=32 Ack=128 Win=5840 Len=0 TSV= TSER= FTP Request: USER secure_class FTP Response: 331 Please specify the password TCP > ftp [ACK] Seq=51 Ack=162 Win=5840 Len=0 TSV= TSER= FTP Request: PASS secure_class FTP Response: 230 Login successful. Have fun TCP > ftp [ACK] Seq=70 Ack=195 Win=5840 Len=0 TSV= TSER= FTP Request: SYST FTP Response: 215 UNIX Type: L TCP > ftp [ACK] Seq=76 Ack=214 Win=5840 Len=0 TSV= TSER= FTP Request: TYPE I FTP Response: 200 Binary it is, then TCP > ftp [ACK] Seq=84 Ack=239 Win=5840 Len=0 TSV= TSER= FTP Request: PASV FTP Response: 227 Entering Passive Mode (138,210,240,151,79,249) TCP > [SYN] Seq=0 Ack=0 Win=5840 Len=0 MSS=1460 TSV= TSER=0 WS= TCP > [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV= TSER= WS= TCP > [ACK] Seq=1 Ack=1 Win=5840 Len=0 TSV= TSER= FTP Request: RETR abc FTP Response: 150 Opening BINARY mode data connection for abc (3718 bytes).

TCP > [ACK] Seq=1 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > [ACK] Seq=1 Ack=1449 Win=8688 Len=0 TSV= TSER= TCP > [ACK] Seq=1449 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > [ACK] Seq=1 Ack=2897 Win=11584 Len=0 TSV= TSER= FTP Response: 226 File send OK TCP > [FIN, PSH, ACK] Seq=2897 Ack=1 Win=5792 Len=822 TSV= TSER= TCP > [FIN, ACK] Seq=1 Ack=3720 Win=14480 Len=0 TSV= TSER= TCP > [ACK] Seq=3720 Ack=2 Win=5792 Len=0 TSV= TSER= TCP > ftp [ACK] Seq=100 Ack=373 Win=5840 Len=0 TSV= TSER= FTP Request: QUIT FTP Response: 221 Goodbye TCP > ftp [ACK] Seq=106 Ack=387 Win=5840 Len=0 TSV= TSER= TCP > ftp [FIN, ACK] Seq=106 Ack=387 Win=5840 Len=0 TSV= TSER= TCP ftp > [FIN, ACK] Seq=387 Ack=106 Win=5792 Len=0 TSV= TSER= TCP > ftp [ACK] Seq=107 Ack=388 Win=5840 Len=0 TSV= TSER= TCP ftp > [ACK] Seq=388 Ack=107 Win=5792 Len=0 TSV= TSER= Why 1448 bytes of data? Time stamp is 10 bytes (p. 253 Stevens) + 2 NOPS = 12 MSS = 1460 –12 = 1448 The MSS here is for ethernet and is the end number we can use (already takes into account that we will add TCP and then IP headers) TSV = time stamp value TSER = time stamp echo reply WS = window scale GSSAPI = Generic Security Services Application Programming Interface Kerberos = network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography.

7 CONTROL PROCESS DATA TRANSFER PROCESS CONTROL PROCESS DATA TRANSFER PROCESS ClientServer EXPERIMENT 2 FTP BLOCK DIAGRAM

8 In experiment 3, ftp was run on machine The commands typed were: ftp secure_class get def exit The file def is 11,154 bytes in size as determined by ls –lart on the machine The data was collected using ethereal: No. Time Source Destination Protocol Info TCP > ftp [SYN] Seq=0 Ack=0 Win=5840 Len=0 MSS=1460 TSV= TSER=0 WS= TCP ftp > [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV= TSER= WS= TCP > ftp [ACK] Seq=1 Ack=1 Win=5840 Len=0 TSV= TSER= FTP Response: 220 ready, dude (vsFTPd 1.1.0: beat me, break me) TCP > ftp [ACK] Seq=1 Ack=52 Win=5840 Len=0 TSV= TSER= FTP Request: AUTH GSSAPI TCP ftp > [ACK] Seq=52 Ack=14 Win=5792 Len=0 TSV= TSER= FTP Response: 530 Please login with USER and PASS FTP Request: AUTH KERBEROS_V FTP Response: 530 Please login with USER and PASS TCP > ftp [ACK] Seq=32 Ack=128 Win=5840 Len=0 TSV= TSER= FTP Request: USER secure_class FTP Response: 331 Please specify the password TCP > ftp [ACK] Seq=51 Ack=162 Win=5840 Len=0 TSV= TSER= FTP Request: PASS secure_class FTP Response: 230 Login successful. Have fun TCP > ftp [ACK] Seq=70 Ack=195 Win=5840 Len=0 TSV= TSER= FTP Request: SYST FTP Response: 215 UNIX Type: L TCP > ftp [ACK] Seq=76 Ack=214 Win=5840 Len=0 TSV= TSER= FTP Request: TYPE I FTP Response: 200 Binary it is, then TCP > ftp [ACK] Seq=84 Ack=239 Win=5840 Len=0 TSV= TSER= FTP Request: PASV

FTP Response: 227 Entering Passive Mode (138,210,240,151,122,197) TCP > [SYN] Seq=0 Ack=0 Win=5840 Len=0 MSS=1460 TSV= TSER=0 WS= TCP > [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV= TSER= WS= TCP > [ACK] Seq=1 Ack=1 Win=5840 Len=0 TSV= TSER= FTP Request: RETR def FTP Response: 150 Opening BINARY mode data connection for def (11154 bytes) TCP > [ACK] Seq=1 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > [ACK] Seq=1 Ack=1449 Win=8688 Len=0 TSV= TSER= TCP > [ACK] Seq=1449 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > [ACK] Seq=1 Ack=2897 Win=11584 Len=0 TSV= TSER= TCP > [ACK] Seq=2897 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > [ACK] Seq=1 Ack=4345 Win=14480 Len=0 TSV= TSER= FTP Response: 226 File send OK TCP > [ACK] Seq=4345 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > [ACK] Seq=1 Ack=5793 Win=17376 Len=0 TSV= TSER= TCP > [PSH, ACK] Seq=5793 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > [ACK] Seq=1 Ack=7241 Win=20272 Len=0 TSV= TSER= TCP > [ACK] Seq=7241 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > [ACK] Seq=8689 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > [FIN, PSH, ACK] Seq=10137 Ack=1 Win=5792 Len=1018 TSV= TSER= TCP > [ACK] Seq=1 Ack=8689 Win=23168 Len=0 TSV= TSER= TCP > [ACK] Seq=1 Ack=10137 Win=26064 Len=0 TSV= TSER= TCP > [FIN, ACK] Seq=1 Ack=11156 Win=28960 Len=0 TSV= TSER= TCP > [ACK] Seq=11156 Ack=2 Win=5792 Len=0 TSV= TSER= TCP > ftp [ACK] Seq=100 Ack=375 Win=5840 Len=0 TSV= TSER= FTP Request: QUIT FTP Response: 221 Goodbye TCP > ftp [ACK] Seq=106 Ack=389 Win=5840 Len=0 TSV= TSER= TCP > ftp [FIN, ACK] Seq=106 Ack=389 Win=5840 Len=0 TSV= TSER= TCP ftp > [FIN, ACK] Seq=389 Ack=106 Win=5792 Len=0 TSV= TSER= TCP > ftp [ACK] Seq=107 Ack=390 Win=5840 Len=0 TSV= TSER= TCP ftp > [ACK] Seq=390 Ack=107 Win=5792 Len=0 TSV= TSER=256375

10 In experiment 4, ftp was run on machine The commands typed were: ftp secure_class get ghi exit The file ghi is 100,386 bytes in size as determined by ls –lart on the machine The data was collected using ethereal: No. Time Source Destination Protocol Info TCP > ftp [SYN] Seq=0 Ack=0 Win=5840 Len=0 MSS=1460 TSV= TSER=0 WS= TCP ftp > [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV= TSER= WS= TCP > ftp [ACK] Seq=1 Ack=1 Win=5840 Len=0 TSV= TSER= FTP Response: 220 ready, dude (vsFTPd 1.1.0: beat me, break me) TCP > ftp [ACK] Seq=1 Ack=52 Win=5840 Len=0 TSV= TSER= FTP Request: AUTH GSSAPI TCP ftp > [ACK] Seq=52 Ack=14 Win=5792 Len=0 TSV= TSER= FTP Response: 530 Please login with USER and PASS FTP Request: AUTH KERBEROS_V FTP Response: 530 Please login with USER and PASS TCP > ftp [ACK] Seq=32 Ack=128 Win=5840 Len=0 TSV= TSER= FTP Request: USER secure_class FTP Response: 331 Please specify the password TCP > ftp [ACK] Seq=51 Ack=162 Win=5840 Len=0 TSV= TSER= FTP Request: PASS secure_class FTP Response: 230 Login successful. Have fun TCP > ftp [ACK] Seq=70 Ack=195 Win=5840 Len=0 TSV= TSER= FTP Request: SYST FTP Response: 215 UNIX Type: L TCP > ftp [ACK] Seq=76 Ack=214 Win=5840 Len=0 TSV= TSER= FTP Request: TYPE I FTP Response: 200 Binary it is, then TCP > ftp [ACK] Seq=84 Ack=239 Win=5840 Len=0 TSV= TSER= FTP Request: PASV FTP Response: 227 Entering Passive Mode (138,210,240,151,24,202) TCP > 6346 [SYN] Seq=0 Ack=0 Win=5840 Len=0 MSS=1460 TSV= TSER=0 WS= TCP 6346 > [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV= TSER= WS=0

TCP > 6346 [ACK] Seq=1 Ack=1 Win=5840 Len=0 TSV= TSER= FTP Request: RETR ghi FTP Response: 150 Opening BINARY mode data connection for ghi ( bytes) TCP 6346 > [ACK] Seq=1 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=1449 Win=8688 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=1449 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=2897 Win=11584 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=2897 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=4345 Win=14480 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=4345 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=5793 Win=17376 Len=0 TSV= TSER= TCP 6346 > [PSH, ACK] Seq=5793 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=7241 Win=20272 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=7241 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=8689 Win=23168 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=8689 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=10137 Win=26064 Len=0 TSV= TSER= TCP 6346 > [PSH, ACK] Seq=10137 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=11585 Win=28960 Len=0 TSV= TSER= TCP 6346 > [PSH, ACK] Seq=11585 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=13033 Win=31856 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=13033 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=14481 Win=34752 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=14481 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=15929 Win=37648 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=15929 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=17377 Win=40544 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=17377 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=18825 Win=43440 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=18825 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=20273 Win=46336 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=20273 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=21721 Win=49232 Len=0 TSV= TSER= TCP 6346 > [PSH, ACK] Seq=21721 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=23169 Win=52128 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=23169 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=24617 Win=55024 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=24617 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=26065 Win=57920 Len=0 TSV= TSER=

TCP 6346 > [PSH, ACK] Seq=26065 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=27513 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=28961 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=30409 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=31857 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=33305 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=34753 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=36201 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=37649 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=39097 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=27513 Win=60816 Len=0 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=28961 Win=63712 Len=0 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=30409 Win=63712 Len=0 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=31857 Win=62264 Len=0 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=33305 Win=60816 Len=0 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=40545 Win=53576 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=40545 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=41993 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [PSH, ACK] Seq=43441 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=44889 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=46337 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=44889 Win=63712 Len=0 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=47785 Win=60816 Len=0 TSV= TSER= TCP 6346 > [PSH, ACK] Seq=47785 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=49233 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=50681 Win=63712 Len=0 TSV= TSER= TCP > ftp [ACK] Seq=100 Ack=356 Win=5840 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=50681 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=52129 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=53577 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=53577 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=55025 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=56473 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=56473 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=57921 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=59369 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=59369 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=60817 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=62265 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=62265 Ack=1 Win=5792 Len=1448 TSV= TSER=282966

TCP 6346 > [ACK] Seq=63713 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=65161 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=65161 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=66609 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=68057 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=68057 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=69505 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=70953 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=70953 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=72401 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=73849 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=73849 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [PSH, ACK] Seq=75297 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=76745 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=76745 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [PSH, ACK] Seq=78193 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=79641 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=79641 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=81089 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=82537 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=82537 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=83985 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=85433 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=85433 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=86881 Ack=1 Win=5792 Len=1448 TSV= TSER= FTP Response: 226 File send OK TCP > ftp [ACK] Seq=100 Ack=375 Win=5840 Len=0 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=88329 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=88329 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=89777 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=91225 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=91225 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=92673 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=94121 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=94121 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=95569 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP > 6346 [ACK] Seq=1 Ack=97017 Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq=97017 Ack=1 Win=5792 Len=1448 TSV= TSER= TCP 6346 > [ACK] Seq=98465 Ack=1 Win=5792 Len=1448 TSV= TSER=282967

TCP > 6346 [ACK] Seq=1 Ack=99913 Win=63712 Len=0 TSV= TSER= TCP 6346 > [FIN, PSH, ACK] Seq=99913 Ack=1 Win=5792 Len=474 TSV= TSER= TCP > 6346 [FIN, ACK] Seq=1 Ack= Win=63712 Len=0 TSV= TSER= TCP 6346 > [ACK] Seq= Ack=2 Win=5792 Len=0 TSV= TSER= FTP Request: QUIT FTP Response: 221 Goodbye TCP > ftp [ACK] Seq=106 Ack=389 Win=5840 Len=0 TSV= TSER= TCP > ftp [FIN, ACK] Seq=106 Ack=389 Win=5840 Len=0 TSV= TSER= TCP ftp > [FIN, ACK] Seq=389 Ack=106 Win=5792 Len=0 TSV= TSER= TCP > ftp [ACK] Seq=107 Ack=390 Win=5840 Len=0 TSV= TSER= TCP ftp > [ACK] Seq=390 Ack=107 Win=5792 Len=0 TSV= TSER=283427

15 CONTROL PROCESS DATA TRANSFER PROCESS CONTROL PROCESS DATA TRANSFER PROCESS ClientServer EXPERIMENT 4 FTP BLOCK DIAGRAM

16 From the 2005 Ph.D. Thesis of Robbie Simpson: