|
|
電信博物館 > 計算機網(wǎng)絡(luò) > 因特網(wǎng)的游戲規(guī)則
TCP / IP的參考模型
TCP/IP是建立在“無連接”技術(shù)上的網(wǎng)絡(luò)互連協(xié)議,信息(包括報文和數(shù)據(jù)流)以數(shù)據(jù)報的形式在網(wǎng)絡(luò)中傳輸,從而實現(xiàn)用戶間的通信。TCP/IP協(xié)議遵守一個四層的模型概念:應(yīng)用層(Application Layer)、傳輸層(Transport Layer)、網(wǎng)絡(luò)層(Internet Layer)和網(wǎng)絡(luò)接口層(Network Interface Layer)。
一、網(wǎng)絡(luò)接口層
模型的基層是網(wǎng)絡(luò)接口層。負責數(shù)據(jù)幀的發(fā)送和接收,幀是獨立的網(wǎng)絡(luò)信息傳輸單元。網(wǎng)絡(luò)接口層將幀放在網(wǎng)上,或從網(wǎng)上把幀取下來。
二、網(wǎng)絡(luò)層
互聯(lián)協(xié)議將數(shù)據(jù)包封裝成Internet數(shù)據(jù)報,并運行必要的路由算法。 這里有四個互聯(lián)協(xié)議:
網(wǎng)際協(xié)議IP:負責在主機和網(wǎng)絡(luò)之間尋址和路由數(shù)據(jù)包。
地址解析協(xié)議ARP:獲得同一物理網(wǎng)絡(luò)中的硬件主機地址。
網(wǎng)際控制消息協(xié)議ICMP:發(fā)送消息,并報告有關(guān)數(shù)據(jù)包的傳送錯誤。
互聯(lián)組管理協(xié)議IGMP:被IP主機拿來向本地多路廣播路由器報告主機組成員。
三、傳輸層
傳輸協(xié)議在計算機之間提供通信會話。傳輸協(xié)議的選擇根據(jù)數(shù)據(jù)傳輸方式而定。 這里有兩個傳輸協(xié)議:
傳輸控制協(xié)議TCP:為應(yīng)用程序提供可靠的通信連接。適合于一次傳輸大批數(shù)據(jù)的情況。并適用于要求得到響應(yīng)的應(yīng)用程序。
用戶數(shù)據(jù)報協(xié)議UDP:提供了無連接通信,且不對傳送包進行可靠的保證。適合于一次傳輸小量數(shù)據(jù),可靠性則由應(yīng)用層來負責。
四、應(yīng)用層
應(yīng)用程序通過這一層訪問網(wǎng)絡(luò)。
網(wǎng)絡(luò)設(shè)計者在解決網(wǎng)絡(luò)體系結(jié)構(gòu)時經(jīng)常使用ISO/OSI( 國際標準化組織/開放系統(tǒng)互連)七層模型,該模型每一層代表一定層次的網(wǎng)絡(luò)功能。最下面是物理層,它代表著進行數(shù)據(jù)轉(zhuǎn)輸?shù)奈锢斫橘|(zhì),換句話說,即網(wǎng)絡(luò)電纜。其上是數(shù)據(jù)鏈路層,它通過網(wǎng)卡提供服務(wù)。最上層是應(yīng)用層,這里運行著使用網(wǎng)絡(luò)服務(wù)的應(yīng) 用程序。
TCP/IP模型是同ISO/OSI模型等價的。當一個數(shù)據(jù)單元從網(wǎng)絡(luò)應(yīng)用程序向下送到網(wǎng)卡,它通過了一列的TCP/IP 模塊。這其中的每一步,數(shù)據(jù)單元都會同網(wǎng)絡(luò)另一端對等TCP/IP模塊所需的信息一起打成包。在數(shù)據(jù)傳送中,可以形象地理解為有兩個信封,TCP和IP就像是信封,要傳遞的信息被劃分成若干段,每一段塞入一個TCP信封,并在該信封封面上記錄有分段號的信息,再將TCP信封塞入IP大信封,發(fā)送上網(wǎng)。在接受端,一個TCP軟件包收集信封,抽出數(shù)據(jù),按發(fā)送前的順序還原,并加以校驗,若發(fā)現(xiàn)差錯,TCP將會要求重發(fā)。因此,TCP/IP在INTERNET中幾乎可以無差錯地傳送數(shù)據(jù)。
為了勾勒TCP/IP在現(xiàn)實網(wǎng)絡(luò)世界中所扮演的角色, 請考慮當使用HTTP(超文本傳輸協(xié)議)的Web瀏覽器(如IE)從連接在Internet上的Web服務(wù)器上獲取一頁HTML數(shù)據(jù)時所發(fā)生的情況。為形成同Web服務(wù)器的虛鏈路,瀏覽器使用一種被抽象地稱為套接口(socket)的高層軟件。為了獲 取Web頁,它通過向套接口寫入HTTPGET命令來向Web 服務(wù)器發(fā)出該指令。接下來套接口軟件使用TCP協(xié)議向Web服務(wù)器發(fā)出包含GET命令的字節(jié)流和位流,TCP將數(shù)據(jù)分段并將各獨立段傳到IP模塊,該模塊將數(shù)據(jù)段轉(zhuǎn)換成數(shù)據(jù)報并發(fā)送給Web服務(wù)器。
其實在這一過程中,在網(wǎng)絡(luò)上發(fā)送和接收的數(shù)據(jù)已經(jīng)被分成一個或多個數(shù)據(jù)包(packet),每個數(shù)據(jù)包包括:要傳送的數(shù)據(jù);控制信息,即告訴網(wǎng)絡(luò)怎樣處理數(shù)據(jù)包。TCP/IP決定了每個數(shù)據(jù)包的格式。如果事先不告訴你,你可能不會知道信息被分成用于傳輸和再重新組合起來的許多小塊。
當有應(yīng)用程序(如例子中的瀏覽器)創(chuàng)建它時,這個數(shù)據(jù)包的生命就開始了。每個包都會穿過發(fā)送主機的各層,再通過網(wǎng)絡(luò)電纜進入目標主機的各層后,進入適當?shù)膽?yīng)用程序(如例子中的Web服務(wù)器)。當包穿過發(fā)送主機各層時,其控制信息和格式信息被加在包上。在它到達目標主機后,隨著這個包向上穿過各個層,這些信息分別被讀取并剝?nèi)。一旦這個包被送到線路上去時,它的重量已經(jīng)增大,因為包中增加了許多網(wǎng)絡(luò)信息。當這個滾雪球式增大的包到達目的主機時,又開始逐漸減輕,當它最后到達頂層時,又變得十分苗條了。
對瀏覽器和服務(wù)器來說,數(shù)據(jù)在這一端寫入套接口而在另一端出現(xiàn)如同魔術(shù)一般,但這只是網(wǎng)絡(luò)底層發(fā)生的各種復(fù)雜行為的表象,它創(chuàng)造了數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)無縫傳輸?shù)募傧蟆?
[上一頁] [下一頁]
|
|
|