GithubHelp home page GithubHelp logo

imalessas / computer-networks Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 47.34 MB

Content for uni course "Computer Networks" 🌐 [ITA]

C 51.19% TeX 33.32% Python 7.36% HTML 8.14%
c http latex python image-processing web-client base64 ping round-trip-time web-server

computer-networks's Introduction

Reti di Calcolatori

Questa repository contiene gli script prodotti durante il corso "Reti di Calcolatori" tenuto allUniversità degli Studi di Padova. La repo, come il corso, è divisa in due porzioni:

  • La parte HTTP, si occupa di trattare tutto ciò che concerne dei livelli 5, 6 e 7 del modello ISO/OSI, in particolare si concentra sul protocollo HTTP

  • La parte multimedia, copre le tecniche di trasmissione a basso livello dei dati da un mittente a un destinatario

HTTP

Nel modulo HTTP sono vengono scritti in C il web-client, il web-server e il web-proxy, inoltre sono presenti alcune soluzioni alle prove di esami passati.

Web client

Sono fornite 3 implementazioni di un client web. Nella prima viene implementato un client mediante il protocollo HTTP 0.9, ideato da Berners Lee.

La seconda implementazione racchiude un client che effettua le richiesta tramite HTTP 1.0 e ne processa l'header.

Infine viene implementato anche un web client che supporta HTTP 1.1 e quindi è in grado di consumare il body tramite i chunk.

Web server

Viene anche fornita l'implementazione di un web server basico che si occupa solo di restittuire pagine lette e invece un server gateway che consente anche di eseguire altri script.

Web proxy

È anche presente l'implementazione di un web-proxy che gestisce sia la richiesta in chiaro GET che la CONNECT.

Esami

Nella directory HTTP/exams/ è possibile trovare diverse prove degli esami passati, di seguito elencati.

Inoltre il file HTTP/doc/main.pdf contienel gli scirpt più importanti che possono essere portati all'esame come supporto alla prova di programmazione. Si consiglia inoltre di consulatre la lista di repo che contiene altre repository ben fornite.

Esercizi

In HTTP/exercies/ sono presenti anche due semplici esercizi che implementano la conversione host-to-network e la codifica base64.

Multimedia

All'interno del modulo multimedia sono presenti gli script .py e i report .tex dei due homework richiesti durante il corso.

Homework 1

Il primo homework riguarda la codifica lossless di immagini, in particolare si occupa esplorare due tipi di codifiche implementate attraverso due script. La codifica semplice si basa su un semplice predittore del pixel successivo mentre la codifica avanzata si basa su un modello predittivo più complesso, focolazzandosi su più pixel attorno a quello da predire. Lo studio e l'analisi delle prestazioni di tali codifiche sono descritte nel report.

Homework 2

Il secondo homework studia la latenza di rete: si è implementato uno script che analizza le prestazioni di rete inviando pacchetti ad un determinato server. In particolare viene studiato il numero di link, il Round Trip Time (RTT) per poi calcolare il throughput. Il report contiene tutto ciò che è necessario sapere per poter eseguire il codice e discute i risultati ottenuti.

computer-networks's People

Contributors

imalessas avatar

Stargazers

 avatar

Watchers

 avatar

computer-networks's Issues

Finish cgi.c

The C script for emulating a server that can also provide back-end services and applications is not finished yet. You need to add the add_env function and process the backend service execution and result.

Improve exp_golomb

Use just one file to define both the functions. Both of them can be improved with a better usage of the return construct (see your notes)

Variable img confusion

On the .py file, you used the mg variable that denotes the colored img. you should change everything using the right image which is stored in the variable gray_img

Add datatypes

For better clarity add datatypes in all the variables of the files simple_coding.py and advanced_coding.py to prevent any type of mis-assumptions and to improve the readability of the code

Change ping cmd

Need to add the length specification because you missed it, you just put the number of instances

Homework 2 TODO

  • Write detailed introduction
  • Rewrite project parameters
  • Finish throughout section by inserting formulas and explanation
  • Write the conclusion

Task 6

Correct the task 6 algorithm and redo the photos on the report

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.