What is the difference between FTP and TFTP?
FTP stands for File Transfer Protocol.
FTP uses TCP to manage the file transfer and is a reliable connection oriented service
Because it uses TCP, each packet is accounted for
FTP also support logins for security
There are 2 modes of FTP, passive and non-passive
FTP uses 2 ports, TCP port 21 listening port, and TCP port 20 or higher TCP port above 1024 for source connection
FTP has many commands that can be executed (get, put, ls, dir, lcd) and can list directories etc.
FTP is based upon RFC 959, with other RFC's covering security measures
TFTP stands for Trivial File Transfer Protocol
TFTP uses UDP for file transfer and is not a reliable service. Packets may be lost, but neither the sender or receiver learn about it
TFTP does not support logins and is therefore a security risk (this is why most devices configure for a TFTP server internally. Devices that can have a TFTP client push a file to them can be compromised by a hacker)
TFTP has only 5 commands to execute (rrq, wrq, data, ack, error)
TFTP uses only one port with stop and wait modes
TFTP cannot list directories
TFTP is used mostly for booting devices that store configurations on a remote TFTP server
TFTP uses port 69
TFTP is based upon RFC 1350