天天看點

【計算機網絡】計算機網絡基礎知識筆記

相關視訊——​​計算機網絡微課堂(有字幕無背景音樂版)​​

前言

網際網路概述

網絡、互聯(連)網和網際網路

  1. 網絡是由若幹結點和連接配接這些結點的鍊路組成的。
  2. 多個網絡還可以通過路由器互聯起來,這樣就構成了一個範圍更大的網絡,即網際網路。是以,網際網路是網絡的網絡。
  3. 網際網路是世界上最大的互連網絡。

internet與Internet

  • interne網際網路是一個通用名詞,它泛指由多個計算機網絡互連而成的網絡。在這些網絡之間的通信協定可以是任意的。
  • Internet網際網路則是一個專用名詞,它指目前全球最大的、開放的、由衆多網咯互相連接配接而成的特定計算機網絡,它采用TCP/IP協定族作為通信的規則,前身是美國的ARPANET。

網際網路發展的三個階段

【計算機網絡】計算機網絡基礎知識筆記

網際網路服務提供者ISP

Internet Service Provider

【計算機網絡】計算機網絡基礎知識筆記

基于ISP的三層結構的網際網路

【計算機網絡】計算機網絡基礎知識筆記

網際網路的标準化工作

面向公衆。

網際網路協會ISOC。

網際網路的組成

  • 邊緣部分

由所有連接配接在網際網路上的主機組成,這部分是使用者直接使用的,用來通信(傳送資料、音頻或視訊)和資源共享。

  • 核心部分

由大量網絡和連接配接這些網絡的路由器組成。這部分是邊緣部分提供服務的(提供連通性和交換性)。

【計算機網絡】計算機網絡基礎知識筆記

三種交換方式

電路交換

電路交換Circuit Switching
  • 電話交換機接通電話線的方式稱為電路交換。
  • 從通信資源的配置設定角度來看,交換(Switching)就是按照某種方式動态地配置設定傳輸線路的資源。
【計算機網絡】計算機網絡基礎知識筆記
  • 電路交換的三個步驟:
  1. 建立連接配接(配置設定通信資源)
  2. 通話(一直占用通信資源)
  3. 釋放連接配接(歸還通信資源)

電路交換示意圖:

【計算機網絡】計算機網絡基礎知識筆記

當使用電路交換來傳送計算機資料時,其線路的傳輸效率往往很低。

分組交換Pactet Switching

表示一整塊的資料稱為封包。

  • 發送方-構造分組-發送分組
  • 路由器-緩存分組-轉發分組(查表轉發)
  • 接收方-接收分組-還原封包

封包交換過時,不做講解。

對比
【計算機網絡】計算機網絡基礎知識筆記

計算機網絡的定義和分類

計算機網絡的定義

沒有公認的唯一定義。

計算機網路最簡單的定義是:一些互相連接配接的、自治的計算機的集合。

互連:是指計算機之間可以通過有線或無線的方式進行資料通信。

**自治:**是指獨立的計算機,它有自己的硬體和軟體,可以單獨運作使用。

集合:是指至少需要兩台計算機。

**計算機網絡較好的定義是:**計算機網絡主要是由一些,通用的、可程式設計的硬體互連而成的,而這些硬體并非專門用來實作某一特定目的(例如傳送資料或視訊信号)。這些可程式設計的硬體能夠用來傳送多種不同類型的資料,并能支援廣泛的和日益增長的應用。

計算機網絡的分類

按交換技術分類:

  • 電路交換網絡
  • 封包交換網絡
  • 分組交換網絡

按使用者分類:

  • 公用網
  • 專用網

按傳輸媒體分類:

  • 有線網絡
  • 無限網絡

按覆寫範圍分類:

  • 廣域網WAN
  • 城域網MAN
  • 區域網路LAN
  • 個域網PAN

按拓撲結構分類:

  • 總線型網絡
  • 星型網絡
  • 環型網絡
  • 網狀型網絡

計算機網絡的性能名額

  • 速率
【計算機網絡】計算機網絡基礎知識筆記
  • 帶寬
【計算機網絡】計算機網絡基礎知識筆記
  • 吞吐量
  • 吞吐量表示在機關時間内容通過某個網絡(或信道、接口)的資料量。
  • 吞吐量被經常用于對現實世界中的網絡的一種測量,以便知道實際上到底有多少資料量能夠通過網絡。
  • 吞吐量受網絡的帶寬或額定速率的限制。
  • 時延

完成一次通信在路上各個環節所花費的時間。

【計算機網絡】計算機網絡基礎知識筆記
  • 時延帶寬積
【計算機網絡】計算機網絡基礎知識筆記
  • 往返時間
【計算機網絡】計算機網絡基礎知識筆記
  • 使用率
  • 信道使用率:用來表示某信道有百分之幾的時間是被利用的(有資料通過)。
  • 網絡使用率:全網絡的信道使用率的權重平均。
  • 丢包率

丢包率即分組丢失了率,是指在一定的時間範圍内,傳輸過程中丢失的分組數量與總分組數量的比率。

可以分為接口丢包率、結點丢包率、鍊路丢包率、路徑丢包率、網絡丢包率等。

丢包率反映了網絡的擁塞情況。

計算機網絡體系結構

常見的計算機網絡體系結構

【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

計算機網絡體系結構分層的必要性

【計算機網絡】計算機網絡基礎知識筆記

計算機網絡體系結構分層思想舉例

【計算機網絡】計算機網絡基礎知識筆記

計算機網絡體系結構中的準用術語

來源于OSI七層網絡結構,也使用與TCP/IP的四層體系結構和五層原理體系結構。

  • 實體:任何可發送或接收資訊的硬體或軟體程序。
  • 對等實體:收發雙方相同層次中的實體。
【計算機網絡】計算機網絡基礎知識筆記
  • 協定:控制兩個對等實體進行邏輯通信規則的集合。

之是以稱為邏輯通信,是因為真是不存在,提出來是為了友善我們研究其中的某一層而不受其他層幹擾。

【計算機網絡】計算機網絡基礎知識筆記
  • 協定的三個要素
  • 文法:定義所交換資訊的格式。(哪些字段,由哪些資料構成)
  • 語義:定義收發雙方所要完成的操作。
  • 同步:定義收發雙方的時序關系。

服務:

  • 在協定的控制下,兩個對等實體間的邏輯通信使得本層能夠向上一層提供服務。
  • 要實作本層協定,還需要使用下面一層所提供的服務。
【計算機網絡】計算機網絡基礎知識筆記
  • 協定是"水準的",服務是"垂直的"。
  • 實體看得見相鄰下層提供的服務,但并不知道實作該服務的具體協定。也就是說,下面的協定對上面的實作是"透明"的。

服務通路點:**在同一系統中相鄰兩層的實體交換資訊的邏輯接口,**用于區分不同的服務類型。

  • 資料鍊路層的服務區分那個問點為幀的"類型"字段。
  • 網絡層的服務通路點為IP資料報首部中的"協定字段"。
  • 運輸層的服務通路點為"端口号"。

協定資料單元PDU:對等層次之間傳送的資料包稱為該層的協定資料單元。(詳情如下圖所示)

服務資料單元SDU:同一系統内,層與層之間交換的資料包稱為服務資料單元。

多個SDU可以合成為一個PDU,一個SDU也可以劃分為幾個PDU。

【計算機網絡】計算機網絡基礎知識筆記

實體層(需要計算)

實體層的基本概念

  • 實體層考慮的是怎樣才能在連接配接各種計算機的傳輸媒體上傳輸資料比特流。
  • 實體層為資料鍊路層屏蔽了各種傳輸媒體的差異,使資料鍊路層隻考慮如何完成本層的協定和服務,而不必考慮網絡具體的傳輸媒體是什麼。
  • 實體層協定的主要任務
  • 機械特性:指明接口所用接線器的形狀和尺寸、引腳數目和排列、固定和鎖定裝置。
  • 電氣特性:指明在接口電纜的各條線上出現的電壓的範圍。
  • 功能特性:指明某條線上出現的某一電平的電壓表示何種意義。
  • 過程特性:指明對于不同功能的各種可能事件的出現順序。
【計算機網絡】計算機網絡基礎知識筆記

實體層下面的傳輸媒體

【計算機網絡】計算機網絡基礎知識筆記

傳輸方式

【計算機網絡】計算機網絡基礎知識筆記

編碼與調制

【計算機網絡】計算機網絡基礎知識筆記
  • 碼元:(就是構成信号的一段波形)在使用時間域的波形表示數字信号時,代表不同離散數值的基本波形。

常用編碼

【計算機網絡】計算機網絡基礎知識筆記

基本調制方法

【計算機網絡】計算機網絡基礎知識筆記

使用基本調制方法,1個碼元隻能包含有一個比特資訊。

混合調制

【計算機網絡】計算機網絡基礎知識筆記

信道的極限容量

【計算機網絡】計算機網絡基礎知識筆記

失真因素

  • 碼元傳輸速率
  • 信号傳輸距離
  • 噪聲幹擾
  • 傳輸媒體品質

奈氏準則:在假定的理想條件下,為了避免碼間串擾,碼元傳輸速率是有上限的。

理想低通道的最高碼元傳輸速率=2W Baud = 2W碼元/秒

理想帶通信道的最高碼元傳輸速率= W Baud = W 碼元/秒

W:信道帶寬(機關為Hz)

Baud: 波特,即碼元/秒

  • 碼元傳輸速率又稱為波特率、調制速率、波形速率或符号速率。它與比特率有一定關系:
  • 當1個碼元隻攜帶1比特的資訊時,則波特率(碼元/秒)與比特率(比特/秒)在數值上是相等的;
  • 當1個碼元攜帶n比特的資訊量時,則波特率轉換成比特率時,數值要乘以n。
  • 要提高資訊傳輸速率(比特率),就必須設法使每個碼元能攜帶更多個比特的資訊量。這需要才用多元制。
  • 實際的信道所能傳輸的最高碼元速率,要明顯低于奈氏準則給出的這個上限數值。

香農公式:帶寬受限且有高斯白噪聲幹擾的信道的極限資訊傳輸速率。

【計算機網絡】計算機網絡基礎知識筆記
  • 在信道帶寬一定的情況下,根據奈氏準則和香農同時,先要提高資訊的傳輸速率就必須采用多元制(更好的調制方法)和努力提高信道中的信噪比。
  • 自從香農公式發表後,各種新的信号處理和調制方法就不斷出現,其目的都是為了盡可能地接近香農公式給出的傳輸速率極限。

資料鍊路層

資料鍊路層概述

資料鍊路層在網絡體系結構中所處的地位

  • 鍊路(Link)就是從一個結點到相鄰結點的一段實體線路,而中間沒有任何其他的交換結點。
  • 資料鍊路(Data Link)是指把實作通信協定的硬體和軟體加到鍊路上,就構成了資料鍊路。
【計算機網絡】計算機網絡基礎知識筆記

