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

Ftp: a slideshow on File transfer protocol
Ftp: a slideshow on File transfer protocol Ftp: a slideshow on File transfer protocol
Ftp: a slideshow on File transfer protocol Lina Guha Roy
 
TCP - Transmission Control Protocol
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
TCP - Transmission Control ProtocolPeter R. Egli
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocolVipin Rai
 
HTTP Protocol Basic
HTTP Protocol BasicHTTP Protocol Basic
HTTP Protocol BasicChuong Mai
 
Hypertext Transfer Protocol
Hypertext Transfer ProtocolHypertext Transfer Protocol
Hypertext Transfer Protocolselvakumar_b1985
 
(Ftp) file transfer protocol
(Ftp)   file transfer protocol(Ftp)   file transfer protocol
(Ftp) file transfer protocolGouasmia Zakaria
 
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...rahul kundu
 
Https presentation
Https presentationHttps presentation
Https presentationpatel jatin
 
Application layer in network system
Application layer in network systemApplication layer in network system
Application layer in network systemSalauddin Rubel
 
Hypertext transfer protocol (http)
Hypertext transfer protocol (http)Hypertext transfer protocol (http)
Hypertext transfer protocol (http)Shimona Agarwal
 
Http and its Applications
Http and its ApplicationsHttp and its Applications
Http and its ApplicationsNayan Dagliya
 
File transfer protocol (ftp)
File transfer protocol (ftp)File transfer protocol (ftp)
File transfer protocol (ftp)Cort1026
 
TFTP - Trivial File Transfer Protocol
TFTP - Trivial File Transfer ProtocolTFTP - Trivial File Transfer Protocol
TFTP - Trivial File Transfer ProtocolPeter R. Egli
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer ProtocolUjjayanta Bhaumik
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocolMilind Swane
 

La actualidad más candente (20)

Hypertext Transfer Protocol
Hypertext Transfer ProtocolHypertext Transfer Protocol
Hypertext Transfer Protocol
 
Ftp: a slideshow on File transfer protocol
Ftp: a slideshow on File transfer protocol Ftp: a slideshow on File transfer protocol
Ftp: a slideshow on File transfer protocol
 
TCP - Transmission Control Protocol
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
TCP - Transmission Control Protocol
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocol
 
HTTP Protocol Basic
HTTP Protocol BasicHTTP Protocol Basic
HTTP Protocol Basic
 
Hypertext Transfer Protocol
Hypertext Transfer ProtocolHypertext Transfer Protocol
Hypertext Transfer Protocol
 
(Ftp) file transfer protocol
(Ftp)   file transfer protocol(Ftp)   file transfer protocol
(Ftp) file transfer protocol
 
Http Introduction
Http IntroductionHttp Introduction
Http Introduction
 
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
 
Https presentation
Https presentationHttps presentation
Https presentation
 
Application layer in network system
Application layer in network systemApplication layer in network system
Application layer in network system
 
Http VS. Https
Http VS. HttpsHttp VS. Https
Http VS. Https
 
Hypertext transfer protocol (http)
Hypertext transfer protocol (http)Hypertext transfer protocol (http)
Hypertext transfer protocol (http)
 
Http and its Applications
Http and its ApplicationsHttp and its Applications
Http and its Applications
 
File transfer protocol (ftp)
File transfer protocol (ftp)File transfer protocol (ftp)
File transfer protocol (ftp)
 
TFTP - Trivial File Transfer Protocol
TFTP - Trivial File Transfer ProtocolTFTP - Trivial File Transfer Protocol
TFTP - Trivial File Transfer Protocol
 
Http Protocol
Http ProtocolHttp Protocol
Http Protocol
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer Protocol
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocol
 
Http protocol
Http protocolHttp protocol
Http protocol
 

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
 
Application Layer and Protocols
Application Layer and ProtocolsApplication Layer and Protocols
Application Layer and ProtocolsRubal Sagwal
 
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 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
 
Application Layer and Protocols
Application Layer and ProtocolsApplication Layer and Protocols
Application Layer and Protocols
 
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
 
FTP
FTPFTP
FTP
 
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
 

Último

VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 

Último (20)

VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 

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.