Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP...

57
Architettura TCP /IP Architettura degli elabor atori -Modulo B- A.Memo 1 Architettura TCP/IP • protocollo IP • altri protocolli di rete: ICMP, ARP e RARP • protocollo TCP • altri protocolli di trasporto: UDP • il sistema Domain Name Server • i protocolli di posta elettronica indice

Transcript of Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP...

Page 1: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

1

Architettura TCP/IP

• protocollo IP

• altri protocolli di rete: ICMP, ARP e RARP

• protocollo TCP

• altri protocolli di trasporto: UDP

• il sistema Domain Name Server

• i protocolli di posta elettronica

indice

Page 2: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

2

Il protocollo IP

• IP è un protocollo datagram (non connesso e non affidabile) che ha il compito di:– ricevere il datagram o il segmento di dati dal

livello superiore e incapsularlo in pacchetti IP– instradare i pacchetti attraverso le varie sottoreti– in ricezione riassemblare i vari pacchetti e

passare al livello superiore il datagram o il segmento dati, secondo l’ordine d’arrivo

Page 3: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

3

Obiettivi del protocollo IP

• incorpora i datagram (encapsulation datagram)

• frammenta i datagram (fragmentation datagram)

• gestisce la vita in rete dei datagram

• instrada i datagram

Page 4: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

4

Gestione dei datagram

accetta in ingresso i datagram provenienti dalla rete o generati dal livello superiore, e li instrada verso la NIC o verso il livello superiore

processo IP

NIC 1 NIC 2

livello superiore

Page 5: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

5

Funzioni svolte dal livello IP• genera e controlla l’intestazione (header validation)• calcola o verifica il checksum• determina l’instradamento (next hop)

• gestisce la redirezione• aggiunge i dati del mittente nei datagram

prodotti localmente(ICI)• frammenta e ricostruire i datagram• gestisce le comunicazioni broadcast

Page 6: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

6

Caratteristiche del livello IP

unreliable: servizi non garantiti o inaffidabili, i pacchetti possono essere persi, duplicati o consegnati fuori ordine

connectionless: servizi non orientati alla connessione, i pacchetti sono tra loro indipendenti

best-effort: servizi del tipo trasmetti e spera

Page 7: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

7

intestazione del pacchetto IP

version IHL tipo di servizio lunghezza totale

identificatore segmento DF

MF offset del frammento

time to live protocollo checksum dell’header

indirizzo del destinatario

indirizzo del mittente

campo opzioni

32 bit

Page 8: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

8

campi dell’intestazione IPversione numero versione del protocollo (4)IHL lunghezza header in multipli di 32 bit (4)type of service affidabilità dei servizi richiesti (8)total length lunghezza totale del pacchetto (16)identification etichetta di tutti i frammenti di un dato pacchetto (16)DF Don't fragment (se a 1)(1)MF More fragments (se a 1) (1)fragmnent offset offset (in byte) del frammento nel pacchetto (13)time to live valore decrementato ad ogni salto o ad ogni secondo (8)protocol cod. del protocollo di trasporto a cui dare il pacchetto (8)header check ricalcolato ad ogni salto o ogni secondo (16)indirizzi (32+32)options in base al protocollo (N32)

Page 9: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

9

Instradamento IP

• il livello Host-To-Network effettua l’instradamento fisico (switching), mentre IP quello logico (routing)

• il routing può essere diretto (se mittente e destinatario appartengono alla stessa rete fisica) o indiretto (su reti fisiche distinte)

• si decide in base agli indirizzi di mittente e destinatario

Page 10: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

10

Instradamento diretto/indiretto

Host 1Net 2

rete fisica n°2

Host 1 Host 2 Host 3

rete fisica instradamento

diretto

Host 2Net 2

Host 3Net 2

Host 1Net 1

rete fisica n°1

Host 2Net 1

Host 3Net 1

Host 9Net 2

Host 9Net 1

router

instradamento indiretto

Page 11: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

11

Indirizzi IP

• un indirizzo IP è costituito da 2 campi, per un totale di 32 bit:– network number (numero di una rete, una LAN

o una connessione punto-punto tra due router)– host number (numero caratteristico di ogni

stazione o scheda NIC all’interno di una rete)

• gli indirizzi IP sono suddivisi in classi, in base alle dimensioni dei due campi

Page 12: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

12

Classi di indirizzi IP

0 network hostRete di classe A : 126 reti con 16.777.214 host

1 network hostRete di classe B : 16.382 reti con 65.534 host

0

1 network hostRete di classe C : 2.097.150 reti con 254 host

01

1 multicast address011

1 usi futuri0111

8 bit 8 bit 8 bit 8 bit

Page 13: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

13

Subnetting mask

1 network host01

1 network host01 subnet

tutti 0tutti 1

Indirizzo di Classe C

maschera di sottorete (subnet mask)

Esempio: IP address = 193.207.121.240 subnet mask = 255.255.255.224 network = 193.207.121. subnet = 7 (o 224) host = 16 (o 240)

Page 14: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

14

Indirizzi IP particolari

0.0.0.0 indirizzo dell’host ospite0.x.x.x l’host x.x.x della rete ospite255.255.255.255 broadcast sulla rete ospitex.255.255.255 broadcast alla rete x127.x.x.x loopback

Page 15: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

15

00-80-2A-66-01-0300-80-2A-66-01-02

00-80-2A-6A-02-B0 00-80-2A-6A-02-B1

00-80-2A-33-4B-A2

00-80-2A-33-4B-A100-80-2A-33-4B-A0

00-80-2A-33-45-21 00-80-2A-33-45-22

Routing IP (1)

192.168.6.12 192.168.6.13

192.168.11.1 192.168.11.3

router 2

192.168.7.1

192.168.11.254

192.168.11. 1 link 1, 00-80-2A-33-45-21192.168.11. 3 link 1, 00-80-2A-33-45-22192.168.6. 0 link 2, 00-80-2A-6A-02-B1default 0 link 3, 00-80-2A-33-4B-32

link 1link 2

router 1

192.168.7.2

link 1 link 2192.168.6.254

link 3

192.168.17.1

verso lealtre reti

salto locale

salto remoto

00-80-2A-33-48-32192.168.17.2

Page 16: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

16

Routing IP (2)

• un’entità di livello 4 (TCP o UDP) della stazione 192.168.11.1 vuole inviare un pacchetto all’analoga entità della stazione 192.168.6.12: per far questo passa al livello 3 (IP) il pacchetto e specifica tra l’altro l’indirizzo IP del mittente e quello del destinatario

Page 17: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

17

Routing IP (3)

• l’entità di livello 3 del mittente confronta i campi network dei due indirizzi, e decide se– mittente e destinatario appartengono alla stessa

rete (salto locale);– appartengono a reti distinte (salto remoto)

• in base a ciò determina l’indirizzo di livello 2 a cui far pervenire il pacchetto, e lo passa al livello sottostante

Page 18: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

18

Routing IP (4)

• nell’esempio il salto è remoto, per cui l’indirizzo di livello 2 da inserire nel pacchetto è quello di default dell’uscita dalla rete fisica (00-80-2A-33-4B-A0)

• il pacchetto arriva al livello 3 del router 1 attraverso il suo link1

Page 19: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

19

Routing IP (5)

• il livello 3 del router controlla la sua tabella di instradamento, riconosce il destinatario come un salto remoto verso il link 2, e quindi rispedisce (relay) il pacchetto con lo stesso indirizzo IP di mittente, ma con l’indirizzo di livello 2 di quel link (00-80-2A-6A-02-B1)

Page 20: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

20

Routing IP (6)

• il livello 3 del router 2 riceve il pacchetto,

riconosce il destinatario come un salto

locale verso il proprio link 1, e rispedisce il

pacchetto passandolo al livello 2 di quella

interfaccia di rete con indirizzo di livello 2

di destinazione 00-80-2A-66-01-02

Page 21: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

21

indirizzi fisici ed indirizzi IP

mezzo fisico

livel

li 1 e

2

transceiver

scheda di rete

indirizzo IP di livello 3del destinatario192.168.11.37

segnali elettrici

indirizzo MAC di livello 2del prossimo nodo00-40-8A-91-B2-84

driver dellascheda di rete

livel

lo 3

livel

lo 4

transceiver

TCP UDP

IPsegmento

datagram

pacchetto

trama

indirizzo TSAP di livello 4del destinatario

porta 1080

Page 22: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

22

altri protocolli di rete: ICMP

• Internet Control Message Protocol

• protocollo utilizzato dai router per scam-biarsi informazioni sullo stato della rete

destination unreachable si risponde al mittente che ildestinatario non è raggiungibile

time exceeded si risponde al mittente che ilpacchetto ha esaurito il tempo adisposizione

echo request chiede ad una stazione se è viva

Page 23: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

23

altri protocolli di rete: ARP

• Address Resolution Protocol• restituisce l’indirizzo di livello 2 di una stazione

individuata dal suo indirizzo IP– viene inviata una richiesta broadcast del tipo “chi ha

questo indirizzo IP ?”

– solo l’host con quell’IP risponde, passandogli il suo indirizzo di livello 2

– se l’host è in un’altra rete, i router intermedi dovranno fungere da tramite nel protocollo

Page 24: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

24

altri protocolli di rete: RARP

• Reverse Address Resolution Protocol

• svolge il compito inverso: dato un indirizzo di livello 2 restituisce il relativo indirizzo IP

Page 25: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

25

il protocollo TCP

• Transmission Control Protocol

• fornisce un trasferimento full-duplex affida-bile orientato alla connessione tra mittente e destinatario, basandosi su una rete non affidabile

• mette in comunicazione diretta i due interlo-cutori finali, e quindi non è presente nei router

Page 26: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

26

il protocollo TCP: generalità

• riceve il messaggio dal livello applicazione• lo suddivide in segmenti (TPDU) che passa al

livello rete• ne controlla il regolare trasferimento mediante

tecniche analoghe a sliding-windows• riceve dal livello rete i segmenti in arrivo• ricompone il messaggio originale e lo passa alla

opportuna applicazione di livello superiore

Page 27: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

27

il protocollo TCP: il socket

• i servizi TCP stabiliscono una connessione tra due punti di accesso detti socket

• un socket è caratterizzato dalla coppiaIP_address : port_number

• vi sono 216 possibili port number: i primi 256 sono pre-assegnati a servizi standard (well-known port) [25=SMTP, 110 =POP3, 80=HTTP,…]

Page 28: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

28

il protocollo TCP: il flusso dati

• una connessione TCP trasferisce un flusso di byte

• ogni byte del flusso è caratterizzato da un numero sequenziale a 32 bit

• il numero sequenziale di ogni byte viene utilizzato in una tecnica di controllo sliding-windows di tipo go-back-N e time-out per ogni emissione

Page 29: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

29

intestazione TCP (1)

32 bit

source port destination port

sequence number

acknowledgement numberACK

TCPheaderlength

URG

PSH

RST

SYN

FIN

window size

checksum urgent pointer

options (0 - N•32bit)

data (opzionale)

Page 30: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

30

intestazione TCP (2)source/dest. port numero della porta di accesso all'applicazione (216)sequence numb. numero sequenziale del primo byte del campo dati (32)ack. number numero sequenziale del prossimo byte aspettato (32)TCP header leng. lunghezza totale dell'header in gruppi da 32 bit (4)

sviluppi futuri (6)URG Urgent pointer attivato (se a 1)(1)ACK ACK attivato, è anche un riscontro (se a 1) (1)PSH Pushed data, dati da far analizzare subito (se a 1) (1)RST richiesta di Reset della connessione (se a 1) (1)SYN SYN=1 ACK=0 richiesta di connessione (1)

SYN=1 ACK=1 connessione accettataFIN il mittente non ha più dati da trasmettere(se a 1) (1)window size numero byte che possono essere ancora spediti (16)checksum somma di controllo di validità dei dati trasmessi (16)urgent pointer puntatore ai dati urgenti del campo dati (16)options in base al protocollo (N32)

Page 31: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

31

attivazione della connessione

• il server lancia una listen() per porsi in ricezione e poi esegue una accept() in attesa di una richiesta di con-nessione in un dato port

• il client lancia una connect(host,port,...)• il server, quando riceve la richiesta, controlla se la

porta richiesta è attiva:– in caso affermativo, passa la richiesta all’applicazione rela-

