Nessun titolo diapositiva - PowerPoint PPT Presentation

1 / 57
About This Presentation
Title:

Nessun titolo diapositiva

Description:

Title: Nessun titolo diapositiva Author: Elton John Last modified by: Elton John Created Date: 2/28/1999 1:13:14 PM Document presentation format: Presentazione su schermo – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 58
Provided by: Elt48
Category:

less

Transcript and Presenter's Notes

Title: Nessun titolo diapositiva


1
Architettura TCP/IP
indice
  • 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

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 lordine darrivo

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

4
Gestione dei datagram
livello superiore
  • 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
5
Funzioni svolte dal livello IP
  • genera e controlla lintestazione (header
    validation)
  • calcola o verifica il checksum
  • determina linstradamento (next hop)
  • gestisce la redirezione
  • aggiunge i dati del mittente nei datagram
    prodotti localmente(ICI)
  • frammenta e ricostruire i datagram
  • gestisce le comunicazioni broadcast

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

7
intestazione del pacchetto IP
version
IHL
tipo di servizio
lunghezza totale
identificatore segmento
D F
M F
offset del frammento
time to live
protocollo
checksum dellheader
indirizzo del mittente
indirizzo del destinatario
campo opzioni
32 bit
8
campi dellintestazione IP
9
Instradamento IP
  • il livello Host-To-Network effettua
    linstradamento 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

10
Instradamento diretto/indiretto
Host 1 Net 1
Host 2 Net 1
Host 3 Net 1
rete fisica n1
Host 1
Host 2
Host 3
Host 9 Net 1
router
Host 9 Net 2
rete fisica
instradamento diretto
Host 1 Net 2
Host 2 Net 2
Host 3 Net 2
instradamento indiretto
rete fisica n2
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 allinterno di una rete)
  • gli indirizzi IP sono suddivisi in classi, in
    base alle dimensioni dei due campi

12
Classi di indirizzi IP
Rete di classe A 126 reti con 16.777.214 host
0
network
host
Rete di classe B 16.382 reti con 65.534 host
1
network
host
0
Rete di classe C 2.097.150 reti con 254 host
1
network
host
0
1
1
multicast address
0
1
1
1
usi futuri
0
1
1
1
8 bit
8 bit
8 bit
8 bit
13
Subnetting mask
Indirizzo di Classe C
1
network
host
0
1
maschera di sottorete (subnet mask)
tutti 0
tutti 1
1
network
host
0
1
subnet
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)
14
Indirizzi IP particolari
  • 0.0.0.0 indirizzo dellhost ospite
  • 0.x.x.x lhost x.x.x della rete ospite
  • 255.255.255.255 broadcast sulla rete ospite
  • x.255.255.255 broadcast alla rete x
  • 127.x.x.x loopback

15
Routing IP (1)
salto locale
salto remoto
verso le altre reti
router 1
link 3
192.168.17.2
link 1
192.168.17.1
192.168.11.1
192.168.11.3
00-80-2A-33-48-32
link 2
192.168.11.254
00-80-2A-33-4B-A2
00-80-2A-33-45-21
00-80-2A-33-45-22
192.168.7.2
00-80-2A-33-4B-A0
00-80-2A-33-4B-A1
router 2
link 1
192.168.6.12
192.168.6.13
link 2
192.168.6.254
00-80-2A-66-01-03
00-80-2A-66-01-02
192.168.7.1
00-80-2A-6A-02-B0
00-80-2A-6A-02-B1
16
Routing IP (2)
  • unentità di livello 4 (TCP o UDP) della stazione
    192.168.11.1 vuole inviare un pacchetto
    allanaloga entità della stazione 192.168.6.12
    per far questo passa al livello 3 (IP) il
    pacchetto e specifica tra laltro lindirizzo IP
    del mittente e quello del destinatario

17
Routing IP (3)
  • lentità 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 lindirizzo di livello 2
    a cui far pervenire il pacchetto, e lo passa al
    livello sottostante

18
Routing IP (4)
  • nellesempio il salto è remoto, per cui
    lindirizzo di livello 2 da inserire nel
    pacchetto è quello di default delluscita dalla
    rete fisica (00-80-2A-33-4B-A0)
  • il pacchetto arriva al livello 3 del router 1
    attraverso il suo link1

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 lindirizzo di
    livello 2 di quel link (00-80-2A-6A-02-B1)

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

