計算機網絡相關發展以及常見性能指標

目錄

一、因特網概述

1.1 基本概念

1.2 因特網發展的三個階段

1.3 英特網服務提供者ISP

1.4 英特網的標準化工作

1.5 因特網的組成

1.6 簡單總結

二、3種交換方式

2.1 電路交換(Circuit Switching)

2.2 分組交換(Packet Switching)

2.3 報文交換(Message Switching)

2.4 對比

2.5 優缺點

2.5.1 電路交換的優缺點

2.5.1.1 優點

2.5.1.2 缺點

2.5.2 報文交換的優缺點

2.5.2.1 優點

2.5.2.2 缺點

2.5.3 分組交換的優缺點

2.5.3.1 優點

2.5.3.2 缺點

2.6 簡單總結

三、計算機網絡的定義與分類

3.1 計算機網絡的定義

3.2 計算機網絡的分類

3.2.1 按交換技術

3.2.2 按網絡的使用者

3.2.3 按傳輸介質

3.2.4 按網絡的覆蓋范圍

3.2.5 按拓撲結構

四、計算機網絡的性能指標

4.1 速率

4.1.1 什么是比特

4.1.2 速率的介紹

4.2 帶寬

4.2.1 模擬信號系統中的帶寬

4.2.2 計算機網絡中的帶寬

4.3 吞吐量

4.4 時延

4.4.1 發送時延

4.4.2 傳播時延

4.4.3 處理時延

4.5 時延帶寬積

4.6 往返時間

4.7 利用率

4.8 丟包率

4.9 簡單總結


一、因特網概述

1.1 基本概念

網絡(Network)是由若干節點(Node)和連接這些節點的鏈路(Link)組成的。例如下圖所示,筆記本電腦是一個節點,臺式電腦是一個節點,網絡打印機是一個節點,而將它們互聯起來的交換機也是一個節點。

當然了,節點之間的互聯還需要使用鏈路,可以是有線鏈路,也可以是無線鏈路。在本例中,四個節點和三段鏈路就構成了一個簡單的網絡。多個網絡還可以通過路由器互聯起來,這樣就構成了一個范圍更大的網絡及互聯網。例如下圖所示,這些網絡可以通過路由器進行互聯,形成一個更大的互聯網。因此互聯網也可稱為網絡的網絡

我們幾乎每天都在使用的英特網是世界上最大的互聯網,它的用戶數以億計,互聯的網絡數以百萬計。在我們今后的講述中,英特網常常用一朵云表示。連接在英特網上的計算機稱為主機,而英特網內部的細節也就是路由器是怎樣把許多網絡連接起來的,往往省略不用給出。

這里我們需要區分一下【internet】【Internet】兩個英文單詞的含義:

1、以小寫字母i開頭的英文單詞internet是一個通用名詞,翻譯為互聯網,它泛指由多個計算機網絡互聯而成的網絡,在這些網絡之間的通信協議可以是任意的;

2、以大寫字母I開頭的英文單詞Internet則是一個專用名詞,翻譯為英特網,它指當前全球最大的開放的由眾多網絡互聯而成的特定計算機網絡,它采用TCP/IP協議族作為通信的規則,其前身是美國的ARPANET。

1.2 因特網發展的三個階段

因特網的基礎結構大體上經歷了三個階段的演進。

第一階段,從單個網絡ARPANET向互聯網發展。1969年,美國國防部創建第一個分組交換網ARPANET。到了20世紀70年代中期,人們已認識到不可能僅使用一個單獨的網絡來滿足所有的通信問題,這就導致了后來互聯網的出現,這樣的互聯網就成為了現在的因特網的雛形。1983年,TCP/IP協議成為ARPANET上的標準協議,使得所有使用TCP/IP協議的計算機都能利用互聯網相互通信,因而人們就把1983年作為因特網的誕生時間。

第二階段,逐步建成三級結構的英特網。從1985年起,美國國家科學基金會NSF就圍繞六個大型計算機中心建設計算機網絡,也就是國家科學基金網NSFNET。它是一個三級結構的網絡,分為主干網、地區網和校園網或者是企業網。該網絡覆蓋了全美國主要的大學和研究所,并且成為英特網中的主要組成部分。1990年,正式關閉ARPANET。1991年,美國國家科學基金會NSF和美國的其他政府機構開始認識到,英特網必將擴大其使用范圍不應僅限于大學和研究機構,于是美國政府決定將英特網的主干網轉交給私人公司來運營,并開始對接入因特網的單位收費。

第三階段,逐漸形成了多層次ISP結構的英特網。從1993年開始,由美國政府資助的NSFNET逐漸被若干個商用的因特網主干網取代,而政府機構不再負責英特網的運營,而是讓各種因特網服務提供者ISP來運營。1994年,由歐洲原子核研究組織開發的萬維網,也就是3W技術在英特網上被廣泛使用,促使英特網迅猛發展。1995年,NSFNET停止運作,因特網徹底商業化。

1.3 英特網服務提供者ISP

想想看普通用戶是如何接入到英特網的呢?實際上是通過ISP接入因特網的。ISP(Internet Service Provider)可以從英特網管理機構申請到成塊的IP地址,同時擁有通信線路以及路由器等聯網設備。任何機構和個人只要向ISP繳納規定的費用,就可以從ISP得到所需要的IP地址。這一點很重要,因為英特網上的主機都必須有IP地址才能進行通信,這樣就可以通過該ISP接入到英特網。

我國主要的ISP是我們大家都比較熟悉的中國電信、中國聯通和中國移動這三大電信運營商。來自中國互聯網絡信息中心2019年2月發布的第43次《中國互聯網絡發展狀況統計報告》顯示,他們的國際出口帶寬分別是中國電信4.5Tbps,中國聯通2.2Tbps,中國移動2Tbps。

根據提供服務的覆蓋面積大小及所擁有的IP地址塊數量不同,ISP也分成不同的層次。下面給出基于ISP的三層結構因特網示意圖。

最高級別的第一層ISP的服務面積最大,第一層ISP通常也被稱為英特網主干網,一般都能夠覆蓋國際性區域范圍,并擁有高速鏈路和交換設備。第一層ISP之間直接互聯。第二層ISP和一些大公司都是第一層ISP的用戶,通常具有區域性或國家性覆蓋規模,與少數第一層ISP相連接。第三層ISP又稱為本地ISP,他們是第二層ISP的用戶,且只擁有本地范圍的網絡。一般的校園網或企業網以及住宅用戶和無線移動用戶,都是第三層ISP的用戶。

從該圖可以看出,英特網逐漸演變成基于ISP的多層次結構網絡。但今天的英特網由于規模太大,已經很難對整個網絡的結構給出細致的描述。但下面這種情況是經常遇到的,就是相隔較遠的兩臺主機間的通信可能需要經過多個ISP。

順便提一下,一旦某個用戶能夠接入到英特網,那么它也可以成為一個ISP。所需要做的就是購買一些如調制解調器或路由器這樣的設備,讓其他用戶能夠和它相連。因此該圖所示的僅僅是個示意圖,一個ISP可以很方便地在英特網拓撲上添加新的層次和分支。

1.4 英特網的標準化工作

英特網的標準化工作對英特網的發展起到了非常重要的作用。

英特網在制定其標準上的一個很大的特點就是面向公眾。英特網所有的RFC技術文檔都可以從因特網上免費下載,任何人都可以隨時用電子郵件發表對某個文檔的意見或建議。

英特網協會ISOC是一個國際性組織,他負責對英特網進行全面管理。IAB負責管理英特網有關協議的開發。IAB下的因特網工程部IETF負責研究中短期工程問題,主要針對協議的開發和標準化。IAB下的因特網研究部IRTF從事理論方面的研究和開發一些需要長期考慮的問題。

制定英特網的正式標準要經過以下四個階段,在這個階段還不是RFC文檔。第二個階段是建議標準,從該階段開始成為RFC文檔。第四個階段是英特網標準。

值得注意的是,并非所有的RFC文檔都是因特網標準,只有一小部分RFC文檔最后才能變成因特網標準。

1.5 因特網的組成

因特網的拓撲結構雖然非常復雜,并且在地理上覆蓋了全球,但從功能上看,可以劃分為以下兩部分,一個是邊緣部分,另一個是核心部分

邊緣部分由所有連接在英特網上的主機組成,這部分是用戶直接使用的,用來進行通信和資源共享。邊緣部分中的主機可以是臺式電腦或大型服務器,也可以是筆記本電腦,平板電腦,還可以是智能手機,智能手表以及物聯網智能硬件,例如空氣質量監測儀,智能攝像頭等。

核心部分由大量網絡和連接這些網絡的路由器組成,這部分是為邊緣部分提供服務的,也就是提供連通性和交換。在網絡核心部分起特殊作用的是路由器,它是一種專用計算機,但我們不稱它為主機。路由器是實現分組交換的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最重要的功能,我們將在后面詳細介紹。

1.6 簡單總結

本節,我們主要介紹了以下四個內容:

  1. 網絡互聯網和因特網的基本概念

  2. 因特網發展的三個階段

  3. 英特網的標準化工作

  4. 英特網的組成

重點對第一和第四這兩部分內容做到理解,對第二和第三部分的內容了解即可。


二、3種交換方式

2.1 電路交換(Circuit Switching)

在電話問世后不久,人們就發現要讓所有的電話機都兩兩相連接是不現實的。例如兩部電話只需要用一對電線就能夠互相連接起來,但若有五部電話要兩兩相連,則需要十對電線;當電話機的數量很大時,這種連接方法需要的電線數量就太大了。例如如果有n部電話機需要兩兩相連,那么一共需要n/2 * (n-1)根電線。

于是人們認識到:要使得每一部電話能夠很方便地和另一部電話進行通信,就應當使用一個中間設備將這些電話連接起來,這個中間設備就是電話交換機

每一部電話都連接到電話交換機上,可以把電話交換機簡單地看成是一個有多個開關的開關器,可以將需要通信的任意兩部電話的電話線路按需接通,從而大大減少了電話線的數量。當電話機的數量增多時,就需要使用很多彼此連接起來的電話交換機來完成全網的交換任務,用這樣的方法就構成了覆蓋全世界的電信網,電話交換機接通電話線的方式稱為電路交換

從通信資源的分配角度來看,交換(Switching)就是按照某種方式動態的分配傳輸線路的資源

我們來看下面這個電路交換的示意圖,為了簡單起見,圖中沒有區分市話交換機和長途電話交換機。

應當注意的是,用戶線歸電話用戶專用,而電話交換機之間擁有的大量話路的中繼線,則是許多用戶共享的。

電路交換有以下三個步驟:

  1. 建立連接,也就是分配通信資源。例如在使用電路交換打電話之前,必須先撥號請求建立連接,當被叫用戶聽到電話交換機送來的撥號音,并摘機后,從主叫端到被叫端就建立了一條連接,也就是一條專用的物理通路,這條鏈接保證了雙方通話時所需的通信資源,而這些資源在雙方通信時不會被其他用戶占用。

  2. 通話,也就是主教和被教雙方互相通電話。在整個通話期間,第一步建立連接所分配的通信資源始終被占用。

  3. 釋放連接,也就是通話完畢。掛機后,電話交換機釋放剛才使用的這條專用的物理通路,換句話說是把剛才占用的所有通信資源歸還給電信網。


請大家思考一下,如果使用電路交換來傳送計算機數據是否可行?

應該說,盡管采用電路交換可以實現計算機之間的數據傳送,但是線路的傳輸效率往往很低。這是因為計算機數據是突發式的出現在傳輸線路上的,試想一下這種情況:當用戶正在輸入和編輯一份帶傳輸的文件時,用戶所占用的通信資源暫時未被利用,該通信資源也不能被其他用戶利用,寶貴的通信線路資源白白被浪費了。因此計算機網絡通常采用分組交換,而不是電路交換。


2.2 分組交換(Packet Switching)

假設這是英特網的一部分,在英特網中最重要的分組交換機就是路由器,他負責將各種網絡互聯起來,并對接收到的分組進行轉發,也就是在進行分組交換。

我們來看這樣一個例子,假設主機H6 的用戶要給主機H2 的用戶發送一條消息,通常我們把表示該消息的整塊數據稱為一個報文。在發送報文之前,先把較長的報文劃分成為一個個更小的等長數據段,在每一個數據段前面加上一些有必要的控制信息組成的首部后,就構成了一個分組,也可稱為“包”,相應地,首部也可稱為“包頭”。

請大家思考一下,添加手部的作用是什么?這不是額外加大了帶傳輸的數據量嗎?

實際上手部起到非常關鍵的作用,相信大家至少能想到,否則分組傳輸路徑中的各分組交換機,也就是個路由器,就不知道如何轉發分組了。

分組交換機收到一個分組后,先將分組暫時存儲下來,再檢查其手部,按照手部中的目的地址進行查表轉發,找到合適的轉發接口,通過該接口將分組轉發給下一個分組交換機。

在本地中,主機h6 將所構造出的各分組依次發送出去,各分組經過圖中各分組交換機的存儲轉發,最終到達主機H2。主機H2收到這些分組后,去掉他們的首部,將各數據段組合還原出原始報文。

需要說明的是,為了初學者容易理解,在本例中,我們只演示出了分組傳輸過程中的兩種情況:一種是各分組從原站到達目的站可以走不同的路徑,也就是不同的路由;另一種是分組亂序,也就是分組到達目的站的順序不一定與分組在原站的發送順序相同。對于可能出現的分組、丟失、誤碼、重復等問題并沒有演示,這些內容將在后續講述中詳細介紹。

在上述的分組交換過程中,發送方所要完成的任務是構造分組和發送分組。路由器,也就是分組交換機所要完成的任務是緩存分組和轉發分組,簡稱為“存儲轉發”。接收方所要完成的任務是接收分組和還原報文。


2.3 報文交換(Message Switching)

與分組交換類似,報文交換中的交換結點也采用存儲轉發方式。但報文交換對報文的大小沒有限制,這就要求交換結點需要有較大的緩存空間。

需要注意的是,報文交換主要用于早期的電報通信網,現在較少使用,通常被較先進的分組交換方式所取代,因此我們不再詳細介紹報文交換了。


2.4 對比

接下來我們對電路交換、報文交換、分組交換這三種交換方式進行一下對比。

假設a→b→c→d是分組傳輸路徑上所要經過的四個節點交換機,縱坐標為時間。那么這三種交換方式的示意圖如下:

對于電路交換:通信之前首先要建立連接,連接建立好之后,就可以使用已建立好的連接進行數據傳送,數據傳送結束后需要釋放連接,以歸還之前建立連接所占用的通信線路資源。

對于報文交換:可以隨時發送報文,而不需要事先建立連接。整個報文先傳送到相鄰節點交換機,全部存儲下來后進行查表轉發,轉發到下一個節點交換機。

對于分組交換:可以隨時發送分組,而不需要事先建立連接。構成原始報文的一個個分組,依次在各個節點交換機上存儲轉發。各結點交換機在發送分組的同時,還緩存接收到的分組。

當使用電路交換時,一旦建立連接,中間的各節點交換機就是直通形式的,比特流可以直達終點

當使用報文交換時,整個報文需要在各節點交換機上進行存儲轉發,由于不限制報文的大小,因此需要各節點交換機都具有較大的緩存空間

當使用分組交換時,構成原始報文的一個個分組在各節點交換機上進行存儲轉發。相比報文交換減少了轉發時延,還可以避免過長的報文長時間占用鏈路,同時也有利于進行差錯控制


2.5 優缺點

2.5.1 電路交換的優缺點

2.5.1.1 優點
  1. 通信時延小。這是因為通信線路為通信雙方用戶專用數據直達,因此通信時延非常小。當連續傳輸大量數據時這一優點非常明顯。

  2. 有序傳輸。這是因為通信雙方之間只有一條專用的通信線路,數據只在這一條線路上傳輸,因此不存在失序問題。

  3. 沒有沖突。不同的通信雙方擁有不同的信道,不會出現征用物理信道的問題。

  4. 適用范圍廣。電路交換既適用于傳輸模擬信號,也適用于傳輸數字信號。

  5. 實時性強。這主要得益于其通信時延小的優點。

  6. 控制簡單。電路交換的節點交換機及其控制都比較簡單。

2.5.1.2 缺點
  1. 建立連接時間長。電路交換的平均連接建立時間對計算機通信來說太長了。

  2. 線路獨占,使用效率低。電路交換一旦建立連接,物理通路就被通信雙方獨占,即使通信線路空閑,也不能供其他用戶使用,因而信道利用率很低。

  3. 靈活性差。只要連接所建立的物理通路中的任何一點出現了故障,就必須重新撥號建立新的連接,這對十分緊急和重要的通信是很不利的。

  4. 難以規格化。電路交換時數據直達,不同類型、不同規格、不同速率的終端很難相互進行通信,也難以在通信過程中進行差錯控制。

2.5.2 報文交換的優缺點

2.5.2.1 優點
  1. 無需建立連接。報文交換不需要為通信雙方預先建立一條專用的通信線路,不存在建立連接的時延,用戶可以隨時發送報文。

  2. 動態分配線路。當發送方把報文傳送給節點交換機時,節點交換機先存儲整個報文,然后選擇一條合適的空閑線路將報文發送出去。

  3. 提高線路可靠性。如果某條傳輸路徑發生故障,會重新選擇另一條路徑傳輸數據,因此提高了傳輸的可靠性。

  4. 提高線路利用率。通信雙方不是固定占用一條通信線路,而是在不同的時間分段部分占用物理線路。

  5. 提供多目標服務。一個報文可以同時發送給多個目的地址,這在電路交換中是很難實現的。

2.5.2.2 缺點
  1. 引起了轉發時延。這是因為報文在節點交換機上要經歷存儲轉發的過程。

  2. 需要較大的存儲緩存空間。這是因為報文交換對報文的大小沒有限制。

  3. 需要傳輸額外的信息量。這是因為報文需要攜帶目標地址、原地址等信息。

2.5.3 分組交換的優缺點

2.5.3.1 優點
  1. 無需建立連接。分組交換不需要為通信雙方預先建立一條專用的通信線路,不存在建立連接的時延,用戶可以隨時發送分組。

  2. 線路利用率高。通信雙方不是固定占用一條通信線路,而是在不同的時間分段部分占用物理線路,因而大大提高了通信鏈路的利用率。

  3. 簡化了存儲管理。這是相對于報文交換而言的,因為分組的長度固定,相應的緩沖區的大小也固定,管理起來相對容易。

  4. 加速傳輸。由于分組是逐個傳輸的,這就使得后一個分組的存儲操作與前一個分組的轉發操作可以同時進行。

  5. 減少出錯概率和重發數據量。因為分組比報文小,因此出錯概率必然減小,即便分組出錯,也只需重傳出錯的部分,這比重傳整個報文的數據量小很多。這樣不僅提高了可靠性,也減少了傳輸時延。

2.5.3.2 缺點
  1. 引起了轉發時延。這是因為分組在節點交換機上要經歷存儲轉發的過程。

  2. 需要傳輸額外的信息量。將原始報文分割成等長的數據塊,每個數據塊都要加上原地址、目的地址等控制信息,從而構成分組,因此使得傳送的信息量增大了。

  3. 當分組交換采用數據報服務時,可能會出現失序、丟失或重復分組。分組到達目的節點時,需要重新還原成原始報文,比較麻煩。若分組交換采用虛電路服務,雖然沒有分組失序問題,但由呼叫建立、數據傳輸和蓄電路釋放三個過程。


2.6 簡單總結

本節,我們介紹了電路交換、分組交換以及報文交換這三種交換方式,其中分組交換是重點內容


三、計算機網絡的定義與分類

3.1 計算機網絡的定義

首先我們來說說計算機網絡定義。計算機網絡的精確定義并未統一,換句話說,全世界沒有一個對計算機網絡的公認的唯一定義。這里我們給出一個計算機網絡的最簡單定義,即計算機網絡是一些互相連接的自治的計算機的集合。我們可以從該定義中找出三個關鍵詞,他們是互連自治集合

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

  • 自治是指獨立的計算機,它有自己的硬件和軟件可以單獨運行使用。

  • 集合是指至少需要兩臺計算機。

那么,基于以上概念,請大家思考一下,該圖所示是否是一個計算機網絡?

很顯然這不是計算機網絡,因為圖中所示的各終端機只是具有顯示和輸入設備的終端,而并不是自制的計算機。因此這只是一個運行分時系統的大型機。系統集合是指至少需要兩臺計算機。

需要注意的是,在計算機網絡發展的不同階段,人們對計算機網絡給出了不同的定義。這些定義反映了當時網絡技術發展的水平。

下面我們給出現階段計算機網絡的較好的定義:計算機網絡主要是由一些通用的、可編程的硬件互連而成的,而這些硬件并非專門用來實現某一特定目的(例如傳送數據或視頻信號)。這些可編程的硬件能夠用來傳送多種不同類型的數據,并能支持廣泛的和日益增長的應用

該定義表明:

  1. 計算機網絡所連接的硬件并不限于一般的計算機,而是包括了智能手機等智能硬件。

  2. 計算機網絡并非專門用來傳送數據,而是能夠支持很多種應用,包括今后可能出現的各種應用。

3.2 計算機網絡的分類

我們可以從不同的角度對計算機網絡進行分類:

3.2.1 按交換技術

可以分為電路交換網絡報文交換網絡分組交換網絡。由于這些是我們之前已經介紹過。所以這里不再贅述。

3.2.2 按網絡的使用者

可以分為公用網專用網

  1. 公用網是指電信公司出資建造的大型網絡,公用的意思就是所有愿意按電信公司的規定繳納費用的人,都可以使用這種網絡,因此公用網也可稱為公眾網。

  2. 專用網是指某個部門為本單位的特殊業務工作的需要而建立的網絡,這種網絡不向本單位以外的人提供服務,例如軍隊、鐵路、電力等系統均有本系統的專用網。

3.2.3 按傳輸介質

可以分為有線網絡無線網絡

  1. 有線網絡包括雙絞線網絡、光纖網絡等;

  2. 無線局域網所使用的WiFi技術目前應用比較普遍。

3.2.4 按網絡的覆蓋范圍

可以分為廣域網(WAN)城域網(MAN)局域網(LAN)個人區域網(PAN)。我們需要能記住這幾個比較常見的英文縮寫詞,尤其是WAN和PAN。如果感興趣可以去看看自己家裝路由器背面的各接口,很可能標記為1個WAN和多個LAN,而不是標記為中文的廣域網接口和局域網接口。

  1. 廣域網的覆蓋范圍通常為幾十公里到幾千公里,可以覆蓋一個國家、地區甚至橫跨幾個洲,因而有時也稱為遠程網。廣域網是英特網的核心部分,其任務是為核心路由器提供遠距離(例如跨越不同的國家)的高速連接,互連分布在不同區域的城域網和局域網。

  2. 城域網的覆蓋范圍一般是一個城市,可跨越幾個街區甚至整個城市,其作用距離為5~50km。城域網通常作為城市骨干網,互連大量企業機構和校園局域網。近幾年,城域網已開始成為現代城市的信息服務基礎設施,為大量用戶提供接入和各種信息服務,并有趨勢將傳統的電信服務、有線電視服務和互聯網服務融為一體。

  3. 局域網一般用微型計算機或工作站通過高速通信線路相連,速率通常在10Mbit/s以上,但地理上則局限在較小的范圍內,如一個實驗室、一幢樓或一個校園內,距離一般在1km左右。局域網通常由某個單位單獨擁有、使用和維護。在局域網發展的初期,一個學校或工廠往往只擁有一個局域網。現在局域網已被非常廣泛的使用,一個學校或企業大都擁有許多個互連的局域網,這樣的網絡通常稱為校園網或企業網。

  4. 個人區域網(PAN)不同于上述網絡,不是用來連接普通計算機的,而是在個人工作的地方,把屬于個人使用的電子設備(例如便攜式計算機、打印機、鼠標鍵盤、耳機等)用無線技術連接起來的網絡,因此也常稱為無線個人區域網(WPAN),其覆蓋范圍大約為10米。

