Upload
mika
View
36
Download
1
Embed Size (px)
DESCRIPTION
Linux e le reti – 1. Tiziano Ragazzi. Classificazione delle reti in base alle dimensioni. PAN – Personal Area Network : reti private formate da pochi dispositivi che comunicano tra loro con tecnologie a corto raggio; - PowerPoint PPT Presentation
Citation preview
Linux e le reti – 1Linux e le reti – 1
Tiziano Ragazzi
Classificazione delle reti in base alle Classificazione delle reti in base alle dimensionidimensioni
PAN – Personal Area Network: reti private formate da pochi dispositivi che comunicano tra loro con tecnologie a corto raggio;
LAN - Local Area Network o reti locali: tipicamente sono reti private per l'interconnessione di computer ed altri apparati appartenenti ad un unico ente o azienda;
MAN - Metropolitan Area Network o reti metropolitane: possono essere reti private o pubbliche e fornire servizi di vario tipo in ambito urbano, dall'interconnessione di computer, alla telefonia, alla TV via cavo;
WAN - Wide Area Network o reti geografiche: in passato erano le reti dei grandi gestori tipicamente pubblici che fornivano servizi e connettività a livello nazionale; oggi, dopo la deregulation, possono anche appartenere a privati ed offrire connettività a livello mondiale.
Classificazione delle reti in base alle Classificazione delle reti in base alle dimensionidimensioni La differenza tra questi tre tipi di reti in termini
di distanza coperta è rappresentata nella tabella seguente (puramente indicativa):
Area coperta Distanza Tipo di rete
Stanza 10 m PAN o LAN
Edificio 100 m LAN
Campus 1 km LAN
Città 10 km MAN
Area metropolitana 100 km MAN
Stato, continente, pianeta, …
>= 1000 km WAN
Un esempioUn esempio
L’importanza di un sistema L’importanza di un sistema “aperto”“aperto”
Cioè qualunque calcolatore dev’essere in grado di comunicare con qualunque altro indipendentemente dalla sua architettura e dal suo costruttore. Un sistema aperto ha infatti alcuni importanti vantaggi: favorire la diffusione delle reti di
calcolatori tramite l'interconnessione delle reti esistenti;
rendere possibile agli utenti e ai costruttori di reti approvvigionarsi da qualunque produttore, favorendo la concorrenza.
Per realizzare reti di calcolatori che Per realizzare reti di calcolatori che siano sistemi aperti è necessario:siano sistemi aperti è necessario:
Delineare un modello di riferimento per la comunicazione fra calcolatori che sia base comune di questi sistemi;
giungere alla definizione di standard universalmente accettati che specifichino in modo preciso le funzioni che sono necessarie per realizzare la comunicazione.
Il perché dei “modelli”Il perché dei “modelli”
La comunicazione fra calcolatori di tipo diverso è in generale un problema abbastanza complesso. Per semplificare la progettazione dal punto di vista tecnico di una rete di calcolatori risulta quindi conveniente suddividere il problema complessivo in una serie di sottoproblemi ben confinati, chiarendo poi come essi debbano interagire.
Modello ISO-OSIModello ISO-OSI
I 7 strati del modello ISO-OSII 7 strati del modello ISO-OSI strato fisico; ha come compito principale effettuare il
trasferimento fisico delle cifre binarie tra i due sistemi in comunicazione;
strato di collegamento (data link); la sua funzione fondamentale è quella di rivelare e recuperare gli errori trasmissivi che potrebbero essersi verificati durante il trasferimento fisico;
strato di rete (network); rende invisibile allo strato superiore il modo in cui sono utilizzate le risorse di rete per la fase di instradamento;
strato di trasporto (transport); fornisce le risorse per il trasferimento trasparente di informazioni;
strato di sessione (session); assicura la possibilità di instaurare un colloquio tra due sistemi;
strato di presentazione (presentation); è interessato alla sintassi e alla semantica delle informazioni da trasferire;
strato di applicazione (application); ha lo scopo di fornire ai processi residenti nei due sistemi in comunicazione i mezzi per accedere all'ambiente OSI.
Modello TCP/IPModello TCP/IP
Due livelli di pari grado posti su due calcolatori differenti comunicano tra loro tramite un protocollo, mentre due livelli adiacenti della stessa macchina comunicano tra loro tramite interfaccia. L'obiettivo di un livello è quello di fornire servizi al livello superiore nascondendo a questo il modo in cui i servizi sono realizzati.
Application(http, telnet, snmp,smtp, nfs, ftp, smb)
Transport(TCP, UDP)
Data link
Physical layer
Network(IPv4/IPv6)
Comunicazione HTTPComunicazione HTTP
Application Layer
TransportLayer
NetworkLayer
Data LinkLayer
PhysicalLayer
HTTP Request
HTTP TCP
HTTP TCP IP
HTTP TCP IPEthernet
Request
Request
Request
ApplicationLayer
TransportLayer
NetworkLayer
Data LinkLayer
PhysicalLayer
HTTP Request
HTTP TCP
HTTP TCP IP
HTTP TCP IPEthernet
Request
Request
Request
Confronto tra i modelliConfronto tra i modelliOSI Model TCP/IP Model TCP/IP Protocol Suite
7
6
5
4
3
21
ApplicationApplication
TransportLayer
TransportLayer
ApplicationApplication
PresentationPresentation
SessionSession
TransportTransport
NetworkNetwork
Data linkData link
PhysicalPhysical
TelnetTelnet FTPFTP SMTPSMTP DNSDNS RIPRIP SNMPSNMP
TCPTCP UDPUDP
IPIPARPICMPIGMP
EthernetEthernet TokenRing
TokenRing
FrameRelay
FrameRelay ATMATM
NetworkNetwork
Data linkData link
PhysicalPhysical
Transport LayerTransport Layer
Definisce 2 protocolli standard di trasporto: TCP e UDP
TCP è un affidabile protocollo per il trasferimento di dati Orientato alla connessione Prevede il recupero degli errori e il controllo del
flusso UDP implementa un protocollo non affidabile
Privilegia la velocità di connessione
Transport LayerTransport Layer TCP e UDP introducono il concetto di porta e di socket Specificando un numero di porta assieme ai dati TCP/UDP,
possiamo ottenere il multiplexing Multiplexing consente che numerose connessioni di rete
possano aver luogo su uno stesso indirizzo IP Il numero della porta, assieme agli indirizzi sorgente e
destinazione dei dati, costituiscono il socket. Ad esempio una connessione http sull’ip 192.168.100.1 ha il seguente socket 192.168.100.1:80
Porte comuni e servizi associati:
FTP 21 and 20 Ssh 22 telnet 23 SMTP 25 http 80 POP3 110 https 443
Network LayerNetwork Layer Il compito del network layer è la trasmissione di pacchetti
tra due host arbitrari, che in generale non sono direttamente connessi (ovvero non hanno un collegamento diretto tra di loro)
I principali protocollo appartenente a questo strato sono l’IP (o IPv4) e la sua evoluzione IPv6
L’IP garantisce l’inoltro del pacchetto (ovvero ricevere un pacchetto su una porta, immagazzinarlo e ritrasmetterlo su un'altra), la frammentazione (se un pacchetto ricevuto ha una dimensione eccessiva per la rete su cui deve essere trasmesso, il livello di rete lo divide in frammenti e si occupa di riassemblare i frammenti ricevuti al momento della consegna) e l’instradamento o routing (ovvero determinare il percorso per la trasmissione dei dati attraverso la rete)
Il pacchetto IPIl pacchetto IP
Un datagramma IP è costituito al più da 64 kB di cui i primi da 20 a 60 byte costituiscono l’intestazione. Particolarmente importanti sono i campi “Identificativo” che permette di riassemblare un datagramma frammentato, “TTL (Time To Live)” necessario per evitarne la persistenza indefinita sulla rete nel caso in cui non si riesca a recapitarlo al destinatario, “Protocollo” indica il protocollo di trasporto associato.
Struttura dell’indirizzo IPv4Struttura dell’indirizzo IPv4
192 . 168 . 220 . 1IP decimale:
11000000.10101000.11011100.00000001IP binario:
NOTA NOTA : con 8 bit si può al massimo : con 8 bit si può al massimo rappresentare in decimale il numero 255rappresentare in decimale il numero 255
E’ un numero composto da 32 bitE’ un numero composto da 32 bit
Struttura dell’indirizzo IPStruttura dell’indirizzo IP Il Net-ID identifica la rete, mentre l'Host-ID identifica
l'host all'interno della rete.L'indirizzo con i bit relativi alla parte di host posti a zero risulta essere l'indirizzo della rete in cui si trova l'host, mentre quello con i bit di host posti tutti a uno indica l'indirizzo broadcast di quella rete, cioè quello usato per inviare pacchetti a tutti gli host della rete.
La separazione tra il blocco Net-ID e Host-ID avviene per mezzo della Subnet Mask.La SM è un numero binario di 32 bits, ovvero 4 byte separati da un punto. Ad esempio
11111111.11111111.00000000.00000000
255 . 255 . 0 . 0
Notare che il blocco degli “zeri” segue il blocco degli ”uno” senza mescolanza tra essi.
EsempioEsempio Esempio di calcolo dell’indirizzo di rete, di broadcast e n° di hosts
possibili IP 132.125.18.36 SM 255.255.0.0 Indirizzo di rete: si fa l’AND logico tra la rappresentazione binaria
di IP e SM, otteniamo 132.125.0.0 Tutti gli host appartenenti alla stessa rete logica devono avere lo
stesso indirizzo di rete Indirizzo di broadcast: si fa l’OR logico con il complemento della
SM (molto più semplicemente si pongono a 1 tutti i bit della sezione Host-ID). Otteniamo 132.125.255.255
Calcolo del n° di hosts possibili: si contano gli n zeri della SM (in questo caso n=16); si fa 2n-2.Nel nostro caso possiamo disporre di 216-2=65534 hosts nella nostra rete.
Gli indirizzi IP disponibili andranno da quello immediatamente successivo all’indirizzo di rete, cioè 132.125.0.1, a quello precedente all’indirizzo di broadcast, cioè 132.125.255.254.
Esercizio: IP 194.116.10.19 SM 255.255.255.248 trovare i parametri di cui sopra
AttenzioneAttenzione
Due computer,anche se connessi fisicamente alla stessa rete, possono comunicare direttamente solo se hanno lo stesso indirizzo di rete ed hanno interfacce di rete dello stesso tipo
Classi di indirizzi IP – Schema Classi di indirizzi IP – Schema classicoclassico
1110 Multicast Address
11110 Unused at present
0 network id
Host ID
10 network id Host ID
110 network id Host ID
A
B
C
D
E
8 16 3224
Classi di indirizzi IP – Schema Classi di indirizzi IP – Schema classicoclassico
Suddivisione degli indirizziSuddivisione degli indirizzi
Indirizzi IPIndirizzi IP
PubbliciPubblici PrivatiPrivati
Sono unici al mondo inSono unici al mondo in
Internet e sono segnati Internet e sono segnati
da enti internazionalida enti internazionali
GARR / IANAGARR / IANA
Sono indirizzi autorizzatiSono indirizzi autorizzati
per le reti private;per le reti private;
vengono vengono eliminatieliminati in in InternetInternet
Indirizzi privati e per uso specialeIndirizzi privati e per uso speciale
Classe Subnet mask
Indirizzo di partenza
Indirizzo finale Funzione
C 255.255.255.0 192.168.0.0 192.168.255.255 IP privati
B 255.255.0.0 172.16.0.0 172.31.255.255 IP privati
A 255.0.0.0 10.0.0.0 10.255.255.255 IP privati
A 255.0.0.0 0.0.0.0 0.0.0.255 Indirizzi zero
A 255.0.0.0 127.0.0.0 127.255.255.255 Localhost loopback
B 255.255.0.0 169.254.0.0 169.254.255.255 Zeroconf
C 255.255.255.0 198.18.0.0 198.19.255.255 Benchmark
SubnettingSubnetting
La rigidità dello schema NetID-HostID proponeva classi A e B troppo grosse o classi C troppo piccole. Se un’azienda doveva indirizzare 2000 hosts, necessitava di una classe B (65534 hosts), con uno spreco di oltre di 63000 indirizzi.
Vi è stata quindi una grande richiesta di classi A e B (in gran parte già assegnate) e una relativamente bassa richiesta di classi C.
SubnettingSubnetting Soluzione: dato un indirizzo di rete di
qualsiasi classe, la lunghezza del prefisso (NetID) può essere estesa arbitrariamente, non deve più essere necessariamente un multiplo di 8 bit.
Si ricava un campo SubnetID sfruttando una parte arbitrariamente lunga dell’HostID
Net Id Host Id
Host IdNet Id Subnet Id
TerminologiaTerminologia
NetID: porzione dell’indirizzo la cui lunghezza è determinata dalla maschera della classe a cui l’indirizzo appartiene. Es. 192.135.23.5/255.255.255.252, NetID = 192.135.23.0
SubnetID: porzione di lunghezza variabile dell’indirizzo che segue il NetID e la cui lunghezza è definita dalla differenza fra il prefisso e la lunghezza del NetID. Es. 192.135.23.0/255.255.255.252, la lunghezza del SubNetID è di 6 bit
Indirizzo di Sottorete: l’indirizzo ottenuto dalla concatenazione (NetID:SubnetID) ponendo nella rimanente parte HostID una sequenza di 0 e accompagnato dal prefisso
Indirizzo di rete: sinonimo di Sottorete. Se il subnetting non è utilizzato allora SubnetID è nullo, e quindi l’indirizzo di rete corrisponde al NetID
Indirizzo dell’host: la concatenazione (NetID:SubnetID:HostID)
EsempioEsempioDato un indirizzo di CLASSE B applichiamo il subnetting
per ottenere reti da circa 2000 host l’una:indirizzo senza subnetting: 137.204.0.0 maschera standard: 255.255.0.0 ==>65534 indirizzi , [137.204.0.1 , 137.204.255.254] 211 = 2048, quindi useremo 11 bit per l’HostID e 21 complessivi per il NetID-SubnetID==> SM 255.255.248.0quante subnet: 25-2=30 (la prima e l’ultima non sono utilizzabili)Indirizzo di subnet range di indirizzi137.204.8.0 [137.204.8.1-137.204.15.254] ……………… …………………………
137.204.240.0 [137.204.240.1-137.204.247.254]
Indirizzamento senza classi –CIDRIndirizzamento senza classi –CIDRClassless Inter-Domain RoutingClassless Inter-Domain Routing
Problema: una rete di classe C corrisponde a 256 indirizzi IP
Molte organizzazioni hanno bisogno di piu’ indirizzi
Soluzione: assegnare ad una stessa organizzazione blocchi contigui di indirizzi in classe C
Esempio: l’organizzazione X riceve i tre blocchi contigui 220.123.16.x, 220.123.17.x e 220.123.18.x 768 indirizzi disponibili
Richiederebbe numerosi instradamenti diversi per raggiunger una rete
Indirizzamento senza classi –CIDRIndirizzamento senza classi –CIDRClassless Inter-Domain Routing Classless Inter-Domain Routing
Come rappresentare il blocco di indirizzi assegnati?
Informazioni necessarie: indirizzo + basso del blocco e Numero di Blocchi
In pratica: CIDR non prevede che gli indirizzi di rete debbano
necessariamente essere di classe C CIDR usa le seguenti informazioni:
Valore a 32 bit dell’indirizzo piu’ basso del blocco
Maschera a 32 che funziona come una maschera di sottorete standard
Notazione CIDR -esempioNotazione CIDR -esempio
Prefisso della rete + No. bit per il prefisso Esempio: per un blocco di indirizzi da
220.16.128.0 a 220.16.255.255:
220.16.128.0/1711111111.11111111.10000000.00000000
In questa situazione abbiamo 215-2=32766 ip disponibili (il 220.16.128.0 è il network address, il 220.16.255.255 è il broadcast address)
Network ManagerNetwork Manager
In ambiente grafico Network Manager
E’ il tool di configurazione predefinito nelle principali distribuzioni che usano il desktop manager Gnome.
Per configurare le interfacce di rete (cablate e/o wireless) è sufficiente cliccare col tasto destro sull’icona in alto a destra e scegliere Modifica Connessioni
Attraverso il Network Manager è possibile anche configurare connessioni VPN, connessioni Internet Mobile 3G, modem ADSL
Network ManagerNetwork Manager
I file di configurazione del Network Manager risiedono in /etc/NetworkManagerin particolare i file di configurazione delle singole interfacce di rete sono posizionati in /etc/NetworkManger/system-connections(non configurare manualmente)
Talvolta può essere necessario disabilitare il Network Manager per procedere a una configurazione manuale delle interfacceservice network-manager stop e per riattivarloservice network-manager start
Denominazione classica delle Denominazione classica delle interfaccedi reteinterfaccedi rete
lo – Interfaccia di loopback; è una interfaccia virtuale essenziale per il funzionamento del sistema. Ha ip in classe 127.0.0.0/8 solitamente 127.0.0.1
ethx (eth0, eth1, ..) – Interfacce fisiche EthernetI nomi del tipo eth0:0 eth0:1 indicano + indirizzi ip associati alla stessa interfaccia (alias ip)
pppx (ppp0, ppp1…) – Interfacce fisiche Point-to-Point usate ad esempio per i modem analogici
tunx (tun0, tun1,..) – Interfacce virtuali usate da openvpn wlanx (wlan0,..) – Interfacce wireless. Talvolta tali
interfacce di rete vengono denominate come quelle ethernet (eth0,..)
ATTENZIONE: LE PRECEDENTI DENOMINAZIONI SONO PURAMENTE INDICATIVE E POSSONO ESSERE DIVERSE A SECONDA DELLA DISTRO UTILIZZATA
IfconfigIfconfig La linea di comando rimane uno strumento
elegante ed efficiente soprattutto quando si accede da remoto. Per la configurazione delle interfacce di rete linux ha ifconfig ifconfig -a
mostra la configurazione IP di tutte le interfacce ifconfig eth0 192.168.0.1 netmask
255.255.255.128 broadcast 192.168.0.127 up assegna l'indirizzo IP 192.168.0.1 e attiva l'interfaccia, creando una mask 192.168.0.0/25.
ifconfig eth0:1 192.168.0.1 up assegna l'indirizzo IP 192.168.0.1 alla eth0:1 e attiva l'interfaccia. Eseguendo questo comando di fatto assegniamo un'altro indirizzo IP alla interfaccia.
ifconfig eth0 downdisabilita eth0
Rendere le modifiche Rendere le modifiche permanentipermanenti
I comandi ifconfig dati da consolle, non sono permanenti (al riavvio la configurazione è persa)
Per renderli permanenti si configura il file /etc/network/interfaces, ad esempio
# The loopback network interfaceauto loiface lo inet loopback
# The primary network interfaceauto eth0iface eth0 inet staticaddress 172.16.1.36netmask 255.255.255.0network 172.16.1.0broadcast 172.16.1.255gateway 172.16.1.1
up route add -net 10.8.0.0 netmask 255.255.255.0 gw 172.16.1.36 Ricaricare la configurazione col comando
/etc/init.d/networking restart
Rendere le modifiche Rendere le modifiche permanentipermanenti auto lo
iface lo inet loopback
auto eth0iface eth0 inet staticaddress 192.168.1.36netmask 255.255.255.0network 192.168.1.0broadcast 192.168.1.255gateway 192.168.1.1
auto eth1iface eth1 inet dhcp
In questo caso abbiamo l’interfaccia eth1 posta in una lan nella quale è presente un server dhcp (cioè un server che configura automaticamente le interfacce dei pc sulla stessa rete)
Rotte staticheRotte statiche
Nell’intestazione di ogni pacchetto ip c’è l’indirizzo ip del destinatario del pacchetto. Se il pacchetto è destinato a una diversa rete/sottorete (diverso net_id) del mittente, il pacchetto è inviato a una macchina prestabilita detto default gateway. In talune circostanze può essere necessario ridefinire il default gateway o definire un nuovo gateway per destinatari diversi
RouteRoute
Il comando linux route consente di definireAlcuni esempi: route Visualizza la tabella di routing
route add default gw 192.168.12.1Aggiunge l'host 192.168.12.1 come gateway di default
route del defaultCancella il default gateway
route add -net 192.168.101.0 netmask 255.255.255.0 gw 192.168.101.102Aggiunge la route 192.168.101.0 alla routing table indicando la maschera di rete 255.255.255.0 e il gateway 192.168.101.102