Livelli

Transcript

Livelli
Tecnologie
dell'Informazione
e della Comunicazione
I protocolli di rete
INTERNETWORKING
Prof. Mauro Gaspari
La comunicazione in rete è basata
sul concetto di Standard
Definizione: uno standard di rete è costituito da un
insieme di regole e convenzioni che specificano come
avviene la comunicazione tra due o più elementi
hardware o processi software eseguiti su macchine
diverse.
Messaggio
Client PC
Messaggio
Messaggio
Server
Tipicamente gli standard si focalizzano su i diversi aspetti
della comunicazione sia hardware che software:
•Standard di trasmissione sui collegamenti
hardware: ad esempio ethernet, Token-ring, DQDB.
•Protocolli software: ad esempio TCP/IP.
Perché sono necessari
gli standard?




Molti venditori e fornitori componenti di reti.
Importante raggiungere un accordo.
La definizione di standard permette la comunicazione tra calcolatori progettati con criteri diversi.
Incrementa il mercato dei prodotti che aderiscono ad un certo standard.
Diverse tipologie di
Standard


Standard de facto: si sono imposti senza nessun tipo di pianificazione, per motivi tecnici.

UNIX

TCP/IP
Standard de jure: standard imposti da autorità internazionali e progettati da organizzazioni per promuovere la standardizzazione:

IEEE (Institute of Electrical and Electronics Engineers)

ISO (International Standard Organization)

ANSI (American National Standards Institute)
Punto importante:
La comunicazione è basata su diversi
livelli
Client PC
Messaggi
o
Server
Il concetto di Protocollo

I vari livelli vengono descritti da protocolli.

Un protocollo di rete specifica:



Formato dei messaggi che vengono scambiati (struttura e sintassi);
Sequenze di messaggi, ovvero regole precise che indicano le modalità di interazione – ad esempio una risposta segue sempre una richiesta;
Semantica dei messaggi: Il significato dei valori nei diversi campi. Esempio di organizzazione a
livelli
The philosopher­translator­secretary architecture.
Relazione tra protocollo
e servizio
•
In un' architettura a livelli un protocollo fornisce servizi al livello superiore e utilizza servizi del livello inferiore.
Organizzazione a livelli
dei Protocolli di rete
Livelli, protocolli e interfacce.
Un esempio Comunicazione di messaggi in
TCP/IP
livello
applicazione
HTTP Msg
Livello
trasporto
Livello
Data-link
Livello
fisico
Client PC
Livello
trasporto
TCP Msg
Livello
internet
Livello
internet
Livello
internet
Livello
Data-link
Livello
Data-link
Livello
Data-link
Livello
fisico
Livello
fisico
Livello
fisico
Router
Server
Pacchetto IP
Ethernet
Frame
livello
applicazione
Ethernet Switch
Un esempio Comunicazione di messaggi in
TCP/IP: Livello applicazione
livello
applicazione
HTTP Msg
Programma
Applicativo
Su webserver
Browser
Client PC
livello
applicazione
Ethernet Switch
Router
Server
Scopo del livello
applicazione




Lo scopo del livello applicazione è quello che permette di far comunicare tra loro due programmi applicativi eseguiti su host diversi. Quando un browser manda una richiesta a un webserver, lo standard per la comunicazione è un protocollo denominato Hypertext Transfer Protocol (HTTP). Per questo motivo gli URL dei siti cominciano con HTTP://. Altri tipi di applicazioni utilizzano standard diversi basati su altri tipi di protocolli a livello applicazione.
Vedremo nel dettaglio alcuni tipi di applicazioni.
Scambio di messaggi con TCP/IP
Livello trasporto
Riguarda la comunicazione tra host Host-to-Host
HTTP funziona se viene usato TCP
Al livello di trasporto
Livello
trasporto
Client PC
Livello
trasporto
TCP Msg
Ethernet Switch
Router
Server
Scopo del livello di
trasporto



