linux的ping命令屬於OSI七層模型的哪一層?


  OSI七層模型,自頂向下為:應用、表現、會話、傳輸、網絡、數據鏈路、物理這7層。常用的一些協議如http、ftp都是應用層,tcp/udp是傳輸層,ip是網絡層,等等。到此為止,這些估計大部分人都知道。現在問題來了,ping這個命令,它不需要端口,你猜它屬於哪一層?

  這是個有意思的問題,其實也簡單,知道它用的協議,就知道它是哪一層了。我們用的最多的是ping一個ip看它通不通,這時用的是ICMP協議,全稱Internet Control Message Protocol,Internet控制消息協議。該協議用於在IP網絡中發送控制消息,獲取在通信環境中可能發生的各種問題的反饋。ICMP屬於網絡層協議,自然ping命令就在第三層。

  ping的命令格式如下:

ping [-t][-l字節數][-a][-i]目標主機IP或者域名

  參數說明:

-t:參數會一直不停的執行
-a:參數可以顯示主機名稱
-l:參數可以設定ping包的大小
-n:指定發送包的個數

 

  ping就只有在第三層嗎?其實也未必,當使用ping 域名 這樣的形式時,不僅用到了ICMP去檢測兩台設備之間的雙向連通性,還需要通過DNS協議先把域名轉為IP,那么DNS屬於哪一層呢?應用層,那是不是也能說ping是屬於第7層了?我覺得,這個就見仁見智了。單就ping這個命令的目的來說,就是為了發送數據包到目標IP去,域名解析的目的還是獲取IP,所以屬於第三層是肯定沒錯的。但既然用到了DNS協議了,如果你非得說它也算第7層了,我也認。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM