計算機網絡原理第一章

計算機網絡原理第一章

1.1 計算機網絡發展簡史

計算機網絡發展的四個階段

計算機網絡是計算機技術與通信技術相結合的產物。隨着計算機技術和通信技術的不斷髮展,計算機網絡也經歷了從簡單到複雜,從單機到多機的發展過程,其發展過程大致可以細分爲以下4個階段。

  1. 面向終端的計算機網絡:20世紀50~60年代,計算機網絡進入到面向終端的階段,以主機爲中心,通過計算機實現與遠程終端的數據通信。

  2. 多臺計算機互連的計算機網絡

    這一階段主要有兩個標誌性成果:

    1. 提出分組交換技術
    2. 形成了TCP/IP協議雛形

    在這階段最引人注目的是ARPAnet的建立,高等研究計劃署網絡(英語:Advanced Research Projects Agency Network,縮寫ARPAnet)是美國國防高等研究計劃署開發的世界上第一個運營的數據包交換網絡,是全球互聯網的鼻祖。由於ARPAnet規模增大,人們需要一種統一的體系結構,1973年12月25日,Vinton Cerf(溫頓·瑟夫)和 Robert Kahn(羅伯特卡恩)完成了TCP描述。1978年分離出IP和TCP,後又增加UDP。

  3. 面向標準化的計算機網絡

    • IBM公司(1974)SNA(系統網絡體系結構)
    • DEC公司DNA(數字網絡系統結構)
    • Univac公司DCA(數字通信體系結構)
    • Burroughs公司BNA(寶來網絡體系結構)

    這一階段標準性成果有

    • 制定網絡體系結構
    • OSI-RM模型形成TCP/IP系統結構形成的以太網
    • 公用數據網

    在ARPANET的基礎上,形成了以TCP/IP爲核心的因特網。任何一臺計算機只要遵循TCP/IP協議族標準,並有一個合法的IP地址,就可以接入到Internet。TCP和IP是Internet所採用的協議族中最核心的兩個, 分別稱爲傳輸控制協議(Transmission Control Protocol, TCP)和互連網協議(Internet Protocol, IP)。

  4. 面向全球互聯的計算機網絡

因特網發展回顧

因特網起源於阿帕網ARPAnet

1986年,美國NSF建立了國家科學基金網 NSFNET, 因特網逐步形成三級層次架構:

1993年開始,由美國政府資助的 **NSFNET*逐漸被若干個商用的ISP **網絡所代替。

1994 年開始創建了 4 個網絡接入點 **NAP (NetworkAccess Point),分別由 **4 個電信公司經營。

1994 年到現在,因特網逐漸演變成多級結構、覆蓋全球的大規模網絡。

因特網在我國的發展

第一階段:1986年–1994年

第二階段:1995年–2007年

第三階段:從2008年–以規模發展爲標誌

1.2計算機網絡的定義及其特點

計算機網絡的定義

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

重要的兩點:

  1. 多種硬件:包括計算機、只能手機、智能傳感器等
  2. 多種應用:包括數據、語音、視頻、以及今後可能出現的各種應用

“網絡”是一個統稱,泛指把人或物互連在一起而形成的系統

大衆熟悉的三大類網絡:

  • 電信網絡:提供電話、電報及傳真等服務
  • 有限電視網絡:向用戶傳送各種電視節目
  • 計算機網絡:使用戶在計算機之間傳送數據文件

其中發展最快的並起到核心作用的是計算機網絡

計算機網絡的特點

  • 連通性:使上網用戶之間都可以交換信息(數據,以及各種音頻視頻) ,好像這些用戶的計算機都可以彼此直接連通一樣(注意,互聯網具有虛擬的特點,無法準確知道對方是誰,也無法知道對方的位置)
  • 共享性:指資源共享,資源共享的含義是多方面的。可以是信息共享,軟件共享,也可以是硬件共享

1.3互聯網概述

互聯網的定義

互聯網,特指 Internet,它起源於美國,是由數量極大的各種計算機網絡互連起來而形成的一個互連網絡。它採用 TCP/IP 協議族作爲通信規則,是一個覆蓋全球、實現全球範圍內連通性和資源共享的計算機網絡。

internet和Internet 的區別

  • 以小寫字母 “i” 開始的 internet(互連網)是一個通用名詞,它泛指由多個計算機網絡互連而成的網絡。

  • 大寫字母“I” 開始的的 Internet(互聯網或因特網)則是一個專用名詞,它指當前全球最大的、開放的、由衆多網絡相互連接而成的特定計算機網絡,它採用 TCP/IP 協議族作爲通信的規則,且其前身是美國的 ARPANET。

所以任意把幾個計算機網絡互連起來(不管採用什麼協議),並能夠相互通信,這樣構成的是一個互連網 (internet),而不是互聯網(Internet)。

互聯網基礎結構發展的三個階段

  • **第一階段:**從單個網絡 ARPANET 向互聯網發展的過程。1983 **年,TCP/IP **協議成爲 ARPANET 上的標準協議,使得所有使用 TCP/IP 協議的計算機都能利用互連網相互通信。人們把 1983 作爲互聯網的誕生時間。1990年,ARPANET 正式宣佈關閉。

  • 第二階段:建成了三級結構的互聯網。它是一個三級計算機網絡,分爲主幹網、地區網和校園網(或企業網)。

  • 第三階段:逐漸形成了多層次 ISP 結構的互聯網。出現了**互聯網服務提供者 **ISP (Internet Service Provider)。任何機構和個人只要向某個 ISP **交納規定的費用,就可從該 **ISP 獲取所需 IP 地址使用權,並可通過該ISP 接入到互聯網。根據提供服務的覆蓋面積大小以及所擁有的IP地址數目的不同,ISP也分成爲不同層次的ISP:主幹ISP、地區ISP和本地ISP。

1.4計算機網絡的類別

計算機網絡的定義

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

幾種不同類別的網絡

計算機網絡有多種類別。典型包括:

  • 按照網絡的作用範圍進行分類

    • 廣域網WAN (Wide Area Network):作用範圍通常爲幾十到幾千公里。

    • 城域網MAN (Metropolitan Area Network):作用距離約爲5~50 公里。

    • 局域網 LAN (Local Area Network) **:**侷限在較小的範圍(如 1 公里左右)。

    • 個人區域網 PAN (Personal Area Network) **:**範圍很小,大約在 10 左右。

    • 若中央處理機之間的距離非常近(如僅1 米的數量級甚至更小些),則一般就稱之爲多處理機系統,而不稱它爲計算機網絡

  • 按照網絡的使用者進行分類

    • 公用網 (public network) 按規定交納費用的人都可以使用的網絡。因此也可稱爲公衆網
    • 專用網 (private network) 爲特殊業務工作的需要而建造的網絡。
  • 用來把用戶接到互聯網的網絡

    接入網 AN (Access Network),它又稱爲本地接入網或居民接入網。

    接入網是一類比較特殊的計算機網絡,用於將用戶接入互聯網。接入網本身既不屬於互聯網的核心部分,也不屬於互聯網的邊緣部分。接入網是從某個用戶端系統到互聯網中的第一個路由器(也稱爲邊緣路由器)之間的一種網絡。從覆蓋的範圍看,很多接入網還是屬於局域網。從作用上看,接入網只是起到讓用戶能夠與互聯網連接的“橋樑”作用。

1.5互聯網的組成

從互聯網的工作方式上看可以分爲兩大塊

  • 邊緣部分:有所有連接在互聯網的主機組成。這部分由用戶直接使用的,用來進行通信和資源共享
  • 核心部分:由大量網絡和連接這些網絡的路由器組成。這部分時爲邊緣部分提供服務的

計算機的邊緣部分

主機A和主機B進行通信實質是指“運行在主機A上的某一個程序和運行在主機B上的另一個現場進行通信,即主機A的某一個進程和主機B上另一個進程進行通信

端系統之間的通信可以劃分爲兩大類

  • 用戶-服務器方式(C/S方式)即Client/Server方式,簡稱C/S方式。

    • 客戶和服務器都是通信中涉及的兩個應用進程

    • 客戶-服務器方式所描述的是進程之間服務和被服務的關係

    • 客戶是服務的請求方,服務器是服務的提供方

    • 服務請求方和服務提供方都要使用網絡核心部分所提供的服務

  • 對等方式(P2P方式)即Peer-to-Peer方式,簡稱P2P方式

    • 對等連接指兩個主機在通信時並不區分哪個時服務請求方還是服務提供方

    • 只要兩個主機運行了對等連接軟件(P2P軟件)它們就可以進行平等的、對等連接通信

    • 雙方都可以下載對方已經存儲在影片中的共享文檔

客戶軟件的特點

被用戶調用後運行,在打算通信時主動向遠地服務器發起通信(請求服務)。因此,客戶程序必須知道服務器程序的地址。

服務器軟件的特點

  • 一種專門用來提供某種服務的程序,可同時處理多個遠地或本地客戶的請求
  • ==系統啓動後即自動調用並一直不斷地運行着,被動地等待並接受來自各地的客戶的通信請求。==因此,服務器程序不需要知道客戶程序的地址。
  • 一般需要強大的硬件和高級的操作系統支持。

客戶與服務器的通信關係建立後,通信可以是雙向的,客戶和服務器都可發送和接收數據。

對等連接方式的特點

對等連接方式從本質上看仍然是使用客戶服務器方式,只是對等連接中的每一個主機既是客戶又是服務器。
例如主機 C 請求 D 的服務時,C 是客戶,D 是服務器。但如果 C 又同時向 F提供服務,那麼 C 又同時起着服務器的作用。

對等連接工作方式可支持大量對等用戶(如上百萬個)同時工作。

互聯網的核心部分

  • 網絡核心部分是互聯網中最複雜的部分。
  • 網絡中的核心部分要向網絡邊緣中的大量主機提供連通性,使邊緣部分中的任何一個主機都能夠向其他主機通信(即傳送或接收各種形式的數據)。
  • 在網絡核心部分起特殊作用的是路由器 (router)。
  • 路由器是實現分組交換 (packet switching) 的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最重要的功能。

分組轉發是網絡核心部分的最重要的功能

典型的交換技術:電路交換、分組交換、電報交換等

互聯網等核心部分採用了分組交換技術

電路交換

電路交換的特點:

  • 2 部電話機只需要用 1 對電線直接連接就能夠互相通話。

    5 部電話機兩兩直接相連,需 10 對電線。

    N 部電話機兩兩直接相連,需 N(N –1)/2 對電線。這種直接連接方法所需要的電線對的數量與電話機數量的平方(N2N^2)成正比。

    當電話機的數量增多時,就要使用交換機來完成全網的交換任務。

    每一部電話都直接連接到交換機上,而交換機使用交換的方法,讓電話用戶彼此之間可以很方便地通信。 所採用的交換方式就是電路交換 (circuit switching)。

    電路交換必定是面向連接的。
    電路交換分爲三個階段:

    1. 建立連接:建立一條專用的物理通路,以保證雙方通話時所需的通信資源在通信時不會被其他用戶佔用;
    2. 通信:主叫和被叫雙方就能互相通電話;
    3. 釋放連接:釋放剛纔使用的這條專用的物理通路(釋放剛纔佔用的所有通信資源)。

    電路交換的用戶始終佔用端到端的通信資源

    電路交換的特點:計算機數據有突發性,這導致傳送計算機數據時,線路的利用率很低。

分組交換

分組交換的特點:

  • 分組交換則採用存儲轉發技術。在發送端,先把較長的報文劃分成較短的、固定長度的數據段。

    每一個數據段前面添加上首部構成分組 (packet)。

    分組交換網以“分組”作爲數據傳輸單元。依次把各分組發送到接收端(假定接收端在左邊)。

    接收端收到分組後剝去首部還原成報文。

    分組交換的傳輸單元:

    每一個分組的首部都含有地址(諸如目的地址和源地址)等控制信息。分組交換網中的結點交換機根據收到的分組首部中的地址信息,把分組轉發到下一個結點交換機。每個分組在互聯網中獨立地選擇傳輸路徑。用這樣的存儲轉發方式,最後分組就能到達最終目的地。

    在路由器 A 暫存查找轉發表找到轉發的端口轉發,在路由器 C 暫存查找轉發表找到轉發的端口轉發,在路由器 E 暫存查找轉發表找到轉發的端口轉發,最後到達目的主機 H5

    在路由器中的輸入和輸出端口之間沒有直接連線。
    路由器處理分組的過程是:

    1. 把收到的分組先放入緩存(暫時存儲);
    2. 查找轉發表,找出到某個目的地址應從哪個端口轉發;
    3. 把分組送到適當的端口轉發出去。

    主機與路由器的不同:

    • 主機是爲用戶進行信息處理的,並向網絡發送分組,從網絡接收分組。
    • 路由器對分組進行存儲轉發,最後把分組交付目的主機。

    分組交互的問題:分組在各結點存儲轉發時需要排隊,這就會造成一定的時延。 分組必須攜帶的首部(裏面有必不可少的控制信息)也造成了一定的開銷。

    三種交換的比較:

    • 若要連續傳送大量的數據,且其傳送時間遠大於連接建立時間,則電路交換的傳輸速率較快。
    • 報文交換和分組交換不需要預先分配傳輸帶寬,在傳送突發數據時可提高整個網絡的信道利用率。
    • 由於一個分組的長度往往遠小於整個報文的長度,因此分組交換比報文交換的時延小,同時也具有更好的靈活性。

1.6計算機網絡的性能

計算機網絡的性能指標

計算機網絡的性能一般是指它的幾個重要的性能指標,主要包括:速率、帶寬、吞吐率、時延、時延帶寬積、往返時間 RTT、利用率

速率

比特(bit)是計算機中數據量的單位,也是信息論中使用的信息量的單位。
比特(bit)來源於 binary digit,意思是一個“二進制數字”,因此一個比特就是二進制數字中的一個 1 或 0。
速率是計算機網絡中最重要的一個性能指標,指的是數據的傳送速率,它也稱爲數據率 (data rate) 或比特率 (bit rate)。速率的單位是 bit/s,或 kbit/s、Mbit/s、 Gbit/s等。例如4×10104 \times10^{10} bit/s 的數據率就記爲 40 Gbit/s。速率往往是指額定速率或標稱速率,非實際運行速率

帶寬

兩種不同意義:

  • “帶寬”(bandwidth) 本來是指信號具有的頻帶寬度,其單位是赫(或千赫、兆赫、吉赫等)。
  • 在計算機網絡中,帶寬用來表示網絡中某通道傳送數據的能力。表示在單位時間內網絡中的某信道所能通過的“最高數據率”。單位是 bit/s,即 “比特每秒”。

在“帶寬”的上述兩種表述中,前者爲頻域稱謂,而後者爲時域稱謂,其本質是相同的。也就是說,一條通信鏈路的“帶寬”越寬,其所能傳輸的“最高數據率”也越高。

吞吐率

吞吐量 (throughput) 表示在單位時間內通過某個網絡(或信道、接口)的數據量。

吞吐量更經常地用於對現實世界中的網絡的一種測量,以便知道實際上到底有多少數據量能夠通過網絡。

吞吐量受網絡的帶寬或網絡的額定速率的限制。

時延

時延 (delay 或 latency) 是指數據(一個報文或分組,甚至比特)從網絡(或鏈路)的一端傳送到另一端所需的時間。有時也稱爲延遲或遲延。
網絡中的時延由以下幾個不同的部分組成:發送時延、傳播時延、處理時延、排隊時延。

發送時延

也稱爲傳輸時延。
發送數據時,數據幀從結點進入到傳輸媒體所需要的時間。
也就是從發送數據幀的第一個比特算起,到該幀的最後一個比特發送完畢所需的時間。

傳播時延

