1. 程式人生 > >(一)計網五層模型概述

(一)計網五層模型概述

每天都在接觸網際網路,可是你是否想過,你和她/他是如何實現互聯的?

全世界有幾十億臺PC終端,連線在一起,互相通訊。你甚至根本不用知道對方的實體地址,卻能夠準確無誤的給對方傳送訊息,你不覺得很神奇嗎?

細數電腦裡的小姐姐,每次評頭品足完一番之後匆忙Delete,意猶未盡然後又轉戰於各大站點尋找車牌。 又是否苦惱過為什麼不同的下載方式帶來的下載速度之差如此之大?P2P、Aris2、Sync ... 又有多少了解?

而其中網路承擔了兩大最主要的功能:資訊通訊資源共享


網際網路的核心是一系列的協議,網路協議是為了計算機網路中進行資料交換而建立通訊規則、標準又或者說是py交易的基礎。因為不同的資料終端可能採用的字符集是不同的,兩者之間要建立起通訊,那麼必須有一套約定俗成的規則。就比如說我大天朝地廣人多,地方性語言十分豐富,為了方便不同地區人相互交流,為此構建一個全國通用的語言標準--普通話。會說普通話,那麼溝通也不會再有什麼障礙。同樣,理解了這些協議,就基本理解了網際網路的原理。

1. 網路體系結構劃分

在試圖解釋網際網路體系之前,先引入一個生活中的例子作為類比。

假想我們乘坐某個航班時所需要採取的一系列動作,一起來描述一下這種系統的具體流程。首先需要購票,托執行李,去登機口,並最終登上航班。然後飛機起飛,到達目的地。飛機著陸後,離開登機口認領行李。甚至如果這次行程不理想,你會向機場票務投訴。

在圖中將航線的功能劃分為一些功能層次,每個層次通過以下的方式提供服務:①在本層中實現了某些動作,如在登機層,乘客完成登機和離機的動作;②直接使用了下層提供的服務並向上層提供服務,如在登記層,使用了起飛/著陸層的旅客轉移服務,並且向行李層提供了登機/離機服務。因此,我們說每個層次和其下面的層次結合實現了某些功能和服務,這種模組化的結構可以允許各層所提供的服務實現方式改變。例如,如果登機口任然提供登機和離機的服務,但是讓人們按照身高來登機和離機,改變後,它僅是以不同的方式實現登/離機的功能,航線系統的其餘部分功能仍然保持不變。

現在我們有了上面的基礎,那麼來討論下網路協議的分層。國際標準化組織(ISO)提出了OSI參考模型,將計算機網路體系結構的通訊協議劃分為七層,而目前廣泛採用的是TCP/IP 5層網路模型。

我們再來回顧一下各層次結構之間的關係:

1)  結構中的每一層都規定有明確的服務及介面標準,即特定的功能。

2)  把使用者的應用程式作為最高層,即應用層。

3)  除了應用層外,中間的每一層都向上提供服務,同時又是下一層的使用者。

4)  把物理通訊線路作為最低層,它使用從最高層傳送來的引數,是提供服務的基礎。

2. TCP/IP五層模型

(1)應用層

為應用程式提供網路訪問服務及應用層協議存留的地方。例如,HTTP協議提供了Web文件的請求和傳送,SMTP(郵件傳送協議)提供了電子郵件的傳送,還有DNS(域名解析協議)將http://202.108.22.5轉換為對人友好的www.baidu.com。

(2)傳輸層

提供端到端的服務,即主機到主機。負責將應用層的報文向目的地傳送,還要確保傳輸差錯控制和流量控制。在因特網中,有兩個傳輸協議,即TCP和UDP,可提供端到端的、可靠的或者不可靠的傳輸。

(3)網路層

網路層負責將資料報的分組從一臺主機移動到另一臺主機,具體功能包括定址、路由選擇、連線建立、保持和終止等。在發出傳輸請求的主機中的傳輸層向網路層遞交傳輸報文段和目的地址,就像你通過快遞服務寄件時提供目的地址一樣。

(4)資料鏈路層

資料鏈路層最基本的服務就是將源自網路層的資料可靠地傳輸到相鄰節點,下一個節點的目的主機的鏈路層將資料報上傳給網路層。資料鏈路層的例子有乙太網、WiFi等,該層需要實現的功能包括:實體地址定址、資料的成幀、流量控制、資料的檢錯、重發等。

(5)物理層

物理層的任務是將該幀中的一個一個位元從一個節點向下一個節點移動。在物理層中的協議與鏈路相關,並且需要確保原始的資料可在各種物理媒體上傳輸。比如乙太網的許多物理層協議有和雙絞銅線、同軸電纜、光纖,等等相關。

有了上邊的知識後,已經能夠初步構建起一個網路通訊的框架了,你已經能初步體會我們的每一條qq訊息是如何的傳送到對方了。下次將會對每一層的具體協議進行展開。