日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 网络路由介绍

發布時間:2025/7/25 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 网络路由介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

from: Linux 網絡路由介紹 ?

六月份的時候我們討論了基礎網絡配置,其中有一點我沒提到的是路由。這篇文章將簡潔明了的介紹下Linux網絡下的路由,來方便理解一些簡單的網絡環境。

每臺網絡中相連的計算機當他們離開本地主機的時候,TCP / IP數據包需要某種類型的路由指令。這通常是非常簡單的,因為多數網絡環境非常簡單,那些離開包只有兩個選擇。所有數據包被發送到設備在本地網絡上或其他網絡,遠端網絡。


"本地"網絡被公認為邏輯網絡,通常也被認為是在本地主機上的物理網絡。從邏輯上來說這意味著主機被分配一個本地子網IP范圍內的IP地址。從物理上來說這意味著主機連接到一個或多個那些連接其他本地網絡的交換機。

TCP/IP 網絡模型

在我們學習路由之前,它(代指TCP/IP網絡模型)能夠幫助我們理解關于數據包是如何在網絡中尋找到正確的主機。TCP/IP網絡模型定義了一個五層堆棧,描述了將數據包從一個主機到其他主機所需的必要機制,無論這臺其他主機實在本地網絡或這世界的任何一方。接下來將按數字編號介紹TCP/IP網絡模型的每一層,及該層處理的數據單元名稱。


5. 應用層:?消息 這一層由各種網絡應用程序進行通信所需的連接協議,如HTTP、DHCP、SSH、FTP、SMTP、IMAP及其他。當你從遠程網站上請求一個網頁時,一個連接請求被發送到web服務器,響應被發回到主機所在層,?然后瀏覽器就可以顯示這個網頁。

4. 傳輸層: TCP 字節段.?傳輸層提供端到端的數據傳輸和流管理服務,是獨立的傳輸協議數據和類型的。它使用的端口就像HTTP的80端口和SMTP的25端口一樣使發送主機和遠程主機之間建立連接。


3. 網絡層: 包.?數據包的路由機制在網絡層執行. 網絡層負責數據包在兩個或多個網絡間的穿行提供路徑,以使數據包到達最終目的地. 網絡層使用?IP Addresses 和路由表來確定哪個設備將數據包發送出去. 如果發送給路由器, 每個路由器負責將數據包發送到該級中的下一個路由器,而不是將整個路由從本地主機映射到目標主機. 網絡層中主要是路由器在交換數據,以確定鏈路中的哪臺設備將發送數據。



2. 數據鏈路層: 幀. 鏈路層管理一個單一的,局部的,邏輯的,物理網絡硬件主機之間的直接連接. 鏈路層使用嵌入在網絡接口卡(NIC) (MAC) 地址?地址來識別連接到本地網絡中的物理設備。?鏈路層不能訪問本地網路之外的其他主機.

1. 物理層: 位. 這是硬件層,它由NIC和物理以太網電纜以及數據幀硬件級別協議組成,用來為任何與本地計算機連接的其他網絡節點傳輸由位組成的數據幀。


一個簡單的例子

那么當主機實際上是利用TCP/IP網絡模型在網絡上發送數據是什么樣子呢?接下來是我自己對數據是如何從某個網絡移動到另一個網絡中的猜想。在這個例子中,我的電腦將向遠端服務器發送web頁面的請求。

  • 應用層, 瀏覽器發送HTTP連接請求消息給遠端主機,www.example.com 發回的數據包含web頁面的內容。這條消息數據只包含遠程web服務器的IP地址。

  • 傳輸層封裝那些包含與遠程web服務器的IP地址作為目的地址的TCP數據包的網頁請求消息。 加上原始請求包,現在這個數據包包含初始請求的源端口,通常是一個數字較大的隨機端口,以便知道返回的數據是由哪個端口監聽;遠程主機上的目的端口,本次案例中使用80端口。

  • 網絡層封裝了TCP報文分組中的源和目的IP地址。

  • 數據鏈路層使用地址解析協議(ARP)確定默認路由器的物理MAC地址,并將包含有源和目的MAC地址的網絡數據包封裝。

  • 物理層,通過線纜發送數據幀,(線纜)通常使用CAT5或CAT6,從本地主機的網卡發送到默認路由上的主機的網絡。

  • 默認路由打開數據包并決定目的IP地址。路由使用路由表來確定下一個路由的IP地址,開始幀到下一跳的旅程。然后路由重新封裝一個新的數據幀,包含自己的MAC地址作為源地址和下一個路由的MAC地址,然后通過一個合適的接口發送。路由將在第三層,網絡層執行路由任務。


  • 請注意,在二層及以上協議層中,交換機是無形的,所以并不會影響數據以邏輯方式的傳輸。交換機的功能僅僅是提供一個簡單的方法來連接多臺主機到一個單一的物理網絡,通過以太網線纜。

    你可以使用arp [-n]命令來查看所有主機的MAC地址,存儲在其ARP表中。通常這些主機都位于本地網絡。

    路由表

    所有的網絡設備,不論是主機,路由器,或其他類型的網絡節點比如網絡打印機,都需要決定TCP/IP數據包去向哪里。路由表提供了所需的配置信息來做出這些決定。路由表類似圖1的一個非常簡單的路由表用于定義一個典型的到本地主機的單一路由,并確定是否發送數據包到默認網關路由。route -n命令列出路由表,-n選項顯示唯一的IP地址,不會嘗試執行DNS查找可替代的IP地址和主機名稱。?netstat -rn?命令顯示相似的結果。


    ? [root@host1 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.0.254 0.0.0.0 UG 100 0 0 eno1 192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eno1

    ?圖1:一個簡單的路由表

    使用-n選項時,默認網關總是顯示目的地址0.0.0.0 .如果不使用-n選項,輸出的目的地址列表中將出現“默認這個詞”。默認網關0.0.0.0意味著數據包不會尋址到本地網絡或者通過路由表中的附加條目來發送到無網絡分類的默認網關。

    圖1中的Iface(接口)是出站網卡的名稱,在本例中,是eno1. 對于那些被稱為路由的主機,至少有兩個或以上使用的網卡。每塊網卡都作為一個路由連接到不同的物理網絡和邏輯網絡。標識欄的標識表明該路由可達(U),默認網關(G)。或許也存在其他標識。


    對于多數主機來說路由決策是相當簡單的:

    • 如果目的主機在本地網絡中,數據將直接發送到目標主機.
    • 如果目的主機在遠程網絡中,并且可以通過路由表中列出的本地網關到達,那么數據將被發送到其明確定義的網關.
    • 如果目的主機在遠程網絡中,并且沒有任何路由條目定義其到該主機的線路,那么數據將被發送到默認網關。

    這些規則說明,如果一條都不符合,那么數據包將被發送到默認網關。


    下面圖2中的路由表看上去有一點復雜,是因為它屬于一個充當路由連接到三個網絡的Linux主機,其中一個連接到互聯網。本地C類網絡,eth1接口IP192.168.0.0/24,192.168.25.0/24在eth2,各有各的表項,以及通向世界的eth0上其余的默認路由
    ? [root@host2 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.24 0.0.0.0 255.255.255.252 U 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.25.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 0.0.0.0 192.168.1.25 0.0.0.0 UG 0 0 0 eth0

    圖2:連接多網絡的更復雜的路由表

    注意,仍然只有一個默認網關,這是接口eth0上的。然而,除了默認路由條目直接指向路由器的LAN網段IP地址,也有用于192.168.1.24/30網絡作為一個整體的一個條目。該網絡只包含兩個可用的IP地址,一個192.168.1.25/30,為路由器的LAN網段,192.168.1.26/30為主機本身


    路由配置

    那么如何配置路由呢?當主機通過DHCP連接網絡,DHCP服務器將提供默認路由信息,包括DNS、IP地址或許還有其他信息比如NTP服務器的IP地址。對于配置靜態路由信息來說,通常很簡單, 不過有時也有一點點復雜。

    在多數情況下,添加默認路由信息到/etc/sysconfig/network 文件可以使網絡自動配置路由表中的默認路由條目。該條目看起來就像圖三中的示例。


    ? GATEWAY=192.168.0.1

    圖3:網絡文件中的網關條目

    只有默認網關可以通過網絡文件配置。

    在靜態配置環境中,配置默認??網關的另一種方法是將它添加到在/etc/sysconfig/network中-scripts目錄相應的接口配置文件。要添加網關到接口eth0的配置文件中,你可以添加在同一行,如圖3所示的ifcfg-eth0文件。如果你這樣做,你應當從網絡中刪除文件條目。

    在更復雜的環境中,當主計算機使用多塊網卡連接到多個網絡,并且當如果有需要被加入到路由表中的至少兩個及可能更多的路線,應該考慮使用在一個在/etc/sysconfig/network中的路由文件。對于網卡enp7s1而言,該文件應該是路由enp7s1,它將包含在圖4所示的條目。

    ? default via 192.168.0.1 dev enp7s1

    圖4:enp7s1的默認路由條目.

    默認網關設置在路由接口信息文件中覆蓋任何可能在網絡文件中列出的網絡文件。

    當然,你可以隨時使用route命令在命令行中添加路由。這可能需要一些時間,當每次都系統啟動時,所以你可能要考慮使用上述方法,或者創建運行在系統啟動時的腳本。我有一個這樣的腳本文件,用于我的一個系統,包含以下如圖5所示的兩行。 route del default route add default gw 192.168.0.1

    圖5: 命令行方式設置默認路由?.

    注意設備名稱在所有命令行中是可選的,并沒有用在圖5中。

    總結

    (路由表)可以有更多的路由條目。比這些簡單的例子中顯示的多,這是很常見的。本例中信息僅僅只是一個開始。對于那些更復雜的網絡環境,你可以參照?Inside TCP/IP, 第二版, 或者?TCP/IP Network?Administration?作者是Craig Hunt. 如果你還想要更多信息請參閱不同的發行版本號。對于基于RPM的比如Fedora 和Centos,?Red Hat Enterprise Linux 7 deployment guide?是一個好的參照讀物。.

    總結

    以上是生活随笔為你收集整理的Linux 网络路由介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。