資料鍊路層的三個重要問題

  • 封裝成幀
  • 差錯檢測
  • 可靠傳輸:盡管誤碼是不能完全避免的,但若能實作發送方發送什麼,接收方就能收到什麼,就成為可靠傳輸。

封裝成幀

  • 封裝成幀是指資料鍊路層給上層傳遞的協定資料單元添加幀頭和幀尾使之成為幀。
  • 幀頭和幀尾中包含有重要的控制資訊。
  • 幀頭和幀尾的作用之一就是幀定界。
  • 透明傳輸是指資料鍊路層對上層傳遞的傳輸資料沒有任何限制,就好像資料鍊路層不存在一樣。
  • 面向位元組的實體鍊路使用位元組填充(或稱字元填充)的方法實作透明傳輸。
  • 面向比特的實體鍊路層使用比特填充的方法實作透明傳輸。
  • 為了提高幀的傳輸效率,應當使幀的資料的長度盡可能大些。
  • 考慮到差錯控制等多種因素,每一種資料鍊路層協定都規定了幀的資料部分長度上限,即最大傳送單元MTU(Maximum Transfer Unit)。

差錯檢測

  • 實際的通信鍊路都不是理想的,比特在傳輸過程中可能會産生差錯:1可能會變為0,0可能變為1.這稱為比特差錯。
  • 在一段時間内,傳輸錯誤的比特占所傳輸比特總數的比率稱為誤碼率BER(Bit Error Rate)。
  • 使用差錯檢測碼來檢測資料在傳輸過程中是否産生了比特差錯,是資料鍊路層所要解決的重要問題之一。
  • 奇偶校驗
  • 在待發送的資料後面添加1位奇偶校驗位,使整個資料(包括所添加的校驗位在内)中"1"的個數為奇數(奇校驗)或偶數(偶校驗)。
  • 如果有奇數個位發生誤碼,則奇偶性發生變化,可以檢查出誤碼。
  • 如果有偶數個位發生誤碼,則奇偶性不會發生變化,不能檢查出誤碼(漏檢);
【計算機網絡】計算機網絡基礎知識筆記
  • 循環備援校驗CRC(Cyclic Redundancy Check)
  • 收發雙方約定好一個生成多項式G(x);
  • 發送方基于待發送的資料和生成多項式計算出差錯檢測碼(備援碼),将其添加到待傳輸資料的後面一起傳輸;
  • 接口雙方通過生成多項式來計算收到的資料是否産生了誤碼。
  • 示例:
【計算機網絡】計算機網絡基礎知識筆記
  • 檢測碼隻能檢測出幀在傳輸過程中出現了差錯,但并不能定位錯誤,是以無法糾正錯誤。
  • 想要糾正傳輸中的差錯,可以使用備援資訊更多的糾錯碼來進行向前糾錯。但糾錯碼的開銷比較大,在計算機網絡中較少使用。
  • 循環備援校驗CRC有很好的檢錯能力(漏檢率非常低),雖然計算比較複雜,但非常有易于用硬體實作,是以被廣泛應用于資料鍊路層。
  • 在計算機網絡中通常采用我們後續課程中将要讨論的檢測重傳方式來糾正傳輸中的差錯,或者僅僅是丢棄檢測到差錯的幀,這取決于 資料鍊路層向其上層提供的是可靠傳輸服務還是不可靠傳輸服務。

可靠傳輸的基本概念

  • 使用差錯檢測技術(例如循環備援校驗CRC),接收方的資料鍊路層就可檢測出幀在傳輸過程中是否産生了誤碼(比特錯誤)。
  • 資料鍊路層向上層提供的服務類型
  • 不可靠傳輸服務:僅僅丢棄有誤碼的幀,其他什麼也不做;
  • 可靠傳輸服務:想辦法實作發送端發送什麼,接收端就收到什麼。
  • 一般情況下,有線鍊路的誤碼率比較低,為了減小開銷,并不要求資料鍊路層向上提供可靠傳輸服務。其實出現了誤碼,可靠傳輸的問題由其上層處理。
  • 無線鍊路易受幹擾,誤碼率比較高,是以要求資料鍊路層必須向上層提供可靠傳輸服務。
  • 比特差錯隻是傳輸差錯中的一種。
  • 從整個計算機網絡體系結構來看,傳輸差錯還包括分組丢失、分組失序以及分組重複。
  • 分組丢失、分組失序以及分組重複這些傳輸差錯,一般不會出現在資料鍊路層,而會出現在其上層。
  • 可靠傳輸服務并不僅局限于資料鍊路層,其它各層均可選擇實作可靠傳輸。
  • 可靠傳輸的實作比較複雜,開銷也比較大,是否使用取決于應用需求。

三種可靠的傳輸機制

  • 停止-等待協定SW
  • 回退N幀協定GBN
  • 選擇重傳協定SR

這三種可靠傳輸機制的基本原理并不僅限于資料鍊路層,可以應用到計算機網絡體系結構的各層協定中。

可靠傳輸的實作機制——停止-等待協定SW(Stop-and-Wait)

【計算機網絡】計算機網絡基礎知識筆記

注意事項:

  • 接收端檢測到資料分組有誤碼時,将其丢棄并等待發送方的逾時重傳。但對于誤碼率較高的點對點鍊路,為使發送方盡早重傳,也可以給發送方發送NAK分組。
  • 為了讓接收方能夠判斷所收到的資料分組是否是重複的,需要給資料分組編号。由于停止-等待協定的停等特性,隻需1個比特編号就夠了,即編号0和1。
  • 為了讓發送方能夠判斷所收到的ACK分組是否是重複的,需要給ACK分組編号,所用比特數量與資料分組編号所用的比特數量一樣,資料鍊路層一般不會出現ACK分組遲到的情況,是以在資料鍊路成實作停止-等待協定可以不用給ACK分組編号。
  • 超級計時器設定的重傳時間應仔細選擇。一般可将重傳時間選為略大于"從發送方到接收方的平均往返時間"。
  • 在資料鍊路層點對點的往返時間比較确定,重傳時間比較好設定。
  • 然而在運輸層,由于端到端往返時間非常不确定,設定合适的重傳時間有時并不容易。

信道使用率

【計算機網絡】計算機網絡基礎知識筆記
  • 放往返時延RTT遠大于資料幀發送時延TD時(例如使用衛星鍊路),信道使用率非常低。
  • 若出現重傳,則對于傳送有用的資料資訊來說,信道使用率還要降低。
  • 為了克服停止-等待協定信道使用率很低的缺點,就産生了另外兩種協定,即後退N幀協定GBN和選擇重傳協定SR。
  • 像停止等待協定這種通過确認和重傳機制實作的可靠傳輸協定,常稱為自動請求重傳協定ARQ,意思是重傳的請求時自動進行的。因為不需要接收方顯式地請求發送方重傳某個出錯的分組。

回退N幀協定GBN

【計算機網絡】計算機網絡基礎知識筆記
  • 回退N幀協定在流水線傳輸的基礎上利用發送視窗來限制發送方連續發送資料分組的數量,是一種連續ARQ協定。
  • 在協定的工作過程中發送視窗和接收視窗不斷向前滑動,是以這類協定又稱為滑動視窗協定。
  • 由于回退N幀協定的特性,當通信線路品質不好時,其信道使用率并不比停止-等待協定高。

選擇重傳協定

【計算機網絡】計算機網絡基礎知識筆記

點對點協定PPP

  • 點對點協定PPP(Point-to-Protocol)是目前使用最廣泛的點對點資料鍊路層協定。
  • PPP協定為在點對點鍊路傳輸各種協定資料報提供了一個标準方法,主要由一下三部分構成:
  • 對各種協定資料報的封裝方法(封裝成幀)
  • 鍊路控制協定LCP,用于建立、配置以及測試資料鍊路的連接配接
  • 一套網絡控制協定NCPs,其中的每一個協定支援不同的網絡協定層
【計算機網絡】計算機網絡基礎知識筆記

幀格式

【計算機網絡】計算機網絡基礎知識筆記

透明傳輸

面向位元組的異步鍊路采用插入轉義字元的位元組填充法

【計算機網絡】計算機網絡基礎知識筆記
  • 發送方的處理:
  • 出現的每一個7E(PPP幀的定界符)位元組轉變成2位元組序列(7D,5E)。
  • 出現的每一個7D(轉義字元)變成2個位元組序列(7D,5D)。
  • 出現的一個ASCII碼控制字元(數值小于0x20的字元),則在該字元前面插入一個7D位元組,同時将該字元的編碼加上0x20。

**接收方的處理:**進行反變換即可恢複出原來的幀的資料部分。

面向比特的同步鍊路采用插入比特0的比特填充法。

【計算機網絡】計算機網絡基礎知識筆記

發送方的處理:

  • 對幀的資料部分進行掃描(一般由硬體實作)。隻要發現5個連續的比特1,則立即填充1個比特0。

接收方的處理:

  • 對幀的資料部分進行掃描(一般由硬體實作)。隻要發現5個連續的比特1,就把其後的1個比特0删除。

差錯檢測

【計算機網絡】計算機網絡基礎知識筆記

接收方每收到一個PPP幀,就進行CRC檢驗。若CRC檢驗正确,就收下這個幀;反之,就丢棄這個幀。使用PPP的資料連路程向上不提供可靠傳輸服務。

工作狀态

【計算機網絡】計算機網絡基礎知識筆記

媒體接入控制

基本概念

  • 共享信道要着重考慮的一個問題就是如何協調多個發送和接受站點對 一個共享傳輸媒體的占用,即 媒體介入控制MAC。
【計算機網絡】計算機網絡基礎知識筆記

随着技術的發展,交換技術的成熟和成本的降低,具有更高性能的點對點鍊路和鍊路層交換機的交換式區域網路在有線領域已經完全取代了共享式區域網路,但由于無線信道的廣播天性,無限區域網路仍然使用的是共享媒體技術。

靜态劃分信道

信道複用

  • 複用(Multiplexing)是通信技術中的一個重要概念。複用就是通過一條實體線路同時傳輸多路使用者的信号。
  • 當網絡中傳輸媒體的傳輸容量大于多條單一信道傳輸的總通信量時,可利用複用技術在一條實體線路上建立多條通信信道充分利用傳輸媒體的帶寬。
【計算機網絡】計算機網絡基礎知識筆記

常見的幾種信道複用技術

  • 頻分複用FDM

頻分複用的所有使用者同時占用不同的頻帶資源并行通信。

  • 時分複用TDM
  • 波分複用WDM
  • 碼分複用CDM

複用和多址

  • 複用是将單一媒體的頻帶資源劃分為很多子信道,這些子信道之間互相獨立,互不幹擾。從媒體的整體頻帶資源上看,每個子信道隻占用該媒體頻帶資源的一部分。
  • 多址( 更确切說應該稱為多點接入)處理的是動态配置設定信道給使用者。這在使用者僅僅暫時性地占用信道的應用中是必須的,而所有的移動通信系統基本上都屬于這種情況。相反,在信道用酒地配置設定給使用者的應用中,多址是不需要的(對于無線廣播或電視廣播站就是這樣)。
  • 某種程度上,FDMA、TDMA、CDMA可以分别看成是FDM、TDM、CDM的應用。

動态接入控制——随機接入

【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

CSMA/CD協定——争用期(碰撞視窗)

CSMA/CD——總線區域網路使用的協定

【計算機網絡】計算機網絡基礎知識筆記

CSMA/CD協定——最小幀長

【計算機網絡】計算機網絡基礎知識筆記
  • 以太網規定最小幀長為64位元組,即521比特(512比特時間為争用期);
  • 如果要發送的資料非常少,那麼必須加入一些填充位元組,使幀長不小于64位元組。
  • 以太網的最小幀長確定了主機可在幀發送完成之前就檢測到該幀的發送過程中是否遭遇了碰撞。
  • 如果在争用期(共發送64位元組)沒有檢測到碰撞,那麼後續發送的資料就一定不會發生碰撞。
  • 如果在争用期内檢測到碰撞,就立即終止發送,這時已經發送出去的資料一定小于64位元組,是以凡長度小于64位元組的幀都是由于碰撞而異常中止的無效幀。

CSMA/CD協定——最大幀長

【計算機網絡】計算機網絡基礎知識筆記

CSMA/CD協定——截斷二進制指數退避算法

【計算機網絡】計算機網絡基礎知識筆記
  • 若連續多次發生碰撞,就表明可能有較多的主機參與競争信道。但使用上述退避算法可使重傳需要推遲的平均時間随重傳次數而增大(這也稱為動态退避),因而減小發生碰撞的機率,有利于整個系統的穩定。
  • 當重傳達16次仍不能成功時,表明同時打算發送幀的主機太多,以至于連續發生碰撞,則丢棄該幀,并向高層報告。

CSMA/CA——信道使用率

【計算機網絡】計算機網絡基礎知識筆記

CSMA/CD協定——幀發送流程

【計算機網絡】計算機網絡基礎知識筆記

CSMA/CD協定——幀接收流程

【計算機網絡】計算機網絡基礎知識筆記

動态接入控制——随機接入

無線區域網路使用的協定——CSMA/CA

【計算機網絡】計算機網絡基礎知識筆記
  • 802.11無線區域網路使用CSMA/CA協定,在CSMA的基礎上增加了一個碰撞避免CA功能。
  • 由于不可能避免所有的碰撞,并且無線信道誤碼率較高,802.11标準還使用了資料鍊路層确認機制(停止-等待協定)來保證資料被正确接收。
  • 802.11的MAC層标準定義了兩種不用的媒體接入控制方式:
【計算機網絡】計算機網絡基礎知識筆記

幀間間隔IFS

【計算機網絡】計算機網絡基礎知識筆記

CSMA/CA協定的工作原理

【計算機網絡】計算機網絡基礎知識筆記
  • 當站點檢測到信道是空閑的,并且所發送的資料幀不是成功發送完上一個資料幀之後立即連續發送的資料幀,則不使用退避算法。
  • 以下情況必須使用退避算法
  • 在發送資料幀之後檢測到信道處于忙狀态時;
  • 在每一次重傳一個資料幀時;
  • 在每一次成功發送後要連續發送下一個幀時(這是為了避免一個站點長時間占用信道。)

CSMA/CA協定的退避算法

【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

CSMA/CA協定的信道預約和虛拟載波監聽

【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

集線器與交換機的差別

【計算機網絡】計算機網絡基礎知識筆記
  • 使用集線器的以太網在邏輯上扔是一個總線網,各站共享總線資源,使用的還是CSMA/CD協定;
  • 集線器隻工作在實體層,它的每個接口僅簡單地轉發比特,不進行碰撞檢測(由各站的網卡進行檢測);
  • 集線器一般都有少量的容錯能力和 網絡管理功能。例如:若網絡中某個網卡出現了故障, 不停的發送幀。此時,集線器可以檢測到這個問題,在内部斷開與出故障網卡的連線,使整個以太網仍然可以正常工作。

使用集線器HUB在實體層擴充以太網

  • 以太網交換機
【計算機網絡】計算機網絡基礎知識筆記
  • 以太網交換機通常都有多個接口。每個接口都可以直接與一台主機或另一個以太網交換機相連。一般都工作在全雙工方式。
  • 以太網交換機具有并行性,能同時連通多對接口,使多對主機能同時通信,無碰撞(不使用CSMA/CD協定)。
  • 以太網交換機一般都具有多種速率的接口 ,例如:10mb/s、100mb/s、1Gb/s、10Gb/s接口的多種組合。
  • 以太網交換機工作在資料鍊路層(也包括實體層),它收到幀後,在幀交換表中查找幀的目的MAC位址所對應的接口号,然後通過該接口轉發幀。
  • 以太網交換機是一種即插即用裝置,其内部的幀交換變是通過自學習算法自動地逐漸建立起來的。、
  • 幀的兩種轉發方式:
  1. 存儲轉發
  2. 直通交換:采用基于硬體的交叉矩陣(交換時延非常小,但不檢查幀是否有差錯)。
  • 交換機可以隔離碰撞域
【計算機網絡】計算機網絡基礎知識筆記
  • 對比
【計算機網絡】計算機網絡基礎知識筆記

以太網交換機自學習和轉發幀的流程

  • 交換機工作在資料鍊路層(也包括實體層)
  • 以太網交換機收到幀後,在幀交換表中查找幀的目的AMC位址所對應的接口号,然後通過該接口轉發幀。
  • 以太網交換機是一種即插即用的裝置,剛上電啟動時其内部的幀交換表是空的。随着網絡中各主機間的通信,以太網交換機通過自學習算法自動主鍵建立起幀交換表。
【計算機網絡】計算機網絡基礎知識筆記
  • 每條記錄的都有自己的有效時間,到期自動删除,這是因為MAC位址交換機接口的對應關系不是永久性的。

以太網交換機的生成樹協定STP

  • 如何提高以太網的可靠性?
  • 添加備援鍊路可以提高以太網的可靠性,同時也會帶來負面效應——形成網絡環路。
  • 網絡環路會帶來以下問題
  • 廣播風暴——會大量消耗網絡資源,使得網絡無法正常轉發其他資料幀;主機收到重複的廣播幀,大量消耗主機資源;交換機的幀交換表震蕩(漂移)。
  • 以太網交換機使用生成樹協定STP可以在增加備援鍊路來提高網路可靠性的同時又避免網絡環路帶來的各種問題。
  • 不論交換機之間采用怎樣的實體連接配接,交換機都能自動計算并建構一個邏輯上沒有環路的網絡,其邏輯拓撲結構必須是樹型的(無邏輯環路);
  • 最終生成的樹型邏輯拓撲要確定連通整個網絡;
  • 當首次連結交換機或網絡實體拓撲發生變化時(有可能是認為改變或故障),交換機都将進行生成樹的重新計算。

虛拟區域網路VLAN概述

  • 以太網交換機工作在資料鍊路層(也包括實體層)
  • 使用一個或多個以太網交換機互連起來的交換機以台網,其所有站點都屬于同一個廣播域。
  • 随着交換式以太網規模的擴大,廣播域相應擴大。
  • 巨大的廣播域會帶來很多弊端
  • 廣播風暴
  • 難以管理和維護
  • 潛在的安全問題

廣播風暴會浪費網絡資源和各主機的CPU資源。

  • 網絡中會頻繁使用廣播資訊
  • TCP/IP協定棧中的很多協定都會使用廣播
  • 位址解析協定ARP(已知IP位址,找出其相應的MAC位址)
  • 路由資訊協定RIP(一種小型的内部路由協定)
  • 動态主機配置協定DHCP( 用于自動配置IP位址)
  • 分割廣播域的方法
  • 使用路由器可以分割廣播域
  • 因為路由器預設情況下不對廣播資料包進行轉發,是以路由器很自然的就可以隔絕廣播域,但是成本比較高,在這種情況下,虛拟區域網路孕育而生。
  • 虛拟區域網路VLAN(Virtual Local Area Network)是一種将區域網路内的裝置劃分成與實體層位置無關的邏輯組的技術,這些邏輯組具有某些共同的需求。
【計算機網絡】計算機網絡基礎知識筆記

也就是說同一個VLAN中可以廣播通信,不用 VLAN之間不能廣播通信。

虛拟區域網路VLAN的實作機制

【計算機網絡】計算機網絡基礎知識筆記
  • 交換機的端口類型有以下三種
  • Access
  • Trunk
  • Hybrid
  • 交換機各端口的預設VLAN ID
  • 在思科交換機上稱為Native VLAN,即本征VLAN。
  • 在華為交換機上稱為Port VLAN ID,即端口VLAN ID,簡稱PVID。
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

MAC位址、IP位址以及ARP協定

  • MAC位址是以太網的MAC子層所使用的位址;(資料鍊路層)
  • IP位址是TCP/IP體系結構網際層所使用的位址;(網際層)
  • ARP協定屬于TCP/IP體系結構的網際層,其作用是已知裝置所配置設定到的IP位址,使用ARP協定可以通過該IP位址所擷取到裝置的MAC位址;(網際層)
  • 盡管IP位址和ARP協定屬于TCP/IP體系結構的網際層(而不屬于資料鍊路層),但是它們與MAC位址存在一定的關系,并且我們日常的網絡應用都離不開MAC位址 、IP位址以及ARP協定。是以我們将這三者放在一起讨論。

MAC位址

使用點對點信道的資料鍊路層不需要使用位址。

  • 當多個主機連接配接在同一個廣播信道上,要想實作兩個主機之間的通信,則每個主機都必須有一個唯一的辨別,即一個資料鍊路層位址;
  • 在每個主機發送的幀中必須攜帶辨別發送主機和接收主機的位址。由于這類位址是用于媒體接入控制MAC(Media Access Control),是以這類位址被稱為MAC位址。
  • MAC位址一般是被固化在網卡(網絡擴充卡)的電可擦可程式設計隻讀存儲器EEPROM中,是以MAC位址也被稱為硬體位址;
  • MAC位址有時也被稱為實體位址。請注意:這并不意味着MAC位址屬于網絡體系結構中的實體層。 (屬于資料鍊路層。)
  • 一般情況下,使用者主機會包含兩個網絡擴充卡:有線區域網路擴充卡(有線網卡)和無線區域網路擴充卡(無線網卡),每個網絡擴充卡都有一個全球唯一的MAC位址。而交換機和路由器往往擁有更多的網絡接口,是以會擁有更多的MAC位址。綜上所述,嚴格來說,MAC位址是對網絡上各接口的唯一辨別,而不是對網絡上各個裝置的唯一辨別。

IEEE 802區域網路的MAC位址格式

【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

IEE 802區域網路的MAC位址發送順序

【計算機網絡】計算機網絡基礎知識筆記

位元組發送順序: 第一位元組——》第六位元組

位元組内的比特發送順序: b0——》b7

單點傳播MAC位址舉例

【計算機網絡】計算機網絡基礎知識筆記

廣播MAC位址舉例

判斷位址是否是多點傳播位址

【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

随機MAC位址

略…

IP位址

IP位址屬于網絡層的範疇。

  • IP位址是網際網路(Internet)上的主機和路由器所使用的位址,用于辨別兩部分資訊:
  • 網絡編号:辨別網際網路上數以百萬計的網絡
  • 主機編号:辨別同一網絡上不同主機(或路由器各接口)

從網絡體系結構看IP位址與MAC位址

【計算機網絡】計算機網絡基礎知識筆記

上層無需看懂上一層的資料結構和内容,隻需要添加首部相關資訊即可,然後繼續傳遞給下一層。

資料包轉發過程中IP位址與MAC位址的變化情況

(可以想象成對應層進行水準通信)

【計算機網絡】計算機網絡基礎知識筆記
  • 資料包轉發過程中源IP位址和目的IP位址保持不變;
  • 資料包轉發過程中源MAC位址和目的MAC位址逐個鍊路(或逐個網絡)改變;

ARP協定

不能跨網路使用。

通過ARP協定來通過IP位址找到對應的MAC位址。

網絡層

  • 網絡層的主要任務是實作網絡互連,進而實作資料包在各網絡之間的傳輸。
  • 要實作網絡層任務,需要解決以下主要問題:
  • 網絡層向運輸層提供怎樣的服務(“可靠傳輸"還是"不可靠傳輸”)
  • 網絡層尋址問題
  • 路由選擇問題
  • 網際網路(Internet)是目前全世界使用者數量最多的網際網路,它使用TCP/IP協定棧。
  • 由于TCP/IP協定棧中的網絡層使用網際協定IP,它是整個協定棧的核心協定,是以在TCP/IP協定棧中網絡層常稱為網際層。
【計算機網絡】計算機網絡基礎知識筆記
  • 綜上所述 ,我們通過學習TCP/IP協定棧的網際層來學習網絡層的理論知識和實踐技術。

網絡層提供的兩種服務

面向連接配接的虛電路服務

  • 可靠通信由網絡來保證
  • 必須建立網絡層的連接配接——虛電路VC(Virtual Circuit)
  • 通信雙方沿着已建立的虛電路發送分組
【計算機網絡】計算機網絡基礎知識筆記
  • 目的主機的位址僅在連接配接建立階段使用,之後每個分組的首部隻需要攜帶一條虛電路的編号(構成虛電路的每一段電路都有一個虛電路編号)。
  • 這種通信方式如果再使用可靠傳輸協定的網絡協定,就可使所發送的分組最終正确到達接收方(無差錯按序到到達、不丢失、不重複)。
  • 通訊結束之後,需要釋放之前所建立的虛電路。
  • 很多廣域分組交換網都使用面向無連接配接的虛電路服務。例如,曾經的X.25和逐漸過時的幀中繼FR,異步傳輸模式ATM等。

無連接配接的資料報服務

  • 可靠通信應由使用者主機來保證
  • 不需要建立網絡層連結
  • 每個分組可走不同的路徑
  • 每個分組的首部必須攜帶目的主機的完整位址
  • 這種通信方式所傳送的分組可能誤碼、丢失、重複和失序。
  • 由于網絡本身 不提供端到端的可靠傳輸服務,這就使網絡中的路由器可以做得比較簡單,而且價格低廉(與電信網的交換機相比較)。
  • 網際網路采用了這種設計思想,也就是将複雜的網絡處理功能置于網際網路的邊緣(使用者主機和其内部的運輸層),而将相對簡單的盡最大努力的分組交換功能置于網際網路核心。、
  • 采用這種設計思想的好處是,網絡的造假大大降低,運作方式靈活,能夠适應多種應用。
【計算機網絡】計算機網絡基礎知識筆記

由于TCP/IP體系結構的網際網路的網際層提供的是簡單靈活、無連接配接的、盡最大努力傳遞的資料報服務,是以本章主要圍繞網際層如何傳送IP資料報這個主題進行讨論。

IPv4位址概述

  • IPv4位址就是給網際網路上的每一台主機(或路由器)的每一個接口配置設定一個在全世界範圍内是唯一的32比特的辨別符。
  • IP位址由網際網路名字和數字配置設定機構ICANN進行配置設定
  • 我國使用者可向亞太網絡資訊中西APNIC申請IP位址,需要繳費,且一般不接受個人申請。
  • IPv4位址的編址方法經曆了如下三個曆史階段:
【計算機網絡】計算機網絡基礎知識筆記
  • 32比特的IPv4位址采用點分十進制表示方法以友善使用者使用。
【計算機網絡】計算機網絡基礎知識筆記

分類編址的IPv4位址

【計算機網絡】計算機網絡基礎知識筆記

A類位址

【計算機網絡】計算機網絡基礎知識筆記

B類位址

【計算機網絡】計算機網絡基礎知識筆記

C類位址

【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

劃分子網的IPv4位址

  • 為新增網絡申請新的網絡号會帶來以下弊端
  • 等待需要時間和花費更多的費用
  • 會浪費其他路由器中路由表記錄的資料
  • 浪費原有網絡中剩餘的大量IP位址

解決辦法:

  • 從主機号部分借用一部分作為子網号
  • 32 比特的子網路遮罩可以表明分類IP位址的主機号部分被借用了幾個比特作為子網号。
  • 子網路遮罩使用連續的比特1來對應網絡号和子網号
  • 子網路遮罩使用連續的比特0來對應主機号
  • 将劃分子網的IPv4位址與其相應的子網路遮罩進行邏輯與運算就可以得到IPv4位址所在子網的網絡位址
  • 預設的子網路遮罩是指在未劃分子網的情況下使用的子網路遮罩
【計算機網絡】計算機網絡基礎知識筆記

無分類編址的IPv4位址

  • 劃分子網在一定程度上緩解了網際網路在發展中遇到的困難,但是數量巨大的C類網因為其位址空間太小并沒有得到充分使用,而網際網路的IP位址仍在加速消耗,整個IPv4位址空間面臨全部消耗的威脅。
  • 為此,引網際網路工程任務組IETF又提出了采用無分類編址的方法來解決IP位址緊張的問題,同時還專門成立IPv6工作組負責研究新版本IP工作組負責研究新版本IP以徹底解決IP位址耗盡問題。
  • 1993年,IETF釋出了五分類域間路由器選擇CIDR的RFC文檔,RFC 1517 ~ 1519和1520。
  • CIDR消除了傳統的A類、B類和C類位址,以及劃分子網的概念
  • CIDR可以更加有效的配置設定IPv4的位址空間,并且可以在新的IPv6使用之前允許網際網路的規模繼續增長。
  • CIDR使用“斜線記法”,或稱為CIDR記法。 即在IPv4位址後面加上斜線“/”,在斜線後面寫上網絡字首所占的比特數量。
【計算機網絡】計算機網絡基礎知識筆記
  • CIDR實際上是将網絡字首都相同的連續IP位址組成一個"CIDR位址塊"。
  • 我們隻要知道CIDR位址塊中的任何一個位址,就可以知道該位址塊的全部細節;
  • 位址塊的最小位址
  • 位址塊的最大位址
  • 位址塊中的位址數量
  • 位址塊聚合某類網絡(A 類、B類或C類)的數量
  • 位址掩碼(也可繼續稱為子網路遮罩)
【計算機網絡】計算機網絡基礎知識筆記

IPv4位址的應用規劃

定長的子網路遮罩LFSM

  • 使用同一子網路遮罩來劃分子網
  • 每個子網所配置設定的IP位址數量相同,造成IP位址的浪費
  • 子網劃分方式不靈活,隻能劃分出2的n次方個子網(n是從主機号部分借用的用來作為子網号的比特數量)

變長的子網路遮罩VLSM

  • 使用不同的子網路遮罩來劃分子網
  • 每個子網所配置設定的IP位址數量可以不同,盡可能減少對IP位址的浪費
  • 子網劃分方式靈活,可以按需配置設定。

IP資料報的發送和轉發過程

  • IP資料報的發送和轉發過程包含以下兩個部分
  • 主機發送IP資料報
  • 路由器轉發IP資料報

主機發送IP資料報

  • 判斷目的主機是否與自己在同一網絡
  • 若在同一個網絡,則屬于直接傳遞
  • 若不在同一個網絡,則屬于間接傳遞,傳輸給主機所在網絡的預設網關(路由器),由預設網關幫忙轉發。

路由器轉發IP資料報

  1. 檢查IP資料報首部是否出錯
  • 若出錯,則直接丢棄該IP資料報并通報源主機;
  • 若沒有出錯,則進行轉發。
  1. 根據IP資料報的目的位址在路由表中查找比對的條目
  • 若找到比對條目,則轉發給條目中知識的下一跳;
  • 若找不到,則丢棄該IP資料報并通告源主機。

靜态路由配置及其可能産生的路由環路問題

  • 靜态路由配置是指使用者或網絡管理者使用路由器的相關指令給路由器人工配置路由表。
  • 這種人工配置方式簡單、開銷小。但不能及時适應網絡狀态(流量、拓撲等)的變化。
  • 一般隻在小規模網絡中可采用。
  • 使用靜态路由配置可能出現一下情況導緻産生路由環路的錯誤
  • 配置錯誤
  • 聚合了不存在的網絡
  • 網絡故障
  • 路由條目的類型
  • 直連網絡
  • 靜态路由(人工配置)
  • 動态路由(路由選擇協定)
  • 特殊的靜态路由條目
  • 預設路由(目的網絡為0,0,0,0,位址掩碼為0,0,0,0)
  • 特定主機路由(目的網絡為特定主機的IP位址,位址掩碼為255,255,255,255)
  • 黑洞路由(下一條為null0)

路由選擇協定概述

  • 靜态路由選擇
  • 由人工配置的網絡路由、預設路由、特定主機路由、黑洞路由等都屬于靜态路由。
  • 這種人工配置方式簡單、開銷小。但不能即使适應網絡狀态(流量、拓撲等)的變化。
  • 一般隻在小規模網絡中采用。
  • 動态路由選擇
  • 路由器通過選協定自動擷取路由資訊。
  • 比較複雜、開銷比較大。
  • 适用于大規模網絡。
  • 網際網路所采用的路由選擇協定主要特點
  • 自适應:動态路由選擇,能較好地适應網絡狀态的變化。
  • 分布式:路由器之間交換路由資訊。
  • 分層次:将整個網際網路劃分為許多較小的自治系統AS(Autonomous System)
  • 常見的路由選擇協定
【計算機網絡】計算機網絡基礎知識筆記
  • 路由器的基本結構
【計算機網絡】計算機網絡基礎知識筆記

