Sei sulla pagina 1di 10

PROTOCOLLI DI ROUTING EGP(Exterior Gateway Protocol)

Questi protocolli vengono usati per regolare l’andamento dei pacchetti tra host di AS diversi.
I Protocolli EGP sono:
● EGP
● BGP(Border Gateway Protocol)
● IDRP(inter-domain routing protocol)

PROTOCOLLO EGP
E’ il primo usato nella rete internet. oggi usato su tutti i router,nonostante stia venendo
sostituito con il BGP.
Le sue caratteristiche principali sono tre:
● neighbour acquisition:controlla se ci sono accordi per essere vicini
● neighbour reachability: controlla le connessioni con i vicini
● network reachability: permette di dare informazioni sulle reti raggiungibili da ogni
vicino.

il protocollo EGP fu progettato per una tipologia ad albero e non per quelle più complesse
con i cicli.
Si crea cioè un sistema formato da una connessione tra core router.
l’EGP genera dei routing update contenenti informazioni sulle reti raggiungibili.
i pacchetti vengono mandati agli altri router a intervalli.
attraverso le informazioni raccolte viene poi creata la tabella di instradamento.
l’EGP ha anche molti problemi:
● Basa le sue decisioni in base alla raggiungibilità
● non ammette la presenza di maglie.
● i pacchetti di routing update sono molto grandi e possono creare delle congestioni.
● non si adatta alle modifiche
● non ci sono meccanismi di protezione
● se si rompe un router tutta la rete si danneggia.

PROTOCOLLO BGP
Il protocollo BGP è di tipo path vector,un’evoluzione del distance vector,dove nel vettore si
elencano tutti gli AS che devono essere attraversati per raggiungere una destinazione.
Per usare questo protocollo c’è bisogno dell’ASN(Autonomous system number) questo
numero:
● è tra 1 e 65.535
● i numeri maggiori di 64511 sono riservati agli ISP più grandi

Il path vector risolve anche il problema dei cicli e architetture complesse che c’era con
l’EGP.
i cicli vengono direttamente evitati e quando un router riceve un path vector controlla se il
suo AS è gia al suo interno.
se lo è può esserci un loop e quindi viene ignorato,altrimenti il path vector viene aggiornato
con annessa l’AS di appartenenza .
i messaggi del Path vector possono essere quattro:
● Open: viene trasmesso quando viene attivato un router BGP vicino e
contiene informazioni per identificare l’AS di chi trasmette,durata del timeout
per considerare non più attivo un vicino e dati di autenticazione.
● UpDate: contiene il path vector
● Notification: messaggi di notifica di errori
● KeepAlive: è usato per comunicare a un router BGP che il trasmettitore è
attivo.
ci sono due tipi di sessioni BGP:
● eBGP(esterne): tra router di diversi AS
● iBGP(interne): tra router di uno stesso AS

entrambi mandano ai router la loro tabella di instradamento e ogni volta che ci sono
variazioni inviano aggiornamenti.
BGP non richiede l’invio di tutta la tabella quindi non serve che tenga la tabella di ogni peer.
ci sono due politiche di routing:
● export policies: si danno ai vicini solo i path vector delle destinazione verso cui
permettere il transito di pacchetti
● import policies: è possibile risalire agli AS da attraversare con i path vector. Esso
viene ignorato se ci sono AS in contrasto con la politica di routing.

PROTOCOLLO IDRP(Inter-domain routing protocol)


è progettato per il routing tra più domini e usa il path vector.
le caratteristiche dell’IDRP sono:
● i messaggi susano un servizio datagram
● IDRP supporta diversi indirizzamenti
● IDRP identifica i domini con prefissi variabili
● IDRP unisce le informazioni sugli insiemi di AS raggiungibili con un router

Quando un router supporta l’IDRP viene chiamato BIS(Boundary Intermediate


System) e ad ogni dominio appartenente a un IDRP viene dato in RDI(Routing
domain Identifier) che è un indirizzo di rete,
l’IDRP consente di mettere insieme dei domini collegandoli in un RDC (Routing
domain confederation)
Raggruppare più domini in un RDC permette la riduzione delle informazioni sulla
topolgia e sostituisce in RDI con un RDCI(routing domain confederation identifier).

un NPDU verrà instradato intra-dominio a un BIS nel dominio d’origine. poi il BIS
calcola il percorso per un altro BIS in un dominio di routing adiacente sul percorso
per arrivare alla destinazione. questo processo continuerà fiso ad arrivare ad un BSI
nel dominio che contiene la destinazione.
l’header ip è costituito da 4 campi:
● IDRP ID: può identificare ISO,IPv4 e IPv6
● Lunghezza BIS PDU: La lunghezza totale in ottetti del PDU del router
● Tipo BIS PDU: il tipo di PDU: open,update,idrp error,keep
alive,cease,rib_refresh.
● sequenza:numero di sequenza del PDU

