Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni

tcp-ip

Il documento descrive l'architettura di rete TCP/IP, sviluppata negli anni '70, che include protocolli come IP e TCP per la comunicazione tra reti eterogenee. Viene spiegata la struttura degli indirizzi IP, il concetto di subnetting e i protocolli di trasporto UDP e TCP, evidenziando le loro differenze e applicazioni. Infine, si menzionano i protocolli di routing e la gestione dei nomi tramite DNS.
Copyright
© © All Rights Reserved
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni

tcp-ip

Il documento descrive l'architettura di rete TCP/IP, sviluppata negli anni '70, che include protocolli come IP e TCP per la comunicazione tra reti eterogenee. Viene spiegata la struttura degli indirizzi IP, il concetto di subnetting e i protocolli di trasporto UDP e TCP, evidenziando le loro differenze e applicazioni. Infine, si menzionano i protocolli di routing e la gestione dei nomi tramite DNS.
Copyright
© © All Rights Reserved
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 30

L’architettura di rete

TCP/IP

www.vincenzocalabro.it 1
Cenni Storici

• Nella prima metà degli anni ‘70 la DARPA dimostra interesse e


finanzia l’Università di Stanford e la BBN (Bolt, Beraken e
Newman) per realizzare una rete:
– a commutazione di pacchetto;
– tra elaboratori eterogenei;
– per le istituzioni di ricerca degli USA.
• Verso la fine degli anni ‘70 si completa la realizzazione
dell’Internet Protocol Suite, di cui i due principali protocolli sono:
– IP: Internet Protocol;
– TCP: Transmission Control Protocol.
• Da cui il nome TCP/IP usato per questa architettura di rete.
• Nasce la rete Arpanet, prima rete della ricerca mondiale che
evolve e diventa Internet.
2

www.vincenzocalabro.it
L’architettura di rete TCP/IP

• Comprende anche molti altri protocolli,


quali:
– UDP (User Datagram Protocol);
– NFS (Network File System).
• È una architettura di dominio pubblico
realizzata da tutti i costruttori di
calcolatori.
• Molto spesso è l’unica architettura di rete
fornita.
• Standardizzata con dei documenti detti
RFC (Request For Comment).
3

www.vincenzocalabro.it
L’Architettura di rete TCP/IP
Application Telnet NFS
FTP
Presentation XDR
SMTP
Session SNMP RPC

Transport TCP e UDP

ICMP Protocolli
Network IP di routing
Arp e Rarp
Data Link
Non Specificati
Physical
OSI Internet Protocol Suite
4

www.vincenzocalabro.it
Sotto l’IP - I livelli 1 e 2

• L’architettura TCP/IP è concepita come un


mezzo per fare internetworking tra reti
(locali o geografiche).
• È in grado di operare su tutte le reti:
– Ethernet, token-ring, FDDI
– ATM, SMDS, Frame Relay
– X.25
– SLIP, PPP, Dialup
• Esistono realizzazioni di TCP/IP anche per
reti non standard.

www.vincenzocalabro.it
IP (Internet Protocol)

• È il livello Network di
0 4 8 16 19 24 31
TCP/IP. HLEN
Version Service Type Total Length
• Offre un servizio non
Identification Flags Fragment Offset
connesso offrendo un
semplice protocollo di Time To Live Protocol Header Checksum

tipo Datagram. Source IP Address


• Un protocollo datato ... Destination IP Address
ma non obsoleto.
Options PAD
• Si occupa di:
– instradare i messaggi;
– frammentare i messaggi;
– rilevare gli errori. 6

www.vincenzocalabro.it
Indirizzi IP

• Ampi 32 bit (4 byte).


• Si scrivono come 4 numeri decimali
separati dal carattere “.”.
• Ogni numero rappresenta il contenuto di
un byte ed è quindi compreso tra 0 e 255.
• Esempi:
– 131.190.0.2
– 1.1.2.17
– 200.70.27.33
• Esistono 5 classi di indirizzi IP.

www.vincenzocalabro.it
Indirizzi IP
Classe A
Network 7 bit (128 reti)
primo decimale dell’ indirizzzo tra 0 e 127
Host 24 bit (16M host)
0 1 7 8 31

