protocollo tcp/ip indirizzamento ip - itisff.it - protocollotcp-ip.pdf · 1 protocollo tcp/ip &...

19
1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: Nasce per richiesta del Dipartimento della Difesa degli USA che intendeva poter creare una rete in grado di funzionare in qualsiasi tipo di situazione È divenuto lo standard di riferimento per Internet Non confondere i Layer del modello TCP/IP con quelli del modello OSI, anche se hanno la medesima nomenclatura Standard internazionale dal 1981 L’Application Layer (Strato Applicazione) L’application layer del modello TCP/IP gestisce protocolli di alto livello Verifica che i dati siano impacchettati nella maniera corretta prima di passarli allo strato inferiore di Trasporto Include specifiche per supportare trasferimento di file, e-mail, accesso (login) da remoto ed altre applicazioni, per es.: - HTTP: trasferimento pagine web - FTP: file transfer protocol - TFTP: trivial file transfer protocol - NFS: network file system - SMTP: inoltro posta elettronica

Upload: phamliem

Post on 27-Apr-2018

252 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

1

Protocollo TCP/IP & Indirizzamento IP

L’architettura TCP/IP:

• Nasce per richiesta del Dipartimento della Difesa degli USA

che intendeva poter creare una rete in grado di funzionare in qualsiasi tipo

di situazione

• È divenuto lo standard di riferimento per Internet

• Non confondere i Layer del modello TCP/IP con quelli del

modello OSI, anche se hanno la medesima nomenclatura

• Standard internazionale dal 1981

L’Application Layer (Strato Applicazione)

• L’application layer del modello TCP/IP gestisce protocolli di alto livello

• Verifica che i dati siano impacchettati nella maniera corretta prima di passarli allo strato inferiore

di Trasporto

• Include specifiche per supportare trasferimento di file, e-mail, accesso (login) da remoto

ed altre applicazioni, per es.:

- HTTP: trasferimento pagine web

- FTP: file transfer protocol

- TFTP: trivial file transfer protocol

- NFS: network file system

- SMTP: inoltro posta elettronica

Page 2: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

2

- TELNET: login remoto per il controllo di un host remoto

- SNMP: permette agli amministratori di rete di gestire le apparecchiature di rete e di diagnosticare i problemi di rete

- DNS: risoluzione dei nomi host in in dirizzi IP

- DHCP: per l’assegnazione dinamica di indirizzi IP

- RIP – BGP – Protocolli i routing attraverso i quali i router si scambiano informazioni di instradamento

Il Transport Layer (Strato di Trasporto) Due protocolli: TCP e UDP

Le unità dati (PDU) dei protocolli di trasporto si chiamano segmenti.

PDU segmento

Lo strato di trasporto:

• Fornisce il servizio di trasporto dall’host sorgente a quello di destinazione

• E’ la connessione logica tra 2 utenti finali della rete

• I protocolli di trasporto segmentano e riassemblano le applicazioni degli strati più alti in un flusso di dati che fornisce

servizi di trasporto end-to-end

Servizi offerti: TCP e UDP: SOLO TCP:

• Segmentazione dei dati • Stabilire operazioni end-to-end

provenienti dalle applicazioni di strati • Flow-control grazie alle sliding window

superiori

• Spedizione dei segmenti da un host all’altro • Affidabilità mediante Ack e Sequence Number

HEADER PROTOCOLL

(intestazione)

PAYLOAD (cioè la parte info dello strato di applicazione)

Page 3: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

3

L’UDP

è un protocollo connectionless, cioè non orientato alla connessione e al controllo del flusso dei segmenti, controlla solo la

correttezza dell’intestazione del segmento attraverso il check-sum dell’header

è adatto per servire applicazioni che richiedono velocità di trasferimento dati senza possibilità di ritrasmissioni

Si basano sui servizi dell’UDP le applicazioni: TFTP - SNMP - DHCP - DNS

Il TCP

è un protocollo connection oriented, cioè orientato alla connessione

controllo end-to-end mediante le Sliding Windows (finestre di comunicazione), gli

Acknowledgment e l’affidabilità dei numeri di sequenza (SN)

prima di trasmettere segmenti che trasportano i dati dell’applicazione instaura una connessione sicura attraverso 3 fasi:

Three-Way Handshake

1. A B SYN—(A) la sequenza ha

numero d’inizio X, il numero ACK

è 0, Il bit di SYN è settato, quello

di ACK no

2. B A ACK—(A) il numero della

sequenza è X+1, il numero

d’inizio sequenza di B è Y, il bit di

SYN e di ACK sono settati

3. A B ACK—(B) il numero di

sequenza di B è Y+1, il numero di

sequenza di A è X+1, il bit di ACK

è settato, quello di SYN no

I numeri X ed Y sono detti ISN, Initial

Sequence Number

Page 4: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

4

Al fine di avere un data transfer affidabile e connection-oriented i “segmenti” devono essere

recapitati tutti e nell’ordine corretto.

Se il mittente dovesse aspettare un ack per ogni segmento la velocità sarebbe molto bassa; ecco

perché molti dei protocolli connection oriented affidabili permettono a più di un segmento

di stare in rete. Il numero di segmenti che il mittente è autorizzato a spedire

pur non ricevendo un ack è detto finestra o dimensione della finestra (window size).

Il TCP usa i numeri di ack che si riferiscono al segmento che si aspetta per prossimo.

Il windowing si riferisce al fatto che la window size si negozia dinamicamente durante la sessione TCP.

Il windowing è un meccanismo di controllo di flusso. Richiede che la sorgente

riceva un ack dal destinatario dopo aver trasmesso una certa quantità di dati.

Il processo TCP in ricezione riporta una finestra al processo mittente.

Questa finestra specifica il numero di segmenti ,partendo dal numero ack,

che il processo ricevente è attualmente in

grado di accettare. Se la window size è 3 la sorgente deve

aspettare un ack prima di continuare a spedire.

Se l’ack non arrivasse si deve ritrasmettere, ad una velocità più lenta.

Page 5: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

5

Esempio

Nella figura l’host trasmittente manda tre

segmenti e poi aspetta un ack. Se il

destinatario può gestire solamente 2 segmenti allora il terzo è scartato,

specificando mediante ack che si aspetta il terzo pacchetto come

prossimo e che per lui la dimensione di finestra è 2. I protocolli dello strato di trasporto comunicano con i protocolli dello strato di applicazione attraverso delle “porte standard” codificate e numerate a livello universale. Indicano quale applicazione si serve del protocollo di trasporto.

I numeri di porte “famose”

Page 6: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

6

MSS (Massima Lunghezza del campo info di un segmento) = MTU – Header IP – Header TCP dove MTU = lunghezza massima campo info del protocollo di 2° livello. Header IP e Header TCP sono tipicamente di 20 byte ciascuno

Esepio EEEEMarco Ciampi

[email protected]

Esempio di Header del TCP

(Consultare il libro di testo per il significato delle varie voci

dell’intestazione)

Page 7: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

7

Internet Layer (Strato di Internet – 3° livello)

Ha lo scopo di individuare il miglior percorso attraverso la rete su cui far viaggiare i pacchetti e di fare Packet Switching

(commutazione di pacchetto)

Protocolli:

• ICMP – Per la diagnostica sull’effettiva possibilità di comunicazione a livello 3 ( per es. il comando ping )

• ARP - Serve per conoscere il MAC address (indirizzo della scheda di rete) di un host di destinazione, una volta noto il suo

indirizzo IP. Ogni scheda di rete ha due indirizzi: uno logico, che è l’indirizzo IP, e l’altro fisico che è l’indirizzo MAC (di 2° livello).

Quando un host mittente deve indirizzare un host destinatario deve conoscere sia l’indirizzo IP sia l’indirizzo della scheda di rete

di destinazione, in quanto deve passare quest’ultimo indirizzo al frame del protocollo di livello 2. Il protocollo ARP risolve gli

indirizzi IP in indirizzi delle schede di rete.

• IP (più famoso). Fornisce un servizio connectionless, fa “del suo meglio” (best effort) per i l recapito dei pacchetti,

trasferisce i dati tra Internet Layer e Network Access (strato di 2° livello), instrada i pacchetti verso gli host remoti.

Le unità dati (PDU) dei protocolli dello strato internet si chiamano pacchetti.

PDU pacchetto

I protocolli dello strato internet comunicano con i protocolli dello strato di trasporto attraverso delle “porte standard” codificate e numerate a livello universale. Indicano quale protocollo di trasporto si serve dello strato internet. Queste porte prendono il nome di “protocoll”

HEADER PROTOCOLL

(intestazione)

PAYLOAD (cioè la parte info dello strato di trasporto)

Page 8: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

8

Formato del pacchetto IP (vedi pagg. 267-268-269 del libro)

Page 9: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

9

Indirizzi IP pubblici e privati

La stabilità di Internet dipende direttamente dalla unicità degli indirizzi pubblici usati.

Un utente può ottenere indirizzi pubblici a sue spese o da un ISP (Internet Service Provider).

Gli indirizzi privati, invece, non appartenenti a reti direttamente interconnesse, non richiedono l’unicità; cioè host appartenenti a

reti private possono avere uguali indirizzi IP. Gli indirizzi appartenenti a tali gruppi non sono instradati nelle backbone (dorsali

internet) perché, i router di dordale (1° l ivell lo) li scartano subito.

Indirizzi privati

Gli indirizzi IP sono costituiti complessivamente da 4 byte (IPv4) e si compongono da un prefisso di rete o sottorete (network o

subnet prefix) e da una parte host. Per consentire l’identificazione del prefisso di rete si associa all’indirizzo IP una maschera di

sottorete (subnet mask). La subnet mask è una sequenza di 32 bit in cui i primi N bit consecutivi più significativi sono posti a

“1” e consentono di ricavare il prefisso di sottorete da un indirizzo IP; i rimanenti bit sono posti a “0” e consentono di ricavare

la parte host di un indirizzo IP.

Indirizzi riservati (non possono essere assegnati agli host)

0.0.0.0 – E’ utilizzato come indirizzo IP sorgente da un host che non ha ancora un vero indirizzo IP e lo richiede ad un server

DHCP

- Indirizzo di rete a sottorete

- Parte host composta da tutti “1”, è l’indirizzo di broadcast utilizzato quando un host sorgente intende inviare pacchetti a

tutti gli host della rete o della sottorete di appartenenza

127.x.x.x – Viene utilizzato per effettuare un loopback internamente ad un host per verificare tramite il protocollo ICMP se il

Page 10: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

10

proprio PC ha installato correttamente la suite TCP/IP

Subnetting

Il subnetting permette di identificare una rete e di dividerla in suttoreti (subnet). Consente di ottimizzare il numero di indirizzi da

assegnare agli host di diverse sottoreti.

Procedura per creare sottoreti da una rete assegnata

Ipotesi n° 1: la rete assegnata è una LAN (rete locale) privata non direttamente collegata ad internet

1) Si stabilisce il numero di sottoreti da creare in base alla necessità di separare gruppi di host, perché si trovano in ambienti

diversi oppure perché sono utilizzati per lavori diversi (per es. host in cui risiedono software per la progettazione e host

adibiti invece alla gestione del magazzino).

2) Si stabilisce il numero massimo di host da collegare a ciascuna sottorete

3) Si sceglie l’indirizzo di rete (privato) e la subnet mask. Quest’ultima avrà un numero di “1” consecutivi in base al numero di

sottoreti e al numero massimo di host che si intendono collegare a ciascuna sottorete. Per esempio, se si vogliono creare

3 sottoreti: subnet A con 50 host, subnet B con 250 host, subnet C con 100 host, si prende in considerazione la sottorete

con il numero maggiore di host, cioè la subnet B. Per garantire il collegamento di 250 host bisogna assegnare 250 indirizzi

IP, ciò è possibile se si riservano gli ultimi 8 bit dell’indirizzo di rete ( 28 = 256, restano alcuni indirizzi di riserva per

eventuale espansione della rete). Inoltre, siccome da una rete se ne vogliono ricavare 3 sottoreti, abbiamo bisogno di

prendere altri 2 bit dell’indirizzo di rete. Pertanto la subnet mask della rete principale deve avere un numero di “1”

consecutivi pari a 22 in quanto gli ultimi 10 bit servono per creare indirizzi di sottorete e di host. La subnet mask di

ciascuna sottorete deve invece avere un numero di “1” consecutivi pari a 24, in quanto gli altri 8 bit servono per gli indirizzi

dei loro host. Si può scegliere

Indirizzo di rete 192.168.0.0 / 22

Indirizzo subnet A 192.168.0.0 / 24

Indirizzo subnet B 192.168.1.0/ 24

Indirizzo subnet C 192.168.2.0/ 24

4) Si assegnano per ciascuna sottorete gli indirizzi IP degli host (in genere sono consecutivi). Di tutti gli indirizzi possibili che

si possono assegnare con un determinato numero di bit si devono sempre sottrarre due indirizzi particolari: quello della

sottorete (cioè la parte host dell’indirizzo composta da tutti “0” e quella composta da tutti “1” che rappresenta l’indirizzo di

Page 11: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

11

broadcast della sottorete. Quest’ultimo è un indirizzo che viene usato quando un determinato pacchetto è rivolto a tutti gli

host della sottorete)

5) Si stabiliscono il tipo e il numero dei dispositivi di rete. In genere per una rete privata è sufficiente un router che serve ad

interfacciare l’intera rete con il mondo esterno (internet) (vedi funzione NAT, pag. 283 del libro di testo), a smistare i

pacchetti tra i vari host delle sottoreti e a riservare tutta la rete da intrusioni esterne non volute (funzione di firewall). Inoltre

serve almeno uno switch per ciascuna sottorete. Se una sottorete raggruppa host lontani può essere necessario utilizzare

più di uno switch per sottorete (si tenga presente che un collegamento con cavo Ethernet può essere lungo al max 100

metri)

internet

router link subnet C

link subnet B

link subnet A

…. ……

…….

host host

host

…..

host

Switch 1

Switch 2

Switch 3

Switch 4

Page 12: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

12

Ipotesi n° 2: la rete assegnata è una LAN (rete locale) privata direttamente collegata ad internet

In questo caso è già assegnato un indirizzo di rete pubblico e la subnet mask che definisce il numero totale di indirizzi IP pubblici da

assegnare agli host di questa rete (gli indirizzi pubblici hanno un costo). Utilizzando i bit relativi alla parte host dell’indirizzo di rete si

possono ricavare un certo numero di sottoreti e un certo numero di host da collegare a ciascuna sottorete.

La procedura è analoga a quella precedente, la differenza è che in questo caso la subnet mask è assegnata ( non si sceglie) e di

conseguenza il numero di host con indirizzi IP pubblici è limitato. Inoltre è bene che ogni sottorete che si vuole ricavare abbia un suo router

che abbia le funzioni di firewall, di separazione da altre sottoreti, di server DNS (Domain Name System) e eventualmente di server DHCP.

Quest’ultima funzione è necessaria quando il numero di host che si vogliono collegare alla sottorete è maggiore del numero di indirizzi IP

pubblici a disposizione della sottorete, per cui gli host non possono avere ciascuno un indirizzo IP statico, ma viene loro assegnato dal

server DHCP dinamicamente, cioè di volta in volta ad ogni collegamento. Infine i router che collegano ciascuna sottorete sono a loro volta

collegati ad un router di livello superiore che rappresenta il router dell’intera rete.

Page 13: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

13

Router

- dispositivo di livello rete che interconnette segmenti o reti diverse

- ogni volta che un pacchetto attraversa il router, avvengono sia il processo di

decapsulamento del frame di arrivo per estrarre il pacchetto sia quello di incapsulamento del pacchetto nel frame di

partenza

- utilizza i protocolli di routing per scambiare informazioni con gli altri

router ed accorgersi così di cambiamenti nella topologia della rete

- costruisce e mantiene delle tabelle di routing che utilizza per decidere

su quale interfaccia inoltrare il pacchetto (dopo averlo incapsulato in un frame)

- valuta il percorso migliore che il pacchetto dovrà seguire e per farlo, si

basa su diverse metriche

- per consegnare il pacchetto a destinazione, utilizza le informazioni fornite dal

protocollo di livello 3

Interfaccia:

porta di ingresso/uscita del router attraverso la quale esso si collega con un’altra rete o sottorete. Un router ha più interfacce

dalle quali riceve in ingresso i pacchetti dalle varie reti/sottoreti e sulle quali inoltra i pacchetti verso altre reti/sottoreti.

Page 14: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

14

3/45

Routing:

è una funzionalità del Livello 3 della pila OSI che consiste

