1. OSI(Open System Interconnect)七層結構
OSI層 | 功能 | 典型協議 |
應用層 | 文件傳輸、文件服務、email、虛擬終端 | HTTP、FTP、HTTPS、SNMP、Telnet、DSN、SMTP、TFTP。。 |
表示層 | 數據格式化、代碼轉換、數據加密 | 沒有協議 |
會話層 | 解除或建立與別的節點的聯繫 | 沒有協議 |
傳輸層 | 提供端對端的接口 | TCP、UDP |
網絡層 | 爲數據包選擇路由 | IP、ICMP、OSPF、EIGRP、IGMP |
數據鏈路層 | 傳輸有地址的幀以及錯誤檢測功能 | SLIP、CSLIP、PPP、MTU |
物理層 | 以二進制數據形式在物理媒介上轉身數據 | ISO2110、IEEE802、IEEE802.2 |
2. TCP/IP協議族
TCP/IP實際是四層模型,對應OSI的層級如下
TCP/IP | OSI |
應用層 | 應用層 表示層 會話層 |
傳輸層(主機到主機層 TCP) | 傳輸層 |
網絡層(IP) | 網絡層 |
鏈路層(網絡接口層) | 數據鏈路層 物理層 |
3. TCP和UDP
TCP需要先建立連接再傳輸數據,用於需要穩定和可靠的數據傳輸應用,如HTTP
UDP傳輸數據不需要先建立連接,用於實時性要求高但是穩定性可以稍微犧牲的數據傳輸應用,如視頻、語音會議
4. TCP建立連接的過程:3次握手
TCP有客戶端和服務器端,每次連接都由客戶端發起,經歷三次握手建立連接
第一次:客戶端發生syn(syn=j)包到服務器,並進入SYN_SEND狀態,等待服務器確認
第二次:服務器收到syn包,確認SYN(ack=j+1),同時自己發送一個SYN包(syn=k),服務器會發送SYN+ACK包給客戶端,服務器進入SYN_RECV狀態
第三次:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),發送完畢客戶端進入ESTABLISHED狀態,服務器接收到確認包也進入ESTABLISHED狀態,連接建立完畢
5. HTTP協議
Hypertext Tranfer Protocol,即超文本傳輸協議,建立在TCP協議基礎上,是Web應用的基礎協議。HTTP協議最顯著的特點是客戶端發送的每次請求都需要服務器響應,請求結束後,客戶端主動釋放連接,每次連接都是獨立於其他的連接(不需要之前的連接做準備,也不用考慮爲之後的連接做什麼事情),是一個無狀態的協議。
6. HTTPS協議
Hypertext Transfer Protocol Secure,超文本傳輸安全協議,是HTTP與SSL/TLS的組合,用來提供加密通訊及對網絡服務器身份的鑑定。HTTPS的安全基礎是SSL,它在HTTP和TCP之間加入了一個加密/身份驗證層。簡單來說就是將數據用PKI(公鑰基礎結構)公鑰加密,用HTTP將加密數據傳輸到服務器,再用私鑰解密。