tiva, e se accettata, conferma al richiedente la connessione– in caso negativo, la connesione viene rifiutata

Page 32: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

32

attivazione della connessione

SYN=1, ACK=0, SEQ=x

SYN=1, ACK=x+1, SEQ=y

SYN=1, ACK=y+1, SEQ=x+1

serverclient

chiedo una con-nessione, il mioprimo byte avrà

numero (x)accetto la connessionemi aspetto di ricevere ilbyte numero (x+1) ed ilmio primo byte avrànumero (y)ti invio i miei dati

a partire dal byte(x+1), e mi aspetto

di ricevere il bytenumero (y+1)

listen()

accept()

Page 33: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

33

trasferimento dati

• sliding windows di tipo go-back-N, dove le dimensioni delle finestre vengono comuni-cate esplicitamente: oltre al riscontro positivo viene passato il numero di byte ancora ricevibili

• ad ogni trasmissione si fa partire un timer per la ritrasmissione

• in caso di errore si riparte dal byte errato

Page 34: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

34

trasferimento dati (1)

SEQ=0, dati(2K)

destinatariomittente

invio i primi 2K, a partireda 0, faccio partire il timer immagazzino 2K nel

buffer, comunico cheho ricevuto corretta-mente i byte 0-2047,aspetto i byte a partiredal 2048, e posso rice-vere ancora 2048 byte

invio altri 2K, a partiredal byte numero 2048,

faccio partire il timer

devo trasmettere 5KByte 4 KBbuffer vuoto

2 K2 K

ACK=2048, WIN=2048

SEQ=2048, dati(2K)

Page 35: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

35

trasferimento dati (2)

destinatariomittente

immagazzino altri 2K nelbuffer, comunico che horicevuto correttamente ibyte 2048-4095, aspettoi byte a partire dal 4096,e posso ricevere ancora0 byte

non posso trasmetterealtri byte perché il buffer

in ricezione è pieno, equindi aspetto

il destinatario legge iprimi 2K dal buffer e lipassa all’applicazione

4 KBbuffer pieno

2 K2 K

ACK=4096, WIN=0

SEQ=2048, dati(2K)

2 K 2 KACK=4096, WIN=2048

Page 36: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

36

trasferimento dati (3)

destinatariomittente

immagazzino 1K nelbuffer, comunico che horicevuto correttamente ibyte 4096-5019, aspettoi byte a partire dal 5020,e posso ricevere ancora1024 byte

ACK=4096, WIN=2048

invio l’ultimo 1K, apartire dal byte

numero 4096, efaccio partire il timer SEQ=4096, dati(1K)

2 K 2 K

1K 2 K1K

ACK=5020, WIN=1024

Page 37: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

37

trasferimento dati (4)

• viene gestita anche una congestion windows per ridurre la possibilità di congestione, e in trasmissio-ne si sceglie il più piccolo tra il suo valore e quello del buffer del ricevitore

• la dimensione iniziale della congestion window è pari alla dimensione massima del segmento

• il valore di threshold viene fissato inizialmente pari alla dimensione massima del segmento

Page 38: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

38

trasferimento dati (5)

• ad ogni ack ricevuto la congestion window– raddoppia se il suo valore è inferiore al threshold

– si allarga di 1 segmento se è superiore

• ad ogni time-out– threshold = ½ congestion window

– congestion window = max segmento

Page 39: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

39

rilascio della connessione

• per evitare la perdita di dati determinata da una scon-nessione libera da parte di una stazione (rilascio asimmetrico) si adotta il rilascio simmetrico, dove ogni connessione full duplex è vista come una coppia di connessioni simplex

• A e B sono due stazioni che sanno comunicando in full-duplex: quando A ha finito invia un FIN a B, il quale accetta il rilascio e la connessione da A a B termina, mentre da B ad A possono ancora essere scambiati dati

• quando anche B termina, si avvia lo stesso procedi-mento e l’intera connessione viene chiusa

Page 40: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

40

rilascio della connessione

utente Butente A

ora anche io non hoaltri dati da trasmetteree possiamo rilasciarela connessione

non ho altri dati datrasmettere, per me

la connessione sipuò rilasciare

FIN

FIN

ACK

ora rilascio laconnessione ...

