計算機網路——計算機網路和因特網

2020-10-16 11:02:43

系列文章連結

第一章 計算機網路和因特網



1. 什麼是因特網

1.1 具體構成描述

   各種個人電腦、工作站伺服器,智慧手機、平板電腦等裝置被稱為 主機 或者是 端系統

  端系統通過 通訊鏈路分組交換機 連線在一起,不同的鏈路能夠以不同的速率傳輸資料,鏈路的 傳輸速率 以位元/秒(bit/p, bps)來度量。

   一臺端系統像另一臺端系統傳送資料時,傳送端系統將資料分段,並將每段上加上首部位元組。這個過程形成的資訊包叫做 分組。分組通過網路傳送到目的端系統,在目的端系統重新裝配成初始資料。

   兩類顯著型別的分組交換機為 路由器鏈路層交換機。鏈路層交換機通常用於接入網,路由器通常用於網路核心中。從傳送端系統當接收端系統,一個分組所經歷的一些列通訊鏈路和分組交換機稱作通過該網路的 路徑

  端系統通過 因特網服務提供商 (ISP) 接入因特網。各種ISP為端系統提供了不同型別的網路接入,也為內容服務者提供因特網接入服務。

  端系統、分組交換機和其他所有因特網部件都需要執行一系列 協定TCPIP 是因特網最重要的兩個協定。因特網的主要協定統稱為 TCP/IP

  因特網標準由因特網工程任務組 (IETF) 研發,IETF的標準檔案稱作 請求評論 (RFC)

1.2 服務描述

  即時通訊、多人遊戲等應用設計多個相互交換資料的端系統,被稱作 分散式應用程式 (distributed application)

  與因特網相連的端系統提供了一個 通訊端介面(socket interface),該介面規定了執行在一個端系統上的程式請求因特網基礎設施向另一個端系統上的特定目的程式交付資料的方式。

1.3 什麼是協定

1.3.1 對比人類活動

  協定就是人與人傳遞資訊之間約定俗成的一些列動作。通過這些一系列動作,決定人與人之間的交流等活動。例如AB詢問時間,B說我正在忙,在這種情況下,按照「協定」,A將不在詢問。

1.3.2 網路協定

  網路協定中,交換報文的是某些實體的硬體或軟體。在因特網中,設計多個以上的遠端通訊實體所有活動受到協定的制約。

  例如A向某個Web伺服器傳送請求,A的計算機會向Web伺服器傳送一條連線請求報文,並等待回答。Web伺服器收到請求後,傳送連線響應報文。A的計算機受到該報文後,得知請求的Web檔案正常,那麼會在一條GET報文中傳送需要取回的網頁名字。Web伺服器向計算機返回該Web網頁。

  協定 (protocol)定義了兩個或多個通訊實體之間交換的報文的格式和順序,報文傳送和/或接受一條報文或其他事件所採取的動作。


2. 網路邊緣

  主機執行應用程式,它又被分為兩類:客戶 (client)伺服器 (server)。使用者端通常是個人電腦、智慧手機等。伺服器通常是更加強大的機器,用於儲存和釋出Web頁面、流視訊、中繼電子郵件等。現在大部分搜尋、電子郵件、Web等的伺服器是大型 資料中心

2.1 接入網

  接入網 是指將端系統物理連線到其 邊緣路由器 的網路。

2.1.1 家庭接入:DSL、電纜、FTTH、撥號和衛星

  • 數位使用者線 (Digital Subscriber Line, DSL)
      使用者從本地電話公司獲得DSL因特網接入,原生的電話公司是它的ISP。每一個使用者的DSL資料機使用現有的電話線與電話公司的本地中心局(CO)終端數位使用者接入複用器(DSLAM)交換資料。家庭的DSL資料機得到數位資料後轉換為高頻音,通過電話線傳給本地中心局;來自家庭的模擬訊號在DSLAM處轉換為數位形式。
      家庭電話線同時承載了資料和傳統的電話訊號,使用不同的頻率編碼:高速下行通道,50kHz ~ 1MHz頻段;中速上行通道,4kHz ~ 50kHz頻段;普通雙向電話通道,0 ~ 4kHz。
      DSL標準定義了多個傳輸速率,包括45Mbps下行和1.8Mbps上行的[ITU 1999],55Mbps下行和15Mbps上行的[ITU 2006]

  • 電纜因特網接入 (cable Internet acess)
      電纜接入需要電纜資料機(cable modem),電纜資料機端系統(Cable Modem Termination System, CMTS)DSL的DSLAM類似。DOCSIS 2.0標準定義了下行42.8Mbps和上行30.7Mbps速率。

  • 光纖到戶 (Fiber To The Home, FTTH)
      光纖有兩種分佈體系結構:有源光纖網路(AON)和無源光纖網路(PON)。在PON中每個家庭有一個光纖網路端接器(Optical Network Terminator, ONT),由專門的光纖連線到鄰近的分配器,分配器將一些家庭的光纖集結到一根共用的光纖,連線到本地電話公司中心局光纖路端接器(Optical Line Terminator, OLT)OLT提供了光電訊號轉換,通過本地電話公司路由器和因特網相連線。

2.1.2 企業接入:乙太網、WiFi

  • 乙太網
      公司和學校使用者通過雙絞銅線與一臺乙太網交換機相連,乙太網交換機或者這樣的交換機網路與更大的乙太網相連。使用乙太網,使用者通常以100Mbps1Gbps接入乙太網交換機,伺服器則可能具有1Gbps10Gbps的接入速率。

  • WiFi
      無限使用者與企業網連線,企業網在與有線因特網相連。使用者通常處於接入點的即使冪範圍內。基於IEEE 802.11技術的無限WLAN接入,或者稱作WiFi,使用非常普遍。現在已經可以提供高達100Mbps的傳輸速率。

2.1.3 廣域無限接入:3G、LTE

  使用者位於基站數萬米的距離內。電信公司已經提供了第三/四代無線技術(3G\4G),甚至是5G。長期演進(Long-Term Evolution, TLE)來源於3G,能夠取得10Mbps的速率。

2.2 物理媒體

2.2.1 雙絞銅線

  雙絞銅線是最常見和便宜的傳輸媒體。無遮蔽雙絞線(Unshielded Twisted Pair, UTP)常用於建築物內部的計算機網路中。

2.2.2 同軸電纜

  同軸電纜由兩個同心的銅導體組成。它能夠被用作導引型共用媒體(shared medium)

2.2.3 光纖

  光纖是導引光脈衝光的媒體。標準的光載波速率範圍從51.8Mbps到39.8Gbps,這些標準被稱作OC-n,對應的速率為n×51.8Mbps


3. 網路核心

3.1 分組交換

  在網路應用中,端系統彼此交換報文 (message)。報文可以執行一些控制功能,可以包含資料。報文可以包含協定設計者所需要的任何資訊。

  為了從源端系統到目的端系統之間傳送一個報文,源將長報文分成小的資料塊,稱為分組 (packet)

  在源和目的之間,每個分組通過分組交換機 (packet switch)傳送。常見的交換機由兩類:路由器 (router)鏈路層交換機 (link-layer switch)。分組以該鏈路的最大傳輸速率的速度傳輸通過通訊鏈路。

3.1.1 儲存轉發傳輸

多數分組交換機在鏈路的輸入端使用儲存轉發傳輸(store-and-forward transmission)機制。

  儲存轉發傳輸是指交換機能夠開始向輸出鏈路傳輸該分組的第一個位元之前,必須接收到整個分組。舉例如下:
在這裡插入圖片描述

  分組1從一條鏈路轉移到另一條鏈路。當分組1的最前端的位元已經到達的路由器,此時還不能傳輸路由器接收的位元。只有當路由器接收了該分組的全部位元之後,才能向出鏈路傳輸分組1。

  儲存轉發傳輸引起的結果是分組1從源到目的地的時間受到影響:假設分組1有L bits,鏈路的傳輸速率都是R bps。那麼在L/R s的時候源完全將分組傳輸給路由器,此時路由器開始傳輸,再次經過了L/R s後目的主機接收到分組1的全部內容,總的時間是2L/R s。如果不使用儲存轉發傳輸,而是直接傳輸,那麼總時間將會是L/R s

  那麼考慮經過N條鏈路(N-1個路由器),那麼從源到目的地的一個分組所需的時間是: d 端 到 端 = N L R d_{\rm{端到端}} = N\frac{L}{R} d=NRL

3.1.2 排隊時延和分組丟失

  分組交換機與多條鏈路相連,對於每條鏈路,分組交換機有一個輸出快取(output buffer,也稱作輸出佇列(output queue)),用於儲存路由器準備傳送的分組。假設分組2到達了路由器,但是該路由器正在傳輸分組1,那麼分組2會被儲存在輸出快取中。所以除了儲存轉發時延之外,還有排隊時延(queuing delay)。排隊時延是不確定的,取決於網路的擁塞程度。

  當快取空間滿了,那麼會出現分組丟失(丟包)(packet loss),即將到達的分組或者正在排隊的分組會被丟棄。

3.1.3 轉發表和路由選擇協定

  在因特網中,每個端系統具有一個稱作IP地址的地址。源在分組的首部提供了目的地的IP地址,當分組到達路由器的時候,會檢查目的地的IP地址根據轉發表的資訊,將該分組傳輸到某個鏈路上。

  在因特網中,具有一些路由轉發協定(routing protocol), 用於自動的設定這些轉發表。

3.2 電路交換

