<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                首先來看一看一些典型的主機路由表。在主機svr4上,我們先執行帶-r選項的netstat命令列出路由表,然后以-n選項再次執行該命令,以數字格式打印出IP地址(我們這樣做是因為路由表中的一些表項是網絡地址,而不是主機地址。如果沒有-n選項,netstat命令將搜索文件 /etc/networks 并列出其中的網絡名。這樣會與另一種形式的名字—網絡名加主機名相混淆)。 ![](https://box.kancloud.cn/2016-04-19_5715bebd0b9bc.png) 第1行說明,如果目的地是140.252.13.65(slip主機),那么網關(路由器)將把分組轉發給140.252.13.35(bsdi)。這正是我們所期望的,因為主機slip通過SLIP鏈路與bsdi相連接,而bsdi與該主機在同一個以太網上。 對于一個給定的路由器,可以打印出五種不同的標志(flag): U 該路由可以使用。 G 該路由是到一個網關(路由器)。如果沒有設置該標志,說明目的地是直接相連的。 H 該路由是到一個主機,也就是說,目的地址是一個完整的主機地址。如果沒有設置該標志,說明該路由是到一個網絡,而目的地址是一個網絡地址:一個網絡號,或者網絡號與子網號的組合。 D 該路由是由重定向報文創建的( 9 . 5節)。 M 該路由已被重定向報文修改( 9 . 5節)。 標志G是非常重要的,因為由它區分了間接路由和直接路由(對于直接路由來說是不設置標志G的)。其區別在于,發往直接路由的分組中不但具有指明目的端的IP地址,還具有其鏈路層地址(見圖3-3)。當分組被發往一個間接路由時,IP地址指明的是最終的目的地,但是鏈路層地址指明的是網關(即下一站路由器)。我們在圖3-4已看到這樣的例子。在這個路由表例子中,有一個間接路由(設置了標志G),因此采用這一項路由的分組其IP地址是最終的目的地(140.252.13.65),但是其鏈路層地址必須對應于路由器140.252.13.35。 理解G和H標志之間的區別是很重要的。G標志區分了直接路由和間接路由,如上所述。 但是H標志表明,目的地址(netstat命令輸出第一行)是一個完整的主機地址。沒有設置H標志說明目的地址是一個網絡地址(主機號部分為0)。當為某個目的IP地址搜索路由表時,主機地址項必須與目的地址完全匹配,而網絡地址項只需要匹配目的地址的網絡號和子網號就可以了。另外,大多數版本的netstat命令首先打印出所有的主機路由表項,然后才是網絡路由表項。 參考記數Refcnt(Reference count)列給出的是正在使用路由的活動進程個數。面向連接的協議如TCP在建立連接時要固定路由。如果在主機svr4和slip之間建立Telnet連接,可以看到參考記數值變為1。建立另一個Telnet連接時,它的值將增加為2,依此類推。 下一列(“use”)顯示的是通過該路由發送的分組數。如果我們是這個路由的唯一用戶,那么運行ping程序發送5個分組后,它的值將變為5。最后一列( interface)是本地接口的名字。 輸出的第2行是環回接口(2.7節),它的名字始終為lo0。沒有設置G標志,因為該路由不是一個網關。H標志說明目的地址(127.0.0.1)是一個主機地址,而不是一個網絡地址。由于沒有設置G標志,說明這是一個直接路由,網關列給出的是外出I P地址。 輸出的第3行是默認路由。每個主機都有一個或多個默認路由。這一項表明,如果在表中沒有找到特定的路由,就把分組發送到路由器140.252.13.33(sun主機)。這說明當前主機(svr4)利用這一個路由表項就可以通過Internet經路由器sun(及其SLIP鏈路)訪問其他的系 統。建立默認路由是一個功能很強的概念。該路由標志(UG)表明它是一個網關,這是我們所期望的。 這里,我們有意稱sun為路由器而不是主機,因為它被當作默認路由器來使用,它發揮的是IP轉發功能,而不是主機功能。 Host Requirements RFC文檔特別說明,IP層必須支持多個默認路由。但是,許多實現系統并不支持這一點。當存在多個默認路由時,一般的技術就成為它們周圍的知更鳥了,例如,Solaris 2.2就是這樣做的。 輸出中的最后一行是所在的以太網。H標志沒有設置,說明目的地址(140.252.13.32)是一個網絡地址,其主機地址部分設為0。事實上,是它的低5位設為0(見圖3-11)。由于這是一個直接路由(G標志沒有被設置),網關列指出的IP地址是外出地址。 netstat命令輸出的最后一項還隱含了另一個信息,那就是目的地址(140.252.13.32)的子網掩碼。如果要把該目的地址與140.252.13.33進行比較,那么在比較之前首先要把它與目的地址掩碼(0xffffffe0,3.7節)進行邏輯與。由于內核知道每個路由表項對應的接口,而且每個接口都有一個對應的子網掩碼,因此每個路由表項都有一個隱含的子網掩碼。 主機路由表的復雜性取決于主機所在網絡的拓撲結構。 1) 最簡單的(也是最不令人感興趣的)情況是主機根本沒有與任何網絡相連。TCP/IP協議仍然能用于這樣的主機,但是只能與自己本身通信!這種情況下的路由表只包含環回接口一項。 2) 接下來的情況是主機連在一個局域網上,只能訪問局域網上的主機。這時路由表包含兩項:一項是環回接口,另一項是局域網(如以太網)。 3) 如果主機能夠通過單個路由器訪問其他網絡(如Internet)時,那么就要進行下一步。一般情況下增加一個默認表項指向該路由器。 4) 如果要新增其他的特定主機或網絡路由,那么就要進行最后一步。在我們的例子中,到主機slip的路由要通過路由器bsdi就是這樣的例子。 我們根據上述IP操作的步驟使用這個路由表為主機svr4上的一些分組例子選擇路由。 1) 假定目的地址是主機sun,140.252.13.33。首先進行主機地址的匹配。路由表中的兩個主機地址表項(slip和localhost)均不匹配,接著進行網絡地址匹配。這一次匹配成功,找到表項140.252.13.32(網絡號和子網號都相同),因此使用emd0接口。這是一個直接路由,因此鏈路層地址將是目的端的地址。 2) 假定目的地址是主機slip,140.252.13.65。首先在路由表搜索主機地址,并找到一個匹配地址。這是一個間接路由,因此目的端的IP地址仍然是140.252.13.65,但是鏈路層地址必須是網關140.252.13.65的鏈路層地址,其接口名為emd0。 3) 這一次我們通過Internet給主機aw.com(192.207.117.2)發送一份數據報。首先在路由表中搜索主機地址,失敗后進行網絡地址匹配。最后成功地找到默認表項。該路由是一個間接路由,通過網關140.252.13.33,并使用接口名為emd0。 4) 在我們最后一個例子中,我們給本機發送一份數據報。有四種方法可以完成這件事,如用主機名、主機I P地址、環回名或者環回I P地址: ~~~ ftp svr4 ftp 140.252.13.34 ftp localhost ftp 127.0.0.1 ~~~ 在前兩種情況下,對路由表的第2次搜索得到一個匹配的網絡地址140.252.13.32,并把IP報文傳送給以太網驅動程序。正如圖2-4所示的那樣, IP報文中的目的地址為本機IP地址,因此報文被送給環回驅動程序,然后由驅動程序把報文放入IP輸出隊列中。 在后兩種情況下,由于指定了環回接口的名字或IP地址,第一次搜索就找到匹配的主機地址,因此報文直接被送給環回驅動程序,然后由驅動程序把報文放入IP輸出隊列中。 上述四種情況報文都要被送給環回驅動程序,但是采用的兩種路由決策是不相同的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看