RETI INTERNET MULTIMEDIALI Lucidi delle Lezioni - Capitolo II

Documenti analoghi
RETI TELEMATICHE Lucidi delle Lezioni Capitolo II

TCP/IP un introduzione

Tappe evolutive della rete Internet


RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Reti di Calcolatori in Tecnologia IP

TCP/IP. Principali caratteristiche

Indirizzamento IP. Politecnico di Milano Facoltà di Ingegneria dell Informazione

Internet Protocol Versione 4: aspetti generali

Protocollo IP. Pacchetto e comandi

Un caso estremo per gli algoritmi di routing: Reti Mobili Ad Hoc (MANET)

4 - Il livello di trasporto

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Livello Trasporto Protocolli TCP e UDP

Università degli Studi di Bergamo

Il protocollo IP A.A. 2006/2007. Alessandro Botticelli

Il protocollo IP A.A. 2005/2006. Walter Cerroni. Internet Protocol (IP) - RFC 791

Reti. Impianti Informatici

Anno Accademico Corso di Reti di Calcolatori e Comunicazione Digitale. Modulo 3 : TCP/IP Lo strato di rete.

Il protocollo IP (Internet Protocol)

Reti di Calcolatori. IL LIVELLO RETE IN INTERNET Protocollo IP

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Transmission Control Protocol