Lo scopo del livello di trasporto è quello di permettere la comunicazione tra due host anche se si tratta di calcolatori di tipo diverso, ad esempio PC o un workstation server.
Se si utilizza HTTP al livello applicazione, è necessario utilizzare un Transmission Control Protocol (TCP) al livello di trasporto. Altre applicazioni possono richiedere standard diversi a livello di trasporto. Trasmissione ai livelli fisico data
link e internet
Route
rete Y
Rete X
Switches
rete Y
Rete Z
Switches
Routers
Comunicazione TCP/IP:
il livello IP
Comunicazione Hop-by-Hop attraverso internet
Host-Router-Router-…Router-Host
Livello
internet
Client PC
Pacchetto IP
Livello
internet
Livello
internet
Ethernet Switch
Router
Server
Il livello internet


Lo scopo di questo livello è quello di instradare i pacchetti dal host sorgente all’host destinazione attraverso diverse sottoreti connesse da router.
TCP necessita dell’utilizzo di Internet Protocol (IP) al livello internet. Scambio di messaggi con TCP/IP
Il livello Data LINK
Trasmissione di tipo Hop-by-Hop attraverso una rete
Station-Switch-Switch-…-Switch-Station
Livello
Data Link
Livello
Fisico
Eth
Frame
Livello
Data Link
Livello
Data Link
Livello
Data Link
Livello
Fisico
Livello
Fisico
Livello
Fisico
Propagazione attraverso un singolo cavo, Fibra ottica, o connessione radio
Client PC
Ethernet Switch
Router
Server
Trasmissione ai livelli fisico data
link e internet
Data Link
rete X
Switches
rete Y
rete Z
Routers
Switches
NB: Ci sono 3 Data Links. Uno per ciascuna rete attraversata
Il livello Data Link


Lo scopo del livello data link layer è di gestire il movimento dei messaggi da un host sorgente a un host destinazione oppure a un router attraverso un unica rete che contiene switches. Ad esempio se un host è situato in una LAN di tipo Ethernet viene utilizzato uno standard di livello data link di tipo Ethernet.
Trasmissione ai livelli fisico data
link e internet
Rete X
Link fisici
Switches
Rete Y
Rete Z
Switches
NB: Nell’esempio ci sono 7 Links fisici
Routers
Scopo del livello fisico


Lo scopo del livello fisico è quello di controllare la trasmissione di bit utilizzando cavi, onde radio o altre connessioni tra un host e uno switch, oppure tra coppie di switch, oppure tra uno svitch e un router. Ad esempio, se un host è in una LAN di tipo Ethernet, si utilizza uno standard di trasmissione legato al livello fisico di Ethernet. Scopo del livello fisico
Connettori
Mezzi di
trasmissione
Diversi livelli di voltaggio
Per rappresentare 0 e 1
Diversi protocolli usati
in due esempi
Livelli
Esempio 1: Accesso a
Internet da una LAN
Esempio 2: Scaricare
E-Mail su internet da linea
Telefonica con un modem
Applicazione
HTTP
POP
Trasporto
TCP
TCP
Internet
IP
IP
Data Link
Ethernet
PPP (Point-to-Point Protocol)
Fisico
Ethernet
Modem (V.92)
Confronto tra I livelli fisico, data
link, internet
Livello
Fisico
Data Link
Formato
messaggi
Nessuno trasmissione Frame
: Bit-by-Bit
Internet
Pacchetti
Dispositivi
Di connessione Repeater (Hub)
Switch
Router
Livello dei
Dispositivi*
2
3
1
*I dispositivi si possono caratterizzare con il livello massimo a cui operano,
possono operate anche ai livelli più bassi.
Confronto tra I livelli fisico, data
link, internet
Livello
Convenzione
sul formato
Fisico
Nessuna
Data Link
Gli Switches
convertono il formato
tra diverse
connessioni a
livello fisico
su porte diverse
Fibra Ottica
UTP
Client PC
Internet
Switch
Server
Confronto tra I livelli fisico, data
link, internet
Livello
Convenzioni
sul formato
Fisico
Data Link
I router convertono
I dati quando si
passa tra reti
diverse—
Caratterizzate da
diversi data link e
diversi livelli fisici
Nessuna
Rete
Ethernet
Rete
ATM
Router
Internet
Regola: tutti gli switch di una rete e tutti i router
in una internet devono seguire lo stesso standard
Rete 1 (Ethernet)
Ethernet Switch
Rete 2
Ethernet Switch
Router (IP)
Client PC
Ethernet Switch
Rete 3 (ATM)
Router (IP)
Server
ATM Switch
ATM Switch
Architetture: TCP/IP, OSI, e
ibride TCP/IP-OSI
TCP/IP
OSI
Applicazione
Hybrid TCP/IP-OSI
Applicazione
Presentazione
Sessione
Applicazione
Trasporto
Trasporto
Transport
Internet
Rete
Internet
Utiulizzo di Standards Data Link
OSI
Fisico
Data Link
Fisico
Architetture: TCP/IP,
OSI, e ibride TCP/IP-OSI




