預設閘道

預設閘道是使用互联网协议套件的计算机网络中的节点,当没有其他路线规范与包的目的地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).