SlideShare una empresa de Scribd logo
1 de 21
Computer Network
Presenter: Nguyen Hoang Phuc Vinh
BIS2013
File Transfer Protocol
Agenda
2
1 - File Transfer Protocol
2 - Control channel
3 - Data channel
4 - Commands
5 - Status codes
6 - Transport binding
7 - Sercurity issues
1. File Transfer Protocol
 The File Transfer Protocol (FTP) is a standard network
protocol.
 The objectives of FTP:
1. Promote sharing of files (computer programs and/or data)
2. Encourage indirect or implicit (via programs) use of remote
computers
3. Shield a user from variations in file storage systems among
hosts
4. Transfer data reliably and efficiently
3
1. FTP Overview
4
FTP model
2. Control Channel
 The FTP client initiates the first connection, referred to
as the control connection, to well-known port 21
 This connection is used for all of the control
commands a client user uses to log on to the server,
manipulate files, and terminate a session.
 This is also the connection across which the FTP
server will send messages to the client in response to
these control commands.
5
3. Data Channel
 The second connection used by FTP is referred to as
the data connection. Typically, the data connection is
established on server port 20.
 It is across this connection that FTP transfers the data.
 FTP only opens a data connection when a client
issues a command requiring a data transfer, such as a
request to retrieve a file, or to view a list of the files
available.
6
4. Commands
 When using FTP, the user performs some or all of the
following operations
• Connect to a remote host
• Navigate and manipulate the directory structure.
• List files available for transfer.
• Define the transfer mode, transfer type, and data structure
• Transfer data to or from the remote host
• Disconnect from the remote host.
7
4. Commands
 Connect to a remote host: To execute a file transfer,
the user begins by logging in to the remote host
• open: Selects the remote host and initiates the login session.
• user: Identifies the remote user ID.
• pass: Authenticates the user.
• site: Sends information to the foreign host that is used to
provide services specific to that host.
8
4. Commands
 Navigate and manipulate the directory structure:
• cd: Changes the directory on the remote host.
• lcd: Changes the directory on the local host.
• ls: Lists the contents of the remote directory. This command
is intended to create output readable by human users.
• dir: Lists the contents of the remote directory. Similar to the ls
command, the list generated by dir is treated as data and
requires the use of a data connection. This command is
intended to create output readable by programs.
9
4. Commands
 Controlling how the data is transferred: The user has
to decide on three aspects of the data handling
1. The way the bits will be moved from one place to another
2. The different representations of data on the system's
architecture
3. The file structure in which the data is to be stored
• mode: Specifies whether the file is treated as having a record
structure in a byte stream format
• type: Specifies the character sets used in translating and
representing the data.
• structure: Specifies the structure of the file to be transferred.
10
4. Commands
 Transferring files: commands can be used to copy files
between FTP clients and servers
• get: Copies a file from the remote host to the local host.
• mget: Copies multiple files from the remote to the local host.
• put: Copies a file from the local host to the remote host.
• mput: Copies multiple files from the local host to the remote
host.
11
4. Commands
 Terminating the FTP session: commands can be used
to end an FTP session
• quit: Disconnects from the remote host and terminates FTP.
Some implementations use the BYE subcommand.
• close: Disconnects from the remote host but leaves the FTP
client running. An open command can be issued to establish
a new control connection.
12
4. Commands
An example of FTP transfer
13
5. Status codes
 An FTP reply consists of a three digit number followed
by some text.
 The number is intended for use by automata to
determine what state to enter next; the text is intended
for the human user.
 The three digits of the reply each have a special
significance.
• The first digit denotes whether the response is good, bad or
incomplete
• A user-process that wants to know approximately what kind of
error occurred (e.g. file system error, command syntax error)
may examine the second digit
• The third digit for the finest gradation of information
14
6. Transport Binding
Active data transfer
15
6. Transport Binding
Passive data transfer
16
6. Transport Binding
 FTP proxy transfer
 FTP provides the ability for a client to have data
transferred from one FTP server to another FTP
server. Several justifications for such a transfer exist,
including:
• To transfer data from one host to another when direct access
to the two hosts are not possible
• To bypass a slow client connection
• To bypass a firewall restriction
• To reduce the amount of traffic within the client’s network
17
6. Transport Binding
An FTP proxy transfer through a firewall
18
7. Security Issues
 When transferring data from one host to another, the data within
