La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 1 Architettura TCP/IP protocollo IP altri protocolli di rete: ICMP, ARP e RARP protocollo."— Transcript della presentazione:

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 TCP altri protocolli di trasporto: UDP il sistema Domain Name Server i protocolli di posta elettronica indice

2 Architettura TCP/IPArchitettura 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 lordine darrivo

3 Architettura TCP/IPArchitettura 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

4 Architettura TCP/IPArchitettura 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

5 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 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 Architettura TCP/IPArchitettura 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

7 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 7 intestazione del pacchetto IP version IHLtipo di serviziolunghezza totale identificatore segmento DFDF MFMF offset del frammento time to liveprotocollo checksum dellheader indirizzo del destinatario indirizzo del mittente campo opzioni 32 bit

8 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 8 campi dellintestazione IP

9 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 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 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 10 Instradamento diretto/indiretto Host 1 Net 2 rete fisica n°2 Host 1Host 2Host 3 rete fisica instradamento diretto Host 2 Net 2 Host 3 Net 2 Host 1 Net 1 rete fisica n°1 Host 2 Net 1 Host 3 Net 1 Host 9 Net 2 Host 9 Net 1 router instradamento indiretto

11 Architettura TCP/IPArchitettura 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 allinterno di una rete) gli indirizzi IP sono suddivisi in classi, in base alle dimensioni dei due campi

12 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 12 Classi di indirizzi IP 0networkhost Rete di classe A : 126 reti con host 1networkhost Rete di classe B : reti con host 0 1networkhost Rete di classe C : reti con 254 host 01 1multicast address011 1usi futuri bit

13 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 13 Subnetting mask 1networkhost01 1networkhost01subnet tutti 0tutti 1 Indirizzo di Classe C maschera di sottorete (subnet mask) Esempio: IP address = subnet mask = network = subnet = 7 (o 224) host = 16 (o 240)

14 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 14 Indirizzi IP particolari indirizzo dellhost ospite 0.x.x.xlhost x.x.x della rete ospite broadcast sulla rete ospite x broadcast alla rete x 127.x.x.xloopback

15 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo A A A-6A-02-B A-6A-02-B A-33-4B-A A-33-4B-A A-33-4B-A A A Routing IP (1) router link 1 link 2 router link 1 link link verso le altre reti salto locale salto remoto A

16 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 16 Routing IP (2) unentità di livello 4 (TCP o UDP) della stazione vuole inviare un pacchetto allanaloga entità della stazione : per far questo passa al livello 3 (IP) il pacchetto e specifica tra laltro lindirizzo IP del mittente e quello del destinatario

17 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 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 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 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 ( A-33-4B-A0) il pacchetto arriva al livello 3 del router 1 attraverso il suo link1

19 Architettura TCP/IPArchitettura 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 lindirizzo di livello 2 di quel link ( A-6A-02-B1)

20 Architettura TCP/IPArchitettura 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 A

21 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 21 indirizzi fisici ed indirizzi IP mezzo fisico livelli 1 e 2 transceiver scheda di rete indirizzo IP di livello 3 del destinatario segnali elettrici indirizzo MAC di livello 2 del prossimo nodo A-91-B2-84 driver della scheda di rete livello 3 livello 4 transceiver TCPUDP IP segmento datagram pacchetto trama indirizzo TSAP di livello 4 del destinatario porta 1080

22 Architettura TCP/IPArchitettura 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

23 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 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 Architettura TCP/IPArchitettura 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

25 Architettura TCP/IPArchitettura 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

26 Architettura TCP/IPArchitettura 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

27 Architettura TCP/IPArchitettura 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 coppia IP_address : port_number vi sono 2 16 possibili port number: i primi 256 sono pre-assegnati a servizi standard (well-known port) [25=SMTP, 110 =POP3, 80=HTTP,…]

28 Architettura TCP/IPArchitettura 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

29 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 29 intestazione TCP (1) 32 bit source portdestination port sequence number acknowledgement number ACKACK TCP header length URGURG PSHPSH RSTRST SYNSYN FINFIN window size checksumurgent pointer options (0 - N32bit) data (opzionale)

30 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 30 intestazione TCP (2)

31 Architettura TCP/IPArchitettura 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 allapplicazione rela- tiva, e se accettata, conferma al richiedente la connessione –in caso negativo, la connesione viene rifiutata

32 Architettura TCP/IPArchitettura 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 server client chiedo una con- nessione, il mio primo byte avrà numero (x) accetto la connessione mi aspetto di ricevere il byte numero (x+1) ed il mio primo byte avrà numero (y) ti invio i miei dati a partire dal byte (x+1), e mi aspetto di ricevere il byte numero (y+1) listen() accept()

