预设闸道

预设闸道是使用互联网协议套件的计算机网络中的节点,当没有其他路线规范与包的目的地IP地址相匹配时,它作为传输主机 (路由器) 到其他网络。

角色

网关是一个网络节点,作为另一个网络的访问点,通常不仅涉及地址的更改,而且还涉及不同的网络技术。 更狭义地定义,路由器仅在具有不同网络前列的网络之间传输数据包。 每台计算机的网络软件堆包含一个路由表,指定用于传输的界面和网络上的哪个路由器负责将其发送到特定的地址集。 如果这些转发规则都不适合给定目的地址,则选择默认门户作为最后的路由器。 默认门户可以由路线命令指定,以配置节点的路由表和默认路线。

在家庭或小办公环境中,默认门户是一个设备,如DSL路由器或有线路由器,将本地网络与互联网连接起来。 它作为所有网络设备的默认门户。

企业网络系统可能需要许多内部网络段。 例如,希望与公共互联网上主机通信的设备将包传递到其网络部分的默认门户。 这个路由器还有一个默认路线,配置到相邻网络上的设备,一个跳靠近公共网络。

例子

单个路由器

下面的例子显示了可以使用由六个主机加路由器组成的办公网络的IP地址。 六个主持地址是:

  • 192.168.4.3
  • 192.168.4.4
  • 192.168.4.5
  • 192.168.4.6
  • 192.168.4.7
  • 192.168.4.8

路由器的内部地址是:

  • 192.168.4.1

该网络有一个子网掩码:

  • 255.255.255.0 (CIDR符号:/24)

可分配给主机的地址范围从192.168.4.1到192.166.4.254。 TCP/IP定义地址192.168.4.0 (网络ID地址) 和192.166.4.255 (广播IP地址) 。

办公室的主机直接将数据包发送到这个范围内的地址,通过将目的地IP地址与地址解析协议(ARP) 序列解决到一个MAC地址中,然后将IP包封装到一个Mac框架中,该框架向目的地主机。

在此范围内外面的包,例如,针对192.168.12.3,不能直接前往目的地。 相反,它必须被发送到默认门户,以便进一步向其最终目的地进行路由。 在这个例子中,默认门户使用IP地址192.168.4.1,该地址以通常的方式解决为带有ARP的MAC地址。 目的地IP地址仍然是192.168.12.3,但下一门的MAC地址是门户的,而不是最终目的地。

多路由

在另一个例子中,一个有三个路由器和三个主机的网络通过路由1连接到互联网。 主持人的地址是:

 
网络拓扑图
  • PC1 10.1.1.100,默认门户 10.1.1.1
  • PC2 172.16.1.100,默认门户172.16.1.1
  • PC3 192.168.1.100,默认门户 192.166.1.96
  • 接口1 5.5.5.2 (公共IP)
  • 接口2 10.1.1.1

Router2管理其附加的网络和默认门户;路由3也会这样做;路由1管理内部网络内的所有路线。

  • 接口 1 10.1.1.2
  • 接口 2 172.16.1.1

路由器3:

  • 接口 1 10.1.1.3
  • 接口 2 192.168.1.96

所有网络中的网络面具: 255.255.255.0 (CIDR符号中的24号) 。 如果路由器不使用路由协议来发现每个路由器连接到哪个网络,那么每个路由人员的路由表必须设置。

路由1

网络 ID 网络掩码 Gateway 界面/接口 (examples; may vary) Cost (decreases the TTL)
0.0.0.0 (default route) 0.0.0.0 Assigned by ISP (e.g. 5.5.5.1) eth0 (Ethernet 1st adapter) 10
10.1.1.0 255.255.255.0 10.1.1.1 eth1 (Ethernet 2nd adapter) 10
172.16.1.0 255.255.255.0 10.1.1.2 eth1 (Ethernet 2nd adapter) 10
192.168.1.0 255.255.255.0 10.1.1.3 eth1 (Ethernet 2nd adapter) 10

