2017-01-19 計算機網絡和因特網-網絡核心 上 ISP互聯、丟包、時延、協議分層

2017-01-19 計算機網絡和因特網-網絡核心 上 ISP互聯、丟包、時延、協議分層


計算機網絡和因特網-網絡核心-網絡的網絡

端用戶和內容提供商與ISP的連接僅僅是因特網的一小部分,因爲因特網是由數以億計的用戶構成的。要如此,接入ISP自身必須互聯。通過創建網絡的網絡可以做到這一點,理解這個短語是理解因特網的關鍵。


不存在一個單一的全球網絡承載所有接入的端系統。相反,在任何給定的區域,可能有一個區域ISP(reginal ISP),區域中的接入ISP與之連接。每個區域ISP則與第一層ISP(tier-1 ISP)連接。不僅有多個競爭的第一層ISP,而且這一區域可能有多個競爭的區域ISP。在這樣的等級結構中,每個接入ISP用戶向區域ISP支付其連接費用,並且每個區域ISP向他連接的第一層ISP支付費用。當然用戶也可以直接接入第一層ISP。

值得注意的是第一層ISP不向任何人付費,因爲它位於該等級結構的頂部。

使事情更爲複雜的是,在某些區域,可能有較大的區域ISP,區域中較小的區域ISP與之相連,較大的區域ISP則與第一層ISP連接。

爲了建造一個與今天的因特網相識的網絡,我們引入如下概念:

存在點(Point of Presence,PoP)、多宿、因特網交換點(Internent exchange point,IXP)。

PoP存在於等級結構的所有層次,但底層(接入ISP)等級除外。一個PoP只是提供商網絡中的一臺或多臺路由器(在相同位置)羣組,它們從第三方通信提供商租用高速鏈路直接將它的路由器之一連接到位於該PoP的一臺路由器。

任何ISP(除了第一層ISP)可以選擇爲多宿(multi-home),既可以與兩個或更多提供商ISP連接。當一個ISP多宿時,即使他的提供商之一出現故障,他仍然能夠繼續發送和接收分組。

客戶ISP向他們的提供商ISP付費,爲了減少付費,位於相同等級結構層次的臨近一對ISP能夠對等(peer),也就是說,能夠直接將他們的網絡連到一起,對等的兩個ISP之間不進行結算,任一個ISP不向其對等付費。

據此誕生了因特網交換點(Internet Exchange Point,IXP),IXP是一個匯合點,多個ISP能夠在這裏共同對等。

隨着網絡的發展在頂層增加了內容提供商網絡(content provider network)。如谷歌,谷歌專用網絡通過與較底層ISP對等(無結算)嘗試“繞過”因特網的較高層,採用的方式可以是直接與它們連接,或者在IXP處與它們連接。谷歌也與第一層ISP相連。近年來主要的內容提供商已經開始創建自己的網絡,直接在可能的地方與較底層ISP互聯。


計算機網絡和因特網-分組交換網中的時延、丟包和吞吐量

如前所訴,因特網可以看成是一種爲運行在端系統上的分佈式應用提供服務的基礎設施。

計算機網絡和因特網-分組交換網中的時延、丟包和吞吐量-分組交換網中的時延概述

主要有:

結點處理時延(nodal processing delay):如檢查分組首部和決定將該分組導向何處等。

排隊時延(queuing delay):在存儲轉發傳輸中,假定分組先到先服務,僅當所有已經到達的分組被傳輸後,才能傳輸剛到達的分組

傳輸時延(transmission delay):每個分組全部接收後才能進行傳輸,而且需要把分組中的數據依次推出。

傳播時延(propagation delay):信號通過物理介質進行傳播時也需要時間。

這些時延總體累加起來是結點總時延(total nodal delay)


計算機網絡和因特網-分組交換網中的時延、丟包和吞吐量-排隊時延和丟包

結點時延中最爲複雜有趣的成分是排隊時延。人們在表徵排隊時延時,通常使用統計量測度,如平均排隊時延、排隊時延的方差和排隊時延超過某些特定值的概率。

隨着流量強度接近最大傳輸速率,平均排隊時延會迅速增加,直到發生丟包現象。丟失的分組可能基於端到端的原則重傳、以確保所有的數據最終從源傳送到目的地。


計算機網絡和因特網-分組交換網中的時延、丟包和吞吐量-端到端時延+端系統、應用程序和其他時延

計算機網絡和因特網-分組交換網中的時延、丟包和吞吐量-計算機網絡中的吞吐量

