TCP/IP協議簇基礎
(1) 網絡接口層:模型的基層,負責數據幀的發送和接收(幀frame是獨立的網絡信息傳輸單元)。網絡接口層將幀格式的數據放到網絡上,或從網絡上把幀取下來。
(2)網絡層:將數據封裝成IP數據包,並運行必要的路由算法,有效的找到到達目標主機的最優路徑樹
網際協議IP:在主機與網絡之間路徑的尋址和路由數據包
地址解析協議ARP: 獲得同一物理網絡中的主機硬件地址
(3) 在兩個主機之間提供控制會話
傳輸控制協議TCP:為引用程序提供可靠的通信連接,適合於一次傳輸大批數據的情況
用戶數據報協議UDP:提供無連接的通信,適用於一次傳輸比較小的數據(一般小於520字節),可靠性可以由應用層來完成
21/tcp FTP 文件傳輸協議
22/tcp SSH 安全登錄、文件傳送(SCP)和端口重定向
23/tcp Telnet 不安全的文本傳送
25/tcp SMTP Simple Mail Transfer Protocol (E-mail)
80/tcp HTTP 超文本傳送協議 (WWW)
DNS協議分析
DNS(Domain Name System,域名系統), DNS通過域名和IP地址相互映射的一個分布式數據庫,使易記的域名替代了枯燥的IP地址。在因特網中向主機提供域名解析服務的機器即為DNS服務器。 DNS是基於IP協議中的UDP協議,端口號為53。目前,DNS分布式查詢方式一般采用遞歸或遞歸迭代相結合的方法獲得域名和對應的IP。
(1) 主機A
應用程序1將數據傳送給應用層協議加上應用層包頭,如果使用http,則加上HTTP的數據包。
(2) 應用層將數據交給傳輸層,根據傳輸層協議添加傳輸層數據包頭(TCP/UDP),信息涉及發送者和接收主機的端口
(3) 傳輸層將數據交給IP層,添加ip數據包頭(struct iphdr),主要涉及原ip地址和目標ip地址。
(4)ip層將數據交給數據層,將添加數據鏈路層數據包頭,主要包括源MAC地址和目的MAC地址 ,如果不在一個網段上則應該是下一跳的MAC地址。