Un gateway di una sottorete deve essere un computer "reale"?


13

Un gateway è sempre un vero computer o solo un'entità "logica", che può trovarsi su qualsiasi indirizzo, tranne l'IP di trasmissione?


9
Il termine moderno e probabilmente più corretto per un gateway è router . I router possono esistere esclusivamente nel software, i computer convenzionali come PC, laptop e sistemi server possono essere utilizzati come router ma in genere vengono utilizzati dispositivi hardware dedicati
HBruijn,

2
Cosa intendi con "entità logica"?
Barmar,

2
@HBruijn, nella maggior parte dei casi un gateway è un router. Il termine generale è che un gateway è l'host sulla rete a cui altri host inviano il traffico destinato a una rete diversa. Ciò non significa che deve essere un router. Potrebbe essere un proxy, ALG, ecc. Inoltre, potrebbe esserci un caso angolare in cui qualsiasi traffico destinato a una rete diversa deve essere intrappolato e non inoltrato dal gateway, nel qual caso non è un router perché non sta eseguendo il routing pacchetti tra reti.
Ron Maupin,

Scommetto che un sistema in grado di prendere decisioni di inoltro basate sugli indirizzi IP di destinazione non deve essere Turing completo ... quindi, no, un router non deve essere un computer (lo stesso vale un livello inferiore per i bridge e uno livello elevato per i gateway, sebbene possibile a diversi livelli. Tuttavia, ciascuno di questi sistemi è in genere un dispositivo (o una raccolta di dispositivi) che può essere configurato amministrativamente o da applicazioni aggiuntive (come i protocolli di routing) - e persino essere in grado di elaborare un configurazione, queste cose tendono ad essere computer (specializzati)
Hagen von Eitzen,

@Barmar intendo se un gateway deve essere un dispositivo hardware specializzato come un bridge o un router, o se potrebbe essere solo un'informazione come un'impostazione in un server, che è un po 'mutabile, se si pensa in termini di linguaggi di programmazione .
Semo

Risposte:


29

Il percorso predefinito (noto anche come indirizzo gateway) deve essere di proprietà di qualcosa che è in grado di inoltrare i pacchetti al resto di Internet e che è disposto a farlo. Non deve essere l'indirizzo IP "principale" della cosa che lo possiede (qualunque cosa significhi). Può essere un indirizzo logico che fluttua tra due o più dispositivi, e nelle configurazioni ad alta disponibilità lo è spesso.

L'unico requisito, affinché il routing funzioni, è che qualunque dispositivo attualmente possieda e pubblicizzi l'indirizzo, quel dispositivo può e instraderà il traffico.


6
... O almeno fingere di.
Shadur,

2
@Shadur Sono interessato a come il routing può funzionare se il percorso predefinito finge solo, sai, di instradare il traffico.
MadHatter,

1
Il routing stesso non funzionerà, ma se tutto ciò che si desidera consentire è la navigazione, è possibile intercettare il "gateway" ed eseguire un proxy trasparente sulle porte 53, 80 e 443 e mantenere il sistema stesso il più isolato possibile.
Shadur,

7
OK. Non sono in disaccordo, ma questo non è il routing. Sostengo la mia affermazione che, affinché il routing funzioni, il router deve effettivamente instradare, e sembra che tu non sia d'accordo.
MadHatter,

1
Punto giusto, ma "gateway" come viene utilizzato in questa domanda è route predefinita, ovvero next-hop-of-last-resort. Che deve essere in grado di ottenere non solo a tutte le sottoreti interne che non si dispone di percorsi specifici per, ma per tutto il resto pure .
MadHatter,

15

L'indirizzo IP del gateway può essere qualsiasi indirizzo IP host valido nella sottorete, ovvero non l'indirizzo di rete stesso né l'indirizzo di trasmissione. Questo indirizzo IP non deve appartenere a un singolo computer o router, può essere un indirizzo IP "mobile" utilizzato da più gateway. Consulta gli articoli di Wikipedia su HSRP , VRRP , GLBP o CARP .

Ad esempio, quando la sottorete è 172.16.23.0/25, quindi:

  • l' indirizzo di rete è 172.16.23.0,
  • l' indirizzo di trasmissione è 172.16.23.127 e
  • l'intervallo di indirizzi host validi è compreso tra 172.16.23.1 e 172.16.23.126, inclusi.

Il gateway deve essere uno di questi indirizzi host validi, ad es. 172.16.23.65. Le impostazioni del tuo computer sarebbero quindi, ad esempio:

  • Indirizzo IP: 172.16.23.5
  • Maschera di sottorete: 255.255.255.128
  • Gateway predefinito: 172.16.23.65

Ora aggiungendo uno dei protocolli di ridondanza di primo passaggio, i gateway effettivi (router) possono avere l'indirizzo IP 172.16.23.1 e 172.16.23.2 ma usare l'indirizzo IP virtuale 172.16.23.65 per presentarsi come gateway predefinito alla sottorete .


9

"Entità logica" nel tuo utilizzo è un po 'confusa. Ma proverò a rispondere meglio che posso.

Dalla mia esperienza, un gateway in una configurazione IP è di solito un dispositivo fisico. Sebbene non debba essere un computer nel senso tradizionale (può anche essere un dispositivo di rete) deve essere un dispositivo.

Come forse saprai, lo scopo di un gateway predefinito è quello di agire come entità di inoltro per tutte le richieste che a.) Il computer non ha già nella sua tabella di routing o ha una voce che indica al sistema di inoltrare la richiesta a un IP che risulta essere il gateway e / o b.) Esterno al dominio di trasmissione. Il gateway predefinito non viene mai utilizzato in situazioni in cui due host si trovano nello stesso dominio di trasmissione (ovvero una topologia di rete creata da uno switch) poiché il sistema può utilizzare l'indirizzo di trasmissione della sottorete per trovare l'indirizzo MAC di un sistema che possiede un determinato indirizzo IP.

