在大、中型網絡中,通常通過模塊化方式將網絡功能結構進行分解。但是在各個模塊內部,還是存在結構的擴展和彈性問題。
譬如一個園區網絡需要接入大量用戶等,這個問題一般通過網絡的層次化來解決。 傳統的網絡采用三個層次,核心、匯聚、接入各司其職,核心層提供數據高速通路,匯聚層進行流量匯聚和控制策略,接入層為終端提供多種接入方式。
但是呢?在實際的環境中呢?比如我們以一個典型園區網絡架構為例:
OSI:Open System Interconnect Reference Model, 開放式系統互聯參考模型。
OSI模型的設計目的是成為一個開放網絡互聯模型,來克服使用眾多網絡模型所帶來的互聯困難和低效性。
OSI參考模型很快成為計算機網絡通信的基礎模型。
在設計時遵循了以下原則: 各個層之間有清晰的邊界,便於理解; 每個層實現特定的功能,且相互不影響;
每個層是服務者又是被服務者,即為上一層服務,又被下一層服務;
層次的划分有利於國際標准協議的制定;
層次的數目應該足夠多,以避免各個層功能重復。
OSI參考模型具有以下優點:
簡化了相關的網絡操作;
提供即插即用的兼容性和不同廠商之間的標准接口;
使各個廠商能夠設計出互操作的網絡設備,加快數據通信網絡發展;
防止一個區域網絡的變化影響另一個區域的網絡,因此,每一個區域的網絡都能單獨快速升級;
把復雜的網絡問題分解為小的簡單問題,易於學習和操作。
OSI七層模型中,給每一個對等層數據起一個統一的名字為:協議數據單元(PDU,Protocol Data Unit)。相應地,應用層數據稱為應用層協議數據單元(APDU,Application Protocol Data Unit),表示層數據稱為表示層協議數據單元(PPDU,Presentation Protocol Data Unit),會話層數據稱為會話層協議數據單元(SPDU,Session Protocol Data Unit)。通常,我們把傳輸層數據稱為段(Segment),網絡層數據稱為數據包(Packet),數據鏈路層稱為幀(Frame),物理層數據稱為比特流(Bit)。 封裝(Encapsulation)是指網絡節點(Node)將要傳送的數據用特定的協議頭打包,來傳送數據,同樣在某些層進行數據處理時,也會在數據尾部加上報文,這時候也稱為封裝。OSI七層模型的每一層都對數據進行封裝,以保證數據能夠正確無誤的到達目的地,被終端主機接受、執行。
物理層涉及到在通信信道(channel)上傳輸的原始比特流,是OSI參考模型的基礎,它實現傳輸數據所需要的機械、電氣功能特性。它不關心每一bit流(0,1)所代表的含義( 如代表地址還是應用數據),只關注如何把bit流通過不同物理鏈路傳輸至對端。典型的像中繼器、集線器(hub)就屬於物理層設備。 鏈路層主要任務是提供對物理層的控制,檢測並糾正可能出現的錯誤,使之對網絡層顯現一條無錯線路,並且進行流量調控。 網絡層檢查網絡拓撲,以決定傳輸報文的最佳路由,轉發數據包。其關鍵問題是確定數據包從源端到目的端如何選擇路由。網絡層設備通過運行路由協議(Routing Protocol)來計算到目的地的最佳路由,找到數據包應該轉發的下一個網絡設備,然后利用網絡層協議封裝數據包,利用下層提供的服務把數據發送到下一個網絡設備。 傳輸層位於OSI參考模型第四層,最終目標是向用戶(一般指應用層的進程),提供有效、可靠的服務。 在會話層及以上的高層次中,數據傳送的單位不再另外命名,統稱為報文。會話層不參與具體的傳輸,它提供包括訪問驗證和會話管理在內的建立和維護應用之間通信的機制。如服務器驗證用戶登錄便是由會話層完成的。 表示層主要解決用戶信息的語法表示問題。它將欲交換的數據從適合於某一用戶的抽象語法,轉換為適合於OSI系統內部使用的傳送語法。即提供格式化的表示和轉換數據服務。數據的壓縮和解壓縮,加密和解密等工作都由表示層負責。 應用層為操作系統或網絡應用程序提供訪問網絡服務的接口。
TCP/IP(Transfer Control Protocol/Internet Protocol,傳輸控制協議/網際協議)模型的開放性和易用性,以致在實踐中得到了廣泛應用,從而使TCP/IP協議棧事實上的標准協議。 TCP/IP模型與OSI參考模型的不同點在於TCP/IP把表示層和會話層都歸入應用層,所以TCP/IP模型從下至上分為四層:網絡接口層,網絡層,傳輸層和應用層。在有些文獻中也划分成五層,即把物理層也單獨列出。
TCP/IP協議每一層都有對應的相關協議,且均為達成某一網絡應用而產生,對於某些協議在分層上還不能嚴格對其定義。
比如ICMP、IGMP、ARP、RARP協議我們把他們放在與網絡層IP協議同一層。
但在某些場合我們可能會把ICMP、IGMP放在IP協議的上層,而把ARP、RARP放在IP協議的下層。
應用層 HTTP(超文本傳輸協議):用來訪問在WWW服務器上的各種頁面。
FTP(文件傳輸協議):為文件傳輸提供了途徑,它允許數據從一台主機傳送到另一台主機上。
DNS(域名服務系統):用於實現從主機域名到IP地址之間的轉換。
傳輸層 TCP (傳輸控制協議) :為應用程序提供可靠的面向連接的通信服務,適用於要求得到響應的應用程序。目前,許多流行的應用程序都使用TCP。
UDP(用戶數據報協議):提供了無連接通信,且不對傳送數據包進行可靠的保證。適合於一次傳輸小量數據,可靠性則由應用層來負責。
網絡層 IP(互聯網協議):IP協議和路由協議協同工作, 尋找能夠將數據包傳送到目的端的最優路徑。IP協議不關心數據報文的內容,提供無連接的、不可靠的服務。
ARP(地址解析協議):把已知的IP地址解析為MAC地址。
RARP(反向地址解析協議):用於數據鏈路層地址已知時,解析IP地址。
ICMP(網際控制消息協議):定義了網絡層控制和傳遞消息的功能。
IGMP(網際組管理協議):用於組播組成員管理。
數據鏈路層 數據鏈路層分為兩個子層:邏輯鏈路控制子層(LLC, Logic Link Control Sublayer),介質訪問控制子層(MAC, Media Access Control Sublayer)。