SERVIZI DEL LIVELLO TRANSPORT

il livello transport è un livello del protocollo TCP/IP in cui le connessioni vengono nascoste
tramite un’interfaccia tra il Network e il Transport.
I protocolli del livello network hanno solo il compito di far attraversare la rete al pacchetto e
to consegnarlo.

indirizzi a livello transport

Nel momento in cui il computer host riceve un datagram il destinatario può riferirsi a un
programma applicativo di sistema o di utente.
a questo punto basterà individuare il processo relativo ad un'applicazione per risolvere il
problema di consegna del messaggio alla stessa applicazione.
M c’è un problema,i processi vengono eliminati e non possono essere visti da emittenti su
internet.
le applicazioni finali devono allora poter essere individuate non in base al processo che le
esegue ma alle funzioni che svolgono.
Partendo da questo,si è stabilito che nei computer siano definiti dei punti di accesso ai
quali bisogna consegnare i pacchetti provenienti dalla rete,le porte.
i numeri di porta sono divisi in tre gruppi.
sono stati assegnate le stesse porte sia per TCP che per UDP.
L’host che deve inviare un messaggio deve conoscere l’IP e il numero di porta del
destinatario,quindi nei messaggi devono essere presenti :
● Destination port
● source port: numero di porta del mittente

MULTIPLEXING E DEMULTIPLEXING
ogni processo sul computer che deve smistare dati ha una porta attraverso la quale dei dati
passano dal processo alla rete,questa porta è detta socket.
Attraverso i socket possiamo analizzare i concetti di multiplexing e demultiplexing:
● multiplexing :il livello transport riceve i dati dai socket aggiunge l’header
● demultiplexing: il livello transport determina a quale socket deve dare i dati

Queste due operazioni possono avvenire anche in mancanza di rete:


● multiplexing /demultiplexing connectionless: UDP in cui più client accedono allo
stesso servizio sullo stesso server.
● multiplexing /demultiplexing connection-oriented: TCP in cui più client accedono allo
stesso servizio sullo stesso server e un client possa attivare più estensioni per lo
stesso servizio

proprio con il livello transport si inizia a individuare una comunicazione tra client e server.
Un esempio è il servizio WWW: in questo caso B è un server alla quale si connettono le
applicazioni dei client sui pc A e C.

l’host A invia all’Host B un messaggio con dest.port 80,nella source port indica un numero
non usato. Quando arriva al server esso potrà inviarlo al processo che corrisponde ai dati
forniti dal client A.

UDP(Users Data Protocol)


è un protocollo del livello transport in cui ogni datagram UDP è trattato singolarmente.
i datagram possono essere persi e non c’è la garanzia che i dati arrivino a destinazione.
UDP fornisce le funzionalità del livello transport e di integrità dei dati,anche grazie all’utilizzo
delle porte.
Datagram UDP
● source port number: numero di porta del mittente
● destination port number:numero di porta del destinatario
● checksum:codice di controllo del datagram. se il datagram risulta danneggiato viene
scartato
● length: lunghezza del datagram in byte
● data: contiene le informazioni trasmesse e ricevute

Vantaggi UDP
Il protocollo UDP possiede molti vantaggi:
● non richiede di stabilire una connessione
● un server può supportare più client attivi
● il sovraccarico è minimo,ridotto solo a 8 byte
● il livello applicativo è più efficace,poiché il mittente non viene mai bloccato.

UDP-lite
con l’UDP normale basta un byte errato per dover scartare tutto il datagram,mentre con
quello lite si può comunque salvare una parte di dati.
Il datagram dell’UDP-lite si comporta esattamente come il datagram del protocollo
UDP,eccetto per il campo length che nell’UDP-lite diventa checksum coverage length,che
specifica quanti byte saranno controllati.

TCP(Transmission Control Protocol)


Questo protocollo è uno dei più diffusi e affidabili,perché garantisce la consegna dei dati in
modo ordinato.
Le caratteristiche della connessione TCP sono:
● Full-duplex: si può trasmettere e ricevere in contemporanea
● point-to-point: Un solo mittente e un solo destinatario
● è necessaria l’inizializzazione delle variabili di stato da parte del mittente e ricevente.

TCP usa più risorse rispetto a UDP,più CPU e più memoria.

Formato Segmento TCP