0 Network Host
Classe B
Network 14 bit (16K reti)
primo decimale dell’indirizzzo tra 128 e 191
Host 16 bit (64K host)

0 1 2 15 16 31

10 Network Host
8

www.vincenzocalabro.it
Indirizzi IP
Classe C
Network 21 bit (2M reti)
primo decimale dell’indirizzzo tra 192 e 223
Host 8 bit (256 host)
0 1 2 3 23 24 31

110 Network Host


Classi D ed E

0 1 2 3 31

1110 Multicast Address


0 1 2 3 31

1 1 11 Reserved for Future Use 9

www.vincenzocalabro.it
Subnetting

• Il campo Host di un indirizzo di classe A, B e C


può essere diviso in due parti:
– subnet
– host
• L’ampiezza del campo subnet può essere
definito in base a un parametro detto netmask:
– bit a 1 in corrispondenza dei campi network e subnetwork;
– bit a 0 in corrispondenza del campo host.
• Esempio: si supponga di voler partizionare una
rete di classe B in 16 subnet da 4096 host:
– Netmask 11111111 11111111 11110000 00000000
– Netmask esadecimale ff ff f0 00
– Netmask decimale 255.255.240.0 10

www.vincenzocalabro.it
Subnetting

1 0

Network Host
Indirizzo di classe B prima del subnetting
Indirizzo di classe B dopo il subnetting

1 0

Network Subnet Host


11

www.vincenzocalabro.it
Subnetting

• IP assume una corrispondenza biunivoca tra reti


fisiche e subnet:
– routing implicito all’interno di una subnet;
– realizzazioni più moderne ammettono più subnet sulla stessa
rete fisica;
– mai più reti fisiche sulla stessa subnet.
• Il routing tra subnet diverse è esplicito:
– gestito dai router tramite tabelle di instrada-mento.
• All’interno della subnet l’instradamento deve
essere fornito dalla rete fisica.
• Corrispondenza tra gli indirizzi di subnet (indirizzi
IP) e gli indirizzi di livello 2 gestita da ARP. 12

www.vincenzocalabro.it
Subnetting

• Gli host devono conoscere almeno un router presente sulla


loro rete fisica.
• Il protocollo ICMP permette di ottimizzare dinamicamente il
routing.
• Ad esempio sull’host H4: route add default 190.3.1.5
• L’instradamento tra subnet diverse viene gestito da tabelle di
instradamento presenti sui router. Ad esempio:
– tabelle di instradamento del router R5;
– 3 subnet non raggiungibili direttamente.

Subnet di Destinazione Indirizzo del router


190.3.1.0 190.3.3.2
190.3.7.0 190.3.3.2
190.3.9.0 190.3.6.8
13

www.vincenzocalabro.it
Subnetting

Subnet di Destinazione Indirizzo del router


190.3.1.0 190.3.3.2
190.3.7.0 190.3.3.2
190.3.9.0 190.3.6.8
14

www.vincenzocalabro.it
ARP (Address Resolution Protocol)
& RARP (Reverse ARP)
Protocolli in broadcast di tipo sollicitation.
ARP
la stazione che vuole scoprire l’indirizzo MAC di un’altra
stazione, di cui conosce l’indirizzo di livello 3, invia la
richiesta in broadcast di tipo sollicitation;
la stazione sollecitata risponde.
RARP
usato da stazioni diskless per sapere il proprio indirizzo
IP;
la stazione che vuole scoprire il proprio indirizzo IP
conoscendo il proprio indirizzo MAC, invia la richiesta in
broadcast di tipo sollicitation;
una stazione sollecitata risponde.

15

www.vincenzocalabro.it
ICMP (Internet Control Message Protocol)

Verificare lo stato della rete Valore Tipo di Messaggio


Echo request ed Echo reply 0 Echo Reply
Riportare anomalie 3 Destination Unreachable
4 Source Quence
Destination Unreachable
5 Redirect
Time Exceeded for a Datagram 8 Echo Request
Parameter Problem on a Datagram11 Time Exceeded for a Datagram
Scoprire la netmask 12 Parameter Problem on a Datagram
13 Timestamp Request
Introdotto nelle ultime versioni 14 Timestamp Reply
Mask Request 15 Information Request
Address Mask Reply 16 Information Reply
Migliorare il routing 17 Address Mask Request
18 Address Mask Reply
Redirect

16

www.vincenzocalabro.it
Protocolli di Routing

Le reti sono raggruppate in Autonomous System cioè in gruppi di


reti controllate dalla stessa autorità.
I router si dividono in IR (Interior Router) e in ER (Exterior
Router).
Gli IR si scambiano informazioni di instradamento tramite dei IGP
(Interior Gateway Protocol):
RIP (Routing Information Protocol)
IGRP (Interior Gateway Routing Protocol)
OSPF (Open Shortest Path First)
Integrated IS-IS
Gli ER si scambiano informazioni di instradamento tramite dei
Exterior Gateway Protocol (EGP):
EGP (Exterior Gateway Protocol)
BGP (Border Gateway Protocol)
17

www.vincenzocalabro.it
Nomi e Indirizzi

Agli indirizzi IP si associano per


comodità uno o più nomi memorizzati
in un file “hosts”.
223.1.2.1 alpha
Il file hosts diviene impraticabile 223.1.2.2 beta
quando la rete IP cresce di 223.1.2.3 gamma
dimensione. 223.1.2.4 delta mycomputer
Si può utilizzare una base di dati 223.1.3.2 epsilon
223.1.4.2 iota
distribuita per la gestione dei nomi
DNS (Domain Name Server).
Non esiste corrispondenza tra domini e
vm.sede.cnr.it
reti.
Nomi di tipo gerarchico.
computer rete ente nazione
18

www.vincenzocalabro.it
I protocolli UDP e TCP

Due protocolli di trasporto alternativi.


Realizzano funzionalità comuni a tutti gli applicativi.
Possono operare simultaneamente con molti applicativi
diversi, tramite il concetto di porta.
Le porte sono il mezzo con cui un programma client su un
elaboratore indirizza un programma server su un altro
elaboratore:
ad esempio un ftp client che voglia connettersi ad un ftp server
lo specifica indicando l’indirizzo IP dell’elaboratore remoto e il
numero della porta associata allo ftp server.
Gli applicativi principali hanno una Well Known Port, ad
esempio:
Telnet è associato alla porta 23 di TCP;
SNMP è associato alla porta 161 di UDP.

19

www.vincenzocalabro.it
I protocolli UDP e TCP

0 4 8 16 19 24 31
UDP Source Port UDP Destination Port
UDP PDU Header
UDP Message Length UDP Checksum

0 4 8 16 19 24 31
Source Port Destination Port

Sequence Number

Acknowledgement Number
TCP PDU Header
Data
Offset Res Control Window

Checksum Urgent Pointer

Options Padding

20

www.vincenzocalabro.it
UDP (User Datagram Protocol)

Protocollo di trasporto di tipo non connesso.


Aggiunge due funzionalità a quelle di IP:
multiplexing delle informazioni tra le varie applicazioni tramite il
concetto di porta;
checksum (opzionale) per verificare l’integrità dei dati.
Utile quando:
si opera su rete locale;
l’applicazione mette tutti i dati in un singolo pacchetto;
non è importante che tutti i pacchetti arrivino a destinazione;
l’applicazione gestisce meccanismi di ritrasmissione.
Le applicazioni principali che utilizzano UDP sono:
NFS (Network File System);
SNMP (Simple Network Management Protocol);
Applicazioni Runix (rwho, ruptime, ...).

21

www.vincenzocalabro.it
TCP (Transmission Control Protocol)

Un protocollo di trasporto connesso.


Utilizzato da applicativi che richiedono la trasmissione affidabile
dell’informazione:
telnet
ftp (file transfer protocol)
smtp (simple mail transfer protocol)
rcp (remote copy)
TCP garantisce la consegna del pacchetto, UDP no!
Il TCP di un nodo, quando deve comunicare con il TCP di un altro
nodo, crea un circuito virtuale.
Al circuito virtuale è associato un protocollo di trasporto:
full-duplex;
acknowledge;
controllo di flusso.

