<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之旅 廣告
                ICMP地址掩碼請求用于無盤系統在引導過程中獲取自己的子網掩碼(3.5節)。系統廣播它的ICMP請求報文(這一過程與無盤系統在引導過程中用RARP獲取IP地址是類似的)。無盤系統獲取子網掩碼的另一個方法是BOOTP協議,我們將在第16章中介紹。ICMP地址掩碼請求和應答報文的格式如圖6-4所示。 ![](https://box.kancloud.cn/2016-04-13_570de1e90e794.png) ICMP報文中的標識符和序列號字段由發送端任意選擇設定,這些值在應答中將被返回。 這樣,發送端就可以把應答與請求進行匹配。 我們可以寫一個簡單的程序(取名為icmpaddrmask),它發送一份ICMP地址掩碼請求報文,然后打印出所有的應答。由于一般是把請求報文發往廣播地址,因此這里我們也這樣做。 目的地址(140.252.13.63)是子網140.252.13.32的廣播地址(見圖3-12)。 ~~~ sun % icmpaddrmask 140.252.13.63 received mask = ffffffe0, from 140.252.13.來3自3 本 機 received mask = ffffffe0, from 140.252.13.來3自5 bsdi received mask = ffff0000, from 140.252.13.來3自4 svr4 ~~~ 在輸出中我們首先注意到的是,從svr4返回的子網掩碼是錯的。顯然,盡管svr4接口已經設置了正確的子網掩碼,但是SVR4還是返回了一個普通的B類地址掩碼,就好像子網并不存在一樣。 ~~~ svr4 % ifconfig emd0 emd0: flags=23<UP,BROADCAST,NOTRAILERS> inet 140.252.13.34 netmask ffffffe0 broadcast 140.252.13.63 ~~~ SVR4處理ICMP地址掩碼請求過程存在差錯。我們用tcpdump命令來查看主機bsdi上的情況,輸出如圖6-5所示。我們用-e選項來查看硬件地址。 ![](https://box.kancloud.cn/2016-04-13_570de1e9202eb.png) 注意,盡管在線路上什么也看不見,但是發送主機sun也能接收到ICMP應答(帶有上面“來自本機”的輸出行)。這是廣播的一般特性:發送主機也能通過某種內部環回機制收到一份廣播報文拷貝。由于術語“廣播”的定義是指局域網上的所有主機,因此它必須包括發送主機在內(參見圖2-4,當以太網驅動程序識別出目的地址是廣播地址后,它就把分組送到網絡上,同時傳一份拷貝到環回接口)。 接下來, bsdi廣播應答,而svr4卻只把應答傳給請求主機。通常,應答地址必須是單播地址,除非請求端的源IP地址是0.0.0.0。本例不屬于這種情況,因此,把應答發送到廣播地址是BSD/386的一個內部差錯。 RFC規定,除非系統是地址掩碼的授權代理,否則它不能發送地址掩碼應答(為了成為授權代理,它必須進行特殊配置,以發送這些應答。參見附錄E)。但是,正如我們從本例中看到的那樣,大多數主機在收到請求時都發送一個應答,甚至有一些主機還發送差錯的應答。 最后一點可以通過下面的例子來說明。我們向本機IP地址和環回地址分別發送地址掩碼請求: ~~~ sun % icmpaddrmask sun received mask= ff000000, from 140.252.13.33 sun % icmpaddrmask localhost received mask= ff000000, from 127.0.0.1 ~~~ 上述兩種情況下返回的地址掩碼對應的都是環回地址,即A類地址127.0.0.1。還有,我們從圖2-4可以看到,發送給本機IP地址的數據報(140.252.12.33)實際上是送到環回接口。 ICMP地址掩碼應答必須是收到請求接口的子網掩碼(這是因為多接口主機每個接口有不同的子網掩碼),因此兩種情況下地址掩碼請求都來自于環回接口。
                  <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>

                              哎呀哎呀视频在线观看