百度百科
OSI(Open System Interconnect),即開放式系統互聯。 一般都叫OSI參考模型,是ISO組織在1985年研究的網絡互聯模型。該體系結構標準定義了網絡互聯的七層框架(物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層)。
TCP/IP是一組用于實現網絡互連的通信協議。Internet網絡體系結構以TCP/IP為核心。基于TCP/IP的參考模型將協議分成四個層次,它們分別是:網絡訪問層、網際互聯層(主機到主機)、傳輸層、和應用層。
OSI參考模型與TCP/IP模型對比
層次結構
相同之處:都采用了分層體系結構;不同之處:TCP/IP參考模型比OSI參考模型更簡化。
層次關系
相同之處:都是對等的層間通信;不同之處:TCP/IP參考模型比OSI參考模型層次更清晰簡練。
功能
在功能上,大致相同,在兩個模型中,傳輸層及以上的各層都是為了通信的進程提供點到點、與網絡無關的傳輸服務;TCP/IP參考模型比OSI參考模型有更好的網絡管理功能。
數據傳輸原理
把TCP/IP模型的數據傳輸原理分成幾個步驟:
(1) 當應用進程A的數據傳送到應用層時,應用層為數據加上本層的控制報頭后,將其組織成應用層的數據服務單元,然后向下傳輸到傳輸層。
(2) 傳輸層收到該數據單元后,加上本層的控制報頭,構成傳輸層的數據服務單元,該數據服務單元被稱為報文(message)。
(3) 傳輸層將報文傳送到網絡層時,由于網絡層數據單元的長度有限制,因此,傳輸層的長報文將被分為若干個較短的數據段。每個數據段再加上網絡層的控制報頭,就構成了網絡層的數據服務單元,它被稱為分組。
(4) 網絡層的分組傳送到數據鏈路層時,加上數據鏈路層的控制信息后構成數據鏈路層的數據服務單元,它被稱為幀。
(5) 數據鏈路層的幀傳送到物理層后,物理層將以比特流的方式通過傳輸介質傳輸出去。當比特流到達目的結點主機B時,再從物理層依層上傳,每層對其對應層的控制報頭進行處理,將用戶數據交給高層,最終將進程A的數據送給主機B的進程B,實現了數據的透明傳輸。
在OSI參考模型中數據的傳輸和TCP/IP模型原理是完全一樣的
實際上,不管是OSI參考模型還是TCP/IP模型,都是數據發送方的各層相當于將各自的控制信息添加到上層傳來的數據上,然后一起打包繼續向前傳遞,而數據接收方的各層則是將接到的數據包進行解壓,去掉發送方對等層添加在數據上的控制信息,然后傳遞給上層,最終實現數據的傳輸。
相關概念
- HTTP/HTTPS 應用層協議,還有FTP/TELNET/SMTP/DNS等。
HTTP HyperText Transfer Protocal 超文本傳輸協議
最顯著的特點是客戶端發送的每次請求都需要服務器回送響應,在請求結束后,會主動釋放連接。從建立連接到關閉連接的過程稱為“一次連接”。
- HTTPS Hyper Text Transfer Protocol over SecureSocket Layer
是由 HTTP 加上 TLS/SSL 協議構建的可進行加密傳輸、身份認證的網絡協議,主要通過數字證書、加密算法、非對稱密鑰等技術完成互聯網數據傳輸加密,實現互聯網傳輸安全保護。
- TCP/UDP 傳輸層協議
TCP 傳送控制協議(Transmission Control Protocol)
TCP建立連接需要三次握手、釋放連接需要四次握手
UDP 用戶數據報協議(User Datagram Protocol)
- IP 網絡層協議 提供了主機和主機間的通信
有了 IP,不同主機就能夠交換數據。但是,計算機收到數據后,并不知道這個數據屬于哪個進程(簡單講,進程就是一個正在運行的應用程序)。TCP 的作用就在于,讓我們能夠知道這個數據屬于哪個進程,從而完成進程間的通信。 為了標識數據屬于哪個進程,我們給需要進行 TCP 通信的進程分配一個唯一的數字來標識它。這個數字,就是我們常說的端口號。
- Socket 是應用層與TCP/IP協議族通信的中間軟件抽象層,它是一組接口。
傳輸層實現端到端的通信,因此,每一個傳輸層連接有兩個端點。那么,傳輸層連接的端點是什么呢?不是主機,不是主機的IP地址,不是應用進程,也不是傳輸層的協議端口。傳輸層連接的端點叫做套接字(socket)。根據RFC793的定義:端口號拼接到IP地址就構成了套接字。所謂套接字,實際上是一個通信端點,每個套接字都有一個套接字序號,包括主機的IP地址與一個16位的主機端口號,即形如(主機IP地址:端口號)。例如,如果IP地址是210.37.145.1,而端口號是23,那么得到套接字就是(210.37.145.1:23)。