<dl id="y4hiq"><ins id="y4hiq"></ins></dl>
  • <dl id="y4hiq"></dl>
    <div id="y4hiq"></div>
  • <progress id="y4hiq"></progress>
  • <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
    <li id="y4hiq"><tr id="y4hiq"></tr></li>
    <progress id="y4hiq"></progress><sup id="y4hiq"></sup>
    <li id="y4hiq"></li>
  • <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
    <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
  • <li id="y4hiq"><s id="y4hiq"></s></li>
  • <div id="y4hiq"></div>
  • <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
  • <menuitem id="y4hiq"><menu id="y4hiq"></menu></menuitem>
  • <div id="y4hiq"></div>
    <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
    <tbody id="y4hiq"><address id="y4hiq"></address></tbody>
  • <li id="y4hiq"></li>
    <sup id="y4hiq"><ins id="y4hiq"></ins></sup>
  • <div id="y4hiq"></div>
  • <nav id="y4hiq"><span id="y4hiq"></span></nav>
    <dl id="y4hiq"></dl>
    <div id="y4hiq"></div>
  • <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
  • <div id="y4hiq"><tr id="y4hiq"></tr></div>
    <li id="y4hiq"><s id="y4hiq"></s></li>
    <dl id="y4hiq"></dl>
  • <li id="y4hiq"><ins id="y4hiq"></ins></li>
    <li id="y4hiq"></li>
  • <div id="y4hiq"><tr id="y4hiq"></tr></div>
  • <progress id="y4hiq"></progress>
  • 中國項目管理資源網

    MCP協議介紹

    2012/11/1 15:05:50?|? 7145次閱讀?|? 來源:中國項目管理資源網?? 【已有0條評論】發表評論

    IP協議并不是一個可靠的協議,它不保證數據被送達,那么,自然的,保證數據送達的工作應該由其他的模塊來完成。其中一個重要的模塊就是ICMP(網絡控制報文)協議。

    當傳送IP數據包發生錯誤--比如主機不可達,路由不可達等等,ICMP協議將會把錯誤信息封包,然后傳送回給主機。給主機一個處理錯誤的機會,這也就是為什么說建立在IP層以上的協議是可能做到安全的原因。ICMP數據包由8bit的錯誤類型和8bit的代碼和16bit的校驗和組成。而前16bit就組成了ICMP所要傳遞的信息。書上的圖6-3清楚的給出了錯誤類型和代碼的組合代表的意思。

    盡管在大多數情況下,錯誤的包傳送應該給出ICMP報文,但是在特殊情況下,是不產生ICMP錯誤報文的。如下

    ICMP差錯報文不會產生ICMP差錯報文(出IMCP查詢報文)(防止IMCP的無限產生和傳送)
    目的地址是廣播地址或多播地址的IP數據報。
    作為鏈路層廣播的數據報。
    不是IP分片的第一片。
    源地址不是單個主機的數據報。這就是說,源地址不能為零地址、環回地址、廣播地 址或多播地址。
    雖然里面的一些規定現在還不是很明白,但是所有的這一切規定,都是為了防止產生ICMP報文的無限傳播而定義的。

    ICMP協議大致分為兩類,一種是查詢報文,一種是差錯報文。其中查詢報文有以下幾種用途:

    ping查詢(不要告訴我你不知道ping程序)
    子網掩碼查詢(用于無盤工作站在初始化自身的時候初始化子網掩碼)
    時間戳查詢(可以用來同步時間)
    而差錯報文則產生在數據傳送發生錯誤的時候。就不贅述了。

    2.ICMP的應用--ping
    ping可以說是ICMP的最著名的應用,當我們某一個網站上不去的時候。通常會ping一下這個網站。ping會回顯出一些有用的信息。一般的信息如下:


    Reply from 10.4.24.1: bytes=32 time<1msTTL=255
    Reply from 10.4.24.1: bytes=32 time<1msTTL=255
    Reply from 10.4.24.1: bytes=32 time<1msTTL=255
    Reply from 10.4.24.1: bytes=32 time<1ms TTL=255

    Ping statistics for 10.4.24.1:
    Packets:Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum =0ms, Maximum = 0ms, Average = 0ms

    ping這個單詞源自聲納定位,而這個程序的作用也確實如此,它利用ICMP協議包來偵測另一個主機是否可達。原理是用類型碼為0的ICMP發請求,受到請求的主機則用類型碼為8的ICMP回應。ping程序來計算間隔時間,并計算有多少個包被送達。用戶就可以判斷網絡大致的情況。我們可以看到,ping給出來了傳送的時間和TTL的數據。我給的例子不太好,因為走的路由少,有興趣地可以ping一下國外的網站比如sf.net,就可以觀察到一些丟包的現象,而程序運行的時間也會更加的長。
    ping還給我們一個看主機到目的主機的路由的機會。這是因為,ICMP的ping請求數據報在每經過一個路由器的時候,路由器都會把自己的ip放到該數據報中。而目的主機則會把這個ip列表復制到回應icmp數據包中發回給主機。但是,無論如何,ip頭所能紀錄的路由列表是非常的有限。如果要觀察路由,我們還是需要使用更好的工具,就是要講到的Traceroute(windows下面的名字叫做tracert)。

    3.ICMP的應用--Traceroute
    Traceroute是用來偵測主機到目的主機之間所經路由情況的重要工具,也是最便利的工具。前面說到,盡管ping工具也可以進行偵測,但是,因為ip頭的限制,ping不能完全的記錄下所經過的路由器。所以Traceroute正好就填補了這個缺憾。

    Traceroute的原理是非常非常的有意思,它受到目的主機的IP后,首先給目的主機發送一個TTL=1(還記得TTL是什么嗎?)的UDP(后面就知道UDP是什么了)數據包,而經過的第一個路由器收到這個數據包以后,就自動把TTL減1,而TTL變為0以后,路由器就把這個包給拋棄了,并同時產生一個主機不可達的ICMP數據報給主機。主機收到這個數據報以后再發一個TTL=2的UDP數據報給目的主機,然后刺激第二個路由器給主機發ICMP數據報。如此往復直到到達目的主機。這樣,traceroute就拿到了所有的路由器ip。從而避開了ip頭只能記錄有限路由IP的問題。


    【?發表評論?0條?】


    網站文章版權歸原作者所有,如有認為侵權請聯系我們,將于1個工作日內作出處理!
    網友評論
    網友評論(共0 條評論)..

    請您注意·自覺遵守:愛國、守法、自律、真實、文明的原則
    ·尊重網上道德,遵守《全國人大常委會關于維護互聯網安全的決定》及中華人民共和國其他各項有關法律法規
    ·嚴禁發表危害國家安全,破壞民族團結、國家宗教政策和社會穩定,含侮辱、誹謗、教唆、淫穢等內容的作品
    ·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
    ·您在中國項目管理資源網新聞評論發表的作品,中國項目管理資源網有權在網站內保留、轉載、引用或者刪除
    ·參與本評論即表明您已經閱讀并接受上述條款
    <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
  • <dl id="y4hiq"></dl>
    <div id="y4hiq"></div>
  • <progress id="y4hiq"></progress>
  • <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
    <li id="y4hiq"><tr id="y4hiq"></tr></li>
    <progress id="y4hiq"></progress><sup id="y4hiq"></sup>
    <li id="y4hiq"></li>
  • <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
    <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
  • <li id="y4hiq"><s id="y4hiq"></s></li>
  • <div id="y4hiq"></div>
  • <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
  • <menuitem id="y4hiq"><menu id="y4hiq"></menu></menuitem>
  • <div id="y4hiq"></div>
    <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
    <tbody id="y4hiq"><address id="y4hiq"></address></tbody>
  • <li id="y4hiq"></li>
    <sup id="y4hiq"><ins id="y4hiq"></ins></sup>
  • <div id="y4hiq"></div>
  • <nav id="y4hiq"><span id="y4hiq"></span></nav>
    <dl id="y4hiq"></dl>
    <div id="y4hiq"></div>
  • <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
  • <div id="y4hiq"><tr id="y4hiq"></tr></div>
    <li id="y4hiq"><s id="y4hiq"></s></li>
    <dl id="y4hiq"></dl>
  • <li id="y4hiq"><ins id="y4hiq"></ins></li>
    <li id="y4hiq"></li>
  • <div id="y4hiq"><tr id="y4hiq"></tr></div>
  • <progress id="y4hiq"></progress>
  • 什么是平特肖
    <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
  • <dl id="y4hiq"></dl>
    <div id="y4hiq"></div>
  • <progress id="y4hiq"></progress>
  • <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
    <li id="y4hiq"><tr id="y4hiq"></tr></li>
    <progress id="y4hiq"></progress><sup id="y4hiq"></sup>
    <li id="y4hiq"></li>
  • <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
    <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
  • <li id="y4hiq"><s id="y4hiq"></s></li>
  • <div id="y4hiq"></div>
  • <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
  • <menuitem id="y4hiq"><menu id="y4hiq"></menu></menuitem>
  • <div id="y4hiq"></div>
    <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
  • <li id="y4hiq"></li>
    <tbody id="y4hiq"><address id="y4hiq"></address></tbody>
  • <li id="y4hiq"></li>
    <sup id="y4hiq"><ins id="y4hiq"></ins></sup>
  • <div id="y4hiq"></div>
  • <nav id="y4hiq"><span id="y4hiq"></span></nav>
    <dl id="y4hiq"></dl>
    <div id="y4hiq"></div>
  • <dl id="y4hiq"><ins id="y4hiq"></ins></dl>
  • <div id="y4hiq"><tr id="y4hiq"></tr></div>
    <li id="y4hiq"><s id="y4hiq"></s></li>
    <dl id="y4hiq"></dl>
  • <li id="y4hiq"><ins id="y4hiq"></ins></li>
    <li id="y4hiq"></li>
  • <div id="y4hiq"><tr id="y4hiq"></tr></div>
  • <progress id="y4hiq"></progress>