giovedì 22 marzo 2007

Struttura frame

Un frame ethernet2 può avere una lunghezza compresa tra 64 e 1518 byte (MTU). Di questi, 18 sono usati per informazioni di controllo, e i restanti sono dati.

Il frame è composto da:

----------- Header --------
- Preambolo: (56 bit - 7 bytes). Usato per la sincronizzazione
- Start frame: (8 bit - 1 byte). Sequenza 10101011 che indica l'inizio del frame
- Destinazione: (48 bit - 6 bytes). MAC di destinazione
- Origine: (48 bit - 6 bytes). MAC - di origine
- Length/Type: (16 bit - 2 bytes). Se il valore è minore o uguale a 1500, indica il numero di bytes del campo Data. Se il valore è maggiore di 1536, indica il tipo di protocollo di livello rete (IP, ARP, RARP).
----------------------------

------------ Dati ----------
- Da 46 a 1500 bytes. Se non ci sono abbastanza dati, vengono inseriti dei filler (campo Pad).
----------------------------

----------- Trailer ---------
- CRC: controlla che i dati ricevuti non contengano errori (32 bit - 4 bytes)
----------------------------

Il preambolo e il CRC non sono visualizzati da uno sniffer, in quanto la NIC provvede ad eliminarli.
Diversi tipi di frame possono avere MTU e formati differenti, ma possono coesistere sullo stesso mezzo trasmissivo.

mercoledì 21 marzo 2007

Connessioni WAN

Le connessioni WAN sono generalmente effettuate su linea seriale.
Una comunicazione seriale trasmette e riceve un bit alla volta.

Ci sono due tipi di link seriale: sincrono e asincrono.
- Link asincrono:
Generalmente usato per connesioni a bassa velocità.
Richiede il bit di start e di stop,e può avere un bit di parità.
Mittente e ricevente si debbono accordare su una velocità prefissata.

- Link sincrono:
Usa un clock per ricevere e trasmettere
Può avere alte velocità

Comparazione LAN e WAN

- Protocolli comunemente usati:
LAN: Ethernet, Token Ring, FDDI, etc.
WAN: X.25, Frame Relay, ISDN, Leased line etc.

- Metodo di comunicazione:
LAN: media condiviso
WAN: punto-punto

- Principali vantaggi:
LAN: velocità, bassa spesa
WAN: costo e lentezza. Attenuazione notevole su lunghe distanze.

- Uso comune:
LAN: connette host all'interno di palazzi o in palazzi vicini
WAN: connette qualsiasi punto distante km

- Velocità:
LAN: 1Gbps per ciascun host
WAN: fino a svariati Gbps ma condivisi

Conteggio pratico di host e subnet

Dato l'IP 156.233.42.56 con una subnet mask di 7 bits, quanti host e subnet sono possibli?

Si tratta di una classe B, quindi la subnet mask originale è 255.255.0.0: significa che ci sono 16 bit per la rete e 16 per gli host.

In questo caso abbiamo 7 bit aggiuntivi nella subnet mask, quindi 16+7=23 bit totali per la rete.
Restano 9 bit per gli host.

7 bit per le subnet significano (2^7)-2=128-2=126 subnet

9 bit per gli host significa che per ciascuna subnet posso avere (2^9)-2=512-2=510 host

Corrispondenza veloce decimale - binaria

Dec - Bin
0 - 0000 0000
1 - 0000 0001
16 - 0001 0000
48 - 0011 0000
64 - 0100 0000
128 - 1000 0000
192 - 1200 0000
200 - 1100 1000
224 - 1110 0000
228 - 1110 0100
248 - 1111 1000
254 - 1111 1110
255 - 1111 1111

Indirizzamento IP

L'indirizzo IP è un identificatore logico assegnato univocamente a ciascun host
Consiste di un numero binario di 32 bit, e viene rappresentato come 4 valori decimali (ciascuno da 8 bit), separati da un punto.
I valori decimali variano da 0 a 255.

Esempio: 192.189.210.078
decimale: 192 .189 .210 .078
binario: 11000000.10111101.11010010.1001110

Ogni indirizzo Ip consiste di una parte che identifica la rete di appartenenza e di una che identifica l'host sulla rete.

Le reti sono divise in 5 Classi; si può capire la classe osservando i primi 4 bit dell'indirizzo IP.
Classe A inizia con 0xxx (da 1 a 126 decimale)
Classe B inizia con 10xx (da 128 a 191 decimale)
Classe C inizia con 11xx (da 192 a 223 decimale)
Classe D inizia con 111x (da 224 a 239 decimale)
Classe E inizia con 1111 (da 240 a 254 decimale)

