SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot (20)

Hypertext transfer protocol (http)
Hypertext transfer protocol (http)Hypertext transfer protocol (http)
Hypertext transfer protocol (http)
 
FTP & TFTP
FTP & TFTPFTP & TFTP
FTP & TFTP
 
Point To Point Protocol
Point To Point ProtocolPoint To Point Protocol
Point To Point Protocol
 
Ftp
FtpFtp
Ftp
 
(Ftp) file transfer protocol
(Ftp)   file transfer protocol(Ftp)   file transfer protocol
(Ftp) file transfer protocol
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocol
 
SMTP Simple Mail Transfer Protocol
SMTP Simple Mail Transfer ProtocolSMTP Simple Mail Transfer Protocol
SMTP Simple Mail Transfer Protocol
 
DHCP
DHCPDHCP
DHCP
 
Telnet presentation
Telnet presentationTelnet presentation
Telnet presentation
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer Protocol
 
TCP - Transmission Control Protocol
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
TCP - Transmission Control Protocol
 
Ssl https
Ssl httpsSsl https
Ssl https
 
The Network Layer
The Network LayerThe Network Layer
The Network Layer
 
HTTP & WWW
HTTP & WWWHTTP & WWW
HTTP & WWW
 
Http-protocol
Http-protocolHttp-protocol
Http-protocol
 
Smtp
SmtpSmtp
Smtp
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocol
 
Smtp
SmtpSmtp
Smtp
 
Telnet
TelnetTelnet
Telnet
 
Simple mail transfer protocol (smtp)
Simple mail transfer protocol (smtp) Simple mail transfer protocol (smtp)
Simple mail transfer protocol (smtp)
 

Similar to 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
 
Application Layer and Protocols
Application Layer and ProtocolsApplication Layer and Protocols
Application Layer and ProtocolsRubal Sagwal
 
APPLICATION LAYER PROTOCOLS .pptx
APPLICATION LAYER PROTOCOLS         .pptxAPPLICATION LAYER PROTOCOLS         .pptx
APPLICATION LAYER PROTOCOLS .pptxArnavPlayz
 
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
 

Similar to 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
 
Application Layer and Protocols
Application Layer and ProtocolsApplication Layer and Protocols
Application Layer and Protocols
 
APPLICATION LAYER PROTOCOLS .pptx
APPLICATION LAYER PROTOCOLS         .pptxAPPLICATION LAYER PROTOCOLS         .pptx
APPLICATION LAYER PROTOCOLS .pptx
 
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
 

Recently uploaded

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 

Recently uploaded (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 

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

Editor's Notes

  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.