網(wǎng)絡(luò)協(xié)議設(shè)計者不應(yīng)當(dāng)設(shè)計一個單一、巨大的協(xié)議來為所有形式的通信規(guī)定完整的細(xì)節(jié),而應(yīng)把通信問題劃分成多個小問題,然后為每一個小問題設(shè)計一個單獨的協(xié)議。這樣做使得每個協(xié)議的設(shè)計、分析、時限和測試比較容易。協(xié)議劃分的一個主要原則是確保目標(biāo)系統(tǒng)有效且效率高。為了提高效率,每個協(xié)議只應(yīng)該注意沒有被其他協(xié)議處理過的那部分通信問題;為了主協(xié)議的實現(xiàn)更加有效,協(xié)議之間應(yīng)該能夠共享特定的數(shù)據(jù)結(jié)構(gòu);同時這些協(xié)議的組合應(yīng)該能處理所有可能的硬件錯誤以及其它異常情況。為了保證這些協(xié)議工作的協(xié)同性,應(yīng)當(dāng)將協(xié)議設(shè)計和開發(fā)成完整的、協(xié)作的協(xié)議系列(即協(xié)議族),而不是孤立地開發(fā)每個協(xié)議。
在網(wǎng)絡(luò)歷史的早期,國際標(biāo)準(zhǔn)化組織(ISO)和國際電報電話咨詢委員會(CCITT)共同出版了開放系統(tǒng)互聯(lián)的七層參考模型。一臺計算機操作系統(tǒng)中的網(wǎng)絡(luò)過程包括從應(yīng)用請求(在協(xié)議棧的頂部)到網(wǎng)絡(luò)介質(zhì)(底部) ,OSI參考模型把功能分成七個分立的層次。圖1表示了OSI分層模型。

圖1 OSI七層參考模型
OSI模型的七層分別進(jìn)行以下的操作: 第一層 物理層 第一層負(fù)責(zé)最后將信息編碼成電流脈沖或其它信號用于網(wǎng)上傳輸。它由計算機和網(wǎng)絡(luò)介質(zhì)之間的實際界面組成,可定義電氣信號、符號、線的狀態(tài)和時鐘要求、數(shù)據(jù)編碼和數(shù)據(jù)傳輸用的連接器。如最常用的RS-232規(guī)范、10BASE-T的曼徹斯特編碼以及RJ-45就屬于第一層。所有比物理層高的層都通過事先定義好的接口而與它通話。如以太網(wǎng)的附屬單元接口(AUI),一個DB-15連接器可被用來連接層一和層二。
第二層 數(shù)據(jù)鏈路層 數(shù)據(jù)鏈路層通過物理網(wǎng)絡(luò)鏈路提供可靠的數(shù)據(jù)傳輸。不同的數(shù)據(jù)鏈路層定義了不同的網(wǎng)絡(luò)和協(xié)議特征,其中包括物理編址、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、錯誤校驗、幀序列以及流控。物理編址(相對應(yīng)的是網(wǎng)絡(luò)編址)定義了設(shè)備在數(shù)據(jù)鏈路層的編址方式;網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)定義了設(shè)備的物理連接方式,如總線拓?fù)浣Y(jié)構(gòu)和環(huán)拓?fù)浣Y(jié)構(gòu);錯誤校驗向發(fā)生傳輸錯誤的上層協(xié)議告警;數(shù)據(jù)幀序列重新整理并傳輸除序列以外的幀;流控可能延緩數(shù)據(jù)的傳輸,以使接收設(shè)備不會因為在某一時刻接收到超過其處理能力的信息流而崩潰。數(shù)據(jù)鏈路層實際上由兩個獨立的部分組成,介質(zhì)存取控制(Media Access Control,MAC)和邏輯鏈路控制層(Logical Link Control,LLC)。MAC描述在共享介質(zhì)環(huán)境中如何進(jìn)行站的調(diào)度、發(fā)生和接收數(shù)據(jù)。MAC確保信息跨鏈路的可靠傳輸,對數(shù)據(jù)傳輸進(jìn)行同步,識別錯誤和控制數(shù)據(jù)的流向。一般地講,MAC只在共享介質(zhì)環(huán)境中才是重要的,只有在共享介質(zhì)環(huán)境中多個節(jié)點才能連接到同一傳輸介質(zhì)上。IEEE MAC規(guī)則定義了地址,以標(biāo)識數(shù)據(jù)鏈路層中的多個設(shè)備。邏輯鏈路控制子層管理單一網(wǎng)絡(luò)鏈路上的設(shè)備間的通信,IEEE 802.2標(biāo)準(zhǔn)定義了LLC。LLC支持無連接服務(wù)和面向連接的服務(wù)。在數(shù)據(jù)鏈路層的信息幀中定義了許多域。這些域使得多種高層協(xié)議可以共享一個物理數(shù)據(jù)鏈路。
第三層 網(wǎng)絡(luò)層 網(wǎng)絡(luò)層負(fù)責(zé)在源和終點之間建立連接。它一般包括網(wǎng)絡(luò)尋徑,還可能包括流量控制、錯誤檢查等。相同MAC標(biāo)準(zhǔn)的不同網(wǎng)段之間的數(shù)據(jù)傳輸一般只涉及到數(shù)據(jù)鏈路層,而不同的MAC標(biāo)準(zhǔn)之間的數(shù)據(jù)傳輸都涉及到網(wǎng)絡(luò)層。例如IP路由器工作在網(wǎng)絡(luò)層,因而可以實現(xiàn)多種網(wǎng)絡(luò)間的互聯(lián)。
第四層 傳輸層 傳輸層向高層提供可靠的端到端的網(wǎng)絡(luò)數(shù)據(jù)流服務(wù)。傳輸層的功能一般包括流控、多路傳輸、虛電路管理及差錯校驗和恢復(fù)。流控管理設(shè)備之間的數(shù)據(jù)傳輸,確保傳輸設(shè)備不發(fā)送比接收設(shè)備處理能力大的數(shù)據(jù);多路傳輸使得多個應(yīng)用程序的數(shù)據(jù)可以傳輸?shù)揭粋€物理鏈路上;虛電路由傳輸層建立、維護(hù)和終止;差錯校驗包括為檢測傳輸錯誤而建立的各種不同結(jié)構(gòu);而差錯恢復(fù)包括所采取的行動(如請求數(shù)據(jù)重發(fā)),以便解決發(fā)生的任何錯誤。傳輸控制協(xié)議(TCP)是提供可靠數(shù)據(jù)傳輸?shù)腡CP/IP協(xié)議族中的傳輸層協(xié)議。
第五層 會話層 會話層建立、管理和終止表示層與實體之間的通信會話。通信會話包括發(fā)生在不同網(wǎng)絡(luò)應(yīng)用層之間的服務(wù)請求和服務(wù)應(yīng)答,這些請求與應(yīng)答通過會話層的協(xié)議實現(xiàn)。它還包括創(chuàng)建檢查點,使通信發(fā)生中斷的時候可以返回到以前的一個狀態(tài)。
第六層 表示層 表示層提供多種功能用于應(yīng)用層數(shù)據(jù)編碼和轉(zhuǎn)化,以確保以一個系統(tǒng)應(yīng)用層發(fā)送的信息可以被另一個系統(tǒng)應(yīng)用層識別。表示層的編碼和轉(zhuǎn)化模式包括公用數(shù)據(jù)表示格式、性能轉(zhuǎn)化表示格式、公用數(shù)據(jù)壓縮模式和公用數(shù)據(jù)加密模式。
公用數(shù)據(jù)表示格式就是標(biāo)準(zhǔn)的圖像、聲音和視頻格式。通過使用這些標(biāo)準(zhǔn)格式,不同類型的計算機系統(tǒng)可以相互交換數(shù)據(jù);轉(zhuǎn)化模式通過使用不同的文本和數(shù)據(jù)表示,在系統(tǒng)間交換信息,例如ASCII(American Standard Code for Information Interchange,美國標(biāo)準(zhǔn)信息交換碼);標(biāo)準(zhǔn)數(shù)據(jù)壓縮模式確保原始設(shè)備上被壓縮的數(shù)據(jù)可以在目標(biāo)設(shè)備上正確的解壓;加密模式確保原始設(shè)備上加密的數(shù)據(jù)可以在目標(biāo)設(shè)備上正確地解密。
表示層協(xié)議一般不與特殊的協(xié)議棧關(guān)聯(lián),如QuickTime是Applet計算機的視頻和音頻的標(biāo)準(zhǔn),MPEG是ISO的視頻壓縮與編碼標(biāo)準(zhǔn)。常見的圖形圖像格式PCX、GIF、JPEG是不同的靜態(tài)圖像壓縮和編碼標(biāo)準(zhǔn)。
第七層 應(yīng)用層 應(yīng)用層是最接近終端用戶的OSI層,這就意味著OSI應(yīng)用層與用戶之間是通過應(yīng)用軟件直接相互作用的。注意,應(yīng)用層并非由計算機上運行的實際應(yīng)用軟件組成,而是由向應(yīng)用程序提供訪問網(wǎng)絡(luò)資源的API(Application Program Interface,應(yīng)用程序接口)組成,這類應(yīng)用軟件程序超出了OSI模型的范疇。應(yīng)用層的功能一般包括標(biāo)識通信伙伴、定義資源的可用性和同步通信。因為可能丟失通信伙伴,應(yīng)用層必須為傳輸數(shù)據(jù)的應(yīng)用子程序定義通信伙伴的標(biāo)識和可用性。定義資源可用性時,應(yīng)用層為了請求通信而必須判定是否有足夠的網(wǎng)絡(luò)資源。在同步通信中,所有應(yīng)用程序之間的通信都需要應(yīng)用層的協(xié)同操作。
OSI的應(yīng)用層協(xié)議包括文件的傳輸、訪問及管理協(xié)議(FTAM) ,以及文件虛擬終端協(xié)議(VIP)和公用管理系統(tǒng)信息(CMIP)等。
TCP/IP分層模型 TCP/IP分層模型(TCP/IP Layening Model)被稱作因特網(wǎng)分層模型(Internet Layering Model)、因特網(wǎng)參考模型(Internet Reference Model)。圖2表示了TCP/IP分層模型的四層。

圖2 TCP/IP四層參考模型
TCP/IP協(xié)議被組織成四個概念層,其中有三層對應(yīng)于ISO參考模型中的相應(yīng)層。ICP/IP協(xié)議族并不包含物理層和數(shù)據(jù)鏈路層,因此它不能獨立完成整個計算機網(wǎng)絡(luò)系統(tǒng)的功能,必須與許多其他的協(xié)議協(xié)同工作。
TCP/IP分層模型的四個協(xié)議層分別完成以下的功能: 第一層 網(wǎng)絡(luò)接口層 網(wǎng)絡(luò)接口層包括用于協(xié)作IP數(shù)據(jù)在已有網(wǎng)絡(luò)介質(zhì)上傳輸?shù)膮f(xié)議。實際上TCP/IP標(biāo)準(zhǔn)并不定義與ISO數(shù)據(jù)鏈路層和物理層相對應(yīng)的功能。相反,它定義像地址解析協(xié)議(Address Resolution Protocol,ARP)這樣的協(xié)議,提供TCP/IP協(xié)議的數(shù)據(jù)結(jié)構(gòu)和實際物理硬件之間的接口。
第二層 網(wǎng)間層 網(wǎng)間層對應(yīng)于OSI七層參考模型的網(wǎng)絡(luò)層。本層包含IP協(xié)議、RIP協(xié)議(Routing Information Protocol,路由信息協(xié)議),負(fù)責(zé)數(shù)據(jù)的包裝、尋址和路由。同時還包含網(wǎng)間控制報文協(xié)議(Internet Control Message Protocol,ICMP)用來提供網(wǎng)絡(luò)診斷信息。
第三層 傳輸層 傳輸層對應(yīng)于OSI七層參考模型的傳輸層,它提供兩種端到端的通信服務(wù)。其中TCP協(xié)議(Transmission Control Protocol)提供可靠的數(shù)據(jù)流運輸服務(wù),UDP協(xié)議(Use Datagram Protocol)提供不可靠的用戶數(shù)據(jù)報服務(wù)。
第四層 應(yīng)用層 應(yīng)用層對應(yīng)于OSI七層參考模型的應(yīng)用層和表達(dá)層。因特網(wǎng)的應(yīng)用層協(xié)議包括Finger、Whois、FTP(文件傳輸協(xié)議)、Gopher、HTTP(超文本傳輸協(xié)議)、Telent(遠(yuǎn)程終端協(xié)議)、SMTP(簡單郵件傳送協(xié)議)、IRC(因特網(wǎng)中繼會話)、NNTP(網(wǎng)絡(luò)新聞傳輸協(xié)議)等。