ICMP. (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP. Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery

Architetture di router IP

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

IL LIVELLO RETE IN INTERNET Protocollo IP

Reti di Calcolatori IL LIVELLO RETE

I protocolli UDP e TCP

Reti di calcolatori. Lezione del 17 giugno 2004

Problemi legati alla sicurezza e soluzioni

Configurazione delle interfacce di rete

Protocolli di Comunicazione

Reti di Telecomunicazioni R. Bolla, L. Caviglione, F. Davoli. Internet Protocol (IP) L indirizzamento IP ICMP. ARP e RARP DHCP NAT 32.

Requisiti. Coesistenza tra vecchio TCP/IP e IPv6. Sommario. Motivazione e Cronologia. Dimensione dell'header IP. IPv6 non è compatibile con IPv4

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

SUBNETTING E SUPERNETTING

Introduzione alla rete Internet

Architetture di router IP

Misure di traffico con IPv6

Il livello trasporto Protocolli TCP e UDP

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Livello di trasporto e TSAP

Marco Listanti. Indirizzamento IP. DIET Dept. Telecomunicazioni (Canale 2) - Prof. Marco Listanti - A.A. 2016/2017

Il livello trasporto: Introduzione e protocollo UDP

Corrispondenza tra OSI e TCP/IP. Il TCP/IP è un protocollo a 4 livelli, ecco l analogia con OSI:

Titolo della presentazione

Indirizzi Internet. Indirizzi Internet (2)

Gli indirizzi IP. Gli indirizzi IP sono univoci a livello mondiale e vengono assegnati da un unica autorità ICANNN

Il livello Rete in Internet

Tecnologie di Sviluppo per il Web

Reti di Calcolatori. Il software

No. Time Source Destination Protocol Info DHCP DHCP Discover - Transaction ID 0xec763e04

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

IP Internet Protocol

MODELLI ISO/OSI e TCP/IP

IPv4 Internet Protocol Versione 4

Reti di comunicazione

L architettura di TCP/IP

L architettura di rete TCP/IP. 1

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

Concetti fondamentali delle reti

Forme di indirizzamento

Formato del Datagram IP. Utilizzo del Type of Service. Formato del Datagram IP (I word) Prof. Vincenzo Auletta. Version HLEN. Type of Service (TOS)

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. Modelli Funzionali

Protocollo TCP/IP & Indirizzamento IP

Gli indirizzi dell Internet Protocol. IP Address

Livello Network e Livello Transport nel TCP/IP. IP Livello Network

Argomenti: ! Servizi dello strato di trasporto! multiplexing/demultiplexing! Servizio senza connessione: UDP

Corso di Reti di Telecomunicazioni. Giovanni Schembra. Trasmissione trame su canale broadcast

LE RETI DI COMPUTER. Il modello TCP/IP, Indirizzi IP

Livello trasporto in Internet

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Il livello di Trasporto del TCP/IP

Livello trasporto. Servizi del livello trasporto

IL LIVELLO TRASPORTO Protocolli TCP e UDP

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Pianificazione di reti IP Subnetting e CIDR

Politecnico di Bari. Facoltà di Ingegneria Elettronica. Corso di Reti di Telecomunicazioni

Architettura Internet

Indirizzi IP. Lo strato IP dell architettura TCP/IP fornisce principalmente le funzioni indirizzamento instradamento

Una definizione di rete

Sicurezza nelle reti IP

Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP

Il modello TCP/IP. Sommario

(parte 2) DHCP e NAT

Collegamento dati per accesso ad Internet. Informatica Generale (CdL in E&C), A.A Informatica Generale (CdL in E&C), A.A.

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Internet e protocollo TCP/IP

Reti standard. Si trattano i modelli di rete su cui è basata Internet

FONDAMENTI DI RETI E TELECOMUNICAZIONE

Formato del datagramma IP

Parte II: Reti di calcolatori Lezione 16

Reti di Telecomunicazione Lezione 8

Indirizzi IP. Architettura di TCP/IP. IP: Internet Protocol. IP:Internet Protocol. Il livello Network si occupa di: È il livello di Network di TCP/IP

Transcript:

Prof. Giuseppe F. Rossi E-mail: giuseppe.rossi@unipv.it UNIVERSITA' DEGLI STUDI DI BERGAMO A.A. 2016/17 - II Semestre RETI INTERNET MULTIMEDIALI Lucidi delle Lezioni - Capitolo II Capitolo II 1/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Struttura del capitolo WARNING! IL PRESENTE CAPITOLO HA SOLO L'OBIETTIVO DI RICHIAMARE PER SOMMI CAPI ALCUNI CONCETTI FONDAMENTALI RIGUARDANTI L'ARCHITETTURA TCP/IP TALI CONCETTI COSTITUISCONO UN PREREQUISITO PER AFFRONTARE I TEMI TRATTATI NELL'INSEGNAMENTO DI RETI INTERNET MULTIMEDIALI PER COLMARE EVENTUALI LACUNE SI CONSIGLIA (VIVAMENTE!) DI CONSULTARE LE SLIDE DEL CORSO DI FONDAMENTI DI RETI E TELECOMUNICAZIONI Capitolo II 2/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Architettura TCP/IP Le componenti fondamentali Collocazione architetturale dei principali protocolli: la corrispondenza TCP/IP-OSI è possibile solo a livello 3 e (parzialmente) a livello 4 Application Services Applicazioni TCP/IP Presentation Services TCP UDP Session Transport IP (+ protocolli di servizio) Network Livelli 1 e 2 (es. Ethernet, Token Ring,... ) TCP/IP Stack Data Link Control Physical OSI Reference Model Capitolo II 3/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Architettura TCP/IP Il modello classico di rete La struttura classica di una rete TCP/IP prevede una dorsale (backbone) intermedia con commutazione dei pacchetti a livello IP (3 ) Router IP (Gateway IP, nel vecchio linguaggio): nodi intermedi di commutazione Non utilizzano i livelli al di sopra del 3 Host IP: nodi finali (mittenti/destinatari) Utilizzano tutti i livelli architetturali Appl. Appl. TCP/UDP IP Router IP IP Router IP Router IP IP Router IP IP TCP/UDP IP Liv 1 e 2 Liv 1 e 2 IP Host IP Capitolo II 4/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il protocollo IP Esistono 2 diverse versioni di Internet Protocol (di fatto sono protocolli tra loro diversi, aventi in comune alcune caratteristiche di base), le quali pertanto determinano 2 diverse architetture di comunicazione TCP/IP Internet Protocol version 4 (IPv4) E' la versione utilizzata da Internet fin dai primi anni '80 IPv4 viene descritto in RFC791 (J. Postel) - Settembre 1981 Internet Protocol version 6 (IPv6), inizialmente noto anche come IPng (IP next generation) Protocollo formalizzato nel corso di una serie di studi iniziati nei primi anni '90 in sede IETF (Internet Engineering Task Force), sostituirà progressivamente a IPv4 IPv6 viene descritto in RFC2460 (S. Deering, R. Hinden) - Dicembre 1998 Capitolo II 5/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Le caratteristiche di base del protocollo IPv4 IPv4 appartiene alla famiglia dei protocolli di tipo non confermato Caratteristiche di IPv4 con riferimento alle funzioni svolte da un livello architetturale Incapsulamento: SI (IPv4 incapsula le PDU provenienti dai livelli superiori) Frammentazione: SI Consegna in sequenza: NO Controllo di flusso: NO Controllo degli errori: sostanzialmente NO; l'unico controllo presente riguarda l'integrità della sola header di IPv4 (vedasi più avanti) Multiplazione dei protocolli (di livello superiore): SI Modalità di trasferimento delle PDU tra le entità comunicanti: connectionless (le PDU-IP prendono il nome di datagram) Capitolo II 6/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il datagram IPv4 Struttura della PDU-DATI del protocollo IPv4 (datagram IPv4), rappresentata su righe di 32 bit a partire dall'alto a sinistra 0 4 8 16 19 24 31 Version H_length Type Of Service Total Length Identification Flags Fragment Offset Header IPv4 Time-To-Live Protocol Header Checksum Source IP Address Destination IP Address IP Option (campi opzionali) Payload Capitolo II 7/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il datagram IPv4 Significato dei campi del pacchetto IPv4 Campo Lung. (in bit) Descrizione Version 4 Versione corrente del protocollo IP, cioé 4 HLength 4 Lunghezza totale della header IPv4 misurata in parole di 32 bit Type Of Service 8 Campo spesso ignorato nelle varie implementazioni di IPv4; al suo interno presenta una struttura particolare che verrà analizzata nella prossima slide. Di recente é stato ridefinito nell'ambito delle tecniche per il raggiungimento di livelli di Quality-of-Service su reti IP (approccio Diff_Serv) Total Length 16 Lunghezza totale in byte del datagram IPv4, compresa la header Identification 16 Campo per la gestione della frammentazione; i fragment originati dallo stesso datagram devono avere lo stesso valore di Identification Flags 3 Campi per la gestione della frammentazione Fragment Offset 13 Campo per la gestione della frammentazione. Esprime il posizionamento (in multipli di 8 byte) della parte DATI del fragment rispetto alla parte DATI del datagram originale Time To Live 8 Protocol 8 Header Checksum 16 Esprime (in secondi) il tempo per il quale un datagram può permanere nella rete. Su ogni nodo intermedio viene decrementato di almeno 1 e, se raggiunge il valore zero, il datagram deve essere scartato Identifica l'ulp il cui messaggio é trasportato nella parte DATI (per esempio TCP=6; UDP=17;... ) Complemento a 1 della somma in complemento a 1 della header IP vista come sequenza di parole di 16 bit Capitolo II 8/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il datagram IPv4 Significato dei campi del pacchetto IPv4 (cont.) Campo Lung. (in bit) Descrizione Source IP Address 32 Indirizzo IP del mittente Dest. IP Address 32 Indirizzo IP del destinatario finale (salvo nel caso in cui é presente la "Source Route Option") IP Options var Estensioni opzionali alla header IPv4 Payload var Messaggio del protocollo di livello superiore Struttura del campo "Type Of Service" (TOS) 3 1 1 1 1 1 Struttura del campo "Flag" 1 1 1 Precedence D T R C 0 0 DF M Unused (deve essere '0') Minimize cost Maximize reliability Maximize throughput Minimize delay Indica l'importanza del datagram More Fragment Don't Fragment Reserved (deve essere '0') Capitolo II 9/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Indirizzamento IPv4 Gli indirizzi IPv4 sono di lunghezza fissa pari a 32 bit (4 byte) e sono espressi con notazione "dotted decimal" (si esprime il valore decimale di ogni byte) IPv4 definisce 3 tipi di indirizzi Unicast Multicast Broadcast Schemi di indirizzamento Schema iniziale: su base classe (classfull) Schema introdotto alla fine del '93: non su base classe (classless) Capitolo II 10/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Indirizzamento IPv4 Lo schema classfull Lo spazio di indirizzamento IPv4 è suddiviso in 5 insiemi di dimensioni diverse (agli archi dell'albero qui sotto riportato sono stati associati i prefissi binari che identificano i 5 insiemi) Spazio 0* IPv4 1* Indirizzi di classe A (2 31 ) 10* 11* Indirizzi di classe B (2 30 ) 110* 111* C D B E A Indirizzi di classe C (2 29 ) Spazio di indirizzamento IPv4 (2 32 ) 1110* Indirizzi di classe D (2 28 ) 1111* Indirizzi di classe E (2 28 ) Capitolo II 11/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Indirizzamento IPv4 Lo schema classfull I 5 insiemi (A, B, C, D, E) che identificano le classi sono tra loro disgiunti Ognuno degli insiemi A, B, C (spazio unicast) si suddivide in una serie di sottoinsiemi Ciascun sottoinsieme è identificato da un Net_Addr I sottoinsiemi sono tra loro disgiunti I sottoinsiemi sono di ugual cardinalità I Net_Addr appartenenti ad una data classe sono identificati da prefissi costituiti dallo stesso numero di bit Classe A Prefisso "0*" (Bin) di 8 bit 2 7 Net_Addr 2 24 indirizzi per ogni Net_Addr Classe B Prefisso "10*" (Bin) di 16 bit 2 14 Net_Addr 2 16 indirizzi per ogni Net_Addr Classe C Prefisso "110*" (Bin) di 24 bit 2 21 Net_Addr 2 8 indirizzi per ogni Net_Addr Capitolo II 12/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Indirizzamento IPv4 Lo schema classfull (senza subnetting) Rappresentazione grafica dello spazio di indirizzamento IPv4 unicast (senza subnetting): esso costituisce uno schema d'indirizzamento gerarchico a 2 livelli Net Addr Net Addr Net Addr Net Addr Net Addr Net Addr Net Addr Net Addr Net Addr Net Addr Net Addr Net Addr Net Addr Net Addr Host Addr Host Addr Host Addr Host Addr Host Addr Host Addr Host Addr Host Addr Host Addr Host Addr Host Addr Host Addr Rappresentazione grafica dello spazio di indirizzamento di una classe unicast (A, B, o C) Rappresentazione grafica dello spazio di indirizzamento di un Net_Addr di classe A, B, o C Capitolo II 13/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Indirizzamento IPv4 Lo schema classfull Rappresentazione grafica dello spazio di indirizzamento IPv4 multicast Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Group Addr Rappresentazione grafica dello spazio di indirizzamento della classe D multicast Capitolo II 14/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Indirizzamento IPv4 Lo schema classfull Considerazioni sullo schema classfull Lo spazio di indirizzamento IPv4 unicast identificato da un Net_Addr può essere suddiviso in diversi sottoinsiemi (subnet), i quali, a loro volta, possono essere ri-suddivisi in sotto-sottoinsiemi (subnet di subnet), e così via Un simile schema di indirizzamento è caratterizzato dalle seguenti gerarchie Il livello gerarchico massimo è identificato dal Net_Addr (non esiste alcuna possibilità di definire delle gerarchie all'interno del campo Net_Addr) Una strutturazione a più livelli gerarchici può essere definita solo all'interno del campo Host_Addr attraverso una serie di operazioni di subnetting Capitolo II 15/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Indirizzamento IPv4 Lo schema classfull (con subnetting) Rappresentazione grafica dello spazio di indirizzamento IPv4 unicast (con subnetting): esso costituisce uno schema d'indirizzamento gerarchico a più di 2 livelli Subnet Addr Subnet Addr Host Addr Host Addr Host Addr Host Addr Host Addr Subnet Addr Subnet Addr Host Addr Host Addr Host Addr Rappresentazione grafica dello spazio di indirizzamento di un Net_Addr di classe A, B, o C Rappresentazione grafica dello spazio di indirizzamento di una subnet di un Net_Addr di classe A, B, o C Capitolo II 16/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Indirizzamento IPv4 Lo schema classless Lo schema classless Il nuovo schema permette di introdurre gerarchie d'indirizzamento anche all'interno del "vecchio" campo Net_Addr ottenendo così un'aggregazione di più Net_Addr (supernetting) in un'unica regola Il vecchio schema su base classe non é altro che un caso particolare del nuovo schema a prefissi Questo schema prende il nome di classless addressing scheme (talvolta impropriamente chiamato CIDR - Classless InterDomain Routing) Capitolo II 17/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo UDP UDP è un protocollo non confermato Caratteristiche di UDP (con riferimento alle funzioni svolte da un livello architetturale) Encapsulation: SI (UDP incapsula le PDU provenienti dai livelli superiori) Segmentation/Fragmentation: NO Ordered delivery: NO Flow control: NO Error control: sostanzialmente NO; l'unico controllo (opzionale) presente riguarda l'integrità della PDU (vedasi più avanti) Protocol multiplexing: SI Connection control: UDP è di tipo connectionless (le PDU si chiamano datagram UDP) Capitolo II 18/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo UDP Il formato del datagram UDP (PDU-DATI di UDP) 0 16 31 UDP header Source Port Message Length Destination Port Checksum Payload Capitolo II 19/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo UDP Il significato dei campi della header UDP Campo Lung. (in bit) Descrizione Source Port 16 Port_Number locale associato al processo che invia dati Destination Port 16 Port_Number sul quale il processo remoto sta aspettando i dati Message Length 16 Lunghezza totale in byte del datagram UDP compresa la header Checksum 16 Campo di controllo (opzionale) dell'intero datagram (se non usato vale 0) Payload Var Messaggio trasportato (del livello superiore) Capitolo II 20/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo UDP Algoritmo di calcolo del campo Checksum Complemento a 1 della somma in complemento a 1 su 16 bit (lo stesso algoritmo usato per l'header_checksum di IPv4) del messaggio costruito concatenando UDP pseudo-header UDP header UDP payload La pseudo-header UDP non viene trasmessa e contiene al suo interno gli indirizzi IPv4 di mittente e destinatario: questo costituisce una netta violazione del principio di indipendenza tra livelli, in quanto introduce una interdipendenza tra i livelli 3 e 4 Pseudo-Header UDP Header UDP Payload Capitolo II 21/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo TCP TCP è un protocollo confermato Caratteristiche di TCP (con riferimento alle funzioni svolte da un livello architetturale) Encapsulation: SI (TCP incapsula le PDU provenienti dalle applicazioni a livello superiore) Segmentation/Fragmentation: NO Ordered delivery: SI Flow control: SI Error control: SI Protocol multiplexing: SI Connection control: TCP è di tipo connection-oriented (le PDU-TCP si chiamano segment TCP, mentre la sessione comunicativa si chiama connection TCP) Capitolo II 22/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo TCP La modalità di trasferimento del TCP A finestra scorrevole di messaggi (sliding window) secondo uno schema di ritrasmissione ARQ di tipo ibrido (tra il Go-Back-n e il Selective-Repeat) L'entità destinataria in generale accetta PDU fuori sequenza (schema Selective-Repeat) che comunque non vengono consegnate al livello superiore fin tanto che la sequenza non è completa, in quanto tutti i protocolli di tipo ARQ 'da specifica' devono comunque sempre garantire l'ordered delivery) Nel caso di errore l'entità TCP mittente ritrasmette tutte le PDU presenti in Wtrasm a partire dalla PDU in errore, cioè la prima della finestra (schema Go-Back-n) Attualmente molte implementazioni di TCP (es. TCP con SACK) permettono la ritrasmissione di sole PDU (presunte) in errore, per cui in quei casi il protocollo TCP adotta un puro schema ARQ Selective-Repeat (quindi Wtrasm >1 e Wrec >1) Capitolo II 23/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo TCP Il valore Wtrasm della finestra di trasmissione Per ogni connection TCP attiva (una connection TCP fornisce un servizio di trasferimento duplex) si hanno due Wtrasm, una per ciascun senso, i cui valori sono dinamicamente variabili Wtrasm = min (Wrec, Wcong) Wrec (receiver window) Valore esplicitamente comunicato dall'entità ricevente sulla base del proprio stato di congestione Wcong (congestion window) Valore autoimposto dall'entità mittente attraverso una serie di algoritmi (slow-start, congestion avoidance,... ) sulla base dell'osservazione di alcuni eventi associati a stato di congestione della rete intermedia Capitolo II 24/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo TCP Il segment TCP presenta una header minima di 20 byte 0 4 10 16 24 31 Source Port Destination Port Sequence Number TCP header Acknowledgement Number H_lnth Reserved Code Bits Window Checksum Urgent Pointer TCP Option Padding Payload URG ACK PSH RST SYN FIN Capitolo II 25/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo TCP Il significato dei campi della header TCP Campo Lung. (in bit) Descrizione Source Port 16 Port_Number locale associato al processo che invia dati Destination Port 16 Port_Number sul quale il processo remoto sta aspettando i dati Sequence Number 32 Numero di sequenza del primo byte della parte dati ACK Number 32 Numero di sequenza del primo byte della parte dati del segment atteso HLength 4 Lunghezza della header TCP (in parole da 32 bit) Code Bits 6 Significato del segment (URG, ACK, PSH, RST, SYN, FIN) Window 16 Numero di byte che il destinatario é disposto a ricevere (Wrec) Checksum 16 Campo di controllo su tutto il segment TCP (header + dati) Urgent Pointer 16 Usato per trasmissioni di dati "out-of-band" Payload Var Byte trasportati (del livello superiore) Capitolo II 26/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello Transport nella architettura TCP/IP Le caratteristiche del protocollo TCP Algoritmo di calcolo del campo Checksum Complemento a 1 della somma in complemento a 1 su 16 bit della struttura costruita concatenando (lo stesso algoritmo usato per l'header_checksum di IPv4) TCP pseudo-header TCP header TCP data Come nel caso UDP la pseudo-header TCP non viene trasmessa e contiene gli indirizzi IPv4 di mittente e destinatario (violazione del principio architetturale dell'indipendenza dei livelli) Pseudo-Header TCP Header TCP Payload Capitolo II 27/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

