[reti] - come funziona un router

Networking, configurazione della connessione, periferiche e condivisioni di rete.
Scrivi risposta
S7EVIN
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 262
Iscrizione: mercoledì 6 ottobre 2010, 10:04
Desktop: unity
Distribuzione: Ubuntu 14.04 64 bit

[reti] - come funziona un router

Messaggio da S7EVIN »

Premesso che sono a conoscienza della differenza tra net-id e netmask, mi sfugge come funziona un router in caso di pacchetti diretti verso la stessa rete da cui il pacchetto é partito e, soprattuto, come fa un router a capire se il pacchetto che ha ricevuto sull'interfaccia default gateway appartiene alla stessa rete di appartenenza.

So che il net-id si puo calcolare facilmente con : Net-ID = IPaddressDestinatario AND subnetmask.

Supponiamo che il PC1 mandi un pacchetto al PC2 (con PC1 e PC2 connessi allo stesso router su 2 interfacce diverse ovviamente). PC1 inoltrera il pacchetto verso il default gateway, il router, una volta ricevuto il pacchetto, come capisce che la rete di dest é la stessa di partenza? Nel datagram IP non trasmetto la netmask ma solo IPaddressMittente e IPaddressDestinatario..come puo un router calcolare il net id di destinazione senza conoscere la netmask del IPaddrDestinatario?

Grazie.
Uso: ubuntu 14.04 64bit
tunnel_net
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1988
Iscrizione: venerdì 27 febbraio 2015, 15:48
Desktop: gnome
Distribuzione: ubuntu 10.04
Sesso: Maschile

Re: [reti] - come funziona un router

Messaggio da tunnel_net »

S7EVIN ha scritto:(con PC1 e PC2 connessi allo stesso router su 2 interfacce diverse ovviamente). PC1 inoltrera il pacchetto verso il default gateway, il router, una volta ricevuto il pacchetto, come capisce che la rete di dest é la stessa di partenza?
Ritenta: un router non può avere la stessa rete definita su due interfacce WAN diverse.

Se invece ti riferisce alle porte LAN del classico casalingo, in quel caso i pacchetti non transitano nel router ma solo sulle porte LAN che non sono altro che uno switch (il router le vede come una sola interfaccia).
apt-get moo
S7EVIN
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 262
Iscrizione: mercoledì 6 ottobre 2010, 10:04
Desktop: unity
Distribuzione: Ubuntu 14.04 64 bit

Re: [reti] - come funziona un router

Messaggio da S7EVIN »

ok, chiaro. Se un pacchetto é destinato ad un altra rete invece, il router come fa calcolare il net-id di destinazione per verificare la enry nella routing table?
Forse mi sfugge qualcosa, ma nel datagram ip abbiamo solo ipaddressMitt e ipaddressDest, non ce un campo netmask.
Uso: ubuntu 14.04 64bit
tunnel_net
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1988
Iscrizione: venerdì 27 febbraio 2015, 15:48
Desktop: gnome
Distribuzione: ubuntu 10.04
Sesso: Maschile

Re: [reti] - come funziona un router

Messaggio da tunnel_net »

..e un pacchetto é destinato ad un altra rete
I pacchetti si inviano agli indirizzi non alle reti.

