Reti di calcolatori
Appunti completi del corso, elaborati mettendo insieme registrazioni del corso e il libro di testo. Questi appunti sono perfettamente sufficienti per superare l’esame con un 30.
Programma
Parte 1 - Introduzione
- Che cos’è internet
- Ai confini della rete
- Il nucleo della rete
- Prestazioni reti a commutazione di pacchetto
- Livelli di protocollo
- Reti sotto attacco: sicurezza
Parte 2 - Livello di applicazione
- Principi delle applicazioni di rete
- Web e HTTP
- FTP
- Posta elettronica e-mail
- DNS
- Protocollo SIP (si trova alla fine del PDF)
Parte 3 - Livello di trasporto
- Servizi a livello di trasporto
- Multiplexing e demultiplexing
- Trasporto senza connessione: UDP
- Principi del trasferimento dati affidabile
- Trasporto orientato alla connessione: TCP
- Principi di controllo di congestione di TCP
Parte 4 - Programmazione con le socket
- Applicazione client-server con le socket con TCP in Java
Parte 5 - Livello di rete
- Introduzione
- Reti a datagramma e a circuito virtuale
- Che cosa si trova dentro un router?
- Protocollo internet IP
- Algoritmi di instradamento con esercizi svolti
- Instradamento broadcast e multicast
Parte 5 - Livello di collegamento (link)
- Tecniche di rilevazione e correzione degli errori
- Protocolli di accesso multiplo
- Protocolli a suddivisione del canale
- Indirizzi a livello di collegamento
- Protocollo Ethernet
- Switch a livello di collegamento
Parte 6 - Wireless e reti mobili
- Introduzione
- Reti WiFi LAN
- Reti cellulari
Client.java
import java.io.*;
public class Client {
Socket mioSocket = null;
int porta = 7400;
DataInputStream in;
DataOutputStream out;
BufferedReader tastiera; // Per acquisire il messaggio che voglio inviare al server
public Socket connetti() { // Deve permetterci di connetterci al server
try {
System.out.println("PROVO A CONNETTERMI AL SERVER....");
Socket mioSocket = new Socket(InetAddress.getLocalHost(), porta);
// Uso classe InetAddress con il metodo getLocalHost() per scrivere il nome dell host che ospita il server
// (lo stesso host del client) che dns traduce in ip, e il numero di porta, cosi si connette a quel server
// con quell'IP e quel numero porta
System.out.println("CONNESSO!");
// Per poter parlare col server devo aprire un flusso di input col server e output
in = new DataInputStream(mioSocket.getInputStream()); // Creo buffer per ricevere dati dalla socket
out = new DataOutputStream(mioSocket.getOutputStream()); // Creo buffer per inviare dati alla socket
} catch (Exception e) {
System.err.println("Errore di connessione: " + e.getMessage());
}
return mioSocket;
}
}
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.