Gi indirizzi che iniziano con 01111111, o 127 decimale, sono riservati per il loopback o altre esigenze di test locali.
Gli indirizzi di classe D sono riservati al multicasting.
Gli indirizzi di classe E sono riservati per uso futuro.


La classe determina (per default) quale parte dell'indirizzo IP è assegnata alla rete e quale agli host.
(N=network; H=Host)
Classe A: NNNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH
Classe B: NNNNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH
Classe C: NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH

Per indicare l'indirizzo di rete di una data rete, si pongono a 0 tutti i bit relativi agli host (es. 192.168.1.0), per indicare invece un broadcast sulla stessa rete, tutti i bit relativi agli host debbono essere messi a 1 (es. 192.168.1.255)


Dominio di broadcast

Un dominio di broadcast è semplicemente il gruppo di host in grado di ricevere il broadcast inviato da uno specifico host.

Al livello 1, hubs e repeaters non hanno effetto sul dominio di broadcast, se non quello di estenderlo.
Al livello 2, switch e bridge per default hanno lo stesso comportamento, ma alcuni switch hanno la possibilità di creare delle VLAN.
Le VLAN sono dei segmenti logici attraverso i quali i broadcast si propagano solo a certe condizioni.

Collegare interfacce seriali

Due router sono solitamente interconnessi (in WAN) tramite un cavo seriale DTE/DCE, che collegae le due interfacce seriali.
La seriale CISCO opera per default come DTE, ma quando si collegano i due router è necessario che uno agisca da DCE e fornisca il clock.

Per sapere quale router sia il DCE, possiamo guardare il cavo: si tratterà di quello con connettore femmina, e comunque i cavi moderni hanno le lettere stampate.
In ogni caso possiamo usare il comando:
"show controller serial x", dove x è il numero della interfaccia seriale.

Ocorrerà appunto che uno dei due router sia DCE e uno DTE.
Sul DCE (che come detto fornisce il clock), dobbiamo impostare la velocità del link:
"int s1 [invio]
clockrate 56000 [invio]"

Domini di collisione

Le collisioni si verificano se due host trasmettono contemporaneamente sullo stesso segmento di rete.
La tecnologia CSMA /CD (Carrier Sense Multiple Access with Collision Detection) cerca di minimizzarle.

Un dominio di collisione è una area (segmento di rete) in cui può verificarsi una collisione, quindi possiamo cercare di minimizzare le collisioni segmentando la rete in più domini di collisione.
Gli hub e i repeaters, lavorando a livello 1, non fanno altro che aumentare la dimensione del segmento e quindi estendono il dominio di collisione.

Gli switch invece creano un dominio di collisione per ciascuna porta (di fatto creando un circuito virtuale tra trasmittente e ricevente), eliminando la possibilità di collisioni.

Calcolare numero host in subnet

Supponiamo di avere un ip
156.77.11.3
e una subnet mask /21, o 255.255.248.0

La subnet 21 equivale a:
11111111 11111111 11111000 00000000
-------network-------------------host----

i primi 21 bit sono usati per rappresentare l'indirizzo di rete, mentre i restanti sono per gli host.

Potrò avere fino a 2046 hosts. Per saperlo: ((2^11) - 2) [tolgo 2 perché: 1 per broadcast (tutti 1) e uno per la rete (tutti 0)]


es. 156.17.42.6/20
ip: 10011100 00010001 00101010 00000110
SM: 11111111 11111111 11110000 00000000
--------------------------------------------------
10011100 00010001 00100000 00000000 -> 156.17.32.0 (network id)

primo host valido:
10011100 00010001 00100000 00000001

ultimo host valido
10011100 00010001 00100000 11111110

quindi gli indirizzi vanno da 156.17.32.1 a 156.17.47.254






Conversione decimale-binaria

Cominciando a sinistra, aggiungere valori che non superano il target fino a raggiungere il totale. Ogni numero usato è 1, non usato è 0:

es. 77
128 maggiore 77 quindi metto 0
64 minore 77 quindi metto 1 e faccio 77-64=13
32 maggiore 13 quindi metto 0
16 maggiore 13 quindi metto 0
8 minore 13 quindi metto 1 e faccio 13-8=5
5 maggiore di 4 quindi metto 1 e faccio (5-4 =1)
1 minore di 2 quindi metto 0
1 = 1 quindi metto 1
risultato: 01001101


Conversione binaria-decimale

Per convertire il numero binario 11001100 in decimale:
(1 x 128) + (1 x 64) + (0 x 32) + (0 x 16) + (1 x 8) + (1 x 4) + (0 x 2) + (0 x 1) = 204

