Python Network Programming Assignment During this project, you will implement several key data plane functions of a router, including stream packetization,

Python Network Programming Assignment During this project, you will implement several key data plane functions of a router, including stream packetization, packet segmentation, and forwarding. The next assignment will complement these functions at the control plane.

Starting Code

Don't use plagiarized sources. Get Your Custom Essay on
Python Network Programming Assignment During this project, you will implement several key data plane functions of a router, including stream packetization,
Just from $13/Page
Order Essay

The starting code for this project provides you with the implementation of several network layers that cooperate to provide end-to-end communication.

NETWORK LAYER (network.py)
DATA LINK LAYER (link.py)

The code also includes simulation.py that manages the threads running the different network objects. Currently, simulation.py defines the following network.

At a high level a network defined in simulation.py includes hosts, routers and links. Hosts generate and receive traffic. Routers forward traffic from one Interface to another based on routing tables that you will implement. Links connect network interfaces of routers and hosts. Finally, the LinkLayer forwards traffic along links. Please consult the video lecture for a more in-depth explanation of the code.

Program Invocation

To run the starting code you may execute:

python simulation.py

The current simulation_time in simulation.py is one second. As the network becomes more complex and takes longer to execute, you may need to extend the simulation to allow all the packets to be transfered.

Grading Rubric

Your task is to extend the given code to implement several data link router functions.

[2 points] Currently simulation.py is configured to send three very short messages. Instead, generate a message for Host_2 that’s at least 80 characters long. You will notice that this messages is to large for the link MTUs. Your first task is to break this message up into two separate packets.Implement your solution in files link_1.py, network_1.py, and simulation_1.py.
[10 points] The packets you created are small enough to pass over the links. However, if we change the MTU of the second link (between Router_A and Host_2) to 30, the packets will now need to be segmented.Your task is to extend the network layer to support segmentation. Study lecture notes and the book on how IP implements segmentation. Extend the classes (including packet format) in network.py to match IP’s mechanisms for packet segmentation and reconstruction.Implement your solution in files link_2.py, network_2.py, and simulation_2.py.
[13 points] The current router implementation supports very simple forwarding. The router has only one input and one output interface and just forwards packets from one to the other. Your tasks is to implement forwarding of packets within routers based on routing tables.First configure simulation.py to reflect the following network topology.Second, create routing tables so that both Host 1 and Host 2 can send packets to Host 3 and Host 4 respectively. The routing table for each router should be passed into the Router constructor, and so should be defined in simulation.py. The format of these is up to you. You will also need to modify the Router class to forward the packets correctly between interfaces according to your routing tables.

Finally, third, configure the routing tables to forward packets from Host 1 through Router B and from Host 2 through Router C. You may extend NetworkPacket with a source address, but it is not necessary to forward a packet onto different paths.

Implement your solution in files link_3.py, network_3.py, and simulation_3.py.

[1 point] BONUS: The communication in the network above is one directional. Extend the network to carry packets both ways and have Host 3 send acknowledgements to Hosts 1 and 2.Implement your solution in files link_4.py, network_4.py, and simulation_4.py.
What to Submit

You will submit the different link.py, network.py, and simulation.py files.

******NOTE****

-explain your work in short with a clear voice in 5 min (max), in the screencast (using command Prompt)

-follow the grading rubrics when you describe

-have comments on your code files and

Homework Writings Pro
Calculate your paper price
Pages (550 words)
Approximate price: -

Why should I choose Homework Writings Pro as my essay writing service?

We Follow Instructions and Give Quality Papers

We are strict in following paper instructions. You are welcome to provide directions to your writer, who will follow it as a law in customizing your paper. Quality is guaranteed! Every paper is carefully checked before delivery. Our writers are professionals and always deliver the highest quality work.

Professional and Experienced Academic Writers

We have a team of professional writers with experience in academic and business writing. Many are native speakers and able to perform any task for which you need help.

Reasonable Prices and Free Unlimited Revisions

Typical student budget? No problem. Affordable rates, generous discounts - the more you order, the more you save. We reward loyalty and welcome new customers. Furthermore, if you think we missed something, please send your order for a free review. You can do this yourself by logging into your personal account or by contacting our support..

Essay Delivered On Time and 100% Money-Back-Guarantee

Your essay will arrive on time, or even before your deadline – even if you request your paper within hours. You won’t be kept waiting, so relax and work on other tasks.We also guatantee a refund in case you decide to cancel your order.

100% Original Essay and Confidentiality

Anti-plagiarism policy. The authenticity of each essay is carefully checked, resulting in truly unique works. Our collaboration is a secret kept safe with us. We only need your email address to send you a unique username and password. We never share personal customer information.

24/7 Customer Support

We recognize that people around the world use our services in different time zones, so we have a support team that is happy to help you use our service. Our writing service has a 24/7 support policy. Contact us and discover all the details that may interest you!

Try it now!

Calculate the price of your order

Total price:
$0.00

How it works?

Follow these simple steps to get your paper done

Place your order

Fill in the order form and provide all details of your assignment.

Proceed with the payment

Choose the payment system that suits you most.

Receive the final file

Once your paper is ready, we will email it to you.

Our Services

Our reputation for excellence in providing professional tailor-made essay writing services to students of different academic levels is the best proof of our reliability and quality of service we offer.

Essays

Essay Writing Service

When using our academic writing services, you can get help with different types of work including college essays, research articles, writing, essay writing, various academic reports, book reports and so on. Whatever your task, homeworkwritingspro.com has experienced specialists qualified enough to handle it professionally.

Admissions

Admission Essays & Business Writing Help

An admission essay is an essay or other written statement by a candidate, often a potential student enrolling in a college, university, or graduate school. You can be rest assurred that through our service we will write the best admission essay for you.

Reviews

Editing Support

Our professional editor will check your grammar to make sure it is free from errors. You can rest assured that we will do our best to provide you with a piece of dignified academic writing. Homeworkwritingpro experts can manage any assignment in any academic field.

Reviews

Revision Support

If you think your paper could be improved, you can request a review. In this case, your paper will be checked by the writer or assigned to an editor. You can use this option as many times as you see fit. This is free because we want you to be completely satisfied with the service offered.