網(wǎng)絡(luò)模型
OSI模型是最初的參考模型,由ISO制定的,但是過于復(fù)雜和龐大。而TCP/IP是經(jīng)過使用過程后逐漸總結(jié)出來的結(jié)構(gòu)模型,TCP/IP參考模型的層次結(jié)構(gòu)TCP/IP協(xié)議棧是美國國防部高級(jí)研究計(jì)劃局計(jì)算機(jī)網(wǎng)(Advanced Research Projects Agency Network,ARPANET)和其后繼因特網(wǎng)使用的參考模型。ARPANET是由美國國防部(U.S.Department of Defense,DoD)贊助的研究網(wǎng)絡(luò)。最初,它只連接了美國境內(nèi)的四所大學(xué)。隨后的幾年中,它通過租用的電話線連接了數(shù)百所大學(xué)和政府部門。最終ARPANET發(fā)展成為全球規(guī)模最大的互連網(wǎng)絡(luò)-因特網(wǎng)。最初的ARPANET于1990年永久性地關(guān)閉。
TCP/IP參考模型分為四個(gè)層次:應(yīng)用層、傳輸層、網(wǎng)絡(luò)互連層和主機(jī)到網(wǎng)絡(luò)層。如上表格1-1所示。
在TCP/IP參考模型中,去掉了OSI參考模型中的會(huì)話層和表示層(這兩層的功能被合并到應(yīng)用層實(shí)現(xiàn))。同時(shí)將OSI參考模型中的數(shù)據(jù)鏈路層和物理層合并為主機(jī)到網(wǎng)絡(luò)層。下面,分別介紹各層的主要功能。
1.主機(jī)到網(wǎng)絡(luò)層
實(shí)際上TCP/IP參考模型沒有真正描述這一層的實(shí)現(xiàn),只是要求能夠提供給其上層-網(wǎng)絡(luò)互連層一個(gè)訪問接口,以便在其上傳遞IP分組。由于這一層次未被定義,所以其具體的實(shí)現(xiàn)方法將隨著網(wǎng)絡(luò)類型的不同而不同。
2.網(wǎng)絡(luò)互連層
網(wǎng)絡(luò)互連層是整個(gè)TCP/IP協(xié)議棧的核心。它的功能是把分組發(fā)往目標(biāo)網(wǎng)絡(luò)或主機(jī)。同時(shí),為了盡快地發(fā)送分組,可能需要沿不同的路徑同時(shí)進(jìn)行分組傳遞。因此,分組到達(dá)的順序和發(fā)送的順序可能不同,這就需要上層必須對(duì)分組進(jìn)行排序。
網(wǎng)絡(luò)互連層定義了分組格式和協(xié)議,即IP協(xié)議(Internet Protocol)。
網(wǎng)絡(luò)互連層除了需要完成路由的功能外,也可以完成將不同類型的網(wǎng)絡(luò)(異構(gòu)網(wǎng))互連的任務(wù)。除此之外,網(wǎng)絡(luò)互連層還需要完成擁塞控制的功能。
3.傳輸層
在TCP/IP模型中,傳輸層的功能是使源端主機(jī)和目標(biāo)端主機(jī)上的對(duì)等實(shí)體可以進(jìn)行會(huì)話。在傳輸層定義了兩種服務(wù)質(zhì)量不同的協(xié)議。即:傳輸控制協(xié)議TCP(transmission control protocol)和用戶數(shù)據(jù)報(bào)協(xié)議UDP(user datagram protocol)。
TCP協(xié)議是一個(gè)面向連接的、可靠的協(xié)議。它將一臺(tái)主機(jī)發(fā)出的字節(jié)流無差錯(cuò)地發(fā)往互聯(lián)網(wǎng)上的其他主機(jī)。在發(fā)送端,它負(fù)責(zé)把上層傳送下來的字節(jié)流分成報(bào)文段并傳遞給下層。在接收端,它負(fù)責(zé)把收到的報(bào)文進(jìn)行重組后遞交給上層。TCP協(xié)議還要處理端到端的流量控制,以避免緩慢接收的接收方?jīng)]有足夠的緩沖區(qū)接收發(fā)送方發(fā)送的大量數(shù)據(jù)。
UDP協(xié)議是一個(gè)不可靠的、無連接協(xié)議,主要適用于不需要對(duì)報(bào)文進(jìn)行排序和流量控制的場合。
4.應(yīng)用層
TCP/IP模型將OSI參考模型中的會(huì)話層和表示層的功能合并到應(yīng)用層實(shí)現(xiàn)。應(yīng)用層面向不同的網(wǎng)絡(luò)應(yīng)用引入了不同的應(yīng)用層協(xié)議。其中,有基于TCP協(xié)議的,如文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)、虛擬終端協(xié)議(TELNET)、超文本鏈接協(xié)議(Hyper Text Transfer Protocol,HTTP),也有基于UDP協(xié)議的。
TCP建立連接的三次握手過程
TCP會(huì)話通過三次握手來初始化。三次握手的目標(biāo)是使數(shù)據(jù)段的發(fā)送和接收同步。同時(shí)也向其他主機(jī)表明其一次可接收的數(shù)據(jù)量(窗口大小),并建立邏輯連接。這三次握手的過程可以簡述如下:
●源主機(jī)發(fā)送一個(gè)同步標(biāo)志位(SYN)置1的TCP數(shù)據(jù)段。此段中同時(shí)標(biāo)明初始序號(hào)(Initial Sequence Number,ISN)。ISN是一個(gè)隨時(shí)間變化的隨機(jī)值。
●目標(biāo)主機(jī)發(fā)回確認(rèn)數(shù)據(jù)段,此段中的同步標(biāo)志位(SYN)同樣被置1,且確認(rèn)標(biāo)志位(ACK)也置1,同時(shí)在確認(rèn)序號(hào)字段表明目標(biāo)主機(jī)期待收到源主機(jī)下一個(gè)數(shù)據(jù)段的序號(hào)(即表明前一個(gè)數(shù)據(jù)段已收到并且沒有錯(cuò)誤)。此外,此段中還包含目標(biāo)主機(jī)的段初始序號(hào)。
●源主機(jī)再回送一個(gè)數(shù)據(jù)段,同樣帶有遞增的發(fā)送序號(hào)和確認(rèn)序號(hào)。
至此為止,TCP會(huì)話的三次握手完成。接下來,源主機(jī)和目標(biāo)主機(jī)可以互相收發(fā)數(shù)據(jù)。整個(gè)過程下圖表示。
三次握手
tcp協(xié)議和udp協(xié)議的差別 :
TCP UDP
是否連接 面向連接 面向非連接
傳輸可靠性 可靠 不可靠
應(yīng)用場合 傳輸大量數(shù)據(jù) 少量數(shù)據(jù)
速度 慢 快






