TFTP - Trivial File Transfer Protocol ====================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is TFTP?** TFTP stands for Trivial File Transfer Protocol. It is a simple, lightweight protocol used to transfer files between devices on a network. Unlike FTP, TFTP does not require authentication and is typically used in local or controlled environments. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is the purpose of TFTP?** * Has a very small footprint, making it ideal for embedded systems. * Easy to implement and use in bootstrapping and firmware updates. * Commonly used for network booting, such as loading operating systems or configurations onto routers, switches, or diskless workstations. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How does it work?** * Client sends a request – A device sends a read or write request to the TFTP server. * Server responds – The server acknowledges and begins the file transfer. * Data is transferred in blocks – Each block is acknowledged by the receiver. * Transfer completes – When the last block is received and acknowledged, the session ends. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is TFTP used?** * Network booting (PXE) – For loading OS images onto diskless clients. * Firmware upgrades – For routers, switches, and embedded devices. * Configuration backups – For network equipment in enterprise environments. * Embedded systems – Where minimal protocol overhead is needed. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI Layer does this protocol belong to?** * TFTP operates at the **Application Layer (Layer 7)** of the OSI model. * It provides file transfer services directly to applications or users. * Defines application-level commands like read and write requests. * Uses UDP (Layer 4) for transport, but protocol logic resides at Layer 7. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`TFTP Version&RFC Details ` * :ref:`TFTP Basic Setup on Ubuntu using IPv4 ` * :ref:`TFTP Basic Setup on Ubuntu using IPv6 ` * :ref:`TFTP Protocol Packet Details ` * :ref:`TFTP Usecases ` * :ref:`TFTP Basic Features ` * :ref:`TFTP Feature : File Transfer ` * :ref:`TFTP Feature : Authentication ` * :ref:`TFTP Feature : Directory Operations ` * :ref:`TFTP Feature : File Management ` * :ref:`TFTP Feature : Modes of Transfer ` * :ref:`TFTP Feature : Transfer Types ` * :ref:`TFTP Feature : Multiple Platforms ` * :ref:`TFTP Feature : Control and Data Channels ` * :ref:`TFTP Feature : Logging and Auditing ` * :ref:`Reference links ` .. _TFTP_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _TFTP_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _TFTP_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _TFTP_step5: .. tab-set:: .. tab-item:: TFTP Version&RFC Details .. csv-table:: :file: ./TFTP/TFTP_RFC_Details.csv :widths: 1,10,10,10,30 :header-rows: 1 .. _TFTP_step18: .. tab-set:: .. tab-item:: TFTP Basic Setup on Ubuntu using IPv4 * Setup .. _TFTP_step19: .. tab-set:: .. tab-item:: TFTP Basic Setup on Ubuntu using IPv6 * Setup .. _TFTP_step6: .. tab-set:: .. tab-item:: TFTP Protocol Packet Details **Read Request (RRQ) Packet** .. csv-table:: :file: ./TFTP/TFTP_Protocol_Packet_1.csv :widths: 10,20,30,10 :header-rows: 1 **Write Request (WRQ) Packet** .. csv-table:: :file: ./TFTP/TFTP_Protocol_Packet_2.csv :widths: 10,20,30,10 :header-rows: 1 **DATA Packet** .. csv-table:: :file: ./TFTP/TFTP_Protocol_Packet_3.csv :widths: 10,20,30,10 :header-rows: 1 **Acknowledgment (ACK) Packet** .. csv-table:: :file: ./TFTP/TFTP_Protocol_Packet_4.csv :widths: 10,20,30,10 :header-rows: 1 **ERROR Packet** .. csv-table:: :file: ./TFTP/TFTP_Protocol_Packet_5.csv :widths: 10,20,30,10 :header-rows: 1 **Option Acknowledgment (OACK) Packet** .. csv-table:: :file: ./TFTP/TFTP_Protocol_Packet_6.csv :widths: 10,20,30,10 :header-rows: 1 .. _TFTP_step7: .. tab-set:: .. tab-item:: TFTP Usecases .. csv-table:: :file: ./TFTP/TFTP_Usecase.csv :widths: 10,20,30 :header-rows: 1 .. _TFTP_step8: .. tab-set:: .. tab-item:: TFTP Basic Features .. csv-table:: :file: ./TFTP/TFTP_Features.csv :widths: 10,10,30 :header-rows: 1 .. _TFTP_step9: .. tab-set:: .. tab-item:: TFTP Feature : File Transfer **File Transfer - Testcases** .. csv-table:: :file: ./TFTP/TFTP_Feature_1_File_Transfer_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _TFTP_step10: .. tab-set:: .. tab-item:: TFTP Feature : Authentication **Authentication - Testcases** .. csv-table:: :file: ./TFTP/TFTP_Feature_2_Authentication_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _TFTP_step11: .. tab-set:: .. tab-item:: TFTP Feature : Directory Operations **Directory Operations - Testcases** .. csv-table:: :file: ./TFTP/TFTP_Feature_3_Directory_Operations_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _TFTP_step12: .. tab-set:: .. tab-item:: TFTP Feature : File Management **File Management - Testcases** .. csv-table:: :file: ./TFTP/TFTP_Feature_4_File_Management_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _TFTP_step13: .. tab-set:: .. tab-item:: TFTP Feature : Modes of Transfer **Modes of Transfer - Testcases** .. csv-table:: :file: ./TFTP/TFTP_Feature_5_Modes_of_Transfer_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _TFTP_step14: .. tab-set:: .. tab-item:: TFTP Feature : Transfer Types **Transfer Types - Testcases** .. csv-table:: :file: ./TFTP/TFTP_Feature_6_Transfer_Types_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _TFTP_step15: .. tab-set:: .. tab-item:: TFTP Feature : Multiple Platforms **Multiple Platforms - Testcases** .. csv-table:: :file: ./TFTP/TFTP_Feature_7_Multiple_Platforms_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _TFTP_step16: .. tab-set:: .. tab-item:: TFTP Feature : Control and Data Channels **Control and Data Channels - Testcases** .. csv-table:: :file: ./TFTP/TFTP_Feature_8_Control_and_Data_Channels_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _TFTP_step17: .. tab-set:: .. tab-item:: TFTP Feature : Logging and Auditing **Logging and Auditing - Testcases** .. csv-table:: :file: ./TFTP/TFTP_Feature_9_Logging_and_Auditing_Testcase.csv :widths: 10,10,30,20 :header-rows: 1 .. _TFTP_step20: .. tab-set:: .. tab-item:: Reference links * Reference links