计算机网络原理学习笔记
目錄
- 一. 計算機網絡概述
- 1.1 計算機網絡基本概念
- 1.2 計算機網絡結構
- 1.3 數據交換技術
- 1.4 計算機網絡性能
- 1.4.1 速率與帶寬
- 1.4.2 時延
- 1.4.3 時延帶寬積
- 1.4.4 丟包率
- 1.4.5 吞吐量
- 1.5 計算機網絡體系結構
- 1.5.1 計算機網絡分層體系結構
- 1.5.2 OSI 參考模型
- 1.5.3 OSI 參考模型有關術語
- 1.5.4 TCP/IP 參考模型
- 1.5.5 五層參考模型
- 1.6 計算機網絡與因特網發展簡史
- 二. 網絡應用
- 2.1 計算機網絡應用體系結構
- 2.1.1 客戶端/ 服務器(C/S )結構網絡應用
- 2.1.2 純 P2P 結構網絡應用
- 2.1.3 混合結構網絡應用
- 2.2 網絡應用通信基本原理
- 2.2.1 網絡應用的基本通信過程
- 2.2.2 網絡應用于傳輸層服務
- 2.2.3 網絡應用編程接口
- 2.2.4 網絡應用進程的標識
- 2.3. 域名系統(DNS )
- 2.3.1 層次化域名空間
- 2.3.2 域名服務器
- 2.3.3 域名解析過程
- 2.4. 萬維網應用
- 2.4.1 萬維網應用結構
- 2.4.2 HTTP
- 2.4.2.1 HTTP概述
- 2.4.2.2 HTTP連接
- 2.4.2.3 HTTP報文
- 2.4.2.4 HTTP狀態碼
- 2.4.3 Cookie
- 2.5 Internet 電子郵件
- 2.5.1 電子郵件系統結構
- 2.5.2 SMTP
- 2.5.2.1 SMTP郵件發送過程
- 2.5.2.2 SMTP特點
- 2.5.2.3 電子郵件格式與 MIME
- 2.5.2.4 郵件讀取協議
- 2.6 FTP
- 2.7 P2P應用
- 2.8 Socket 編程基礎
- 三. 傳輸層
- 3.1 傳輸層的基本服務
- 3.1.1 傳輸層功能
- 3.1.2 傳輸層尋址與端口
- 3.1.3 無連接服務與面向連接服務
- 3.2 傳輸層的復用與分解
- 3.2.1 無連接的多路復用與多路分解
- 3.2.2 面向連接的多路復用與多路分解
- 3.3 停- 等協議與滑動窗口協議
- 3.3.1 可靠數據傳輸基本原理
- 3.3.2 停- 等協議
- 3.3.3 停等 協議的特點和基本工作過程
- 3.3.4 仍需 討論的細節和變化
- 3.3.5 滑動窗口協議
- 3.4 用戶數據報協議 (UDP)
- 3.4.1 UDP 數據報結構
- 3.4.2 UDP 校驗和
- 3.5 傳輸控制協議 (TCP)
- 3.5.1 TCP 報文段結構
- 3.5.2 TCP 連接管理
- 3.5.3 三次握手
- 3.5.4 四次揮手
- 3.5.5 TCP 可靠數據傳輸
- 3.5.6 TCP 流量控制
- 3.5.7 TCP 擁塞控制
- 四. 網絡層
- 4.1 網絡層服務
- 4.2 數據報網絡與虛電路網絡
- 4.2.1 數據報網絡
- 4.2.2 虛電路網絡
- 4.2.3 虛電路交換與數據報交換的差別
- 4.3 網絡互連與網絡互連設備
- 4.3.1 異構網絡互連
- 4.3.2 網絡互連的基本方法
- 4.3.3 典型網絡互連設備
- 4.3.4 路由器
- 4.3.5 路由器的體系結構
- 4.4 網絡層擁塞控制
- 4.4.1 網絡層擁塞基本概念
- 4.4.2 擁塞控制
- 4.4.3 流量控制
- 4.4.4 擁塞的主要原因
- 4.4.5 擁塞的解決方法
- 4.4.6 流量感知路由基本原理
- 4.4.7 準入控制
- 4.4.8 流量調節
- 4.5 Internet 網絡層
- 4.5.1 IP 數據報格式(IPv4)
- 4.5.2 數據報分片
- 4.5.3 分類尋址
- 4.5.4 動態主機配置協議(DHCP)
- 4.5.5 網絡地址轉換(NAT的工作原理)
- 4.5.6 ICMP(互聯網控制報文協議)
- 4.6 路由算法與路由協議
- 4.6.1 路由選擇基本原理
- 4.6.2 路由算法分類
- 4.6.3 距離向量路由選擇算法
- 4.6.4 層次化路由選擇
- 4.6.5 Internet 路由 選擇協議
- 五. 數據鏈路層與局搣網
- 5.1 數據鏈路層服務
- 5.2 差錯控制
- 5.2.1 檢錯重發
- 5.2.2 前向糾錯
- 5.2.3 反饋校驗
- 5.2.4 檢錯丟棄
- 5.3 多路訪問控制協議
- 5.3.1 信道劃分MAC協議
- 5.3.2 隨機訪問 MAC 協議
- 5.3.3 受控接入 MAC 協議
- 5.4 局域網
- 5.4.1 數據鏈路層尋址與 ARP
- 5.4.2 以太網
- 5.4.3 交換機
- 5.4.4 虛擬局域網
- 5.4.5 點對點鏈路協議
- 六. 物理層
- 6.1數據通信基礎
- 6.1.1 數據通信基本概念
- 6.2 數據通信系統模型
- 6.2.1 數據通信系統的構成
- 6.2.2 模擬通信和數字通信
- 6.2.3 數據通信方式
- 6.2.4 數據通信系統的功能
- 6.3 物理介質
- 6.3.1 引導型傳輸介質
- 6.3.2 非引導型傳輸介質
- 6.3.3 信道與信道容量
- 6.3.4 信道傳輸特性
- 6.3.5 信道容量
- 七. 無線與移動網絡
- 7.1 無線網絡
- 7.1.1 無線網絡基本結構
- 7.1.2 無線鏈路與無線網絡特性
- 7.2 移動網絡
- 7.2.1 移動網絡基本原理
- 7.2.2 尋址
- 7.2.3 移動結點的路由選擇
- 7.3 無線局域網 IEEE 802.11
- 7.3.1 IEEE 802.11 體系結構
- 7.3.2 IEEE 802.11 的 MAC 協議
- 7.3.3 IEEE 802.11 幀
- 7.4 蜂窩網絡
- 7.4.1 蜂窩網絡體系結構
- 7.4.2 蜂窩網絡中的移動性管理
- 7.4.3 移動通信 2G/3G/4G/5G 網絡
- 7.5 移動 IP 網絡
- 7.5.1 代理發現
- 7.5.2 向歸屬代理注冊
- 7.6 其他典型無線網絡簡介
- 7.6.1 WiMax
- 7.6.2 藍牙
- 7.6.3 ZigBee
- 八.網絡安全基礎
- 8.1 網絡安全概述
- 8.1.1 基本概念
- 8.1.2 網絡安全威脅
- 8.2 數據加密
- 8.2.1傳統加密方式
- 8.2.2 對稱密鑰加密
- 8.2.3 非對稱/公開密鑰加密
- 8.3 消息完整性與數字簽名
- 8.3.1 消息完整性檢測方法
- 8.3.2 報文認證
- 8.3.3 數字簽名
- 8.4 身份認證
- 8.5 密鑰分發中心與證書認證機構
- 8.5.1 密鑰分發中心
- 8.5.2 證書認證機構
- 8.6 防火墻與入侵檢測系統
- 8.6.1 防火墻基本概念
- 8.6.2 防火墻分類
- 8.6.3 入侵檢測系統 IDS
- 8.7 網絡安全協議
- 8.7.1安全電子郵件
- 8.7.2 安全套接字層 SSL
一. 計算機網絡概述
1.1 計算機網絡基本概念
計算機網絡起源: 從技術范疇來看,計算機網絡是計算機技術與(通信)技術相互融合的產物。
計算機網絡的定義: 計算機網絡是互連的、自治的計算機的集合。
“自治”:指互連的計算機系統彼此獨立,不存在主從或者控制與被控制的關系。
“互連”:指利用通信鏈路連接相互獨立的計算機系統。
計算機:計算機設備。
協議: 協議是網絡通信實體之間在數據交換過程中需要遵循的規則或約定,是計算機網絡有序運行的重要保證。
協議三要素:語義、語法、時序。
計算機網絡的功能:
硬件資源共享:云計算,云存儲
軟件資源共享:SaaS
信息資源共享:信息檢索
計算機網絡的分類:
按覆蓋范圍分類:
按拓撲結構分類:
優點:易于監控與管理,故障診斷與隔離容易;
缺點:中央結點是網絡的瓶頸,一旦故障,全網癱瘓,網絡規模受限于中央結點的端口數量。
總線型拓撲結構
優點:結構簡單,所需電纜數量少,易于擴展;
缺點:是通信范圍受限,故障診斷與隔離較困難,容易產生沖突。
優點:所需電纜長度短,可以使用光纖,易于避免沖突;
缺點:某結點的故障容易引起全網癱瘓,新結點的加入或撤出過程比較麻煩,存在等待時間問題。
網狀拓撲結構
優點:網絡可靠性高,一條或多條鏈路故障時,網絡仍然可聯通;
缺點:網絡結構復雜,造價成本高,選路協議復雜。
樹形拓撲結構
優點:易于擴展,故障隔離容易;
缺點:對根結點的可靠性要求高,一旦根結點故障,則可能導致網絡大范圍無法通信。
混合拓撲結構網絡是由兩種以上簡單拓撲結構混合連接而成的網絡。
優點:易于擴展,可以構建不同規模網絡,并可根據需要優選網絡結構;
缺點:網絡結構復雜,管理與維護復雜。
按交換方式分類:
電路交換網絡
報文交換網絡
分組交換網絡
按網絡用戶屬性分類:
1.2 計算機網絡結構
大規模現代計算機網絡的結構包括網絡邊緣、接入網絡與網絡核心 3 部分。
一、網絡邊緣:連接到網絡上的計算機、服務器、智能手機、智能傳感器、智能家電等稱為主機或端系統。
二、接入網絡
三、網絡核心
1.3 數據交換技術
一、電路交換
電路交換是最早出現的一種交換方式,電話網絡則是最早、最大的電路交換網絡。
利用電路交換進行通信包括建立電路、傳輸數據和拆除電路 3 個階段。
特點: 在通信時需要先建立電路連接,在通信過程中獨占一個信道,通信結束后拆除電路連接。
優點: 實時性高,時延較小;
缺點: 對于突發性數據傳輸,信道利用率低,且傳輸速率單一。電路交換主要適用于語音和視頻這類實時性強的業務。
二. 報文交換
報文交換也稱為消息交換。存儲-轉發式交換方式。適用于電報通信。
三. 分組交換
是目前計算機網絡廣泛采用的技術,也稱包交換。分組交換需要將待傳輸數據(即報文)分割成較小的數據塊,每個數據塊附加上地址、序號等控制信息構成數據分組,每個分組獨立傳輸到目的地,目的地將收到的分組重新組裝,還原為報文。采取存儲-轉發交換方式。
優點:
缺點: 有效傳輸效率降低
分組長度的確定:
分組長度與延遲時間:在其他條件相同的情況下,分組長度越長,延遲時間越長,所以,對于實時交互通信,要求延遲時間段,分組長度應該盡可能短;對于諸如文件傳送類的非實時數據通信,延遲要求不高,即使分組長度較長,也不致影響正常通信,分組長度可以適當長些。
分組長度與誤碼率:分組數據交換的規格和標準已由國際電信聯盟以建議的形式制定出,分組長度以 16B(1B=8bit)到4096B 之間的 2^n B 為標準分組長度,如 32B、64B、256B、512B 和 1024B等。
1.4 計算機網絡性能
1.4.1 速率與帶寬
速率: 是指網絡單位時間內傳送的數據量,用以描述網絡傳輸數據的快慢,也稱為數據傳輸速率或數據速率。計算機網絡傳輸的數據是以位為信息單位的二進制數據,速率的基本單位是 bit/s(位每秒),因此有時也稱速率為比特率(bit rate)。
帶寬: 帶寬原本是指信號具有的頻帶寬度,即信號成分的最高頻率與最低頻率之差,單位為 Hz (赫茲)。
在計算機網絡中,當描述一條鏈路或信道的數據傳輸能力時,經常使用“帶寬”一詞表示鏈路或信道的最高數據速率,單位也是 bit/s。由于帶寬具有不同的含義與單位,所以有時需要明確說明或者根據上下文判斷其具體含義和單位。
1.4.2 時延
時延是評價計算機網絡性能的另一個重要的性能指標,也稱為延遲。時延是指數據從網絡中的一個結點(主機或交換設備等)到達另一結點所需要的時間。
在計算機網絡中,通常將連接兩個結點的直接鏈路稱為一個“跳步”,簡稱“跳”。
分組的每跳傳輸過程主要產生 4 類時間延遲:結點處理時延、排隊時延、傳輸時延和傳播時延。
結點處理時延 : 每個分組到達交換結點時,交換設備通常可能需要驗證分組是否有差錯,根據分組攜帶的信息檢索轉發表,確定如何轉發該分組,還有可能修改分組的部分控制信息等。針對分組進行這些操作所消耗的時間總和,構成了結點處理時延,記為 dc 。
排隊時延 : 分組在緩存中排隊等待的時間就是排隊時延,記為 d q 。
傳輸時延 : 當一個分組在輸出鏈路發送時,從發送第一位開始,到發送完最后一位為止,所用的時間,稱為傳輸時延,也稱為發送時延,記為 d t 。假設分組長度為 Lbit,鏈路帶寬(即速率)為Rbit/s,則分組的傳輸時延為 d t =L/R。
傳播時延 : 信號從發送端發送出來,經過一定距離的物理鏈路到達接收端所需要的時間,稱為傳播時延,記為 d p 。顯然,若物理鏈路長度為 D(m),信號傳播速度為 V(m/s),則傳播時延為 d p =D/V
跳步時間 : 一個分組經過一個跳步所需時間d h =d c +d q +d t +d p 。 如果一個分組從源主機到達目的主機經過n個交換結點,即經過的跳步數為(n+1)
1.4.3 時延帶寬積
一段物理鏈路的傳播時延與鏈路帶寬的乘積,稱為時延帶寬積,記為 G,于是 G=d p *R,G的單位是位。
時延帶寬積的物理意義在于:如果將物理鏈路看作一個傳輸數據的管道的話,時延帶寬積表示一段鏈路可以容納的數據位數,也稱為以位為單位的鏈路長度。
1.4.4 丟包率
當網絡擁塞特別嚴重時,新到達的分組甚至已無緩存空間暫存該分組,此時交換結點會丟棄分組,就會發生“丟包”現象。丟包率常被用于評價和衡量網絡性能的指標,在很大程度上可以反映網絡的擁塞程度,因為引發網絡丟包的主要因素是網絡擁塞。
1.4.5 吞吐量
吞吐量表示在單位時間內源主機通過網絡向目的主機實際送達的數據量,單位為 bit/s 或 B/s(字節每秒),記為 Thr。吞吐量經常用于度量網絡的實際數據傳送(通過)能力,即網絡實際可以達到的源主機到目的的主機的數據傳送速率。吞吐量受網絡鏈路帶寬、網絡連接復雜性、網絡協議、網絡擁塞程度等因素影響。
1.5 計算機網絡體系結構
1.5.1 計算機網絡分層體系結構
1.5.2 OSI 參考模型
負責制定國際標準的國際標準化組織 ISO 參考了 IBM 的 SNA 和其他計算機廠商的網絡體系結構,提出了開放系統互連參考模型,簡稱 OSI 參考模型,按照這個標準設計建成的計算機網絡中的設備都可以相互通信。
OSI 參考模型采用分層結構化技術,將整個計算機網絡的通信功能分為 7 層,由低至高分別是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。
OSI 參考模型的物理層、數據鏈路層和網絡層稱為結點到結點層,傳輸層、會話層、表示和應用層稱為端到端層。
物理層: 物理層的主要功能是在傳輸介質上實現無結構比特流傳輸。物理層的另一項主要任務就是規定數據終端設備(DTE)與數據通信設備(DCE)之間接口的相關特性,主要包括機械、電氣、功能和規程 4 個方面的特性。
數據鏈路層: 數據鏈路層的主要功能是實現相鄰結點之間數據可靠而有效的傳輸。
網絡層: 網絡層解決的核心問題是如何將分組通過交換網絡傳送至目的主機,因此,網絡層的主要功能是數據轉發與路由。
傳輸層: 傳輸層的功能主要包括復用/分解(區分發送和接收主機上的進程)、端到端的可
靠數據傳輸、連接控制、流量控制和擁塞控制機制等。
會話層: 會話層是指用戶與用戶的連接,通過在兩臺計算機間建立、管理和終止通信來完成對話。會話層的主要功能:在建立會話時核實雙方身份是否有權參加會話;確定雙方支付通信費用;雙方在各種選擇功能方面取得一致;在會話建立以后,需要對進程間的對話進行管理與控制。
表示層: 表示層主要用于處理應用實體間交換數據的語法,其目的是解決格式和數據表示的差別,從而為應用層提供一個一致的數據格式,使字符、格式等有差異的設備之間相互通信,表示層還可以實現文本壓縮/解壓縮、數據加密/解密、字符編碼的轉換等功能。
應用層: 應用層與提供給用戶的網絡服務相關,這些服務非常豐富,包括文件傳送、電子郵件、P2P 應用等。
1.5.3 OSI 參考模型有關術語
數據單元: 在層的實體之間傳送的比特組稱為數據單元。
服務訪問點: 相鄰層間的服務是通過其接口面上的服務訪問點(SAP)進行的,N 層 SAP 就是(N+1)層可以訪問 N 層的地方。每個 SAP 都有一個唯一的地址號碼。
服務原語
請求: 用戶實體請求服務做某種工作。
指示: 用戶實體被告知某件事發生。
響應: 用戶實體表示對某件事的響應。
證實: 用戶實體收到關于它的請求的答復。
面向連接的服務和無連接的服務
在分層的體系結構中,下層向上層提供服務通常有兩種形式:面向連接的服務和無連接的服務。
面向連接的服務以電話系統最為典型。
無連接的服務沒有建立和拆除鏈路的過程。
1.5.4 TCP/IP 參考模型
作為最大、最重要的計算機網絡——因特網的體系結構則可以用TCP/IP參考模型進行描述。
應用層:TCP/IP 參考模型將 OSI 參考模型中會話層和表示層的功能合并到了應用層來實現。用戶通過應用層來使用 Internet 提供的各種服務。每一種應用都使用了相應的協議來將用戶的數據按照協議定義的格式進行封裝,以便達到對應的控制功能,然后再利用下一層即傳輸層的協議進行傳輸,例如 WWW 服務的應用層協議為 HTTP、文件傳輸是 FTP、電子郵件包括 SMTP 和 POP3 等。每一個應用層協議一般都會使用到兩個傳輸層協議之一進行數據傳輸:面向連接的傳輸控制協議 TCP 和無連接的用戶數據報協議 UDP。
傳輸層:傳輸層的協議為運行在不同主機上的進程提供了一種邏輯通信機制。TCP/IP參考模型的傳輸層主要包括面向連接、提供可靠數據流傳輸的傳輸控制協議 TCP 和無連接不提供可靠數據傳輸的用戶數據報協議 UDP。
網絡互聯層:網絡互聯層是整個 TCP/IP 參考模型的核心,主要解決把數據分組發往目的網絡或主機的問題。在 TCP/IP 參考模型中,網絡互聯層的核心協議是 IP,負責定義分組的格式和傳輸。 網絡互聯層還包括互聯網控制報文協議ICMP、互聯網多播組管理協議IGMP以及路由協議,如 BGP、OSPF 和 RIP 等。
網絡接口層:實際上,TCP/IP 參考模型沒有真正描述這一層的實現,只是要求能夠提供給其上層——網絡互聯層一個訪問接口,以便在其上傳遞 IP 分組。由于這一層未被定義,所以其具體的實現方法將隨著網絡類型的不同而不同。實際上,這一層對應 OSI 參考模型中的數據鏈路層和 物理層,網絡層IP分組在這一層被封裝到底層網絡的鏈路層數據幀中,并最終以比特流的形式在物理介質上進行傳輸。
1.5.5 五層參考模型
五層參考模型包括物理層、數據鏈路層、網絡層、傳輸層與應用層,各層功能基本與 OSI參考模型對應,這是近年來,在描述計算機網絡中最常用、最接近實際網絡的參考模型。
1.6 計算機網絡與因特網發展簡史
作為 Kleinrock 同事的 Lawrence Roberts 領導了美國高級研究計劃部署(ARPA)的一項計算機科學計劃,并于 1967 年發布了一個稱為 ARPAnet 的總體計劃。ARPAnet 是第一個分組交換計算機互連的網絡,也是當今因特網的祖先。得到美國國防部高級研究計劃署(DARPA)支持的 Vinton Cerf 與 Robert Kahn 提出了互聯網體系結構,即構建網絡之網絡,并發展了 3 個因特網核心協議,即 TCP、UDP 和 IP,奠定了因特網的協議基礎。
二. 網絡應用
2.1 計算機網絡應用體系結構
計算機網絡應用是運行在計算機網絡環境下的分布式軟件系統,計算機網絡應用很多,從體系結構角度可以分為:客戶/服務器(C/S)結構、純 P2P(Peer to Peer)結構和混合結構 3 種類型。
2.1.1 客戶端/ 服務器(C/S )結構網絡應用
客戶/服務器結構的網絡應用是最典型的、最基本的網絡應用。
C/S 網絡應用最主要的特征是通信只在客戶端與服務器之間進行,客戶與客戶之間不進行直接通信。事實上,在現代計算機網絡中,網絡應用程序之間通信的基本模式就是 C/S 方式通信。在 C/S 通信過程中,主動發起通信的一方就是客戶,被動接受通信的一方就是服務器。
顯然,服務器為了能被動接受通信,必須先運行,做好通信準備。
2.1.2 純 P2P 結構網絡應用
P2P 網絡應用是近年來網絡上發展比較快,并且表現出許多優良性能,深受用戶青睞的一類網絡應用,在文件分發、文件共享、視頻流服務等應用中,P2P 表現出優越的性能。
在純 P2P 網絡應用中,沒有一直在運行的傳統服務器,所有通信都是在對等的通信方之間直接進行,通信雙方沒有傳統意義上的客戶與服務器之分,“地位”對等。
對等端軟件通常運行在普通用戶的計算設備上,可以動態地直接與其他對等端進行通信。
任何一個對等端既可以主動發起請求另一個對等端的服務,也可以被動地為其他對等端提供服務。因此,P2P 應用中的每個對等端都同時具備 C/S 應用的客戶與服務器的特征,是一個服務器與客戶的結合體。事實上,P2P 應用中的對等端軟件包括服務器軟件與客戶端軟件。
2.1.3 混合結構網絡應用
混合結構網絡應用將 C/S 應用于 P2P 應用相結合,既有中心服務器的存在,又有對等端間的直接通信。
在混合結構網絡應用中,存在客戶(即對等端)與服務器之間的傳統 C/S 結構的通信,也存在客戶之間的直接通信。
2.2 網絡應用通信基本原理
2.2.1 網絡應用的基本通信過程
網絡應用的本質是運行在不同主機上的應用進程之間的通信。無論哪種類型的網絡應用,基本通信方式都是 C/S 通信,因此,網絡應用的基本通信過程就是運行在不同主機上的應用進程間以 C/S 方式進行的通信。
2.2.2 網絡應用于傳輸層服務
無論是服務器進程還是客戶進程無論是服務器進程還是客戶進程,當其遵循應用層協議組織好應用層報文后,需要通過層間接口(如應用編程接口 API)將報文傳遞給相鄰的傳輸層,請求傳輸層協議提供的端到端傳輸服務,如圖所表示的報文 M 通過接口傳遞給傳輸層(或從傳輸層接收 M)。
2.2.3 網絡應用編程接口
典型的網絡應用編程接口是套接字(Socket)。應用進程可以通過創建套接字實現與底層協議接口,并可以進一步通過套接字實現應用進程與底層協議之間的報文交換。因此,套接字是每個應用進程與其他應用進程進行網絡通信時,真正收發報文的通道。
2.2.4 網絡應用進程的標識
一個應用進程可以創建多個套接字與同一個或不同的傳輸層協議進行接口,對于一個傳輸層協議,需要為與其接口的每個套接字分配一個編號,標識該套接字,該編號稱為端口號(port number)。通常服務器進程套接字會分配特定的端口號,而客戶進程的套接字會綁定一個隨機的唯一端口號。
一個主機上可能同時運行多個網絡應用進程,每個應用進程通過一個或多個套接字與傳輸層協議進行接口,因此,通過進程運行的主機 IP 地址以及其套接字所綁定的端口號可以標識應用進程。IP 地址是 Internet 的網絡層地址,用于唯一標識一個主機或路由器接口。
2.3. 域名系統(DNS )
DNS 是一個重要的基礎應用,因為任何一個需要使用域名進行通信的網絡應用,在應用通信之前首先需要請求 DNS 應用,將域名映射為 IP 地址。實現將域名映射為 IP 地址的過程,稱為域名解析。DNS 為了實現域名解析,需要建立分布式數據庫,存儲網絡中域名與 IP 地址的映射關系數據,這些數據庫存儲在域名服務器,域名服務器根據用戶的請求提供域名解析服務。
2.3.1 層次化域名空間
DNS 為了實現域名的有效管理與高效查詢,DNS 服務器按層次結構進行組織,并且該層次結構與域名的結構相對應。
1、國家頂級域名 nTLD:如 cn 表示中國,us 表示美國,uk 表示英國等。
2、通用頂級域名 gTLD:最早的頂級域名是 com(公司和企業)、net(網絡服務機構)、org(非盈利性組織)、edu(專用的教育機構)、gov(專用的政府部門)、mil(專用的軍事部門)、int(國際組織)。
3、基礎結構域名:這種頂級域名只有一個,即 arpa,用于反向域名解析,因此又稱為反向域名。
2.3.2 域名服務器
一個服務器所負責管轄的(或有權限的)范圍叫做區。每個區設置相應的權威域名服務器,用來保存該區中的所有主機的域名到 IP 地址的映射。
域名服務器根據其主要保存的域名信息以及在域名解析過程中的作用等,可以分為根域名服務器、頂級域名服務器、權威域名服務器、中間域名服務器 4 類。
1、根域名服務器:根域名服務器是最重要的域名服務器,是主機進行域名查詢過程中首先被查詢的域名服務器。
2、頂級域名服務器:即 TLD 服務器,負責管理在該頂級域名服務器注冊的所有二級域名。
3、權威域名服務器:負責一個區的域名服務器,保存該區中的所有主機的域名到 IP 地址的映射。
4、中間域名服務器:在層次域名結構中,有時還存在一些既不是根域名服務器,又不是頂級域名服務器,也不是權威域名服務器的域名服務器,這些域名服務器通常稱為中間域名服務器。
2.3.3 域名解析過程
域名解析分為遞歸解析和迭代解析。提供遞歸查詢服務的域名服務器,可以代替查詢主機或其他域名服務器,進行進一步的域名查詢,并將最終解析結果發送給查詢主機或服務器;
提供迭代查詢的服務器,不會代替查詢主機或其他域名服務器,進行進一步的查詢,只是將下一步要查詢的服務器告知查詢主機或服務器(當然,如果該服務器擁有最終解析結果,則直接響應解析結果)。
2.4. 萬維網應用
2.4.1 萬維網應用結構
2.4.2 HTTP
2.4.2.1 HTTP概述
HTTP 是 Web 應用的應用層協議,定義瀏覽器如何向 Web 服務器發送請求以及 Web 服務器如何向瀏覽器進行響應。目前以 HTTP/1.1 為主流。
2.4.2.2 HTTP連接
HTTP 基于傳輸層的 TCP 傳輸報文。瀏覽器在向服務器發送請求之前,首先需要建立 TCP連接,然后才能發送 HTTP 請求報文,并接收 HTTP 響應報文。根據 HTTP 在使用 TCP 連接的策略不同,可以分為非持久連接的 HTTP 和持久連接的 HTTP。
1.非持久連接
非持久連接是指 HTTP 客戶端與 HTTP 服務器建立 TCP 連接后,通過該連接發送 HTTP 請求報文,接收 HTTP 響應報文,然后斷開連接。
請求傳輸過程如下:
(1)HTTP 客戶進程向服務器 www.abc.edu.cn 的 80 號端口,請求建立 TCP 連接。
(2)HTTP 客戶進程基于已建立的 TCP 連接向服務器發送一個 HTTP 請求報文。
(3)HTTP 服務器進程接收該請求報文,從指定的路徑中檢索出 index.html 文件,并封裝到一個 HTTP 響應報文中,發送給客戶進程。
(4)HTTP 服務器進程通知 TCP 斷開該 TCP 連接。
(5)HTTP 客戶接收響應報文,斷開 TCP 連接。瀏覽器從響應報文中提出 HTML 文件,進行解析顯示,并獲知還有 3 個 JPEG 圖片的引用。
(6)對每個引用的 JPEG 圖片,重復前 4 個步驟。
典型優化技術包括以下兩種:
-
并行連接,通過建立多條并行的 TCP 連接,并行發送 HTTP 請求和并行接收 HTTP 響應。
-
持久連接,重用已建立的 TCP 連接發送新的 HTTP 請求和接收 HTTP 響應,從而消除新建TCP 連接的時間開銷。
2. 持久連接
客戶端請求了 Web 頁后,繼續傳輸引用的圖像文件,這些圖像文件多數情況下位于與 Web頁所在的服務器相同的服務器,即具有站點局部性特點。這種情況下,可以不斷建立的 TCP連接,而是利用該連接繼續請求傳輸后續的 JPEG 小圖像,這種 TCP 連接稱為持久連接。
根據使用持久連接傳輸多個對象的策略不同,持久連接又分為兩種工作方式:非流水方式持久連接和流水方式持久連接。
(1) 非流水方式持久連接:也稱為非管道方式持久連接,客戶端在通過持久連接一個響應報文后,才能發出對下一個對象的請求報文。
(2) 流水方式持久連接:也稱為管道方式持久連接,客戶端在通過持久連接收到前一個對象的響應報文之前,連續依次發送對后續對象的請求報文,然后再通過該連接依次接收服務器發回的響應報文。
使用持久連接的主要約束與規則如下:
(1) 如果客戶端不期望在連接上發送其他請求,則應該在最后一條請求報文中包含connection:close 首部行。
(2) 如果客戶端在收到的響應報文中包含 connection:close 首部行,則客戶端不能再在這條連接上發送更多的請求。
(3) 每個持久連接只適用于一跳傳輸,HTTP/1.1 代理必須能夠分別管理與客戶端和服務器的持久連接。
(4) HTTP/1.1 代理服務器不應該與 HTTP/1.0 客戶端建立持久連接。
2.4.2.3 HTTP報文
HTTP 報文由 4 個部分組成:起始行、首部行、空白行和實體主體。
HTTP 報文可以分為兩類:請求報文和響應報文,請求報文由瀏覽器(客戶端)發送給 Web服務器,響應報文由 Web 服務器發送給瀏覽器。
請求報文與響應報文最主要的區別是起始行不同
請求報文起始行為
方法 URL 協議版本
響應報文起始行為
協議版本 狀態碼 短語
每部分之間由空格分離,起始行最后是 CRLF。
HTTP 典型的請求方法有 GET、HEAD、POST、OPTION、PUT 等。
1、GET:請求讀取由 URL 所標識的信息,是最常見的方法。
2、HEAD:請求讀取由 URL 所標識的信息的首部,即無須再響應報文中包含對象。
3、POST:給服務器添加信息(例如,注釋)
4、OPTION:請求一些選項的信息。
5、PUT:在指明的 URL 下存儲一個文檔。
2.4.2.4 HTTP狀態碼
HTTP狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型,后兩個數字沒有分類的作用。HTTP狀態碼共分為5種類型:
| 1xx | 信息,服務器收到請求,需要請求者繼續執行操作 |
| 2xx | 成功,操作被成功接收并處理 |
| 3xx | 重定向,需要進一步的操作以完成請求 |
| 4xx | 客戶端錯誤,請求包含語法錯誤或無法完成請求 |
| 5xx | 服務器錯誤,服務器在處理請求的過程中發生了錯誤 |
2.4.3 Cookie
1、Cookie 中文名稱為小型文本文件,指某些網站為了辨別用戶身份、進行會話跟蹤而儲存在用戶本地終端上的數據。
2、Cookie 技術主要包括 4 部分內容。
HTTP 響應報文中的 Cookie 頭行:Set-Cookie。
用戶瀏覽器在本地存儲、維護和管理的 Cookie 文件。
HTTP 請求報文中的 Cookie 頭行:Cookie。
網站在后臺數據庫中存儲、維護 Cookie 信息,包括已分配給用戶 ID、每個 ID 用戶在本網站的訪問特征等。
Cookie 的工作原理如圖:
2.5 Internet 電子郵件
2.5.1 電子郵件系統結構
電子郵件系統主要包括郵件服務器、簡單郵件傳輸協議、用戶代理和郵件讀取協議等。
郵件服務器的功能是發送和接收郵件,同時還要向發信人報告郵件傳送的情況(已交付、被拒絕、丟失等),是電子郵件體系結構的核心。
2.5.2 SMTP
2.5.2.1 SMTP郵件發送過程
SMTP 是 Internet 電子郵件中核心應用層協議,實現郵件服務器之間或用戶代理到郵件服務器之間的郵件傳輸。SMTP 使用傳輸層 TCP 實現可靠數據傳輸,從發送方向接收方發送郵件。在發送郵件時,SMTP 客戶端首先請求與服務器端的 25 號端口建立 TCP 連接,連接一旦建立,便開始進行 SMTP 應用層交互,實現郵件的發送。當 TCP 連接建立成功后,SMTP通過 3 個階段的應用層交互完成郵件的傳輸,分別是握手階段、郵件傳輸階段和關閉階段。SMTP 客戶首先主動請求與 SMTP 服務器(25 號端口)建立 TCP 連接,一旦 TCP 連接建立成功,就開始了下列交互過程。
2.5.2.2 SMTP特點
1、SMTP 只能傳送 7 位 ASCⅡ碼文本內容,包括 SMTP 命令、應答消息以及郵件內容。
2、SMTP 傳送的郵件內容中不能包含“CRLF.CRLF”,因為該信息用于標識郵件內容的結束。
3、SMTP 是“推動”協議。當客戶端有郵件發送給服務器時,客戶主動與服務器請求建立 TCP連接,然后將郵件“推送”給服務器。
4、SMTP 使用 TCP 連接是持久的。
2.5.2.3 電子郵件格式與 MIME
大部分郵件本身并不是一段文本內容,而是按著一定格式結構進行組織的。一份郵件包括首部、空白行、主體 3 部分。
由于 SMTP 只能傳輸 7 位 ASCⅡ碼文本內容,所以在傳輸非 7 位 ASCⅡ碼文本內容時,必須依據一個標準將非 7 位ASCⅡ碼文本內容轉換為 7 位 ASCⅡ碼文本內容,然后再利用SMTP 進行傳輸。解決這一問題的具體方案就是多用途互聯網郵件擴展(MIME)。MIME 已經廣泛應用于互聯網的郵件之中。
MIME 主要包括 3 個部分:
1、5 個 MIME 郵件首部字段,可包含在郵件首部中。這些字段提供了有關郵件主體的信息。
2、定義了多種郵件內容的格式,對多媒體電子郵件的表示方法進行了標準化。
3、定義了郵件傳送編碼,可對任何內容格式進行轉換,從而適合通過 SMTP 進行傳送。
2.5.2.4 郵件讀取協議
POP3
POP3 是一個簡單的郵件讀取協議,因此其功能很有限。為了保證讀取郵件過程的可靠性,POP3 協議使用傳輸層 TCP。POP3 客戶端運行在用戶代理中,POP3 服務器運行在郵件服
務器上,默認熟知端口號為 110。用戶讀取郵件中的郵件時,用戶代理中的 POP3 客戶首先請求與 POP3 服務器進行交互,實現對郵箱的操作。POP3 協議交互過程可以分為 3 個階段:授權、事務處理和更新。
IMAP
IMAP 服務器將每個郵件與一個文件夾進行關聯,當郵件第一次到達服務器時,與收件人的INBOX 文件夾相關聯。通過 IMAP,收件人可以在服務器上創建新的文件夾,并可以對郵
件進行移動、查詢、閱讀、刪除等操作。
HTTP
HTTP 是 Web 應用的應用層協議。當使用基于 Web 的郵件時,HTTP 便被用于郵件的讀取,此時,HTTP 也作為郵件讀取協議使用。
2.6 FTP
1、文件傳送協議是在互聯網的兩個主機間實現文件互傳的網絡應用,其應用層也稱為 FTP。FTP 的服務器進程由兩大部分組成:一部分為主進程,負責接受新的客戶請求;另一部分為若干從屬進程,負責處理單個客戶請求,與具體客戶進行交互。
2、FTP 的特點
(1)FTP 在傳輸文件內容時,需要新建一個數據連接,專用于文件傳輸,文件傳輸結束后,數據連接即關閉。也就是說,FTP 應用使用兩個“并行”的 TCP 連接:控制連接和數據連接。
(2)FTP 服務器必須在整個會話期間保留用戶的狀態,即 FTP 是有狀態的。
(3)FTP 會話形式是客戶向服務器發送命令,服務器發送狀態碼和短語作為應答。
2.7 P2P應用
P2P 體系結構對服務器的依賴很小,甚至對于純 P2P 來說,整個應用幾乎不依賴某個集中服務器,應用都是動態地在對等方之間進行。在 P2P 應用中,對等方隨時可能加入應用,也可能隨時離開應用,具有很強的應用規模伸縮性。P2P 應用充分聚集利用了端系統(對等方主機)的計算能力以及網絡傳輸帶寬,代表了全新的網絡應用架構與理念。
2.8 Socket 編程基礎
1、網絡應用進程通信時需要通過 API 接口請求底層協議的服務,如傳輸層服務,目前在Internet 中應用最廣泛的網絡應用編程接口就是 Socket API。無論是客戶進程還是服務器進程,都需要創建 Socket,實現與底層協議接口,從而可以通過 Socket 將數據發送出去或接收進來。
2、網絡應用進程可以創建 3 種類型的 Socket:數據報類型套接字 SOCK_DGRAM、流式套接字 SOCK_STREA 和原始套接字 SOCK_RAM。
3、Socket API 函數調用過程
三. 傳輸層
3.1 傳輸層的基本服務
3.1.1 傳輸層功能
傳輸層的核心任務是為應用進程之間提供端到端的邏輯通信服務。
為此,傳輸層主要實現如下功能:
傳輸層尋址;
對應用層報文進行分段和重組;
對報文進行差錯檢測;
實現進程間端到端可靠數據傳輸控制;
面向應用層實現復用與分解;
實現端到端的流量控制;
擁塞控制等。
當然,并不是所有傳輸層協議都要實現所有這些功能,通常大部分傳輸層協議只實現其中一部分功能。不同傳輸層協議提供的服務也不同,例如,Internet 的傳輸層主要有兩個協議:面向連接的 TCP 和無連接的 UDP,前者提供可靠數據傳輸服務,而后者則不提供可靠數據傳輸服務。
3.1.2 傳輸層尋址與端口
傳輸層為了支持運行在不同主機、不同操作系統上的應用進程之間的通信,必須用統一的尋址方法對應用進程進行標識。TCP/IP 體系結構網絡的解決方法就是在傳輸層使用協議端口號(protocol port number),通常簡稱為端口(port),在全網范圍內利用 “IP 地址+端口號” 唯一標識一個通信端點。IP 地址唯一標識進程運行在哪個主機上,同一主機上傳輸層協議端口號則可以唯一對應一個應用進程。
傳輸層端口號為 16 位整數,其中 0?1023 為熟知端口號;1024?49151 為登記端口號,為沒有熟知端口號的應用程序(服務器)使用,必須在互聯網數字分配結構(The Internet Assigned Numbers Authority, IANA)登記,以防止重復; 49152~65535 為客戶端口號或短暫端口號,留給客戶進程或用戶開發的非標準服務器暫時使用。 另外,端口號只本地有效,只是標 識了本計算機應用層中的各應用進程在與傳輸層交互時的層間接口,在 Internet 不同計算機中 運行的網絡應用進程可能使用相同的端口號。
3.1.3 無連接服務與面向連接服務
傳輸層提供的服務可以分為無連接服務和面向連接服務兩大類。
無連接服務是指數據傳輸之前無需與對端進行任何信息交換(即“握手”),直接構造傳輸層報文段并向接收端發送;
面向連接服務是指在數據傳輸之前,需要雙方交換一些控制信息,建立邏輯連接,然后再傳輸數據,數據傳輸結束后還需要再拆除連接。
Internet 網絡提供無連接服務的傳輸層協議是 UDP,提供面向連接服務的傳輸層協議是 TCP。
3.2 傳輸層的復用與分解
支持眾多應用進程共用同一個傳輸層協議,并能夠將接收到的數據準確交付給不同的應用進程,是傳輸層需要實現的一項基本功能,稱為傳輸層的多路復用與多路分解,簡稱為復用與分解,也稱為復用與分用。實現復用與分解的關鍵是傳輸層協議能夠唯一標識一個套接字。
3.2.1 無連接的多路復用與多路分解
Internet 傳輸層提供無連接服務的傳輸層協議是 UDP。
UDP 套接字的端口號是 UDP 實現復用與分解的重要依據。下面結合圖 3.3 所示的例子來解釋 UDP 如何實現分解。假設在主機B 上同時運行兩個服務器進程 P2, P2 均 使用無連接服務,P1WUDP 套接字端口號是 37568,P2WUDP 套接字端口號是 26478;在 主機 A 上運行兩個客戶進程,分別與 P1和 P2 通信,在主機 C 上運行一個客戶進程,與 P2 通信。當客戶進程向服務器進程發送一個應用程序數據塊時,主機 A 或主機 C 中的 UDP 將 應用層數據塊封裝成一個 UDP 報文段,其中包括應用數據、源端口號、目的端口號等,然后,將得到的報文段傳遞給網絡層。網絡層將報文段封裝到一個 IP 數據報中,并傳送給主機 B(當然,IP 并不能確保 IP 數據報被送達)。
如果 IP 數據報到達主機 B,則主機 B 的網絡層(IP)提取 IP 數據報中封裝的 UDP 報文段,交付給主機 B 的傳輸層協議(即 UDP), 主機 B 傳輸層檢查報文段中的目的端口號(37568或 26478)。如果報文段的目的端口號為 37568,則將其封裝的應用層數據通過 37568 號套接字交付給 P1;如果報文段的目的端口號為 26478,則將其封裝的應用層數據通過 26478 號套接字交付給P2。顯然,盡管主機B可能同時運行多個使用傳輸層無連接服務的應用進程,但每個進程有自己的 UDP 套接字及相應的(唯一)端口號,當主機 B 的傳輸層從網絡層接收到 UDP 報文段時,通過檢索該報文段中的目的端口號,便可以將每個報文段分解(交付)到相應的套接字,從而將應用數據交付給正確的應用進程。
3.2.2 面向連接的多路復用與多路分解
Internet 傳輸層提供面向連接服務的是 TCP。TCP 服務器可以同時支持多個 TCP 套接字,每個套接字與一個進程(或線程)相關聯,并由一個四元組來標識每個套接字。當一個 TCP報文段到達主機時,4 個字段都被用來將報文段分解到相應的套接字。需要再次說明的是,四元組中的源端口號和目的端口號是 TCP 報文段首部字段,而源 IP 地址和目的 IP 地址則是封裝 TCP 報文段的 IP 數據報的首部 字段。圖 3.4 為運行在主機 B 的 Web 服務器實現TCP 多路分解的例子。圖 3.4 中主機 C 向 主機 B 發起了兩個 HTTP 會話(需要建立兩條TCP 連接),主機 A 向主機 B 發起了一個 HTTP 會話。主機 A、主機 B 和主機 C 都有自己唯一的 IP 地址,分別是 A、B、C 。主機 C 為其兩個 HTTP 連接(即 TCP 連接)的客戶端套接字分別分配了不同的源端口號: 7532 和 26145。由于客戶端套接字端口號的選擇通常是確保本地唯一、隨機選擇,因此,主機 A 選擇源端口號時也可能將源端口號 26145 分配給其 HTTP 連接(圖3.4 所示場景)。但這并不會產生問題,即主機 B 的傳 輸層(即 TCP)仍然能夠正確分解這兩個具有相同源端口號的連接,因為這兩條連接的源 IP 地址不同。
概括來說,在 Internet 網絡中,唯一標識套接字的基本信息是 IP 地址和端口號。UDP 基于目的 IP 地址和目的端口號二元組唯一標識一個 UDP 套接字,從而可以實現精確分解;
TCP則需要基于源 IP 地址、目的 IP 地址、源端口號和目的端口號四元組唯一標識一個 TCP 套接字(即一個 TCP 連接),從而實現精確分解。
3.3 停- 等協議與滑動窗口協議
Internet 傳輸層主要有兩個協議:UDP 和 TCP,其中 TCP 就可以提供可靠數據傳輸服務。
3.3.1 可靠數據傳輸基本原理
實現可靠數據傳輸的措施主要包括以下幾種:
1、差錯檢測:利用差錯編碼實現數據包傳輸過程中的比特差錯檢測(甚至糾正)。
2、確認:接收方向發送方反饋接收狀態。
3、重傳:發送方重新發送接收方沒有正確接收的數據。
4、序號:確保數據按序提交。
5、計時器:解決數據丟失問題。
3.3.2 停- 等協議
基于重傳機制的可靠數據傳輸協議稱為自動重傳請求(Automatic Repeat reQuest, ARQ)協議。最簡單的 ARQ 協議就是停-等協議。
3.3.3 停等 協議的特點和基本工作過程
停-等協議的主要特點就是每發送一個報文段后就停下來等待接收方的確認,這也是該協議名稱的基本含義。停-等協議的基本工作過程是:發送方發送經過差錯編碼和編號的報文段,等待接收方的確認;接收方如果正確接收報文段,即差錯檢測無誤且序號正確,則接收報文段,并向發送方發送 ACK,否則丟棄報文段,并向發送方發送 NAK;發送方如果收到ACK,則繼續發送后續報文段,否則重發剛剛發送的報文段。
3.3.4 仍需 討論的細節和變化
停-等協議雖然簡單,但在應用實現可靠數據傳輸的各種措施時,仍然存在許多的變化或細節需要討論。
1、關于差錯檢測。對于底層傳輸信道可能產生比特差錯的情況下,不僅報文段的傳輸可能發生比特差錯,ACK 或 NAK 數據包在通過底層信道傳輸時同樣可能會發生比特差錯,因此對報文段和 ACK 或 NAK 數據包均需進行差錯編碼以便進行差錯檢測。
2、關于序列號。對于停-等協議,序列號字段只需要 1 位就足夠了,因為在停-等協議中,只需利用報文段的序號區分是新發的報文段還是重傳的報文段。接收方根據報文段的序號就可以知道發送方是否正在重傳前一個報文段(即接收到的報文段序號與最近收到的報文段序號相同),還是一個新報文段(即序號變化了,用模 2 運算“前向”移動了)。
3、關于 ACK 和 NAK。如前所述,在停-等協議中,接收端可以利用 ACK 進行肯定確認,利用 NAK 進行否定確認。但在實際的協議設計過程中,通常不使用 NAK,而只使用 ACK進行確認,這樣可以減少數據包的種類,降低協議的復雜性。這會帶來一個新的問題,那就是當接收端接收到的報文段出現差錯時,如何向發送端進行確認呢?顯然,如果只簡單地發送 ACK 是肯定不行的,那會被發送方誤解接收端已經正確接收了剛剛發送的報文段。為此,需要對 ACK 做細微的改進,即在 ACK 數據包中帶上所確認的報文段序列號。例如,接收端當前正期望接收 0 號報文段,接收方收到報文段后首先進行差錯檢測,如果未發生差錯,且報文段序號為 0,貝幡收報文段,并向發送方發送 ACK0,對 0 號報文段進行確認;如果檢測到報文段有差錯,或報文段不是 0 號報文(即 1 號報文段,為重復報段),則丟棄該報文段,并向發送方發送 ACK1,進行確認,相當于對上一個正確接收的 1 號報文段再次進行肯定確認。當發送方再次收到 ACK1 時,即收到重復的 ACK1,則表明剛剛發送的 0 號報文 段沒有被接收方正確接收,所以需要重發。也就是說,利用重復 ACK 替代了 NAK。
4、關于 ACK 或 NAK 差錯。在 ACK 或 NAK 數據包中增加了差錯編碼后,發送方可以檢測出 ACK 或 NAK 是否發生差錯。如果發送方檢測出 ACK 或NAK 差錯,則不能準確判斷接收方是否已正確接收報文段或者沒有接收報文段。在這種情況下,為了確保可靠傳輸,發送方采取“有錯推斷”'原則,即推斷接收方沒有正確接收相應的報文段。因此,當發送方檢測到收到的 ACK 或 NAK 有差錯時,便重傳剛剛發送的報文段。當然,這可能帶來一個新問題,就是接收方可能重復接收到同一個報文段,但接收方可以通過報文段的序號判斷是 否是重復的報文段,對于重復到達的報文段進行丟棄并確認即可。
3.3.5 滑動窗口協議
如果發送方可以在等待確認之前連續發送 3 個分組,則協議的信道利用率相對于停-等協議就提高到 3 倍。在這種可靠數據傳輸協議中,從發送方向接收方傳送的系列分組可以看成是填充到一條流水 線(或一條管道)中,故稱這種協議為流水線協議或管道協議。相對于停-等協議,流水線協議實現可靠數據傳輸時,需要做如下的改進。
1、必須增加分組序號范圍。必須確保每個正在傳送中、未被確認的分組有一個唯一的 序號(重傳的分組除外),以便準確區分每一個未被確認的分組。因此,在流水線可靠傳輸 協議中,分組中的序號字段需要多位,而不能像停-等協議那樣只使用 1 位序號。
2、協議的發送方和(或)接收方必須緩存多個分組。發送方最低限度應當能緩沖那些已發送但沒有確認的分組,一旦其中任何一個或多個分組丟失或錯誤,發送方可以從緩存中取出相應的分組,重發這些分組進行糾錯。類似地,接收方或許也需要緩存那些已正確到達 但不是按序到達的分組,以便等缺失的分組到達后一并按序向上層提交數據。最典型的流水線可靠傳輸協議是滑動窗口協議。
3.4 用戶數據報協議 (UDP)
1、用戶數據報協議 UDP 是 Internet 傳輸層協議,提供無連接、不可靠、數據報盡力傳輸服務。UDP 是一種輕量級傳輸層協議,只提供最基本的傳輸層服務。UDP 是無連接的,因此在支持兩個進程間通信時,沒有握手過程。UDP 提供一種不可靠數據傳送服務,也就是說,當應用進程將一個報文發送進 UDP 套接字時,UDP 并不保證將該報文送達到目的接收程。不僅如此,在發送方依次發送的報文段,UDP 即便將這些報文段送達到接收進程,也可能是亂序到達的。UDP 沒有擁塞控制機制,所以 UDP 發送端可以用任何速率向其下層(即網絡層)注入數據。當然,實際端到端吞吐量可能小于這種速率,這可能是因為中間鏈路的帶寬受限或因為網絡擁塞而造成的。
2、使用 UDP 的原因
1) 應用進程更容易控制發送什么數據以及何時發送。
2) 無需建立連接。
3) 無連接狀態。
4) 首部開銷小。
3.4.1 UDP 數據報結構
3.4.2 UDP 校驗和
UDP 校驗和提供了差錯檢測功能。
UDP 在計算校驗和時,對所有參與運算的內容(包括 UDP 報文段)按 16 位(16 位對齊)求和,求和過程中遇到的任何溢出(即進位)都被回卷(即進位與和的最低位再加)。 最后得到的和取反碼,就是 UDP 的校驗和,填入 UDP 數據報的校驗和字段。UDP 在生成校驗和時,校驗和字段取全 0。參與 UDP 校驗和計算的內容包括 3 部分:UDP 偽首部、 UDP首部和應用層數據。
3.5 傳輸控制協議 (TCP)
傳輸控制協議(TCP)是 Internet 一個重要的傳輸層協議。TCP 提供面向連接、可靠、 有序、字節流傳輸服務。為了提供可靠數據傳輸,TCP 采用了前面所討論的許多措施,其中包括差錯檢測、重傳、累積確認、定時器以及序號和確認序號等。
3.5.1 TCP 報文段結構
TCP 報文段由首部字段和一個數據字段組成。
1) 源端口號與目的端口號字段分別占 16 位,標識發送該報文段的源端口和目的端口, 用于多路復用/分解來自或送到上層應用的數據。
2) 序號字段與確認序號字段分別占 32 位。
3) 首部長度字段占 4 位,指出 TCP 段的首部長度,以 4 字節為計算單位,例如該字段值為 5 時,表示 TCP 段的首部長度為 20 字節。由于 TCP 選項字段的原因,TCP 首部的長度是可變的。當該字段取最大值 15 時,表示 TCP 段的最大首部長度,即 60 字節。可見,TCP段的選項字段最多為 40 字節。
4)保留字段占 6 位,保留為今后使用,目前值為 0。
5)URG、ACK、PSH、RST、SYN 和 FIN 字段各占 1 位,共占 6 位,為 6 位標志位 (字段)。
6)接收窗口字段占 16 位,用于向對方通告接收窗口大小(單位為字節),表示接收方愿意(或還可以)接收的應用層數據字節數量,其值是本端接收對方數據的緩存剩余空間, 用于實現 TCP 的流量控制。
7)校驗和字段占 16 位,校驗和字段檢驗的范圍類似于 UDP,包括 TCP 偽首部、TCP 首部和應用層數據 3 部分,計算方法與 UDP 校驗和的計算方法相同。
8)緊急指針字段占 16 位,該字段只有 URG=1 時才有效。
9)選項字段的長度可變。T
10)填充字段,長度為 0?3 字節,取值全 0,其目的是為了使整個首部長度是 4 字節的整數倍。
3.5.2 TCP 連接管理
TCP 連接管理包括連接建立與連接拆除。TCP 連接建立通過“三次握手”過程。假設主機A 上的一個進程想與主機 B 上的一個進程建立一條 TCP 連接,主機 A 應用進程首先通知主機 A 的 TCP,它想建立一個與主機 B 上某個進程之間的連接,主機 A 中的 TCP 會通過以下過程與主機 B 中的 TCP 建立一條 TCP 連接。
1) 主機 A 的 TCP 向主機 B 發出連接請求段(第一次握手)。
2) —旦包含 SYN 報文段的 IP 數據報到達主機 B,SYN 報文段被從該數據手艮中提取出來。主機 B 的 TCP 收到連接請求段后,如同意,則發回確認報文段(第二次握手)。
3)主機 A 收到 SYNACK 報文段后,也要給該連接分配緩存和變量,并向主機 B 發送確認報文段(第三次握手),該報文段是對主機 B 的同意連接報文段進行確認,其中 ACK=i,SYN=0 (因為連接已建立),seq=x+l,ack_seq=^l。第三次握手的 ACK 報文段可以攜帶從主機 A 到主機 B 的應用層數據。
3.5.3 三次握手
第一次握手:客戶端作為連接建立發起端,選擇客戶端初始序列號X,向服務器發送 (SYN=1,seq=x)的 SYN 段。客戶狀態由 LISTEN 進入 SYN_SEND 狀態,等待服務器確認。
第二次握手:服務器收到客戶發送的SYN段后,選擇服務器初始序列號向客戶發送 (SYN=1,ACK=1, seq=y, ack_seq=x+1)的 SYNACK 段。同時,服務器狀態由 LISTEN 進 入SYN_RCVD 狀態。
第三次握手:客戶端收到服務器 SYNACK 段后,向服務器發送(ACK=1, seq=x+1,ack_seq=y+1)的 ACK 段,同時,客戶端進入 ESTABLISHED 狀態,客戶端確認連接已建立;
當服務器收到 ACK 段后,也進入 ESTABLISHED 狀態,也確認連接已建立。至此,雙方均確認連接建立成功。
3.5.4 四次揮手
1)當客戶向服務器發送完最后一個數據段后,可以發送一個 FIN 段(FIN=1, seq=M), 請求斷開客戶到服務器的連接,其狀態由 ESTABLISHED 進入 FIN_WAIT_1,在這一狀態 下,只能接收服務器發送過來的數據,而不再發送數據。需要注意的是,FIN 段不封裝應用層數據,但是也要消耗掉 1 個序列號(類似于 SYN 段)。
2) 服務器收到客戶的 FIN 段后,向客戶發送一個 ACK 段(ACK=1,seq=v, ack_seq=w+1),ACK 段可以封裝應用層數據(如果有)。服務器狀態由 ESTABLISHED 進入 CLOSE_WAIT,在這一狀態下,服務器仍然可以發送數據,但不再接收數據。當客戶收到 ACK 段后,其狀態由FIN_WAIT_1 進入 FIN_WAIt3-仍然可以接收來自服務器的數據。此時的 TCP 連接已經關閉了客戶向服務器方向的數據傳輸,故也稱為半關閉。
3) 當服務器向客戶發送完最后一個數據段后,服務器向客戶發送FIN 段(FIN=1, ACK=1,seq=w, ack_seq=w+l),同樣,該 FIN 段也不攜帶應用層數據。服務器狀態則由 CLOSE_WAIT進入 LAST ACK,此時服務器也不再發送數據。
4) 當客戶收到服務器發送的 FIN 段后,向服務器發送 ACK 段(ACK=1,seq=w+1,ack_seq=w+1),其狀態由 FIN_WAIT_2 進入 TIME_WAIT,等待 2MSL(Maximum Segment Lifetime)時間,然后進入 CLOSED 狀態,最終釋放連接;服務器在收到最后一次 ACK 段后,狀態由 LAST__ACK 進入 CLOSED,最終釋放連接。
3.5.5 TCP 可靠數據傳輸
TCP 能夠提供可靠的數據傳輸服務,是通過以下工作機制來實現的。
1) 應用數據被分割成 TCP 認為最適合發送的數據塊(通常是 MSS),封裝成 TCP 段,傳遞給 IP。
2) 當 TCP 發出一個段后,啟動一個計時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,則認為該報文段丟失,將重發這個報文段。當 TCP 收到發自 TCP 連接另一端的數據,將發送一個確認段。
3) TCP 首部中設有校驗和字段,用于檢測數據在傳輸過程中是否發生差錯。如果收到的報文段通過校驗和檢測,發現有差錯,TCP 將丟棄這個報文段和不確認收到此報文段(希望發送端超時并重發),而將已連續接收到的應用層數據的最后一個字節的序號加 1,作為確認序號,向發送方發送確認段。
4) 由于 TCP 報文段封裝到 IP 數據報中傳輸,而 IP 數據報的到達可能會經過不同的路徑從而造成順序的錯亂,因此 TCP 報文段的到達也可能會失序。如果必要,TCP 將根據序號對收到的數據進行重新排序,將收到的數據以正確的順序交給應用層。
5) 由于存在網絡延遲和重傳機制,TCP 的接收端有可能會收到多個重復的報文段,這時接收端需要根據序號把重復的報文段丟棄。
6) TCP 能夠提供流量控制。TCP 連接的每一方都在建立連接時分配一定大小的接收緩沖空間。TCP 的接收端只允許另一端發送接收端緩沖區所能接納的數據。這可以防止較快主機發送數據太快,致使較慢主機的緩沖區溢出。
3.5.6 TCP 流量控制
流量控制(flow control)的目的是協調協議發送方與接收方的數據發送與接收速度,避免因發送方發送數據太快,超出接收方的數據接收和處理能力,導致接收方被數據“淹沒”,即數據到達速度超出接收方的接收、緩存或處理能力,致使數據在接收方被丟棄。流量控制問題不僅存在于端到端的傳輸層,也存在于數據鏈路層。
3.5.7 TCP 擁塞控制
擁塞是指太多主機以太快的速度向網絡中發送太多的數據,超出了網絡處理能力,導致大量數據分組“擁擠”在網絡中間設備(如路由器)隊列中等待轉發,網絡性能顯著下降的現象。
擁塞控制(congestion control)就是通過合理調度、規范、調整向網絡中發送數據的主機數量、發送速率或數據量,以避免擁塞或盡快消除己發生的擁塞。
四. 網絡層
4.1 網絡層服務
1、網絡層介于傳輸層和數據鏈路層之間,傳輸層提供端到端的進程間通信服務,數據鏈路層的功能則是實現物理鏈路直接相連的兩個結點之間的數據幀傳輸服務,網絡層關注的是如何將承載傳輸層報文段的網絡層數據報從源主機送達目的主機。
2、網絡層需要實現兩項重要功能:轉發(forwarding)和路由選擇(routing)。
1) 轉發。當通過一條輸入鏈路接收到一個分組后,路由器需要決策通過哪條輸出鏈路將分組發送出去,并將分組從輸入接口轉移到輸出接口。
2) 路由選擇。當分組從源主機流向目的主機時,必須通過某種方式決定分組經過的路由或路徑,計算分組所經過的路徑的算法被稱為路由選擇算法,或稱為路由算法。
3、轉發與路由區別與聯系:每個路由器上都有一張轉發表(也稱為路由表),其表結構類似于一種鍵值對的形式。當一個分組到達路由器時,路由器會以該分組的網絡層首部地址字段的值(比如目的 IP 地址)作為鍵,去轉發表中查詢相應的表項,從而獲知該分組應轉發至哪條鏈路上。
4.2 數據報網絡與虛電路網絡
4.2.1 數據報網絡
按照目的主機地址進行路由選擇的網絡稱為數據報網絡。
在數據報網絡中,無連接的發送方和接收方之間不存在固定的連接(或路徑),所以發送的分組和接收的分組次序不一定相同,每個分組被傳送的路徑也可能不一致。接收方收到分組后要根據相應的協議,對分組重新進行排序,從而生成原始的完整報文,這個任務通常由傳輸層來完成。如果分組在網絡傳輸的過程中出現了丟失或者差錯,數據報網絡本身也不做處理, 可以由通信雙方的傳輸層協議(如 TCP)來解決。雖然數據報網絡不維護任何連接狀態信 息,但仍然需要在轉發表中維護轉發信息,這些轉發信息相比于虛電路網絡中的連接狀態信息其更新頻率要慢很多。對于轉發表中轉發狀態信息的更新是根據在網絡中運行的路由選擇算 法來進行的,通常需要 1?5 min 的時間。
4.2.2 虛電路網絡
虛電路網絡在網絡層提供面向連接的分組交換服務。
虛電路組成
一條虛電路(VC)由 3 個要素構成。
- 從源主機到目的主機之間的一條路徑(即一系列的鏈路和分組交換機)。
- 該路徑上的每條鏈路各有一個虛電路標識(VCID)。
- 該路徑上每臺分組交換機的轉發表中記錄虛電路標識的接續關系。
虛電路轉發表
虛電路網絡設備的轉發表需要記錄或建立鄰接鏈路的 VCID 間的接續關系。
虛電路工作原理
虛電路分組交換的工作原理,如圖 4.3 所 示。假設主機 A 請求與主機 B 之間建立一條 VC,該網絡選定的路徑為 A-PS1-PS2-B,為該 VC 在三條鏈路上分配的 VC 號分別為 12、22 和
32。這樣,當沿該 VC 傳輸的某個分組離開 主機 A 時,其 VCID=12;當它離開 PS1 時,VCID=22;當它離開 PS2 時,VCID=32。圖 4.3 中 PS1 的各個鏈路上就近標注的數字是接
口號。
虛電路分組交換分類
虛電路分組交換有永久型和交換型兩種。永久型虛電路(Permanent Virtual Circuit, PVC)是一種提前建立、長期使用的虛電路,虛電路的建立時間開銷基本上可以忽略。
交換型虛電路(Switch Virtual Circuit, SVC)是根據通信需要而臨時建立的虛電路,通信結束后立即拆除,虛電路的建立和拆除時間開銷有時相對影響較大。
4.2.3 虛電路交換與數據報交換的差別
虛電路交換與數據報交換的主要差別表現為:是將順序控制、差錯控制和流量控制等功能交由網絡來完成,還是由端系統來完成。虛電路網絡(如 ATM 網絡)通常由網絡完成這些功能,向端系統提供無差錯數據傳送服務,而端系統則可以很簡單;數據報網絡(如 Internet)通常網絡實現的功能很簡單,如基本的路由與轉發,順序控制、差錯控制和流量控制等功能則由端系統來完成。
4.3 網絡互連與網絡互連設備
4.3.1 異構網絡互連
異構網絡主要是指兩個網絡的通信技術和運行協議的不同。實現異構網絡互連的基本策略主要包括協議轉換和構建虛擬互聯網絡。協議轉換機制采用一類支持異構網絡之間協議轉換的網絡中間設備,實現異構網絡之間數據分組的轉換與轉發。
4.3.2 網絡互連的基本方法
通過構建虛擬互聯網絡機制的異構網絡互連是在現有異構網絡基礎上,構建一個同構的虛擬互聯網絡,異構網絡均只需封裝、轉發虛擬互聯網絡分組,同時引入虛擬互聯網中間設備互連異構網絡,實現在異構網絡間轉發統一的虛擬互聯網的數據分組
4.3.3 典型網絡互連設備
用來連接網絡的設備多種多樣,包括中繼器、集線器、交換機、網橋、路由器和網關等
4.3.4 路由器
路由器是一種具有多個輸入端口和多個輸出端口的專用計算機,主要任務是獲取與維護路由信息以及轉發分組。路由器是最典型的網絡層設備。
4.3.5 路由器的體系結構
路由器從功能體系結構角度,可以分為輸入端口、交換結構、輸出端口與路由處理器。
1、輸入端口負責從物理接口接收信號,還原數據鏈路層幀,提取 IP 數據報(或其他網絡層協議分組),根據 IP 數據報的目的 IP 地址檢索路由表,決策需要將該 IP 數據報交換到哪個輸出端口。
2、當分組到達路由器后,通過在輸入端口上的處理,分組將會被轉發至哪個輸出端口上已經確定,具體的轉發工作則是由交換結構來完成。
3、 輸出端口首先提供一個緩存排隊功能,排隊交換到該端口的待發送分組,并從隊列中不斷取出分組進行數據鏈路層數據幀的封裝,通過物理線路端接發送出去。
4、路由處理器就是路由器的 CPU,負責執行路由器的各種指令,包括路由協議的運行,路由計算以及路由表的更新維護等。
4.4 網絡層擁塞控制
4.4.1 網絡層擁塞基本概念
在分組交換網中,由于眾多的用戶隨機地將信息送入網絡,使網絡中需要傳輸的信息總量經常大于其傳輸能力,以至于某些網絡結點(如路由器)因緩沖區已滿,無法接收新到達的分組,此時就發生了所謂的擁塞現象。
4.4.2 擁塞控制
擁塞控制就是端系統或網絡結點,通過采取某些措施來避免擁塞的發生,或者對已發生的擁塞做出反應,以便盡快消除擁塞。
4.4.3 流量控制
流量控制是發送數據一方根據接收數據一方的接收數據的能力,包括接收緩存、處理速度等,調整數據發送速率和數據量,以避免接收方被數據淹沒;擁塞控制則是根據網絡的通過能力或網絡擁擠程度,來調整數據發送速率和數據量。
4.4.4 擁塞的主要原因
1、緩沖區容量有限。
2、傳輸線路的帶寬有限。
3、網絡結點的處理能力有限。
4、網絡中某些部分發生了故障。
4.4.5 擁塞的解決方法
網絡出現擁塞就意味著負載暫時大于網絡資源的處理能力,因此對于擁塞的解決一般可從兩個方面進行:增加網絡資源或者是減小網絡負載。增加網絡資源,就是在網絡出現擁塞前為網絡中的各個結點分配更多可用的資源,從而降低擁塞出現的可能性,即擁塞預防;而減小網絡負載,一般是指在網絡中已經出現負載大于資源的情況下(即擁塞),通過減小當前網絡的負載來實現對擁塞的消除,這種策略一般被稱作擁塞消除
4.4.6 流量感知路由基本原理
如圖 4.9 所示的網絡,鏈路 CD 是連接兩個區域的“最短”通搶鏈路(如帶寬較大或傳播延遲較小等),于是兩個區域間的用戶通信流量都會選擇此鏈路。這樣,這條鏈路的帶寬將在極短 的時間內被耗盡,進而使得通信延遲增大。假設還有另一條非“最短”通信鏈路BE,同樣 連接兩個區域。如果此時兩個區域間的一部分通信流量被轉移至鏈路 BE 上,那么整個網絡 的吞吐量將得到提升。可見,如果圖中權值能夠根據網絡負載動態調整,則可以將網絡流量引導到不同的鏈路上,均衡網絡負載,從而延緩或避免擁塞的發生,這就是流量感知路由在擁塞控制中起到的作用。
4.4.7 準入控制
準入控制是一種廣泛應用于虛電路網絡的擁塞預防技術。準入控制的基本思想是對新建虛電路審核,如果新建立的虛電路會導致網絡變得擁塞,那么網絡拒絕建立該新虛電路。對于一個處于擁塞邊緣的虛電路網絡來說,任何新虛電路的建立都會使得整個網絡變得擁塞,因此,當判斷網絡處于即將發生擁塞的邊緣時,拒絕新虛電路的建立將有效避免網絡發生擁塞。準入控制實現的關鍵,在于當建立一條新虛電路會導致整個網絡發生擁塞時,應該如何反應。常用的方法是基于平均流量和瞬時流量,來判斷是否有能力接受新虛電路而不會發生擁塞。
4.4.8 流量調節
當某個網絡結點(如路由器)感知到當前網絡發生了擁塞時,可以通知其上游網絡結點(或端系統)降低發送速率,從而逐漸消除擁塞。為此,需要解決兩個基本問題。第一個問題,就是網絡結點如何能夠感知到網絡已經發生了擁塞呢?第二個問題,就是當路由器感知到網絡發生了擁塞時,應該如何將這個擁塞信息通知到 其上游結點,從而使之降低發送速率。解決這個問題的方法有幾種。
抑制分組
通知擁塞上游的最直接的方式是直接告知發送方。感知到擁塞的路由器選擇一個被擁塞的數據報,給該數據報的源主機返回一個抑制分組,抑制分組的目的地址即從被擁塞數據報的源地址得到。同時,需要對選擇的被擁塞數據報(該數據報可能繼續向目的傳送)的首部進行修改,即修改其首部中的一個標志位,從而使得該數據報在后續傳輸過程中,不會被后續的路由器再次選擇來發送抑制分組。
背壓
如果因發送速率過快而導致網絡擁塞的網絡結點,與感知到擁塞發生的網絡結點之間的距離(或是跳數)較遠,那么,在抑制分組到達源結點的過程中,實際上又有很多新的分組進入網絡,從而進一步加重了網絡的擁塞程度。在這種情況下,需要另外采取某種策略來對網絡中的擁塞進行消除。一種可行方案,就是讓抑制分組在從擁塞結點到源結點的路徑上的每一跳,都發揮抑制作用。當抑制分組從擁塞結點傳輸到上游的第一跳時,接收到抑制分組的結點便會立即降低其向擁塞結點發送分組的速率,從而在極短的時間內使得擁塞結點的擁塞狀況得到緩解。但是,由于上游的第一跳的上游結點并沒有降低發送速率(因為還沒有收到抑制分組),而其向鏈路輸出數據的速率卻降低了,因此需要在其輸出端口分配更多的緩沖區,當抑制分組到達擁塞結點上游的第二跳時,又能使得第一跳的擁塞狀況立即得到改 善,以此類推。最終,直到抑制分組到達源結點(如某端系統),才使得造成網絡擁塞的過快發送方的發送速率真正地降低下來。
負載脫落
實施負載脫落時,應該丟掉哪些數據報成為首要關心的問題。例如,在文件傳輸應用中,一個大文件通常被分割為若千個小數據報進行傳輸,此時序號較小的數據報就比序號較大的數據報更有價值。假設文件傳輸應用的傳輸層使用 UDP,在應用層采用 GBN 協議實現 可靠數據傳輸。顯然,每個小數據報一定會編號。進一步,假設接收方已經接收了前10個分組,如果某個中間路由器丟掉了第 11 號分組,那么,即使接收方接收到了后續的 12 號或 者其他分組,按 GBN 協議的工作原理,這些分組也仍然會被丟棄掉,后續仍然需要進行重傳。相反,如果中間路由器選擇丟棄掉第 12 號分組,而保留第 11 號分組,則將不會產生這些問題。因此,在這種情況下,選擇丟棄掉較新的數據報結果更好。但是,并不是在所有的場景下,選擇丟棄較新的數據報都是更好的選擇。例如,對于諸如實時視頻流應用(如網絡直播),則選擇保留較新的分組,而丟棄較老的分組卻是更好的選擇。因此,當網絡發生擁塞,而需要采取負載脫落時,選擇丟棄哪些數據報是關鍵,通常與上層應用有關。
4.5 Internet 網絡層
Internet 網絡層主要包括網際協議(Internet Protocol, IP)、路由協議以及 互聯網控制報文協議(Internet Control Message Protocol,ICMP) 等內容。
4.5.1 IP 數據報格式(IPv4)
4.5.2 數據報分片
一個數據鏈路層協議幀所能承載的最大數據量稱為該鏈路的最大傳輸單元(Maximum Transmission Unit, MTU)。
4.5.3 分類尋址
在因特網剛開始發展的時期,IPv4 地址被設計為定長前綴,但考慮到不同組織所要使用到的地址數量是不同的,因此設計了 3 種長度的前綴,分別為 8、16、24 位,整個地址空間 被分為 5 類,A、B、C、D 和 E 類,并規定 A、B、C 三類可以分配給主機或路由器使用,D 類地址作為廣播地址,E 類地址保留,該方案被稱作分類尋址。具體分類方法是依次從最髙比特位逐步“二分”,如圖 4.16 所示。
分類尋址中各類地址空間如表 4.5 所示
除了 D 類和 E 類地址外,占 IP 地址空間 87.5%的 A、B、C 類地址可以用于標識網絡中的主機或路由器,但并不是所有地址都可用,因為有些地址有特殊用途,不能分配給主機或路由器。
4.5.4 動態主機配置協議(DHCP)
當一個組織分配到一個網絡地址塊后,就可以為該組織內的主機和路由器接口分配 IP 地址了。這個工作可以由網絡管理員進行手動配置(靜態分配),也可以通過動態主機配置協議(DHCP)來動態分配。事實上,很多實際網絡都選擇動態 IP 地址分配。DHCP 是在應用層實現的,傳輸層使用 UDP。提供動態 IP 地址分配的網絡,需要運行 DHCP 服務器(端口號為67),并且配置其可以為其他主機進行動態地址分配的 IP 地址范圍等。
4.5.5 網絡地址轉換(NAT的工作原理)
對于從內網出去,進入公共互聯網的IP數據報,將其源 IP 地址替換為 NAT 服務器擁有的合法的公共 IP 地址,同時替換源端口號,并將替換關系記錄到 NAT 轉換表中;對于從公共互聯網返回的 IP 數據報,依據其目的 IP 地址與目的端口號檢索 NAT 轉換表,并利用檢索到的內部私有 IP 地址與對應的端口號替換目的 IP 地址和目的端口號,然后將 IP 數據報轉發到內部網絡。
4.5.6 ICMP(互聯網控制報文協議)
主機或路由器在處理或轉發 IP 數據報的過程中,由于種種原因可能導致異常發生,此時主機或路由器就可能需要將這些異常情況,及時地反饋給其他主機或路由器,而 IP 本身并沒有這種功能。互聯網控制報文協議(Internet Control Message Protocol,ICMP) 的主要目的,就是在這種情況下,在主機或路由器間,實現差錯信息報告。
4.6 路由算法與路由協議
4.6.1 路由選擇基本原理
當主機要與所處子網之外的主機進行通信時,分組首先被傳送到其默認路由器,然后再轉發到網絡核心。顯然,路由選擇的關鍵,就是從源主機的默認路由器到目的主機的默認路由器之間的路徑優選。于是,路由選擇問題就可以簡化為在路由器之間選擇最佳路徑問題。路由選擇算法的目的,就是在給定一組網絡中的路由器以及路由器間的連接鏈路的情況下,尋找一條從源路由器到目的路由器的最優路徑。
4.6.2 路由算法分類
路由選擇算法分為全局式路由選擇算法和分布式路由選擇算法。
1) 全局式路由選擇算法。這類路由選擇算法,需要根據網絡的完整信息(即完整的網絡拓撲結構,來計算最短路徑。全局式路由選擇算法并不是說路由計算只在某個路由器上進行,而是指每個路由器在計算路由時,都要獲取完整的網絡拓撲信息。最具有代表性的全局式路由選擇算法是鏈路狀態路由選擇算法,簡稱 LS 算法。
2) 分布式路由選擇算法。在分布式路由選擇算法中,結點不會(也不需要)嘗試獲取整個網絡拓撲信息,結點只需獲知與其相連的鏈路的“費用”信息,以及鄰居結點通告的到達其他結點的最短距離(估計)信息,經過不斷的迭代計算,最終獲知經由哪個鄰居可以具有到達目的結點的最短距離。最具有代表性的分布式路由選擇算法是距離向量路由選擇算法,簡稱 DV 算法。
4.6.3 距離向量路由選擇算法
距離向量路由選擇算法是一種異步的、迭代的分布式路由選擇算法。在距離向量路由選擇算法中,沒有任何一個結點掌握整個網絡的完整信息。每個結點可以測得與所有鄰居結點之間的直接鏈路代價,并將其到達每個目的結點的最短距離(可能是最短距離估計),以(目的,最短距離)的距離向量形式交換給所有的鄰居結點。每個結點基于其與鄰居結點間的直接鏈路距離,以及鄰居交換過來的距離向量,計算并更新其到達每個目的結點的最短距離,然后將新的距離向量再通告給其所有鄰居,直到距離向量不再改變。
4.6.4 層次化路由選擇
層次化路由選擇將大規模互聯網的路由劃分為兩層:自治系統內路由選擇和自治系統間路由選擇。在層次化路由選擇網絡中,路由器的轉發表由自治系統內路由選擇協議和自治系統間路由選擇協議共同設置。路由器運行自治系統內路由選擇協議,在一個自治系統范圍內,基于所在自治系統采用的路由選擇算法,計算到達自治系統內的目的網絡的路由,并存儲到轉發表中。每個自治系統的網關路由器,運行自治系統間路由選擇協議,負責與其他自治系統交換跨越自治系統的路由可達性信息,并基于自治系統間路由選擇協議,將跨自治系統的網絡可達性信息,交換給其所在自治系統內的其他路由器,這些路由器進一步將這些路由信息也存儲到轉發表中。這樣,自治系統內的路由器,收到一個網絡層分組時,無論該分組去往的目的網絡在自治系統內,還是在自治系統外,路由器都可以通過查找轉發表,知道如何轉發分組。
4.6.5 Internet 路由 選擇協議
RIP
RIP 是一種基于距離向量路由選擇算法的 IGP。RIP 協議在使用 DV 算法時,有其特性。首先,RIP 在度量路徑時采用的是跳數,即每條鏈路的費用都為1。其次,RIP 的費用是定義在源路由器和目的子網之間的,最短路徑的費用就是沿著從源路由器到目的子網的最短路徑所經過的子網數量。第三,RIP 被限制在網絡直徑不超過 15 跳的自治系統內使用,即分組從一個子網到另一個子網穿越的最多的子網數目不超過 15,因此在 RIP 中一條路徑的最大費用不會超過 15,在 RIP 中,路徑費用 16 表示無窮大,即目的網絡不可到達。在 RIP中,相鄰的路由器 間通過 RIP 響應報文來交換距離向量,交換頻率約為 30 s—次,RIP 響應報文中包含了從該路由器到達其他目的子網的估計距離的列表(即 DV), RIP 響應報文也稱為 RIP 通告。
OSPF的優點
1)安全。所有 OSPF 報文(如鏈路狀態分組)都是經過認證的,這樣可以預防惡意入侵者將不正確的路由信息注入到路由器的轉發表中。
2) 支持多條相同費用路徑。OSPF 允許使用多條具有相同費用的路徑,這樣可以防止在具有多條從源到目的的費用相同的路徑時,所有流量都發往其中一條路徑。這一特性有利于
實現網絡流量均衡。
3) 支持區別化費用度量。OSPF 支持對于同一條鏈路,根據 IP 數據報的 TOS 不同,設置不同的費用度量,從而可以實現不同類型網絡流量的分流。
4) 支持單播路由與多播路由。OSPF 綜合支持單播路由與多播路由,多播路由只是對OSPF 的簡單擴展,使用 OSPF 的鏈路狀態數據庫就可以計算多播路由。
5) 分層路由。OSPF 支持在大規模自治系統內進一步進行分層路由。
五. 數據鏈路層與局搣網
5.1 數據鏈路層服務
從數據鏈路層來看,無論是主機還是路由器等網絡設備,都可以統稱為結點,因為它們通常都是一條數據鏈路的端點。沿著通信鏈路連接的相鄰結點的通信信道稱為鏈路,數據鏈路層傳輸的數據單元稱為幀。數據鏈路層通常提供的以下幾點服務。
1)組幀。
2)鏈路接入。
3)可靠交付。
4)差錯控制。
5.2 差錯控制
典型的差錯控制方式包括檢錯重發、前向糾錯、反饋校驗和檢錯丟棄 4 種基本方式。
5.2.1 檢錯重發
檢錯重發是一種典型的差錯控制方式,在計算機網絡中應用廣泛。在檢錯重發方式中,發送端對待發送數據進行差錯編碼,編碼后的數據通過信道傳輸,接收端利用差錯編碼檢測數據是否出錯,對于出錯的數據,接收端請求發送端重發數據加以糾正,直到接收端接收到正確數據為止。
5.2.2 前向糾錯
前向糾錯(Forward Error Correction, FEC)是接收端進行差錯糾正的一種差錯控制方法。前向糾錯機制需要利用糾錯編碼,即這類編碼不僅可以檢測數據傳輸過程中是否發生了錯誤,而且還可以定位錯誤位置并直接加以糾正。**在前向糾錯機制中,發送端首先對數據進行糾錯編碼,然后發送包含糾錯編碼信息的幀,接收端收到幀后利用糾錯編碼進行差錯檢測,對于發生錯誤的幀直接進行糾錯。**前向糾錯機制比較適用于單工鏈路或者對實時性要求比較高的應用。
5.2.3 反饋校驗
反饋校驗方式的接收端將收到的數據原封不動發回發送端,發送端通過比對接收端反饋的數據與發送的數據可以確認接收端是否正確無誤接收了已發送的數據。如果發送端發現有不同,則認為接收端沒有正確接收到發送的數據,則立即重發數據,直到收到接收端反饋的數據與已發數據一致為止。反饋校驗方式的優點是原理簡單,易于實現,無須差錯編碼;缺點是需要相同傳輸能力的反向信道,傳輸效率低,實時性差。
5.2.4 檢錯丟棄
不同網絡應用對可靠性的要求不同,某些應用(如實時多媒體播報應用)可以采用一種簡單的差錯控制策略,不糾正出錯的數據,而是直接丟棄錯誤數據,這種差錯控制方式就是檢錯丟棄。顯然,這種差錯控制方式通常適用于容許一定比例的差錯存在,只適用于實時性要求較高的系統。
5.3 多路訪問控制協議
5.3.1 信道劃分MAC協議
MAC 協議的根本任務是解決信道的共享問題。采用多路復用技術實現信道共享的 MAC 協議,稱為信道劃分 MAC 協議。多路復用主要包括頻分多路復用(Frequency Division Multiplexing, FDM)、時分多路復用(Time Division Multiplexing, TDM)、波分多路復用(Wave DivisionMultiplexing, WDM)和碼分多路復用(Code Division Multiplexing, CDM)。采用不同多路復用技術的 MAC 協議分別稱為FDMA、TDMA、WDMA 和 CDMA。
頻分多路復用(FDM)簡稱頻分復用,是頻域劃分制,即在頻域內將信道帶寬劃分為多個子信道,并利用載波調制技術,將原始信號調制到對應某個子信道的載波信號上,使得同時傳輸的多路信號在整個物理信道帶寬允許的范圍內頻譜不重疊,從而共用一個信道。
時分多路復用(TDM)簡稱時分復用,是一種時域劃分,即將通信信道的傳輸信號在時域內劃分為多個等長的時隙,每路信號占用不同的時隙,在時域上互不重疊,使多路信號合用單一的通信信道,從而實現信道共享。
波分多路復用(WDM)簡稱波分復用,廣泛應用于光纖通信中,其實質是一種頻分多路復用,只是由于在光纖通信中,光載波頻率很高,通常用光的波長來代替頻率來討論,所以
稱為波分多路復用。
碼分多路復用(CDM)簡稱碼分復用,通過利用更長的相互正交的碼組分別編碼各路原始信息的每個碼元(比如 1 位),使得編碼后的信號(已調信號)在同一信道中混合傳輸,接收端利用碼組的正交特性分離各路信號,從而實現信道共享。
5.3.2 隨機訪問 MAC 協議
隨機訪問 MAC 協議就是所有用戶都可以根琚自己的意愿隨機地向信道上發送信息,如果一個用戶在發送信息期間沒有其他用戶發送信息,則該用戶信息發送成功,如果兩個或兩個以上的用戶都在共享的信道上發送信息,則產生沖突或碰撞(collision),導致用戶信息發送失敗,每個用戶隨機退讓一段時間后,再次嘗試,直至成功。可見,隨機訪問實際上就是爭用接入,競爭勝利者可以暫時占用共享信道來發送信息,競爭失敗者隨機等待 一段時間,再次競爭,直至競爭成功。隨機訪問協議的特點是:站點可隨時發送數據,爭用信道,容易發生沖突,需要消解沖突的機制,但能夠靈活適應站點數目及其通信量的變化。典型的隨機訪問協議有 ALOHA 協議、載波監聽多路訪問協議以及帶沖突檢測的載波監聽多路訪問協議等。
-
ALOHA 協議
ALOHA 協議是 20 世紀 70 年代在夏威夷大學由 Norman Abramson 及其同事提出的,也 是最早、最基本的無線數據通信協議。ALOHA 協議分為純 ALOHA 和時隙 ALOHA 兩種。
-
載波監聽多路訪問協議
根據監聽策略的不同,CSMA 又可以細分為 3 種不同類型的 CSMA 協議。
(1) 非堅持 CSMA
(2) 1-堅持 CSMA
(3) P-堅持 CSMA -
帶沖突檢測的載波監聽多路訪問協議
CD 表示沖突檢測(Collision Detection)。CSMA/CD 可以理解為“先聽后說,邊聽邊說”。
SMA/CD 的工作狀態可以分為傳輸周期、競爭周期和空閑周期。
信道有 3 種狀態。
傳輸狀態:一個通信站使用信道,其他站禁止使用。
競爭狀態:所有通信站都有權嘗試對信道的使用權。
空閑狀態:沒有通信站使用信道。
5.3.3 受控接入 MAC 協議
受控接入的特點是各個用戶不能隨意接入信道而必須服從一定的控制,又可分為集中式控制和分散式控制。
-
集中式控制
集中式控制接入方式中,系統中有一個主機負責調度其他通信站接入信道,從而避免沖突。主要方法是輪詢技術,又分為輪叫輪詢和傳遞輪詢。
-
分散式控制
比較典型的分散式控制方法是令牌技術。令牌(Token)是一種特殊的幀,它代表了通信站使用信道的許可,在信道空閑時一直在信道上傳輸,一個通信站如果想發送數據就必須首先要獲得令牌,然后在一定時間內發送數據,在發送完數據后重新產生令牌并發送到信道上,以便其他通信站使用信道。
5.4 局域網
局域網(LAN)是局部區域網絡,其特點是覆蓋面積較小,網絡傳輸速率高,傳輸誤碼率低。局域網拓撲類型主要包括星形網絡、總線型網絡、環形網絡等。
局域網 LAN 一般采用“廣播”傳輸方式,局域網中的網絡節點都簡化為安裝于主機或工作站中的網卡,即網絡適配器。當某適配器要向某目的適配器發送一個幀時,發送適配器將目的適配器的 MAC 地址設為該幀的目的 MAC 地址,并將該幀發送到局域網上。
5.4.1 數據鏈路層尋址與 ARP
-
MAC 地址
事實上,并不是主機或路由器具有鏈路層地址,而是它們的適配器(即網絡接口卡)具有鏈路層地址,或稱為 MAC 地址、物理地址、局域網地址等,用來標識局域網中的結點或網絡接口。因此,具有多個網絡接口的主機或路由器將具有與之相關聯的多個鏈路層地址,就像與之相關聯的多個 IP 地址一樣,每個接口對應一個 MAC 地址。MAC 地址具有唯一性,即兩塊網絡適配器必須具有不同的 MAC 地址。
-
地址解析協議
地址解析協議(Address Resolution Protocol,ARP),用于根據本網內目的主機或默認網關的 IP 地址獲取其 MAC 地址。ARP 的基本思想:在每一臺主機中設置專用內存區域,稱為ARP 高速緩存(也稱為 ARP 表),存儲該主機所在局域網中其他主機和路由器(即默認網關)的 IP 地址與 MAC 地址的映射關系,并且這個映射表要經常更新。ARP 通過廣播 ARP查詢報文,來詢問某目的 IP 地址對應的 MAC 地址,即知道本網內某主機的 IP 地址,可以查詢得到其 MAC 地址。
5.4.2 以太網
-
以太網幀結構
以太網采用的是 CSMA/CD 協議,利用曼徹斯特編碼發送,使用截斷二進制指數后退算法來確定碰撞后重傳的時機。
幀結構中包含兩個地址:一個是目的地址,另一個是源地址,均為 48 位物理地址即 MAC地址。以太網向網絡層提供的是無連接不可靠服務。 -
以太網技術
10Base-T
10Base-以太網是替代同軸電纜以太網的產品,采用非屏蔽的雙絞線(UTP)作為以太網傳輸介質,數據傳輸速率為 10Mbit/s,支持以太網結構化布線方式和集線器設備。
快速以太網
快速以太網是在傳統以太網基礎上發展起來的,保留了傳統以太網的幀格式和 CSMA/CD介質訪問控制方式,但數據傳輸速率提高到 100 Mbit/s。IEEE 在 1995 年正式公布了 IEEE 802.3u,即快速以太網(100Base-T)標準。100Base-T 標準定義了 3 種物理層規范以支持不同的物理介質:100Base-TX,采用兩對 5 類 UTP; 100Base-T4,采用四對 3、4 或 5 類 UTP; 100Base-FX,采用光纜。
千兆位以太網
千兆位以太網涉及數據傳輸速率、是否支持全雙工傳送方式以及幀格式與以太網幀格式是否兼容等問題。千兆位以太網是建立在以太網標準之上的技術。千兆位以太網和大量使用的以太網與快速以太網完全兼容,并利用了原以太網標準所規定的全部技術規范,其中包括 CSMA/CD 協議、以太網幀、全雙工、流量控制以及 IEEE 802.3 標準中所定義的管理對象。1000Base-T 使用普遍安裝的 5 類 UTP,最長距離是 100 m,使用戶可以在原來 100Base-T的基礎上,平滑升級到 1000Base-T。 另外,1000Base-CX 采用的是 150Q 平衡屏蔽雙絞線(STP),最大傳輸距離 25 m,使用 9 芯 D 型連接器連接電纜,適用于交換機之間的連接,尤其適用于主干交換機和主服務器之間的 短距離連接。
萬兆位以太網
目前,IEEE 和各大生產廠商正在致力于研究 10 萬兆位以太網的相關技術,已經推出了定義 10 萬兆位以太網的標準 IEEE 802.3ba,給出了相關框架和接口的定義,但具體的細節還在進一步的研究中。以太網主要連接設備包括數據鏈路層(第二層)的以太網交換機和物理層(第一層)的集線器,其中集線器現在幾乎不再使用。以太網的典型網絡拓撲是星形網絡,或者由多臺以太網交換機級聯構成的樹形拓撲網絡。
5.4.3 交換機
從工作原理角度看,交換機就是多端口的網橋,是目前應用最廣泛的數據鏈路層設備。交換機與網橋的工作原理相同,可以依據接收到的鏈路層幀的目的 MAC 也址,選擇性地轉發到相應的端口,這就是交換機的轉發與過濾功能。
-
以太網交換機轉發和過濾
作為第二層設備的以太網交換機,可以實現幀的選擇性轉發,通過交換機互連的主機,不再屬于一個沖突域,不會發生傳統的沖突,交換機實現了沖突域的分割。如果以太網的主機全部通過交換機互連(即不使用集線器),則一個沖突域最多只有一臺主機,傳統的沖突便不會發生,這類以太網就是所謂的交換以太網。
-
以太網交換機的自學習
- 以太網交換機的優點
(1) 消除沖突。交換機分割了沖突域,所以使用交換機的局域網和使用集線器的局域網不同,不會因為產生沖突而浪費帶寬。
(2) 支持異質鏈路。在使用交換機的局域網中,不同的鏈路可以使用不同的速率運行并且能夠在不同的媒介上運行。
(3) 網絡管理。交換機除了可以提供強化的安全性,還易于進行網絡管理。
5.4.4 虛擬局域網
虛擬局域網是一種基于交換機(必須支持 VLAN 功能)的邏輯分割(或限制)廣播域的局域網應用形式。虛擬局域網的設置是在交換機上,通過軟件方式實現的。劃分虛擬局域網的方法主要有 3 種。
1) 基于交換機端口劃分:局域網的網絡管理員可以按照以太網交換機的端口定義 VLAN成員,通常每個交換機端口屬于一個 VLAN (也可以有同時屬于所有 VLAN 的特殊端口,如 Trunk 端 口)。
2) 基于 MAC 地址劃分:基于 MAC 地址劃分虛擬局域網,是按每個連接到交換機的主機MAC 地址定義 VLAN 成員。
3)基于上層協議類型或地址劃分:根據鏈路層幀所攜帶數據中的上層協議類型(如 IP)或地址(如 IP 地址)定義 VLAN 成員,這種方法的優點是有利于組成基于應用的 VLAN。
5.4.5 點對點鏈路協議
-
PPP
現在全世界使用得最多的點對點鏈路的數據鏈路層協議是點對點協議(Point to Point Protocol, PPP)。PPP 處理錯誤檢測、支持多種上層協議(即支持復用)、允許在連接時刻協商 IP 地址、允許身份認證等。PPP 主要提供 3 類功能。
1) 成幀。確定一幀的開始和結束,幀格式支持錯誤檢測。
2) 鏈路控制協議(Link Control Protocol, LCP)用于啟動線路、檢測線路、協商參數及關閉線路。
3) 網絡控制協議(Network Control Protocol, NCP)。用于協商網絡層選項,并且協商方法與使用的網絡層協議獨立。
在實際情況中,PPP 的設計要困難得多,因此,有部分功能不要求其實現。
1) 差錯糾正。僅要求 PPP 能夠進行比特差錯檢測,但不要求糾正它們。
2) 流量控制。由較高層協議負責遏制分組交付給 PPP 的發送速率,即由較高層負責丟棄分組或者遏制位于較高層的發送方,而不是由 PPP 進行控制。
3) 按序交付。PPP 不要求鏈路中發送方發送幀的順序與接收方交付幀的順序相同。但是工作于 PPP 之上的其他網絡層協議需要有序地進行端到端分組交付。 -
HDLC 協議
而高級數據鏈路控制(High-level Data Link Control,HDLC)協議則可以應用于點對點鏈路和點對多點鏈路。HDLC 協議是面向位的協議。
HDLC 有 3 種類型的幀:信息幀(I 格式)、管理幀(S 格式)和無序號幀(U 格式)。
HDLC 協議是面向位的協議,為確保數據的透明傳輸,HDLC 使用位填充。
采用位填充,可以傳輸任意組合的比特流,而不會對幀的邊界產生錯誤的判斷。
六. 物理層
6.1數據通信基礎
6.1.1 數據通信基本概念
消息與信息: 通常,將人類能夠感知的描述稱為消息,比如眼睛能看到文字和圖像,耳朵能聽到聲音,鼻子能聞到氣味等,這些聲音、文字、圖像、氣味等統稱為消息。信息是一個抽象的概念,可以理解為消息中所包含的有意義的內容,而消息是信息的載體。
通信: 現在討論的通信,一般都是指電通信。能夠實現通信功能的各種技術、設備和方法的總體,稱為通信系統。
信號: 在通信系統,特別是電通信系統中,傳遞信息需要有適合的載體在傳輸通道中傳播,這樣的載體稱之為信號,通常以電磁或光的形式存在,并利用電壓、電流、頻率、相位等物理量的變化來表示信息。信號有連續信號和離散信號之分,可以經過各種變換以提高傳輸的效率。
數據: 數據是對客觀事物的性質狀態以及相互關系等進行記載的符號及其組合,通常可以是數字、文字、圖像等,也可以是其他抽象的符號。
信道: 信道是信號傳輸的介質,或信道是以傳輸介質為基礎的信號通道。根據信道的定義,如果信道僅是指信號的傳輸介質,這種信道稱為狹義信道。如果信道不僅是傳輸介質,而且包括通信系統中的一些轉化裝置,這種信道稱為廣義信道。
6.2 數據通信系統模型
6.2.1 數據通信系統的構成
計算機網絡是一種典型的數據通信系統。首先了解通信系統的一般模型:通信系統的作用是將消息從信源傳送到一個或多個目的地。人們把能夠實現信息傳輸的一切技術設備和傳輸介質的集合稱為通信系統。通信系統的組成根據通信業務、信道類型、信號種類、傳輸方式等可有多種形式,但不管其具體的應用和結構如何,任何一種通信系統的核心都應該包括信源、發送設備、信道、接收設備、信宿和噪聲源等部分。
信源: 將消息轉換為信號的設備,如電話機、攝像機、計算機等。
發送設備: 將信源產生的信號進行適當的變換的裝置,使之適合于在信道中傳輸。變換的方式主要包括編碼和調制。
信道: 信號傳輸的媒介,總體上可以分為有線信道和無線信道兩大類,具體的類型包括雙絞線、同軸電纜、光纖、大氣層、外層空間等。
接收設備: 完成發送設備的反變換,即進行譯碼和解調,還原原始的發送信號。
信宿: 信號的終點,并將信號轉換為供人們能識別的消息。
噪聲: 自然界和通信設備中所固有的,對通信信號產生干擾和影響的各種信號。
6.2.2 模擬通信和數字通信
通信系統根據信號種類可分為模擬通信系統和數字通信系統,其區別在于信道中傳輸的是模擬信號還是數字信號。所謂模擬信號是指信號的因變量完全隨連續消息的變化而變化的信號。模擬信號的自變量可以是連續的,也可以是離散的;但其因變量一定是連續的。數字信號是指表示消息的因變量是離散的,自變量時間的取值也是離散的信號。
6.2.3 數據通信方式
按數據傳輸的方向,可分為單向通信、雙向交替通信和雙向同時通信;按二進制數據傳輸的時空順序分為并行通信和串行通信;按發送和接收方對數據保持步調一致的措施分為異步通信和同步通信。
(1) 單向通信、雙向交替通信和雙向同時通信:單向通信又稱單工通信,即任何時間都只能有一個方向的通信,而沒有反方向的交互。無線電廣播就屬于這種類型。雙向交替通信又稱半雙工通信,即通信的雙方都可以發送信息,但不能雙方同時發送(或同時接收),這種通信方式往往是一方發送另一方接收,如無線對講機系統。雙向同時通信又稱全雙工通信,即通信雙方可以同時發送和接收信息,電話網、計算機網絡均屬于全雙工通信系統。
(2) 并行通信和串行通信:按傳輸二進制數時的時空順序不同存在著并行通信和串行通信兩種通信方式。并行通信是為一個字節的每一位(bit)都設置一個傳輸通道,全部位(bit)同時進行傳送。并行通信模式傳輸速度快,但消耗材料多,造價高,所以不適用于長距離的傳輸。串行通信只為信息傳輸設置一條通道,數據的一個字節中每一位(bit)依次在這條通道上傳輸。串行通信節省設備線路開銷,但速度相對并行通信慢,一般應用于長距離數據傳輸。
(3) 異步通信和同步通信:常用數據傳輸的同步方式有異步式同步(簡稱異步)和同步式同步(簡稱同步)。由此可見,通常所說的異步和同步本質上都屬于同步技術。兩者的區別在于發送端和接收端的時鐘是獨立的還是同步的。異步數據傳輸是以字符為單位獨立進行發送,一次傳輸一個字符,每個字符用 5?8 位來表示,在每個字符前面加一個起始位,以指明字符的開始,每個字符后面增加 1 個或 2 個停止位,以指明字符的結束;無字符發送時,發送方就一直發送停止位。接收方根據起始位和停止位判斷字符的開始和結束,并以字符為單位接收數據。異步傳輸不需要在收發兩端間傳輸時鐘信號,所以實現起來比較簡單;但是傳輸效率較低,只適用于低速數據傳輸系統。同步數據傳輸以數據塊為單位進行發送。每個數據塊內包含有多個字符,每個字符可用 5?8 個位表示;在每個數據塊的前面加一個起始標志,以指明數據塊的開始,在其后面增加一個結束標志,以指明數據塊的結束。接收方根據起始標志和結束標志以數據塊為單位進行接收。同步傳輸方式的傳輸效率高,開銷小,但收發雙方需建立同步時鐘,實現和控制比較復雜。同步傳輸方式適合于髙速數據傳輸系統。
6.2.4 數據通信系統的功能
6.3 物理介質
常用的物理介質分為導引型傳輸介質和非導引型傳輸介質。
6.3.1 引導型傳輸介質
導引型傳輸介質,又可稱為有線信道,以導線為傳輸介質,信號沿導線進行傳輸,信號的能量集中在導線附近,因此傳輸效率高,但是部署不夠靈活。這一類信道使用的傳輸介質包括用電線傳輸電信號的架空明線、雙絞線電纜、同軸電纜、光纖等。
-
架空明線
架空明線是指平行且相互分離或絕緣的架空裸線線路,通常采用銅線或鋁線等金屬導線。架空明線的優點是傳輸損耗較低,但缺點是易受天氣和外界電磁干擾,對外界噪聲敏感,帶寬有限。
-
雙絞線
將兩根相互絕緣的銅線并排絞合在一起可以減少對相鄰導線的電磁干擾,這樣的一對線稱為雙絞線。雙絞線電纜封裝時在護套與線對之間增加一層金屬絲編制的屏蔽層,可以提高雙絞線的抗電磁干擾能力,這類雙絞線電纜稱為屏蔽雙絞線(STP) , 相應地,沒有這層屏蔽層的雙絞線電纜稱為非屏蔽雙絞線(UTP) 。
-
同軸電纜
同軸電纜由同軸的兩個導體構成,外導體是空心圓柱形網狀編織金屬導體,內導體是金屬導線(通常為銅線),兩者之間填充絕緣實心介質。網狀編織導體同時也起到屏蔽網的作用,可以有效抵抗電磁千擾。
-
光纖
纖是由兩種折射率不同的導光介質復合纖維制成,內層(纖維中心)稱為纖芯,纖芯外包另一種折射率的介質,稱為包層。由于纖芯的折射率大于包層的折射率,因此,進入纖芯的光波會在兩層邊界產生折射,折射的光會再次被折射,以此類推,經過多次反射,光波可以沿光纖傳輸到很遠距離。如果纖芯和包層是兩種均勻介質,折射率只在兩種介質的邊界發生突變,則光波只在邊界發生折射,這種光纖稱為階躍(折射率)型光纖,這也是最早出現的光纖類型。如果光纖的折射率不是突變的,而是沿半徑增大方向逐漸減小,光波在其中的傳輸路徑是隨折射率的變化而逐漸彎曲的,這種光纖稱為梯度(折射率)型光纖
光纖與其他傳輸介質相比擁有很多優點。
1) 光纖通信容量非常大,最高可達 100 Gbit/s。
2) 傳輸損耗小,中繼距離長,對遠距離傳輸特別經濟。
3) 抗雷電和電磁干擾性能好。
4) 無串音干擾,保密性好,也不易被竊聽或截取數據。
5) 體積小,重量輕。為了使光纖傳輸的衰減盡量小,以便傳輸更遠的距離,在光纖通信中通常選擇在光纖信道中傳輸損耗最小的波長光波。符合這一特性的光波波長主要有兩個:1.31nm 和 1.55 nm,這兩個波長是目前光纖通信中應用最廣泛的。使用光纖通信需要將一般形式的電信號轉換為光信號,然后在光纖上傳輸,在接收端還需要再將光信號還原為電信號。光纖信道主要包括光 源、光纖線路以及光檢測器等。
6.3.2 非引導型傳輸介質
利用無線電在自由空間的傳播就可以較快地實現多種通信。 由于這種通信方式不適用各種導引型傳輸媒介,因此就將自由空間稱為“非導引型傳輸媒介”,又稱為無線信道。
根據電磁波頻率、通信距離與位置的不同,電磁波的傳播可以分為地波傳播、天波傳播(或稱電離層反射波)和視線傳播。
-
地波傳播
頻率較低(2 MHz 以下)的電磁波趨于沿地球表面傳播,有一定的繞射能力,這種傳播方式稱為地波傳播。在低頻和甚低頻段,地波傳播距離可以超過數百米或數千千米。
-
天波傳播
利用電離層反射的傳播方式稱為天波傳播。天波傳播信道(或稱電離層反射信道)是典型的隨參信道。
-
視線傳播
頻率高于 30MHz 的電磁波將穿透電離層,不會被反射回來,并且沿地面繞射能力也很弱。因此,這類電磁波通常采用視線無障礙的點對點直線傳播,稱為視線傳播或視距傳播。
6.3.3 信道與信道容量
-
信道分類與模型
信道是通信系統中連接發送端與接收端的通信設備,實現從發送端到接收端的信號傳送。信道的定義區分為廣義信道和狹義信道。狹義信道即為信號傳輸介質;廣義信道包括信號傳輸介質和通信系統的一些變換裝置,如發送設備、接收設備、天線、調制器等。通常, 在討論通信的一般原理時,采用廣義信道;在研究信道的一般特性時,主要考慮狹義信道。 一般情況下,將廣義信道簡稱為信道。
廣義的信道定義除了包括傳輸介質,還包括傳輸信號的相關設備。按照功能劃分,可以將廣義信道劃分為調制信道和編碼信道兩類。
-
調制信道
調制信道是指信號從調制器的輸出端傳輸到解調器的輸入端經過的部分。調制信道、輸入信號、輸出信號存在以下特點。
1) 信道總具有輸入信號端和輸出信號端。
2) 信道一般是線性的,即輸入信號和對應的輸出信號之間滿足線性疊加原理。
3) 信道是因果的,即輸入信號經過信道后,相應的輸出信號響應具有延時。
4) 信道使通過的信號發生畸變,即輸入信號經過信道后,相應的輸出信號會發生衰減。
5) 信道中存在噪聲,即使輸入信號為零,輸出信號仍然會具有一定功率。
如果信號通過信道發生的畸變是時變的,這種信道稱為隨機參數信道,簡稱為隨參信道;
如果畸變與時間無關,這種信道稱為恒定參數信道,簡稱為恒參信道。 -
編碼信道
編碼信道是指數字信號由編碼器輸出端傳輸到譯碼器輸入端經過的部分,包括其中的所有變換裝置與傳輸介質。編碼信道是包括調制信道及調制器、解調器在內的信道,與調制信道模型有明顯的不同:調制信道對信號的影響是使調制信號發生“模擬”變化,而編碼信道對信號的影響則是一種數字序列的變換,即把一種數字序列變換為另一種數字序列。編碼信道可分為無記憶編碼信道和有記憶編碼信道。無記憶編碼信道是指信道中碼元的差錯發生是相互獨立的,即當前碼元的差錯與其前后碼元的差錯沒有依賴關系;有記憶編碼信道是指信道中碼元差錯的發生不是獨立的,即當前碼元的差錯與其前后碼元的差錯是有聯系的。
6.3.4 信道傳輸特性
-
恒參信道傳輸特性
理想的恒參信道是一個理想的無失真傳輸信道,其對信號傳輸的影響可以概括如下。
1)對信號幅值產生固定的衰減。
2)對信號輸出產生固定的時延。
滿足上述特性的理想恒參信道的信號傳輸稱為無失真傳輸。 -
隨參信道傳輸特性
隨參信道的傳輸特性隨時間隨機快速變化。隨參信道的共同特點如下。
1) 信號的傳輸衰減隨時間隨機變化。
2) 信號的傳輸時延隨時間隨機變化。
3) 存在多徑傳播現象。
多徑傳播是指由發射天線發出的電磁波可能經過多條路徑到達接收端,每條路徑對信號產生的衰減和時延都隨時間隨機變化,因此,接收端接收的信號是經多條路徑到達的衰減與時延隨時間變化的多路信號的合成。多徑傳播對信號傳輸質量影響很大,這種影響稱為多徑效應。
6.3.5 信道容量
一般情況下,經常用信道容量來描述或衡量信道的傳輸能力。
信道容量是指信道無差錯傳輸信息的最大平均信息速率。
-
連續信道容量
根據奈奎斯特第一準則,對于理想無噪聲的基帶傳輸系統,最大頻帶利用率為 2 Baud/Hz。顯然,如果傳輸 M 進制基帶信號,則理想無噪聲信道的信道容量為
著名的香農(Shannon)公式給出了有噪聲連續信道 的信道容量計算公式。
假設帶寬為 B5(Hz)的連續信道,輸入信號的功率為 S,信道加性高斯白噪聲的功率為 N,則著名的香農公式給出了該連續信道的信道容量為
-
離散信道容量
離散信道容量可以用兩種方式度量:一種是每個符號能夠傳輸的最大平均信息量表示的信道容量 C;另一種是單位時間內能夠傳輸的最大平均信息量表示的信道容量 Ct。
七. 無線與移動網絡
7.1 無線網絡
7.1.1 無線網絡基本結構
1、無線主機。如同在有線網絡中一樣,主機是運行應用程序的端系統設備。無線主機(wireless host)可以是便攜機、掌上機、智能手機或者桌面計算機。主機本身可能移動,也可能不移動。
2、無線鏈路。主機通過無線通信鏈路(wireless communication link)連接到一個基站或者另一臺無線主機,不同的無線鏈路技術具有不同的傳輸速率和不同的傳輸距離。
3、基站。基站(base station)是無線網絡基礎設施的一個關鍵部分。基站在有線網絡中沒有明確的對應設備,負責向與之相關聯的無線主機發送數據和接收主機發送的數據。基站通常負責協調與之相關聯的多個無線主機的傳輸。
4、網絡基礎設施。通常是大規模有線網絡,如 Internet、公司網絡或電話網絡等。
7.1.2 無線鏈路與無線網絡特性
無線鏈路有別于有線鏈路的主要表現在以下方面。
1、信號強度的衰減(fading)。電磁波在穿過物體(如墻壁)時強度將減弱。即使在自由空間中,信號也會衰減,這使得信號強度隨著發送方和接收方距離的增加而減弱,有時稱其為路徑損耗(pathloss)。
2、干擾。在同一個頻段發送信號的電波源將相互干擾。除了來自發送源的干擾,環境中的電磁噪聲(如附近的電動機、微波)也能形成干擾。
3、多徑傳播。多徑傳播使得接收方收到的信號變得模糊。位于發送方和接收方之間的移動物體還會導致多徑效應隨時間而改變。
7.2 移動網絡
7.2.1 移動網絡基本原理
無線網絡不一定是移動網絡,但移動網絡一定是無線網絡。移動網絡中的移動結點是隨時間改變其與網絡連接位置的結點,并且一定采用無線通信術。
-
從網絡層的角度分析用戶的移動性
用戶也許帶著一臺裝有無線網絡接口卡的便攜機在一座建筑物內走動,從網絡層的角度看,該用戶并沒有移動。而且,如果該用戶不論在何處都與同一個接入點相關聯,從鏈路層角度來看該用戶甚至也沒有移動。
另一種情況,用戶在一輛“奔馳”的轎車內以 120km/h 的速度沿高速公路行駛時穿過多個無線接入網,并希望在整個旅程中保持一個與遠程應用的不間斷的 TCP 連接。這個用戶毫無疑問是移動的。介于以上兩種情況之間的是,一個用戶帶著一臺便攜機從一個地方(如辦公室)到另一個地方(如住所),并且想在新地方接入網絡。該用戶也是移動的,只不過不需要在網絡接入點之間移動時維持一個不間斷的連接。 -
移動結點的地址始終保持不變的重要性
對移動電話而言,當用戶從一個電話網絡移動到另一個電話網絡的過程中,用戶的電話號碼(本質上是移動電話的網絡層地址)始終保持不變。對便攜機而言,在 IP 網絡之間移動時,IP 地址是否必須保持不變很大程度上取決于所運行的應用程序。對于在高速公路上行駛,同時又希望維持對一個遠程應用的不間斷的 TCP 連接的用戶而言,維持相同的 IP 地址將會帶來便利。一個因特網應用程序需要知道它與之通信的遠端實體的IP 地址和端口號。如果一個移動實體在移動過程中能夠保持其 IP 地址不變,從應用的角度,移動性就變得不可見(透明)。這種透明性有十分重要的價值,即應用程序不必關心 IP 地址潛在的變化,并且同樣的應用程序代碼既可用于移動連接,又可用于非移動連接。在下面要介紹的移動 IP 網絡提供了這種透明性,它允許移動結點在網絡間移動的同時維持其永久的 IP 地址。對于一個下班后只想關閉辦公室便攜機,將其帶回家,然后使用便攜機在家中工作的用戶而言。如果該用戶只是將便攜機作為一個客戶,使用客戶一服務器方式的應用(如發送/閱讀電子郵件、瀏覽網頁等),則使用特定的相同 IP 地址并不是那么重要。用戶只要得到一個由服務于家庭的 ISP 臨時分配的 IP 地址即可。
-
可用的有線基礎設施的支持
在一個網絡環境中,一個移動結點(如一臺便攜機或智能手機)的永久居所被稱為歸屬網絡(home network)或稱為家網,在歸屬網絡中代表移動結點執行下面討論的移動管理功能的實體叫歸屬代理(home agent)或稱為家代理。移動結點當前所在的非歸屬網絡稱為外部網絡(foreign network)或被訪網絡(visited network),在外部網絡中幫助移動結點做移動管理功能的實體稱為外部代理(foreign agent),簡稱為外代理。對于移動用戶而言,它們的歸屬網絡可能就是其公司網絡,而被訪網絡也許就是它們正訪問的某同行所在的網絡。一個通信者(correspondent)就是希望與該移動結點通信的實體。圖展示了移動互聯網體系結構,其中,代理被配置在路由器上(例如,路由器上運行的進程),但它們也能在網絡中其他主機或服務器上執行。
7.2.2 尋址
為了使用戶移動性對網絡應用透明,希望移動結點在從一個網絡移動到另一個網絡時保持其地址不變。當某移動結點位于一個外部網絡時,所有指向此結點永久地址(parmanent address)的流量需要導向外部網絡。下面討論兩種解決方案。這種方法解決了兩個問題,且這樣做不需對網絡層基礎設施做重大改動。其他網絡知道該移動結點的位置,很容易將數據報路由到該移動結點,因為轉發表將這些數據報導向外部網絡。然而這個方案有一個很大的缺陷,即擴展性不好。如果移動性管理是網絡路由器的責任的話,則路由器將必須維護可能多達數百萬個移動結點的轉發表項。顯然,這一方案不適用于大規模網絡。
2、將移動性功能從網絡核心搬到網絡邊緣,由該移動結點的歸屬網絡來實現。在移動結點的歸屬網絡中的歸屬代理也能跟蹤該移動結點的外部網絡。這當然需要一個移動結點 (或一個代表該移動結點的外部代理)與歸屬代理之間的協議來更新移動結點的位置。實際移動網絡采取這種方式。
7.2.3 移動結點的路由選擇
在尋址中描述了一個移動結點如何得到一個 COA,以及歸屬代理又是如何被告知該地址的。接下來討論數據報應怎樣尋址并轉發給移動結點。目前有兩種不同的方法,間接路由選擇與直接路由選擇。
-
移動結點的間接路由選擇
對于一個想給移動結點發送數據報的通信者,在間接路由選擇(indirect routing)方法 ,通信者只是將數據報尋址到移動結點的永久地址,并將數據報發送到網絡中去,完全不知道移動結點是在歸屬網絡中,還是正在訪問某個外部網絡,因此移動性對于通信者來說是完全透明的。這些數據報首先被路由到移動結點的歸屬網絡,如圖中的步驟 1。
歸屬代理除了負責與外部代理交互以跟蹤移動結點的 COA 外,還負責監視到達的數據報。這些數據報尋址的結點的歸屬網絡與該歸屬代理所在的網絡相同,但這些結點當前卻在某個外部網絡中。歸屬代理截獲這些數據報,然后按步驟 2 的過程轉發它們。通過使用移動結點的 COA,該數據報先轉發給外部代理(圖中的步驟 2),然后再從外部代理轉發給移動結點(圖中步驟 3)。
歸屬代理需要用該移動結點的 COA 來設置數據報地址,以便網絡層將數據報路由 選擇到外部網絡。另一方面,需要保持通信者數據報的原樣,因為接收該數據報的應用 程序應該不知道該數據報是經由歸屬代理轉發而來的。為此,歸屬代理將通信者的原始 完整數據報,封裝在一個新的(較大的)數據報中,這個較大的數據報被路由并交付到 移動結點的 COA。“擁有”該 COA 的外部代理將接收并拆封該數據報,即從較大的封 裝數據報中取出通信者的原始數據報,然后再向移動結點轉發該原始數據報(圖中的步驟 3)。接下來考某移動結點如何向一個通信者發送數據報。這相當簡單,因為移動結點可直 接將其數據報尋址到通信者(使用自己的永久地址作為源地址,通信者的地址作為目的地 址)。因為移動結點知道通信者的地址,所以沒有必要通過歸屬代理迂回傳輸數據報。如圖中的步驟 4。下面列出支持移動性所需要的網絡層新功能,對間接路由選擇進行小結。
1) 移動結點到外部代理的協議。
2) 外部代理到歸屬代理的注冊協議。
3) 歸屬代理數據報封裝協議。
4) 外部代理拆封協議。 -
移動結點的直接路由選擇
間接路由選擇方法存在一個低效的問題,即三角路由選擇問題(triangle routing problem)。該問題是指即使在通信者與移動結點之間存在一條更有效的路由,發往移動結點的數據報也要先發給歸屬代理,然后再發送到外部網絡。
直接路由選擇(direct routing)克服了三角路由選擇的低效問題,但卻是以增加復雜性為代價的。在直接路由選擇方法中,通信者所在網絡中的一個通信者代理(correspondent agent)先獲取該移動結點的 COA。這可以通過讓通信者代理向歸屬代理詢問得知,這里假設與間接路由選擇情況類似,移動結點具有一個在歸屬代理注冊過的最新的COA。與移動結點可以執行外部代理的功能相類似,通信者本身也可能執行通信者代理的功能。在圖中顯示為步驟 1 和步驟 2。通信者代理將數據報直接通過隧道技術發往移動結點的 COA,這與歸屬代理使用的封裝/拆封技術相類似,參見圖的步驟 3 和步驟 4。
7.3 無線局域網 IEEE 802.11
7.3.1 IEEE 802.11 體系結構
基本構件由兩部分組成:
1、基站(base station),又稱為接入點(Access Point, AP)。
2、基本服務集(Basic Service Set, BSS)。一個 BSS 包含一個或多個無線站點和一個接入點的中央基站。
配置 AP 的無線局域網經常被稱作基礎設施無線局域網(infrastucture wireless LAN),其中的“基礎設施”是指 AP 連同互聯 AP 和一臺路由器的有線以太網。IEEE 802.11 站點也能將它們自己組合在一起形成一個自組織網絡,圖展示了這個自組織網絡,該自組織網絡無中心控制并與“外部世界”無連接。
IEEE 802.11 標準規定,每個 AP 周期性地發送信標幀(beacon frame),每個信標幀包括該 AP的 SSID 和 MAC 地址。用戶的無線站點,可以通過掃描 11 個 信道,獲得正在發送信標幀的 AP。通過信標幀得到可用 AP 后,選擇其中一個 AP 進行關聯。發現 AP 的過程分為被動掃描(passive scanning)和主動掃描(active scanning)。被動掃描指的是無線主機掃描信道和監聽信標幀的過程,其原理如圖 7.12a 所示。無線主機也能夠進 行主動掃描,主動掃描是指無線主機,通過向位于無線主機范圍內的所有 AP 廣播探測幀的過 程,其原理如圖 7.12b所示。
7.3.2 IEEE 802.11 的 MAC 協議
多個站點(無線站點或 AP)可能同時經相同信道傳輸數據幀,因此需要一個多路訪問控制協議來協調傳輸。IEEE 802.11 的 MAC 協議采用 CSMA/CA 協議,又稱為帶碰撞避免的 CSMA (CSMA with collision avoidance)。支持信道預約的 CSMA/CA 協議的原理如圖 7.13 所示。源站在發送數據之前,必須先監聽信道,若信道空閑,則等待一個分布式幀間間隔(Distributed Inter-Frame Space, DIFS)的短時間后,發送一個很短的請求發送(Request To Send, RTS)控制幀。RTS 幀包括源地址、目的地址和本次通信所需的持續時間等信息。若目的站正確收到源站發來的 RTS 幀,且物理介質空閑,則等待一個短幀間間隔(Short Inter-Frame Spacing,SIFS)時間后,發送一個很短的允許發送(Clear To Send, CTS)控制幀作為響應,其中包括本次通信所需的持續時間等信息。這樣,源站和目的站周圍的其他站點可以監聽到兩者要通信,其他站點在其持續通信時間
內不會發送,這個時間段稱為網絡分配向量(Network Allocation Vector, NAV)。NAV 是其他站根據監聽到的 RTS 或 CTS 幀中的持續時間來確定數據幀傳輸的時間。源站收到 CTS 幀后,再等待一段 SIFS 時間后,即可發送數據頓,若目的站正確收到了源站發來的數據幀,在等待時間 SIFS 后,就向源站發送確認幀(ACK)。
CSMA/CA 通過 RTS 和 CTS 幀的交換,可以有效避免隱藏站問題,實現信道的預約占用,從而可以有效避免數據幀傳輸過程中的沖突,這也是該協議名稱的含義。
7.3.3 IEEE 802.11 幀
IEEE 802.11 幀共有 3 種類型:控制幀、數據幀和管理幀。
7.4 蜂窩網絡
7.4.1 蜂窩網絡體系結構
蜂窩移動網絡發展十分迅速,到目前為止,世界上已有超過 30 種不同的標準。第一代蜂窩移動通信(1G)是為語音通話設計的模擬 FDMA 系統。為了能夠提供接入互聯網服務,2G 蜂窩移動通信系統增加了如 GPRS 和 EDGE 等技術,這些技術是從 2G 到 3G 的一個過渡的銜接性技術。
2G蜂窩系統的GSM標準的空中接口使用了 FDMA/TDMA組合技術。在組合FDMA/TDMA系統中,信道被劃分為若干子頻帶;對于每個子頻帶,時間又被劃分為復用幀的時隙。因此,對于一個組合 FDMA/TDMA 系統,如果信道被劃分為 F 個子頻帶,并且時間被劃分為T 個時隙,那么該信道將能夠支持 F*T 個并發的呼叫。一個GSM網絡的基站控制器(Base Station Controller, BSC)通常服務于幾十個收發基站,BSC的責任是為移動用戶分配 BTS 無線信道,執行尋呼(paging) (找出某移動用戶所在的小區),執行移動用戶的切換。基站控制器及其控制的收發基站共同構成了 GSM 基站系統(Base Station System,BSS)。
移動交換中心(Mobile Switching Center,MSC)在用戶鑒別和賬戶管理(決定是否允許 某個移動設備與蜂窩網絡連接)以及呼叫建立和切換中起著決定性的作用。
7.4.2 蜂窩網絡中的移動性管理
GSM 標準采用了一種間接路由選擇方法管理移動性。移動用戶向某個蜂窩網提供商訂購了服務,該蜂窩網就成為了這些用戶的歸屬網絡。移動用戶當前所在網絡稱為被訪網絡。GSM 的歸屬網絡維護一個稱作歸屬位置注冊器(Home Location Register, HLR)的數據庫,HLR 中包括每個用戶的永久蜂窩電話號碼、用戶個人信息以及這些用戶當前的位置信息。GSM 的被訪網絡維護一個稱作訪問者位置注冊器(Visitor Location Register, VLR)的數據庫。一個服務商的蜂窩網絡將為其用戶提供歸屬網絡服務,同時為在其他蜂窩服務商訂購服 務的移動用戶提供被訪網絡服務。
結合圖 7.17,呼叫過程中一些關鍵步驟介紹如下。
1、 通信者撥打移動用戶的電話號碼。
2、 歸屬 MSC 收到該呼叫,查詢 HLR 來確定移動用戶的位置。
3、 漫游號碼確定后,歸屬 MSC 通過網絡向被訪網絡的 MSC 呼叫,最后被訪網絡的 MSC呼叫移動用戶。
7.4.3 移動通信 2G/3G/4G/5G 網絡
-
2G 網絡
GSM,全球移動通信系統,是由歐洲電信標準組織 ETSI 制定的一個數字移動通信標準。
GSM 系統與第一代蜂窩系統相比,它的信令和語音信道都是數字式的,因此被看作是第二代(2G)移動電話系統的開端。
GSM 系統的業務,即為用戶提供的服務,可以分為承載業務、電信業務和附加業務三大類。GSM 系統采用的是 FDMA 和 TDMA 混合接入的方式。 -
3G 網絡
第三代移動通信系統簡稱 3G,是將無線通信與互聯網等多媒體通信結合的新一代移動通信系統,能處理圖像、音頻和視頻流等多種媒體,提供包括瀏覽網頁、電話會議和電子商務等多種信息服務。
第三代移動通信系統的主要目標如下:全球統一頻譜、統一標準,全球無縫覆蓋;更高的頻譜效率和更大的系統容量;能夠提供優良的服務質量和保密性能;適應多種環境。第三代移動通信系統中最關鍵的技術是無線傳輸技術。
-
4G/LTE 網絡
3GPP 組織從 2004 年開始了長期演進(Long Term Evolution, LTE)的標準化項目。相比傳統的移動通信網絡,LTE 系統在無線接入技術(空中接口)和網絡結構方面都發生了巨大的變化。3GPP 選擇了正交頻分多路復用(OFDM)技術作為 LTE 下行空中接口的無 線傳輸技術,而采用單載波頻分復用(Single Carrier Frequency Division Multiple Access, SC-FDMA)作為上行空中接口的無線傳輸技術。從網絡結構上看,整個網絡只包括兩層,即接入層和核心網。網絡結構將原來的基站控制器功能實體取消,使網絡結構朝扁平化方向發展。LTE 系統要求基站(evolved Node B, e-NodeB)和接入網關在用戶平面直接互聯以降低接入時延,將 3G網中的無線網絡控制器(Radio Network Controller,RNC)的底層 功能在基站實現,也就是e-NodeB 的高層功能在接入網關(Access Gateway, AGW)實 現,同時在核心網層面取消傳統的電路交換而采用基于分組交換的核心網結構。
-
5G 網絡
全球 5G 技術有望共用一個標準。5G 技術的目的是構建網絡社會,意味著除滿足超高速率傳輸需求外,還需滿足超高容量、超可靠性、隨時隨地可接入性等要求,以解決未來移動互聯網的流量風暴、網絡擁塞等問題。
7.5 移動 IP 網絡
移動 IP 標準由 3 部分組成:代理發現,向歸屬代理注冊以及數據報的間接路由選擇。
7.5.1 代理發現
移動 IP 定義了一個歸屬代理或外部代理來向移動結點通告其服務的協議,以及移動結點請求一個外部代理或歸屬代理的服務所使用的協議。
代理發現(agent discovery)指的是當某移動 IP 站點到達一個新網絡時,不管是連到一個外部網絡還是返回其歸屬網絡,它都必須知道相應的外部代理或歸屬代理的身份。代理發現可以通過以下兩種方式實現:代理通告或者代理請求。
1.代理通告(agent advertisement)
外部代理或歸屬代理使用一種現有路由器發現協議的擴展協議來通告其服務。該代理周期性地在所有連接的鏈路上廣播一個類型字段為 9 (路由器發現)的 ICMP 報文。路由器發現報文也包含路由器(即該代理)的 IP 地址,因此允許一個移動結點知道該代理的 IP 地址。路由器發現報文還包括了一個移動性代理通告擴展,其中包含了該移動結點所需的附加信息。在移動性代理通告擴展中有以下一些較重要的字段。
2、代理請求(agent solicitation)
一個想知道代理的移動結點不必等待接收代理通告,就能廣播一個代理請求報文,該報文只是一個類型值為 10 的 ICMP 報文。收到該請求的代理將直接向該移動結點單播一個代理通告,于是該移動結點將繼續處理,就好像剛收到一個未經求的通告一樣。
7.5.2 向歸屬代理注冊
1) 當收到一個外部代理通告后,移動結點立即向外部代理發送一個移動 IP 注冊報文。 注冊報文承載在一個 UDP 數據報中,并通過端口 434 發送。注冊報文攜帶以下內容:一個由外部代理通告的 C0A、歸屬代理的地址(HA)、移動結點的永久地址(MA)、請求的注冊壽命(lifetime)和一個 64 位的注冊標識(identification)。請求的注冊壽命指示了注冊有效的秒數。如果注冊沒有在規定的時間內在歸屬代理上更新,則該注冊將變得無效。注冊標識就像一個序號,用于匹配收到的注冊應答與注冊請求。
2) 外部代理收到注冊報文并記錄移動結點的永久 IP 地址。外部代理知道現在它應該查收這樣的數據報,即它封裝的數據報的目的地址與該移動結點的永久地址相匹配。然后外部代理向歸屬代理的端口 434 發送一個移動 IP 注冊請求報文(同樣封裝在 UDP 數據報中),其中包括 COA、HA、MA、封裝格式(encapsulation format)要求、請求的注冊壽命以及注冊標識。
3) 歸屬代理接收注冊請求并檢查真實性和正確性。
4) 外部代理接收注冊應答,然后將其轉發給移動結點。
7.6 其他典型無線網絡簡介
7.6.1 WiMax
全球微波互聯接入(World Interoperability for Microwave Access, WiMax)又稱為 IEEE 802.16標準,其目的是在更大范圍內為用戶提供可以媲美有線網絡的無線通信解決方案。
7.6.2 藍牙
IEEE 802.15.1 網絡以小范圍、低功率和低成本運行。它本質上是一個低功率、小范圍、 低速率的“電纜替代”技術,用于互聯筆記本、串行設備、蜂窩電話和智能手機,而 IEEE 802.11是一個大功率、中等范圍、高速率的“接入”技術。為此,IEEE 802.15.1 網絡優勢被 稱為無線個人區域網絡(Wireless Personal Area Network, WPAN)標準。IEEE 802.15.1 的鏈路層和物理層基于早期用于個人區域網絡的藍牙(Bluetooth)規范,所以通常也將 IEEE 802.15.1 網絡稱為藍牙網絡。
7.6.3 ZigBee
IEEE 的第二個個人區域網絡標準是 IEEE 802.15.4,被稱為 ZigBee。ZigBee 主要以低功率、低數據速率、低工作周期應用為目標。ZigBee 網絡結點可以分兩類:“簡化功能設備”和“全功能設備”。多個“簡化功能設備”通常在單個“全功能設備”控制下,作為從設備運行,與藍牙網絡的從設備非常相似。一個 “全功能設備”能夠作為一個主設備運行,就像在藍牙中控制多個從設備那樣,并且多個“全功能設備”還能夠配置為一個網狀(mesh)網絡,其中“全功能設備”在它們之間發送幀。ZigBee 網絡能夠配置成許多不同的方式。考慮一種簡單的場合,其中單一的“全功能設備”使用信標幀以一種時隙方式控制多個“簡化功能設備”。圖 7.23 顯示了這種情況,其中ZigBee 網絡將時間劃分為反復出現的超幀,每個超幀以一個信標幀開始。每個信標幀將超幀劃分為一個活躍周期(在這個周期內設備可以傳輸)和一個非活躍周期(在這個周期內所有 設備包括控制器能夠睡眠進而保存能量)。活躍周期由 16 個時隙組成,其中一些由采用 CSMA/CA 隨機接入方式的設備使用,另一些由控制器分配給特定的設備,因而為那些設備提供了保障信道。
八.網絡安全基礎
8.1 網絡安全概述
8.1.1 基本概念
網絡安全,也就是網絡安全通信所需要的基本屬性。
1) 機密性(confidentiality)。
2) 消息完整性(message integrity)。
3) 可訪問與可用性(access and availability)o
4) 身份認證(authentication)。
網絡安全是指網絡系統的硬件、軟件及其系統中的數據受到保護,不因偶然的或者惡意的原因而遭受到破壞、更改、泄露,系統連續可靠正常地運行,網絡服務不中斷。
8.1.2 網絡安全威脅
1、首先,從報文傳輸方面,主要包括竊聽、插入、假冒、劫持等安全威脅。竊聽指的是在報文傳輸過程中竊聽信息,獲取報文信息。插入威脅指的是攻擊者主動在連接中插入信息,混淆信息,讓接收信息者收到虛假信息。假冒指的是可以偽造分組中的源地址(或者分組的任意其他字段)。劫持指的是通過移除/取代發送方或者接收方“接管”連接。
2、比較常見的網絡攻擊還包括拒絕服務 DoS 以及分布式拒絕服務 DDoS 等。 拒絕服務是指阻止服務器為其他用戶提供服務。分布式拒絕服務 DDoS 是指利用多個源主機協同淹沒接收方,DDoS 攻擊過程如下:首先選擇目標,然后入侵網絡中主機,構造僵尸網絡,然后再控制僵尸主機向目標發送分組。
3、Internet 中的有一類安全威脅叫作映射,其攻擊原理如下:在發起攻擊前先“探路”,找出網絡上在運行什么服務,然后利用 ping 命令確定網絡上的主機的地址,最后使用端口掃描的方法依次嘗試與每個端口建立 TCP 連接。Nmap 就是國外廣為使用的端口掃描工具之一。
4、還有一類安全威脅叫分組“嗅探”。“嗅探”通常發生在共享式以太網或者無線網絡中,“嗅探”主機通過混雜模式網絡接口卡,可以接收或記錄所有廣播介質上的分組/幀,可以讀 到所有未加密數據,例如,口令等。當然,“嗅探”也并非都是安全威脅,“嗅探”也是協議分析或網絡管理等所采用的技術手段,例如,Wireshark 就是一個典型的分組嗅探軟件。
5、IP 欺騙也是屬于網絡安全威脅的一種,它可以直接由應用生成“原始” IP 分組,設置分組的源 IP 地址字段為任意值,接收方無法判斷源地址是否被欺騙,可能導致錯誤數據的接收,或者隱藏網絡安全攻擊身份。
8.2 數據加密
密碼技術是保障信息安全的核心基礎,解決數據的機密性、完整性、不可否認性以及身份識別等問題均需要以密碼為基礎。簡單來說,密碼學(Cryptography)包括密碼編碼 學和密碼分析學兩部分。密碼編碼學是指將密碼變化的客觀規律應用于編制密碼來保守通信秘密。
研究密碼變化客觀規律中的固有缺陷,并應用于破譯密碼以獲取通信情報的,稱為密碼分析學。
如圖 8.2 所示,是通信加密模型。一般來說,未加密消息在密碼學中被稱為明文,偽裝消息以隱藏消息的過程稱為加密,而被加密的消息稱為密文,把密文轉變為明文的過程稱為解密。
根據密碼體制的特點以及出現的先后時間可以將密碼方式分類為傳統密碼算法、對稱密鑰算法、公開密鑰算法。 同時,依據處理數據的類型可以劃分為分組密碼和序列密碼。分組密碼是將明文消息編碼表示后的數字(簡稱明文數字)序列,劃分成長度為 n 的組 (可看成長度為 n 的矢量),每組分別在密鑰的控制下變換成等長的輸出數字(簡稱密文數字)序列。序列密碼又稱流密碼,是利用密鑰產生一個密鑰流,然后對明文串分別加密的過程。
8.2.1傳統加密方式
在歷史上,加密方法被分為替代密碼和換位密碼兩大類。兩種技術的核心都是將明文通過一些算法加密,保證明文的安全性。替代密碼是將明文字母替換為其他字母、數字或符號的方法,而換位密碼是通過置換而形成新的排列。
8.2.2 對稱密鑰加密
現代密碼又可以分為對稱密鑰密碼和非對稱密鑰密碼兩大類,其中對稱密鑰密碼的加密秘鑰和解密秘鑰是相同的,非對稱密鑰密碼的加密秘鑰與解密秘鑰是不同。
對稱密鑰加密系統又可以分為分組密碼和流密碼。流密碼又稱序列密碼,是通過偽隨機數發生器產生性能優良的偽隨機序列(密鑰流),用該密鑰流加密明文消息流,得到密文消息序列。解密時使用相同的密鑰流,按加密的逆過程進行解密。分組密碼,又稱塊密碼,是將明文消息分成若干固定長度的消息組,每組消息進行單獨加密/解密。計算機網絡常用的對稱密鑰加密為分組密碼。比較常見的分組密碼有 DES、AES 和 IDEA 等。
8.2.3 非對稱/公開密鑰加密
非對稱密鑰密碼,或稱公開密鑰密碼(簡稱公鑰密碼),則便于解決密鑰分問題。
比較典型的公開密鑰加密算法有 Diffie-Hellman 算法和 RSA 算法。
RSA 算法是目前應用比較廣泛的公開密鑰算法,算法安全性高,但是計算量非常大,因此通常 RSA 會與對稱密鑰密碼結合使用。公開密鑰密碼有一個重要特性:如果對報文 m 利用私鑰加密,則可以利用其公鑰進行解密。
8.3 消息完整性與數字簽名
報文/消息完整性(message integrity),也稱為報文/消息認證(或報文鑒別),其主要目標是:證明報文確實來自聲稱的發送方;驗證報文在傳輸過程中沒有被篡改;預防報文的時間、順序被篡改;預防報文持有期被篡改;預防抵賴(如發送方否認已發送的消息或接收方否認己接收的消息)。
8.3.1 消息完整性檢測方法
為了實現消息完整性檢測,需要用到密碼散列函數(Cryptographic Hash Function) H(m),表示對報文 m 進行散列化。密碼散列函數應具備的主要特性如下。
- 一般的散列函數具有算法公開。
- 能夠快速計算。
- 對任意長度報文進行多對一映射均能產生定長輸出。
- 對于任意報文無法預知其散列值。
- 不同報文不能產生相同的散列值。
同時,密碼散列函數還應該具有單向性、抗弱碰撞性、抗強碰撞性。滿足上述特性的典型散列函數有 MD5 和 SHA-1。
8.3.2 報文認證
消息完整性檢測的一個重要目的就是要完成報文認證的任務。圖 8.4 對報文 m 應用散列函數 H,得到一個固定長度的散列碼,稱為報文摘要(message digest),記為 H(m)。報文摘要可以作為報文 m 的數字指紋(fingerprint)?報文認證是使消息的接收者能夠檢驗收到的消息是否是真實的認證方法。報文(消息) 認證的目的有兩個:一個是消息源的認證,即驗證消息的來源是真實的;另一個是消息的認 證,
即驗證消息在傳送過程中未被篡改。
-
簡單報文驗證
-
報文認證碼 MAC ( Message Authentication Code)
8.3.3 數字簽名
在報文完整性認證的過程中,亟待解決的問題有:發送方不承認自己發送過某一報文。接收方自己偽造一份報文,并聲稱來自發送方。某個用戶冒充另一個用戶接收和發送報文。接收方對收到的信息進行篡改。解決這些問題的有效技術手段是數字簽名。在公鑰密碼體制中,一個主體可以使用他自己的私鑰“加密”消息,所得到的“密文” 可以用該主體的公鑰“解密”來恢復成原來的消息,如此生成的_“密文”對該“消息”提供認證服務。公鑰密碼提供的這種消息認證服務可以看成是對消息原作者的簽名即數字簽名。數字簽名在信息安全,包括身份認證、數據完整性、不可否認性以及匿名性等方面有重要應用,特別是在大型安全通信中的密鑰分配、認證以及電子商務系統中具有重要作用。數字簽名是實現認證的重要工具。數字簽名與消息認證的區別:消息認證使接收方能驗證發送方以及所發消息內容是否被篡改過。當收發者之間沒有利害沖突時,這對于防止第三者的破壞來說是足夠了。但當接收者和發送者之間有利害沖突時,就無法解決他們之間的糾紛,此時須借助滿足前述要求的數字簽名技術。
數字簽名應滿足以下要求。
(1)接收方能夠確認或證實發送方的簽名,但不能偽造。
(2)發送方發出簽名的消息給接收方后,就不能再否認他所簽發的消息。
(3)接收方對已收到的簽名消息不能否認,即有收報認證。
(4)第三者可以確認收發雙方之間的消息傳送,但不能偽造這一過程。 -
簡單數字簽名
-
簽名報文摘要
8.4 身份認證
身份認證又稱身份鑒別,是一個實體經過計算機網絡向另一個實體證明其身份的過程。
8.5 密鑰分發中心與證書認證機構
8.5.1 密鑰分發中心
對稱密鑰分發的典型解決方案是,通信各方建立一個大家都信賴的密鑰分發中心 (Key Distribution Center, KDC),并且每一方和 KDC 之間都保持一個長期的共享密鑰。通信雙方借助 KDC,在通信雙方之間創建一個臨時的會話密鑰(Session Key)。在會話密鑰建立之前,通信雙方與 KDC 之間的長期共享密鑰,用于 KDC 對通信方進行驗證以及雙方之間的驗證。
基于 KDC 的密鑰生成和分發方法可以有很多種。
方式一:通信發起方生成會話密鑰
方式二:由 KDC 為 Alice、Bob 生成通信的會話密鑰。
8.5.2 證書認證機構
要使公鑰密碼有效,需要能夠證實你擁有的公鑰,實際上就是要與你通信的實體(人員、路由器、瀏覽器等)的公鑰。
將公鑰與特定實體綁定,通常是由認證中心(Certification Authority, CA)完成的。CA 具有以下作用。
1) CA 可以證實一個實體(一個人、一臺路由器等)的真實身份。
2) 一旦 CA 驗證了某個實體的身份,CA 會生成一個把其身份和實體的公鑰綁定起來的證書(Certificate),其中包含該實體的公鑰及其全局唯一的身份識別信息(例如,人的姓名或IP 地址)等,并由 CA 對證書進行數字簽名。
8.6 防火墻與入侵檢測系統
8.6.1 防火墻基本概念
在眾多網絡安全防護措施里,防火墻(firewall)是比較有效并且被廣泛部署使用的設施。如圖8.16 所示,防火墻是能夠隔離組織內部網絡與公共互聯網,允許某些分組通過,而阻止其他分組進入或離開內部網絡的軟件、硬件或者軟件硬件結合的一種設施。
防火墻發揮作用的基本前提,是需要保證從外部到內部和從內部到外部的所有流量都經過防火墻,并且僅被授權的流量允許通過,防火墻能夠限制對授權流量的訪問。
8.6.2 防火墻分類
防火墻大致可以分為三類:無狀態分組過濾器(stateless packet filters)、有狀態分組過濾器(stateful packet filters)和應用網關(application gateway)。
-
無狀態分組過濾器
無狀態分組過濾器是典型的部署在內部網絡和網絡邊緣路由器上的防火墻。一個機構網絡通常都會有至少一個將其內部網絡與外部 Internet 相連的網關路由器。所有進入和離開內部網絡的流量都會經過網關路由器。分組過濾是網關路由器的重要功能之一,路由器逐個檢查數據報,然后基于特定的規則對分組是通過還是丟棄進行決策。進行過濾時通常基于以下參數進行決策。
在路由器中通常使用訪問控制列表(Access Control Lists, ACL)實現防火墻規則,每個路由器
接口都有它自己的規則列表,自頂向下應用于到達的分組。
-
有狀態分組過濾器
有狀態分組過濾器會使用連接表跟蹤每個 TCP 連接,如表 8.3 所示。分組過濾器跟蹤連接建立 (SYN),拆除(FIN),根據狀態確定是否放行進入或者外出的分組。對于超時的非活動連接,則不再允許分組通過。
-
應用網關
為了進一步提高防火墻的安全性,防火墻還必須把分組過濾器和應用程序網關結合起來,圖 8.17 所示的是應用網關實現授權用戶通過網關訪問外部網絡的 Telnet 服務。首先,所有用戶必須通過應用網關才能訪問外部網絡的 Telnet 服務,應用網關會進行身份鑒別,只有授權用戶,應用網關代理用戶與目的主機建立 Telnet 連接,并且在兩個連接之間進行數據中繼,而路由器會阻止所有不是應用網關發起的 Telnet 連接。所以,該 Telnet 應用網關不僅執行用戶授權,同時也充當 Telnet 服務器和 Telnet 客戶。盡管前面介紹了多種安全措施,防火墻和應用網關依然存在許多局限性。第一,路由器無法確定數據是否來自聲稱的源,攻擊者會利用此進行 IP 欺騙。第二,應用網關通用性不好,如 果不同應用有不同需求,每個應用需要一個獨立的應用網關,此外,客戶軟件需要知道如何連接網關。第三,針對 UDP 的流量經常全部通過或者全部不通過。通常,網絡中防火墻的設置會進行折中,確定安全級別,不同安全級別對內部網絡與外部網絡的通信影響程度不同。
8.6.3 入侵檢測系統 IDS
入侵檢測系統(Intrusion Detection System,IDS)是當觀察到潛在的惡意流量時,能夠產生警告的設備或系統,IDS 不僅僅針對 TCP/IP 首部進行操作,而且會進行深度包檢測, 并檢測多數據之間的相關性。IDS 能夠檢測多種攻擊,例如,網絡映射、端口掃描、TCP 棧 掃描、DoS 拒絕服務攻擊等。
8.7 網絡安全協議
8.7.1安全電子郵件
-
安全電子郵件基本原理
作為一個網絡應用,電子郵件對網絡安全的需求主要有以下幾個方面。
1) 機密性:傳輸過程中不被第三方閱讀到郵件內容,只有真正的接收方才可以閱讀郵件。
2) 完整性:支持在郵件傳輸過程中不被篡改,若發生篡改,通過完整性驗證可以判斷出該郵件被篡改過。
3) 身份認證性:電子郵件的發送方不能被假冒,接收方能夠確認發送方的身份。
4) 抗抵賴性:發送方無法對發送的郵件進行抵賴。接收方能夠預防發送方抵賴自己發送過的事實。 -
安全電子郵件標準
目前,安全電子郵件標準是 1991 年提出的 PGP (Pretty Good Privacy)標準。PGP 可以免費運行在各種操作系統平臺之上,可用于普通文件加密以及軍事目的,所使用的算法,例 如,公鑰加密算法(如 RSA)、對稱加密算法(如 3DES)、散列算法(如 SHA-1),都已被證明是安全可靠的。
PGP 能夠提供諸如郵件加密、報文完整性等安全服務,滿足電子郵件對網絡安全的需求。PGP 標準會對郵件內容進行數字簽名,保證信件內容不被篡改。同時會使用公鑰和對稱密鑰加密,保證郵件內容機密且不可否認,公鑰的權威性由收發雙方所信任的第三方簽名認證,并且事先不需要任何保密信道來傳遞對稱的會話密鑰。
8.7.2 安全套接字層 SSL
-
SSL 簡介
安全套接字層 SSL 是由 NetScape 最先實現,并廣泛部署的安全協議,幾乎所有的瀏覽器和Web 服務器都支持。SSL 可以提供機密性、完整性、身份認證等安全服務。SSL 最初提出的目標是面向 Web 電子商務交易,尤其是加密信用卡號,提供 Web 服務器的認證、可選的客戶認證,方便用戶和新商戶進行商務活動。HTTP 協議使用 SSL 進行安全通信時,稱為安全 HTTP,簡記為 HTTPS。
簡化的 SSL 主要包含 4 個部分。
1)發送方和接收方利用各自的證書、私鑰認證、鑒別彼此,并交換共享密鑰。
2)密鑰派生或密鑰導出,發送方和接收方利用共享密鑰派生出一組密鑰。
3)數據傳輸,將傳輸數據分割成一系列記錄,加密后傳輸。
4)連接關閉,通過發送特殊消息,安全關閉連接,不能留有漏洞被攻擊方利用。
-
SSL 協議棧
圖 8.22 所示是 SSL 協議棧,可以看到 SSL 是介于 TCP 和 HTTP 等應用層協議之間的一個可選層,絕大多數應用層協議可以直接建立在 SSL 協議之上,SSL 不是單獨的協議,而是兩層協議。在介紹 SSL 各個具體協議之前先介紹一下 SSL 密碼組。SSL 在安全加密/解密過程中,涉及多種密碼,已介紹的密鑰派生過程中的 4 種密碼。同時 SSL 也會使用到多種加密算法,主要有以下幾種。
總結
以上是生活随笔為你收集整理的计算机网络原理学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光耦817制作12v闪灯电路图_光电耦合
- 下一篇: webbrowser控件使用,冬日日记每