# Router Il livello 2 del modello ISO/OSI, noto come livello di collegamento dati, consente la comunicazione all'interno di una rete locale (LAN). Tuttavia, per comunicare tra segmenti di rete diversi, è necessario utilizzare dispositivi di rete operanti al livello 3, come i router o i multi-layer switch. Questi dispositivi sono in grado di instradare i pacchetti di dati tra reti diverse, gestendo indirizzi IP e determinando il percorso migliore per il trasferimento delle informazioni. ## Routing dei pacchetti Un pacchetto può seguire diversi percorsi per raggiungere una destinazione esterna. Questo implica un processo di selezione e instradamento dei pacchetti, noto come `routing`, che consiste nel determinare il percorso più appropriato, passo dopo passo, per arrivare a destinazione. Le rotte sono necessarie quando ci sono più router coinvolti, poiché in tal caso esistono differenti percorsi che i pacchetti possono seguire per raggiungere la loro destinazione. Esistono algoritmi di routing che gestiscono l'instradamento dinamico dei pacchetti, adattandosi alle variazioni della rete in tempo reale. In alternativa, è possibile configurare rotte statiche, che rimangono fisse e non si adattano automaticamente alle condizioni della rete. ### Rotte statiche #### Linux Per visualizzare le rotte attive: ```bash ip route ``` Per aggiungere una rotta statica: ```bash ip route add destination_network/cidr via gateway ip route add 10.10.1.0/24 via 192.168.0.195 ``` #### Windows Per visualizzare le rotte attive: ```cmd route print ``` Per aggiungere una rotta statica: ```cmd route add destination_network MASK subnet_mask gateway route add 192.168.35.0 MASK 255.255.255.0 192.168.0.2 ``` Per eliminare una rotta statica: ```cmd route delete destination_network ``` #### Switch Layer 3 Per assegnare un indirizzo IP ad un'interfaccia: ```txt switch> ena switch# conf t switch(config)# interface g0/1 switch(config-if)# ip address 192.168.2.1 255.255.255.0 switch(config-if)# no shut ``` Per aggiungere una rotta statica: ```txt ip route destination_network subnet_mask next_hop switch(config-if)# ip route 192.168.3.0 255.255.255.0 192.168.2.1 ```