+++ title = "Introduzione alle reti" outputs = ["Reveal"] +++ ### intro sulle reti --- ### Come funziona l'internet? --- - via radio - con le antenne telefoniche - con cavi sottomarini - con connessioni satellitari --- ##### ![/images/cable_map.png](/images/cable_map.png) --- ### Un po di sigle Tanto per confonderci meglio, cerchiamo di capire cosa fanno questi diversi elementi --- * ISP * Router * WAN * LAN * Host(s) * WLAN --- ### Stack ISO/OSI Possiamo dividere la rete internet, per come viene vista da un pacchetto, si puo' suddividere in sette "strati". --- --- ### Dall'alto verso il basso **Application Layer** * HTTP (Hypertext Transfer Protocol) * SMTP (Simple Mail Transfer Protocol) ce ne sono un sacco, ma chi decide? [RFC](https://datatracker.ietf.org/doc/html/rfc2616), IETF --- ### Transport Layer Come i dati vengono mandati, se controllando o meno gli errori durante la connessione. * TCP (Transmission Control Protocol) - reliable data delivery * UDP (User Datagram Protocol) - unreliable data delivery --- ### Network Layer Qui per permettere agli host, piĆ¹ propriamente al sistema operativo, Questo layer usa: * IP (Internet Protocol) - Permette di instradare pacchetti da una host all'altro * ICMP (Internet Control Message Protocol) - Errori, debug, che succede. --- ### Link Layer Come vengono mandati fisicamente i dati nella ferraglia - quanti modi vi vengono in mente? --- ### Paccheti che si instradano? Abbiamo trovato un modo molto criptico di dire "dati che si muovono", ma avviene cio'? * MAC: 8 byte OUI (Organizational unique identifier) 8 univoci per scheda fisica * IP * Hostname --- ### Quindi, se visito un sito, che giro faccio? --- ### Layer Applicativo * Protocollo HTTP * Metodi: GET, POST, vari ed eventuali > GET / HTTP/1.1 > Host: google.com --- ### Layer di trasporto - Porte - UDP - TCP --- ### Layer di Rete - IP: destinazione e sorgente --- ### Layer Fisico - Incapsula il pacchetto TCP/IP dentro un frame - ARP (Address Resolution Protocol) --- ### Quindi se vado su un sito che giro faccio? ![Esempio stack ISO/OSI](/images/stackiso.png) --- ### ROUTE, NETMASK, E ALTRE COSE ORRIBILI - Ovvero, di cosa ha bisogno il mio computer per attaccarsi al router? - IP, lo abbiamo visto - GATEWAY, "da dove passare", quindi l'IP del gateway - NETMASK, il mio PC sa di essere in una sottorete, ma quanto e' grande? Con questi ingredienti posso collegarmi al router! --- ### DHCP E' interessante cercare di capire come fa il router a farci collegare in automatico. - DHCP - DHCP DISCOVER - DHCP OFFER - DHCP REQUEST - DHCP ACK - Riusciamo a vederlo con wireshark? --- ### HTTP Proviamo! Posso usare internet da terminale? `curl https://www.wttr.in/turin ` --- ### Developer Tools Ovvero, avevate mai provato a premere **F12** sul browser? --- ### GET - parametri - escaping - content-type eg. autocompletamento di startpage.com --- ### POST - parametri - dati --- ### Live - WS pad.