in ASCII vertical characters like NL (new line), VT (vertical feed), CR (carriage return), and LF (line feed) indicating that the file is printable after transfer. The different data structures that can be used for transferring files through data connection are: Record structure: Text files can be divided into records by using record structure. Page structure: This divides the file into pages such that each page has a page number and a page header facilitating the pages to be stored and accessed sequentially or randomly. File structure: In this structure, the file is a continuous stream of bytes having no structure. The different transmission modes that can be used for transferring files through data connection are: Block mode: In the block mode the files are delivered in the form of blocks to TCP such that each block is preceded by a 3-byte header. The first byte provides a description of the block and they are called block descriptor. The block sizes are defined by the second and third bytes in the form of bytes. Compressed mode: In compressed mode the big files can be compressed by replacing the data units that appear consecutively by one occurrence and the repetition number. Blanks are compressed in text files and null charac- ters are compressed in binary files. Run-length encoding method is used for compression. Stream mode: In the stream mode the data reaches the TCP as a continuous stream of bytes that is then split into segments of appropriate size. If the data consist of many records then each recorder will have a termination character that terminates the data connection by the sender. There is no need for a termination or end-of-file character in cases where the data is simply a stream of bytes. The stream mode is the default mode. File Handling 30.3 File Transfer with FTP File retrieval, file storage, or transfer of directory list/file names from the server to the client, can be considered as file transfer in the case of FTP (see Figure 30.4). File retrieval: This is the process of copying the file fr