22 lines
1.6 KiB
Markdown
22 lines
1.6 KiB
Markdown
# Network Layer
|
|
|
|
Questo livello riceve segmenti dal soprastante livello di trasporto e forma pacchetti che vengono passati al sottostante data link layer.
|
|
|
|
Il compito del livello di rete è la trasmissione logica di pacchetti tra due host, che in generale non sono direttamente connessi, attraverso il percorso di rete più appropriato.
|
|
|
|
## ARP
|
|
|
|
Il protocollo `Address Resolution Protocol` (`ARP`) opera a livello di rete (layer 3) e ha il compito di associare un indirizzo IP a un indirizzo MAC. Conoscendo il MAC di destinazione, un host può infatti costruire il frame appropriato (layer 2) per inoltrare i dati sulla rete.
|
|
|
|
Ogni computer mantiene una ARP cache table, ovvero una memoria temporanea che memorizza le associazioni già note. Quando un host deve comunicare con un altro dispositivo, verifica innanzitutto se l'associazione IP-MAC è presente nella propria ARP cache; in caso contrario, viene utilizzato il protocollo ARP per determinare l'indirizzo MAC corrispondente all'IP di destinazione. L'ARP request viene inoltrata in broadcast a tutti i dispositivi raggiungibili nella LAN. Gli host che non sono associati all'IP target ignorano la richiesta, mentre il computer in possesso dell'indirizzo IP richiesto risponde inviando un ARP response in modalità unicast, indirizzata direttamente all'host che ha originato la richiesta.
|
|
|
|
In Linux, il comando per vedere la ARP cache table é `ip neighbour` o `ip n`:
|
|
|
|
```bash
|
|
ip neighbour
|
|
192.168.0.1 dev wlp4s0 lladdr 10:3c:59:c3:ec:73 REACHABLE
|
|
192.168.0.200 dev wlp4s0 lladdr 6a:f8:b0:92:ea:94 STALE
|
|
192.168.0.42 dev wlp4s0 lladdr 84:2a:fd:f2:d7:12 STALE
|
|
192.168.0.97 dev wlp4s0 lladdr 4e:a0:f9:eb:c5:63 STALE
|
|
```
|