百度百科
OSI(Open System Interconnect),即開放式系統(tǒng)互聯(lián)。 一般都叫OSI參考模型,是ISO組織在1985年研究的網(wǎng)絡(luò)互聯(lián)模型。該體系結(jié)構(gòu)標(biāo)準(zhǔn)定義了網(wǎng)絡(luò)互聯(lián)的七層框架(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層)。
TCP/IP是一組用于實(shí)現(xiàn)網(wǎng)絡(luò)互連的通信協(xié)議。Internet網(wǎng)絡(luò)體系結(jié)構(gòu)以TCP/IP為核心。基于TCP/IP的參考模型將協(xié)議分成四個(gè)層次,它們分別是:網(wǎng)絡(luò)訪問層、網(wǎng)際互聯(lián)層(主機(jī)到主機(jī))、傳輸層、和應(yīng)用層。
OSI參考模型與TCP/IP模型對(duì)比
層次結(jié)構(gòu)
相同之處:都采用了分層體系結(jié)構(gòu);不同之處:TCP/IP參考模型比OSI參考模型更簡(jiǎn)化。
層次關(guān)系
相同之處:都是對(duì)等的層間通信;不同之處:TCP/IP參考模型比OSI參考模型層次更清晰簡(jiǎn)練。
功能
在功能上,大致相同,在兩個(gè)模型中,傳輸層及以上的各層都是為了通信的進(jìn)程提供點(diǎn)到點(diǎn)、與網(wǎng)絡(luò)無關(guān)的傳輸服務(wù);TCP/IP參考模型比OSI參考模型有更好的網(wǎng)絡(luò)管理功能。
數(shù)據(jù)傳輸原理
把TCP/IP模型的數(shù)據(jù)傳輸原理分成幾個(gè)步驟:
(1) 當(dāng)應(yīng)用進(jìn)程A的數(shù)據(jù)傳送到應(yīng)用層時(shí),應(yīng)用層為數(shù)據(jù)加上本層的控制報(bào)頭后,將其組織成應(yīng)用層的數(shù)據(jù)服務(wù)單元,然后向下傳輸?shù)絺鬏攲印?/p>
(2) 傳輸層收到該數(shù)據(jù)單元后,加上本層的控制報(bào)頭,構(gòu)成傳輸層的數(shù)據(jù)服務(wù)單元,該數(shù)據(jù)服務(wù)單元被稱為報(bào)文(message)。
(3) 傳輸層將報(bào)文傳送到網(wǎng)絡(luò)層時(shí),由于網(wǎng)絡(luò)層數(shù)據(jù)單元的長(zhǎng)度有限制,因此,傳輸層的長(zhǎng)報(bào)文將被分為若干個(gè)較短的數(shù)據(jù)段。每個(gè)數(shù)據(jù)段再加上網(wǎng)絡(luò)層的控制報(bào)頭,就構(gòu)成了網(wǎng)絡(luò)層的數(shù)據(jù)服務(wù)單元,它被稱為分組。
(4) 網(wǎng)絡(luò)層的分組傳送到數(shù)據(jù)鏈路層時(shí),加上數(shù)據(jù)鏈路層的控制信息后構(gòu)成數(shù)據(jù)鏈路層的數(shù)據(jù)服務(wù)單元,它被稱為幀。
(5) 數(shù)據(jù)鏈路層的幀傳送到物理層后,物理層將以比特流的方式通過傳輸介質(zhì)傳輸出去。當(dāng)比特流到達(dá)目的結(jié)點(diǎn)主機(jī)B時(shí),再?gòu)奈锢韺右缹由蟼鳎繉訉?duì)其對(duì)應(yīng)層的控制報(bào)頭進(jìn)行處理,將用戶數(shù)據(jù)交給高層,最終將進(jìn)程A的數(shù)據(jù)送給主機(jī)B的進(jìn)程B,實(shí)現(xiàn)了數(shù)據(jù)的透明傳輸。
在OSI參考模型中數(shù)據(jù)的傳輸和TCP/IP模型原理是完全一樣的
實(shí)際上,不管是OSI參考模型還是TCP/IP模型,都是數(shù)據(jù)發(fā)送方的各層相當(dāng)于將各自的控制信息添加到上層傳來的數(shù)據(jù)上,然后一起打包繼續(xù)向前傳遞,而數(shù)據(jù)接收方的各層則是將接到的數(shù)據(jù)包進(jìn)行解壓,去掉發(fā)送方對(duì)等層添加在數(shù)據(jù)上的控制信息,然后傳遞給上層,最終實(shí)現(xiàn)數(shù)據(jù)的傳輸。

相關(guān)概念
- HTTP/HTTPS 應(yīng)用層協(xié)議,還有FTP/TELNET/SMTP/DNS等。
HTTP HyperText Transfer Protocal 超文本傳輸協(xié)議
最顯著的特點(diǎn)是客戶端發(fā)送的每次請(qǐng)求都需要服務(wù)器回送響應(yīng),在請(qǐng)求結(jié)束后,會(huì)主動(dòng)釋放連接。從建立連接到關(guān)閉連接的過程稱為“一次連接”。
- HTTPS Hyper Text Transfer Protocol over SecureSocket Layer
是由 HTTP 加上 TLS/SSL 協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,主要通過數(shù)字證書、加密算法、非對(duì)稱密鑰等技術(shù)完成互聯(lián)網(wǎng)數(shù)據(jù)傳輸加密,實(shí)現(xiàn)互聯(lián)網(wǎng)傳輸安全保護(hù)。
- TCP/UDP 傳輸層協(xié)議
TCP 傳送控制協(xié)議(Transmission Control Protocol)
TCP建立連接需要三次握手、釋放連接需要四次握手
UDP 用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol)

- IP 網(wǎng)絡(luò)層協(xié)議 提供了主機(jī)和主機(jī)間的通信
有了 IP,不同主機(jī)就能夠交換數(shù)據(jù)。但是,計(jì)算機(jī)收到數(shù)據(jù)后,并不知道這個(gè)數(shù)據(jù)屬于哪個(gè)進(jìn)程(簡(jiǎn)單講,進(jìn)程就是一個(gè)正在運(yùn)行的應(yīng)用程序)。TCP 的作用就在于,讓我們能夠知道這個(gè)數(shù)據(jù)屬于哪個(gè)進(jìn)程,從而完成進(jìn)程間的通信。 為了標(biāo)識(shí)數(shù)據(jù)屬于哪個(gè)進(jìn)程,我們給需要進(jìn)行 TCP 通信的進(jìn)程分配一個(gè)唯一的數(shù)字來標(biāo)識(shí)它。這個(gè)數(shù)字,就是我們常說的端口號(hào)。
- Socket 是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口。
傳輸層實(shí)現(xiàn)端到端的通信,因此,每一個(gè)傳輸層連接有兩個(gè)端點(diǎn)。那么,傳輸層連接的端點(diǎn)是什么呢?不是主機(jī),不是主機(jī)的IP地址,不是應(yīng)用進(jìn)程,也不是傳輸層的協(xié)議端口。傳輸層連接的端點(diǎn)叫做套接字(socket)。根據(jù)RFC793的定義:端口號(hào)拼接到IP地址就構(gòu)成了套接字。所謂套接字,實(shí)際上是一個(gè)通信端點(diǎn),每個(gè)套接字都有一個(gè)套接字序號(hào),包括主機(jī)的IP地址與一個(gè)16位的主機(jī)端口號(hào),即形如(主機(jī)IP地址:端口號(hào))。例如,如果IP地址是210.37.145.1,而端口號(hào)是23,那么得到套接字就是(210.37.145.1:23)。