網路程式設計理論知識總結(一)四層、七層網路模型
一、OSI七層網路模型
在網路歷史的早期,國際標準化組織(ISO)和國際電報電話諮詢委員會(CCITT)共同出版了開放系統互聯的七層參考模型。一臺計算機作業系統中的網路過程包括從應用請求(在協議棧的頂部)到網路介質(底部) ,OSI參考模型把功能分成七個分立的層次。圖1表示了OSI分層模型。
┌─────┐
│ 應用層 │←第七層
├─────┤
│ 表示層 │
├─────┤
│ 會話層 │
├─────┤
│ 傳輸層 │
├─────┤
│ 網路層 │
├─────┤
│資料鏈路層│
├─────┤
│ 物理層 │←第一層
└─────┘
圖1 OSI七層參考模型
第一層 物理層
作用:負責最後將資訊編碼成電流脈衝或其它訊號用於網上傳輸。它由計算機和網路介質之間的實際介面組成,可定義電氣訊號、符號、線的狀態和時鐘要求、資料編碼和資料傳輸用的聯結器。所有比物理層高的層都通過事先定義好的介面而與它通話。
協議:如最常用的RS-232規範、10BASE-T的曼徹斯特編碼以及RJ-45就屬於第一層。
第二層 資料鏈路層
作用:資料鏈路層通過物理網路鏈路提供可靠的資料傳輸。
協議:ATM,FDDI等。
第三層 網路層
作用:這層對端到端的包傳輸進行定義,他定義了能夠標識所有結點的邏輯地址,還定義了路由實現的方式和學習的方式。為了適應最大傳輸單元長度小於包長度的傳輸介質,網路層還定義瞭如何將一個包分解成更小的包的分段方法。
協議:IP,IPX等
第四層 傳輸層
作用:傳輸層向高層提供可靠的端到端的網路資料流服務。傳輸層的功能一般包括流控、多路傳輸、虛電路管理及差錯校驗和恢復。流控管理裝置之間的資料傳輸,確保傳輸裝置不傳送比接收裝置處理能力大的資料;多路傳輸使得多個應用程式的資料可以傳輸到一個物理鏈路上;虛電路由傳輸層建立、維護和終止;差錯校驗包括為檢測傳輸錯誤而建立的各種不同結構;而差錯恢復包括所採取的行動(如請求資料重發),以便解決發生的任何錯誤。
協議:TCP,UDP,SPX。
第五層 會話層
作用:會話層建立、管理和終止表示層與實體之間的通訊會話。通訊會話包括髮生在不同網路應用層之間的服務請求和服務應答,這些請求與應答通過會話層的協議實現。它還包括建立檢查點,使通訊發生中斷的時候可以返回到以前的一個狀態
協議:RPC,SQL等
第六層 表示層
作用:這一層的主要功能是定義資料格式及加密。
協議:FTP,加密
第七層 應用層
作用:應用層是最接近終端使用者的OSI層,這就意味著OSI應用層與使用者之間是通過應用軟體直接相互作用的。注意,應用層並非由計算機上執行的實際應用軟體組成,而是由嚮應用程式提供訪問網路資源的API(Application Program Interface,應用程式介面)組成,這類應用軟體程式超出了OSI模型的範疇。應用層的功能一般包括標識通訊夥伴、定義資源的可用性和同步通訊。因為可能丟失通訊夥伴,應用層必須為傳輸資料的應用子程式定義通訊夥伴的標識和可用性。定義資源可用性時,應用層為了請求通訊而必須判定是否有足夠的網路資源。在同步通訊中,所有應用程式之間的通訊都需要應用層的協同操作。
協議:telnet,HTTP,FTP,WWW,NFS,SMTP等。
OSI分層的優點:
(1)人們可以很容易的討論和學習協議的規範細節。
(2)層間的標準介面方便了工程模組化。
(3)建立了一個更好的互連環境。
(4)降低了複雜度,使程式更容易修改,產品開發的速度更快。
(5)每層利用緊鄰的下層服務,更容易記住個層的功能。
二、TCP/IP四層網路模型
TCP/IP分層模型(TCP/IP Layening Model)被稱作因特網分層模型(Internet Layering Model)、因特網參考模型(Internet
Reference Model)。圖2表示了TCP/IP分層模型的四層。
┌────────┐┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
│ ││D│F│W│F│H│G│T│I│S│U│ │
│ ││N│I│H│T│T│O│E│R│M│S│其│
│第四層,應用層 ││S│N│O│P│T│P│L│C│T│E│ │
│ ││ │G│I│ │P│H│N│ │P│N│ │
│ ││ │E│S│ │ │E│E│ │ │E│它│
│ ││ │R│ │ │ │R│T│ │ │T│ │
└────────┘└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
┌────────┐┌─────────┬───────────┐
│第三層,傳輸層 ││ TCP │ UDP │
└────────┘└─────────┴───────────┘
┌────────┐┌─────┬────┬──────────┐
│ ││ │ICMP│ │
│第二層,網間層 ││ └────┘ │
│ ││ IP │
└────────┘└─────────────────────┘
┌────────┐┌─────────┬───────────┐
│第一層,網路介面││ARP/RARP │ 其它 │
└────────┘└─────────┴───────────┘
圖2 TCP/IP四層參考模型
TCP/IP協議被組織成四個概念層,其中有三層對應於ISO參考模型中的相應層。ICP/IP協議族並不包含物理層和資料鏈路層,因此它不能獨立完成整個計算機網路系統的功能,必須與許多其他的協議協同工作。
TCP/IP分層模型的四個協議層分別完成以下的功能:
第一層 網路介面層
網路介面層包括用於協作IP資料在已有網路介質上傳輸的協議。
協議:ARP,RARP
第二層 網間層
網間層對應於OSI七層參考模型的網路層。負責資料的包裝、定址和路由。同時還包含網間控制報文協議(Internet Control Message Protocol,ICMP)用來提供網路診斷資訊。
協議:本層包含IP協議、RIP協議(Routing Information Protocol,路由資訊協議),ICMP協議。
第三層 傳輸層
傳輸層對應於OSI七層參考模型的傳輸層,它提供兩種端到端的通訊服務。
其中TCP協議(Transmission Control Protocol)提供可靠的資料流運輸服務,UDP協議(Use Datagram Protocol)提供不可靠的使用者資料報服務。
第四層 應用層
應用層對應於OSI七層參考模型的應用層和表達層。
因特網的應用層協議包括Finger、Whois、FTP(檔案傳輸協議)、Gopher、HTTP(超文字傳輸協議)、Telent(遠端終端協議)、SMTP(簡單郵件傳送協議)、IRC(因特網中繼會話)、NNTP(網路新聞傳輸協議)等。