网关和路由器有什么区别?

这里我们可以看到路由器67.23.27.187 (第一跳),但是网关67.23.27.1 。 网关和路由器有什么区别? 当只configuration网关地址时,我的电脑如何知道路由器的IP?

 [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 

网关和路由器基本上是一样的。 术语“ 默认网关 ”用于表示局域网上的路由器,它负责作为局域网外计算机的第一个接触点。

如果您的LAN具有多个路由器,则指定为默认网关的路由器可以使用ICMPredirect或其他机制,通知您的计算机针对给定目的地的更合适的路由。

例如


                    (互联网)--- [谷歌]
                        |  64.20.60.99
                       [R2]
 67.23.27 / 255 | 187
 | ------ + -------- + ------ + ------ |
        | 9 | 1
      [PC] [R1]
                 |  67.23.28 / 255
            | ---- + ------ + ---------- |
                        | 9
                     [服务器]

如果路由器R1是PC的默认网关,当PC首次尝试与Google联系时,PC将向R1发送数据(因为PC知道Google的IP地址不在PC的子网中),但是R1会告诉PC更合适的路由到64.20 .60.99是通过路由器R2。 PC将它添加到它的路由表中,因此R1不会显示在随后的跟踪路由中。

您的PC上的命令netstat -nr将显示从其configuration文件中学习到的静态路由以及通过ICMPredirect或通过监听路由协议广播/多播获知的dynamic路由。

术语“网关”具有其他内容,与您的问题中的文件和命令无关。

路由器充当网关,但具有附加function。 每个维基百科:“网关是大多数路由器的一个基本特征,尽pipe其他设备(如任何PC或服务器)可以作为网关。”

@RedGrittyBrick对他的回答(“一个路由器和一个网关本质上是一样的”)是绝对正确的,其他一些响应者则混淆了这些术语,或者善意地误解了这个问题(或维基百科)。

就路由而言,术语“网关”几乎只与“默认”一起使用,并且“网关”为每个没有更多可用路由的networking提供路由。

根据定义,网关必须是一个可以进行路由的设备,它可以是一个专用设备,特别是一台路由器,或者是一台已经被configuration为路由的主机,但是它正在做同样的工作。 因此,网关可以是路由器,路由器可以称为网关。

“默认网关”和路由器之间的TTL没有什么区别,一旦路由设备将IP数据包从一个networking/子网传递到另一个networking/子网时,它必须减lessTTL,这在相关RFC中已经很清楚了。

一个网关不需要做NAT,通常家庭networking的默认网关是一个连接到ADSL的路由器,这种types的设备将执行NAT,而在你工作的子网上的默认网关只会导致更宽的办公室LAN并不会做NAT。

在回答你的问题,出去到不在本地子网的地方,@ RedGrittyBrick再次正确的ICMPredirect,此外,一个主机发送一个数据包的过程是这样的:

1 – 使用自己的IP地址和掩码来检查目标数据包的IP地址是否在本地子网中。

2 – 如果在本地子网中的目的地,发送该本地设备的MAC地址的ARP请求,然后发送帧到主机。

3 – 如果目的地不在本地子网,则发送网关MAC地址的ARP请求到该networking,然后发送帧到网关进行转发(此时ICMPredirect的点可能会跳入)。

因此,可以看出,每个主机在发送数据包之前进行自己的路由select(当然这个数据被高速caching,所以对于每一个数据包都不会发生查找)。

你的IP是什么?

源自路由器本身的数据包在离开路由器时不会减less生存时间(TTL)。

通过路由器的其他来源的数据包将在每一跳的TTL减less1。 如果数据包进入TTL为1的路由器,并且路由器是目的地,则路由器将接收stream量。 如果路由器不是目的地,那么在退出路由器之前,数据包的TTL会降低到0,并且会被丢弃。

网关pipe理networking中的计算机对其他计算机的访问。

路由器是网关的一种特殊forms,它可以在不同的networking之间转发IP数据包。

在你的情况下,网关知道路由器,并将所有非内部地址的请求转发给路由器。

通常,“网关”是一种使NAT“伪装”的机器,这意味着网关以各自的机器为网关的专用IP的名称发出数据请求,并且当数据返回时,传递数据到那些私人IP。 如果你愿意的话,可以说网关在互联网上“冒充”私有IP机器。

路由器OTOH只是将数据包从一个接口转到另一个接口。 有一套规则(静态设置或dynamic设置(路由协议))路由器知道在特定的接口上发送数据包,以便这些数据包到达所需的networking

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

并专门回答你的问题:“当只有网关地址configuration时,我的计算机如何知道路由器的IP地址”:每台连接的计算机都知道他的“下一跳”ip(网关)的地址。 网关的下一跳是路由器的连接接口的IP,它具有将数据包引导到正确的path以到达目的networking的知识

另外:你的下一跳是67.23.27.1。
67.23.27.187是67.23.27.1的下一个跃点或google.compath的下一个ip

那么当传输是在一个局域网或局域网的路由器在这种情况下被称为网关的例子假设你有6个房屋在你的地方(只是一个例子)现在都想访问互联网,你将有一个共同的路由器首先将被称为网关。现在,如果网关的地址(IP地址不是MAC)是类似于192.128.1.1那么你的IP地址将只是这个地址的扩展,如192.128.1.101,192.128。 1.102,192.128.1.103 …等等。现在,网关还连接到具有巨大网关networking的互联网,但是这次将被称为路由器。因此,对于您的情况,第一跳是从您家到网关是从67.23.27.187到67.23.27.1,然后到其他路由器。希望你得到它。