電腦網路概述2
電腦網路的類別
電腦網路定義
關於電腦網路較好的定義是[PETE11]:電腦網路主要是由一些通用的,可編程的硬體(一定包含中央處理器)互連而成。這些可編程的硬體能夠用來傳送多種不同類型的數據,並能支援廣泛和日益增長的應用。
幾種不同類型的電腦網路
按照網路的作用範圍進行分類
- 廣域網(Wide Area Network):作用範圍通常為幾十到幾千公里。
- 城域網MAN(Metropolitan Area Network):作用範圍一般為一個城市。
- 區域網(Local Area Network):作用範圍一般為1KM左右。例如校園網或者企業網。
- 個人區域網(Personal area Network):作用範圍通常為10m左右。
按照網路的使用者進行分類
- 公用網(public network):指的是電信公司出資建造的大型網路。公用的意思是所有願意按電信公司的規定所繳納費用的人都可以使用這種網路,因此公用網也稱之為公眾網。
- 專用網(private network):某個部門為滿足自己的特殊要求而建造的網路,這種網路不向本單位以外的人提供服務。例如軍隊,鐵路,銀行,電力等系統。
用來把用戶連接到互聯網的網路
- 這種網路是接入網AN(Access Network),又稱之為本地接入網或居民接入網。由前面介紹,用戶必須接入ISP才能接入到互聯網。接入網一般指的是從某用戶端系統到互聯網的第一個路由器。
電腦網路的性能
電腦網路的性能一般指的是它的幾個重要的性能指標,但除了這些重要的性能指標,還有一些非性能特徵。
電腦網路的性能指標
-
速率:電腦發出的訊號都是數字形式的,bit表示二進位數字,速錄指的是數據的傳輸速率,也稱之為數據率或者比特率。速率的單位是比特每秒(bit/s),當速率較高時,可以再bit/s前面加上K,M,G等,之間的關係依次是10^3。值得注意的是,當提及到網路的速率的時候,往往指定的是額定速率或標準速率,而並非網路上的實際運行的速率。
-
頻寬:頻寬有以下兩個不同的意義:
- 頻寬本來指的是某個訊號具有的頻頻寬度,訊號的頻寬指的是該訊號所包含的各種不同頻率成分所佔的頻率範圍。頻寬的單位是赫茲(HZ),當然還有千赫,兆赫等等。在過去的很長時間裡,通訊的主幹線路傳送的主要是模擬訊號(連續變化的訊號),因此表示某信道允許通過的訊號頻帶範圍稱之為該信道的頻寬。
- 在電腦網路中,頻寬用來表示網路中某通道中傳送數據的能力,因此網路頻寬表示單位時間內網路中的信道能夠通過的最高速率,這種意義的的頻寬的單位就是數據率的單位bit/s,一條通訊鏈路的頻寬越寬,其所能傳輸的最高數據率越高。
-
吞吐量:吞吐量表示單位時間內通過某個網路的實際的數據量。吞吐量經常用於對現實世界網路的一種測量。以便直到實際上有多少數據量能通過網路。。顯然,吞吐量受網路的頻寬或者實際速率影響。
-
時延:指的是數據從一端到另一端所需的時間,時延是一個很重要的性能指標,有時候也稱之為延遲或者遲延。值得注意的是,時延是由以下及部分組成:
-
發送時延:發送時延是主機或者路由器發送數據幀所需的時間,特就是發送數據幀的第一個比特算起,到該幀的最後一個比特發送完畢所需的時間。因此發送時延也稱之為傳輸時延。發送時延的計算公式是:
-
傳播時延:傳播時延是電磁波在信道中穿比一定的距離需要花費的時間。傳播時延的計算公式是:
-
處理時延:主機或者路由器在收到分組的時候要花費一定的時間來處理,例如分析分組的首部,從分組中提取數據部分,進行差錯檢查等等,這就產生了處理時延。
-
排隊時延:分組經過網路傳輸的時候,要經過許多路由器,但分組進入路由器後要先在輸入列表中排隊等待處理,在路由器確定了轉發介面後,還要在輸出隊列中排隊等待轉發,這就產生了排隊時延。排隊時延的長短往往取決於網路當時的通訊量,當網路的通訊量很大的時候就會發生隊列溢出,使分組丟失。
總時延=發送時延+傳播時延+處理時延+排隊時延。
-
-
時延頻寬積:傳播時延x頻寬。
例如:設某鏈路的傳播時延為20ms,頻寬為10Mbit/s,算出時延頻寬積=20x(10-3)x10x(106)=2×10^5bit。鏈路的時延頻寬積單位為比特。 -
往返時間RTT(round-trip time):在許多情況下,互聯網上的資訊,不僅僅單方向傳輸而是雙向交互的,因此我們需要知道雙向交互一次所需的時間。
-
利用率:
-
信道利用率:信道利用率指的是某信道有百分之幾的時間是被利用的。。完全空閑的信道利用率為0。
-
網路利用率:網路利用率則是全網路的信道利用率的加權平均值。信道利用率並非越高越好,這是因為,當某信道的利用率增加的時候,該信道引起的時延也迅速增加,類比於高速公路,當高速公路上的車流量很大的時候,就容易引起擁堵。如果另D0表示網路空閑時的時延,D表示當前網路的時延,,那麼在適定的假設條件下,可以用下列公式表示D,D0,和利用率U之間的關係:
這裡U指的是網路的利用率,數值在0-1之間。當網路的利用率達到其容量的1/2的時候,時延就要加倍。特別注意的是,當網路的利用率接近最大值1時,網路的時延就會趨近於無窮大。因為我們要知道:信道或者網路的利用率過高就會產生非常大的時延。
-
電腦網路的非性能特徵
- 費用:網路的價格(包括設計和實現的費用必須是要考慮的,一般來說,網路的性能越高,其價格就越高。
- 品質:網路的品質取決於網路中所有構件的品質。網路的品質影響到許多方面,例如網路的可靠性,網路管理的簡單性等等。
- 標準化:網路的硬體和軟體的設計既可以按照通用的國際標準,也可以遵循特定的專用網路標準,最好是採用國際標準。
- 可靠性:可靠性與網路的品質與性能有著密切的關係。
- 可擴展性和可升級性:在構造網路時就應該考慮到今後可能會需要到的擴展和升級。網路的性能越高,其擴展費用往往也越高。難度也會相應增加。
- 易於管理和維護:網路如果沒有良好的管理與維護,就很難達到和保持所設計的性能。
電腦網路體系結構
電腦網路體系結構的形成
電腦網路是一個非常複雜的系統,我們先設想一個最簡單的情況:連接在網路上的兩台電腦要相互傳送文件。這兩台電腦之間必須要有一條傳送數據的通路,但遠遠不夠,至少還有以下事情要做:
- 發起通訊的電腦必須將數據通訊的通路進行激活( activate)。所謂「激活」就是要發出一些信令,保證要傳送的電腦數據能在這條通路上正確發送和接收。
- 要告訴網路如何識別接收數據的電腦。
- 發起通訊的電腦必須査明對方電腦是否已開機,並且與網路連接正常。
- 發起通訊的電腦中的應用程式必須弄清楚,在對方電腦中的文件管理程式是否已做好接收文件和存儲文件的準備工作。
- 若電腦的文件格式不兼容,則至少其中一台電腦應完成格式轉換功能。
- 對出現的各種差錯和意外事故,如數據傳送錯誤、重複或丟失,網路中某個結點交換機岀現故障等,應當有可靠的措施保證對方計算杋最終能夠收到正確的文件。
協議的層次與劃分
在電腦網路中要做到有條不紊地交換數據,就必須遵守一些事先約定好的規則。這上規則明確規定了所交換的數據的格式以及有關的同步問題。這裡所說的同步不是狹義的即同頻或同頻同相)而是廣義的,即在一定的條件下應當發生什麼事件(例如,應當發送
個應答資訊),因而同步含有時序的意思。這些為進行網路中的數據交換而建立的規則、標準或約定稱為網路協議( network protocol)。網路協議也可簡稱為協議。更進一步講,網路協議主更由以下三個要去組成:
-
語法:數據與控制資訊的結構或格式。
-
語義:需要發出何種控制資訊,完成何種動作以及做出何種響應
-
同步:即事件實現順序的詳細說明。
由此可見,網路協議是電腦網路不可缺少的組成部分。實際上,只要我們想讓連接在網路上的另一台電腦做點什麼事情(例如,從網路上的某台主機下載文件),我們都需要有協議。但是當我們經常在自己的個人電腦上進行文件存檔操作時,就不需要任何網路協議,除非這個用來存儲文件的磁碟是網路上的某個文件伺服器的磁碟。
我們假設現在有一個文件傳輸任務:主機1要向主機2通過網路傳輸文件,我們可以將任務分為三類:第一類工作工作與傳送文件直接相關。例如發送端的文件傳送應用程式應當確信接收端的文件管理程式已做好接收和存儲文件的準備。若兩台主機所用的文件格式不一樣,則至少其中的一台主機應完成文件格式的轉換。這兩項工作可以用一個文件傳送模組來完成,這樣,兩台主機可以將文件傳送模組最為最高的一層(如下圖)。
但是,我們並不想讓文件傳送模組完成全部工作的細節,這樣會使文件傳送模組過於複雜。可以再設立一個通訊服務模組,用來保證文件和文件傳送命令可靠地在兩個系統之間交換。也就是說,讓位於上面的文件傳送模組利用下面的通訊服務模組所提供的服務。我們還可以看出,如果將位於上面的文件傳送模組換成電子郵件模組,那麼電子郵件模組同樣可以利用在它下面的通訊服務模組所提供的可靠通訊的服務。同樣道理,我們再構造一個網路接入模組,讓這個模組負責做與網路介面細節有關的
工作,並向上層提供服務,使上面的通訊服務模組能夠完成可靠通訊的任務。同樣道理,我們再構造一個網路接入模組,讓這個模組負責做與網路介面細節有關的工作,並向上層提供服務,使上面的通訊服務模組能夠完成可靠通訊的任務。
具有五層協議的體系結構
OSI的七層協議體系結構(圖1-18(a))的概念清楚,理論也較完整,但它既複雜又不實用。TCPP體系結構則不同,但它現在卻得到了非常廣泛的應用。TCPP是一個四層的體系結構(圖1-18(b)),它包含應用層、運輸層、網際層和網路介面層(用網際層這個名字是強調這一層是為了解決不同網路的互連問題)。不過從實質上講,TCPP只有最上面的三層,因為最下面的網路介面層並沒有什麼具體內容。因此在學習電腦網路的原理時往往採取折中的辦法,即綜合OSI和TCPP的優點,採用一種只有五層協議的體系結構(圖1-18(c)),這樣既簡潔又能將概念闡述清楚°。有時為了方便,也可把最底下兩層稱為網路介面層。
- 應用層:應用層是體系結構中的最高層。應用層的任務是通過應用進程間的交互來完成特定網路應用。應用層協議定義的是應用進程間通訊和交互的規則。這裡的進程就是指主機中正在運行的程式。對於不同的網路應用需要有不同的應用層協議。在互聯網中的應用層協議很多,如域名系統DNS,支援萬維網應用的HTTP協議,支援電子郵件的SMTP協議,等等。我們把應用層交互的數據單元稱為報文( message)
- 運輸層:運輸層的仼務就是負責向兩台主機中進程之間的通訊提供通用的數據傳輸服務。應用進程利用該服務傳送應用層報文。所謂「通用的」,是指並不針對某個特定網路應用,而是多種應用可以使用同一個運輸層服務。由於一台主機可同時運行多個進程,因此運輸層有復用和分用的功能。復用就是多個應用層進程可同時使用下面運輸層的服務,分用和復用相反,是運輸層把收到的資訊分別交付上面應用層中的相應進程。運輸層主要使用以下兩種協議:
- 傳輸控制協議TCP( Transmission Control protocol)—提供面向連接的、可靠的數據傳輸服務,其數據傳輸的單位是報文段( segment)。
- 用戶數據報協議UDP( User Datagram Protoco)提供無連接的、盡最大努力( best-effort)的數據傳輸服務(不保證數據傳輸的可靠性),其數據傳輸的單位是用戶數據報。
- 網路層:網路層負責為分組交換網上的不同主機提供通訊服務。在發送數據時,網路層把運輸層產生的報文段或用戶數據報封裝成分組或包進行傳送。在TCPP體系中,由於網路層使用IP協議,因此分組也叫做IP數據報,或簡稱為數據報。本書把「分組」和「數據報」作為同義詞使用。請注意:不要將運輸層的「用戶數據報UDP」和網路層的「IP數據報」弄混。此外,無論在哪一層傳送的數據單元,都可籠統地用「分組」來表示。網路層的另一個任務就是要選擇合適的路由,使源主機運輸層所傳下來的分組,能夠通過網路中的路由器找到目的主機。這裡要強調指出,網路層中的「網路」二字,已不是我們通常談到的具體網路,而是在電腦網路體系結構模型中的第3層的名稱。互聯網是由大量的異構( heterogeneous)網路通過路由器( (router)相互連接起來的。互聯網使用的網路層協議是無連接的網際協議P( Internet Protocol)和許多種路由選擇協議,因此互聯網的網路層也叫做網際層或IP層。在本書中,網路層、網際層和IP層都是同義語。
- 數據鏈路層:數據鏈路層常簡稱為鏈路層。我們知道,兩台主機之間的數據傳輸,總是在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協議。在兩個相鄰結點之間傳送數據時,數據鏈路層將網路層交下來的IP數據報組裝成幀( raming),在兩個相鄰結點間的鏈路上傳送幀(fτame)。每一幀包括數據和必要的控制資訊(如同步資訊、地址資訊、差錯控制等)。在接收數據時,控制資訊使接收端能夠知道一個幀從哪個比特開始和到哪個比特結束。這樣,數據鏈路層在收到一個幀後,就可從中提取出數據部分,上交給網路層。控制資訊還使接收端能夠檢測到所收到的幀中有無差錯。如發現有差錯,數據鏈路層就簡單地丟棄這個出了差錯的幀,以免繼續在網路中傳送下去白白浪費網路資源。如果需要改正數據在數據鏈路層傳輸時出現的差錯(這就是說,數據鏈路層不僅要檢錯,而且要糾錯),那麼就要採用可靠傳輸協議來糾正出現的差錯。這種方法會使數據鏈路層的協議複雜些。
- 物理層:在物理層上所傳數據的單位是比特。發送方發送1(或0)時,接收方應當收到1(或0)而不是0(或1)。因此物理層要考慮用多大的電壓代表「1」或「0」,以及接收方如何識別出發送方所發送的比特。物理層還要確定連接電纜的插頭應當有多少根引腳以及各引腳應如何連接。當然,解釋比特代表的意思,就不是物理層的任務。請注意,傳遞資訊所利用的些物理媒體,如雙絞線、同軸電纜、光纜、無線信道等,並不在物理層協議之內而是在物理層協議的下面。因此也有人把物理層下面的物理媒體當作第0層。