In breve, per rispondere alla tua domanda, tecnicamente, puoi impostare il tuo gateway predefinito come qualsiasi indirizzo IP su una rete connessa. Windows o la maggior parte degli altri sistemi operativi non ti impediranno perché spesso non eseguono la verifica dei dettagli TCP / IP. Se lo stai impostando, probabilmente sei abbastanza esperto in termini tecnici per capire la distinzione. Tuttavia, se si tratta dell'indirizzo IP di un dispositivo che non è in grado di inoltrare, si verificheranno errori nelle applicazioni che dipendono dal routing (ad esempio un browser Web) perché il dispositivo non verrà preparato con una tabella di routing o un servizio di routing per inoltrare la richiesta.

Qualcuno molto più esperto di me, tuttavia, dovrebbe essere in grado di correggermi facilmente se sbaglio.

TL; DR: un dispositivo fisico, molto probabilmente.


È possibile avere più subnet IP diverse nello stesso dominio di trasmissione. In tali casi, il traffico tra tali host scorrerà attraverso i loro gateway predefiniti a meno che non vengano aggiunte voci aggiuntive alle tabelle di routing degli host o non siano in uso reindirizzamenti ICMP.
Peter Green,

@PeterGreen Sì, ci sono molti casi con bordi strani. Ad esempio, supponiamo che 192.168.0.0/24 e 10.0.0.0/24 si trovino sulla stessa LAN Ethernet fisica con il gateway per essere entrambi lo stesso router fisico rispettivamente su 192.168.0.1 e 10.0.0.1. Se 192.168.0.100 esegue il ping 10.0.0.100, il primo round trip verrà trasmesso attraverso il gateway. Il gateway può anche inviare reindirizzamenti ICMP a ciascun host dicendo loro che si trovano sulla stessa LAN. In tal caso, ciascun host invierà quindi richieste ARP per ottenere gli indirizzi MAC del proprio peer e tutte le ulteriori comunicazioni avverranno direttamente tra i peer (non tramite il gateway).
Alex Hajnal,

Si noti che con l'esempio sopra, gli host devono essere predisposti (tramite un reindirizzamento ICMP) per trasmettere una richiesta ARP per l'indirizzo MAC di un peer su una rete straniera. In assenza di un reindirizzamento, gli host non effettueranno richieste ARP su rete esterna.
Alex Hajnal,

5

Le voci della tabella di routing risolvono una sottorete in un gateway o in una scheda di rete.

Una tipica tabella di routing per un dispositivo su una rete privata potrebbe apparire, se si trascurano le cose non necessarie

0.0.0.0/0 via 192.168.0.1
192.168.0.0/24 dev eth0

Il percorso più specifico vince per ogni destinazione, quindi il percorso della sottorete ha la precedenza sul percorso predefinito per gli indirizzi nella sottorete.

L'indirizzo gateway viene, a sua volta, risolto tramite la tabella di routing, che determina l'interfaccia di rete a cui viene assegnato e l'indirizzamento sul livello inferiore.

Pertanto, per un pacchetto a 1.1.1.1, la destinazione viene cercata nella tabella di routing, restituendo la route predefinita, che ha un gateway. Il gateway viene nuovamente controllato, restituendo l'interfaccia Ethernet.

Ethernet ha indirizzi MAC, quindi viene eseguita una ricerca ARP per l'indirizzo gateway e l'indirizzo MAC per il gateway viene utilizzato per il pacchetto in uscita (che utilizza ancora l'indirizzo di destinazione corretto nella sua intestazione IP).

Altri trasporti di livello inferiore funzionano in modo diverso, ad esempio i collegamenti PPP hanno un "indirizzo peer", quindi il loro percorso del dispositivo utilizza una maschera di rete di / 32, e saltano la risoluzione ARP e inviano semplicemente pacchetti come "broadcast" sul collegamento PPP.

Alcuni stack IP richiedono la creazione manuale del percorso del dispositivo, il che rende questo un po 'più ovvio:

ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 up
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
route add default via 192.168.0.1
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.