21
indirizzi fisici ed indirizzi IP
indirizzo TSAP di livello 4 del
destinatario porta 1080
livello 4
transceiver
TCP
UDP
segmento
indirizzo IP di livello 3 del destinatario 192.168
.11.37
IP
livello 3
datagram
driver della scheda di rete
pacchetto
livelli 1 e 2
indirizzo MAC di livello 2 del prossimo
nodo 00-40-8A-91-B2-84
scheda di rete
trama
transceiver
segnali elettrici
mezzo fisico
22
altri protocolli di rete ICMP
  • Internet Control Message Protocol
  • protocollo utilizzato dai router per scam-biarsi
    informazioni sullo stato della rete

23
altri protocolli di rete ARP
  • Address Resolution Protocol
  • restituisce lindirizzo di livello 2 di una
    stazione individuata dal suo indirizzo IP
  • viene inviata una richiesta broadcast del tipo
    chi ha questo indirizzo IP ?
  • solo lhost con quellIP risponde, passandogli il
    suo indirizzo di livello 2
  • se lhost è in unaltra rete, i router intermedi
    dovranno fungere da tramite nel protocollo

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

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

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

27
il protocollo TCP il socket
  • i servizi TCP stabiliscono una connessione tra
    due punti di accesso detti socket
  • un socket è caratterizzato dalla coppia
  • IP_address port_number
  • vi sono 216 possibili port number i primi 256
    sono pre-assegnati a servizi standard (well-known
    port) 25SMTP, 110 POP3, 80HTTP,

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

29
intestazione TCP (1)
source port
destination port
sequence number
acknowledgement number
A C K
U R G
P S H
F I N
R S T
S Y N
TCP header length
window size
checksum
urgent pointer
options (0 - N32bit)
data (opzionale)
32 bit
30
intestazione TCP (2)
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
    allapplicazione rela-tiva, e se accettata,
    conferma al richiedente la connessione
  • in caso negativo, la connesione viene rifiutata

32
attivazione della connessione
client
server
listen()
accept()
chiedo una con- nessione, il mio primo byte
avrà numero (x)
SYN1, ACK0, SEQx
accetto la connessione mi aspetto di ricevere
il byte numero (x1) ed il mio primo byte
avrà numero (y)
ti invio i miei dati a partire dal byte (x1), e
mi aspetto di ricevere il byte numero (y1)
SYN1, ACKy1, SEQx1
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

34
trasferimento dati (1)
mittente
destinatario
devo trasmettere 5KByte
4 KB
buffer vuoto
invio i primi 2K, a partire da 0, faccio partire
il timer
immagazzino 2K nel buffer, comunico che ho
ricevuto corretta- mente i byte 0-2047, aspetto i
byte a partire dal 2048, e posso rice- vere
ancora 2048 byte
invio altri 2K, a partire dal byte numero
2048, faccio partire il timer
2 K
2 K
SEQ2048, dati(2K)
35
trasferimento dati (2)
mittente
destinatario
2 K
2 K
SEQ2048, dati(2K)
immagazzino altri 2K nel buffer, comunico che
ho ricevuto correttamente i byte 2048-4095,
aspetto i byte a partire dal 4096, e posso
ricevere ancora 0 byte
non posso trasmettere altri byte perché il
buffer in ricezione è pieno, e quindi aspetto
4 KB
buffer pieno
il destinatario legge i primi 2K dal buffer e
li passa allapplicazione
ACK4096, WIN2048
2 K
2 K
36
trasferimento dati (3)
mittente
destinatario
ACK4096, WIN2048
2 K
2 K
invio lultimo 1K, a partire dal byte numero
4096, e faccio partire il timer
immagazzino 1K nel buffer, comunico che
ho ricevuto correttamente i byte 4096-5019,
aspetto i byte a partire dal 5020, e posso
ricevere ancora 1024 byte
ACK5020, WIN1024
1K
2 K
1K
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

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

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 lintera connessione viene chiusa

40
rilascio della connessione
utente A
utente B
non ho altri dati da trasmettere, per me la
connessione si può rilasciare
ora anche io non ho altri dati da trasmettere e
possiamo rilasciare la connessione
FIN
ora rilascio la connessione ...
e ti avviso che mi sono sconnesso
ora mi sconnetto anchio
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

42
formato pacchetto UDP
source port
destination port
total length
checksum
dati
32 bit
43
il sistema DNS
  • luso 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 linterrogazione e
    laggiornamento dello schema

44
DNS funzionamento
  • per passare da indirizzo logico a indirizzo
    numerico unapplicazione invia una richiesta al
    DNS server locale
  • se il DNS server locale ha nella sua tabella
    interna quellindirizzo, lo restituisce subito
  • altrimenti inoltra la richiesta ad un DNS server
    remoto di livello gerarchico superiore, ne
    aspetta la risposta e poi la passa
    allapplicazione richiedente