路由2

网络 ID 网络掩码 闸道 界面/接口 (examples; may vary) Cost (decreases the TTL)
0.0.0.0 (default route) 0.0.0.0 10.1.1.1 eth0 (Ethernet 1st adapter) 10
172.16.1.0 255.255.255.0 172.16.1.1 eth1 (Ethernet 2nd adapter) 10

路由3

网络 ID 网络掩码 闸道 界面/接口 (examples; may vary) Cost (decreases the TTL)
0.0.0.0 (default route) 0.0.0.0 10.1.1.1 eth0 (Ethernet 1st adapter) 10
192.168.1.0 255.255.255.0 192.168.1.96 eth1 (Ethernet 2nd adapter) 10

访问内部资源

如果 PC2 (172.16.1.100) 需要访问 PC3 (192.168.1.100),由于 PC2 没有到 192.168.1.100 的路由,它将向 PC3 的默认网关 (router2) 发送数据包。 Router2 也没有到 PC3 的路由,它将把数据包转发到它的默认网关 (router1)。 Router1 有这个网络的路由 (192.168.1.0/24),因此 router1 将数据包转发到 router3,router3 将数据包传递到 PC3; 回复数据包将沿着反向路径返回 PC2。

访问外部资源

如果任何计算机尝试访问 Internet 上的网页,例如 https://en.wikipedia.org/,目標將首先通過使用 DNS 解析解析为 IP 地址。 IP 地址可以是 91.198.174.2。 在本例中,没有一个内部路由器知道到该主机的路由,因此它们将通过路由器 1 的网关或默认路由转发数据包。 数据包到达目的地途中的每个路由器都会检查数据包的目标 IP 地址是否与任何已知的网络路由匹配。 如果路由器找到匹配项,它将通过该路由转发数据包; 如果没有,它会将数据包发送到它自己的默认网关。 途中遇到的每个路由器都会存储数据包 ID 及其来源,以便它可以将响应数据包传回给发送方。 数据包包含源和目标,而不是所有路由器跃点。 最后,数据包将返回到路由器 1,路由器将检查匹配的数据包 ID,并通过路由器 2 或路由器 3 或直接将其路由到 PC1(与路由器 1 连接在同一网段)。

数据包不返回

如果router1的路由表中没有任何到192.168.1.0/24的路由,PC3试图访问自己网络之外的资源,则出局路由一直有效,直到回复反馈给router1。 由于路由对 router1 是未知的,它将转到 router1 的默认网关,而永远不会到达 router3。 他们将在资源日志中跟踪请求,但请求者永远不会获得任何信息。 数据包将死亡,因为当它通过路由器时 TTL 值降低到小于 1,或者路由器会看到它有一个私有 IP 并丢弃它。 这可以通过在类 Unix 操作系统上使用 Microsoft Windows 实用程序 PathPing 或 MTR 来发现,因为 ping 将在没有路由或路由错误的路由器处停止。

使用功能

各种实用软件可以显示默认门户。 在Windows上,可以使用ipconfig,而在Unix系统上,可以用于ifconfig或netstat。[1][2] 在Linux上,netstat已被iproute2取代。[3][4]

参考资料

  1. ^ Top 7 TCP/IP Utilities For Networking Pros. pluralsight.com. [2019-05-05]. (原始内容存档于2019-05-05). 
  2. ^ Henry-Stocker, Sandra. Unix: Getting from here to there (routing basics). Network World. 2013-08-03 [2019-05-05]. (原始内容存档于2020-08-19). 
  3. ^ News: Deprecation of net-tools. archlinux.org. [2020-05-18]. (原始内容存档于2019-07-22). 
  4. ^ Deprecated Linux networking commands and their replacements. Doug Vitale Tech Blog. 2011-12-21 [2020-05-18]. (原始内容存档于2023-09-28).