??💓個人主頁:mooridy
💓專欄地址:《計算機網絡:自定向下方法》 大綱式閱讀筆記
關注我🌹,和我一起學習更多計算機的知識
🔝🔝🔝
目錄
1. 應用層協議原理
1.1 網絡應用程序體系結構
客戶 - 服務器體系結構
對等(P2P, peer to peer)體系結構
1.2 客戶與服務器
進程尋址
1.3 套接字
1.4 可供應用程序使用的運輸服務
可靠數據傳輸 (reliable data transfer)
吞吐量
定時
安全性
1.5 因特網提供的運輸服務
TCP
面向連接服務
可靠的數據傳送服務
擁塞控制機制
UDP
SSL(Secure Sockets Layer, 安全套接字層)
1. 應用層協議原理
1.1 網絡應用程序體系結構
客戶 - 服務器體系結構
- 存在一個始終開啟的主機作為服務器,用于處理眾多客戶主機的請求。
- 服務器通常部署在配備大量主機的數據中心內。
- 服務器 IP 地址固定,客戶端 IP 地址可動態變化。
對等(P2P, peer to peer)體系結構
- 用戶間的報文直接在主機之間傳輸,無需經過中間服務器。
- 對數據中心專用服務器依賴程度極低甚至無依賴。
1.2 客戶與服務器
在進程通信會話中,主動發起通信的進程為客戶(client),等待通信連接的進程為服務器(server)。
特別注意:在網絡通信里,服務器一般指運行于目標主機上的進程(程序)。例如在 Web 應用中,瀏覽器(客戶進程)與 Web 服務器(服務器進程)進行報文交換。
進程尋址
- 目標主機:通過 IP 地址進行標識。
- 目標主機上的指定接收進程(接收套接字):依靠端口號標識。
- 端口號取值范圍為 0 - 65535,其中 0 - 1023 屬于周知端口號。例如,Web 服務器常用 80 端口,郵件服務器常用 25 端口 。
1.3 套接字
- 進程借助套接字(socket)這一軟件接口,實現與網絡之間的報文收發。
- 進程如同房子,套接字則類似于房子的門。
- 套接字是主機中應用層與運輸層之間的接口,也是應用程序與網絡交互的 API。
1.4 可供應用程序使用的運輸服務
可靠數據傳輸 (reliable data transfer)
提供確保數據準確交付的服務。
- 容忍丟失的應用 (loss-tolerant applications):如交談式音頻 / 視頻等應用,能夠承受一定程度的數據丟失 。
吞吐量
保證吞吐量恒定。
- 帶寬敏感的應用 (bandwidth-sensitive applications):對吞吐量有明確要求的應用。
- 彈性應用 (elastic applications):對吞吐量要求較低的應用。
定時
對交互式實時應用程序意義重大,例如因特網電話、虛擬環境、電話會議和多方游戲等,這些服務要求數據在嚴格的時間限制內完成交付。
安全性
實現數據的加密與解密。
1.5 因特網提供的運輸服務
TCP
面向連接服務
- 客戶與服務器在握手階段建立全雙工的 TCP 連接。
- 握手階段:在應用層數據報文傳輸前,TCP 使客戶和服務器相互交換運輸層控制信息。
- 全雙工:通信雙方均可同時進行數據的收發。
可靠的數據傳送服務
- 保障數據無差錯、按順序交付。
擁塞控制機制
當網絡發生擁塞時,抑制發送進程的傳輸速率。
UDP
- 無連接特性,無需握手階段,效率較高。
- 存在不可靠數據傳輸問題,數據可能亂序到達。
- 不具備擁塞控制機制 。
目前因特網運輸協議無法保證吞吐量和定時,但在一定程度上可滿足時間敏感應用的需求。
SSL(Secure Sockets Layer, 安全套接字層)
是 TCP 的增強版本 。