計算機網絡慕課地址:https://www.bilibili.com/video/BV1c4411d7jb
1.1網絡在信息時代的作用
- 計算機網絡已由一種通信基礎設施發展成一種重要的信息服務基礎設施。
- 計算機網絡已經像水、電、煤氣這些基礎設施一樣,成為我們生活中不可或缺的一部分。
1.2 因特網概述
1.2.1 網絡 互連網 因特網
網絡(Network):由若干個結點(Node)和連接這些結點的鏈路(Link)組成。
互連網(互聯網):多個網絡通過路由器互連起來,這樣就構成了一個覆蓋范圍更大的網絡,即互連網(互聯網)。因此,互聯網又稱為網絡的網絡(Network of Networks)。
因特網:因特網(Internet)是世界上最大的互連網絡(用戶數以億計,互連的網絡數以百萬計)。
internet與Internet的區別
-
internet(互聯網或互連網)是一個通用名詞,它泛指多個計算機網絡互連而成的網絡。在這些網絡之間的通信協議可以是任意的。
-
Internet(因特網)則是一個專用名詞,它指當前全球最大的、開放的、由眾多網絡互連而成的特定計算機網絡,它采用TCP/IP協議族作為通信的規則,其前身是美國的ARPANET。
1.2.2 因特網發展

1.2.3 ISP
因特網服務提供者ISP: (Internet Service Provider)
- 中國的三大ISP:中國電信,中國聯通和中國移動。
- ISP可以從因特網管理機構申請到成塊的Ip地址,這一點很重要,因為因特網的主機都必須有IP地址才能進行通信。
- 任何機構和個人只要向ISP繳納規定的費用,就可以從ISP得到所需要的IP地址,同時擁有通信線路以及路由器等連網設備。
基於ISP的三層結構的因特網

