Implement a udp client and udp server

Assignment Help Programming Languages
Reference no: EM131196315

PROGRAMMING ASSIGNMENT-

Implement a UDP client and UDP server that support simple timeout-based retransmission with AIMD congestion control:

-The client should send as many packets as are in its CURWIN (current window) and wait for each one to be ACKd. If any are not ACKed within the indicated timeout, those packets should be resent. The client should update its AIMD window each round trip as indicated below. Remember that the window should never move forward further than MINAUNACK+CURWIN (where MINUNACK is the smallest index of a packet that has not yet been ACK'd).

-The server receives and ACKs packets that arrive in-order only. Any packets except the next one expected should be silently dropped.

-Use two UDP packet formats:

  • Data: a 2 byte packet number followed by payload data (use any arbitrary data)
  • ACK: a 2 byte packet number

-Start the server first. The client should report the number of packets and payload bytes that need to be retransmitted, as well as the time from the first packet sent until the last ACK is received.

-Use the following parameters:

Timeout = 30 ms (milliseconds)

Set the receive and send socket buffers to 32KB (using setsockopt)

Set MAXWIN as indicated in the experiment below

Start with a window size of 1 packet. Each round trip time:

  • If no packets are lost, increase the window to the next largest prime number up to (but not exceeding) MAXWIN. Remember to round *down* to the nearest packet.
  • If packets are lost, drop the size of MAXWIN to the nearest prime number that is at least 50% smaller.

Use 10 ms as the round trip time (don't worry that this isn't the actual round trip time).

-Run the experiment between two different machines ON THE SAME LAN (e.g., on the same WIFI network or on Ethernet in the same room).

  • Measure 5 runs with the same configuration, where each run successfully transfers as much data as possible in 1 minute (of real time); plot points as average +/- std. dev.
  • Vary MAXWIN from 1 to 256 packets in steps of 2x.
  • Measure the time needed, number of bytes lost, and number of UDP packets lost.

Submit the code and the following plots:

  • Throughput, lost bytes, and lost packets for UDP packet data payload sizes of 32B, 512B, 1400B, and 8192B

In total, you should turn in 4 plots (you can put up to two on each page).  Each plot is worth 1 point, and the code is worth one point.

For each plot, the X axis is the window size (logarithmic), and Y is the measured performance (throughput, lost bytes, lost packets). Plot throughput, lost bytes, and lost packets on the same graph.

Reference no: EM131196315

Questions Cloud

Assuming the company will remain going concern : You’ve recently learned that the company where you work is being sold for $435,000. The company’s income statement indicates current profits of $23,000, which have yet to be paid out as dividends. Assuming the company will remain a “going concern” in..
Read the material on ethics : Carefully read the material on Ethics and especially on Moral Theories in the Webtext. Then consider the following scenario:
Post the unadjusted balances and adjusting entires : Pastina Company sells various types of pasta to grocery chains as private label brands. The company's fiscal year-end is December 31. Post the unadjusted balances and adjusting entires into the appropriate t-accounts.
What are some of the criminological theories : You have been tasked to create a new problem solving court that addresses a special type of offender. Discuss the components of the court and its approach to dealing with these special offenders based upon criminological thought.
Implement a udp client and udp server : USC EECS450 PROGRAMMING ASSIGNMENT. Implement a UDP client and UDP server that support simple timeout-based retransmission with AIMD congestion control
Identify whether you town is growing or declining : Use the Internet to research the population of your community or town. City-Data-http://www.city-data.com/, is a great Website to get you started. Identify whether you town is growing or declining. Describe at least one (1) sociological aspect tha..
Prepare the cash budget for seal limited for the months : Prepare the cash budget for Seal Limited for the months of April, May and June - Calculate the expected marginal income for the year and what will be the breakeven point (in units) of Sun Manufacturing Limited for the year?
Summarize the tuskegee syphilis study : Summarize the Tuskegee Syphilis Study.-  Identify how each of the four ethical principles can be applied to the case.
How does a correctional officer deal with gang activity : How is contraband, specifically cell phones, dangerous to the safety of correctional officers? Argue which specific technology device mentioned in the article you feel best combats contraband within the prison setting

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd