Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP 8 7 6 5 4 3...

7
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDP TCP DNS SNAP MAC www.polito.it ARP 8 7 6 5 4 3 2 1 •L’utente fa una richiesta di pagina Web. Il browser tramite il protocollo HTTP cerca di aprire una connessione col server che sia in grado di soddisfare alla richiesta. •La prima cosa da fare è mappare l’indirizzo logico con l’indirizzo IP. •A questo punto subentra il protocollo DNS tramite UDP si connette col server DNS che sia in grado di eseguire il suddetto mappin •UDP tramite IP cerca di instradare la richie al server DNS ma per farlo oltre a conoscere suo indirizzo IP deve conoscere il suo indiri MAC, allora fa una richiesta ARP: manda un pacchetto con indirizzo IP del server e con i MAC broadcast (FF-FF-FF-FF-FF-FF). •Il server (supponiamo che sia sulla stessa so risponde inviando il suo indirizzo MAC. •Ora sarà possibile inviare il pacchetto DNS 9 10 11 12 13 14 15 URL: http://www.polito.it/corsi

Transcript of Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP 8 7 6 5 4 3...

Page 1: Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC  ARP 8 7 6 5 4 3 2 1 L’utente fa una richiesta di pagina.

Greco Rodolfo 2002

Application

Trasport

Network

Phisic

HTTP

IP

UDPTCP

DNS

SNAP

MAC

www.polito.it

ARP

8

7

6

5

4

3

2

1 •L’utente fa una richiesta di pagina Web. Ilbrowser tramite il protocollo HTTP cerca diaprire una connessione col server che sia in grado di soddisfare alla richiesta.•La prima cosa da fare è mappare l’indirizzologico con l’indirizzo IP.•A questo punto subentra il protocollo DNS chetramite UDP si connette col server DNS chesia in grado di eseguire il suddetto mapping.•UDP tramite IP cerca di instradare la richiestaal server DNS ma per farlo oltre a conoscere il suo indirizzo IP deve conoscere il suo indirizzoMAC, allora fa una richiesta ARP: manda un pacchetto con indirizzo IP del server e con indirizzoMAC broadcast (FF-FF-FF-FF-FF-FF).•Il server (supponiamo che sia sulla stessa sottorete)risponde inviando il suo indirizzo MAC. •Ora sarà possibile inviare il pacchetto DNS

9

10

11

1213

14

15

URL: http://www.polito.it/corsi

Page 2: Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC  ARP 8 7 6 5 4 3 2 1 L’utente fa una richiesta di pagina.

Greco Rodolfo 2002

Application

Trasport

Network

Phisic

HTTP

IP

UDPTCP

DNS

SNAP

MAC

www.polito.it

ARP

•Il server DNS risponde mandando un pacchetto al client con l’indirizzo IP del server Web.

•La risposta viene inoltrata fino ai livelli superiori

•Ora HTTP tramite TCP sarà in grado di aprire una connessione con il server Web.n.b. Ovviamente c’è la possibilità che ci sia bisogno di effettuare una nuova richiesta ARP( ) per avere l’indirizzo MAC del server Web o del router (nel caso il server si trovasse in una sottorete diversa da quella del client)

16

20

19

18

17

23

22

21

25

24

26

Page 3: Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC  ARP 8 7 6 5 4 3 2 1 L’utente fa una richiesta di pagina.

Greco Rodolfo 2002

Application

Trasport

Network

Phisic

HTTP

IP

TCPUDP

DNS

SNAP

MAC

www.polito.it

ARP

Trasport

UDPTCP

•La fase di apertura di connessione TCP (virtualmente end-to-end) è una fase chiamata Three Way-Handscahe compostada tre messaggi.

•Il primo messaggio si identifica dal flag SYN posto a uno.TCP setta anche il primo num. di sequenza con cui iniziera a spedire i messaggi.•Il secondo messaggio è un ACK e un SYN (fa piggybacking).Anche il ricevitore TCP dirà con quale num. di sequenza comincerà la comunicazione. •Il trasmettitore TCP risponderà a sua volta con un ACK. A questo punto la connessione è avvenuta e si potrà cominciare a trasmettere i dati veri e propri.

SYN (ISNclient)

SYN(ISNserver)-ACK(ISNclient+1)

ACK(ISNserver+1)

•n.b. Client e server si scambiano anche l’informazione sulla propria MSS (Maximum Segment Size).

Page 4: Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC  ARP 8 7 6 5 4 3 2 1 L’utente fa una richiesta di pagina.

Greco Rodolfo 2002

Layer 3

Layer 2Layer 2

Layer 2

Layer 2

ARP

Che indirizzo fisico ha l’host con

l’indirizzo IP <IP Address C> ? ?

<IP address A><MAC address A>

<IP address C><MAC address C>

<IP address B><MAC address B>

<IP address D><MAC address D>

L’host con l’indirizzo IP

<IP Address C> ha indirizzo MAC <MAC address C>

ARP Funzionamento

Page 5: Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC  ARP 8 7 6 5 4 3 2 1 L’utente fa una richiesta di pagina.

Greco Rodolfo 2002

• ARP: Address resolution Protocol

• Garantisce il mapping tra indirizzi di livello 2 e indirizzi di livello 3

• Funzionamento: può essere diviso in 2 parti:

– Risoluzione iniziale dell’indirizzo MAC

– Mapping tra l’indirizzo MAC e il relativo indirizzo Network

• Compatibilità:

– Può funzionare su qualunque livello 2

– È in grado di risolvere qualunque protocollo di livello 3

• Protocollo in Broadcast di tipo solicitation

• Ethernet: gli assegna un Protocol Type ad hoc (0x0806)

ARP

Page 6: Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC  ARP 8 7 6 5 4 3 2 1 L’utente fa una richiesta di pagina.

Greco Rodolfo 2002

MAC broadcast MAC A ARP request MAC A IP A ???? IP C

MAC A MAC C ARP reply MAC C IP C MAC A IP A

Campi più significativi della trama MAC Campi più significativi della trama ARP

0 8 16 31Hardware Type Protocol Type

HLEN PLEN Operation

Sender IP Address

Sender HW Address

Target HW Address

Target IP Address

Target HW Address

Sender HW Address

Sender IP Address

Formato del pacchetto

Page 7: Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC  ARP 8 7 6 5 4 3 2 1 L’utente fa una richiesta di pagina.

Greco Rodolfo 2002

WAIT

ARP request

STORE MAPPING

SEND TO <MAC address>

<IP address>

<MAC address>

SI NO

Aspetta che il driver di rete richieda la spedizione

del pacchetto (datagram)

E noto il mapping <IP address> - <MAC address>?

SI: spedisci la tramaal <MAC address>

NO: richiesta ARP broadcast, memorizza il mapping e

spedisci al <MAC address>

Mapping