ISP1基本概念:
第一層ISP通常也被稱為因特網主干網,並且擁有高速鏈路和交換設備,第一層ISP之間直接互聯,一般都能夠覆蓋國際性區域范圍。
ISP2基本概念:
第二層ISP和一些大公司都是第一層ISP的用戶,通常具有區域性或者國家性覆蓋規模,與少數第一層ISP相連接。
ISP3基本概念:
- 第三層ISP又稱為本地的ISP,並且只擁有本地范圍的網絡,它們是第二層ISP的用戶。
- 一般的校園網或者企業網,以及住宅用戶和無線移動用戶,都是第三層ISP用戶。
總結:
- 一旦某個用戶能夠接入到因特網,那么他也可以成為一個ISP,所需要做的就是購買一些如調制解調器或路由器這樣的設備,讓其他用戶可以和他相連。
- 在網絡核心部分起特殊作用的是路由器,它是一種專用的計算機,但是我們不稱它為主機。
- 路由器是實現分組交換的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最重要的功能。
1.2.4 標准化工作
-
因特網的標准化工作對因特網的發展起到了非常重要的作用。
-
因特網在指定其標准上的一個很大的特點是面向公眾。
- 因特網所有的RFC(Request For Comments)技術文檔都可從因特網上免費下載。
- 任何人都可以隨時用電子郵件發表對某個文檔的意見或建議。
-
因特網協會ISOC是一個國際性組織,它負責對因特網進行全面管理,以及在世界范圍內促進其發展和使用。
- 因特網體系結構委員會IAB,負責管理因特網有關協議的開發。
- 因特網工程部IETF,負責研究中短期工程問題,主要針對協議的開發和標准化。
- 因特網研究部IRTF,從事理論方面的研究和開發一些需要長期考慮的問題。
-
制訂因特網的正式標准要經過一下4個階段:
- 因特網草案(在這個階段還不是RFC文檔)
- 建議標准(從這個階段開始就成為RFC文檔)
- 草案標准
- 因特網標准
1.2.5 因特網的組成
邊緣部分
由所有連接在因特網上的主機組成。這部分是用戶直接使用的,用來進行通信(傳送數據、音頻或視頻)和資源共享。
核心部分
由大量網絡和連接這些網絡的路由器組成。這部分是為邊緣部分提供服務的(提供連通性和交換)。
1.3 三種交換方式
在網絡核心部分起特殊作用的是路由器(router),它負責將各種網絡互連起來。
路由器是實現分組交換 (packet switching) 的關鍵構件,其任務是轉發收到的分組,這是網絡核心部分最重要的功能。
1.3.1 電路交換
傳統兩兩相連的方式,當電話數量很多時,電話線也很多,就很不方便
所以要使得每一部電話能夠很方便地和另一部電話進行通信,就應該使用一個中間設備將這些電話連接起來,這個中間設備就是電話交換機
電話交換機
可以將電話交換機簡單的看成一個有多個開關的開關器,可以將需要通信的任意兩部電話的電話線路按需接通。用這樣的方法,就構成了覆蓋全世界的電信網。
電話交換機接通電話線的方式稱為電路交換
從通信資源的分配角度來看,交換(Switching)就是按照某種方式動態地分配傳輸線路的資源。
電路交換的三個步驟:
- 建立連接(分配通信資源)
- 通話(一直占用通信資源)
- 釋放連接(歸還通信資源)
結論
使用電路交換來傳送計算機數據時,其線路的傳輸效率往往很低。這是因為計算機數據是突發式地出現在傳輸線路上的。
1.3.2 分組交換
分組交換需要將傳輸數據(即報文)分割成較小的數據塊,每個數據塊附加上地址、序號等控制信息構成數據分組,每個分組獨立傳輸到目的地,目的地將收到的分組重新組裝,還原為報文。分組傳輸過程通常也采用存儲-轉發交換方式。
發送方
構造分組,發送分組
路由器
緩存分組, 轉發分組
路由器處理分組的過程是
- 把收到的分組先放入緩存(暫時存儲),查找轉發表,找出到某個目的地址應從哪個端口轉發。
- 把分組送到適當的端口轉發出去。
接收方
接收分組,還原報文
1.3.3 報文交換
- 報文交換也稱為消息交換。其工作過程為:發送方把要發送的信息附加上發送/接收主機的地址及其他控制信息。
- 構成一個完整的報文。然后以報文為單位在交換網絡的各個結點之間以存儲-轉發的方式傳遞,直至送達目的主機。
- 報文交換主要用於早期的電報通信網,現在較少使用,通常被較先進的分組交換方式所取代。
電路交換、報文交換、分組交換的對比
假設A,B,C,D是分組傳輸路徑所要經過的4個結點交換機,縱坐標為時間
結論
電路交換:
- 通信之前首先要建立連接;連接建立好之后,就可以使用已建立好的連接進行數據傳送。
- 數據傳送后,需釋放連接,以歸還之前建立連接所占用的通信線路資源。
- 一旦建立連接,中間的各結點交換機就是直通形式的,比特流可以直達終點。
報文交換:
- 可以隨時發送報文,而不需要事先建立連接;整個報文先傳送到相鄰結點交換機,全部存儲下來后進行查表轉發,轉發到下一個結點交換機。
- 整個報文需要在各結點交換機上進行存儲轉發,由於不限制報文大小,因此需要各結點交換機都具有較大的緩存空間。
分組交換:
- 可以隨時發送分組,而不需要事先建立連接。構成原始報文的一個個分組,依次在各結點交換機上存儲轉發。
- 各結點交換機在發送分組的同時,還緩存接收到的分組。
- 構成原始報文的一個個分組,在各結點交換機上進行存儲轉發。
- 相比報文交換,減少了轉發時延,還可以避免過長的報文長時間占用鏈路,同時也有利於進行差錯控制。
1.4 網絡的分類
計算機網絡簡單定義
一些互相連接的、自治的計算機的集合。
- 互連:是指計算機之間可以通過有線或無線的方式進行數據通信;
- 自治:是指獨立的計算機,他有自己的硬件和軟件,可以單獨運行使用;
- 集合:是指至少需要兩台計算機;
計算機網絡完整定義
計算機網絡主要是由一些通用的,可編程的硬件(一定包含有中央處理機CPU)互連而成的,而這些硬件並非專門用來實現某一特定目的(例如,傳送數據或視頻信號)。這些可編程的硬件能夠用來傳送多種不同類型的數據,並能支持廣泛的和日益增長的應用。
- 計算機網絡所連接的硬件,並不限於一般的計算機,而是包括了智能手機等智能硬件。
- 計算機網絡並非專門用來傳送數據,而是能夠支持很多種的應用(包括今后可能出現的各種應用)。
計算機網絡分類

1.5 性能指標
1.5.1 速率
案例說明
1.5.2 帶寬

1.5.3 吞吐量
吞吐量表示單位時間內通過某個網絡(或信道、接口)的數劇量。
吞吐量被經常用於對現實世界中的網絡的一種測量,以便知道實際上到底有多少數據量能夠通過網絡。
吞吐量受到網絡的帶寬或額定速率的限制。
案例說明
這是一個帶寬為1Gb/s的以太網,其吞吐量受帶寬限制,最高為1Gb/s,這個數值也是該以太網的吞吐量的絕對上限值。
對於帶寬1 Gb/s的以太網,通常實際吞吐量只能達到700 Mb/s,甚至更低。
1.5.4 時延
時延時指數據(一個報文或分組,甚至比特)從網絡(或鏈路)的一端傳送到另一端所需的時間。
結論1
在構建網絡時,應該做到各設備間以及傳輸介質的速率匹配,這樣才能完全發揮出本應具有的傳輸性能。源主機和目的主機之間的路徑會由多段鏈路和多個路由器構成。
結論2
構成網絡時延的發送時延,傳播時延以及處理時延,在處理時延時忽略不計的情況下。
我們不能想當然地認為發送時延占主導或傳播時延占主導,而且應該具體問題具體分析。
1.5.5 時延帶寬積
時延帶寬積 = 傳播時延 * 帶寬
1.5.6 往返時間
基本定義
從源主機發送分組開始,直到源主機收到來自目的主機的確認分組為止,所需的時間。在許多情況下,因特網上的信息不僅僅單方向傳輸,而且是雙向交互,有時很需要知道雙向交互一次所需的時間。因此,往返時間(RTT)是一個重要的性能指標。
結論1
一般情況下,衛星鏈路的距離比較遠,所帶來的傳播時延比較大。
1.5.7 利用率
1.5.8 丟包率
基本定義
丟包率即分組丟失率,是指在一定時間范圍內,傳輸過程中丟失的分組數量與總分組數量的比率。
丟包率分類
接口丟包率, 結點丟包率,鏈路丟包率,路徑丟包率,網絡丟包率。
丟包率是網絡運維人員非常關心的一個網絡性能指標,但對於普通用戶來說往往並不關心這個指標,因為他們通常意識不到網絡丟包。
分組丟失主要情況
分組在傳輸過程中出現誤碼,被結點丟棄。
分組到達一台隊列已滿的分組交換時被丟棄,在通信量較大時就可能造成網絡擁塞。
結論
實際上,路由器會根據自身的擁塞控制方法,在輸入緩存還未滿的時候就主動丟棄分組。當網絡的丟包率比較高時,通常無法使網絡應用正常工作。
丟包率反映了網絡的擁塞情況
- 無擁塞時路徑丟包率為0。
- 輕度擁塞時路徑丟包率為1%~4%。
- 嚴重擁塞時路徑丟包率為5%~15%。
1.6 網絡體系結構
1.6.1 OSI體系結構
1.6.2 TCP/IP體系
1.6.3 具體運用
結論:
如今用的最多的是TCP/IP體系結構,現今規模最大的、覆蓋全球的、基於TCP/IP的互聯網並未使用OSI標准。
TCP/IP體系結構相當於將OSI體系結構的物理層和數據鏈路層合並成了網絡接口層。並且去掉了會話層和表示層。
由於TCP/IP在網絡層使用的協議是IP協議,IP協議的中文意思是網際協議,因此TCP/IP體系結構的網絡層稱為網際層。
結論
用戶的主機必須使用TCP/IP協議。在用戶主機的操作系統中,通常都帶有符合TCP/IP體系結構標准的TCP/IP協議族。
用於網絡互連的路由器中,也帶有符合TCP/IP體系結構標准的TCP/IP協議族。
TCP/IP體系結構的網絡接口層並沒有規定具體的內容。只不過路由器一般只包含網絡接口層和網際層。這樣做的目的是可以互連全世界各種不同的網絡接口。
1.6.5 TCP/IP體系結構
網絡接口層
並沒有規定具體內容,這樣做的目的是可以互連全世界各種不同的網絡接口,例如:有線的以太網接口,無線局域網的WIFI接口等。
網際層
它的核心協議是IP協議,網際協議IP是TCP/IP體系結構的核心協議。
運輸層
TCP和UDP是這層的兩個重要協議。
應用層
這層包含了大量的應用層協議,如 HTTP , DNS 等。
IP協議、TCP/IP 、UDP
- IP協議是TCP/IP體系結構網際層的核心協議,TCP/UDP是TCP/IP體系結構運輸層的兩個重要協議。
- TCP/IP體系結構的應用層包含了大量的應用層協議,IP協議可以將不同的網絡接口進行互聯。並且向其上的 TCP協議和UDP協議提供網絡互連服務。
- TCP協議在享受IP協議提供的網絡互連服務的基礎上,可以向應用層的相應協議提供可靠的傳輸服務。
- UDP協議在享受IP協議提供的網絡互連服務的基礎上,可以向應用層的相應協議提供不可靠的傳輸服務。
1.6.6 TCP/IP協議族
一方面負責互連不同的網絡接口,另一方面,為各種網絡應用提供服務。
結論
IP協議和TCP協議是其中非常重要的兩個協議,在TCP/IP協議體系中包含大量的協議,因此用TCP和IP這兩個協議來表示整個協議大家族。常稱為TCP/IP協議族。
1.7 分層的必要性
計算機網絡是個非常復雜的系統,早在最初的ARPANET設計時候提出了分層設計理念。
分層可將龐大而復雜的問題,轉化為若干較小的局部問題,而這些較小的局部問題就比較易於研究和處理。
1.7.1 物理層

結論
嚴格來說,傳輸媒體並不屬於物理層,它並不包含在體系結構之中。
計算機網絡中輸出的信號,並不是我們舉例的方波信號。
1.7.2 數據鏈路層

標識網絡中的各主機
主機編址問題,也就是網絡和主機共同編址的問題,該類IP地址的前三個十進制用來標識網絡。
第四個十進制用來標識主機。
1.7.3 網絡層
IP地址
其實就是主機在網絡中的地址,主機在發送數據時,應該給數據附加上目的地,當其他主機收到后,根據目的地址和自身地址,來決定是否接受數據。
1.7.4 運輸層問題
1.7.5 應用層問題
在此基礎上,只需要制定各種應用層協議,並且按協議標准編寫相應的應用程序。
通過應用進程間的交互來完成特定的網絡應用。

總結
1.8 分層思想案例
1.8.1 案列引出
主機的瀏覽器如何與Web服務器進行通信?
步驟分析:
主機屬性網絡N1,web服務器屬於網絡N2,N1和N2通過路由器互連。使用主機中的瀏覽器訪問web服務器,主機會向Web服務器發送請求。
Web服務器收到請求后,會發出相應的相應,主機的瀏覽器收到響應后,會發回相應的響應。主機的瀏覽器收到響應后,將其解析為具體的網頁內容顯示出來。
注意: 主機和Web服務器之間基於網絡的通信,實際上是主機中的瀏覽器應用進程與Web服務器中的Web服務器中的Web服務器應用進程之間基於網絡的通信。
1.8.2 發送方發送
應用層:
應用層按HTTP協議的規定,構建一個HTTP請求報文。應用層將HTTP請求報文交付給運輸層處理。
運輸層:
- 運輸層給HTTP請求報文添加一個TCP首部,使之成為TCP報文段。
- TCP報文段的首部格式作用是區分應用進程以及實現可靠傳輸,運輸層將TCP報文段交付給網絡層處理。
網絡層:
- 網絡層給TCP報文段添加一個IP首部,使之成為IP數據報。
- IP數據報的首部格式作用是使IP數據報可以在互聯網傳輸,也就是被路由器轉發
- 網絡層將IP數據報交付給數據鏈路層處理。
數據鏈路層:
- 數據鏈路層給IP數據報添加一個首部和一個尾部,使之成為幀,假設網絡N1是以太網。
- 該首部的作用主要是為了讓幀能夠在一段鏈路上或一個網絡上傳輸,能夠被相應的目的主機接收
- 該尾部的作用是讓目的主機檢查所接收到的幀是否有誤碼
- 數據鏈路層將幀交付給物理層
物理層
- 物理層先將幀看做是比特流,所以物理層還會給該比特流前面添加前導碼。
- 前導碼的作用是為了讓目的主機做好接收幀的准備。
- 物理層將裝有前導碼的比特流變換成相應的信號發送給傳輸媒體。
信號通過傳輸媒體到達路由器
1.8.3 路由器處理
步驟1:
- 物理層將信號變為比特流,然后去掉前導碼后,將其交付給數據鏈路層,這實際上交付的是幀。
- 數據鏈路層將幀的首部和尾部去掉后,將其交付給網絡層,這實際交付的是IP數據報。
- 網絡層解析IP數據報的首部,從中提取目的網絡地址,提取目的網絡地址后查找自身路由表。確定轉發端口,以便進行轉發。
步驟2:
- 網絡層將IP數據報交付給數據鏈路層。
- 數據鏈路層給IP數據報添加一個首部和一個尾部,使之成為幀。
- 數據鏈路層將幀交付給物理層。
- 物理層先將幀看成比特流,所以物理層還會給該比特流前面添加前導碼。
步驟3:
物理層將裝有前導碼的比特流變換成相應的信號發送給傳輸媒體,信號通過傳輸媒體到達Web服務器。
1.8.4 接收方接收
和發送方發送過程的封裝正好相反。
執行步驟
- 物理層將信號變換為比特流,然后去掉前導碼后成為幀,交付給數據鏈路層。
- 數據鏈路層將幀的首部和尾部去掉后成為IP數據報,將其交付給網絡層。
- 網絡層將IP數據報的首部去掉后成為TCP報文段,將其交付給運輸層。
- 運輸層將TCP報文段的首部去掉后成為HTTP請求報文,將其交付給應用層。
- 應用層對HTTP請求報文進行解析,然后給主機發回響應報文。
發回響應報文的步驟和之前過程基本相同
1.9 體系結構專用術語
以下介紹的專用術語來源於OSI的七層協議體系結構,同時也適用於TCP/IP的四層體系結構和五層協議體系結構
1.9.1 實體
實體: 任何可發送或者接收信息的硬件或者軟件進程。
對等實體: 收發雙方相同層次中的實體。
1.9.2 協議
協議:控制兩個對等實體進行邏輯通信的規則的集合。
協議三要素:
語法:定義所交換信息的格式。
語義:定義收發雙方所要完成的操作。
時序:定義收發雙發的時序關系。
1.9.3 服務