需要注意的是,**若中央處理機之間的距離非常近,例如僅1米的數量級甚至更小,則一般就稱之為多處理機系統,而不稱它為計算機網絡。**

3.2.5 按拓撲結構

可以分為總線型網絡星型網絡環形網絡網狀型網絡

  1. 總線型網絡使用單根傳輸線把計算機連接起來,它的優點是建網容易增減節點方便節省線路,缺點是重負載時通訊效率不高,總線任意一處出現故障,則全網癱瘓。

  2. 星型網絡是將每個計算機都以單獨的線路與中央設備相連,中央設備早期是計算機,后來是集線器,現在一般是交換機或路由器。這種網絡拓撲便于網絡的集中控制和管理,因為端用戶之間的通信必須經過中央設備,缺點是成本高,中央設備對故障敏感。

  3. 環形網絡是將所有計算機的網絡接口連接成一個環,最典型的例子是令牌環局域網,還可以是單環,也可以是雙環,環中信號是單向傳輸的。

  4. 網狀型網絡一般情況下,每個節點至少有兩條路徑與其他節點相連,多用在廣域網中,其優點是可靠性高,缺點是控制復雜線路成本高。

需要注意的是,以上四種基本的網絡拓撲還可以互聯為更復雜的網絡。


本節內容并沒有什么難點內容,只需要我們對這些內容做到了解即可。


四、計算機網絡的性能指標

本次我們介紹計算機網絡的性能指標。性能指標可以從不同的方面來度量計算機網絡的性能。常用的計算機網絡性能指標有以下八個:它們是速率、帶寬、吞吐量、時延(包括發送時延、傳播時延和處理時延)、丟包率、利用率等。本節課我們介紹其中的四個。


4.1 速率

為了能夠更好地理解速率,我們需要先了解比特。

4.1.1 什么是比特

比特(bit)是計算機中數據量的單位,也是信息論中信息量的單位,常簡寫為b。一個比特就是二進制數字的一個“1”或“0”。常用的數據量單位有字節(Byte),常簡寫為B一個字節包含8個比特

  1. 千字節(KB):這里的K為2^10,因此等于2^10個字節。

  2. 兆字節(MB):它等于K * KB,因此等于2^20個字節。

  3. 吉字節(GB):它等于K * MB,因此等于2^30個字節。

  4. 太字節(TB):它等于K * GB,因此等于2^40個字節。

這里順便提一下,也許大家有購買新硬盤或U盤的經歷,在使用中會發現操作系統給出的容量與廠家標稱的容量不同。例如這是計算機中的一塊固態硬盤,標稱容量為250GB,但操作系統給出的容量為232.8GB。

這是什么原因呢?下面的計算公式就可以說明這個問題:

廠家給出的單位GB中的G為10^9,而操作系統中數據量單位GB中的G為2^30。

4.1.2 速率的介紹

有了比特的概念,我們就可以引出計算機網絡中的一個重要性能指標——速率。它具體是指連接在計算機網絡上的主機在數字信道上傳送比特的速率,也稱為比特率或數據率。常用的數據率單位有比特每秒(bps),可以簡寫為小寫字母b/s或者bps

  1. 千比特每秒(kbps):這里的k常用小寫,而數據量單位中的k常用大寫。小寫k在速率單位中的值為10^3,也就是1000。

  2. 兆比特每秒(Mbps):盡管這里的大寫字母M與數據量單位中的相同,但在速率單位中其值為10^6,而在數據量單位中其值為2^20。

  3. 吉比特每秒(Gbps):盡管這里的大寫字母G與數據量單位中的相同,但在速率單位中其值為10^9,而在數據量單位中其值為2^30。

  4. 太比特每秒(Tbps):盡管這里的大寫字母T與數據量單位中的相同,但在速率單位中其值為10^12,而在數據量單位中其值為2^40。

這里,在對比一下比特和速率的單位換算,方便區分它們的單位換算關系。

下面我們來做個練習,看看大家是否已經掌握了比特和速率的知識。

例1:有一個待發送的數據塊大小為100MB,網卡的發送速率為100Mbps,則網卡發送完該塊數據需要多長時間?

解題步驟: 用數據塊的大小100MB除以網卡的發送速率100Mbps,就是網卡發送完該塊數據所花費的時長。分子和分母上的100可以約掉,而分子和分母上的“兆”是否可以約掉呢?嚴格來說是不能約掉的,因為分子上的“兆”是數據量單位中的,其值為2的二十次方,而分母上的“兆”是速率單位中的,其值為10的六次方。我們還需要將分子上的字節轉換為八個比特,這樣分子和分母上的比特就可以約掉,只剩下秒單位。最終計算結果為8.388608秒。


4.2 帶寬

由于帶寬涉及到多個領域,因此在不同的知識領域它有著不同的意義。

4.2.1 模擬信號系統中的帶寬

帶寬的意義是指信號所包含的各種不同頻率成分所占據的頻率范圍,其基本單位是赫茲(Hz),常用單位有千赫(kHz)、兆赫(MHz)及吉赫(GHz)。例如,在傳統的通信線路上傳送的電話信號的標準帶寬為3.1KHz,范圍從300Hz~3400Hz,這是語音的主要成分的頻率范圍。

4.2.2 計算機網絡中的帶寬

帶寬的意義是用來表示網絡的通信線路所能傳送數據的能力。因此網絡帶寬表示在單位時間內從網絡中的某一點到另一點所能通過的最高數據率。因此帶寬這個計算機網絡性能指標的單位與我們剛剛介紹的速率這個性能指標的單位是相同的,基本單位是比特每秒(bps),常用單位有千比特每秒(kbps)、兆比特每秒(Mbps)、吉比特每秒(Gbps)、太比特每秒(Tbps)。

你可能有過這樣的經歷,有朋友問你家的出口網速有多大,你可能回答說200M,這里我們往往省略說比特每秒,完整的描述應該是最高速率為200Mbps,而這個最高速率其實就是你家網絡的出口帶寬,這當然是一個很重要的計算機網絡性能指標,它直接關系到我們的網絡應用體驗。

其實,“帶寬”的兩種表述之間有著密切的聯系。一條通信線路的“頻帶寬度”越寬,其所傳輸數據的“最高數據率”也越高。


4.3 吞吐量

吞吐量表示在單位時間內通過某個網絡或信道接口的數據量。吞吐量被經常用于對現實世界中的網絡的一種測量,以便知道實際上到底有多少數據量能夠通過網絡。吞吐量受網絡帶寬或額定速率的限制

例如,這是一個帶寬為1Gbps的以太網,其吞吐量受帶寬限制,最高為1Gbps,通常只能達到700Mbps。


4.4 時延

接下來我們介紹下一個計算機網絡性能指標——時延。我們來看看分組從原主機傳送給目的主機的過程中,都會在哪些地方產生時延:

  1. 發送時延:原主機將分組發往傳輸線路,這需要花費一定的時間。

  2. 傳播時延:代表分組的電信號在鏈路上傳輸,這也需要花費一定的時間。

  3. 處理時延:路由器收到分組后,對其進行存儲轉發,這也需要花費一定的時間。

一般來說,原主機和目的主機之間的路徑會由多段電路和多個路由器構成,因此會有多個傳播時延和處理時延。通過本例可知,網絡時延由三部分構成:它們是發送時延傳播時延處理時延

4.4.1 發送時延

發送時延的計算公式為分組長度/發送速率。這里需要對發送速率做一下說明:如圖所示,這是家庭局域網的一部分,網卡的發送速率、信道帶寬、交換機的接口速率他們共同決定著主機的發送速率。

若網卡的發送速率為1Gbps,信道帶寬為1Gbps,交換機的接口速率為1Gbps,則主機的發送速率理論上最大可以達到1Gbps;若網卡的發送速率為100Mbps,現在帶寬為1Gbps,交換機的接口速率為1Gbps,則主機的發送速率理論上最大只能達到100Mbps;若網卡的發送速率為1Gbps,信道帶寬為100Mbps,交換機的接口速率為1Gbps,則主機的發送速率理論上最大也只能達到100Mbps。

從這里可以看出,在構建網絡時應該做到各設備間以及傳輸介質的速率匹配,這樣才能完全發揮出本應具有的傳輸性能。我們也需要重視這一點,因為大家今后都可能面臨新房裝修時網絡布線以及相關設備的采購問題,如果未認真考慮即可能造成網絡性能無法滿足自己的應用需求的情況,如果再進行改造將會是非常麻煩的事情。目前主流的家庭局域網帶寬是1000兆,有些發燒友甚至打造家庭萬兆局域網。

4.4.2 傳播時延

傳播時延的計算公式是信道長度/電磁波傳播速率

  1. 電磁波在自由空間的傳播速率是光速,即3x10^8 m/s。

  2. 電磁波在網絡傳輸媒體中的傳播速率比在自由空間要略低一些。在銅線中的傳播速率約為 2.3x10^8 m/s;

  3. 在光纖中的傳播速率約為 2.0x10^8 m/s。

因此要計算傳播時延首先應該確定采用的是什么傳輸媒體,進而可以確定電磁波在該傳輸媒體中的傳播速率。我們需要盡可能將電磁波的上述三種傳播速率作為常識并記住。

4.4.3 處理時延

處理時延沒有簡單的計算公式,因為它不方便計算。這并不難理解,因為網絡中的數據流量是動態變化的,因此路由器的繁忙程度也是動態變化的。另外,各種路由器的軟硬件性能也可能有所不同,因此很難用一個公式計算出處理時延。

這里需要說明的是,有的教材中還有一個排隊時延,而這里將排隊時延與處理實驗合并,稱為處理時延。由于處理實驗不方便計算,因此一般在有關計算實驗的考題中,題目往往會指明“處理實驗忽略不計”。

那么請大家思考一下,在處理時延忽略不計的情況下,網絡總時延中是傳播時延占主導還是發送時延占主導呢?

我們來看這個例子:數據塊長度為100MB,信號帶寬為1Mb/s,傳送距離為1000km,計算發送時延傳播時延

通過前面講述的發送時延和傳播時延的計算公式可知,發送時延 = 分組長度 / 發送速率,將題目給定的相應已知量帶入公式,這里2^20是數據量單位中的M,這里10^6是速率單位中的M,計算結果為800多秒;傳播時延 = 信道長度 / 電磁波傳播速率,將題目給定的相應已知量帶入公式,由于題目并未給出傳輸介質,因此為了方便計算,我們假設傳輸介質是光纖,所以電磁波傳輸速率這里為2x10^8 m/s,計算結果為0.005s。很顯然在本例中發送時延占主導。計算過程如下圖所示。

我們再看一個例子:數據塊長度為1 B,信號帶寬為1Mb/s,傳送距離為1000km,計算發送時延傳播時延

同理,我們使用公式,帶入數據計算可得,如下圖所示。

很顯然在這個例子中,傳播時延是占主導的

通過以上兩個例子可以看出,構成網絡實驗的發送時延、傳播時延以及處理時延在處理實驗忽略不計的情況下,我們不能想當然地認為發送時延占主導或傳播實驗占主導,而應該具體問題具體分析

不知大家是否做對了,如果沒做對也不要灰心,再好好看一下這兩個例子,加深理解和記憶,相信大家總會理解的,加油!

4.5 時延帶寬積

從字面意思就可以看出,該性能指標是時延與帶寬的乘積。但是時延由發送時延、傳播時延和處理時延三部分構成,該性能指標中的時延具體是指哪一個呢?