瞬時吞吐量(instantaneous throughput)

平均吞吐量(average throughput)

瓶頸鍊路(bot-tleneck link)


計算機網絡和因特網-協議層次及其服務模型

計算機網絡和因特網-協議層次及其服務模型-分層的體系結構

利用分層體系結構,我們可以討論一個定義良好的,大而複雜的系統的特定部分。

這種簡化本身由於提供了模塊化而具有很高價值,這使實現由層所提供的服務易於改變。只要該層對其上面的層提供相同的服務,並且使用來自下層層次的相同服務,當某層的實現變化時,該系統的其餘部分保持不變。注意改變一個服務的實現,與改變一個服務本身是極爲不同的。

對於大而複雜且不斷更新的系統,改變服務的實現而不影響系統其他組件是分層的一個重要優點。

計算機網絡和因特網-協議層次及其服務模型-分層的體系結構-協議分層

網絡設計者以分層(layer)的方式組織協議,以及實現這些協議的網絡硬件和軟件,我們也將關注每層向上一層提供的服務(service)。一層協議能夠用軟件、硬件或兩者的結合來實現。需要指出的是一個第n層協議可能涉及到構成該網絡的端系統、分組交換機和其他各個組件中。

當然也有人反對分層,如分層可能冗餘較底層的功能。

將這些綜合起來,各層的所有協議被稱爲協議棧(protocol stack)。本書分爲五層

物理層--鏈路層--網絡層--運輸層------------應用層

物理層--鏈路層--網絡層--運輸層--會話層--表示層--應用層

本書採用自頂向下方法(top-down approach)先介紹應用層。

(1)應用層

應用層是網絡應用程序及它們的應用層協議存留的地方。如HTTP、SMTP、FTP、DNS等;應用層協議分佈在多個端系統上,一個端系統中的應用程序使用協議與另一個端系統中的應用程序交換信息的分組。我們把這種位於應用層的信息分組稱爲報文(message)

(2)運輸層

運輸層爲應用程序端點之間傳送應用層報文。如TCP/UDP,TCP提供面向連接的服務,提供流量控制、擁塞控制機制等,而UDP不提供不必要的服務,沒有可靠性,沒有流量控制,也沒有擁塞控制。本書中,我們把運輸層分組稱爲報文段(segment)

(3)網絡層

網絡層負責把稱爲數據報(datagram)的網絡層分組從一臺主機移動到另一臺主機。如IP協議、路由選擇協議位於此層。源主機因特網傳輸層協議向網絡層遞交運輸層報文段和目的地址,就像通過郵政寄信時提供信件和地址一樣。

(4)鏈路層

爲了將分組從一個結點移動到路徑的下一個節點,網絡層必須依靠該鏈路層的服務,特別是在每個結點,網絡層將數據報下傳給鏈路層,鏈路層沿着路徑將數據報傳遞給下一個結點,鏈路層將數據報上傳給網絡層。我們把鏈路層的分組稱爲幀(frame)。

(5)物理層

物理層的任務是將整個幀從一個網絡元素移動到鄰近的網絡元素,而物理層的任務是將幀中的一個個比特從一個結點到下一個結點。


計算機網絡和因特網-協議層次及其服務模型-分層的體系結構-協議分層-OSI模型


20世紀70年代後期,國際標準化組織(ISO)提出了計算機網絡的7層模型。成爲開放系統互聯(OSI)模型。

表示層:使通信的應用層序能夠解釋交換數據的含義。這些服務包括數據壓縮和數據加密以及數據描述。

會話層:提供數據交換定結和同步功能,包括了建立檢查點和恢復方案的方法。

這些層次的服務不重要麼?如果引用程序需要怎麼辦?答案是程序開發者自己處理。


計算機網絡和因特網-協議層次及其服務模型-封裝

鏈路層交換機實現了第一層和第二層

路由器實現了第一層到第三層,這就是說因特網路由器能夠實現IP協議,而鏈路層交換機則不能。

值得注意的是主機實現了所有5個層次,這與因特網體系結構將他的複雜性放在網絡邊緣的觀點是一致的。


封裝(encapsulation)

應用層報文(application-layer message)

運輸層報文(transport-layer message)

網絡層數據報(network-layer datagram)

鏈路層幀(link-layer frame)

我們看到每一層,一個分組具有兩種類型的字段:首部字段和有效載荷字段(payload field)。有效載荷字段來自上一層的分組。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章