天天看點

計算機網絡讀書筆記(一)一. 計算機網絡和網際網路

一. 計算機網絡和網際網路

1.什麼是網際網路

1.1 網際網路的具體構成描述

網際網路是一個世界範圍的計算機網絡,在網際網路中,所有接入網際網路的裝置都被稱為主機或端系統。

端系統通過通信鍊路和分組交換機連接配接到一起。不同的鍊路能夠以不同的速率傳輸資料,鍊路的傳輸速率以比特/秒(bit/s)度量。當一台端系統要向另一台端系統發送資料時,發送端系統将資料分段,并為每段加上首部位元組,由此形成的資訊包用計算機網絡的術語來說稱為分組。這些分組通過網絡發送到目的端系統,并在那裡被裝配成初始資料。

分組交換機從它的一條通信鍊路接收到達的分組,并從它的一條出通信鍊路轉發該分組。最著名的分組交換機類型是路由器和鍊路層交換機。鍊路層交換機通常用于接入網,而路由器通常用于網絡核心。一個分組所經曆的一系列通信鍊路和分組交換機稱為通過該網絡的路徑。

端系統通過網際網路服務提供商(ISP)接入網際網路,每個ISP自身就是一個由多台分組交換機和多段通信鍊路組成的網絡。ISP提供各種不同類型的網絡接入,也為内容提供者提供英特網接入服務。

端系統、分組交換機和其他網際網路部件都要運作一系列協定,這些協定控制網際網路中資訊的接收和發送。TCP和IP是網際網路中兩個最為重要的協定。IP協定定義了在路由器和端系統之間發送和接收的分組格式,網際網路的主要協定統稱為TCP/IP。網際網路标準是由網際網路工程任務組(IETF)研發。

1.2 服務描述

與網際網路相連的端系統提供了一個套接字接口,該接口規定了運作在一個端系統上的程式請求網際網路基礎設施向運作在另一個端系統系統上的特定目的地程式傳遞資料的方式,網際網路套接字接口是一套發送程式必須遵守的規則集合。

(在大概9月,10月左右會看Linux網絡程式設計的書籍,到時候會詳細總結)

1.3 協定

協定定義了在兩個或多個通信實體之間交換的封包的格式和順序,以及封包發送和/或接收一條封包或其他時間所采取的動作。回顧之前所說,我們在由發送端向接收端發送資料時,會将資料分段并加上一些額外的資訊,這些資訊加什麼有什麼含義,就是通過協定來規定的,通過協定我們在發送端加入這些額外資訊,在接收端來了解這些額外資訊。

2.網絡邊緣

通常把與網際網路相連的計算機和其他裝置稱為端系統,因為他們為于網際網路的邊緣。

2.1 接入網

接入網:将端系統實體連接配接到其邊緣路由器的網絡,邊緣路由器是端系統到任何其他遠端端系統的路徑上的第一台路由器。

DSL:這是一種寬帶住宅接入的方法,它的ISP是本地電話公司。其使用的通信鍊路的實體材質為電話線,是一種雙絞線。使用者使用DSL數據機通過電話線與ISP中的數字使用者線接入複用器(DSLAM)來交換資料;家庭DSL數據機将數字資料轉換為高頻音後通過電話線傳輸到ISP中心,并且通過DSL解調器将DSLAM發送過來的模拟信号轉為數字信号

電纜:這是另一種寬帶住宅接入方法,它的ISP是有線電視公司。其使用的通信鍊路的實體材質有光纖和同軸電纜,也被稱為混合光纖同軸(Hybrid Fiber Coax HFC);使用者使用電纜數據機通過同軸電纜與光纖結點相連,光纖結點通過光纜與電纜頭端相連,而電纜頭端接入了網際網路。在電纜頭端,電纜數據機端接系統(Cable Modem Termination System)起到DSLAM的作用,即實作模拟信号和數字信号的轉換;

FTTH:光纖到戶這裡主要是指使用光纖作為通信鍊路的材質,有兩種競争性的光纖分布方案,一種是主動光纖網絡(Active Optical Network),另一種是被動光纖網絡(Passive Optical Network).其主要差別在于,是否在傳輸資料時共享光纖。

以太網和WIFI:以太網接入是一種在公司、大學、家庭裡很流行的接入方式;使用者使用雙絞線與以太網交換機相連,進而接入網際網路;接入以太網交換機的速度可達100Mbps;在無線區域網路中,無線使用者從一個接入點發送和接收資料,而該接入點與企業網相連,企業網最終接入網際網路;在無線LAN中,使用者需要在一個接入點的幾十米範圍之内。