● source port number: numero di porta dell’host
● destination port number: numero di porta del destinatario
● sequence number: numero di sequenza del primo byte contenuto nel segmento
● acknowledgement number: conferma la ricezione di una parte del flusso di dati
indicando anche il prossimo sequence number.
● header length: indica la lunghezza dell’header del segmento TCP,serve a indicare
l’inizio dei dati del segmento.
Gestione della congestione
Per realizzare il controllo della congestione ci sono quattro algoritmi,e ognuna di queste fa
uso di una variabile : la finestra di congestione,usata dal mittente per sapere quanti byte
non riscontrati si possono ancora trovare in giro.
Vale la seguente formula maxWindow=min(FinestraDiCongestione,FinestraDiRicezione)
dove:
● FinestraDiCongestione: massimo numero di byte che la rete può trasmettere
● FinestraDiRicezione: numero di byte che il destinatario può ricevere
● maxWindow: quando un host deve trasmettere prenderà come numero massimo di
byte il minimo tra i due valori delle finestre
Questi algoritmi permettono di diminuire la finestra di congestione quando vengono scartati
dei pacchetti e di aumentarlo quando un pacchetto è riscontrato.

i più importanti dei 4 algoritmi sono Slow start e Congestion avoidance.


il funzionamento dei due algoritmi:
● quando viene creata la connessione TCP tra due host il mittente imposta la finestra
di congestione alla massima quantità di byte.
● quando viene inviato un segmento TCP il valore della finestra di congestione viene
raddoppiato.
● poi si usa l’algoritmo congestion avoidance che effettua incrementi lineari,viene
sommato il valore assegnato alla finestra di congestione.
● quando si genera un timeout viene impostata la finestra di congestione al valore
iniziale e la sua soglia viene impostata alla metà.

FASI DI COMUNICAZIONE TCP


la comunicazione a livello TCP è composta da tre fasi:
● instaurazione della sessione TCP: avviene il colloquio tra client e server in cui
si scambiano dati
● trasmissione dati: avviene la trasmissione delle informazioni,si effettuano
controlli degli errori.
● abbattimento della sessione TCP: anche detto disconnessione,ci sono più
modalità per terminare la connessione.

le primitive usate per implementare i servizi del TCP sono cinque:


Accept(),connect(),send(),receive(),disconnect().

Fase di instaurazione di una sessione TCP


Per instaurare una sessione TCP bisogna che l’host ricevente accetti mediante un
procedimento chiamato handshake a tre vie:
1. l’host 1 invia un segmento TCP con il flag SYN impostato a 1. invia anche un numero
di sequenza che diventa il suo sequence number.
2. l’host 2 deve acconsentire e rispondere con una conferma con il flag ACK.F
impostato a 1 e l’acknowledgement impostato al sequence number +1.
3. l’host 1 risponde con un’altra conferma con il flag ACK.F impostato a 1 e
l’acknowledgement impostato a sequence number +1

CONFRONTO TRA I PROTOCOLLI UDP E TCP

UDP si usa:
● su una rete affidabile
● quando l’applicazione mette tutti i dati in un solo datagram
● quando è necessario non introdurre i ritardi,ad esempio le applicazioni multimediali
che non potrebbero accettare dei ritardi di trasmissione
● quando i meccanismi di ritrasmissione possono essere gestiti dall’applicazione.

TCP si usa:
● quando l’applicazione richiede una comunicazione affidabile
● Quando è necessario garantire l’integrità dei dati
● quando serve mantenere il controllo della comunicazione

IL LIVELLO APPLICATION E I SUOI PROTOCOLLI


i protocolli a questo livello supportano la comunicazione tra client e server e il più usato per
la gestione delle reti è il protocollo SNMP.
un protocollo può eseguire due modelli:

● Client-server: ogni servizio applicativo ha un client e un server


● peer-to-peer: gli utenti si scambiano informazioni tra di loro

è necessaria un'autorizzazione per poter usare un servizio applicativo,ad esempio un


account concesso dall’amministratore.

APPLICAZIONI PEER-TO-PEER
In questo modello ogni computer è allo stesso livello degli altri e sono gli utenti a decidere i
dati da condividere.
invece le applicazioni P2P permettono di usare un computer sia come client che come
server. Questo nelle reti P2P non si può realizzare e le due cose sono su due sessioni di
comunicazione diverse