… e ti avviso che misono sconnesso

ora mi sconnetto anch’io

Page 41: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

41

altri protocolli di trasporto: UDP

• User Data Protocol

• offre un servizio di trasporto non connesso e non affidabile

• utilizzato per trasferire un basso numero di informazioni, tipo segnali di controllo di pochi byte nei collegamenti client/server

Page 42: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

42

formato pacchetto UDP

32 bit

source port destination port

total length

dati

checksum

source/dest. port numero della porta di accesso all'applicazione (216)total length lunghezza del pacchetto, header + dati (16)checksum somma di controllo di validità dei dati trasmessi (=0 non usato) (16)

Page 43: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

43

il sistema DNS

• l’uso diretto degli indirizzi IP (versione numerica) è scomo-do e poco mnemonico [193.207.118.131]

• ad ogni sistema può essere associato un indirizzo simbolico (versione logica) [www.rai.it]

• il sistema Domain Name System mette in relazione indiriz-zi numerici con indirizzi logici

• il DNS consiste di– uno schema gerarchico di attribuzione dei nomi basato sui domini

– un database distribuito che implementa questo schema

– un protocollo per l’interrogazione e l’aggiornamento dello schema

Page 44: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

44

DNS: funzionamento

• per passare da indirizzo logico a indirizzo numerico un’applicazione invia una richiesta al DNS server locale

• se il DNS server locale ha nella sua tabella interna quell’indirizzo, lo restituisce subito

• altrimenti inoltra la richiesta ad un DNS server remoto di livello gerarchico superiore, ne aspetta la risposta e poi la passa all’applicazione richiedente

Page 45: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

45

DNS: organizzazione dei dominiUSA il resto del mondo

subd

omai

n1

subd

omai

n2

top

leve

ldo

mai

n

comedu

govmil org

ucis mityale

csengphil

frit

ukch jp

univeunipd

lingmath

unimi

ing

host.subdomainN.___.subdomain2.subdomain1.topleveldomain

Page 46: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

46

DNS: implementazione

• ogni dominio ha il compito di fornire e mantenere aggiornato il proprio DNS server (o più d’uno, gerarchicamente organizzati)

• per ogni host, il DNS ha il seguente record:

domain name www.unipd.it nome logico dell'hosttime to live 50000 secondi per cui questi dati possono rimanere in cacheclass IN classe del record (internet)type A tipo di record (address)value 193.200.3.1 indirizzo IP dell'host

Page 47: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

47

posta elettronica: generalità

• un servizio di posta elettronica permette di– comporre un messaggio

– spedire un messaggio ad un destinatario

– spedire un messaggio (circolare) a più destinatari

– ricevere un messaggio

– leggere i messaggi ricevuti

– gestire un elenco di indirizzi di posta elettronica

– gestire l’insieme dei messaggi ricevuti

Page 48: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

48

posta elettronica: il messaggio

• generalmente il messaggio è composto dalle seguenti informazioni (*=obbligatorie):

To * indirizzo del destinatario (o lista di destinatari)From * indirizzo del mittenteCc indirizzo del destinatario della possibile copia palese per

conoscenza (o lista dei destinatari)Bcc indirizzo del destinatario della possibile copia nascosta per

conoscenza (o lista dei destinatari)Attach nome degli eventuali file incorporati nel messaggioSubject oggetto del messaggioBody testo del messaggio in codice ASCII (a 7 bit)

Page 49: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

49

posta elettronica: MUA

• in Internet lo scambio di posta elettronica utilizza due funzioni distinte: MUA ed MTA

• MUA (Mail User Agent) è l’interfaccia verso l’utente ed ha principalmente il compito di:– comporre il messaggio da spedire assemblando i vari campi– trasferire il messaggio da spedire all’MTA (del mittente) per la

sua trasmissione– ricevere dall’MTA locale (che ora funge da destinatario) e

passare all’utente i messaggi pervenuti– gestire la memorizzazione dei messaggi trasferiti

Page 50: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

50

posta elettronica: MTA

• MTA (Mail Transport Agent) è il vero artefice del trasferimento dei messaggi ed ha principalmente il compito di:– trasferire il messaggio pervenuto fino all’MTA di