martedì 20 marzo 2007

ISO stack

I livelli da 5 a 7 sono definiti generalmente "upper"
Da 1 a 4 "lower"

Ogni livello formatta i dati che riceve per accordarli alla propria funzione; in generale il pacchetto di dati che si sposta attraverso i livelli è datto PDU (Protocol Data Unit).


OSI Layer - PDU Name
Application - Data
Presentation - Data
Session - Data
Transport - Segment
Network - Packet
Data Link - Frame
Physical - Bits

Layer 7, Application: fornisce servizi al software tramite il quale l'utente richiede servizi di rete. Un programma come Photoshop non c'entra nulla con questo livello, c'entrano invece ad esempio i browser e i client email che sono software applicativi che implementano un componente di comunicazione.


Layer 6, Presentation: gestisce la presentazione delle informazioni in maniera ordinata e significativa. Dal lato di chi invia, onverte i dati in un formato standard adatto alla trasmissione di rete; dal lato di chi riceve, converte il formato di rete nel formato adatto al computer.
Questo assicura che i dati inviati dal livello applicativo del computer che invia, possano essere leggibili dal livello applicativo di chi riceve.

Layer 5, Session: stabilisce, mantiene, gestisce e termina la comunicazione tra computer. In sostanza gestisce la comunicazione in una sessione connessa. Ad esempio gestisce i tolken.
Le richieste di servizio e le risposte di servizio sono coordinate a questo livello.

Layer 4, Transport: è responsabile per la trasmissione affidabile di dati e servizi tra host. Il dato deve essere integro e trasmesso con i giusti tempi.
I dati sono spezzati in datagrammi/segmenti adatti alla trasmissione.
Crea uno a più connessioni di rete.
I due principali protocolli di livello Transport sono TCP e UDP.

Layer 3, Network: è responsabile dell'instradamento dei pacchetti. Definisce i processi usati dal routing e la struttura e l'uso dell' indirizzamento logico.

Layer 2, Data Link: è responsabile dell'invio affidabile dei dati attraverso il mezzo fisico.
Gestisce gli errori sul mezzo fisico.
Raggruppa i bit creando e gestendo i frames, che poi invia sul mezzo fisico.
Il frame è fatto di: checksum, indirizzo di partenza e destinazione, dati.
Se quando riceve il checksum non è corretto, chiede la ritrasmissione.
Il frame più ampio che possa essere trasmesso determina il MTU.
E' fatto da due sottolivelli:
-LLC: definisce come i dati sono trasferiti sul cavo e si aggancia ai livelli superiori
-MAC: definisce chi può usare la rete quando più computer cercano di accedere contemporaneamente.
Specifiche differenti a livello data link definiscono differenti caratteristiche di rete e di protocollo (indirizzamento fisico, topologia, notifica errori, sequenza dei frame, controllo di flusso).
I protocolli usati sono SLIP, PPP, MTU.

Layer 1, Physical: gestisce la comunicazione a livello di bit sul mezzo fisico. definisce le specifiche elettriche, meccaniche, procedurali e funzionali per attivare il link fisico tra computer (es. caratteristiche fische della interfaccia, numero di bit al secondo, tipo di trasmissione -half o ful duplex-)
Esempi di protocolli: Tolken ring, ethernet, RS-232 .


[frase per ricordare i nomi dei livelli:
Please Do Not Throw Salami Pizza Away]

Il PDU cresce di dimensione mano a mano che passa attraverso i livelli, ciascuno dei quali aggiunge un proprio header e a volte anche un trailer.

processo di ANDing

Risultati algebra booleana:
1 and 1 = 1
1 and 0 = 0
0 and 1 = 0
0 and 0 = 0

Subnet mask di default:
Class A
255.0.0.0

Class B
255.255.0.0

Class C
255.255.255.0


Le subnet mask si applicano solo ad indirizzi di classe A, B e C




ANDing:
obiettivo determinare se l'indirizzo di destinazione è sulla rete locale.
Si esegue l'operazione di AND logico sull'indirizzo sorgente e su quello di destinazione. Se i risultati (che equivalgono all'indirizzo di rete di ciascuno) sono identici, gli ip sorgente e di destinazione sono sulla stessa rete.

es.
destination IP address is 206.175.162.21 (Class C)
binary equivalent is
11001110 10101111 10100010 00010101


default standard Class C subnet mask is 255.255.255.0
binary equivalent is
11111111 11111111 11111111 00000000

quindi
11001110 10101111 10100010 00010101 AND
11111111 11111111 11111111 00000000
-----------------------------------
11001110 10101111 10100010 00000000 =
206.175.162.0 (rete di destinazione)