TCP/IP Transmission Control Protocol Internet Protocol 6 Febbraio 2000 Prof. Domenico de Biase 1 TCP/IP TCP/IP Assomiglia a OSI però è un protocollo reale ed è diviso in 4 livelli anziché 7 1. NETWORK ACCESS LAYER PROCEDURE DI ACCESSO ALLA RETE FISICA (ETHERNET – ALOHA) LIVELLI CORRISPONDENTI OSI: 1,2 2. INTERNET LAYER DEFINISCE IL FORMATO DEL DATAGRAM E GESTISCE L’INSTRADAMENTO (OSI: 3) 3. HOST TO HOST TRANSPORT LAYER FORNISCE IL SERVIZIO DI CONSEGNA END-TO-END (OSI: 4) 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 2 TCP/IP VALE IL CONCETTO DELL’INCAPSULAMENTO: DATI APPLICATION TRANSPORT INTERNET NETWORK ACCESS SEND 6 Febbraio 2000 H H DATI H H DATI H H DATI RECEIVE Prof. Domenico de Biase 3 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 1 2 3 4 5 6 4 VER 8 IHL 12 20 TIPO DI SERVIZIO IDENTIFICAZIONE TEMPO DI VITA 16 24 28 31 LUNGHEZZA TOTALE FLAGS OFFSET FRAMMENTAZIONE PROTOCOLLO HEADER CHECKSUM INDIRIZZO SORGENTE INDIRIZZO DESTINATARIO OPZIONI RIEMPITIVO I DATI COMINCIANO DA QUI 6 Febbraio 2000 Prof. Domenico de Biase 4 TCP/IP 32 BIT DI INDIRIZZO = 4.294.967.296 !!! Ma non sono tutti HOST (purtroppo) 0 N H H H Classe A N N H H Classe B N N N H Classe C 10 110 111 Riservato INDIRIZZI RISERVATI CLASSE A:N = 0 TUTTI: 6 Febbraio 2000 – DEFAULT ROUTE (SEMPLIFICA L’INSTRADAMENTO) N = 127 – LOOPBACK ADDRESS (DEBUG E CONFIGURAZIONE) H=0 - E’ L’INDIRIZZO DELLA RETE H = 255 – BROADCAST DI RETE Prof. Domenico de Biase 5 TCP/IP SUBNET MASK 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 192.178.16.2 128.66.12.1 subnet 255.255.255.0 = RETE 128.66 DI CLASSE B = HOST 2 DELLA RETE 192.178.16 DI CLASSE C = 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 6 TCP/IP UDP HEADER 0 1 2 PORT SORGENTE LUNGHEZZA 16 TCP HEADER 31 PORT DESTINATARIO CHECKSUM La sicurezza in TCP è ottenuta col metodo PAR (Positive ack with retransmission) come l’ALOHA. 0 1 2 3 4 5 6 8 16 PORT SORGENTE 24 31 PORT DESTINATARIO SEQUENZA NUMERO DI ACKNOWLEDGEMENT OFFS. RES. FLAGS CHECKSUM OPZIONI FINESTRA URGENT POINTER 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 7 STRUTTURA GERARCHICA DEI PROTOCOLLI (ESEMPIO GATEWAY) FTP TELNET TCP SMTP RIP DNS EGP NFS UDP IP INTERFACCIA DI LINEA COMMUTATA O DEDICATA ARP-CSMA/CD INTERFACCIA ETHERNET ETHERNET (LOCALE) ALTRE RETI 6 Febbraio 2000 Prof. Domenico de Biase 8 NOMI & INDIRIZZI 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 DIRECTORY SUBDIRECTORY ES: [email protected] [email protected] 6 Febbraio 2000 GOV MIL NET ORG … DOMAIN SUBDOMAIN ‘@’ SEPARA IL NOME UTENTE DAL NOME DELL’HOST Prof. Domenico de Biase 9 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 127.0.0.1 localhost 192.255.255.17 si5.mattei.itis.it … si8 debiase si5 gianni Ma non posso avere una tabella di tutti gli host del mondo su ogni computer !! Resolver Linkato alla applicazione 6 Febbraio 2000 Name Server •Primary •Secondary •Caching-only 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. Prof. Domenico de Biase 10 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 … 6 Febbraio 2000 # ITIS “Mattei” Prof. Domenico de Biase 11 ALTRE TABELLE DI SISTEMA PROTOCOLS # # Internet protocols # ip 0 icmp 1 igmp 2 ggp 3 tcp 6 … IP ICMP IGMP GGP TCP # internet protocol, pseudo protocol number # internet control message protocol # internet group multicast protocol # gateway – gateway protocol GATEWAYS # # Network gateways # net 0.0.0.0 gateway net 192.11.255 gateway … 6 Febbraio 2000 192.255.254.5 192.255.259.3 Prof. Domenico de Biase metric metric 1 1 active active 12 ESEMPIO DI INSTRADAMENTO PC3 PC1 G2 R1 192.255.255 PC2 G1 PC5 PC6 R2 192.255.254 X.25 G3 R3 192.255.253 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 13 ROUTING PROTOCOLS INTERNI 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 14