路由資訊協定RIP的基本工作原理

  • 路由資訊協定RIP是内部網關協定IGP中最先得到廣泛使用的協定之一,其相關标準文檔為RFC 1058。
  • RIP要求自治系統AS内的每一個路由器都要維護從它自己到AS内其它每一個網絡的距離記錄。這是一組距離,稱為"距離向量D-V"。
  • RIP使用跳數(Hop Count)作為度量(Metric)來衡量到達目的網絡的距離。
  • 路由器到直連網絡的距離定義為1。
  • 路由器到非直連網絡的距離定義為所經過的路由器數加1。
  • 允許一條路徑最多隻能包含15個路由器。"距離"等于16時相當于不可達。是以,RIP隻适用于小型網際網路。
  • RIP認為好的路由就是"距離短"的路由,也就是所通過路由器數量最少的路由。
  • 當到達同一目的網絡有多條"距離相等"的路由時,可以進行等價負載均衡。
  • RIP包含以下三個要點:
  • 和誰交換資訊,僅和相鄰路由器交換資訊
  • 交換什麼資訊,自己的路由表
  • 何時交換資訊,周期性交換(例如每30秒)
  • RIP存在"壞消息傳播 "的問題。
  • "壞消息傳播得慢"又稱為路由環路或距離無窮計數問題,這是距離向量算法的一個固有問題。可以采取多種措施減少出現該問題的機率或減小該問題帶來的危害。
  • 限制最大路徑距離為15(16表示不可達)
  • 當路由表發生變化時就立即發送更新封包(即"觸發更新"),而不僅是周期性發送。
  • 讓路由器記錄收到某特定路由資訊的接口,而不讓同一路由資訊再通過此接口向反方向傳送(即"水準分割")

開放最短路徑優先OSPF的基本工作原理

  • 開放最短路徑優先OSPF,是為了客服RIP的缺點在1989年開發出來的。
  • "開放"表明OSPF協定不是受某一家廠商控制,而是公開發表的。
  • "最短路徑優先"是因為使用了Dijkstra提出的最短路徑算法SPF。
  • OSPF是基于鍊路狀态的,而不像RIP那樣是基于距離向量的。
  • OSPF采用SPF算法計算路由,從算法上保證了不會産生路由環路。
  • OSPF不限制網絡規模,更新效率高,收斂速度快。
  • 鍊路狀态是指本路由器都和哪些路由器相鄰,以及相應鍊路的"代價"(cost)。
  • "代價"用來表示費用、距離、時延、帶寬、等等。這些都由網絡管理人員來決定。
  • OSPF相鄰路由器之間通過互動問候(Hello)分組,建立和維護鄰居關系。
  • Hello分組封裝在IP資料報中,發往組廣播位址224.0.0.5。
  • 發送周期為10秒。
  • 40秒未收到來自鄰居路由器的Hello分組,則認為該鄰居路由器不可達。
  • 使用OFS的每個路由器都會産生鍊路狀态通告LSA,LAS中包含了以下内容:
  • 直連網絡的鍊路狀态資訊
  • 鄰居路由器的鍊路狀态資訊
  • LSA被封裝在鍊路狀态更新分組LSU中,采用洪泛法發送。
  • 使用OSPF的每個路由器都有一個鍊路狀态資料路LSDB,用于從存儲LSA。
  • 通過各路由器洪泛法送封裝有自己LSA的LSU分組,各路由器的LSDB最終将達到一緻。
  • 使用OSPF的各路由器基于LSDB進行最短路徑優先SPF計算,建構出各自到達其他各路由器的最短路徑,即建構各自的路由表。
  • OSPF有以下五種分組類型。
【計算機網絡】計算機網絡基礎知識筆記
  • OSPF的基本工作過程
【計算機網絡】計算機網絡基礎知識筆記
  • OSPF在多點接入網絡中路由器鄰居關系的建立
  • 選舉指定路由器DR和備用的指定路由器BDR
  • 所有的非DR/BDR隻與DR/BDR建立鄰居關系表
  • 非DR/BDR之間通過DR/BDR交換資訊
  • 為了使OSPF能夠用于規模很大的網絡,OSPF把一個自治系統再劃分為若幹個更小的範圍,叫做區域。
【計算機網絡】計算機網絡基礎知識筆記

邊際網關協定BGP的基本工作 原理

  • 網際網路采用分層次的路由選擇協定
【計算機網絡】計算機網絡基礎知識筆記
  • 内部網關協定IGP(例如路由資訊協定RIP或開放最短路徑優先OSPF)
  • 設法使分組在一個自治系統内盡可能有效地從開源網絡傳輸到目的網絡
  • 無需考慮自治系統外部其他方面的政策
  • 外部網關協定EGP(例如邊界網關協定BGP)
  • 在不同的自治系統内,度量路由的"代價"(距離,帶寬,費用等)可能不同。是以,對于自治系統之間的路由選擇,使用"代價"作為度量來尋找最佳路由是不行的。
  • 自治系統之間的路由選擇必須考慮相關政策(政治,經濟,安全等)
  • 在配置BGP時,每個自治系統的管理者要選擇至少一個路由器作為該自治系統的"BGP發言人"。
  • 在此TCP連接配接上交換BGP封包以建立BGP會話。
  • 利用BGP會話交換路由資訊(例如,增加新的路由,或撤銷過時的路由,以及報告出錯的情況。)
  • 使用TCP連接配接交換路由資訊的兩個BGP發言人,彼此稱為對方的鄰站或對等站。
  • BGP發言人除了運作BGP之外,還必須運作自己所在自治系統所使用的内部網關協定IGP,例如OSPF或RIP。
  • BGP發言人交換網絡可達性的資訊(要到達某個網絡所要經過的一些系列自治系統)
  • 當BGP發言人互相交換了網絡可達的資訊後,各BGP發言人就根據所采用的政策從收到的路由器資訊中找出到達各自自治系統的較好的路由。也就是構造出樹型結構、不存在回路的自治系統連通圖。
  • BGP适用于多級結構的網際網路
【計算機網絡】計算機網絡基礎知識筆記
  • BGP-4有以下四種封包
  • OPEN(打開)封包:用來與相鄰的另一個BGP發言人建立關系,使通信初始化。
  • UPDATE(更新封包):用來通告某一路由的資訊,以列出要撤出的多條路由。
  • KEEPALIVE(保活)封包:用來周期性地證明鄰站的連通性。
  • NOTIFICATION(通知)封包:用來發送檢測到的差錯。

IPv4資料報的首部格式

【計算機網絡】計算機網絡基礎知識筆記
  • 版本

占4比特,表示IP協定的版本。

通信雙方使用的IP協定的版本必須一緻。目前廣泛使用的IP協定版本号為4(即IPv4)。

  • 首部長度

占4個比特,表示IP資料報首部的長度。該字段的取值以4位元組為機關。

最小十進制取值為5,表示IP資料報首部隻有20位元組固定部分。

最大十進制取值為15,表示IP資料報首部包含20位元組固定部分和最大40位元組可變部分。

  • 可選字段

長度從1位元組到40個位元組不等。用來支援排錯、測量及安全等措施。

可選字段增加了IP資料報的功能,但這同時也使得IP資料報的首部長度成為可變的。這就增加了每一個路由器處理IP資料報的開銷。實際上可選字段很少被使用。

  • 填充字段

確定首部長度為4位元組的整數倍。使用全0填充。

  • 區分服務

占8比特,用來獲得更好的服務。

該字段在舊标準中叫作服務類型,但實際上一直沒有被使用過。

1998年,網際網路工程任務組IETF把這個字段改名為區分服務。

利用該字段的不同數值可提供不同等級的服務品質。

隻有在使用區分服務時,該字段才起作用。一般情況下都不使用該字段。

  • 總長度

占16比特,表示IP資料報的總長度(首部+資料載荷)。

最大取值為十進制的65535,以位元組為機關。

  • 辨別

占16比特,屬于同一個資料報的各分片資料報應該具有相同的辨別。

IP軟體維持一個計數器,每産生一個資料報,計數器值加1,并将此值賦給辨別字段。

與下面兩個字段共同用于IP資料報分片。

  • 标志

占3個比特, 各比特含義如下:

DF位:1表示不允許分片,0表示允許分片

MF位:1表示"後面還有分片",0表示"這是最後一個分片"

  • 片偏移

占13個比特,指出分片資料報的資料載荷部分偏移其在原資料報的位置有多少個機關。

片偏移以8個位元組為機關。

  • 生存周期TT

占8比特,最初以秒為機關,最大生存周期為255秒;路由器轉發IP資料報時,将IP資料報首部中的該字段的值減去IP資料報在本路由器上所耗費的時間,若不為0就轉發,否則就丢棄。

現在以“跳數”為機關,路由器轉發IP資料報時,将IP資料報首部中的該字段的值減1,若不為0就轉發,否則就丢棄。

  • 協定

占8比特,指明IPv4資料報的資料部分是何種協定資料單元。

常用的一些協定和相應協定字段值如下。

【計算機網絡】計算機網絡基礎知識筆記

例如:

【計算機網絡】計算機網絡基礎知識筆記
  • 首部檢驗和

占16比特,用來檢測首部在傳輸過程中是否出現差錯。比CRC檢驗碼簡單,稱為網際網路檢驗和。

IP資料報每經過一個路由器,路由器都要重新計算首部檢驗和,因為某些字段(生存時間、标志、片偏移等)的取值可能發生變化。

由于IP層本身并不提供可靠傳輸的服務,并且計算首部校驗和是一項耗時的操作,是以在IPv6中,路由器不再計算首部校驗和,進而更快轉發IP資料報。

  • 源IP位址和目的IP位址

各占32比特,用來填寫發送該IP資料報的源主機的IP位址和接收該IP資料報的目的主機的IP位址。

網際控制封包協定ICMP

  • 為了更有效地轉發IP資料報和提高傳遞成功的機會,在網際層使用了網際控制封包協定ICMP(Internet Control Message Protocol)。
  • 主機或路由器使用ICMP來發送差錯報告封包和詢問的封包。
  • ICMP封包被封裝在IP資料報中發送。
  • ICMP差錯報告封包共有以下5種:
  • 終點不可達
  • 當路由器或主機不能傳遞資料報時,就向源點發送終點不可達封包。具體可再根據ICMP的代碼字段細分為目的網絡不可達、目的主機不可達、目的協定不可達、目的端口不可達、目的網絡未知、目的主機未知等13種錯誤。
  • 源點抑制
  • 當路由器或主機由于擁塞而丢棄資料報時,就向源點發送源點抑制封包,使源點知道應當把資料報的發送速率放慢。
  • 時間超過
  • 當路由器收到一個目的IP位址不是自己的IP資料報,會将其生存時間TTL字段的值減1。若結構不為0,則将該IP資料報轉發出去;若結果為0,除丢棄該IP資料報外,還要向源點發送時間超過封包。
  • 另外,當終點在預先規定的時間内不能收到一個資料報的全部報片時,就把已收到的資料報片都丢棄,也會向源點發送時間超過封包。
  • 參數問題
  • 當路由器或目的主機收到IP資料報後,根據其首部中的檢驗和字段發現首部在傳輸過程中出現了誤碼,就丢棄該資料報,并向源點發送參數問題封包。
  • 改變路由(重定向)
  • 路由器把改變路由封包發送給主機,讓主機知道下次應将資料報發送給另外的路由器(可通過更改好的路由)。
  • 以下情況不應發送ICMP差錯報告封包:
  • 對ICMP差錯報告不再發送ICMP差錯報告封包
  • 對第一個分片的資料資料報片的所有後序資料報片都不發送ICMP差錯報告封包
  • 對具有多點傳播位址的資料報都不發送ICMP差錯報告封包
  • 對具有特殊位址(如127.0.0.0或0.0.0.0)的資料報不發送ICMP差錯報告
  • 常見的ICMP詢問封包有以下兩種:
  • 回送請求和回答:ICMP回送請求封包是由主機或路由器向一個特定的目的主機發出的詢問。收到此封包的主機必須給源主機或路由器發送ICMP回送回答封包。這種詢問封包用來測試目的站是否可達及了解其有關狀态。
  • 時間戳請求和回答:ICMP時間戳請求封包是請某個主機或路由器回答目前的日期和時間。在ICMP時間戳回答封包中有一個32位的字段,其中寫入的整數代表從1900年1月1日起到目前時刻一共有多少秒。這種詢問封包用來進行時鐘同步和測量時間。
  • ICMP應用舉例
  • 分組網間探測PING(Packet InterNet Groper)
  • 用來測試主機或路由器間的連通性
  • 應用層直接使用網際層的ICMP(沒有通過運輸層的TCP或UDP)
  • 使用ICMP回送請求和封包回答
  • 跟蹤路由(traceroute)
  • 用來測試IP資料報從源主機到達目的主機要經過哪些路由器
  • Windows版本
  • tracert指令
  • 應用層直接使用網際層ICMP
  • 使用了ICMP回送請求和回答封包以及差錯報告封包。
  • Unix版本
  • traceroute指令
  • 在運輸層使用UDP協定
  • 僅使用ICMP差錯報告封包

虛拟專用網VPN與網絡位址轉換NAT

  • 虛拟專用網VPN(Virtual Private Network)

利用公用的網際網路作為本機構各專用網之間的通信載體,這樣的專用網又稱虛拟專用網。由于IPv4位址的緊缺,一個機構能夠申請到的IPv4位址數量往往小于本機構所擁有的主機數量。是以,虛拟專用網中的各主機所配置設定的位址應該是本機構可自由配置設定的專用位址,而不是需要申請的、在網際網路上使用的公有位址。

如下圖所示,同一個機構内不同部門的内部網絡所構成的虛拟專用網VPN又稱為内聯網VPN。

有時一個機構的VPN需要有某些外部機構(通常就是合作夥伴)參加進來。這樣的VPN就稱為外聯網VPN。

在外地工作的員工需要通路公司内部的專用網絡時,隻要在任何地點接入到網際網路,運作駐留在員工PC中的VPN軟體,在員工的PC和公司的主機之間建立VPN隧道,即可通路專用網絡中的資源。這種VPN稱為遠端接入VPN。

【計算機網絡】計算機網絡基礎知識筆記
  • 網絡位址轉換NAT(Network Address Translation)

雖然網際網路采用了無分類編制方式來減緩IPv4位址空間耗盡的速度,但由于網際網路使用者數目的激增,特别是大量小型辦公室網絡和家庭網絡接入網際網路的需求不斷增加,IPv4位址空間即将面臨耗盡的危險仍然沒有被解除。

1994年提出了一種網絡位址轉換NAT的方法再次緩解了IPv4位址空間即将耗盡的問題。

NAT能使大量使用内部專用位址的專用網絡使用者共享少量外部全球位址來通路網際網路上的主機和資源。

由于絕大多數的網絡應用都是使用運輸層協定TCP或UDP來傳送資料,是以可以利用運輸層的端口号和IP位址一起進行轉換。

這樣,用一個全球IP位址就可以使多個擁有本地位址的主機同時和網際網路上的主機進行通信。這種将端口和IP位址一起進行轉換的技術叫做NAPT(Network Address and Port Translation)。

對于一些P2P網絡應用,需要外網主機主動與内網主機進行通信,在通過NAT時會遇到問題,需要網絡應用自己使用一些特殊的NAT穿越技術來解決問題。

另外,由于NAT對外網屏蔽了内網主機的網絡位址,能為内網主機提供一定的安全保護。

運輸層

  • 計算機網絡體系中的實體層、資料鍊路層以及網絡層它們共同解決了将主機通過異構網絡互聯起來所面臨的問題,實作了主機到主機的通信。
  • 但實際上在計算機網絡中進行通信的真正實體是位于通信兩端主機中的程序。
  • 如何為運作在不同主機上的應用程序提供直接的通信服務是運輸層的任務,運輸層協定又稱為端到端協定。

運輸層直接為應用程序間的邏輯通信提供服務。

運輸層向高層使用者屏蔽了下面網絡核心的細節(如網絡拓撲、所采用的路由選擇協定等),它使應用程序看見的就好像在兩個運輸層實體之間有一條端到端的邏輯通信信道。

根據應用需求的不同,網際網路的運輸層為應用層提供了兩種不同的運輸協定,即面向連接配接的TCP和面向無連接配接的UDP。

運輸層端口号、複用與分用的概念

  • 運作在計算機上的程序使用程序辨別符PID來标志。
  • 網際網路上的計算機并不是統一的作業系統,不同的作業系統又使用不同格式的程序辨別符。
  • 為了使運作不同作業系統的計算機的應用程序之間能夠進行網絡通信,就必須使用統一的方法對TCP/IP體系的應用程序之間進行辨別。
  • TCP/IP體系的運輸層使用端口号來區分應用層的不同應用程序。
  • 端口号使用16比特來表示,取值範圍0~65535
  • 熟知端口号:0~1023,IANA把這些端口号指派給了TCP/IP體系中最重要的一些應用協定,例如:FTP使用21/20,HTTP使用80,DNS使用53。
  • 登記端口号:1024~49151,為沒有熟知端口号的應用程式使用。使用這類端口号必須在IANA按照規定的手續登記,以防止重複。例如:Microsoft RDP微軟遠端桌面使用端口3389。
  • 短暫端口号:49152~65535,留給客戶程序選擇暫時使用。當伺服器程序收到客戶程序的封包時,就知道了客戶程序所使用的動态端口号。通信結束後,這個端口号可供其他客戶程序以後使用。
  • 端口号隻具有本地意義,即端口号知識為了辨別本計算機的應用層中的各程序,在網際網路中,不同計算機中的相同端口号是沒有聯系的。
  • 發送方的複用和接收方的分用
【計算機網絡】計算機網絡基礎知識筆記
  • TCP/IP展現的應用層常用協定所使用的運輸層熟知端口号。
【計算機網絡】計算機網絡基礎知識筆記

UDP和TCP的對比

  • UDP和TCP是TCP/IP體系結構運輸層中的兩個重要協定。
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

總結:

【計算機網絡】計算機網絡基礎知識筆記

TCP的流量控制

  • 一般來說,我們總是希望資料傳輸的快一點。
  • 但如果發送方把資料發送得過快,接收方就可能來不及接收,這就會造成資料的丢失。
  • 所謂流量控制(flow control)就是讓發送方的發送速率不要太快,要讓接收方來得及接收。
  • 利用滑動視窗機制可以很友善地在TCP連接配接上實作對發送方的流量控制。
  • TCP接收方利用自己的接收視窗的大小來限制發送方發送視窗的大小。
  • TCP發送方收到接收方的零視窗通知後,應啟動持續計時器。持續計時器逾時後,向接收方發送零視窗探測封包。

TCP的擁塞控制

  • 在某段時間,若對網絡中某一資源的需求超過了該資源所能提供的可用部分,網絡性能就要變壞。這種情況就叫做擁塞。
  • 在計算機網絡中的鍊路容量(即帶寬)、交換結點中的緩存和處理機等,都是網絡的資源。
  • 若出現擁塞而不進行控制,整個網絡的吞吐量将随輸入負荷的增大而下降。
【計算機網絡】計算機網絡基礎知識筆記

TCP四種擁塞控制算法

假定如下條件:

  1. 資料是單方向傳送,而另一個方向隻傳送确認。
  2. 接收方總是有足夠大的緩存空間,因而發送方發送視窗的大小由網絡的擁塞程度來決定。
  3. 以最大封包段MSS的個數為讨論問題的機關,而不是以位元組為機關。
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
  • 慢開始和擁塞避免算法是1988天提出的TCP擁塞控制算法(TCP Tahoe版本)。
  • 1990年又增加了兩個新的擁塞控制算法(改進TCP的性能),這就是快重傳和快恢複(TCP Reno版本)
  • 有時個别封包段會在網絡中丢失,但實際上網絡并未發生擁塞。
  • 這将導緻發送方逾時重傳,并誤認為網絡發生了擁塞;
  • 發送方把擁塞視窗cwnd又設定為最小值1,并錯誤地啟動慢開始算法,因而降低了傳輸效率。
  • 采用快重傳算法可以讓發送方盡早知道發生了個别封包段的丢失。
  • 所謂快重傳,就是使發送方盡快進行重傳,而不是等逾時重傳計時器逾時再重傳。
  • 要求接收方不要等待自己發送資料時才進行捎帶确認,而是要立即發送确認。
  • 即使收到了失序的封包段也要立即發出對已收到的封包段的重複确認。
  • 發送方一旦收到了3個連續的重複确認,就将相應的封包段立即重傳,而不是等待該封包段的逾時重傳計時器逾時再重傳。
  • 對于個别丢失的封包段,發送方不會出現逾時重傳,也就不會誤認為出現了擁塞(進而降低擁塞視窗cwnd為11)。使用快重傳可以使整個網絡的吞吐量提高約20%。
【計算機網絡】計算機網絡基礎知識筆記
  • 發送方一旦接收3個重複确認,就知道現在隻是丢失了個别的封包段。于是不啟動慢開始算法,而執行快恢複算法。
  • 發送方将慢開始門限ssthresh值和擁塞視窗值調整為目前視窗的一半;開始執行擁塞避免算法。
  • 也有的快恢複實作是把快恢複開始時的擁塞視窗cwnd值再增大一些,即等于新的ssthresh+3。
  • 既然發送方收到3個重複的确認,就表明有3個資料封包已經離開了網絡;
  • 這3個封包段不再小号網絡資源而是停留在接收方的接受緩存中;
  • 可見現在網絡中不是堆積了封包段而是減少了3個封包段。是以可以适當把擁塞視窗擴大些。
【計算機網絡】計算機網絡基礎知識筆記

TCP逾時重傳時間的選擇

  • 逾時重傳時間的選擇是TCP最複雜的問題之一
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記

TCP可靠傳輸的實作

  • TCP基于以位元組為機關的滑動視窗來實作

發送方個各部分解釋

【計算機網絡】計算機網絡基礎知識筆記

如何描述發送視窗的狀态?

【計算機網絡】計算機網絡基礎知識筆記

接收方各部分解釋

【計算機網絡】計算機網絡基礎知識筆記
  • 雖然發送方的發送視窗是根據接收方的接收視窗設定的,但在同一時刻,發送方的發送視窗并不總是和接收方的接受視窗一樣大。
  • 網絡傳送視窗值需要經曆一定的時間滞後,并且這個時間還是不确定的。
  • 發送方還可能根據網路當時的擁塞情況适當減小自己的發送視窗尺寸。
  • 對于不按序到達的資料應如何處理,TCP并無明确規定。
  • 如果接收方把不按序到達的資料一律丢棄,那麼接收視窗的管理将會比較簡單,但這樣對網絡資源的利用不利,因為發送方會重複傳送較多的資料。
  • TCP通常對不按序到達的資料是先臨時存放在接收視窗中,等到位元組流中所缺少的位元組收到後,再按序傳遞上層的應用程序。
  • TCP要求接收方必須有積累确認和捎帶确認機制,這樣可以減小傳出開銷。接收方可以在合适的時候發送确認,也可以在自己有資料要發送的時候把确認資訊順便捎帶上。
  • 接收方不應過分推遲發送确認,否則會導緻發送方不必要的逾時重傳,這反而浪費了網絡的資源。
  • TCP标準規定,确認推遲的時間不應超過0.5秒。若收到一連串具有最大長度的封包段,則必須每隔一個封包段就發送一個确認[RFC 1122]
  • 捎帶确認實際上并不經常發生,因為大多數應用程式很少同時在兩個方向上發送資料。
  • TCP的通信是全雙工通信。通信中的每一方都在發送和接收封包段。是以,每一方都有自己的發送視窗和接收視窗。在談到這些視窗時,一定要弄清是哪一方的視窗。

TCP的運輸連接配接管理——TCP的連接配接建立

  • TCP是面向連接配接的協定,它基于運輸連接配接來傳送TCP封包段。
  • TCP運輸連接配接的建立和釋放是每一次面向連接配接的通信中必不可少的過程。
  • TCP運輸連接配接有以下三個階段:
  1. 建立TCP連接配接
  2. 資料傳送
  3. 釋放TCP連接配接
  • TCP的運輸連接配接管理就是使運輸連接配接的建立和釋放都能正常地進行。
【計算機網絡】計算機網絡基礎知識筆記
  • TCP的連接配接過程建立要解決以下三個問題:
  • 使TCP雙方能夠确知對方的存在;
  • 使TCP雙方能夠協商一些參數(如:最大視窗值、是否使用視窗擴大選項和時間戳選項以及服務品質等);
  • 使TCP雙方能夠對運輸實體資源(如:緩存大小、連接配接表中的項目等)進行配置設定。
  • TCP使用"三封包握手"建立連接配接

将TCP建立連接配接的過程比喻為"握手"。

【計算機網絡】計算機網絡基礎知識筆記

注意:

  1. TCP的标準規定,SYN=1的封包段不能攜帶資料,但要消耗掉一個序号。
  2. TCP的标準規定,普通的确認封包段如果不攜帶資料,則 不消耗序号。

TCP的運輸連接配接管理——TCP的連接配接釋放

  • TCP通過"四封包揮手"來釋放連接配接
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
  • TCP伺服器程序每收到一次TCP客戶程序的資料,就重新設定并啟動保活計時器(2小時定時)。
  • 若保活計時器定時周期未收到TCP客戶程序發來的資料,則當保活計時器到時後,TCP伺服器程序就向TCP客戶程序發送一個探測封包段,以後則每個75秒發送一次。若發送10個探測封包段後仍無TCP客戶程序的響應,TCP伺服器程序就認為TCP客戶程序所在主機出了故障,接着就關閉這個連接配接。

TCP封包段的首部格式

  • 為了實作可靠傳輸,TCP采用了面向位元組流的方式。
  • 但TCP在發送資料時,是從發送緩存中去除一部分或全部自己并給其添加一個首部使之成為TCP封包段後進行發送。
  • 一個TCP封包段由首部和資料載荷兩部分構成。
  • TCP的全部功能都展現在它首部中各字段的作用。
【計算機網絡】計算機網絡基礎知識筆記

TCP封包段的首部格式

【計算機網絡】計算機網絡基礎知識筆記
  • 源端口:占16比特,寫入源端口号,用來辨別發送該TCP封包段的應用程序。
  • 目的端口号:占16比特,寫入目的端口号,用來辨別接收該TCP封包段的應用程序。
  • 序号:占32比特,取值範圍[0,2的32次方-1],序号增加到最後一個後,下一個序号就又回到0。
  • 指出本TCP封包段資料載荷的第一個位元組的序号。
【計算機網絡】計算機網絡基礎知識筆記
  • 确認号:占32比特,取值範圍[0,2的32次方-1],确認号增加到最後一個後,下一個确認号就又回到0。
  • 指出期望收到對方下一個TCP封包段的資料的第一個位元組的序号,同時也是對之前收到的所有資料的确認。
  • 若确認好為n,則表明到序号n-1為止的所有資料都已正确接收,期望接收序号為n的資料。
  • 确認标志位ACK:取值為1時确認号字段才有效;取值為0時确認号字段無效。
  • 資料偏移:占4比特,并以4位元組為機關。
  • 用來指出TCP封包段的資料載荷部分的起始處距離TCP封包段的起始處有多遠。
  • 這個字段實際上是指出了TCP封包段的首部長度。
  • 首部固定長度為20位元組,是以資料偏移字段的最小值為0101(2進制)。
  • 首部最大長度為60位元組,是以資料偏移字段的最大值為1111(2進制)。
  • 保留字段:占6比特,保留為今後使用,但目前應置為0。
  • 視窗:占16比特,以位元組為機關。指出發送本封包段的一方的接受視窗。
  • 視窗值作為接收方讓發送方設定其發送視窗的依據。
  • 這是以接受方的接收能力來控制發送方的發送能力,稱為流量控制。
  • 校驗和:占16比特,檢查範圍包括TCP封包段的首部和資料載荷兩部分。
  • 在計算校驗和時,要在TCP封包段的前面加上12位元組的僞首部。
  • 同步标志位SYN:在TCP連接配接建立時用來同步序号。
  • 終止标志位FIN:用來釋放TCP連接配接。
  • 複位标志位RST:用來複位TCP連接配接。
  • 當RST=1時,表明TCP連接配接出現了異常,必須釋放連接配接,然後再重建立立連接配接。
  • RST置1還用來拒絕一個非法的封包段或拒絕打開一個TCP連接配接。
  • 推送标志位PSH:接收方的TCP收到該标志位為1的封包段會盡快上交應用程序,而不必等到接收緩存都填滿後再向上傳遞。
  • 緊急标志位URG:取值為1時緊急指針字段有效;取值為0時緊急指針字段無效。
  • 緊急指針:占16比特,以位元組為機關,用來指明緊急資料的長度。
  • 當發送方有緊急資料時,可将緊急資料插隊到發送緩存的最前面,并立刻封裝到一個TCP封包段中進行發送。緊急指針會指出本封包段資料載荷部分包含了多長的緊急資料,緊急資料之後是普通資料。
  • 選項(長度可變)字段
  • 最大封包段長度MSS選項:TCP封包段資料載荷部分的最大長度。
  • 視窗擴大選項:為了擴大視窗(提高吞吐率)。
  • 時間戳選項:
  • 用來計算往返時間RTT
  • 用于處理序号超範圍的情況,又稱為防止序号繞回PAWS。
  • 填充字段:
  • 由于選項的長度可變,是以使用填充來確定封包段首部能被4整除(因為資料偏移字段,也就是首部長度字段,是以4位元組為機關的)。

應用層

應用層概述

【計算機網絡】計算機網絡基礎知識筆記
  • 應用層是計算機網路體系結構的最頂層,是設計和建立計算機網絡的最終目的,也是計算機網絡中發展最快的部分。
  • 早起基于文本的應用(電子郵件、遠端登入、檔案傳輸、新聞討論區)
  • 20世紀90年代将網際網路帶入千家萬戶的網際網路WWW
  • 當今流行的即時通信、P2P檔案共享及各種音視訊應用
  • 計算裝置的小型化和"無處不在",寬帶住宅接入和無線接入的日益普及和迅速發展,為未來更多的新型應用提供了廣闊的舞台。

客戶/伺服器方式(C/S方式)和對等方式(P2P方式)

  • 網絡應用程式運作在處于網絡邊緣的不同的端系統上,通過彼此間的通信來共同完成某項任務。
  • 開發一種新的網絡應用首先要考慮的問題就是網絡應用程式在各種端系統上的組織方式和它們之間的關系。目前流行的主要有一下兩種:
  • 客戶/伺服器(Client/Server,C/S)方式
  • 對等(Peer-to-Peer,P2P)方式
  • 客戶/伺服器方式
  • 客戶和伺服器是指通信中所涉及的兩個應用程序。
  • 客戶/伺服器方式所描述的是程序之間服務和被服務的關系。
  • 客戶是服務請求方,伺服器是服務提供方。
  • 伺服器總是處于運作狀态,并等待客戶的服務請求。伺服器具有固定端口号(例如HTTP伺服器的預設端口号為80),而運作伺服器的主機也具有固定的IP位址。
【計算機網絡】計算機網絡基礎知識筆記
  • C/S方式是網際網路上傳統的、同時也是最成熟的方式,很多我們熟悉的網絡應用采用的都是C/S方式。包括網際網路WWW、電子郵件、檔案傳輸FTP等。
  • 基于C/S方式的應用服務通常是服務集中型的,即應用服務集中在網絡中比客戶計算機少得多的伺服器計算機上。
  • 由于一台伺服器計算機要為多個客戶機提供服務,在C/S應用中,常會出現伺服器計算機跟不上衆多客戶機請求的情況。
  • 為此,在C/S應用中,常用計算機叢集(或伺服器場)建構一個強大的虛拟伺服器。
  • 對等方式
  • 在P2P方式中,沒有固定的服務請求者和服務提供者,分部在網絡邊緣的各端系統中的應用程序是對等的,被稱為對等方。對等方互相之間直接通信,每個對等方既是服務的請求者,又是服務的提供者。
  • 目前,在網際網路上流行的P2P應用主要包括P2P檔案共享、即時通信。P2P流媒體、分布式存儲等。
  • 基于P2P的應用是服務分散型的,因為服務不是集中在少數幾個伺服器計算機中,而是分部在大量對等計算機中,這些計算機并不為服務提供商所有,而是為個人控制的桌面計算機和筆記本電腦,它們通常位于住宅、校園和辦公室中。
【計算機網絡】計算機網絡基礎知識筆記
  • P2P方式的最突出特性之一就是它的可擴充性。因為系統每增加一個對等方,不僅增加的是服務的請求者,同時也增加了服務的提供者,系統性能不會因規模的增大而降低。
  • P2P方式具有成本上的優勢,因為它通常不需要龐大的伺服器設施和伺服器帶寬。為了降低成本,服務提供商對于将P2P方式用于應用的興趣越來越大。

動态主機配置協定DHCP

  • DHCP的作用
  • 動态主機配置協定DHCP提供了一種機制,稱為即插即用連網。這種機制允許一台計算機加入新網絡時可自動擷取IP位址等網絡配置資訊,而不用手工參與。