33 Architettura TCP/IPArchitettura 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

34 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 34 trasferimento dati (1) SEQ=0, dati(2K) destinatario mittente invio i primi 2K, a partire da 0, faccio partire il timer immagazzino 2K nel buffer, comunico che ho ricevuto corretta- mente i byte , 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 devo trasmettere 5KByte4 KB buffer vuoto 2 K ACK=2048, WIN=2048 SEQ=2048, dati(2K)

35 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 35 trasferimento dati (2) destinatario mittente immagazzino altri 2K nel buffer, comunico che ho ricevuto correttamente i byte , 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 il destinatario legge i primi 2K dal buffer e li passa allapplicazione 4 KB buffer pieno 2 K ACK=4096, WIN=0 SEQ=2048, dati(2K) 2 K ACK=4096, WIN=2048

36 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 36 trasferimento dati (3) destinatario mittente immagazzino 1K nel buffer, comunico che ho ricevuto correttamente i byte , aspetto i byte a partire dal 5020, e posso ricevere ancora 1024 byte ACK=4096, WIN=2048 invio lultimo 1K, a partire dal byte numero 4096, e faccio partire il timer SEQ=4096, dati(1K) 2 K 1K 2 K 1K ACK=5020, WIN=1024

37 Architettura TCP/IPArchitettura 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

38 Architettura TCP/IPArchitettura 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

39 Architettura TCP/IPArchitettura 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 lintera connessione viene chiusa

40 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 40 rilascio della connessione utente B utente A ora anche io non ho altri dati da trasmettere e possiamo rilasciare la connessione non ho altri dati da trasmettere, per me la connessione si può rilasciare FIN ACK ora rilascio la connessione... … e ti avviso che mi sono sconnesso ora mi sconnetto anchio

41 Architettura TCP/IPArchitettura 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

42 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 42 formato pacchetto UDP 32 bit source portdestination port total length dati checksum

43 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 43 il sistema DNS luso diretto degli indirizzi IP (versione numerica) è scomo- do e poco mnemonico [ ] 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 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 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 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 45 DNS: organizzazione dei domini USAil resto del mondo subdomain 1 subdomain 2 top level domain com edu gov milorg ucismityale csengphil fr it uk chjp univeunipd lingmath unimi ing host.subdomainN.___.subdomain2.subdomain1.topleveldomain

46 Architettura TCP/IPArchitettura 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ù duno, gerarchicamente organizzati) per ogni host, il DNS ha il seguente record:

47 Architettura TCP/IPArchitettura 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 linsieme dei messaggi ricevuti

48 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 48 posta elettronica: il messaggio generalmente il messaggio è composto dalle seguenti informazioni (*=obbligatorie):

49 Architettura TCP/IPArchitettura 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) è 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 Architettura TCP/IPArchitettura 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 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 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 51 MTA MUA posta elettronica: architettura mittente MTA MUA destinatario

52 Architettura TCP/IPArchitettura 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 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 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 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 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 54 protocollo SMTP: esempio yyy.it client SMTP server SMTP xxx.it il client instaura una connessione affidabile con il server 220 (xxx.it READY FOR MAIL) il server si rende dispo- nibile a ricevere posta HELO (yyy.it) il client specifica il mittente 250 (xxx.it SAYS HELLO to yyy.it) il server si identifica il client è pronto a tras- mettere un messaggio MAIL FROM 250 (SENDER OK) il server conferma il mittente RCPT TO il client specifica il destinatario il server conferma il destinatario 250 (RECIPIENT OK) DATA il client avvisa che è pronto ad inviare i dati 354 (SEND MAIL) il server conferma che è pronto a ricevere i dati segue

55 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 55 protocollo SMTP: esempio yyy.it client SMTP server SMTP xxx.it 250 (MESSAGE ACCEPTED) il server riceve il messaggio una riga alla volta, fino allulrima riga contenente solo un. il server ha ricevuto tutto il messaggio, e ne da riscontro positivo il client trasmette il messaggio segue From: To: MIME-Version: 1.0 Message-Id: Content-Type:multipart... Subject: prova Content-Type: text/richtext Ciao, è una prova.. QUIT il client non ha altri messaggi e vuole rilasciare la connessione 221 (xxx.it CLOSING CONNECTION) il server accetta il rilascio della connessione

56 Architettura TCP/IPArchitettura degli elaboratori - Modulo B- A.Memo 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 Architettura TCP/IPArchitettura 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 lopportunità di attachment


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

Presentazioni simili


Annunci Google