答案是傳播時延。也就是說,時延帶寬積是傳播時延與帶寬的乘積

我們可以把傳輸鏈路看成是一個管道,且長度為傳播時延,橫截面積為帶寬,則時延帶寬積就是該管道的體積,可以想象成管道中充滿了比特。

因此,我們可以發現:若發送端連續發送數據,則在所發送的第一個比特即將到達終點時,發送端就已經發送了時延帶寬積的比特。鏈路的時延帶寬積又稱為以比特為單位的鏈路長度

4.6 往返時間

在許多情況下,英特網上的信息不僅僅單方向傳輸,而是雙向交互。我們有時很需要知道雙向交互一次所需的時間,因此往返時間RTT(Round-Trip Time)也是一個重要的性能指標。

來看下圖這個例子,以太網上的某臺主機要與無線局域網中的某臺主機進行信息交互(紅色箭頭流向及源主機到目的主機;橙色相反),往返時間RTT是指從原主機發送分組開始,直到原主機收到來自目的主機的確認分組為止所需要的時間

請大家根據我們上節課介紹的有關時延的知識來分析一下,分組是在這個以太網上耗時較多,還是在這個無線局域網上耗時較多,又或者是在衛星鏈路上耗時較多呢?

答案是衛星鏈路耗時較多

一般情況下,衛星鏈路的距離比較遠,所帶來的傳播時延比較大。例如地球同步衛星距離地球36000km,那么可以計算出通過同步衛星轉發分組所帶來的傳播時間大約為240ms。

4.7 利用率

利用率有兩種,一種是信道利用率,另一種是網絡利用率

信道利用率用來表示某信道有百分之幾的時間是被利用的,也就是有數據通過的百分比。而網絡利用率是指全網絡的信道利用率加權平均

根據排隊論,當某信道的利用率增大時,該信道引起的時延也會迅速增加,因此信道利用率并非越高越好

如果令D0 表示網絡空閑時的時延,D表示網絡當前的時延,那么在適當的假定條件下,可以利用下面的簡單公式來表示D、D0 和利用率U之間的關系:D = D0 / (1 - U)。我們可以按該式畫出時延D隨利用率U的變化曲線。

可以看出,時延D從網絡空閑時的時延D0 隨利用率U的增加而迅速增長:當網絡的利用率達到50%時,時延就要加倍;當網絡的利用率超過50%時,時延急劇增大;當網絡的利用率接近100%時,時延趨于無窮大。

因此,一些擁有較大主干網的ISP通常會控制他們的信道利用率不超過50%,如果超過了,就要準備擴容,增大線路的帶寬。當然也不能使信道利用率太低,這會使寶貴的通信資源白白浪費。應該使用一些機制,可以根據情況動態調整輸入到網絡中的通信量,使網絡利用率保持在一個合理的范圍內。

4.8 丟包率

丟包率即分組的丟失率,是指在一定的時間范圍內,傳輸過程中丟失的分組數量與總分組數量的比率

丟包率具體可分為接口丟包率節點丟包率鏈路丟包率路徑丟包率網絡丟包率等。

丟包率是網絡運維人員非常關心的一個網絡性能指標,但對于普通用戶來說,往往并不關心這個指標,因為他們通常意識不到網絡丟包。

分組丟失主要有兩種情況,我們來舉例說明。一種情況是分組在傳輸過程中出現誤碼,被節點交換機丟棄。如圖所示,主機發送的分組在傳輸過程中出現了誤碼,當分組進入傳輸路徑中的節點交換機時,被節點交換機檢測出了誤碼,進而被丟棄。

至于節點交換機是如何檢測出分組有誤碼的,我們會在后續課程中介紹。

另一種情況是分組到達一臺存儲隊列已滿的分組交換機時被丟棄。在通信量較大時,就可能造成網絡擁塞。如下圖所示。

假設路由器R5 當前的輸入緩沖區已滿,此時主機發送的分組到達該路由器,路由器沒有存儲空間存放該分組,只能將其丟棄。

需要說明的是,實際上路由器會根據自身擁塞控制方法,在輸入緩存還未滿的時候就主動丟棄分組

因此丟包率反映了網絡的擁塞情況

  1. 無擁塞時,路徑丟包率為零;

  2. 輕度擁塞時,路徑丟包率為1%到4%;

  3. 嚴重擁塞時,路徑丟包率為5%到15%。

當網絡的丟包率較高時,通常無法使網絡應用正常工作。


4.9 簡單總結

關于計算機網絡的幾大性能指標的介紹到這里就結束了,我們將本次所介紹的幾個常用的計算機網絡性能指標的要點總結如下圖所示。


以上便是本次文章的所有內容,歡迎各位朋友在評論區討論,本人也是一名初學小白,愿大家共同努力,一起進步吧!

鑒于筆者能力有限,難免出現一些紕漏和不足,望大家在評論區批評指正,謝謝!

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/82838.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82838.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/82838.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java 面試實錄:從Spring到微服務的技術探討

在一個明亮的會議室里,嚴肅的面試官與搞笑的程序員謝飛機正進行一場關于Java技術棧的面試。場景設定在一家知名互聯網大廠,他們的對話充滿了技術性與娛樂性。 第一輪:Spring框架與數據庫 面試官:“謝飛機,能解釋一下…

OpenCV CUDA模塊圖像過濾------創建一個 Scharr 濾波器函數createScharrFilter()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 該函數用于創建一個 Scharr 濾波器(基于 CUDA 加速),用于圖像的一階導數計算。它常用于邊緣檢測任務中&#…

yolov8分割任務的推理和后處理解析

