Basic TCP & UDP client/server using IPv6 extension headers
$250-750 USD
Płatność przy odbiorze
I am working on a software defined network project, and I need a basic TCP and UDP client and server to drive traffic on the network, written in C, C++, or Python. (Most preferred, C code that can be later wrapped in Python.) This is for a research project, so I am looking for a simple but functional program provided quickly (doesn't need to be tuned tightly for production-grade performance). Program must work on Ubuntu 14.04 (portability to other OS's not required).
Both client and server need to: 1) work on IPv6 networks, 2) add specified data tags to each packet in the Destination Options field (formatting given by RFC 2460 and RFC 3542, with type 30 (experimental) header data within the type 60 (destination options) header field).
Server setup: Accept a data structure of 64-bit uint host ID and variable-length string item name. Each host ID will have multiple item names associated with it (example: host ID = 1:0:0:0:0:0:0:1, item names = ['a', 'b', 'c', 'd']), and each server will have to serve multiple host IDs. Generate random dummy data (30-800 bytes long) associated with each tuple. Accept a command-line argument specifying either TCP or UDP operation.
Server operation: Open a listening socket on the addresses given by [network address]:[host ID] (continuing example, if network ID is 2001:: and host ID = 1:0:0:0:0:0:0:1, server should open a socket on 2001::1:0:0:0:0:0:0:0:1). TCP operation: accept connection requests to the open address, parse the packet payload for the item name (example, 'a'), reply with the dummy data associated with item 'a', then close the connection. Reply packets should be tagged in the destination options field with the item name. UDP operation: listen for inbound packets on the given addresses, parse the item name from the destination options field, then reply with a single packet, with the item name in the destination options field and the associated data in the payload field.
Client setup: Accept a data structure pairing network address to host ID (one-to-one mapping), and a data structure listing the data items associated with each host ID. Accept a command-line argument specifying either TCP or UDP operation, a maximum transmission rate (in requests per second), and a maximum number of requests to make. For UDP operation, also accept a retry parameter specifying the time to wait for the return packet (if no reply, resend the request after X milliseconds).
Client operation: TCP: Randomly select a network address-host ID entry and randomly select one data item associated with that host ID. Establish a connection to the server at the selected address, and transmit a packet with the data item name in the payload. This packet should also be tagged in the destination options field with the item name. Close the connection after receiving the reply. Record the network address, host ID, data item, and total elapsed time from first packet sent until completion of the TCP session. UDP operation: Randomly select a network address-host ID entry and randomly select one data item associated with that host ID. Transmit one packet to the selected address, tagged with the data item name in the destination options field. If no reply received by the expiration of the timer, resubmit the request (repeat a maximum of 10 times). Record the network address, host ID, data item, and total elapsed time from first packet sent until receipt of the reply.
Numer ID Projektu: #6580383
O projekcie
Przyznany użytkownikowi:
Hello I am C and C++ expert and interested in this project. I have reviewed your requirements and confident to handle it perfectly. Please communicate to discuss further. Regards Anshu
9 freelancerów złożyło ofertę za $560 w tym projekcie
hello i am red hat certified engineer and i easily can do this task bcz i am more then 4 year experience in this field i am expert in java,python,xbmc, perl and many ready to start now thanks
hi... i can do this. Please let me know to start immediately. i can deliver you on time. Please initiate communication to discuss further. thanks
hello sir I have a great tram for this work and we have a experienced person in this field we are able to gove a good output for your work . we have a 4 years of experience in this field so contact me sir a give a full Więcej
I already did IPv6 socket programming extensively for sectors such as telecommunication, business training and National social security sectors, where I excel meeting deadlines and in code quality as well as overall sy Więcej