【計算機網絡】計算機網絡基礎知識筆記
  • DHCP的工作過程
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
  • DHCP中繼代理
  • 在每一個網絡上都設定一個DHCP伺服器會使DHCP伺服器的數量太多。是以現在是使每一個網絡至少有一個DHCP中繼代理(通常是一台路由器),它配置了DHCP伺服器的IP位址資訊,作為各網絡中計算機與DHCP伺服器的橋梁。
【計算機網絡】計算機網絡基礎知識筆記

域名系統DNS(Domain Name System)

  • 域名系統DNS的作用
【計算機網絡】計算機網絡基礎知識筆記

網際網路是否可以隻使用一台DNS伺服器?

這種做法并不可取。因為網際網路的規模很大, 這樣的又名伺服器很定會因為超負荷而無法正常工作,而且一旦域名伺服器出現故障,整個網際網路就會癱瘓。

早在1983年,網際網路就開始采用層次結構的命名樹作為主機的名字(即域名),并使用分布式的域名系統DNS。

DNS使大多數域名都在本地解析,僅少量解析需要在網際網路上通信,是以系統效率很高。

由于DNS是分布式系統,即使單個計算機出了故障,也不會妨礙整個系統的正常運作。

  • 網際網路采用層次樹狀結構的域名結構
  • 域名的結構由若幹個分量組成,各分量之間用"點"隔開,分别代表不同級别的域名。
  • 例如:…三級域名.二級域名.頂級域名
  • 每一級的域名都由英文字母和數字組成,不超過63個字元,不區分大小寫字母。
  • 級别最低的域名寫在最左邊,而級别最高的頂級域名寫在最右邊。
  • 完整的域名不超過255個字元。
  • 域名系統既不規定一個域名需要包含多少個下級域名,也不規定每一級的域名代表什麼意思。
  • 各級域名由其上一級的域名管理機構管理,而最高的頂級域名則是由網際網路名稱與數字位址配置設定機構ICANN進行管理。
【計算機網絡】計算機網絡基礎知識筆記

舉例:網際網路的域名空間

【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
  • 為了提高DNS的查詢效率,并減輕根域名伺服器的負荷和減少網際網路上的DNS查詢封包數量,在域名伺服器中廣泛地使用了高速緩存,高速緩存用來存放最近查詢過的域名以及從何處獲得域名映射資訊的記錄。
  • 由于域名到IP位址的映射關系并不是永久不變,為保持高速緩存表中的内容正确, 域名伺服器應為每項内容設定計時器并删除超過合理時間的項(例如,每個項目隻存放兩天)。
  • 不但在本地域名伺服器中需要高速緩存,在使用者主機中也很需要。許多使用者主機在啟動時從本地域名伺服器下載下傳域名和IP位址的全部資料庫,維護存放自己最近使用的域名的高速緩存,并且隻在從緩存中找不到域名時才向域名伺服器查詢。同理,主機也需要保持高速緩存中内容的正确性。

檔案傳送協定FTP

  • 将某台計算機中的檔案通過網絡傳送到可能相距很遠的另一台計算機中,是一項基本的網絡應用,即檔案傳送。
  • 檔案傳送協定FTP是網際網路上使用最廣泛的檔案傳送協定。
  • FTP提供互動式的通路, 允許客戶指明檔案的類型與格式(如指明是否使用ASCII碼),并允許檔案具有存取權限(如通路檔案的使用者必須經過授權,并輸入有效的密碼)。
  • FTP屏蔽了各計算機系統的細節,因而适用于在異構網絡中任意計算機之間傳送檔案。
  • 在網際網路發展的早期階段,用FTP傳送檔案約占整個網際網路的通信量的三分之一,而由電子郵件和域名系統所産生的通信量還要小于FTP所産生的通信量。隻是到了1995年,網際網路WWW的通信量才首次超過FTP。
  • FTP的常見用途是在計算機之間傳輸檔案,尤其是用于批量傳輸檔案。
  • FTP的另一個常見用途是讓網站設計者将構成網站内容的大量檔案批量上傳到他們的Web伺服器。
  • FTP的基本工作原理
【計算機網絡】計算機網絡基礎知識筆記

電子郵件

【計算機網絡】計算機網絡基礎知識筆記
  • 電子郵件系統采用客戶/伺服器方式;
  • 電子郵件系統的三個主要組成建構:使用者代理,郵件伺服器,以及電子郵件所需的協定。
  • 使用者代理是使用者與電子郵件系統的接口,又稱為電子郵件用戶端軟體。
  • 郵件伺服器是電子郵件系統的基礎設施,網際網路上所有的LSP都有郵件伺服器,其功能是發送和接收郵件,同時還要負責維護使用者的郵箱。
  • 協定包括郵件發送協定(例如SMTP)和郵件讀取協定(例如POP3,IMAP)。
【計算機網絡】計算機網絡基礎知識筆記
  • 簡單的郵件傳送協定SMTP的基本工作原理
【計算機網絡】計算機網絡基礎知識筆記
  • 電子郵件的資訊格式并不是SMTP定義的,而是在RFC 822中單獨定義的。這個RFC文檔已在2008年更新為RFC 5322。一個電子郵件有信封和内容兩部分。而内容又由首部和主體兩部分構成。
【計算機網絡】計算機網絡基礎知識筆記
  • SMTP協定隻能傳送ASCII碼文本資料,不能傳送可執行檔案或其他的二進制對象。
  • SMTP不能滿足傳送多媒體郵件(例如帶有圖檔、音頻或視訊資料)的需要。并且許多其他非英語國家的文字(例如中文、俄文、甚至帶有重音符号法文或德文)也無法用SMTP傳送。
  • 為了解決SMTP傳送非ASCII碼文本的問題,提出了多用途網際網路郵件擴充MIME。
  • 增加了5個新的郵件首部字段,這些字段提供了有關郵件主體的資訊。
  • 定義了許多郵件内容的格式,對多媒體電子郵件的表示方法進行了标準化。
  • 定義了傳送編碼,可對任何内容格式進行轉換,而不會被郵件系統改變。
【計算機網絡】計算機網絡基礎知識筆記
  • 實際上,MIME不僅僅用于SMTP,也用于後來的同樣面向ASCII字元的HTTP。
  • 常用的郵件讀取協定有以下兩個:
  • 郵局協定POP,POP3是其第三個版本,是網際網路正式标準。
  • POP3非常簡單、功能有限的有限讀取協定。使用者隻能以下載下傳并删除方式或下載下傳并保留方式從郵件伺服器下載下傳郵件到使用者方計算機。不允許使用者在郵件伺服器上管理自己的郵件。(例如建立檔案夾,對郵件進行分類管理等)。
  • 網際網路郵件通路協定IMAP,IMAP4是其第四個版本,目前還隻是網際網路建議标準。
  • IMAP4功能比POP3強大的郵件讀取協定。使用者在自己的計算機上就可以操控郵件伺服器中的郵件,就像在本地操控一樣,是以IMAP是一個聯機協定。
  • POP3和IMAP4都采用基于TCP連接配接的客戶/伺服器方式。POP3使用熟知端口110,IMAP4使用熟知端口143。
  • 基于網際網路的電子郵件
  • 通過浏覽器登入(提供使用者名和密碼)郵件伺服器網際網路網站就可以撰寫、收發。閱讀和管理電子郵件。這種工作模式與IMAP很類似,不同的是使用者計算機無需安裝專門的使用者代理程式,隻需要使用通用的網際網路浏覽器。
  • 郵件伺服器網站通常都提供非常強大和友善的郵件管理功能,使用者可以在郵件伺服器網站上管理和處理自己的郵件,而不需要将郵件下載下傳到本地進行管理。
  • 這種工作模式在使用者浏覽器與郵件伺服器之間使用HTTP協定,而郵件伺服器之間使用SMTP協定。
【計算機網絡】計算機網絡基礎知識筆記

網際網路WWW

【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
  • 浏覽器最重要的部分是渲染引擎,就是浏覽器核心。負責對網頁内容進行解析和顯示。
  • 不同的浏覽器核心對網頁内容的解析也有不同,是以同一網頁在不同核心的浏覽器裡顯示的效果可能不同;
  • 網頁編寫者需要在不同核心的浏覽器中測試網頁顯示效果 。
  • 為了友善地通路在世界範圍的文檔,網際網路使用同一資源定位符URL來指明網際網路上任何種類"資源"的位置。
  • URL的一般形式由以下四個部分組成:
【計算機網絡】計算機網絡基礎知識筆記
【計算機網絡】計算機網絡基礎知識筆記
  • 超文本傳輸協定HTTP

HTTP定義了浏覽器(即網際網路客戶程序)怎樣向網際網路伺服器請求網際網路文檔,以及網際網路伺服器怎樣把網際網路文檔傳送給浏覽器。

【計算機網絡】計算機網絡基礎知識筆記
  • HTTP/1.0采用非持續連接配接方式。在該方式下,每次浏覽器要請求一個檔案都要與伺服器建立TCP連接配接,當收到相應後就立即關閉連接配接。
  • 每請求一個文檔就要兩倍的RTT的開銷。若一個網頁上有多個引用對象(例如圖檔等),那麼請求每個對象都需要花費2RTT的時間。
  • 為了減小時延,浏覽器通常會建立多個并行的TCP連接配接同時請求多個對象。但是,這會大量占用網際網路伺服器的資源,特别是網際網路伺服器往往要同時服務于大量客戶的請求,這會使其負擔很重。
【計算機網絡】計算機網絡基礎知識筆記
  • HTTP/1.1采用持續連接配接方式。在該方式下,網際網路伺服器在發送響應後仍然保持這條連接配接,使同一客戶(浏覽器)和該伺服器可以繼續在這條連接配接上傳送後續的HTTP請求封包和響應封包。這并不局限于傳送同一個頁面上引用的對象,而是隻要這些文檔都在同一個伺服器上就行。
  • 為了進一步提高效率,HTTP/1.1的持續連接配接還可以使用流水線方式工作,即浏覽器在收到HTTP的響應封包之前就能夠連續發送多個請求封包。這樣的一個接一個的請求封包到達伺服器後,伺服器就發回一個接一個的響應封包。這樣就節省了很多個RTT時間,使TCP連接配接中的空閑時間減少,提高了下載下傳文檔的效率。
  • HTTP的封包格式

HTTP是面向文本的,其封包中的每一個字段都是一些ASCII碼串,并且每個字段的長度都是不确定的。

【計算機網絡】計算機網絡基礎知識筆記

HTTP請求封包支援以下方法

【計算機網絡】計算機網絡基礎知識筆記

HTTP相應封包格式

【計算機網絡】計算機網絡基礎知識筆記

相應封包中常見的狀态行

【計算機網絡】計算機網絡基礎知識筆記
  • 使用Cookie在伺服器上記錄使用者資訊
【計算機網絡】計算機網絡基礎知識筆記
  • 網際網路緩存與代理伺服器

繼續閱讀