Qual è la differenza tra un gateway e un router?


13

Qui possiamo vedere che il router è 67.23.27.187(primo hop), ma il gateway è 67.23.27.1. Qual è la differenza tra un gateway e un router? Come fa il mio computer a conoscere l'IP del router quando è configurato solo l'indirizzo gateway?

[root@jiaoyou ~]# tracepath google.com
 1:  67-23-27-187.static.slicehost.net (67.23.27.187)       0.000ms pmtu 1500
 1:  67-23-24-2.static.slicehost.net (67.23.24.2)           0.000ms 
 1:  67-23-24-2.static.slicehost.net (67.23.24.2)           4.000ms 
 2:  core7-aggr511a-1.dfw1.rackspace.net (98.129.84.148)  128.008ms 
 3:  bbr1-core7-vlan2007.dfw1.rackspace.net (174.143.123.117)   4.000ms 
 4:  no reply
 5:  no reply

[root@jiaoyou ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=jiaoyou
GATEWAY=67.23.27.1

1
puoi mostrare l'output di netstat -rn?
Gelraen,

Risposte:


19

Un gateway e un router sono essenzialmente gli stessi. Il termine " gateway predefinito " viene utilizzato per indicare il router sulla LAN che ha la responsabilità di essere il primo punto di contatto per il traffico verso i computer esterni alla LAN.

Se la LAN ha più router, il router designato come gateway predefinito può notificare al computer, utilizzando un reindirizzamento ICMP o un altro meccanismo, un percorso più appropriato per una determinata destinazione.

Per esempio

                   (Internet) --- [Google]
                       | 64.20.60.99
                      [R2]
67.23.27 / 255 | 187
| ------ + -------- + ------ + ----- |
       | 9 | 1
     [PC] [R1]
                | 67.23.28 / 255
           | ---- + ------ + ---------- |
                       | 9
                    [Server]

Se il router R1 è il gateway predefinito del PC, quando il PC tenta di contattare Google per la prima volta, il PC invierà i dati a R1 (poiché il PC sa che l'indirizzo IP di Google non si trova nella sottorete del PC), tuttavia R1 dirà al PC che un percorso più appropriato per 64.20 .60.99 è tramite router R2. Il PC lo aggiungerà alla sua tabella di routing, quindi R1 non verrà mostrato in un traceroute successivo.

Il comando netstat -nrsul tuo PC rivelerà sia le route statiche apprese dai suoi file di configurazione sia le route dinamiche apprese dai reindirizzamenti ICMP o ascoltando trasmissioni / multicast del protocollo di routing .

Il termine "gateway" ha altre connotazioni che non sono rilevanti per il file e il comando nella tua domanda.


@Eugene: lo stile dei diagrammi si basa sul classico stile dei diagrammi Ethernet 10-Base-2. Consideralo come simbolico. Tutti i dispositivi collegati a una linea orizzontale sono collegati da uno switch Ethernet (o hub, non influisce sulla risposta). Il server sa che 60.20.60.99 si trova su una sottorete diversa (confrontando gli indirizzi dopo aver applicato la maschera di rete), quindi cerca nella sua tabella di routing per trovare una route. Probabilmente ha solo una route predefinita per R1, quindi assembla un pacchetto con dati per 60.20.60.99 con l'indirizzo MAC di R1. R1 riceve il pacchetto e consulta le proprie tabelle di routing e inoltra il pacchetto a R2, Ripeti.
RedGrittyBrick

C'è anche una spiegazione che non comporta alcun reindirizzamento. Può essere semplicemente che il gateway abbia più indirizzi e stia utilizzando un indirizzo diverso come fonte per i messaggi di errore ICMP rispetto a quello utilizzato dal client nelle richieste ARP.
Kasperd,

6

@RedGrittyBrick ha assolutamente ragione nella sua risposta ("un router e un gateway sono essenzialmente gli stessi"), alcuni altri risponditori confondono i termini o, per dirla gentilmente, hanno frainteso la domanda (o wikipedia).

Per quanto riguarda il routing, il termine "gateway" viene usato quasi sempre insieme a "default" e quel "gateway" fornisce una route verso ogni rete per la quale non è disponibile una route più specifica.

Per definizione, quindi, il gateway deve essere un dispositivo che esegue il routing, potrebbe essere un dispositivo dedicato, in particolare un router o un host che è stato configurato per il routing, ma sta facendo lo stesso lavoro. Pertanto un gateway può essere un router e un router può essere noto come gateway.

Non vi è alcuna differenza nella TTL tra un "gateway predefinito" e un router, una volta che un dispositivo che sta eseguendo il routing passa un pacchetto IP da una rete / sottorete a un'altra, deve ridurre il TTL, che è reso abbastanza chiaro nella RFC pertinente.

Non è necessario che un gateway esegua NAT, in genere una rete domestica avrà un gateway predefinito che è un router collegato ad ADSL, quel tipo di dispositivo eseguirà NAT, mentre il gateway predefinito sulla sottorete al lavoro porterà solo alla LAN dell'ufficio più ampia e non farà NAT.

In risposta alla tua domanda su come uscire da qualche parte che non si trova nella sottorete locale, @RedGrittyBrick ha di nuovo ragione sui reindirizzamenti ICMP, inoltre, il processo che un host attraversa quando invia un pacchetto è questo:

1 - Utilizzare il proprio indirizzo IP e maschera per verificare se l'indirizzo IP del pacchetto di destinazione si trova nella sottorete locale.

2 - Se destinazione nella sottorete locale, inviare la richiesta ARP per l'indirizzo MAC del dispositivo locale, quindi inviare il frame all'host.

3 - Se la destinazione non si trova nella sottorete locale, inviare la richiesta ARP per l'indirizzo MAC del gateway a quella rete, quindi inviare il frame al gateway per l'inoltro successivo (a quel punto potrebbe iniziare il punto sui reindirizzamenti ICMP).

Quindi si può vedere che ogni host fa una propria scelta di routing prima di inviare i pacchetti (ovviamente questi dati vengono memorizzati nella cache in modo che le ricerche non avvengano per ogni singolo pacchetto).


3

Un router funge da gateway, ma con funzionalità aggiuntive. Per Wikipedia: "Un gateway è una caratteristica essenziale della maggior parte dei router, sebbene altri dispositivi (come qualsiasi PC o server) possano funzionare come gateway".


1

Qual è il tuo IP?

I pacchetti originati dal router stesso non avranno il Time-To-Live (TTL) ridotto quando escono dal router.

I pacchetti da un'altra fonte che passa attraverso un router avranno una TTL ridotta di 1 ad ogni hop. Se i pacchetti entrano nel router con un TTL di 1 e il router è la destinazione, il traffico verrà ricevuto dal router. Se il router non è la destinazione, i pacchetti avranno il TTL ridotto a 0 prima di uscire dal router e verranno eliminati.


0

Un gateway regola l'accesso dei computer in una rete ad altri computer.

Un router è una forma speciale di gateway: può inoltrare pacchetti IP tra reti diverse.

Nel tuo caso, il gateway conosce il router e inoltra al router tutte le richieste che riguardano indirizzi non interni.


0

Di solito il "gateway" è una macchina che rende il NAT "mascherato" e ciò significa che il gateway invia la richiesta di dati in nome di IP privati ​​per i quali la rispettiva macchina è gateway e, quando i dati sono indietro, passano i dati a quegli IP privati. Se lo desideri, si può dire che il gateway "impersona" le macchine IP private per quanto riguarda Internet.

Un router OTOH dirige semplicemente i pacchetti da un'interfaccia all'altra. Avendo un insieme di regole (impostazione statica o impostazione dinamica (protocolli di routing)) il router sa di inviare i pacchetti su un'interfaccia specifica per consentire a quei pacchetti di raggiungere la rete desiderata

http://en.wikipedia.org/wiki/IP_masquerading
http://en.wikipedia.org/wiki/Routing

e per rispondere in modo specifico alla tua domanda: "come fa il mio computer a conoscere l'IP del router quando è configurato solo l'indirizzo gateway": ogni macchina connessa conoscerà l'indirizzo del suo ip (gateway) "hop successivo". l'hop successivo di un gateway è l'ip di un'interfaccia connessa di un router che ha le conoscenze per indirizzare i pacchetti verso i percorsi corretti per raggiungere la rete di destinazione

anche: IL TUO hop successivo è 67.23.27.1.
67.23.27.187 è l'hop successivo per 67.23.27.1 o l'ip successivo per il percorso di google.com


stai confondendo il termine gateway più generico con il termine gateway tcp / ip. Ogni router tra le sottoreti è un gateway con il gateway predefinito per qualsiasi dispositivo in cui viene inviata qualsiasi destinazione non nella tabella di routing (in genere all'esterno della sottorete).
JamesRyan,

1
bene, intendevo quello che ho detto! è vero che esiste il "gateway dell'ultima risorsa" (route predefinita) o connessioni "next-hop" ma da quello che ho capito ho pensato che la domanda riguardasse i termini generali di "gateway" e "router". Ci sono 2 domande nel post principale e ho principalmente risposto al primo. en.wikipedia.org/wiki/Default_gateway en.wikipedia.org/wiki/Router
adrian_sev

-2

bene, quando la trasmissione è all'interno di un'area locale o di una LAN, il router in quel caso viene chiamato come gateway per esempio supponiamo che tu abbia 6 case nella tua località (solo un esempio) ora tutti vogliono accedere a Internet avrai un router comune prima di tutto che verrà chiamato come gateway. Ora, se l'indirizzo del gateway (indirizzo IP non il mac) è qualcosa come 192.128.1.1, il tuo indirizzo IP sarà solo un'estensione di questo indirizzo come 192.128.1.101.192.128. 1.102.192.128.1.103 ... e così via. Ora il gateway è ulteriormente connesso a Internet che ha un'enorme rete di gateway ma questa volta verranno chiamati router. Quindi nel tuo caso il primo hop è da casa tua a il gateway che va dal 67.23.27.187 al 67.23.27.1 e poi agli altri router. Spero di averlo.

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.