廣域無線接入:在移動裝置中,通過蜂窩網提供商營運的基站來發送和接收分組,與WIFI不同的是,使用者僅需要位于基站的數萬米範圍之内即可。

2.2 實體媒體

實體媒體分為兩類:導引形媒體和非導引型媒體

導引型媒體:電波沿着固體媒體前行,如光纜、雙絞銅線或同軸電纜。

非導引型媒體:電波在空間或外層空間中傳播,例如在無線區域網路或數字衛星頻道。

2.3 網絡核心

2.3.1 分組交換

為了從源端系統向目的端系統發送一個封包,源将長封包劃分為較小的資料塊,稱之為分組。在源和目的地之間,每個分組都通過通信鍊路和分組交換機傳送。分組以等于該鍊路最大傳輸速率的速度傳輸通過該通信鍊路。

存儲轉發:

多數分組交換機在鍊路的輸入端使用存儲轉發傳輸。存儲轉發是指在交換機能夠開始向輸對外連結路傳輸該分組的第一個比特之前,必須接收到整個分組。

也就是說,每傳入一個結點後,先全部存儲再進行轉發,因為如果不存儲,一接收到就直接轉發的話,下一個鍊路就會被占用,相應的網絡傳輸就會變為了專用,失去了共享能力,這樣就與電路交換沒有差別了(詳見下一小節)。

排隊時延和分組丢棄:

每台分組交換機有多條鍊路與之相連,對于每條相連的鍊路,該分組交換機具有一個輸出緩存,也成為輸出隊列,它用于存儲路由器準備發往的那條鍊路的分組。

如果達到速率>鍊路的輸出速率:分組将會排隊,等待傳輸,是以此時,除了存儲轉發時延外,分組還要承擔輸出緩存的排隊時延。如果路由器緩存用完了,分組将會被丢棄,也就是會發生分組丢失(丢包)的情況。

轉發表和路由協定:

先介紹幾個概念:

路由:決定分組采用的源到目标的路徑。

轉發:将分組從路由器的輸傳入連結路轉移到輸對外連結路

當一個分組到達網絡中的路由器時,路由器檢查該分組的目的位址的一部分,并向一台相鄰路由器轉發該分組。每台路由器具有一個轉發表,用于将目的位址(或目的位址的一部分)映射稱為輸對外連結路。而這些轉發表是通過一些特殊的路由選擇協定來自動地設定它們。

2.3.2 電路交換

将通信鍊路分為獨立的很小的各類片段,每次通過這些小片段來連接配接。在電路交換中,在端系統通信會話期間,交換機會預留端系統間通信路徑上的相關資源(緩存),即先建立連接配接,然後通信,由于此時這部分的資源是被占用的,是以此時别人無法使用這段資源。(聯想傳統的家庭電話)

頻分複用(TDM):是指将時間劃分為固定區間的幀,每個幀則又被劃分為固定數量的時間空隙;當網絡需要建立一條連接配接時,網絡将在每個幀中為該連接配接指定一個時隙;在該時隙内,鍊路用來傳輸該連結的資料;

頻分複用(FDM):将頻率域劃分為頻段,然後将頻段配置設定給連接配接;此頻段被用來專門傳輸連結的資料。該頻段的寬度成為帶寬.

分組交換和電路交換的對比:

分組交換的優點:

它提供了比電路交換更好的帶寬共享;
它比電路交換更簡單、更有效、實作成本更低;
           

分組交換的缺點:

分組交換不适合實時服務,因為端到端的時延是可變、不可預測的,這和整個網絡的情況相關;
           

電路交換的優點:

提供了端對端傳輸資料的速率保證;
           

電路交換的缺點:

電路交換存在靜默期,這是指專用電路空閑時,其占用的資源并沒有得到充分的利用;
建立連接配接的過程比較複雜;
           

總體上來說,分組交換的性能要好于電路交換的性能,但是不同類型的分組交換方式有不同的應用場景。

2.3.3 網絡的網絡

ISP:提供各種不同類型的網絡接入,也為内容提供者提供英特網接入服務,各類不同的ISP于其上層的ISP相連。

ICP:提供業務的企業,例如谷歌、百度等。

我們在什麼是網際網路 一節中介紹ISP,端系統是通過ISP接入網際網路的,為了實作端系統的互聯,ISP也必須互聯,其實網絡模型就是用來表達ISP和端系統以及ISP之間的結構的抽象;

網絡結構1:存在唯一的全球承載ISP互聯所有的接入ISP,這是指,全球ISP是一個又路由器和通信鍊路構成的網絡,該網絡跨越全球,并且其他的接入ISP都至少和一個它的路由器相連;

網絡結構2:存在多個全球承載ISP,它們分别于一部分的接入ISP互聯;為了實作端系統的互聯,這多個全球ISP也必須互聯;網絡結構是一個兩層結構,其中全球承載ISP位于頂層,接入ISP處于底層;

網絡結構3:頂層全球承載ISP基本上已經定型,但是接入ISP現在還很混亂,比如,它們直接同頂層ISP相連;而網絡結構3中,接入ISP也是分層的:較小區域中的ISP連入較大區域的ISP,而不是直接與頂層ISP相連;為什麼會出現這樣的結構呢?這是因為,如果都直接同頂層ISP相連,那麼兩個同一較小區域内,分屬不同ISP的端系統之間通信的資料也會到頂層ISP中心去一趟,如果它們不是直接接入頂層ISP,而是接入了一個較大區域的ISP,那麼它們之間的通信資料就不用去頂層ISP中心了,因為它們通過較大區域的ISP已經實作了互連,是以通信速度肯定就上去了。

網絡結構4:是在網絡結構3的基礎上,增加了以下特點而形成的結構:存在點(Point of Presence,PoP)、多宿、對等、網際網路交換點(Internet exchange point,IXP)。

PoP存在于等級結構中所有層次,但是底層ISP除外;一個PoP是ISP網絡中的一台或者多台路由器群組,其中客戶ISP能夠通過第三方提供的高速鍊路直接将它的路由器和供應商的PoP連接配接,進而實作與提供商ISP連接配接。這樣接入速度很明顯就提高了。
多宿(multi-home)是指,任何ISP(除第一層ISP)都可以與兩個或者多個提供商ISP連接配接,這被稱為多宿;這樣網絡的可靠性就提高了
對等(peer) 是指,位于相同等級結構層次的一對鄰近ISP能夠直接将它們的網絡連接配接到一起,使它們之間流量經直接連接配接而不是經過上遊的中間ISP傳輸,這樣既不用付費,速度也可能會快一些;
網際網路交換點是為了實作多個ISP可以對等而建立的。
           

網絡結構5:網絡結構5是在網絡結構4的基礎上增加了内容提供商網絡而構成。内容提供商建構自己的網絡,并且通過與較低層ISP對等而“繞過”較高層網際網路ISP,而且内容提供商對端使用者也有了更多的控制。

該部分轉自:https://blog.csdn.net/qq_39326472/article/details/88089747

總體而言,整個網絡就像俄羅斯套娃一樣,一層接着一層向下衍生,每個網絡又包含這其他的網絡,總體而言十分複雜。

2.4 分組交換網中的時延、丢包和吞吐量

網際網路可以看成是一種基礎設施,該基礎設施為運作在端系統上的分布式應用提供服務。計算機網絡必須要限制在端系統之間的吞吐量,在端系統之間引入時延,而且實際上也會丢失分組。

2.4.1 分組交換網中的時延概述

分組從一個結點(主機或路由器)沿着這條路徑到後繼結點(主機或路由器)的路途中,經受了幾種不同類型的時延。這些時延最為重要的是結點處理時延、排隊時延、傳輸時延、和傳播時延,這些時延總體累加起來是結點總時延。

時延的類型:

(1):處理時延:檢查bit級差錯,檢查分組首部和決定将分組導向處理。

(2):排隊時延:分組在鍊路上等待傳輸時,在輸對外連結路上等待傳輸的時間,一個特定分組的排隊時延長度取決于先期到達的正在排隊等待向鍊路傳輸的分組數量,也就是說,排隊時延取決于路由器的擁塞狀态。

(3):傳輸時延:傳輸時延是将所有分組的比特推向鍊路所有需要的時間,實際的傳輸時延通常在毫秒到微秒數量級。用L表示分組的長度,用Rbps表示從路由器A到B的鍊路傳輸速率。傳輸時延是L/R。

(4):傳播時延:一個比特被推向鍊路,該比特需要向路由器B傳播。從該鍊路的起點到路由器B傳播所需要的時間是傳播時延。

(5):傳輸時延和傳播時延的比較:傳輸時延是路由器推出分組所需要的時間,它是分組長度和鍊路傳輸速率的函數,與兩台路由器之間的距離無關;傳播時延是一個比特從一台路由器傳播到另一台路由器所需要的時間。

2.4.2 排隊時延和丢包

排隊時延的大小取決于流量到達該隊列的速率、鍊路的傳輸速率和到達流量的性質,即流量是周期性到達還是以突發形式到達。通常使用流量強度來描述平均排隊時延的大小,如果流量強度等于0,則幾乎沒有分組到達并且到達間隔很大,此時平均排隊時延為0;當流量強度接近1時,當到達速率超過出傳輸能力時,平均排隊時延将會徐速增加。