L’architettura ibrida TCP/IP­OSI è utilizzata su internet e sulla maggior parte delle reti aziendali.
Le agenzie che hanno curato lo standard OSI sono la ISO e la ITU­T (International Telecommunication Union – Telecommunication Standard Sector).
L’agenzia di standards che ha curato TCP/IP è la IETF (Internet Engineering Task Force). La maggior parte dei documenti IETF sono chiamati RFC (Requests For Comments).
Alcune tra le RFC—ma non tutte—sono dei protocolli standard di Internet.
NB


La configurazione più comune per gli standard di rete è quella di utilizzare gli standard OSI a livello fisico e data link e lo standard TCP/IP ai livelli internet, trasporto, e applicazione.
È molto importante tenere presente che questa architettura ibrida basata su TCP/IP –
OSI è quella di internet. Livello sessione di OSI
App 1 App 2
Il livello sessione (Livello 5)
Gestisce serie di transazioni
Tra applicazioni
Su una connessione di trasporto
App 3 App 4
Livello di Trasporto
Rete o Internet
Server
Client PC
Analisi del livello
sessione OSI

OSI



TCP/IP


Molto utile per applicazioni che necessitano di gestire scambi di messaggi intensivi e frequenti.
Comunque solo popche applicazioni necessitano di questa caratteristica.
Le applicazioni devono farsi carico di gestire lo scambio dei messaggi.
L’architettura non fornisce un supporto generale per le sessioni.
Livello presentazione di
OSI
App 2
Sintassi Interna A
Livello presentazione
(Sintassi di trasferimento C)
App 3
Sintassi Interna B
Il livello di presentazione gestisce
la sintassi dei messaggi
Gli Host possono utilizzare diverse rappresentazioni per I dati, etc.
Il livello presentazione permette di comunicare accordandosi
Su una sintassi comune per il trasferimento
Analisi del livello
presentazione di OSI

OSI


TCP/IP


Molto utile perché tratta formati dei dati differenti tra loro. Libera le applicazioni dal compito di trattare differenze di formattazione dei dati
Ogni applicazione deve gestirsi le differenze in rappresentazione da sola.
Alcuni standard per codificare messaggi come MIME aiutano il ricevente a scoprire il tipo di file o dato contenuto in un messaggio. Altre Architetture
Standard

IPX/SPX


NetBEUI


LAN piccole con vecchi server Microsoft
SNA


Novell NetWare file servers
Mainframe computers
AppleTalk

AppleTalk
Utilizzare pacchetti di
architetture diverse

Tutte le architetture dei protocolli hanno pacchetti che possono essere trasportati su frame. I Frame non sanno che tipo di pacchetti contengono e quindi diverse architetture di protocolli si possono mescolare in una singola rete.
IP Packet
IPX Packet
Un Ethernet Frame in una rete Ethernet
Architettura altri
Standard
TCP/IP
IPX/SPX
Applicazione
NetBEUI
vari
NetBIOS
SPX
NetBEUI
NCP
Trasporto
Internet
IPX
Manca il liv. Internet
Usa gli
Standards OSI
Usa gli
Standards OSI
Usa gli
Standards OSI
Architettura di altri
standard
TCP/IP
Applicazione
OSI
SNA
Applicazione
Manca il livello
applicazione**
Presentazione
Servizi
Network
Addressable
Unit (NAU)***
Sessione
Utilizza livelli
OSI ma propietari
Per i protocolli
ai livelli sopra
quello fisico
Controllo Data Flow
e data link
Controllo di
trasmissione
Trasporto
Trasporto
Internet
Rete
Controllo di cammini
Usa gli
Standards OSI
Data Link
Usa gli
Standards OSI
Fisico
AppleTalk
Usa gli
Standards OSI
NB

Anche se il corso si focalizza sullo standard OSI per I bassi livelli del protocollo e su TCP/IP per I livelli più alti perché si tratta della soluzione più comune, molte organizzazioni utilizzano standard diversi ai livelli più alti (TCP/IP, IPX/SPX, SNA, AppleTalk, Net BEUI, etc).
Livelli alti: TCP/IP
Il più frequente ma non l’unico
oppure
IPX/SPX
Livello fisico e Data Link: OSI
Praticamente sempre
oppure:
SNA
Alcuni Dettagli sulla Comunicazione
verticale tra i livelli in un host
ed internetworking
Livello Internet
Livello Data Link
Livello Fisico
Comunicazione verticale nell’host
che spedisce il messaggio
gestore
Livello Internet
gestore
livello Data Link
Pacchetto IP
DL-T
IP Packet IP
Pacchetto
gestore
Livello Fisico
Host A
DL-H
Comunicazione verticale nell’host
che spedisce il messaggio


Azioni al livello internet

Si crea un pacchetto IP

Si passa il pacchetto al livello data link
Azioni al livello data link



Si crea un nuovo frame
Incapsula il pacchetto IP nel campo dati del frame aggiungendo un header e in alcuni casi un trailer
Passa il frame al livello fisico
Incapsulamento

L’incapsulamento si ottiene quando si mette un pacchetto nel campo dati di un frame. Trailer
A livello
Data Link
Pacchetto IP nel
Campo dati del frame
Frame
Header
A livello
Data Link
Struttura pacchetti IP
(IPv4)
Bit 0
La figura mostra l’organizzazione dei 32 Bit di ciascuna linea
Versione Lunghezza
header
(4 bits) (4 bits)
Lunghezza totale
(16 bits)
Diff-Serv
(8 bits)
Flags
(3 bits)
Identificazione (16 bits)
Time to Live
(8 bits)
Bit 31
Protocollo (8 bits)
1=ICMP, 6=TCP,
17=UDP
Fragment Offset
(13 bits)
Header Checksum (16 bits)
Struttura pacchetti IP
(IPv4)
Indirizzo IP di chi spedisce il pacchetto (32 bits)
Indirizzo IP del destinatario (32 bits)
Opzioni (if any)
Padding
Data Field (dozens, hundreds, or thousands of bits)
Pacchetti IPv6
Bit 0
Version
Value
is 6
(0110)
IP Version 6 Packet
Diff-Serv
(8 bits)
Flow Label (20 bits)
Marks a packet as part of a specific flow
The IETF has defined a new version of IP.
This is Internet Protocol Version 6 (IPv6).
Payload LengthThe Version field
Nextvalue
Header
Hop Limit
is 6 (0110).
(16 bits)
(8 bits)
(8 bits)
Source IP Address (128 bits)
Destination IP Address (128 bits)
Next Header or Payload (Data Field)
Bit 31
Pacchetti IPv6

Versione: ha valore 6 (0110)

Hop Limit: Come TTL in IPv4

Next Header


Campi indirizzo



Come Protocol in v4 ma identifica anche option headers
Ciascuno di 128 bits
Permette di includere un numero quasi infinito di indirizzi IP
Una delle maggiori motivazioni alla base di IPv6
Comunicazione verticale sull' host
a cui è destinato il messaggio
(Host B)
gestone
Livello Internet
Pacchetto IP
DL-T
IP Packet
Packet
IP
DL-H
gestore
livello Data Link
gestore
Livello Fisico
Host B
Comunicazione verticale sul host
a cui è destinato il messaggio
(Host B)

Azioni del processo a livello fisico



Azioni del processo a livello Data Link

Converte segnali in bit di un Frame
Passa il Frame al processo che gestisce il data link
Controlla l’ header e il trailer (se esiste) del Frame

