1. Homepage
  2. Programming
  3. Operating Systems and Networks (159.342) Assignment 1: FTP server

Operating Systems and Networks (159.342) Assignment 1: FTP server

Engage in a Conversation
C++FTP ServerIPv6159.342Operating Systems and NetworksNew ZealandMassey University

Operating Systems and Networks (159.342)

Assignment 1: FTP server (Cross-platform, Active mode, IPv6-compliant), CourseNana.COM

Requirements

Your main task is to write a simple Cross-platform, Active mode FTP server program using the socket API (preinstalled in the operating system: Windows/Linux/MacOS). The FTP server must be able to process the following commands from the built-in FTP user agent: USER, PASS, OPTS, TYPE, LIST, EPRT and QUIT.  Your FTP server program must satisfy the following requirements: CourseNana.COM

1.     It should be RFC 959 protocol-, RFC 2428 protocol- and IPv6-compliant.  CourseNana.COM

2.     It should not use data structures that work only on IPv4 addresses (penalty applies). CourseNana.COM

  1. It must compile using the recommended g++ 12.2.0 compiler (see download link from our Stream website).   
  2. It must be cross-platform but will be tested only on Windows 10.

5.     It should be able to accept an optional ephemeral port to listen to, as one of its arguments (e.g.  server 1122) CourseNana.COM

6.     If the port number is not specified, it should use port 1234 as default. CourseNana.COM

The FTP server will be tested using the built-in FTP client in Windows 10 (IPv6), using simple commands such as: CourseNana.COM

·       dir CourseNana.COM

·       binary CourseNana.COM

·       ascii       CourseNana.COM

·       get <filename> CourseNana.COM

  CourseNana.COM

For testing purposes, include one authorized user entry in your server with the user name: napoleon, and password: 342 CourseNana.COM

Guidelines

Learn about the protocol commands and response messages that need to be issued. Refer to materials provided in the stream web site.  It is also highly recommended that you try to interact with a real ftp server (e.g. Internet Information Services (IIS) - ftp server), to see how it actually responds to your requests. CourseNana.COM

When the FTP server receives an OPTS command, simply return 550 unrecognized command. CourseNana.COM

Remember that the FTP protocol requires two parallel TCP connections: one in port 21 and a data connection in port 20. The machines in the lab may not allow users to bind applications on these ports. Therefore, your program should allow for any valid ephemeral port i.e. [1024, 65535] as an alternative port number.  CourseNana.COM

Marking the assignment:

The assignment is going to be marked based on functionality. The server should not crash if the user tries to issue commands that are not implemented. The marks are distributed as follows: CourseNana.COM

·       2 marks for correct connection/disconnection and resource allocation and de-allocation (the server should allow for reconnection after errors, etc.) CourseNana.COM

·       2 marks for the EPRT command, including error handling in IPv6 CourseNana.COM

·       2 marks for LIST command, including error handling, in IPv6 CourseNana.COM

·       2 marks for the RETR command (get <filename>), including error handling in IPv6.  Your program should work with binary files (e.g. jpg files) CourseNana.COM

  • 1 mark for TYPE <mode> command; mode is either ‘I’ (for image), or ‘A’ (for ASCII).  To test the image/binary mode, try transferring a jpg image file from your FTP server.

·       1 mark for the brief documentation and accomplished checklist CourseNana.COM

·       This assignment is worth 10 marks. Plagiarized works will be penalized. CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
C++代写,FTP Server代写,IPv6代写,159.342代写,Operating Systems and Networks代写,New Zealand代写,Massey University代写,C++代编,FTP Server代编,IPv6代编,159.342代编,Operating Systems and Networks代编,New Zealand代编,Massey University代编,C++代考,FTP Server代考,IPv6代考,159.342代考,Operating Systems and Networks代考,New Zealand代考,Massey University代考,C++help,FTP Serverhelp,IPv6help,159.342help,Operating Systems and Networkshelp,New Zealandhelp,Massey Universityhelp,C++作业代写,FTP Server作业代写,IPv6作业代写,159.342作业代写,Operating Systems and Networks作业代写,New Zealand作业代写,Massey University作业代写,C++编程代写,FTP Server编程代写,IPv6编程代写,159.342编程代写,Operating Systems and Networks编程代写,New Zealand编程代写,Massey University编程代写,C++programming help,FTP Serverprogramming help,IPv6programming help,159.342programming help,Operating Systems and Networksprogramming help,New Zealandprogramming help,Massey Universityprogramming help,C++assignment help,FTP Serverassignment help,IPv6assignment help,159.342assignment help,Operating Systems and Networksassignment help,New Zealandassignment help,Massey Universityassignment help,C++solution,FTP Serversolution,IPv6solution,159.342solution,Operating Systems and Networkssolution,New Zealandsolution,Massey Universitysolution,