丢包:由于在實際鍊路中,排隊容量是優先的,是以當流量強度接近1的時候,排隊時延并不真正趨向無窮大。相反,到達的分組将發現一個滿的隊列,由于存儲空間已經用完,是以路由器将丢棄該分組,即該分組将丢失。

2.4.3 端到端時延

我們假設在每台路由器和源主機上的處理時延是dproc,每台路由器和源主機的輸出速率是R bps,每條鍊路的傳播時延是drop。結點時延累加起來得到端到端時延。

計算機網絡讀書筆記(一)一. 計算機網絡和網際網路

在書中所描述的Traceroute,它的工作原理是使用ICMP協定:分組每經過一跳後,TTL減1,當TTL減為0時,路由器會将這個幀丢棄,并且這個路由會将錯誤傳回到源位址。

2.4.4 計算機網絡中的吞吐量

吞吐量是指源端和目标端之間傳輸的速率(資料量/機關時間),也就是說,對于發送端而言,吞吐量是發送資料的速度,而對于接收端而言,吞吐量是指接收資料的速度;對于某一結點而言,在該節點的吞吐量取決于該節點作為發送或接收端的最小值;而對于某一鍊路而言,限制端到端的吞吐量取決于其中吞吐量最小的那一段鍊路,也就是瓶頸鍊路。

2.5 協定層次及其服務模型

網路是複雜的,從邏輯上來講,當我們發送一個分組到目的位址的時候,從我們目前端直接發送到目的端即可。但是對于網絡而言,本質上是通過複雜的結構以及各類不同的協定一同協作完成的。

2.5.1 分層的體系結構

利用分層的體系結構,我們可以讨論一個大而複雜系統的定義良好的特定部分。這種簡化本身由于提供模闆化而具有很高的價值,這使某層提供的服務易于改變,隻要該層對其上層的層提供相同的服務,并且使用來自下面層次的相同服務,當某層的實作變化時,系統的其餘部分保持不變。

為了給網絡協定的設計提供一個結構,網絡設計者以分組的方式組織協定以及實作這些協定的網絡硬體和軟體。

再次關注于服務,本層的服務就是就是借助下層服務實作的本層協定實體之間互動帶來的新功能,而協定借助下層的服務才能實作,協定實作的目的是為了向上層提供更好的服務。

将這些綜合起來,各層的所有協定被稱為協定棧。網際網路的協定棧有5個層次組成:實體層、鍊路層、網絡層、傳輸層、應用層。

(1) 應用層:

應用層是網絡應用程式以及它們的應用層協定存留的地方。應用層協定分布在多個端系統上,而一個端系統中的應用程式使用協定與另一個端系統中的應用程式交換資訊分組。我們把這種位于應用層的資訊分組稱為封包。

(2) 傳輸層:

網際網路的傳輸層在應用程式斷電之間傳送應用層封包,使得從程序到另一個程序傳輸,并使得網絡層中不可靠的服務變可靠。其中主要兩種運輸協定分别是TCP和UDP。我們把運輸層傳輸的分組稱為封包段。

(3) 網絡層:

網絡層負責将陳偉資料報的網絡層分組從一台主機移動到另外一台主機,它解決了端到端之間的傳輸,并以分組為機關。它提供的是一種盡力而為的作用,是以是不可靠的。網絡層的著名協定是IP協定。

(4) 鍊路層:

網絡層通過和目的地之間的一系列路由器路由資料報,它保障的是從一個子網到另一個子網的傳輸。為了将分組從一個結點移動刀路徑的下一個結點,網絡層必須依靠該鍊路層的服務,由鍊路層提供的服務取決于應用于該鍊路的特定鍊路層協定,我們把鍊路層分組稱為幀。

(5) 實體層:

将幀中的一個個比特從一個節點移動到下一個節點,這層中的協定仍然是是鍊路相關的,并且進一步與實際傳輸媒體相關。

OSI模型

osi模型:應用層、表示層、會話層、傳輸層、網絡層、資料鍊路層和實體層。

2.5.2 封裝

在發送端,一個應用層封包被傳送給傳輸層,在最簡單的情況下,傳輸層收取到封包并附上附加資訊,該首部将被接收端的運輸層使用。應用層封包和傳輸層首部資訊一道構成了運輸層封包段,運輸層封包段是以封裝了應用層封包,也就是我們所說的頭部資訊,在經過每一個不同的層時,都會加上該層的頭部資訊來封裝傳來的資料,進而讓這段資料在傳入到下一層時帶有本段的資訊,用于接收端來識别。

參考文獻:《計算機網絡自頂向下方法》

繼續閱讀