TCP/IP Transmission Control Protocol Internet Protocol 6 Febbraio 2000 Prof. Domenico de Biase
TCP/IP TCP/IP Assomiglia a OSI però è un protocollo reale ed è diviso in 4 livelli anziché 7 NETWORK ACCESS LAYER PROCEDURE DI ACCESSO ALLA RETE FISICA (ETHERNET – ALOHA) LIVELLI CORRISPONDENTI OSI: 1,2 INTERNET LAYER DEFINISCE IL FORMATO DEL DATAGRAM E GESTISCE L’INSTRADAMENTO (OSI: 3) HOST TO HOST TRANSPORT LAYER FORNISCE IL SERVIZIO DI CONSEGNA END-TO-END (OSI: 4) APPLICATION LAYER INTERFACCIA VERSO LE APPLICAZIONI E I PROCESSI CHE USANO LA RETE (OSI: 5,6,7) 6 Febbraio 2000 Prof. Domenico de Biase
TCP/IP APPLICATION TRANSPORT INTERNET NETWORK ACCESS VALE IL CONCETTO DELL’INCAPSULAMENTO: APPLICATION TRANSPORT INTERNET NETWORK ACCESS DATI H DATI H H DATI H H H DATI SEND RECEIVE 6 Febbraio 2000 Prof. Domenico de Biase
TCP/IP NETWORK ACCESS LAYER Segue l’evoluzione tecnologica: ogni volta che nasce un nuovo tipo di SDC deve essere sviluppato un nuovo Network Access Protocol. Serve per far funzionare TCP/IP con qualsiasi tipo di rete locale. INTERNET LAYER Definisce il DATAGRAM cioè il formato del pacchetto ed in particolare lo spazio dei nomi degli HOST 0 4 8 12 16 20 24 28 31 1 2 3 4 5 6 VER IHL TIPO DI SERVIZIO LUNGHEZZA TOTALE IDENTIFICAZIONE FLAGS OFFSET FRAMMENTAZIONE TEMPO DI VITA PROTOCOLLO HEADER CHECKSUM INDIRIZZO SORGENTE INDIRIZZO DESTINATARIO OPZIONI RIEMPITIVO I DATI COMINCIANO DA QUI 6 Febbraio 2000 Prof. Domenico de Biase
TCP/IP 32 BIT DI INDIRIZZO = 4.294.967.296 !!! Ma non sono tutti HOST (purtroppo) N H H H Classe A 10 N N H H Classe B 110 N N N H Classe C 111 Riservato INDIRIZZI RISERVATI CLASSE A: N = 0 – DEFAULT ROUTE (SEMPLIFICA L’INSTRADAMENTO) N = 127 – LOOPBACK ADDRESS (DEBUG E CONFIGURAZIONE) TUTTI: H = 0 - E’ L’INDIRIZZO DELLA RETE H = 255 – BROADCAST DI RETE 6 Febbraio 2000 Prof. Domenico de Biase
TCP/IP SUBNET MASK ESEMPI MASCHERA DI BIT A 1 CHE COMPRENDE: L’INDIRIZZO DELLA RETE E LA PARTE DI HOST ADDRESS CHE VOGLIAMO USARE COME IDENTIFICATORE DI SOTTORETE. SERVE A RIDURRE IL TRAFFICO GLOBALE NELLA RETE ESEMPI 128.66.0.0 = RETE 128.66 DI CLASSE B 192.178.16.2 = HOST 2 DELLA RETE 192.178.16 DI CLASSE C 128.66.12.1 subnet 255.255.255.0 = HOST 1 DELLA SOTTORETE 128.66.12.0 TRANSPORT LAYER Si può scegliere di usare il protocollo UDP (user datagram protocol) oppure TCP (transmission control protocol). Si sceglie TCP se si vuole una trasmissione sicura, altrimenti si usa UDP che non effettua controlli ma è più semplice. Entrambi introducono il concetto di PORT ADDRESS che identifica il processo applicativo all’interno di un host. 6 Febbraio 2000 Prof. Domenico de Biase
TCP/IP UDP HEADER TCP HEADER 0 16 31 0 8 16 24 31 12 PORT SORGENTE PORT DESTINATARIO PORT SORGENTE PORT DESTINATARIO 12 3 4 5 6 LUNGHEZZA CHECKSUM SEQUENZA NUMERO DI ACKNOWLEDGEMENT La sicurezza in TCP è ottenuta col metodo PAR (Positive ack with retransmission) come l’ALOHA. OFFS. RES. FLAGS FINESTRA CHECKSUM URGENT POINTER OPZIONI RIEMPITIVO APPLICATION LAYER Contiene vari servizi (protocolli) ben conosciuti e continuamente aggiornati: FTP, TELNET, SMTP, RIP, DNS, NFS… …da imparare ad usare !! 6 Febbraio 2000 Prof. Domenico de Biase
STRUTTURA GERARCHICA DEI PROTOCOLLI (ESEMPIO GATEWAY) FTP TELNET SMTP RIP DNS NFS TCP EGP UDP IP INTERFACCIA DI LINEA COMMUTATA O DEDICATA ARP-CSMA/CD INTERFACCIA ETHERNET ETHERNET (LOCALE) ALTRE RETI 6 Febbraio 2000 Prof. Domenico de Biase
NOMI & INDIRIZZI DIRECTORY DOMAIN SUBDIRECTORY SUBDOMAIN Ad ogni indirizzo può essere associato un nome. Il nome non è obbligatorio, ma è facile da ricordare… Un nome assomiglia al path di un file, solo che invece di ‘\’ c’è il ‘.’ e al posto dei file ci sono gli host. LA STRUTTURA E’ GERARCHICA COME L’ORGANIZZAZIONE DELLE DIRECTORY. ROOT IT UK JP COM EDU GOV MIL NET ORG … DIRECTORY DOMAIN SUBDIRECTORY SUBDOMAIN ‘@’ SEPARA IL NOME UTENTE DAL NOME DELL’HOST ES: PIPPO@RISC9.BOLOGNA.ENEA.IT PLUTO@MICROSOFT.COM 6 Febbraio 2000 Prof. Domenico de Biase
TRADUZIONE DEI NOMI IN INDIRIZZI HOST TABLE Semplice e locale DOMAIN NAME SERVICE (DNS) HOST TABLE è un file di sistema che si chiama sempre “HOSTS” ed è fatto così: # # TABLE of IP addresses and host names 192.255.255.20 si8.mattei.itis.it si8 debiase 127.0.0.1 localhost 192.255.255.17 si5.mattei.itis.it si5 gianni … Ma non posso avere una tabella di tutti gli host del mondo su ogni computer !! DNS è una applicazione client-server di ricerca in un data base distribuito e gerarchico. Serve quando la rete è connessa a internet in modo permanente e gli indirizzi cambiano frequentemente. Resolver Name Server Linkato alla applicazione Primary Secondary Caching-only 6 Febbraio 2000 Prof. Domenico de Biase
ALTRE TABELLE DI SISTEMA SERVICES (PORT) # # Network services, Internet style # echo 7/UDP ftp 21/TCP telnet 23/TCP smtp 25/TCP mail # host – specific services rje 77/TCP finger 79/TCP # UNIX – specific services … NETWORKS # Network names loopback 127 itis 192.255.255 # ITIS “Mattei” 6 Febbraio 2000 Prof. Domenico de Biase
ALTRE TABELLE DI SISTEMA PROTOCOLS # # Internet protocols ip 0 IP # internet protocol, pseudo protocol number icmp 1 ICMP # internet control message protocol igmp 2 IGMP # internet group multicast protocol ggp 3 GGP # gateway – gateway protocol tcp 6 TCP … GATEWAYS # Network gateways net 0.0.0.0 gateway 192.255.254.5 metric 1 active net 192.11.255 gateway 192.255.259.3 metric 1 active 6 Febbraio 2000 Prof. Domenico de Biase
ESEMPIO DI INSTRADAMENTO PC3 PC1 G2 R1 192.255.255 G1 R2 192.255.254 PC2 X.25 PC5 G3 R3 192.255.253 PC6 PC4 La funzione di instradamento associa una RETE ad un GATEWAY. Il routing può essere: MINIMO: Vale per reti isolate anche con SUBNETTING (IFCONFIG, NETSTAT, PING). STATICO: Vale per reti con un limitato numero di GATEWAY e dove l’instradamento non ha bisogno di essere modificato spesso (ROUTE). DINAMICO: Non ci sono comandi ma vari ROUTING PROTOCOLS. Adatto dove ci sono più strade per arrivare alla stessa destinazione. NETSTAT e PING servono in generale per visualizzare e verificare la attuale configurazione dell’instradamento. DEFAULT ROUTING è l’instradamento di default. Per R1 e R3 è anche l’unico. La parola “default” può sostituire l’indirizzo di una rete nei comandi. 6 Febbraio 2000 Prof. Domenico de Biase
ROUTING PROTOCOLS INTERNI ESTERNI SONO QUELLI PER LE RETI AUTONOME. RIP E HELLO SONO TRA QUELLI PIU’ USATI. I CONCETTI INTRODOTTI DA QUESTI PROTOCOLLI SONO LO HOP (SALTO) E IL DELAY (RITARDO) CHE SERVONO AD INFLUENZARE LE DECISIONI DI ROUTING. ESTERNI SONO QUELLI PER SCAMBIARE INFORMAZIONI TRA LE RETI. BGP E EGP SONO 2 ESEMPI. Esiste un programma unico che raggruppa i protocolli RIP HELLO BGP EGP che si chiama GATED (la ‘D’ finale sta per “daemon”). Conviene imparare solo quello. 6 Febbraio 2000 Prof. Domenico de Biase