文章目錄 一、前言二、分割模型的前向推理1. 檢測結果:來自Detect類的輸出2. 分割結果(最終)3. 與Detect的主要區別4. 工作流程 三、后處理1. 非極大值抑制(NMS)過濾檢測框2. 分割原型(Mask Prototypes&…

4.1.1 Spark SQL概述

Spark SQL是Apache Spark的一個模塊,專門用于處理結構化數據。它引入了DataFrame這一編程抽象,DataFrame是帶有Schema信息的分布式數據集合,類似于關系型數據庫中的表。用戶可以通過SQL、DataFrames API和Datasets API三種方式操作結構化數據…

華為OD機試真題——書籍疊放(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳實現

2025 A卷 200分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C++、GO六種語言的最佳實現方式; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析; 本文收錄于專欄:《2025華為OD真題目錄+全流程解析+備考攻略+經驗分…

尚硅谷redis7 63-69 redis哨兵監控之理論簡介

63 redis哨兵監控之理論簡介 什么是哨兵 master掛了如何辦?從機原地待命。此時數據只能讀取不能更新。因此需要: 吹哨人巡查監控后臺master主機是否故障,如果故障了根據投票數自動將某一個從庫轉換為新主庫, 哨兵的作用 1、監控redis運行狀態,包括master和slave…

word文檔格式規范(論文格式規范、word格式、論文格式、文章格式、格式prompt)

文章目錄 prompt prompt [格式要求] - 字體:中文宋體小四;英文Times New Roman 12pt;標題黑體 - 行距:1.5倍(段前段后0行) - 邊距:A4默認(上下2.54cm,左右3.17cm&…

SpringBoot+tabula+pdfbox解析pdf中的段落和表格數據

一、前言 在日常業務需求中,往往會遇到解析pdf文件中的段落或者表格數據的需求。 常見的做法是使用 pdfbox 來做,但是它只能提取文本數據,沒有我們在文件頁面上面的那種結構化組織,文本通常是散亂的包含各種換行回車空格等格式&a…

【Elasticsearch】stored_fields

在 Elasticsearch 中,stored_fields 是一個非常重要的概念,主要用于控制文檔存儲和檢索時的行為。以下是對 stored_fields 的詳細解釋: 1\. stored_fields 的作用 stored_fields 用于指定在檢索文檔時需要返回的字段。默認情況下,…

計算機網絡 | 1.1 計算機網絡概述思維導圖

附大綱: 計算機網絡的概念 一個通過通信設備與線路把不同計算機系統連接起來,實現資源共享和信息傳遞的系統 計算機網絡的組成 從組成成分上 硬件:主機、通信鏈路、交換設備、通信處理機軟件:網絡操作系統、聊天軟件等協議&…

HOW - 簡歷和求職面試寶典(三)

文章目錄 1. 面試邀約2. 開始面試和自我介紹第一、面試前的準備工作第二、如何全面地介紹自己1. 面試邀約 第一、先認識日常HR 的工作流程 首先,電話溝通是 HR 核心工作內容的一部分。電話溝通分為兩種:一種是電話預約;另外一種是電話確認。 電話預約很清晰,就是確認面試…

Java基礎 Day24

一、進程和線程 1、進程 (1)概念 進程 (Process) 是計算機中的程序關于某數據集合上的一次運行活動 是系統進行資源分配的基本單位 簡單理解:程序的執行過程(正在運行的應用程序) (2)特性…

C#學習:基于LLM的簡歷評估程序

前言 在pocketflow的例子中看到了一個基于LLM的簡歷評估程序的例子,感覺還挺好玩的,為了練習一下C#,我最近使用C#重寫了一個。 準備不同的簡歷: 查看效果: 不足之處是現實的簡歷應該是pdf格式的,后面可以…

git怎么合并兩個分支

git怎么合并分支代碼 注意: 第一步你得把當前分支合到遠程分支去才能有下面的操作 另外我是將develop分支代碼合并到release分支去 git 命令 查看本地所有分支 git branch切換分支 例如切換到release分支 git checkout release拉取代碼 git pull up release 合并分支 …

Android-kotlin協程學習總結

Kotlin協程實戰對話? ?真題1:協程與線程的本質區別是什么?為什么說協程是輕量級的??? ?面試官?: “我看你項目中用協程替代了線程池,能說說協程和線程的核心區別嗎?為什么協程更適合高并發&#xf…

uni-app學習筆記十四-vue3中emit的使用

在組件傳值中&#xff0c;無論是props還是slot都是單向數據流&#xff0c;父組件向子組件傳值&#xff0c;子組件不能直接對父組件傳過來的值進行重新賦值。 下面學習子組件向父組件傳值的工具--emit。 在子組件emit設置傳遞的函數名和值 <template><view>子組件…

Java設計模式從基礎到實際運用

第一部分&#xff1a;設計模式基礎 1. 設計模式概述 設計模式(Design Pattern)是一套被反復使用、多數人知曉的、經過分類編目的代碼設計經驗的總結&#xff0c;它描述了在軟件設計過程中一些不斷重復出現的問題以及該問題的解決方案。設計模式是在特定環境下解決軟件設計問題…

鴻蒙OSUniApp 制作自定義的進度條組件#三方框架 #Uniapp

使用 UniApp 制作自定義的進度條組件 在移動應用開發中&#xff0c;進度條是非常常見的 UI 組件&#xff0c;無論是文件上傳、下載、任務進度還是表單填寫反饋&#xff0c;進度條都能為用戶提供直觀的進度提示。雖然 UniApp 提供了一些基礎的進度條能力&#xff0c;但在實際項…

Python爬蟲實戰:研究Beautiful Soup框架相關技術

1. 引言 1.1 研究背景與意義 隨著互聯網的快速發展,網絡上的數據量呈爆炸式增長。如何從海量的網頁數據中高效提取有價值的信息,成為信息科學領域的重要研究課題。網絡爬蟲作為一種自動獲取網頁內容的技術,能夠按照預設規則遍歷互聯網并采集數據,為信息檢索、輿情分析、商…

【Tips】關于PCI和PCIe的配置空間差異和io/memory io讀寫

最近在看同事2023年講的PCI基礎課&#xff0c;感覺確實是豁然開朗了&#xff0c;贊美同事。 PCIe實際上是PCI的擴展&#xff08;extended&#xff09;&#xff0c;PCIe設備相當于是迭代升級產品。 而PCIe的配置空間基于PCI原有的0xFF&#xff08;256字節&#xff09;配置空間…