Il campo netmask non c'è perchè non serve.
Il router se deve istradare un pacchetto ad esempio a 1.1.1.1 non fa altro che consultare le sue tabelle di routing (dove il netmask c'è) e sceglie la più idonea e quando tutto manca lo spedisce al suo default gateway
apt-get moo
S7EVIN
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 262
Iscrizione: mercoledì 6 ottobre 2010, 10:04
Desktop: unity
Distribuzione: Ubuntu 14.04 64 bit

Re: [reti] - come funziona un router

Messaggio da S7EVIN »

il router appena riceve un pacchetto effettua le seguenti
1. Ricerca nella routing-table una entry con lo stesso indirizzo di rete del destinatario del datagram ricevuto
2. Se la entry corrisponde ad una rete remota, inoltra tutto all'indirizzo nella colonna "next hop".

Fin qui ci siamo, ma come cavolo fa un router a capire se l'indirizzo di rete del destinatario é presente in tabella o meno a partire dall'ip address destinatario compreso nel datagram IP?

L'unica soluzione é fare un AND logico con tutte le netmask presenti in tabella, se trovo un indirizzo di rete uguale a uno qualsiasi presente in tabella allora la destinazion sara il campo next hop corrispondente.

Mi sembra strano pero che un router faccia un AND per ogni riga della sua tabella enorme.
Uso: ubuntu 14.04 64bit
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13174
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: [reti] - come funziona un router

Messaggio da thece »

Articolo esterno: "La netmask spiegata a mia figlia Parte 1 - Parte 2"
tunnel_net
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1988
Iscrizione: venerdì 27 febbraio 2015, 15:48
Desktop: gnome
Distribuzione: ubuntu 10.04
Sesso: Maschile

Re: [reti] - come funziona un router

Messaggio da tunnel_net »

S7EVIN ha scritto:Mi sembra strano pero che un router faccia un AND per ogni riga della sua tabella enorme.
Enorme ! una riga per ogni interfaccia più una per il default gateway.
(più ammennicoli vari come le multicast)
apt-get moo
S7EVIN
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 262
Iscrizione: mercoledì 6 ottobre 2010, 10:04
Desktop: unity
Distribuzione: Ubuntu 14.04 64 bit

Re: [reti] - come funziona un router

Messaggio da S7EVIN »

tunnel_net ha scritto:
S7EVIN ha scritto:Mi sembra strano pero che un router faccia un AND per ogni riga della sua tabella enorme.
Enorme ! una riga per ogni interfaccia più una per il default gateway.
(più ammennicoli vari come le multicast)
Quindi é cosi: fa una AND per ogni riga e scopre il net id ?
Uso: ubuntu 14.04 64bit
tunnel_net
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1988
Iscrizione: venerdì 27 febbraio 2015, 15:48
Desktop: gnome
Distribuzione: ubuntu 10.04
Sesso: Maschile

Re: [reti] - come funziona un router

Messaggio da tunnel_net »

Ancora con sto net-id, ti ho già detto che i pacchetti vanno a indirizzi e a essere precisi ai mac-address, non a network, il network/netmask serve solo per sapere quale entrata nella tabella di routing è quella giusta

Codice: Seleziona tutto

     Indirizzo rete    Mask          Gateway     Interfaccia
 1)  0.0.0.0          0.0.0.0        10.35.0.1   eth1
 2)  10.35.0.0        255.255.0.0                eth1
 3)  192.168.1.0      255.255.0.0                eth0
     127.0.0.0        255.0.0.0                  lo0
Un pacchetto inviato a 192.168.1.34 userà eth0 regola 3) e sarà indirizzato al mac-address di 192.168.1.34
Un pacchetto inviato a 10.35.12.12 userà eth1 regola 2) e sarà indirizzato al mac-address di 10.35.12.12
Un pacchetto inviato a 1.1.1.1 userà eth1 regola1) e regola 2) e sarà indirizzato al mac-address di 10.35.0.1
apt-get moo
S7EVIN
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 262
Iscrizione: mercoledì 6 ottobre 2010, 10:04
Desktop: unity
Distribuzione: Ubuntu 14.04 64 bit

Re: [reti] - come funziona un router

Messaggio da S7EVIN »

tunnel_net ha scritto:Un pacchetto inviato a 192.168.1.34 userà eth0 regola 3) e sarà indirizzato al mac-address di 192.168.1.34
il router per capire che 192.168.1.34 appartiene alla rete 192.168.1.0 deve fare un (192.168.1.34 AND netmask_i)=X con i=nro di righe in tabella. Se trova che X=Indirizzo rete allora instrada tutto sull'Interfaccia relativa.
Uso: ubuntu 14.04 64bit
Scrivi risposta

Ritorna a “Connessione e configurazione delle reti”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti