1. Homepage
  2. Programming
  3. EE4204/TEE4204 Computer Networks (Part 1) - Socket Programming Assignment (Sem1, 2024-25)

EE4204/TEE4204 Computer Networks (Part 1) - Socket Programming Assignment (Sem1, 2024-25)

Engage in a Conversation
NUSEE4204TEE4204Computer NetworksSocket ProgrammingTCP

EE4204/TEE4204 Computer Networks (Part 1) CourseNana.COM

Socket Programming Assignment (Sem1, 2024-25) CourseNana.COM

Instructions: CourseNana.COM

This lab assignment focuses on implementing a client server socket program with TCP transport protocol for transferring messages using a flow control protocol. Problems 1-3 are for your practice. Problem 4 is the assignment problem. Choose appropriate values for parameters such as data unit size and error probability. Repeat the experiment several times and plot the average values in a report with a brief description of results. The details of lab schedule, demo, and rubrics to be used for assessment will be announced separately. CourseNana.COM

The solution and program must be yours based on your own effort. Our university views any form of cheating and plagiarism (like copying from other students or reports or web sources) very seriously which will results in severe penalty. CourseNana.COM

Practice Problems: CourseNana.COM

  1. Develop a socket program in UNIX/Linux that uses (i) TCP as the transport protocol and (ii) UDP as the transport protocol for transferring a short message between a client and server. The client sends a string (input by the user) to the server and the server prints the string on the screen after receiving it. CourseNana.COM

  2. Develop a TCP-based client-server socket program for transferring a large message. Here, the message transmitted from the client to server is read from a large file. The entire message is sent by the client as a single data-unit. After receiving the file, the server sends an ACK message to the receiver. Verify if the file has been sent completely and correctly by comparing the received file with the original file (“diff” command could be used). Measure the message transfer time and throughput. CourseNana.COM

  3. Develop a TCP-based client-server socket program for transferring a large message. Here, the message transmitted from the client to server is read from a large file. The message is split into short data-units which are sent one by one without waiting for any acknowledgement between transmissions of two successive data-units. Verify if the file has been sent completely and correctly by comparing the received file with the original file. Measure the message transfer time and throughput for various sizes of data-units. CourseNana.COM

Assignment Problem CourseNana.COM

CourseNana.COM

4.
Develop a TCP-based client-server socket program for transferring a large message. Here, the message transmitted from the client to server is read from a large file. The message is split into short data-units which are sent by using stop- and-wait flow control. Also, a data-unit sent could be damaged with some error probability. Verify if the file has been sent completely and correctly by comparing the received file with the original file. Measure the message transfer time and throughput for various sizes of data-units. Also, measure the performance for various error probabilities and for the error-free scenario.
CourseNana.COM

Choose appropriate values for parameters such as data unit size and error probability. You can simulate errors according to the frame error probability. You are free to implement the ARQ in your own way, but with stop-and-wait. For example, you may want to avoid TIMEOUTs and handle retransmissions in some other way (you may want to choose negative acknowledgement). You may also want to simulate errors with a certain probability by generating a random number. For example, to simulate error probability 0.1, generate a random number in the range between 0 and 999; if this number falls within the range 0 to 99, then assume there is an error in the data unit received, otherwise there is no error. Repeat the experiment several times and plot the average values in a report with a brief description of results, assumptions made, etc. Choose at least six values for data unit size in the range between 200 and 1400 bytes. Choose at least six values for error probability in the range between 0.0 and 0.40. Include the following performance figures in your report: CourseNana.COM

1) Transfer time vs error probability (2 graphs; size = 500 and size = 1000 bytes)
2) Throughput vs error probability (2 graphs; size = 500 and size = 1000 bytes)
CourseNana.COM

3) Transfer time vs data unit size (2 graphs; error probability = 0, error probability = 0.1)
4) Throughput vs data unit size (2 graphs; error probability = 0, error probability = 0.1)
CourseNana.COM

[ALL THE BEST]  CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
NUS代写,EE4204代写,TEE4204代写,Computer Networks代写,Socket Programming代写,TCP代写,NUS代编,EE4204代编,TEE4204代编,Computer Networks代编,Socket Programming代编,TCP代编,NUS代考,EE4204代考,TEE4204代考,Computer Networks代考,Socket Programming代考,TCP代考,NUShelp,EE4204help,TEE4204help,Computer Networkshelp,Socket Programminghelp,TCPhelp,NUS作业代写,EE4204作业代写,TEE4204作业代写,Computer Networks作业代写,Socket Programming作业代写,TCP作业代写,NUS编程代写,EE4204编程代写,TEE4204编程代写,Computer Networks编程代写,Socket Programming编程代写,TCP编程代写,NUSprogramming help,EE4204programming help,TEE4204programming help,Computer Networksprogramming help,Socket Programmingprogramming help,TCPprogramming help,NUSassignment help,EE4204assignment help,TEE4204assignment help,Computer Networksassignment help,Socket Programmingassignment help,TCPassignment help,NUSsolution,EE4204solution,TEE4204solution,Computer Networkssolution,Socket Programmingsolution,TCPsolution,