the packets is sent in clear text.
 Therefore, network tools such as packet traces and sniffer
devices can capture the packets and gain access to the
transferred data.
 Additionally, the user ID and password used to log on to the
server can be captured in these traces, giving a malicious user
access to the system.
 To avoid this problem, the design of FTP has been enhanced to
make use of Transport Layer Security (TLS).
 TLS defines a standard of data encryption between two hosts
 Applications only need to know how to invoke TLS.
19
References
 http://www.w3.org/Protocols/rfc959/
 http://en.wikipedia.org/wiki/File_Transfer_Protocol
 “Computer Networking – A Top Down Approach” 6th
Edition – Kurose Ross
 IBM Redbook: “TCP/IP Tutorial and Technical
Overview” – 12/2006
20
File Transfer Protocol

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Telnet
TelnetTelnet
Telnet
 
File Transfer protocols
File Transfer protocolsFile Transfer protocols
File Transfer protocols
 
TCP Vs UDP
TCP Vs UDP TCP Vs UDP
TCP Vs UDP
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
Telnet presentation
Telnet presentationTelnet presentation
Telnet presentation
 
TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference Model
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Application Layer and Protocols
Application Layer and ProtocolsApplication Layer and Protocols
Application Layer and Protocols
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocol
 
Tcp Udp Icmp And The Transport Layer
Tcp Udp Icmp And The Transport LayerTcp Udp Icmp And The Transport Layer
Tcp Udp Icmp And The Transport Layer
 
Http and its Applications
Http and its ApplicationsHttp and its Applications
Http and its Applications
 
File Transfer Protocol - FTP
File Transfer Protocol - FTPFile Transfer Protocol - FTP
File Transfer Protocol - FTP
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer Protocol
 
File transfer protocol (ftp)
File transfer protocol (ftp)File transfer protocol (ftp)
File transfer protocol (ftp)
 
Http protocol
Http protocolHttp protocol
Http protocol
 
Tcp IP Model
Tcp IP ModelTcp IP Model
Tcp IP Model
 
Protocols
ProtocolsProtocols
Protocols
 
E mail protocols
E mail protocolsE mail protocols
E mail protocols
 
FTP
FTPFTP
FTP
 
pop3-imap.ppt
pop3-imap.pptpop3-imap.ppt
pop3-imap.ppt
 

Similar a File Transfer Protocol

BITM3730Week10.pptx
BITM3730Week10.pptxBITM3730Week10.pptx
BITM3730Week10.pptxMattMarino13
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocolTechieHands
 
Module 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxModule 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxAASTHAJAJOO
 
File Transfer Protocol (FTP)
File Transfer Protocol (FTP)File Transfer Protocol (FTP)
File Transfer Protocol (FTP)AxelXrest
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocolguest029bcd
 
Computer network
Computer networkComputer network
Computer networkPihu Goel
 
Telnet and FTP.ppt
Telnet and FTP.pptTelnet and FTP.ppt
Telnet and FTP.pptssuser1774d3
 
filetranferprotocolseminarpresentation.pptx
filetranferprotocolseminarpresentation.pptxfiletranferprotocolseminarpresentation.pptx
filetranferprotocolseminarpresentation.pptxDSPL
 
Remote Login and File Transfer Protocols
Remote Login and File Transfer ProtocolsRemote Login and File Transfer Protocols
Remote Login and File Transfer ProtocolsHimanshu Pathak
 
Group20 Dynamic Networks
Group20 Dynamic NetworksGroup20 Dynamic Networks
Group20 Dynamic Networkshariprasadnr
 
FTP-PPT.pptx
FTP-PPT.pptxFTP-PPT.pptx
FTP-PPT.pptxMemerhub1
 
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaSDr. Shivashankar
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocolsFabMinds
 
Application layer
Application layerApplication layer
Application layerNeha Kurale
 
Application layer
Application layerApplication layer
Application layerNeha Kurale
 
File tranfer protocol
File tranfer protocolFile tranfer protocol
File tranfer protocolKunalThorat9
 