La nuova architettura TCP/IPv6 La struttura Collocazione architetturale dei principali protocolli utilizzati nella nuova suite TCP/IP Application Services Applicazioni classiche TCP/IP (adattate) Presentation Services Session TCP (adattato) UDP (adattato) Transport IPv6 (+ ICMPv6) Network Servizi di livello 1 e 2 (Ethernet, WiFi, PPP,... ) TCP/IP Stack (IPv6) Data Link Control Physical OSI Reference Model Capitolo II 28/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

La nuova architettura TCP/IPv6: livello Network Caratteristiche di IPv6 IPv6 costituisce una evoluzione di IPv4 e quindi ne mantiene le caratteristiche essenziali Tipologia di protocollo: non confermato Modalità di trasferimento delle PDU tra le entità comunicanti: connectionless Supporto della frammentazione: SI (ma in forma più limitata rispetto a IPv4) Garanzia di consegna in sequenza: NO Funzioni di controllo di flusso: NO Funzioni di controllo degli errori: NO (neppure il controllo sull'integrità della sola header) Funzione di multiplazione dei protocolli di livello superiore: SI Capitolo II 29/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

La nuova architettura TCP/IPv6: livello Network Indirizzamento IPv6 Indirizzi a lunghezza fissa pari a 128 bit Indirizzo di dimensione quadrupla rispetto al caso IPv4 2 128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 3,4 10 38 Solo per fare qualche confronto... N A (numero di Avogadro) = 6,022 10 23 Come nel caso IPv4, gli indirizzi IPv6 sono associati alle interfacce di un nodo E' possibile (... e molto comune) assegnare più indirizzi IPv6 ad una singola interfaccia di un nodo L'assegnazione degli indirizzi IPv6 di norma avviene attraverso meccanismi di autoconfigurazione Capitolo II 30/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

La nuova architettura TCP/IPv6: livello Network Indirizzamento IPv6 Indirizzi unicast Identificano in modo univoco una singola interfaccia Destinatario unicast: l'interfaccia cui è stato assegnato quell'indirizzo Indirizzi multicast Identificano un gruppo di interfacce, comunque dislocate nella internetwork Destinatario multicast: tutte le interfacce del gruppo di multicast Indirizzi anycast Identificano un gruppo di interfacce, comunque dislocate nella internetwork Destinatario anycast: una delle interfacce del gruppo di anycast (l'interfaccia "più vicina" secondo le metriche dei protocolli di routing) Capitolo II 31/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

La nuova architettura TCP/IPv6: livello Network Indirizzamento IPv6 Indirizzi per uso globale Sono gli indirizzi da utilizzare sulla rete IPv6 ad indirizzamento pubblico (Internet v6) Indirizzi per uso locale Indirizzi per uso locale nell'ambito dello stesso link Sono indirizzi utilizzabili solo per comunicazioni tra nodi IPv6 adiacenti (neighbor node) Indirizzi per uso locale nell'ambito dello stesso site Sono indirizzi utilizzabili all'interno di una intranet a numerazione privata Capitolo II 32/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

La nuova architettura TCP/IPv6: livello Network La struttura del datagram IPv6 Datagram semplificato rispetto ad IPv4, al fine di ottimizzare i tempi di commutazione delle PDU-IPv6 Eliminazione del campo Header_Checksum Eliminazione dei campi per la gestione della frammentazione: tale operazione ora può essere eseguita solo dall'host mittente e non più dai router intermedi La header IPv6 di base di lunghezza fissa (40 byte) con possibilità di estensione attraverso una catena di "extension header" Possibilità di discriminazione delle classi di traffico attraverso il campo TRAFFIC_CLASS (corrispondente al campo Type_Of_Service di IPv4) Possibilità di discriminazione di una sessione comunicativa attraverso il campo FLOW_LABEL (concetto nuovo non presente in IPv4) Capitolo II 33/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

La nuova architettura TCP/IPv6: livello Network La struttura del datagram IPv6 Basic Header + Extension Header (opzionali) + Payload Next Header IPv6 Basic Header Next Header IPv6 Extension Header Next Header IPv6 Extension Header........ Payload Capitolo II 34/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

La nuova architettura TCP/IPv6: livello Network La struttura del datagram IPv6 Struttura della "Basic Header" IPv6 0 3 11 15 23 31 Version Traffic Class Flow Label Payload Length Next Header Hop Limit Source Address Destination Address Capitolo II 35/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017

Il livello applicativo nella architettura TCP/IP I processi applicativi sono le sorgenti e le destinazioni dei traffici trasportati attraverso i protocolli di comunicazione sottostanti Detti processi interagiscono con lo stack TCP/IP attraverso la socket interface La multiplazione dei traffici applicativi utilizzanti lo stesso protocollo di trasporto è permessa attraverso il concetto di port (identificato da un port number) La scelta tra il protocollo TCP e il protocollo UDP dipende dal tipo di applicazione Capitolo II 36/36 Copyright Ing. Giuseppe F. Rossi, 1995-2017