destinazione, che svolge funzioni di cassetta postale

– fornire all’MUA di destinazione, su sua esplicita richiesta, i messaggi ad esso indirizzati, verificandone il diritto di prelievo

Page 51: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

51

MTA

MUA

posta elettronica: architettura

mittente

MTA

MTA

MTA

MUA

destinatario

Page 52: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

52

protocollo SMTP (1)

• Simple Mail Transfer Protocol è il protocollo che implementa le funzionalità di trasferimento del MUA:– il mittente predispone, con la versione locale del MUA, il

messaggio da inviare, e lo spedisce (SEND)– il MUA, tramite DNS operante su spazi di nomi distinti dagli

altri servizi, traduce l’indirizzo logico del mittente in indirizzo fisico, coincidente con l’MTA del mittente

– il MUA stabilisce una connessione TCP con il suo MTA e tramite protocollo SMTP trasferisce il messaggio dal client SMTP dell’host del mittente al server SMTP dell’MTA del mittente, e poi rilascia la connessione

Page 53: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

53

protocollo SMTP (2)

– il server SMTP dell’MTA del mittente, tramite DNS specifico, traduce l’indirizzo logico del destinatario in indirizzo fisico, coincidente con l’MTA del destinatario

– il server SMTP dell’MTA del mittente, ora operante in modalità client, stabilisce una connessione TCP con il server SMTP dell’MTA del destinatario (anche attraversando più server SMTP) e trasferisce il messaggio al server SMTP dell’MTA del destinatario, che lo trascrive nella relativa cassetta postale del destinatario, e poi rilascia la connessione

Page 54: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

54

protocollo SMTP: esempioyyy.it client SMTP server SMTP xxx.it

il client instaura una connessioneaffidabile con il server

220 (xxx.it READY FOR MAIL)il server si rende dispo-nibile a ricevere posta

HELO (yyy.it)

il client specificail mittente

250 (xxx.it SAYS HELLO to yyy.it) il server si identifica

il client è pronto a tras-mettere un messaggio

MAIL FROM ([email protected])

250 (SENDER OK)il server conferma ilmittente

RCPT TO ([email protected])il client specifica

il destinatarioil server conferma ildestinatario250 (RECIPIENT OK)

DATAil client avvisa che è

pronto ad inviare i dati

354 (SEND MAIL)il server conferma cheè pronto a ricevere i dati

segue

Page 55: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

55

protocollo SMTP: esempioyyy.it client SMTP server SMTP xxx.it

250 (MESSAGE ACCEPTED)

il server riceve il messaggiouna riga alla volta, fino all’ulrima riga contenentesolo un “.”

il server ha ricevuto tuttoil messaggio, e ne dariscontro positivo

il client trasmetteil messaggio

segue

From: [email protected]: [email protected]: 1.0Message-Id: <[email protected]>Content-Type:multipart ...Subject: provaContent-Type: text/richtextCiao, è una prova..

QUIT

il client non ha altrimessaggi e vuole

rilasciare la connessione

221 (xxx.it CLOSING CONNECTION)il server accetta il rilasciodella connessione

Page 56: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

56

protocollo POP3

• Post Office Protocol versione 3 è il protocollo che implementa le funzionalità di ricezione dell’MTA:– il destinatario manda in esecuzione la versione locale del MUA,

e richiede se gli è arrivata posta– il MUA, tramite DNS operante su spazi di nomi distinti dagli

altri servizi, traduce l’indirizzo logico del destinatario in indirizzo fisico, coincidente con l’MTA del destinatario

– il MUA stabilisce una connessione TCP con il suo MTA e tramite protocollo POP3 trasferisce i messaggi pervenuti, dal server POP3 dell’MTA del destinatario al client POP3 dell’MUA del destinatario, e poi rilascia la connessione

Page 57: Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo.

Architettura TCP/IP Architettura degli elaboratori -Modulo B- A.Memo

57

standard MIME

• Multipurpose Internet Mail Extension, estende le possibilità del formato dei messaggi, offre codici per le lettere accentate, permette di separare nel body parte codificate in ASCII a 7 bit da altre codificate ad 8 bit (file generici, audio, video, grafica, …) con lo standard BASE64, fornisce l’opportunità di attachment