# Network Address

## Netmask (Wildcard)

La `netmask`, o maschera di rete, è un modo alternativo di rappresentare il CIDR (Classless Inter-Domain Routing) ed è comunemente utilizzata nella configurazione degli apparati di rete. Essa serve a indicare, dato un indirizzo IPv4, quanti bit sono destinati al prefisso (identificazione della rete) e quanti al suffisso (identificazione di un host all'interno della rete). La netmask è un indirizzo IPv4 a 32 bit in cui i primi n bit (dove n viene indicato nel CIDR, ad esempio /24) sono impostati a 1.

Esempio di netmask per /24:

```txt
11111111.11111111.11111111.00000000
255.255.255.0
```

La `wildcard` è il complemento della netmask. Per una netmask di /24, la wildcard corrispondente è:

```txt
/24
255.255.255.0
0.0.0.255
```

L'indirizzo di rete (`Network Address`) è l'indirizzo che identifica una rete o una subnet, fungendo da identificatore rappresentativo. Il primo indirizzo IP di un range è il network address.

## Broadcast Address

L'ultimo indirizzo del range è il broadcast address, anch'esso non assegnabile a un host. Questo indirizzo speciale consente di inviare pacchetti a tutti gli host della rete contemporaneamente.

## Default Gateway

Il default gateway è l'indirizzo che consente agli host all'interno di una rete di comunicare con router e inviare pacchetti verso altre reti. Esso funge da punto di accesso per l'instradamento del traffico.

## Esempio di Indirizzo di Rete

Consideriamo l'indirizzo IP 192.168.13.122/27. In questo caso, i primi 27 bit sono fissi, mentre i rimanenti 5 bit sono variabili. Solo 30 indirizzi sono utilizzabili per gli host.

```txt
# Rappresentazione binaria dell'indirizzo
11000000.10101000.00001101.01111010
```

- I primi 27 bit (11000000.10101000.00001101.011) sono fissi.
- Gli ultimi 5 bit (11010) sono variabili.

Per ottenere il network address, impostiamo gli ultimi 5 bit a 0:

```txt
11000000.10101000.00001101.01100000 (192.168.13.96)
```

Per ottenere il broadcast address, impostiamo gli ultimi 5 bit a 1:

```txt
11000000.10101000.00001101.01111111 (192.168.13.127)
```

La netmask per /27 ha i primi 27 bit impostati a 1 e i restanti a 0:

```txt
255.255.255.224
```

Il complemento della netmask, ovvero la wildcard, è:

```txt
0.0.0.31
```
