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