LIVELLO APPLICAZIONE
il sistema telefonico è formato da un albero quindi c’è solo un percorso, nel grafo ci sono piu percorsi, più è connesso più percorsi ci sono. l’idea era mettere la comunicazione e metterli in pacchetti, e deve scegliere la strada per farla andare avanti
Arpanet il primo sistema di reti.
I processi sono programmi in esecuzione, ci sono dati e stack di sistema. I processi comunicano.
-1.png)
l’approccio utilizzato sarà client server, client sta sempre in ascolto, il processo sta in standby e il client quando vuole si connette al server e gli viene data una risposta. whastapp è client e server, deve poter ricevere i messaggi e deve essere in grado di mostrare in video quando digitiamo. Programmi multiprocesso si gesticono tramite thread o fork.
Esempio di server:
Apache HTTP Server è un software web server open-source, gratuito e modulare, tra i più diffusi al mondo per ospitare siti web su sistemi Linux e Windows. Lanciato nel 1995 e gestito da Apache Software Foundation, gestisce in modo sicuro le richieste HTTP/HTTPS, supporta linguaggi come PHP, Perl e Python, e consente l’hosting virtuale.
Apache HTTP Server
Ecco i dettagli chiave su Apache Server:
- Funzionamento: Agisce come intermediario tra il server fisico e il client (browser), elaborando richieste e restituendo contenuti web.
l’applicativo vuole un canale affidabile.
-2.png)
Scalabilità importante, vuol dire riguarda l’aumento con 0. da 10 a 100 si può fare, 100 a 1000, 1000 a 100000 ecc…, aumentare l’ordine di grandezza. Se il server non permette ……. non abbiamo scalabilità. Google, ad esempio deve essere scalabile altrimenti non funzionerebbe.
Process ID: SERVE al kernel del so per individuare processi. directory fittizia, informazioni del processo. quando due processi parlano, devono identificarsi, quindi lo faranno tramite il numeretto. la comunicazione tra due processi è facile perchè hanno qualcosa in comune, il thread system.
Il processo lo identifico dal port, con qualcuno che sta in ascolto o nessuno. Con firewall ho porta filtrata. Queste sono alcune standardizzate:
per evitare attacchi eccessivi ed essere esposti, ad esempio utilizzando SSH, allora cambio porta.Quando mi collego via client spcifico la porta che voglio utilizzare. Oppure un’altra tecnica “knocking door”: Il port knocking è una tecnica di sicurezza di rete che nasconde le porte dei server (come SSH) mantenendole chiuse fino a quando non viene ricevuta una specifica sequenza segreta di tentativi di connessione (il “knock”). knockd, ad esempio, monitora il firewall e apre la porta solo per l’indirizzo IP autorizzato.
1.Well Known Ports: Sono porte che possono essere chieste solo ad un processo, login e pass
2.Registered Ports: l’autore usa un Id
3.Dynamic e private ports
secondo e terzo gruppo possono essere chieste anche non essendo amministratore di sistema
Telnet
-1.png)
Questa immagine mostra un esempio classico di come funziona Telnet (un protocollo per l’accesso remoto) sfruttando i meccanismi di controllo del trasporto del protocollo TCP.
passo dopo passo di cosa succede tra l’Host A (il client) e l’Host B (il server):
- L’invio del carattere (Host A → Host B)
L’utente digita il carattere ‘C’ sulla tastiera dell’Host A.
- Azione: Host A invia un pacchetto a Host B.
- Parametri TCP: *
Seq=42: Il numero di sequenza corrente di A.ACK=79: A dice a B che si aspetta di ricevere il byte numero 79.Data='C': Il carico utile (payload) è il singolo carattere digitato.
- L’eco e la conferma (Host B → Host A)
Host B riceve la ‘C’, la inserisce nel suo sistema e deve fare due cose: confermare di aver ricevuto il pacchetto e “rimandare indietro” il carattere per farlo apparire sullo schermo dell’utente (operazione chiamata Eco).
- Azione: Host B invia un unico pacchetto che contiene sia la conferma (ACK) che il dato di ritorno.
- Parametri TCP: *
Seq=79: Come richiesto prima, B invia il byte 79.ACK=43: B conferma di aver ricevuto tutto fino al byte 42 e si aspetta il 43.Data='C': Questo è l’eco. L’utente vedrà la ‘C’ sul suo terminale solo ora.
- La conferma finale (Host A → Host B)
Ora che Host A ha ricevuto l’eco della ‘C’, deve confermare a Host B di aver ricevuto correttamente il pacchetto 79.
- Azione: Host A invia un pacchetto di solo ACK.
- Parametri TCP: *
Seq=43: Il numero di sequenza che B si aspettava.ACK=80: A conferma di aver ricevuto il byte 79 e si aspetta l’80.
Perché funziona così?
- Verifica Visiva (Remote Echo): In Telnet, quello che digiti non appare immediatamente sul tuo schermo perché lo hai premuto tu. Appare perché il server remoto lo ha ricevuto e te lo ha “rispedito”. Questo garantisce all’utente che il server ha effettivamente ricevuto il comando corretto.
- Efficienza (Piggybacking): Invece di inviare un pacchetto solo per dire “Ho ricevuto il dato” e un altro per dire “Ecco l’eco del dato”, il TCP unisce queste informazioni. Questo riduce il traffico di rete e il carico computazionale.
- Numeri di Sequenza: Nota come i numeri si incrociano: l’
ACKdi uno diventa ilSeqdell’altro nel passaggio successivo. Questo è il meccanismo fondamentale del TCP per garantire che nessun dato vada perso o arrivi fuori ordine.
Qui è tutto in chiaro, anche le password. Programma molto pericoloso, tutti possono effettivamente ascoltare da quetso server. Però telnet su web funziona, parlando in linguaggio http.
problemi di telnet e spiegazione inserire
protocollo banale