This repository contains the scripts produced during the "Cuping networks" course held at the time of Padua's studies. The repo, like the course, is divided into two portions:
The HTTP part deals with treating everything that concerns levels 5, 6 and 7 of the ISO/OSI model, in particular it focuses on the HTTP protocol
The multimedia part covers the low level transmission techniques from a sender to a recipient
In the HTTP module are written in C the web-client, the web-server and the web-proxy, in addition there are some solutions to the tests of past exams.
3 implementations of a web client are provided. The first is implemented a client through the HTTP 0.9 protocol, conceived by Berners Lee .
The second implementation contains a client that makes the request via HTTP 1.0 and tries the header.
Finally, a web client is also implemented that supports HTTP 1.1 and therefore is able to consume the body via the chunk .
The implementation of a basic web server is also provided that deals only with restarting pages read and instead a gateway server that also allows you to perform other scripts.
There is also the implementation of a web-proxy that manages both the request in clear GET and the CONNECT .
In the HTTP/exams/ it is possible to find several tests of the past exams, listed below.
content-length server
reflect server
cache client
auth server
auth server
blacklist server
cookie server
ETag server
Server chunked
In addition, the HTTP/doc/main.pdf Contienel file the most important Scirpts that can be brought to the exam as a support for the programming test. We also recommend the list of repo that contains other well -stocked repositories.
In HTTP/exercies/ there are also two simple exercises that implement the host-to -net conversion and the basic coding64.
Inside the multimedia module there are the .py scripts and the .tex reports of the two homework required during the course.
The first homework concerns the lossless coding of images, in particular it deals with exploring two types of codes implemented through two scripts. The simple coding is based on a simple predictor of the next pixel while the advanced coding is based on a more complex predictive model, focusing on several pixels around the one to be predicted. The study and analysis of the performance of these codes are described in the report.
The second homework studies network latency : it has implemented a script that analyzes network performance by sending packages to a certain server. In particular, the number of links is studied, the round Time ( RTT ) round and then calculate the Throughput . The report contains everything you need to know in order to perform the code and discuss the results obtained.