[reti] - come funziona un router
-
S7EVIN
- Scoppiettante Seguace

- Messaggi: 262
- Iscrizione: mercoledì 6 ottobre 2010, 10:04
- Desktop: unity
- Distribuzione: Ubuntu 14.04 64 bit
[reti] - come funziona un router
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.
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

- Messaggi: 1988
- Iscrizione: venerdì 27 febbraio 2015, 15:48
- Desktop: gnome
- Distribuzione: ubuntu 10.04
- Sesso: Maschile
Re: [reti] - come funziona un router
Ritenta: un router non può avere la stessa rete definita su due interfacce WAN diverse.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?
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

- Messaggi: 262
- Iscrizione: mercoledì 6 ottobre 2010, 10:04
- Desktop: unity
- Distribuzione: Ubuntu 14.04 64 bit
Re: [reti] - come funziona un router
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.
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

- Messaggi: 1988
- Iscrizione: venerdì 27 febbraio 2015, 15:48
- Desktop: gnome
- Distribuzione: ubuntu 10.04
- Sesso: Maschile
Re: [reti] - come funziona un router
I pacchetti si inviano agli indirizzi non alle reti...e un pacchetto é destinato ad un altra rete
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

- Messaggi: 262
- Iscrizione: mercoledì 6 ottobre 2010, 10:04
- Desktop: unity
- Distribuzione: Ubuntu 14.04 64 bit
Re: [reti] - come funziona un router
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.
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
-
tunnel_net
- 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
Enorme ! una riga per ogni interfaccia più una per il default gateway.S7EVIN ha scritto:Mi sembra strano pero che un router faccia un AND per ogni riga della sua tabella enorme.
(più ammennicoli vari come le multicast)
apt-get moo
-
S7EVIN
- 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
Quindi é cosi: fa una AND per ogni riga e scopre il net id ?tunnel_net ha scritto:Enorme ! una riga per ogni interfaccia più una per il default gateway.S7EVIN ha scritto:Mi sembra strano pero che un router faccia un AND per ogni riga della sua tabella enorme.
(più ammennicoli vari come le multicast)
Uso: ubuntu 14.04 64bit
-
tunnel_net
- 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
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
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
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 lo0Un 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

- Messaggi: 262
- Iscrizione: mercoledì 6 ottobre 2010, 10:04
- Desktop: unity
- Distribuzione: Ubuntu 14.04 64 bit
Re: [reti] - come funziona un router
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.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
Uso: ubuntu 14.04 64bit
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti
