目錄
本章重點內容
(1)互聯網邊緣部分和核心部分的作用,其中包含分組交換的概念。
(2)計算機網絡的性能指標。
(3)計算機網絡分層次的體系結構,包含協議和服務的概念。
建議:抽象的概念一下子難以掌握,但是對後面的內容有着指導作用,因此最好時常回顧本章中的基本概念,有利於掌握好整個計算機網絡的概念。
1.1 計算機網絡在信息時代中的作用
首先我們來討論一下計算機網絡在信息時代中的作用。
毫無疑問,在這個數字化、網絡化、信息化的時代,網絡是不可或缺的核心部分。對於我們來說,主要有三大類非常熟悉的網絡:電信網絡、有線電視網絡和計算機網絡。
最初分工 | |
電信網絡 | 打電話、發電報、發傳真 |
有線電視網絡 | 傳送各種電視節目 |
計算機網絡 | 在計算機之間傳送數據文件 |
隨着科學技術的發展,電信網絡和有線電視網絡逐漸融入到了現代計算機網絡技術,這就是所謂的“三網融合”。計算機網絡高速發展,其中Internet更是逐漸發展成爲供全球使用的,全球最大和最重要的計算機網絡。Internet推薦譯名因特網,但是沒有得到廣泛的推廣,因此接下來我們使用更爲流行的互聯網指代。
互聯網之所以能夠向許多用戶提供服務,正是因爲它的兩大基本特點:連通性和共享。
1.2 互聯網概述
1.2.1 網絡的網絡
計算機網絡(簡稱網絡)是由若干結點(node)和連接這些結點的鏈路(link)組成。結點可以是計算機、集線器、交換機或路由器等。比如,下圖(a)給出了一個具有四個結點和三條鏈路的網絡,三臺計算機分別通過三條鏈路連接到一個集線器上。在很多情況下,我們可以用一朵雲來表示一個網絡,這樣的好處是可以拋開細節去關注網絡互連的一些問題。下圖(b)給出了互連網的概念:網絡之間通過路由器連接起來形成的更大的網絡,即網絡的網絡。
我們現在可以建立起來一個基本的概念:
網絡把許多計算機連接在一起,互連網把許多網絡通過路由器連接在一起。與網絡連接的計算機常叫做主機。
1.2.2 互聯網基礎結構發展的三個階段
第一階段是從單個網絡ARPANET向互連網發展的過程。
1983年,TCP/IP協議成爲ARPANET上的標準協議,使得所有使用TCP/IP協議的計算機都能利用互聯網相互通信,因而人們就把1983年作爲互聯網的誕生時間。這裏我們需要注意internet和Internet的區別:
internet(互連網) | 通用名詞,泛指由多個計算機網絡互連而成的計算機網絡。在這些網絡之間的通信協議可以任意選擇。 |
Internet(互聯網) | 專有名詞,指當前全球最大的、開放的、由衆多網絡相互連接而成的特定互連網,它採用TCP/IP協議族作爲通信的規則,且其前身是美國的ARPANET。 |
第二階段的特點是建成了三級結構的互聯網,分爲主幹網、地區網和校園網(或企業網)。
第三階段的特點是逐漸形成了多層次ISP結構的互聯網(互聯網服務提供者ISP->Internet Service Provider)。
ISP可以從互聯網管理機構申請到很多IP地址,同時擁有通信線路以及路由器等連網設備,因此任何機構和個人都可以從ISP獲取所需IP地址的使用權,並可通過ISP接入到互聯網。根據提供服務的覆蓋面積大小以及所擁有的IP地址數目的不同,ISP也分爲不同次的ISP:主幹ISP、地區ISP和本地ISP。
從原理上講,在這些相互連接的ISP的共同作用下,就可以完成互聯網中的所有的分組轉發任務,但隨着互聯網上數據流量的急劇增長,爲了能更快的轉發分組以及更有效的利用網絡資源,互聯網交換點IXP(Internet eXchange Point)應運而生。
互聯網交換點IXP的主要作用就是允許兩個網絡直接相連並交換分組,而不需要再通過第三個網絡來轉發分組。
1.2.3 互聯網的標準化工作
互聯網的標準化工作對互聯網的發展起到了非常重要的作用。缺乏國際標準,將會使技術的發展處於比較混亂的狀態,而盲目自由競爭的結果,很可能形成多種技術體制並存且互不兼容的狀態,給用戶帶來較大的不方便。標準制定的時機也很重要,制定的過早,由於技術還沒有發展到成熟水平,會使技術比較陳舊的標準限制了產品的技術水平;反之,若標準制定的太遲,也會使技術的發展無章可循,造成產品的互不兼容。互聯網在制定標準上最大的特點是面向公衆,而且任何人都可以提出意見和建議。
1992年由於互聯網不再歸美國政府管轄,因此成立了一個國際性組織叫做互聯網協會ISOC(Internet Society),以便對互聯網進行全面管理以及在世界範圍內促進其發展和使用。ISOC下面有一個技術組織叫做互聯網體系結構委員會IAB,IAB下面有兩個工程部,分別是互聯網工程部IETF(Internet Engineering Task Force)和互聯網研究部IRTF(Internet Research Task Force)。
制定互聯網的正式標準,要經過以下三個階段,一、互聯網草案,二建議標準,三互聯網標準。
1.3 互聯網的組成
從工作方式上看,互聯網可劃分爲以下兩大塊:
邊緣部分:由所有連接在互聯網上的主機組成,這部分是用戶直接使用的,用來進行通信和資源共享
核心部分:由大量網絡和連接這些網絡的路由器組成,這部分是爲邊緣部分提供服務的(提供連通性和交換)
1.3.1 互聯網的邊緣部分
我們先要明確以下的概念,我們說“主機A和主機B進行通信”,實際上是指“主機A的某個進程和主機B上的另一個進程進行通信”,進程指運行着的程序。
在網絡邊緣的端系統(主機)之間的通信方式,通常可劃分爲兩大類:客戶-服務器(C/S)方式和對等(P2P)方式。
客戶-服務器方式所描述的是進程之間服務和被服務的關係,最主要的特徵就是客戶是服務請求方,服務器是服務提供方。
對等連接是指兩臺主機在通信時並不區分哪一個是服務請求方,哪一個是服務提供方。
1.3.1 互聯網的核心部分
在網絡核心部分起特殊作用的是路由器,路由器是實現分組交換的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最重要的功能。下面先介紹電路交換的基本概念。
在電話問世後不久,人們就發現要讓所有的電話機都兩兩相連是不現實的,因爲如果有n部電話,兩兩相連就需要n*(n-1)/2對電線,當n很大時,電線數量太大了,於是人們認識到應該使用電話交換機將這些電話連接起來。
像撥打電話的整個過程一樣,這種必須經過建立連接(佔用通信資源)->通話(一直佔用通信資源)->釋放連接(歸還通信資源),三個步驟的交換,稱爲電路交換。電路交換的一個重要特點就是,在通話的全部時間內通話的兩個用戶始終佔用端到端的通信資源。
分組交換則採用存儲轉發技術。通常我們把要發送的整塊數據稱爲一個報文,在發送報文之前,先把較長的報文劃分爲一個個更小的等長數據段,每個數據段前面加上一些由必要的控制信息組成的首部後,就構成了一個分組。分組是在互聯網中傳送的數據單元。
當我們討論互聯網的核心部分中的路由器轉發分組的過程時,往往把單個的網絡簡化成一條鏈路,而路由器成爲核心部分的結點。在存儲轉發的過程中,路由器暫時存儲的是一個個短分組,而不是整個的長報文,短分組是暫存在路由器的存儲器(即內存)中,而不是存儲在磁盤中的,這就保證了較高的交換速率。應當注意的是,分組交換在傳送數據之前不必先佔用一條端到端的鏈路的通信資源,分組在哪段鏈路上傳送才佔用這段鏈路的通信資源。
下圖歸納了三種交換方式在數據傳送階段的主要特點。
- 電路交換:整個報文的比特流連續地從原點直達終點,好像在一個管道中傳送。
- 報文交換:整個報文先傳送到相鄰結點,全部存儲下來後查找轉發表,轉發到下一個結點。
- 分組交換:單個分組傳送到相鄰結點,存儲下來後查找轉發表,轉發到下一個結點。
1.4 計算機網絡在我國的發展
最早着手建設專用計算機廣域網的是鐵道部,鐵道部在1980年就開始進行計算機聯網實驗。1989年11月我國第一個公用分組交換網CNPAC建成運行。1994年4月20日我國用64kbit/s專線正式連入互聯網,從此我國被國際上正式承認爲接入互聯網的國家。同年5月,中國科學院高能物理研究所設立了我國的第一個萬維網服務器。同年9月,中國公用計算機互聯網CHINANET正式啓動。到目前爲止,我國陸續建造了基於互聯網技術並能夠和互聯網互連的多個全國範圍的公用計算機網絡,其中規模最大的就是下面這五個:
等等
1.5 計算機網絡的類別
1.5.1 計算機網絡的定義
計算機網絡的精確定義並未統一,較好的定義:計算機網絡主要是由一些通用的、可編程的硬件互連而成的,而這些硬件並非專門用來實現某一特定目的。這些可編程的硬件可以用來傳送多種不同類型的數據,並能支持廣泛的和日益增長的應用。
1.5.2 幾種不同類別的計算機網絡
按照網絡的作用範圍進行分類,可分爲廣域網WAN、城域網MAN、局域網LAM和個人區域網PAN。
按照網絡的使用者進行分類,可分爲公用網和專用網。
用來把用戶接入到互聯網的網絡,是接入網AN,它又稱爲本地接入網或居民接入網。
1.6 計算機網絡的性能
1.6.1 計算機網絡的性能指標
(1)速率。網絡技術中的速率指的是數據的傳送速率,它也稱爲數據率或比特率。速率是計算機網絡中最重要的一個性能指標,速率的單位是比特每秒bit/s(或b/s,有時也寫爲bps即bit per second)。當數據率較高時,就常常在bit/s的前面加上一個字母,例如
k=10^3,M=10^6,G=10^9,T=10^12,P=10^15 ... 當提到網絡的速率時,往往指的是額定速率或標稱速率,而並非網絡實際上運行的速率。
(2)帶寬。帶寬有以下兩種不同的意義:
- 帶寬本來是指某個信號具有的頻帶寬度,這種意義的帶寬的單位是赫(或千赫、兆赫、吉赫等);
- 在計算機網絡中帶寬用來表示網絡中某通道傳送數據的能力,因此網絡帶寬表示在單位時間內,網絡中的某信道所能通過的最高數據率,這種意義的帶寬的單位就是數據率的單位,比特每秒。
上述兩種表述中,前者爲頻域稱謂,而後者爲時域稱謂,其本質是相同的。也就是說,一條通信鏈路的“帶寬”越寬,其所能傳輸的最高數據率也越高。
(3)吞吐量。吞吐量表示在單位時間內通過某個網絡(或信道、接口)的實際的數據量。顯然,吞吐量受網絡的帶寬或網絡的額定速率的限制。
(4)時延。時延是指數據從網絡的一端傳送到另一端所需的時間。時延是個很重要的性能指標,有時也稱爲延遲或遲延。網絡中的時延是由以下幾個不同的部分組成的:
- 發送時延。發送時延是主機或路由器發送數據幀所需要的時間,也就是從發送數據幀的第一個比特算起,到該幀的最後一個比特發送完畢所需的時間,因此,發送時延也叫做傳輸時延。計算公式:發送時延=數據幀長度(bit)/發送速率(bit/s);
- 傳播時延。傳播時延是電磁波在信道中傳播一定的距離需要花費的時間。計算公式:傳播時延=信道長度(m)/電磁波在信號上的傳播速率(m/s);
- 處理時延。主機或路由器在收到分組時要花費一定的時間進行處理,這就產生了處理時延。
- 排隊時延。分組在經過網絡傳輸時要經過許多路由器,但分組在進入路由器後要先在輸入隊列中排隊等待處理,在路由器確定了轉發接口後,還要在輸出隊列中排隊等待轉發,這就產生了排隊時延。
數據在網絡中經歷的總時延就是以上四種時延之和:總時延=發送時延+傳播時延+處理時延+排隊時延。
(5)時延帶寬積。時延帶寬積=傳播時延*帶寬,時延帶寬積又稱爲以比特爲單位的鏈路長度。
(6)往返時間RTT。在計算機網絡中,往返時間也是一個重要的性能指標,因爲在許多情況下互聯網的信息不僅僅單方面傳輸,而是雙向交互的。
(7)利用率。利用率有信道利用率和網絡利用率,信道利用率指的是某信道有百分之幾的時間是被利用的,網絡利用率則是全網絡的信道利用率的加權平均值。信道或網絡的利用率過高會產生非常大的時延,因此利用率並非越高越好。
1.6.2 計算機網絡的非性能特徵
1.費用 2.質量 3.標準化 4.可靠性 5.可擴展性和可升級性 6.易於管理和維護
1.7 計算機網絡體系結構
1.7.1 計算機網絡體系結構的形成
計算機網絡是個非常複雜的系統,爲了說明這一點,可以設想一種最簡單的情況:連接在網絡上的兩臺計算機要互相傳送文件。
顯然,在這兩臺計算機之間必須有一條傳送數據的通路,但這還遠遠不夠,至少還有以下幾項工作需要去完成:
- 發起通信的計算機必須將數據通信的通路進行激活,所謂激活就是要發出一些信令,保證要傳送的計算機數據能在這條通路上正確發送和接收;
- 要告訴網絡如何識別接收數據的計算機;
- 發起通信的計算機,必須查明對方計算機是否已開機,並且與網絡連接正常;
- 發起通信的計算機中的應用程序,必須弄清楚在對方計算機中的文件管理程序是否已做好接收文件和存儲文件的準備工作;
- 若計算機的文件格式不兼容,至少其中一臺應完成格式轉換功能;
- 對出現的各種差錯和意外事故,如數據傳送錯誤、重複或丟失,網絡中某個結點交換機出現故障等,應當有可靠的措施保證對方計算機最終能夠收到正確的文件。
由此可見,相互通信的兩個計算機系統必須高度協調工作纔行。爲了設計這樣複雜的計算機系統,早在最初的ARPANET設計時即提出了分層的方法。
爲了使不同體系結構的計算機網絡都能互連,國際標準化組織ISO於1977年成立了專門機構研究該問題,他們提出了一個試圖使各種計算機在世界範圍內互連成網的標準框架,即著名的開放系統互連基本參考模型OSI/RM,簡稱爲OSI。但是由於種種原因,基於TCP/IP的互聯網已搶先在全球相當大的範圍成功的運行了,最後得到最廣泛應用的不是法律上的國際標準OSI,而是非國際標準TCP/IP,因此TCP/IP就常被稱爲是事實上的國際標準。
OSI失敗的原因可歸納爲:
1.7.2 協議與劃分層次
在計算機網絡中要做到有條不紊交換數據,就必須遵守一些事先約定好的規則,這些規則明確規定了所交換的數據的格式以及有關的同步問題。這裏的同步含有時序的意思,即在一定的條件下應當發生什麼事件。這些爲進行網絡中的數據交換而建立的規則、標準或約定,稱爲網絡協議,簡稱爲協議。網絡協議主要由以下三個要素組成:
- 語法,即數據與控制信息的結構或格式;
- 語義,即需要發出何種控制信息,完成何種動作以及做出何種響應;
- 同步,即事件實現順序的詳細說明。
分層可以帶來很多好處,比如
- ①各層之間是獨立的
- ②靈活性好
- ③結構上可分割開
- ④易於實現和維護
- ⑤能促進標準化工作。
分層時應注意使每一層的功能非常明確,若層數太少,就會使每一層的協議太複雜,但層次太多,又會在描述和綜合各層功能的系統工程任務時遇到較多的困難。通常各層所要完成的功能主要有以下一些:
- ①差錯控制
- ②流量控制
- ③分段和重裝
- ④複用和分用
- ⑤連接建立和釋放
計算機網絡的各層及其協議的集合就是網絡的體系結構。換種說法,計算機網絡的體系結構就是這個計算機網絡及其構件所應完成的功能的精確定義。
1.7.3 具有五層協議的體系結構
OSI的七層協議體系結構的概念清楚,理論也較完整,但它既複雜又不實用。TCP/IP體系結構則不同,但它現在卻得到了非常廣泛的應用。我們在學習計算機網絡的原理時,往往採用折中的辦法,綜合OSI和TCP/IP的優點,採用一種具有五層協議的體系結構。
簡要的介紹下各層的主要功能:
- 應用層:應用層是體系結構中的最高層,應用層的任務是通過應用進程間的交互來完成特定網絡應用;
- 運輸層:運輸層的任務就是負責向兩臺主機中進程之間的通信提供通用的數據傳輸服務。運輸層主要使用以下兩種協議,傳輸控制協議TCP和用戶數據報協議UDP;
- 網絡層:網絡層負責爲分組交換網上的不同主機提供通信服務;
- 數據鏈路層:數據鏈路層常簡稱爲鏈路層,我們知道兩臺主機之間的數據傳輸總是在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協議;
- 物理層:在物理層上所傳數據的單位是比特,考慮如何在物理媒體上傳送比特流。
1.7.4 實體、協議、服務和服務訪問點
當研究開放系統中的信息交換時,往往使用實體這一較爲抽象的名詞,表示任何可發送或接收信息的硬件或軟件進程。協議是控制兩個對等實體(或多個實體)進行通信的規則的集合。
在協議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務,要實現本層協議,還需要使用下面一層所提供的服務。協議是水平的,即協議是控制對等實體之間通信的規則。但服務是垂直的,即服務是由下層向上層通過層間接口提供的。
在同一系統中,相鄰兩層的實體進行交互(即交換信息)的地方,通常稱爲服務訪問點SAP(Service Access Point)。
1.7.5 TCP/IP的體系結構
路由器在轉發分組時,最高只用到網絡層,而沒有使用運輸層和應用層。
本章的重要概念