22

www.vincenzocalabro.it
TCP (Transmission Control Protocol)

TCP richiede più banda e più CPU di UDP.


TCP segmenta e riassembla i dati secondo le sue necessità:
non garantisce nessuna relazione tra il numero di read e quello di write
Il TCP remoto deve fornire un acknowledge dei dati, normalmente
tramite piggybacking.
Protocollo con sliding window, timeout e ritrasmissione.
I protocolli a sliding window richiedono di fissare la dimensione
della finestra.
In TCP la dimensione della finestra è in byte, non in segmenti.
Il campo “window” del pacchetto TCP indica quanti byte possono
ancora essere trasmessi prima di un ACK.

23

www.vincenzocalabro.it
TCP (Transmission Control Protocol)

Larghezza della finestra


del ricevente
Finestra usabile

1 2 3 4 5 6 7 8 9 10 11 ...
inviati e ACK inviabili

inviati ma non ACK non inviabili


24

www.vincenzocalabro.it
TCP (Transmission Control Protocol)

Le prime versioni di TCP quando andavano in timeout


ritrasmettevano l’intera window.
Questo poteva causare gravi congestioni della rete:
Nell’ottobre 1986 Arpanet fu bloccata da una congestione
(da 32 kbs a 40 bps).
Per evitare le congestioni venne introdotto l’algoritmo
slow-start:
Quando si verifica un timeout la window viene
reinizializzata al valore minimo e fatta crescere
lentamente, per evitare nuove congestioni.
Il campo “Urgent Pointer” indica che nel pacchetto ci
sono uno o più byte urgenti.
Tipicamente associati ad eventi asincroni (interrupt).

25

www.vincenzocalabro.it
RPC (Remote Procedure Call)

Sviluppato da SUN Microsystem.


È un paradigma di programmazione distribuita di tipo
client-server:
un programma (client) genera una richiesta e un programma
(server) gli risponde.
Imita la chiamata di una procedura locale.
Il processo client su una macchina chiama una procedura
che è realizzata da un processo server su un’altra
macchina, passandogli dei parametri.
Il processo server è “dormiente” in attesa di chiamate:
viene risvegliato
esegue la procedura richiesta
ritorna il risultato al client Client Server
risposta
26

www.vincenzocalabro.it
RPC (Remote Procedure Call)

Non vengono fatte ipotesi sul modello di concorrenza, client e


server possono operare, ad esempio, in modo sincrono o
asincrono.
Rispetto alle chiamate a procedure locali RPC si differenzia per:
Gestione degli errori.
Variabili Globali e “side effect”.
Prestazioni.
Meccanismi di autenticazione.
RPC è indipendente dal protocollo di trasporto: può appoggiarsi
su TCP, UDP e altri protocolli.
RPC non aggiunge affidabilità.
L’applicativo deve essere a conoscenza di quale protocollo di
trasporto è utilizzato sotto RPC.

27

www.vincenzocalabro.it
XDR: eXternal Data
Representation
È uno standard per la descrizione e la
codifica dei dati.
Dati con identica semantica possono
essere rappresentati su elaboratori diversi
con formati diversi.
XDR permette di descrivere formati di dati
molto complessi in modo conciso e non
ambiguo.

28

www.vincenzocalabro.it
INTERNET
rete mondiale: è una rete di reti
milioni di nodi.
crescita di circa 80% all’anno.
protocolli TCP/IP.

29

www.vincenzocalabro.it
Applicativi

A UDP/TCP si appoggiano i seguenti applicativi:


telnet per l’accesso a calcolatore remoto;
ftp per l’accesso a file remoto;
e-mail per la posta elettronica;
Usenet News;
Sistemi Informativi concentrati:
Archie
Wais
sistemi informativi distribuiti:
X500
Gopher
WWW
X-Window
NFS (Network File System)
NTP (Network Time Protocol)
SNMP (Simple Network Management Protocol)

30

www.vincenzocalabro.it

Potrebbero piacerti anche