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