Estrae il pacchetto IP dal Frame

Passa il pacchetto al livello internet
Comunicazione verticale su uno Switch X1
A
Frame
Switch X1
Processo a livello data link
B
Frame
Porta 1 Porta 2 Porta 3 Porta 4
Fisico Fisico Fisico Fisico
Host A
Switch X2
1 2 3 4
Comunicazione verticale su un Router R1
Pacchetto IP
DL-T
IP Packet IP
Pacchetto
Livello internet
Porta Porta 2 Porta 3 Porta 4
1 DL
DL
DL
DL
DL-H
Fisico Fisico Fisico Fisico
Router R1
Switch X2
Il router R1 riceve frame dallo Switch X2 nella Porta 1.
Porta 1 al livello DL si estrae il pacchetto.
Porta 1 il pacchetto DL viene passato al livello internet.
Comunicazione verticale su un Router R1
Pacchetto IP
Livello internet
Porta 1 Porta 2 Porta 3 Porta4
DL
DL
DL
DL
DL-T
IP Packet IP
Pacchetto
Fisico Fisico Fisico Fisico
Router R1
Router 2
Il livello Internet manda pacchetti in out sulla Porta 4.
Il livello DL sulla Porta 4 incapsula i pacchetti in un frame.
Il livello DL passa il frame sulla Porta 4 al livello fisico
Il livello fisico spedisce I bit come segnali al Router 2
DL-H
Dettagli dell'attivita' sui
Frame in un Router
Programma a livello internet
(Decisioni di instradamento)
2.
PPP
IP
PPP
T Packet H
Programma
A liv. Data Link
Programma
A liv. Data Link
1.
Interfaccia 2
Serial Port Interfaccia 1
(uscita)
Modem
(ingresso)
Livello
Telephone
Livello
fisico
Line
fisico
Primo
PPP
User PC
Router
Standard fisici
E Data Link
Non conosciuti
Secondo
Router
Un Frame che arriva a un
Router
IP
Packet
3.
Programma a livello internet
(Decisioni di instradamento)
2.
PPP
IP
PPP
T Packet H
Programma
A liv. Data Link
Programma
A liv. Data Link
1.
Serial Port Interfaccia 1
Modem
(ingresso)
Telephone
Livello
Line
fisico
PPP
User PC
Interfaccia 2
(uscita)
Livello
fisico
Primo
Router
Standard fisici
E Data Link
Non conosciuti
Secondo
Router
Decisioni di Routing
(instradamento)
Un pacchetto arriva su
una porta
Destination Host
Su quale porta deve
rispedire il pacchetto il
router?
Router F
Tabella di
Routing
Ethernet LAN
Incoming Packet
Router E
Router G
Frame Relay Network
Telephone
Connection
Token-Ring
LAN
Router H
Router I
Una decisione di
routing
L’host destinazione puo’
essere in una delle reti
collegate al router. Il
Router spedisce il
pacchetto in quella rete
Destination Host
Router F
Tabella di
Routing
Ethernet LAN
Router G
Router E
Frame Relay Network
Telephone
System
Token-Ring
LAN
Router I
Router H
Una decisione di
routing
Se l’host destinazione
non e’ in una
sottorete, il router
deve selezionare il
migliore next-hop
router (NHR)
Router F
Ethernet LAN
Tabella di
Routing
Telephone
System
Router G
?
Router E
?
Frame Relay Network
?
Token-Ring
?
LAN
Router I
Router H
Una decisione di
routing
Nell’esempio, il router
seleziona il NHR G sulla
rete Frame Relay come
MIGLIORE NHR, e
spedisce il pacchetto al
Router G.
Destination Host
Router F
Tabella di
Routing
Ethernet LAN
Router G
Router E
Telephone
System
Frame Relay Network
Token-Ring
LAN
Router I
Router H
Una decisione di routing
Una sottorete puo’ avere
piu’ NHR
Non e’ abbastanza
specificare una porta di
una sottorete; bisogna
anche specificare il NHR
Router F
Tabella di
Routing
Ethernet LAN
Router G
Router E
Frame Relay Network
Telephone
System
Token-Ring
LAN
Router I
Router H
Inviare il Frame back-out
Programma a livello internet
(Decisioni di instradamento
4.
IP
Packet
5.
Programma
A liv. Data Link
Programma
A liv. Data Link
DL
IP
DL
T Packet H
6.
Serial
Porta 1
Port (Incoming)
Modem Physical
Telephone Layer
First
User PC Line PPP
Router
Porta 2
(Outgoing)
Physical
Layer
Next-Hop
Router
Conversione di formati
Programma a livello internet
(Decisioni di instradamento
PPP
IP
PPP
T Packet H
User PC
Programma
Programma
A liv. Data Link A liv. Data Link
Serial
Port
Modem
Telephone
Line PPP
First
Router
DL
IP
DL
T Packet H
Unknown
Physical
and
Data Link
Standards
Second
Router
Indirizzamento basato
su indirizzi IP gerarchici
Network Part (non sempre 16 bits)
Subnet Part (non sempre 8 bits)
Host Part (non sempre 8 bits)
Il Totale e’ sempre 32 bits.
128.171.17.13
The Internet
UH Network (128.171)
CBA Subnet (17)
Host 13
126.171.17.13
Standards per I livelli di
applicazione
App 1 App 2
Livello applicazione
App 3 App 4
Rete o Internet
Client PC
NB:
Server
Gli standard a livello applicativo permettono di
eseguire le tipiche applicazioni di rete utilizzando
regole condivise da tutti.
Ad esempio: la posta elettronica, il Web.
Si analizzeranno nelle
prossime lezioni alcuni di
questi protocolli applicativi.
Livello applicazione
User Applications
5 Application
HTTP
4 Transport
SMTP
Many
Others
TCP
Supervisory Applications
DNS
Routing Many
Protocols Others
UDP
A livello applicazione
ci sono ICMP
3 Internet
IP
ARP
applicazioni utente e applicazioni di supervisione.
2 Data Link
None: Use OSI Standards
1 Physical
None: Use OSI Standards
Standards per I livelli di
trasporto
App 1 App 2
App 3 App 4
Livelli di trasporto
Rete o internet
Client PC
NB:
Server
Gli standard a livello di trasporto possono connettere
computer di tipo diverso;
In genere gli standard a livello di trasporto sono affidabili
e correggono eventuali errori.
Livello di trasporto
User Applications
5 Application
HTTP
4 Transport
3 Internet
2 Data Link
1 Physical
SMTP
Many
Others
TCP
Supervisory Applications
DNS
Routing Many
Protocols Others
UDP
IP
ICMP
None: Use OSI Standards
L'Internetworking riguarda i livelli
internet
e di
trasporto.
None:
Use
OSIaStandards
Ci sono solo pochi standards
questi livelli.
ARP
Tipologie di Servizi di
trasporto

Con connessione – garanzie ­ TCP

Senza connessione – velocità ­ UDP
TCP e UDP
Layer
Protocol
ConnectionOriented?
Reliable? Lightweight or
Heavyweight?
4 (Transport)
TCP
Yes
Yes
Heavyweight
4 (Transport)
UDP
No
No
Lightweight
3 (Internet)
IP
No
No
Lightweight
Esempio di primitive a
livello di trasporto
•
Cinque primitive standard per realizzare servizi con connessione.
Esempi di primitive a livello
di trasporto
•
Pacchetti spediti in una semplice interazione cliente servente a livello di trasporto in una rete orientata alle connessioni.
Spezzettamento dei messaggi
a livello di trasporto
Segmento TCP
Bit 0
Bit 31
Source Port Number (16 bits)
Destination Port Number (16 bits)
Sequence Number (32 bits)
First octet in data field
Acknowledgment Number (32 bits)
Last octet plus one in data field of TCP segment being acknowledged
Header Length Reserved Flag Fields
(4 bits)
(6 bits)
(6 bits)
Window Size
(16 bits)
TCP Checksum (16 bits)
Urgent Pointer (16 bits)
Options (if any)
Padding
Data Field
Flag fields are one-bit fields. They include SYN, ACK, FIN and RST.
Transmission Control Protocol
(TCP)
PC
Transport Process
Webserver
Transport Process
1. SYN (Open)
Open
2. SYN, ACK (1) (Acknowledgement of 1)
3. ACK (2)
3-Way Open
TCP e’ un protocollo basato su connessioni
(Connection-Oriented Protocol)
Transmission Control Protocol (TCP)
I dati vengono trasferiti solo dopo aver
stabilito la connessione
PC
Webserver
Transport Process
Transport Process
1. SYN (Open)
Open
2. SYN, ACK (1) (Acknowledgement of 1)
(3)
3. ACK (2)
Carry
HTTP
Req &
Resp
(4)
4. Data = HTTP Request
5. ACK (4)
6. Data = HTTP Response
7. ACK (6)
Transmission Control Protocol
(TCP)

Acknowledgements




Viene segnalata la ricezione di ciascun segmento TCP inviato (ack ­ acknowledged), ad eccezione dei messaggi spediti per scopi di acknowledgement e reset (later)
Il processo che spedisce deve ascoltare per verificare che tutti i segmenti TCP sono stati ricevuti (acknowledged)
Se un certo segmento non e’ acknowledged in un tempo ragionevole, il mittente lo rispedisce
TCP e’ affidabile (reliable protocol)
TCP e’ Reliable

E’ meglio fare la correzione degli errori una sola volta alla sorgente e alla destinazione piuttosto che ad ogni passo.
X
X
Transmission Control Protocol (TCP)
PC
Transport Process
Webserver
Transport Process
12. FIN (Close)
Close
(4)
13. ACK (12)
14. FIN
15. ACK (14)
4-Way Close
Normale operazione di chiusura
Transmission Control Protocol (TCP)
PC
Transport Process
Webserver
Transport Process
12. RST (Close)
Close
(4)
Reset
Chiusura brusca
Senza Acknowledgement
Di solito quando si verifica una condizione di errore
Use of TCP (and UDP) Port Numbers

Servers use well­known port numbers for their major applications.

Port 80 = HTTP

Ports 20, 21 = FTP


Port 21 for supervisory information
Port 20 for file transfers

Port 23 = Telnet

Port 25 = SMTP (E­mail)
Use of TCP (and UDP) Port Numbers,
Continued

Clients Use Ephemeral Port Numbers.


By IETF rules, Ports 49153 to 65535.

Windows follows the rules.

Unix programs usually do not.
The client chooses a random ephemeral port number for each new connection.
Use of TCP (and UDP) Port Numbers,
Continued

Registered Port Numbers

Ports 1024 through 49151.

For non­major applications.

Unix does not follow the rules for port number ranges.

Unix uses some registered port numbers as ephemeral port numbers.
Use of TCP (and UDP) Port Numbers,
Continued

Socket

A socket is an IP address, a colon, and a port number.



Example: 128.171.17.13:80
For servers, specifies a specific application on a specific server.
For clients, specifies a specific connection on a specific client.
Use of TCP (and UDP)
Port Numbers,
Continued
Ephemeral Source Port Number (50047)
Client 60.171.18.22
From: 60.171.18.22:50047
To: 1.33.17.13:80
Well-Known Destination
Port Number (80)
A connection has both
a source and destination socket.
Webserver
1.33.17.13
Port 80
Socket is based on the packet IP addresses
and the TCP or UDP port number fields
SMTP Server
123.30.17.120
Port 25
Use of TCP (and UDP)
Port Numbers,
Continued
Client 60.171.18.22
From: 60.171.18.22:50047
To: 1.33.17.13:80
From: 1.33.17.13:80
To: 60.171.18.22:50047
In two-way communication,
the sockets are reversed
for transmissions in
the opposite direction.
Webserver
1.33.17.13
Port 80
SMTP Server
123.30.17.120
Port 25
Use of TCP (and UDP) Port
Numbers, Continued
Client 60.171.18.22
From: 60.171.18.22:50047
To: 1.33.17.13:80
If a client connects to two servers,
it will select different ephemeralWebserver
port numbers
(50047 and 60003) for the two1.33.17.13
connections
Port 80
From: 60.171.18.22:60003
To: 123.30.17.120:25
SMTP Server
123.30.17.120
Port 25
Segmenti TCP e Datagram UDP
UDP Datagram
Bit 0
Sequence Port Number (16 bits)
Destination Port Number (16 bits)
UDP Length (16 bits)
UDP Checksum (16 bits)
Data Field
Bit 31
UDP Datagram
PC
Transport Process
Webserver
Transport Process
UDP Datagram
Close
(4)
Connectionless and Unreliable
Carica meno la rete rispetto a TCP
E’ utile quando la perdita occasionale
Di un messaggio di un applicazione non e’ un problema serio
Come per i messaggi regolari sullo stato della rete
Oppure quando non c’e’ tempo per ritrasmettere,
Come per la trasmissione della voce
TCP Versus UDP
TCP
UDP
Layer
Transport
Transport
Message name
TCP segment
UDP datagram
Processing power
required
Heavyweight
Lightweight
Reliability
Reliable
Unreliable
Connections?
Connection-oriented
Connectionless
Layer 3 Switches and Routers in
Site Internets
To
Other
Sites
Border
Router
L3
Layer 3
Switch
Layer 3
Switch
L3
Layer 3 switches are routers.
Ethernet
Workgroup
However, they are
faster than
Switch
traditional software-based
routers because they do
processing in hardware.
Ethernet
Switches
are faster than routers,
Workgroup
so marketers
invented “Layer 3 switch.
Switch
Layer 3 Switches and Routers in
Site Internets, Continued
To
Other
Sites
Border
Router
Layer 3
Switch
L3
Layer 3
Switch
L3
Layer 3 switches are routers.
Ethernet
Workgroupmean
However, hardware limitations
Switch
that they are limited
routers.
They are not full multiprotocol routers.
They
only support TCP/IP
Ethernet
and,
sometimes, IPX/SPX.
Workgroup
Switch
This limits their usefulness.
Layer 3 Switches and Routers in
Site Internets, Continued
To
Other
Sites
Border
Router
L3
Layer 3
Switch
Layer 3
Switch
L3
Layer 3 switches are routers.
Ethernet
Workgroup
However, hardware limitations
mean
Switch
that they are limited routers.
They usually cannot connect to
WANs because
they usually only implement
Ethernet
Ethernet
at the data link layer.
Workgroup
Switch
A router is normally used at the border.
Layer 3 Switches and Routers in
Site Internets, Continued
Like traditional routers, L3 switches
To considerable management labor.
require
Router
Other
Sites
Therefore, they usually do not
replace workgroups switches
at the bottom of the hierarchy.
Layer 3
Switch
L3
Layer 3
Switch
L3
Ethernet
Workgroup
Switch
Ethernet
Workgroup
Switch
User
Internet Control Message
Protocol (ICMP) for Supervisory
Messages
Router
Host Unreachable
Error Message
Echo Request
(Ping)IP was created to deliver packets.
ICMP was created to support
Echo
supervisory messages at the internet layer.
Reply
Internet Control Message Protocol
(ICMP) for Supervisory Messages,
Continued
Router
Host Unreachable
Error Message
Echo Request
(Ping)
ICMP messages
are
Echo
carried in
the data fields
Response
of IP packets.
There are no transport
or application layer messages.
ICMP
IP
Message Header
Internet Control Message Protocol
(ICMP) for Supervisory Messages,
Continued
Router
Host Unreachable
Error Message
Echo Request
ICMP
IP
ICMP error messages
(Ping)
Message
advise senders of delivery
problems.Header
Echo
Reply
This is not reliability;
there is no automatic error correction.
This is only error advisement.
Internet Control Message Protocol
(ICMP) for Supervisory Messages,
Continued
Echo messages can be used toRouter
“ping”
IP addresses or host names.
Host Unreachable
Pinged
hosts
reply with echo reply messages.
Error
Message
This response indicates that the host is active.
Echo (Ping)
Echo
Reply
ICMP
IP
Message Header
Internet Control Message Protocol
(ICMP) for Supervisory Messages
Router
“Host Unreachable”
Error Message
ICMP Message
“Echo
Reply”
“Echo”
IP Header