通過網路鏈路和交換機行動資料有兩種基本方法:電路交換和分組交換

  電路交換(circuit switching)網路預留了端系統間沿路徑通訊的所有資源,對談的報文需要提前申請資源。在分組交換中,這些資源是不預留的,對談的報文按需使用(可能會引起排隊)。

  電路交換是一個名副其實的連線。在傳送方傳送資訊之前,需要建立連線,然後整個路徑上的交換機都會維持該連線,該連線稱作電路(circuit)。網路建立電路的時候,在電路連線期間預留了恆定的傳輸速率。

  如下範例,四臺主機通過四個電路交換機和4條鏈路互聯,每條鏈路都有4條電路。如果只有AB傳輸的話,只能使用整個網路1/4的效能。
在這裡插入圖片描述

3.2.1 電路交換網路中的複用

  鏈路中斷電路是通過分頻多工(Frequency-Division Multiplexing, FDM)或者是分時多工(Time-Division Multiplexing, TDM)來實現的。

  FDM的鏈路的頻譜由所有連線共用,每個連線使用某段頻率。例如無線電廣播使用FDM來共用88~108MHz的頻譜。每個連線所能夠使用的頻段寬度也可以稱作為頻寬(bandwidth)

  TDM則是將時間按照固定的長度劃分成幀(frame),每幀又劃分成多個時隙(slot)。當網路建立連線時,會為其指定某個時隙,那麼在每個幀內對應的時隙中網路鏈路將由該連線使用。
在這裡插入圖片描述
  如上圖為支援4個電路的FDM和TDM的示意圖。
  FDM中,整個頻譜被分為4個頻段,每份都使用4KHz的頻寬。
  對於TDM,整個時間分成多個幀,每幀分成4個時隙。在所有標號相同的時隙都被同一個連線使用。在TDM中,資料傳輸的速率是幀速率乘以每幀傳輸位元數,例如每秒分為8000幀,每幀傳輸8個位元,那麼傳輸速率為64kbps

3.2.3 分組交換和電路交換對比

不同的人對於兩種交換方式具有不同的看法,它們都有各自的優缺點,但是總體的趨勢是向著分組交換的方向發展
有人認為:電路交換不好,因為電路交換會因為在靜默期(silent period)專用電路的空閒而導致網路資源的浪費。
也有人認為:分組交換不好,因為它對於實時要求較高的服務不是很適合,例如需要實時對話、視訊會議等。

  • 分組交換能夠更好的利用頻寬。
      舉一個例子,在鏈路中只有A向B傳送一個大小為640000bits報文。如果是使用具有24時隙的TDM的電路交換,整個鏈路的頻寬是1.536Mbps。那麼在不計算連線建立的時間下,傳輸時間是 64Kbits / (1.536Mbps/24) = 10s。無論有多少連線,都需要10s
      但是在使用分組交換的情況下,如果鏈路上只有這一個傳輸任務,那麼傳輸的時間將是0.417s

  • 分組交換更加簡單有效。
      對於使用者的靜默期,分組交換不需要為其分配資源,這也就使得分組交換在資源利用上比電路交換更加有效

3.3 網路的網路

  端系統以多種方式通過ISP與因特網相連。所有的ISP需要相互連線,這就是網路的網路(Network of Networks)所需要做的事情。最好的網路的網路當然是所有的ISP都能夠和其它的所有ISP直接相連,但是這樣設計成本太高,所以不被採用。

  • 網路結構1
      歷史上第一種網路的網路是網路結構1(Network Structure 1),使用單一的全球承載ISP(global transit ISP)互聯接入所有的ISP
      這樣的一個ISP耗資巨大,向其接入的每一個ISP收費,其價格一般能夠反映該ISP經過全球承載ISP的流量大小。因此全球承載ISP被稱作提供商(provider),接入的ISP被稱作客戶(costomer)

  • 網路結構2
      在第一個全球承載ISP盈利時自然會有其他的全球承載ISP成立與之競爭,這就是網路結構2(Network Structure 2)。它由多個全球承載ISP和數十萬個ISP構成。這些全球承載ISP也必須互聯。

  • 網路結構3
      網路結構2一個兩級的結構,但是在現實中,在某個區域未必有全球承載ISP,而是區域ISP(reginal ISP)。區域ISP與之接入的ISP相連,每個區域ISP第一層ISP(tier-1 ISP)。第一層ISP類似於假象的全球承載ISP
      區域ISP內也會存在多個更小的區域ISP競爭。這種結構中也具有客戶-提供商關係,每個ISP會向其上一層繳納費用。
      以中國為例,每個城市會有城市的區域ISP與省級ISP相連,省級ISP與國家級ISP相連,國家級ISP會與第一層ISP相連。這便是網路結構3(Network Structure 3)

  • 網路結構4

  • 網路結構5


未完待續…