電磁波在信道中需要傳播一定的距離而花費的時間。
發送時延與傳播時延有本質上的不同。
信號發送速率和信號在信道上的傳播速率是完全不同的概念。

處理時延

主機或路由器在收到分組時,爲處理分組(例如分析首部、提取數據、差錯檢驗或查找路由)所花費的時間。

排隊時延

分組在路由器輸入輸出隊列中排隊等待處理所經歷的時延。
排隊時延的長短往往取決於網絡中當時的通信量。

時延帶寬積

鏈路的時延帶寬積又稱爲以比特爲單位的鏈路長度。

往返時間RTT

互聯網上的信息不僅僅單方向傳輸,而是雙向交互的。因此,有時很需要知道雙向交互一次所需的時間。

往返時間 RTT (round-trip time) 表示從發送方發送數據開始,到發送方收到來自接收方的確認,總共經歷的時間。
在互聯網中,往返時間還包括各中間結點的處理時延、排隊時延以及轉發數據時的發送時延。
當使用衛星通信時,往返時間 RTT 相對較長,是很重要的一個性能指標。

利用率

分爲信道利用率和網絡利用率。
信道利用率指出某信道有百分之幾的時間是被利用的(有數據通過)。

完全空閒的信道的利用率是零。

網絡利用率則是全網絡的信道利用率的加權平均值。
信道利用率並非越高越好。當某信道的利用率增大時,該信道引起的時延也就迅速增加。

時延與網絡利用率的關係

根據排隊論的理論,當某信道的利用率增大時,該信道引起的時延也就迅速增加。
若令 D0 表示網絡空閒時的時延,D 表示網絡當前的時延,則在適當的假定條件下,可以用下面的簡單公式表示 D 和 D0 之間的關係:

其中:U 是網絡的利用率,數值在 0 到 1 之間。

計算機網絡的非性能指標

一些非性能特徵也很重要。它們與前面介紹的性能指標有很大的關係。主要包括:

  • 費用
  • 質量
  • 標準化
  • 可靠性
  • 可擴展性和可升級性
  • 易於管理和維護

1.7計算機網絡的體系結構

計算機網絡體系結構的形成

計算機網絡是個非常複雜的系統。
相互通信的兩個計算機系統必須高度協調工作才行,而這種“協調”是相當複雜的。
分層”可將龐大而複雜的問題,轉化爲若干較小的局部問題,而這些較小的局部問題就比較易於研究和處理。

只要遵循 OSI 標準,一個系統就可以和位於世界上任何地方的、也遵循這同一標準的其他任何系統進行通信。

OSI 只獲得了一些理論研究的成果,在市場化方面卻失敗了。原因包括:

  • OSI 的專家們在完成 OSI 標準時沒有商業驅動力;
  • OSI 的協議實現起來過分複雜,且運行效率很低;
  • OSI 標準的制定週期太長,因而使得按 OSI 標準生產的設備無法及時進入市場;
  • OSI 的層次劃分也不太合理,有些功能在多個層次中重複出現。

法律上的 (de jure) 國際標準 OSI 並沒有得到市場的認可。
非國際標準 TCP/IP 卻獲得了最廣泛的應用。TCP/IP 常被稱爲事實上的 (de facto) 國際標準。

協議與劃分層次

協議

網絡協議 (network protocol),簡稱爲協議,是爲進行網絡中的數據交換而建立的規則、標準或約定。

網絡協議的三個組成要素:

  • 語法:數據與控制信息的結構或格式 。
  • 語義:需要發出何種控制信息,完成何種動作以及做出何種響應。
  • 同步:事件實現順序的詳細說明。

由此可見,網絡協議是計算機網絡的不可缺少的組成部分。

協議的形式:

  • 一種是使用便於人來閱讀和理解的文字描述。
  • 另一種是使用讓計算機能夠理解的程序代碼。

這兩種不同形式的協議都必須能夠對網絡上信息交換過程做出精確的解釋。

對於非常複雜的計算機網絡協議,其結構應該是層次式的。

劃分層次

舉例:

