網絡結構:
實際網絡的劃分爲五層
應用層:支持網絡應用 ,主要協議:有http、FTP、telnet等協議。
傳輸層:負責爲信源提供應用程序進程間的數據傳輸 。
主要協議傳輸控制協議TCP,用戶數據報協議UDP。
網絡層:負責將數據報獨立地從信源發送到信宿,主要協議IP協議。
數據鏈路層:負責將IP數據報封裝成合適在物理網上傳輸的幀格式並傳輸,或解封幀數據報。
物理層:負責物理傳輸。
IOS提供的OSI標準模型(實際中不常用)
應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層。
數據的傳輸:
傳輸端 接收端
應用層 應用層
| |
傳輸層 傳輸層
| |
網絡層 網絡層
| |
數據鏈路層 數據鏈路層
| |
物理層 —————————————> 物理層
每一層封裝都在其報前加上相應的報頭,解封中按報頭解析。形式上是後進先出的堆棧模型。
最大傳輸單元(MTU)/路徑(MTU)1500
以太網幀格式:目的端MAC地址 源MAC地址 傳輸類型(IP、ARP) IP數據報
ICMP:檢驗錯誤。
ARP:將IP地址轉換成MAC地址
RARP: 將MAC地址轉換成IP地址
ping的過程:
IP數據報格式
TCP:
URG(Urgent Pointer Field Significant,緊急指針字段標誌):表示TCP包的緊急指針字段有效,用來保證TCP連接不被中斷,並且督促中間齊備儘快處理這些數據。
ACK(Acknowledgement field significant,確認字段標誌): 取1時表示應答字段有效,也即TCP應答號將包含在TCP段中,爲0則反之。
PSH(Push Function,推功能):這個標誌表示Push操作。所謂Push操作就是指在數據包到達接收端以後,立即送給應用程序,而不是在緩衝區中排隊。
RST(Reset the connection,重置連接):這個標誌表示感謝連接復位請求,用來複位那些產生錯誤的連接,也被用來拒絕錯誤和非法的數據包。
SYN(Synchronize sequence numbers,同步序列號):表示同步序號,用來建立連接。
FIN(No more data from sender):表示發送端已經發送到數據末尾,數據傳送完成,發送FIN標誌位的TCP段,連接將被斷開。
連接的三次握手:
TCP A TCP B
A發送給B(SYN a)
B發送給A(SYN b ACK a+1)
A發送給B(ACK b+1)
連接終止的四次握手:
TCP A TCP B
A調用close()發送 FIN X ACK Y
B發送 ACK X+1
B調用close()發送 FIN Y ACK X+1
A發送 ACK Y+1