FILE TRANSFER PROTOCOL BY LAXMI $ Group
FILE TRANSFER PROTOCOL BY LAXMI $ GroupFILE TRANSFER PROTOCOL BY LAXMI $ Group
FILE TRANSFER PROTOCOL BY LAXMI $ Grouprajeev bhatt
 

Similar a File Transfer Protocol (20)

BITM3730Week10.pptx
BITM3730Week10.pptxBITM3730Week10.pptx
BITM3730Week10.pptx
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocol
 
Module 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptxModule 5 Application and presentation Layer .pptx
Module 5 Application and presentation Layer .pptx
 
File Transfer Protocol (FTP)
File Transfer Protocol (FTP)File Transfer Protocol (FTP)
File Transfer Protocol (FTP)
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocol
 
Computer network
Computer networkComputer network
Computer network
 
Telnet and FTP.ppt
Telnet and FTP.pptTelnet and FTP.ppt
Telnet and FTP.ppt
 
filetranferprotocolseminarpresentation.pptx
filetranferprotocolseminarpresentation.pptxfiletranferprotocolseminarpresentation.pptx
filetranferprotocolseminarpresentation.pptx
 
Remote Login and File Transfer Protocols
Remote Login and File Transfer ProtocolsRemote Login and File Transfer Protocols
Remote Login and File Transfer Protocols
 
Group20 Dynamic Networks
Group20 Dynamic NetworksGroup20 Dynamic Networks
Group20 Dynamic Networks
 
applayer.pptx
applayer.pptxapplayer.pptx
applayer.pptx
 
FTP-PPT.pptx
FTP-PPT.pptxFTP-PPT.pptx
FTP-PPT.pptx
 
Application Protocol
Application Protocol Application Protocol
Application Protocol
 
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
 
Ft pv2(1)
Ft pv2(1)Ft pv2(1)
Ft pv2(1)
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
Application layer
Application layerApplication layer
Application layer
 
Application layer
Application layerApplication layer
Application layer
 
File tranfer protocol
File tranfer protocolFile tranfer protocol
File tranfer protocol
 
FILE TRANSFER PROTOCOL BY LAXMI $ Group
FILE TRANSFER PROTOCOL BY LAXMI $ GroupFILE TRANSFER PROTOCOL BY LAXMI $ Group
FILE TRANSFER PROTOCOL BY LAXMI $ Group
 

Último

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Último (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

File Transfer Protocol

  • 1. Computer Network Presenter: Nguyen Hoang Phuc Vinh BIS2013 File Transfer Protocol
  • 2. Agenda 2 1 - File Transfer Protocol 2 - Control channel 3 - Data channel 4 - Commands 5 - Status codes 6 - Transport binding 7 - Sercurity issues
  • 3. 1. File Transfer Protocol  The File Transfer Protocol (FTP) is a standard network protocol.  The objectives of FTP: 1. Promote sharing of files (computer programs and/or data) 2. Encourage indirect or implicit (via programs) use of remote computers 3. Shield a user from variations in file storage systems among hosts 4. Transfer data reliably and efficiently 3
  • 5. 2. Control Channel  The FTP client initiates the first connection, referred to as the control connection, to well-known port 21  This connection is used for all of the control commands a client user uses to log on to the server, manipulate files, and terminate a session.  This is also the connection across which the FTP server will send messages to the client in response to these control commands. 5
  • 6. 3. Data Channel  The second connection used by FTP is referred to as the data connection. Typically, the data connection is established on server port 20.  It is across this connection that FTP transfers the data.  FTP only opens a data connection when a client issues a command requiring a data transfer, such as a request to retrieve a file, or to view a list of the files available. 6
  • 7. 4. Commands  When using FTP, the user performs some or all of the following operations • Connect to a remote host • Navigate and manipulate the directory structure. • List files available for transfer. • Define the transfer mode, transfer type, and data structure • Transfer data to or from the remote host • Disconnect from the remote host. 7
  • 8. 4. Commands  Connect to a remote host: To execute a file transfer, the user begins by logging in to the remote host • open: Selects the remote host and initiates the login session. • user: Identifies the remote user ID. • pass: Authenticates the user. • site: Sends information to the foreign host that is used to provide services specific to that host. 8
  • 9. 4. Commands  Navigate and manipulate the directory structure: • cd: Changes the directory on the remote host. • lcd: Changes the directory on the local host. • ls: Lists the contents of the remote directory. This command is intended to create output readable by human users. • dir: Lists the contents of the remote directory. Similar to the ls command, the list generated by dir is treated as data and requires the use of a data connection. This command is intended to create output readable by programs. 9
  • 10. 4. Commands  Controlling how the data is transferred: The user has to decide on three aspects of the data handling 1. The way the bits will be moved from one place to another 2. The different representations of data on the system's architecture 3. The file structure in which the data is to be stored • mode: Specifies whether the file is treated as having a record structure in a byte stream format • type: Specifies the character sets used in translating and representing the data. • structure: Specifies the structure of the file to be transferred. 10
  • 11. 4. Commands  Transferring files: commands can be used to copy files between FTP clients and servers • get: Copies a file from the remote host to the local host. • mget: Copies multiple files from the remote to the local host. • put: Copies a file from the local host to the remote host. • mput: Copies multiple files from the local host to the remote host. 11
  • 12. 4. Commands  Terminating the FTP session: commands can be used to end an FTP session • quit: Disconnects from the remote host and terminates FTP. Some implementations use the BYE subcommand. • close: Disconnects from the remote host but leaves the FTP client running. An open command can be issued to establish a new control connection. 12
  • 13. 4. Commands An example of FTP transfer 13
  • 14. 5. Status codes  An FTP reply consists of a three digit number followed by some text.  The number is intended for use by automata to determine what state to enter next; the text is intended for the human user.  The three digits of the reply each have a special significance. • The first digit denotes whether the response is good, bad or incomplete • A user-process that wants to know approximately what kind of error occurred (e.g. file system error, command syntax error) may examine the second digit • The third digit for the finest gradation of information 14
  • 15. 6. Transport Binding Active data transfer 15
  • 16. 6. Transport Binding Passive data transfer 16
  • 17. 6. Transport Binding  FTP proxy transfer  FTP provides the ability for a client to have data transferred from one FTP server to another FTP server. Several justifications for such a transfer exist, including: • To transfer data from one host to another when direct access to the two hosts are not possible • To bypass a slow client connection • To bypass a firewall restriction • To reduce the amount of traffic within the client’s network 17
  • 18. 6. Transport Binding An FTP proxy transfer through a firewall 18
  • 19. 7. Security Issues  When transferring data from one host to another, the data within the packets is sent in clear text.  Therefore, network tools such as packet traces and sniffer devices can capture the packets and gain access to the transferred data.  Additionally, the user ID and password used to log on to the server can be captured in these traces, giving a malicious user access to the system.  To avoid this problem, the design of FTP has been enhanced to make use of Transport Layer Security (TLS).  TLS defines a standard of data encryption between two hosts  Applications only need to know how to invoke TLS. 19
  • 20. References  http://www.w3.org/Protocols/rfc959/  http://en.wikipedia.org/wiki/File_Transfer_Protocol  “Computer Networking – A Top Down Approach” 6th Edition – Kurose Ross  IBM Redbook: “TCP/IP Tutorial and Technical Overview” – 12/2006 20

Notas del editor

  1. RFC 595 for the list of reply code
  2. In an active transfer, the FTP client sends a PORT command to the FTP server, indicating the IP address and port number on which the client will listen for a connection. Upon accepting the PORT command, the FTP server initiates a connection back to the client on the indicated IP address and port
  3. Contrary to the use of an active data connection, the passive data transfer reverses the direction of establishment of the data connection. Instead of issuing a PORT command, the client issues a PASV command, which uses no parameters. Upon accepting this command, the FTP server sends back a reply containing an IP address and port number. The client initiates a connection back to the server on the indicated IP address and port.
  4. 1. The FTP client opens a connection and logs on to the FTP server A. 2. The FTP client issues a proxy open command, and a new control connection is established with FTP server B. 3. The FTP client then issues a proxy get command (though this can also be a proxy put). 4. A data connection is established between server A and server B. Following data connection establishment, the data flows from server B to server A.