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

Http Introduction
Http IntroductionHttp Introduction
Http Introduction
Akshay Dhole
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocol
guest029bcd
 
Routing ppt
Routing pptRouting ppt
Routing ppt
ArpiSaxena1
 
Tcp/ip model
Tcp/ip  modelTcp/ip  model
Tcp/ip model
Kumar Alok
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocol
Vipin Rai
 
FTP & TFTP
FTP & TFTPFTP & TFTP
FTP & TFTP
NetProtocol Xpert
 
Tcp vs udp difference and comparison diffen
Tcp vs udp   difference and comparison   diffenTcp vs udp   difference and comparison   diffen
Tcp vs udp difference and comparison diffen
Harikiran Raju
 
File transfer protocol (ftp)
File transfer protocol (ftp)File transfer protocol (ftp)
File transfer protocol (ftp)
Cort1026
 
Hypertext Transfer Protocol
Hypertext Transfer ProtocolHypertext Transfer Protocol
Hypertext Transfer Protocol
selvakumar_b1985
 
TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference Model
Mukesh Tekwani
 
Tcp
TcpTcp
RFC and internet standards presentation
RFC and internet standards presentationRFC and internet standards presentation
RFC and internet standards presentation
Naveen Jakhar, I.T.S
 
HTTP Presentation
HTTP Presentation HTTP Presentation
HTTP Presentation
Lana Dujanovic
 
Domain name system
Domain name systemDomain name system
Domain name system
Siddique Ibrahim
 
Hypertext transfer protocol (http)
Hypertext transfer protocol (http)Hypertext transfer protocol (http)
Hypertext transfer protocol (http)
Shimona Agarwal
 
TCP - IP Presentation
TCP - IP PresentationTCP - IP Presentation
TCP - IP Presentation
Harish Chand
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
FabMinds
 
Ftp
FtpFtp
Ftp
ARYA TM
 
HTTP Protocol Basic
HTTP Protocol BasicHTTP Protocol Basic
HTTP Protocol Basic
Chuong Mai
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer Protocol
Rajan Pandey
 

What's hot (20)

Http Introduction
Http IntroductionHttp Introduction
Http Introduction
 
File Transfer Protocol
File Transfer ProtocolFile Transfer Protocol
File Transfer Protocol
 
Routing ppt
Routing pptRouting ppt
Routing ppt
 
Tcp/ip model
Tcp/ip  modelTcp/ip  model
Tcp/ip model
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocol
 
FTP & TFTP
FTP & TFTPFTP & TFTP
FTP & TFTP
 
Tcp vs udp difference and comparison diffen
Tcp vs udp   difference and comparison   diffenTcp vs udp   difference and comparison   diffen
Tcp vs udp difference and comparison diffen
 
File transfer protocol (ftp)
File transfer protocol (ftp)File transfer protocol (ftp)
File transfer protocol (ftp)
 
Hypertext Transfer Protocol
Hypertext Transfer ProtocolHypertext Transfer Protocol
Hypertext Transfer Protocol
 
TCP-IP Reference Model
TCP-IP Reference ModelTCP-IP Reference Model
TCP-IP Reference Model
 
Tcp
TcpTcp
Tcp
 
RFC and internet standards presentation
RFC and internet standards presentationRFC and internet standards presentation
RFC and internet standards presentation
 
HTTP Presentation
HTTP Presentation HTTP Presentation
HTTP Presentation
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Hypertext transfer protocol (http)
Hypertext transfer protocol (http)Hypertext transfer protocol (http)
Hypertext transfer protocol (http)
 
TCP - IP Presentation
TCP - IP PresentationTCP - IP Presentation
TCP - IP Presentation
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
Ftp
FtpFtp
Ftp
 
HTTP Protocol Basic
HTTP Protocol BasicHTTP Protocol Basic
HTTP Protocol Basic
 
Simple Mail Transfer Protocol
Simple Mail Transfer ProtocolSimple Mail Transfer Protocol
Simple Mail Transfer Protocol
 

Similar to File Transfer Protocol

BITM3730Week10.pptx
BITM3730Week10.pptxBITM3730Week10.pptx
BITM3730Week10.pptx
MattMarino13
 
File transfer protocol
File transfer protocolFile transfer protocol
File transfer protocol
TechieHands
 
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
AASTHAJAJOO
 
File Transfer Protocol (FTP)
File Transfer Protocol (FTP)File Transfer Protocol (FTP)
File Transfer Protocol (FTP)
AxelXrest
 
Application Layer and Protocols
Application Layer and ProtocolsApplication Layer and Protocols
Application Layer and Protocols
Rubal Sagwal
 
APPLICATION LAYER PROTOCOLS .pptx
APPLICATION LAYER PROTOCOLS         .pptxAPPLICATION LAYER PROTOCOLS         .pptx
APPLICATION LAYER PROTOCOLS .pptx
ArnavPlayz
 
Computer network
Computer networkComputer network
Computer network
Pihu Goel
 
Telnet and FTP.ppt
Telnet and FTP.pptTelnet and FTP.ppt
Telnet and FTP.ppt
ssuser1774d3
 
filetranferprotocolseminarpresentation.pptx
filetranferprotocolseminarpresentation.pptxfiletranferprotocolseminarpresentation.pptx
filetranferprotocolseminarpresentation.pptx
DSPL
 
Remote Login and File Transfer Protocols
Remote Login and File Transfer ProtocolsRemote Login and File Transfer Protocols
Remote Login and File Transfer Protocols
Himanshu Pathak
 
Group20 Dynamic Networks
Group20 Dynamic NetworksGroup20 Dynamic Networks
Group20 Dynamic Networks
hariprasadnr
 
applayer.pptx
applayer.pptxapplayer.pptx
applayer.pptx
ssuser8b4eb21
 
FTP-PPT.pptx
FTP-PPT.pptxFTP-PPT.pptx
FTP-PPT.pptx
Memerhub1
 
Application Protocol
Application Protocol Application Protocol
Application Protocol
Chandnigupta80
 
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
Dr. Shivashankar
 
Ft pv2(1)
Ft pv2(1)Ft pv2(1)
Application layer
Application layerApplication layer
Application layer
Neha Kurale
 
Application layer
Application layerApplication layer
Application layer
Neha Kurale
 
File tranfer protocol
File tranfer protocolFile tranfer protocol
File tranfer protocol
KunalThorat9
 
Internet Internet Protocols.pptx( technology)
Internet Internet Protocols.pptx( technology)Internet Internet Protocols.pptx( technology)
Internet Internet Protocols.pptx( technology)
ujjawalr9027
 

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)
 
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
Application layerApplication layer
Application layer
 
Application layer
Application layerApplication layer
Application layer
 
File tranfer protocol
File tranfer protocolFile tranfer protocol
File tranfer protocol
 
Internet Internet Protocols.pptx( technology)
Internet Internet Protocols.pptx( technology)Internet Internet Protocols.pptx( technology)
Internet Internet Protocols.pptx( technology)
 

Recently uploaded

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 

Recently uploaded (20)

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 

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.