因特網概述
網絡、互連網(互聯網)和因特網
網絡(Network)由若干結點(Node)和連接這些結點的鏈路(Link)組成。
多個網絡還可以通過路由器互連起來,這樣就構成了一個覆蓋范圍更大的網絡,即互聯網(或互連網)。因此,互聯網是“網絡的網絡(Network of Networks)”。
因特網(Internet)是世界上最大的互連網絡。連接在因特網上的計算機稱為主機(host)。
internet 互聯網 通用名詞
Internet 因特網 專有名詞
三種交換方式:電路交換、分組交換和報文交換
電路交換(Circuit Switching)
電話交換機接通電話線的方式稱為電路交換。
從通信資源的分配角度來看交換(switching)就是按照某種方式動態地分配傳輸線路的資源。
電路交換的三個步驟:
- 建立連接(分配通信資源)
- 通話(一直占用通信資源)
- 釋放連接(歸還通信資源)
當使用電路交換來傳送計算機數據時,其線路的傳輸效率往往很低。因此計算機網絡通常采用分組交換,而不是電路交換。
分組交換(Packet Switching)
類似快遞派發。
將報文划分成若干等長的數據段,然后給各數據段添加首部(包含重要的控制信息)構成分組。
節點交換機(路由器)對分組進行存儲轉發。
發送方:構造分組、發送分組
路由器:緩存分組、轉發分組
接收方:接收分組、還原報文
報文交換(Message Switching)
與分組交換類似,報文交換中的交換節點也采用存儲轉發方式,但報文交換對報文的大小沒有限制,這就要求交換節點需要有較大的緩存空間。
報文交換主要用於早期的電報通信網,現在較少使用。通常被較先進的分組交換方式所取代。
三種交換方式對比
電路交換
優點
- 通信時延小
- 有序傳輸
- 沒有沖突
- 適用范圍廣
- 實時性強
- 控制簡單
缺點
- 建立連接時間長
- 線路獨占,使用效率低
- 靈活性差
- 難以規格化
報文交換
優點
- 無需建立連接
- 動態分配線路
- 提高線路可靠性
- 提高線路利用率
- 提供多目標服務
缺點
- 引起了轉發時延
- 需要較大存儲緩存空間
- 需要傳輸額外的信息量
分組交換
優點
- 無需建立連接
- 線路利用率高
- 簡化了存儲管理
- 加速傳輸
- 減少出錯概率和重發數據量
缺點
- 引起了轉發時延
- 需要傳輸額外的信息量
- 對於數據報服務,存在失序、丟失或重復分組的問題;對於虛電路服務,存在呼叫建立、數據傳輸和虛電路釋放三個過程
計算機網絡的定義和分類
計算機網絡的定義
計算機網絡的精確定義並未統一。
計算機網絡的最簡單定義是:一些互相連接的、自治的計算機的集合。
- 互連:計算機之間可以通過有線或無線的方式進行數據通信。
- 自治:獨立的計算機,它有自己的硬件和軟件,可以單獨運行使用。
- 集合:指至少需要兩台計算機。
計算機網絡的較好的定義是:計算機網絡主要是由一些通用的、可編程的硬件互連而成的,而這些硬件並非專門用來實現某一特定目的(例如,傳輸數據或視頻信號)。這些可編程的硬件能夠用來傳送多種不同類型的數據,並能支持廣泛的和日益增長的應用。
- 計算機網絡所連接的硬件,並不限於一般的計算機,而是包括了智能手機等智能硬件。
- 計算機網絡並非專門用來傳送數據,而是能夠支持很多種應用(包括今后可能出現的各種應用)。
計算機網絡的分類
按交換技術分類
- 電路交換網絡
- 報文交換網絡
- 分組交換網絡
按使用者分類
- 公用網
- 專用網
按傳輸介質分類
- 有線網絡
- 無線網絡
按覆蓋范圍分類
- 廣域網WAN(Wide Area Network)
- 城域網MAN(Metropolitan Area Network)
- 局域網LAN(Local Area Network)
- 個域網PAN(Personal Area Network)
按拓撲結構分類
- 總線型網絡
- 星型網絡
- 環型網絡
- 網狀型網絡
計算機網絡的性能指標
性能指標可以從不同的方面來度量計算機網絡的性能。
常用的計算機網絡的性能指標有以下 8 個:
- 速率
- 帶寬
- 吞吐量
- 時延
- 時延帶寬積
- 往返時間
- 利用率
- 丟包率
速率
比特:計算機中數據量的單位,也是信息論中信息量的單位。一個比特就是二進制數字中的一個 1 或 0。
常用數據量單位:
速率:連接在計算機網絡上的主機在數字信道上傳送比特的速率,也稱為比特率或數據率、
常用數據率單位:
帶寬
帶寬在模擬信號系統中的意義:信號所包含的各種不同頻率成分所占占據的頻率范圍;
單位:Hz(kHz,MHz,GHz)
帶寬在計算機網絡中的意義:用來表示網路的通信線路所能傳送數據的能力,因此網絡帶寬表示在單位時間內從網絡中的某一點到另外一點所能通過的“最高數據率”;
單位:b/s(Kb/s,Mb/s,Gb/s,Tb/s)
“帶寬”的這兩種表述之間有着密切的聯系。一條通道線路的“頻帶寬度”越寬,其所傳輸數據的“最高數據率”也越高。
吞吐量
吞吐量表示在單位時間內通過某個網絡(或信道、接口)的數據量。
吞吐量被經常用於對現實世界中的網絡的一種測量,以便知道實際上到底有多少數據量能夠通過網絡。
吞吐量受網絡的帶寬或額定速率的限制。
時延
網絡時延由三部分構成:發送時延、傳播時延、處理時延(路由)
電磁波傳播速率:
- 自由空間:\(3 \times 10^8 \ m/s\)
- 銅線:\(2.3 \times 10^8 \ m/s\)
- 光纖:\(2 \times 10^8 \ m/s\)
處理時延一般不方便計算,通常忽略不計。
時延帶寬積
若發送端連續發送數據,則在所發送的第一個比特即將到達終點時,發送端就已經發送了時延帶寬積個比特;鏈路的時延帶寬積又稱為以比特為單位的鏈路長度。
往返時間
在許多情況下,因特網上的信息不僅僅單方面傳輸,而是雙向交互,我們有時很需要知道雙向交互一次所需的時間。因此,往返時間 RTT(Round-Trip Time)也是一個重要的性能指標。
利用率
信道利用率:用來表示某信道有百分之幾的時間是被利用的(有數據通過)。
網絡利用率:全網絡的利用率的加權平均。
根據排隊論,當某信道的利用率增大時,該信道引起的時延也會迅速增加;因此,信道利用率並非越高越好。
丟包率
丟包率即分組丟失率,是指在一定的時間范圍內,傳輸過程中丟失的分組數量與總分組數量的比率。
丟包率具體可分為接口丟包率、結點丟包率、鏈路丟包率、路徑丟包率、網絡丟包率等。
分組丟失有兩種情況:
- 分組在傳輸過程中出現誤碼,被結點丟棄;
- 分組到達一台隊列已滿的分組交換機時被丟棄;在通信量較大時就可能造成網絡擁塞。
計算機網絡體系結構
常見的計算機網絡體系結構
OSI 體系結構(法律上的國際標准)
7.應用層
6.表示層
5.會話層
4.運輸層
3.網絡層
2.數據鏈路層
1.物理層
TCP/IP 體系結構(事實上的國際標准)
4.應用層(HTTP ... SMTP、DNS ... RTP)
3.運輸層(TCP、UDP)
2.網際層(IP)
1.網絡接口層(網絡接口1、網絡接口2……網絡接口n)
IP over everything
Everything over IP
原理體系結構(適於學習)
5.應用層
4.運輸層
3.網絡層
2.數據鏈路層
1.物理層
計算機網絡體系結構分層的必要性
第一類問題
- 采用怎樣的傳輸媒體(介質)
- 采用怎樣的物理接口
- 使用怎樣的信號表示比特 0 和 1
物理層解決此類問題
第二類問題
- 如何標識網絡中的各主機(主機編址問題,例如 MAC 地址)
- 如何從信號所表示的一連串比特流中區分出地址和數據
- 如何協調各主機爭用總線
數據鏈路層解決此類問題
第三類問題
- 如何標識各網絡以及網絡中的各主機(網絡和主機共同編址的問題,例如 IP 地址)
- 路由器如何轉發分組,如何進行路由選擇
網絡層解決此類問題
第四類問題
- 如何解決進程之間基於網絡的通信問題
- 出現傳輸錯誤時,如何處理
運輸層解決此類問題
第五類問題
通過應用進程間的交互來完成特定的網絡應用,如
- 支持萬維網應用的 HTTP 協議
- 支持電子郵件的 SMTP 協議
- 支持文件傳送的 FTP 協議
應用層解決此類問題
總結
5.應用層:解決通過應用進程的交互來實現特定網絡應用的問題。
4.運輸層:解決進程之間基於網絡的通信問題。
3.網絡層:解決分組在多個網絡上傳輸(路由)的問題。
2.數據鏈路層:解決分組在一個網絡(或一段鏈路)上傳輸的問題。
1.物理層:解決使用何種信號來傳輸比特的問題。
計算機網絡體系結構分層思想舉例
主機屬於網絡 N1,服務器屬於網絡 N2,網絡通過路由器互連,使用主機的瀏覽器訪問 Web 服務器。
此通信實際上是主機中的瀏覽器應用進程與 Web 服務器中的 Web 服務器應用進程之間基於網絡的通信。
主機的處理過程:
應用層:應用層按 HTTP 協議的規定,構建一個 HTTP 請求報文。應用層將 HTTP 請求報文交付給運輸層處理。
運輸層:運輸層給 HTTP 請求報文添加一個 TCP 首部(該首部的作用主要是為了區分應用進程,以及實現可靠傳輸),使之成為 TCP 報文段。運輸層將 TCP 報文段交付給網絡層處理。
網絡層:網絡層給 TCP 報文段添加一個 IP 首部(該首部的作用主要是為了使 IP 數據報可以在互聯網上傳輸,也就是被路由器轉發),使之稱為 IP 數據報。網絡層將 IP 數據報交付給數據鏈路層處理。
數據鏈路層:數據鏈路層給 IP 數據報添加一個首部(目的地址、源地址、類型
,該首部的作用主要是為了讓幀能夠在一段鏈路上或一個網絡上傳輸,能夠被相應的目的主機接收)和一個尾部(FCS
,尾部的作用是為了讓目的主機檢查所接收到的幀是否有誤碼),使之成為幀。數據鏈路層將幀交付給物理層。
物理層:物理層將幀看作是比特流。物理層還會給該比特流前面添加前導碼(其作用是為了讓目的主機做好接收幀的准備)。物理層將添加有前導碼的比特流變換成相應的信號發送到傳輸媒體,信號通過傳輸媒體到達路由器。
路由器的處理過程:
物理層:物理層將信號變換為比特流,然后去掉前導碼后,將其交付給數據鏈路層。這實際上交付的是幀。
數據鏈路層:數據鏈路層將幀的首部和尾部去掉后,將其交付給網絡層。這實際上交付的是 IP 數據報。
網絡層:網絡層解析 IP 數據報的首部,從中提取中目的網絡地址,然后查找自身的路由表,確定轉發端口,以便進行轉發。網絡層將 IP 數據報交付給數據鏈路層。
數據鏈路層:數據鏈路層給 IP 數據報添加一個首部和一個尾部,使之成為幀。數據鏈路層將幀交付給物理層。
物理層:物理層將幀看作是比特流。物理層還會給該比特流前面添加前導碼。物理層將添加有前導碼的比特流變換成相應的信號發送到傳輸媒體,信號通過傳輸媒體到達 Web 服務器。
Web 服務器的處理過程:
物理層:物理層將信號變換為比特流,然后去掉前導碼后,將其交付給數據鏈路層。這實際上交付的是幀。
數據鏈路層:數據鏈路層將幀的首部和尾部去掉后,將其交付給網絡層。這實際上交付的是 IP 數據報。
網絡層:網絡層將 IP 數據報的首部去掉后,將其交付給運輸層。這實際上交付的是 TCP 報文段。
運輸層:運輸層將 TCP 報文段的首部去掉后,將其交付給應用層。這實際上交付的是 HTTP 請求報文。
應用層:應用層對 HTTP 請求報文進行解析,然后給主機發回 HTTP 相應報文。(與上述過程大體相同)
計算機網絡體系結構中的專用術語
實體
實體:任何可發送或接收信息的硬件或軟件進程。
對等實體:收發雙方相同層次中的實體。
協議
協議:控制兩個對等實體進行邏輯通信的規則的集合。
協議三要素:
- 語法:定義所交換信息的格式
- 語義:定義收發雙方所要完成的操作
- 同步:定義收發雙方的時序關系
服務
在協議的控制下,兩個對等實體間的邏輯通信使得本層能夠向上一層提供服務。
要實現本層協議,還需要使用下面一層所提供的服務。
協議是“水平的”,服務是“垂直的”。
實體看得見相鄰下層所提供的服務,但並不知道實現該服務的具體協議。也就是說,下面的協議對上面的實體是透明的。
服務訪問點
在同一系統中相鄰兩層的實體交換信息的邏輯接口,用於區分不同的服務類型。
服務原語
上層使用下層所提供的服務必須通過與下層交換一些命令,這些命令稱為服務原語。
協議數據單元 PDU
對等層次之間傳送的數據包稱為該層的協議數據單元。
層次 | PDU |
---|---|
物理層 | 比特流(bit stream) |
數據鏈路層 | 幀(frame) |
網絡層 | IP 數據報或分組(packet) |
運輸層 | TCP 報文段(segment)或 UDP 用戶數據報(datagram) |
應用層 | 報文(message) |
服務數據單元 SDU
同一系統內,層與層之間交換的數據包稱為服務數據單元。
多個 SDU 可以合稱為一個 PDU,一個 SDU 也可以划分為幾個 PDU。