45
DNS organizzazione dei domini
USA
il resto del mondo
mil
org
ch
jp
top level domain
com
gov
fr
uk
edu
it
subdomain 1
ucis
mit
yale
unive
unipd
unimi
subdomain 2
cs
eng
phil
ling
math
ing
host.subdomainN.___.subdomain2.subdomain1.toplevel
domain
46
DNS implementazione
  • ogni dominio ha il compito di fornire e mantenere
    aggiornato il proprio DNS server (o più duno,
    gerarchicamente organizzati)
  • per ogni host, il DNS ha il seguente record

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 linsieme dei messaggi ricevuti

48
posta elettronica il messaggio
  • generalmente il messaggio è composto dalle
    seguenti informazioni (obbligatorie)

49
posta elettronica MUA
  • in Internet lo scambio di posta elettronica
    utilizza due funzioni distinte MUA ed MTA
  • MUA (Mail User Agent) è linterfaccia verso
    lutente ed ha principalmente il compito di
  • comporre il messaggio da spedire assemblando i
    vari campi
  • trasferire il messaggio da spedire allMTA (del
    mittente) per la sua trasmissione
  • ricevere dallMTA locale (che ora funge da
    destinatario) e passare allutente i messaggi
    pervenuti
  • gestire la memorizzazione dei messaggi trasferiti

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 allMTA di
    destinazione, che svolge funzioni di cassetta
    postale
  • fornire allMUA di destinazione, su sua esplicita
    richiesta, i messaggi ad esso indirizzati,
    verificandone il diritto di prelievo

51
posta elettronica architettura
MTA
MTA
MUA
MTA
MTA
mittente
MUA
destinatario
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 lindirizzo
    logico del mittente in indirizzo fisico,
    coincidente con lMTA del mittente
  • il MUA stabilisce una connessione TCP con il suo
    MTA e tramite protocollo SMTP trasferisce il
    messaggio dal client SMTP dellhost del mittente
    al server SMTP dellMTA del mittente, e poi
    rilascia la connessione

53
protocollo SMTP (2)
  • il server SMTP dellMTA del mittente, tramite DNS
    specifico, traduce lindirizzo logico del
    destinatario in indirizzo fisico, coincidente con
    lMTA del destinatario
  • il server SMTP dellMTA del mittente, ora
    operante in modalità client, stabilisce una
    connessione TCP con il server SMTP dellMTA del
    destinatario (anche attraversando più server
    SMTP) e trasferisce il messaggio al server SMTP
    dellMTA del destinatario, che lo trascrive nella
    relativa cassetta postale del destinatario, e poi
    rilascia la connessione

54
protocollo SMTP esempio
yyy.it client SMTP
server SMTP xxx.it
il client instaura una connessione affidabile con
il server
il server si rende dispo- nibile a ricevere posta
220 (xxx.it READY FOR MAIL)
il client è pronto a tras- mettere un messaggio
HELO (yyy.it)
il server si identifica
250 (xxx.it SAYS HELLO to yyy.it)
il client specifica il mittente
MAIL FROM (pippo_at_yyy.it)
il server conferma il mittente
250 (SENDER OK)
il client specifica il destinatario
RCPT TO (pluto_at_xxx.it)
il server conferma il destinatario
250 (RECIPIENT OK)
il client avvisa che è pronto ad inviare i dati
DATA
il server conferma che è pronto a ricevere i dati
354 (SEND MAIL)
segue
55
protocollo SMTP esempio
yyy.it client SMTP
server SMTP xxx.it
segue
il client trasmette il messaggio
From pippo_at_yyy.it
il server riceve il messaggio una riga alla
volta, fino allulrima riga contenente solo un
.
To pluto_at_xxx.it
MIME-Version 1.0
Message-Id lt1234.AA78_at_yyy.itgt
Content-Typemultipart ...
Subject prova
Content-Type text/richtext
Ciao, è una prova.
il server ha ricevuto tutto il messaggio, e ne
da riscontro positivo
.
il client non ha altri messaggi e
vuole rilasciare la connessione
250 (MESSAGE ACCEPTED)
QUIT
il server accetta il rilascio della connessione
221 (xxx.it CLOSING CONNECTION)
56
protocollo POP3
  • Post Office Protocol versione 3 è il protocollo
    che implementa le funzionalità di ricezione
    dellMTA
  • 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 lindirizzo
    logico del destinatario in indirizzo fisico,
    coincidente con lMTA del destinatario
  • il MUA stabilisce una connessione TCP con il suo
    MTA e tramite protocollo POP3 trasferisce i
    messaggi pervenuti, dal server POP3 dellMTA del
    destinatario al client POP3 dellMUA del
    destinatario, e poi rilascia la connessione

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 lopportunità di attachment
Write a Comment
User Comments (0)
About PowerShow.com