nell’individuazionedel percorso più efficiente da far intraprendere al pacchetto e nell’operazione di instradamento del pacchetto.

Ciò viene eseguito attraverso la consultazione di una particolare “tabella di routing”.

La tabella di routing è composta da N righe e M colonne.

Ogni riga viene denominata route (percorso) ed è costituita dalle seguenti informazioni:

- indirizzo IP della rete di destinazione e la corrispondente subnet mask

- indirizzo IP del router a cui va inoltrato il pacchetto per raggiungere la rete di destinazione (forwarding o next hop)

- metrica o costo o distanza. E’ un numero che definisce la priorità del percorso nel caso in cui vi siano più percorsi che

portano alla stessa rete di destinazione. La metrica viene calcolata in base a dei parametri che dipendono dai criteri

stabiliti dall’amministratore di rete e dal tipo di protocollo utilizzato per aggiornare la tabella di routing.

C’è una riga nella tabella di routing che corrisponde alla default route. Questo è un percorso che il router prende in considerazione

quando gli arriva un pacchetto di cui non riesce a trovare la rete di destinazione. In questo caso il router invia il pacchetto al router di

livello gerarchico superiore in quanto ha una visione più ampia della rete. La default route ha per convenzione un particolare indirizzo

IP di rete di destinazione: 0.0.0.0 /0

Per router periferici che hanno un solo collegamento con il mondo esterno, la tabella di routing può essere compilata

dall’amministratore di rete. In questo caso si parla di routing statico.

In tutti gli altri casi il router si avvale di protocolli specifici che scambiano informazioni con i router vicini per aggiornare dinamicamente

la tabella di routing aggiungendo nuove righe (route) o cancellandone altre quando si verificano malfunzionamenti verso alcune

direzioni.

Esistono due famiglie di protocolli di routing:

- IGP (Interior Gateway Protocols) utilizzati per effettuare il routing all’interno di reti appartenenti allo stesso sistema

amministrativo (sistema autonomo)

RIP (Routing Information Protocol)

IGRP (Interior Gateway Routing Protocol)

EIGRP (Enhanced Interior Gateway Routing Protocol)

OSPF (Open Shortest Path First)

Page 15: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

15

- EGP (Exterior Gateway Protocols) utilizzati per il routing tra sistemi autonomi

BGP (Border Gateway Protocol)

4/45

Page 16: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

16

Sintesi delle operazioni del router

- Riceve su una porta (interfaccia) di ingresso un frame del protocollo di livello 2 che trasporta il pacchetto IP. Esegue la decaspulation, cioè estrae il pacchetto dal frame

- Legge l’indirizzo IP dell’host di destinazione presente nel pacchetto di arrivo. - Consulta le righe della tabella di routing, in particolare le subnet mask. Esegue l’AND bit a bit tra ciascuna subnet mask e

l’indirizzo IP dell’host di destinazione. Dall’operazione di AND ottiene un indirizzo di rete. - Se l’indirizzo di rete ottenuto coincide con l’indirizzo IP della rete di destinazione presente nella riga corrispondente della

tabella di routing inoltra il pacchetto all’indirizzo IP del prossimo router che consente di raggiungere la rete di destinazione. Se la rete di destinazione è direttamente connessa la nostro router, allora il pacchetto è inoltrato all’indirizzo IP dell’interfaccia che è direttamente collegata alla rete di destinazione.

- Se l’indirizzo di rete ottenuto attraverso l’operazione di AND non coincide con nessun indirizzo di rete presente nella tabella

di routing, allora segue la route di default, cioè invia il pacchetto al gateway predefinito che è il router gerarchicamente

superiore.

ESEMPIO DI TABELLA DI ROUTING (FIG. A PAG. 2088 DEL LIBRO)

Page 17: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

17

STRUTTURA HARDWARE DI UN ROUTER (FIG. A PAG. 290 DEL LIBRO) CONSULTARE IL LIBRO A PAG. 289 – 290 – 291) 5/45

Page 18: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

18

Page 19: Protocollo TCP/IP Indirizzamento IP - itisff.it - ProtocolloTCP-IP.pdf · 1 Protocollo TCP/IP & Indirizzamento IP L’architettura TCP/IP: • Nasce per richiesta del Dipartimento

19