可以將要做的工作進行如下的劃分:
第一類工作與傳送文件直接有關。
確信對方已做好接收和存儲文件的準備。
雙方已協調好一致的文件格式。
兩個主機將文件傳送模塊作爲最高的一層 ,剩下的工作由下面的模塊負責。

好處:

  • 各層之間是獨立的
  • 靈活性好
  • 結構上可分割開
  • 易於實現和維護
  • 能促進標準化工作

缺點:

  • 降低效率
  • 有些功能會在不同的層次重複出現,
  • 因而產生了額外的開銷

層數太少,就會使每一層的協議太複雜。層數太多,又會在描述和綜合各層功能的系統工程任務時遇到較多的困難。

各層完成的主要功能:

  • 差錯控制:使相應層次對方的通信更加可靠。
  • 流量控制:發送端的發送速率必須使接收端來得及接收,不要太快。
  • 分段和重裝:發送端將要發送的數據塊劃分爲更小的單位,在接收端將其還原。
  • 複用和分用:發送端幾個高層會話複用一條低層的連接,在接收端再進行分用。
  • 連接建立和釋放:交換數據前先建立一條邏輯連接,數據傳送結束後釋放連接。

計算機網絡的體系結構 (architecture) 是計算機網絡的各層及其協議的集合。 體系結構就是這個計算機網絡及其部件所應完成的功能的精確定義。

實現 (implementation) 是遵循這種體系結構的前提下用何種硬件或軟件完成這些功能的問題。
體系結構是抽象的,而實現則是具體的,是真正在運行的計算機硬件和軟件。

具有五層協議的體系結構

OSI 的七層協議體系結構的概念清楚,理論也較完整,但它既複雜又不實用。
TCP/IP 是四層體系結構:應用層、運輸層、網際層和網絡接口層。
但最下面的網絡接口層並沒有具體內容。
因此往往採取折中的辦法,即綜合 OSI 和 TCP/IP 的優點,採用一種只有五層協議的體系結構 。

主機 1 向主機 2 發送數據

OSI 參考模型把對等層次之間傳送的數據單位稱爲該層的協議數據單元 PDU (Protocol Data Unit)。這個名詞現已被許多非 OSI 標準採用。
任何兩個同樣的層次把數據(即數據單元加上控制信息)通過水平虛線直接傳遞給對方。這就是所謂的“對等層”(peer layers)之間的通信。
各層協議實際上就是在各個對等層之間傳遞數據時的各項規定。

實體、協議、服務和服務訪問點

實體 (entity) 表示任何可發送或接收信息的硬件或軟件進程。
協議是控制兩個對等實體進行通信的規則的集合。
在協議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務。
要實現本層協議,還需要使用下層所提供的服務。 協議的實現保證了能夠向上一層提供服務。
本層的服務用戶只能看見服務而無法看見下面的協議。即下面的協議對上面的服務用戶是透明的。
協議是“水平的”,即協議是控制對等實體之間通信的規則。
服務是“垂直的”,即服務是由下層向上層通過層間接口提供的。
上層使用服務原語獲得下層所提供的服務。

同一系統相鄰兩層的實體進行交互的地方,稱爲服務訪問點SAP(Service Access Point) 。

服務訪問點SAP是一個抽象的概念,它實際上就是一個邏輯接口。
OSI把層與層之間交換的數據的單位稱爲服務數據單元 SDU (Service Data Unit)
SDU 可以與 PDU 不一樣,例如,可以是多個 SDU 合成爲一個 PDU,也可以是一個 SDU 劃分爲幾個 PDU。

協議必須把所有不利的條件事先都估計到,而不能假定一切都是正常的和非常理想的。
看一個計算機網絡協議是否正確,不能光看在正常情況下是否正確,還必須非常仔細地檢查這個協議能否應付各種異常情況。

TCP/IP的體系結構

實際上,現在的互聯網使用的 TCP/IP 體系結構有時已經發生了演變,即某些應用程序可以直接使用 IP 層,或甚至直接使用最下面的網絡接口層。

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