SESSIONE TELNET
Telnet è un protocollo client-server e permette agli utenti di accedere ad applicazioni su host
remoti.
Durante l’utilizzo di telnet più client richiedono la connessione a un server telnet. Su di esso
viene eseguito un telnet deamon. per gestire in modo separato le richieste dei client il telnet
utilizza le funzionalità dei livelli inferiori
oltre a connettere computer con sistemi operativi differenti e collegarsi come console ad
apparati di rete,questo protocollo permette di creare sessioni POP3,IMAP4,FTP,SMTP.
Standard del protocollo telnet
Telnet usa TCP come protocollo di trasporto e come porta usa la 23.
i comandi principali di telnet sono:
● open host port: apre una sessione telnet usando il comando port
● close: chiude la sessione
● display: mostra le informazioni della sessione
● send code: invia caratteri speciali al server
● status: mostra lo stato della sessione
prima di questi comandi bisogna mettere un carattere di escape per far interpretare
correttamente i dati al server

Modalità di lavoro di FTP


FTP usa due canali di comunicazione:
● uno per l’invio dei comandi che usa la port 21
● l’altro per l’invio dei dati e usa la port 20

la connessione viene effettuata in due modi:


1. FTP ACTIVE MODE:Il client si connette da una porta qualsiasi alla porta di controllo
di un server e si mette in ascolto per poi inviare il comando port n+1.
dopodichè il server si connette alla porta indicata dal client.
questa modalità però comporta alcuni problemi di sicurezza,infatti il client FTP segnala al
server solo su quale porta è in ascolto. se nel lato client è presente un firewall esso rileva la
comunicazione come un tentativo di intrusione e lo blocca. per questo è sconsigliato l’active
mode per la sicurezza.
2. FPT PASSIVE MODE: il client FTP inizia le connessioni con il server risolvendo il
problema del firewall.
il client apre le porte n ed n+1 e contatta il server sulla porta 21. poi invia il comando PASV
per far aprire una porta P al server e inviare il comando port P.

Vulnerabilità di FTP
L’FPT ha alcuni problemi di sicurezza:
● password in chiaro: le password sono facilmente intercettabili attraverso strumenti di
controllo del traffico.
● dati in chiaro: anche i dati sono intercettabili.
Per risolvere questi problemi è stata introdotta una nuova versione di FTP,l’FTPS che
aggiunge un livello per la gestione della crittografia.

Altri problemi relativi alla sicurezza sono :


● sessione in due processi : c’è la necessità di avere due processi per ogni
connessione e questo rende più facile per dei malintenzionati attaccare.
● permessi utente: i permessi per accedere ad FTP vanno a limitare lo spazio sul
disco.

HTTP: IL PROTOCOLLO PER LE APPLICAZIONI WEB


HyperText Transfer Protocol regola lo scambio di messaggi tra il web server e il web client.
Il client è il browser e il server è il sito.

Modalità di lavoro HTTP


Ogni pagina ha un suo indirizzo URL(uniform resource locator) dove la parte iniziale dice al
browser quale protocollo deve usare,nella seconda parte c’è un determinato indirizzo IP.
quando si legge una pagina i livelli superiori del client iniziano una sessione con il web
server,il client richiede una pagina e il server invia la risorsa richiesta. Alla fine il client
chiude la sessione.
L’HTTP è un protocollo che permette sia la ricerca che il recupero di informazioni usando gli
hyperlink.
HTTP ad ogni richiesta crea una nuova connessione con il server che viene chiusa al
termine del trasferimento. la porta dell’HTTP è 80.
Per far acquisire una risorsa ad un client ci sono quattro fasi:
● connessione: il client crea la connessione con il server indicando il suo IP e la porta
predefinita è 80.
● richiesta: il client richiede una risorsa usando i caratteri ASCII con dei caratteri CR-
LF alla fine.
● risposta: il server risponde in HTML fornendo la risorsa al client
● disconnessione: il server dopo aver spedito la risorsa si disconnette

Metodi e messaggi HTTP


HTTP mette a disposizione dell’utente diversi comandi.
I primi tre sono obbligatori:
● GET: richiede una risorsa
● HEAD: richiede l’header e viene usato per la diagnostica
● POST: richiede informazioni

poi sono stati aggiunti:


● PUT: richiede l’invio di un file file sul server
● DELETE: richiede la cancellazione di un file sul server
● OPTIONS: richiede l’elenco dei metodi
● TRACE: traccia una richiesta e visualizza come viene gestita sul server
● CONNECT: richiede una connessione attraverso i proxy

i messaggi HTTP sono di due tipi,


Request,composta da metodo,URI e versione del protocollo:
● riga di richiesta
● sezione header
● dody

gli header di richiesta sono due: host e User-Agent

Response:

● riga di stato
● sezione header
● body

HTTPS
il protocollo HTTPS si usa per garantire la sicurezza delle transazioni economiche.
Questo grazie al livello SSL(secure sockets layer) o TLS(transport layer security).
Usa la porta 443 e utilizza una crittografia asimmetrica.

Potrebbero piacerti anche