新聞中心
PRESS CENTER
TCP/IP是互聯(lián)網(wǎng)相關(guān)各類協(xié)議族的總稱。計算機與網(wǎng)絡(luò)設(shè)備之間如果要相互通信,雙方就必須基于相同的方法。比如,如何探測到通信目標(biāo)、由哪一邊先發(fā)起通信、使用哪種語言進行通信、怎樣結(jié)束通信等規(guī)則都需要事先確定,不同的硬件、操作系統(tǒng)之間的通信,所有這一切都需要一種規(guī)則,而我們就將這種規(guī)則稱為協(xié)議(protocol)。
TCP/IP協(xié)議里最重要的一點就是分層。TCP/IP協(xié)議族按層次分別為應(yīng)用層,傳輸層,網(wǎng)絡(luò)層,數(shù)據(jù)鏈路層,物理層。把TCP/IP協(xié)議分層之后,如果后期某個地方設(shè)計修改,那么就無需全部替換,只需要將變動的層替換。而且從設(shè)計上來說,也變得簡單了。處于應(yīng)用層上的應(yīng)用可以只考慮分派給自己的任務(wù),而不需要弄清對方在地球上哪個地方、怎樣傳輸、如何確保到達率等問題。
我們由下到上來了解一下這些分層,越靠下越接近硬件:

物理層
該層負(fù)責(zé)比特流在節(jié)點之間的傳輸,即負(fù)責(zé)物理傳輸,這一層的協(xié)議既與鏈路有關(guān),也與傳輸?shù)慕橘|(zhì)有關(guān)。通俗來說就是把計算機連接起來的物理手段。
數(shù)據(jù)鏈路層
控制網(wǎng)絡(luò)層與物理層之間的通信,主要功能是保證物理線路上進行可靠的數(shù)據(jù)傳遞。為了保證傳輸,從網(wǎng)絡(luò)層接收到的數(shù)據(jù)被分割成特定的可被物理層傳輸?shù)膸?。幀是用來移動?shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)包,他不僅包含原始數(shù)據(jù),還包含發(fā)送方和接收方的物理地址以及糾錯和控制信息。其中的地址確定了幀將發(fā)送到何處,而糾錯和控制信息則確保幀無差錯到達。如果在傳達數(shù)據(jù)時,接收點檢測到所傳數(shù)據(jù)中有差錯,就要通知發(fā)送方重發(fā)這一幀。
網(wǎng)絡(luò)層
決定如何將數(shù)據(jù)從發(fā)送方路由到接收方。網(wǎng)絡(luò)層通過綜合考慮發(fā)送優(yōu)先權(quán),網(wǎng)絡(luò)擁塞程度,服務(wù)質(zhì)量以及可選路由的花費等來決定從網(wǎng)絡(luò)中的A節(jié)點到B節(jié)點的最佳途徑。即建立主機到主機的通信。
傳輸層
該層為兩臺主機上的應(yīng)用程序提供端到端的通信。傳輸層有兩個傳輸協(xié)議:TCP(傳輸控制協(xié)議)和 UDP(用戶數(shù)據(jù)報協(xié)議)。其中,TCP是一個可靠的面向連接的協(xié)議,UDP是不可靠的或者說無連接的協(xié)議。
應(yīng)用層
應(yīng)用程序收到傳輸層的數(shù)據(jù)后,接下來就要進行解讀。解讀必須事先規(guī)定好格式,而應(yīng)用層就是規(guī)定應(yīng)用程序的數(shù)據(jù)格式。主要的協(xié)議有:HTTP、FTP、Telent等。
TCP/UDP都是傳輸層協(xié)議,但是兩者具有不同的特效,同時也具有不同的應(yīng)用場景。
面向報文
面向報文的傳輸方式是應(yīng)用層交給UDP多長的報文,UDP發(fā)送多長的報文,即一次發(fā)送一個報文。因此,應(yīng)用程序必須選擇合適大小的報文。
面向字節(jié)流
雖然應(yīng)用程序和TCP的交互是一次一個數(shù)據(jù)塊(大小不等),但TCP把應(yīng)用程序看成是一連串的無結(jié)構(gòu)的字節(jié)流。TCP有一個緩沖,當(dāng)應(yīng)該程序傳送的數(shù)據(jù)塊太長,TCP就可以把它劃分短一些再傳送。
以上內(nèi)容就是對TCP/IP協(xié)議棧的簡單介紹。實際上,TCP/IP協(xié)議每一層模型都有很多協(xié)議,每個協(xié)議要做的事情也很多。我們首先得有一個清晰的脈絡(luò)結(jié)構(gòu),掌握每一層模型最基本的作用,然后再去豐富細(xì)枝末節(jié)的東西,也許會更容易理解。