1. 程式人生 > 實用技巧 >計算機網路原理 筆記

計算機網路原理 筆記

   1           ╭第一章 計算機網路概述
   2           |第二章 網路應用
   3           |第三章 傳輸層
   4           |第四章 網路層
   5  內容大綱<
   6           |第五章 資料鏈路層與區域網
   7           |第六章 物理層
   8           |第七章 無線與行動網路
   9           ╰第八章 網路安全基礎
  10 
  11 第一章 計算機網路概述
  12 1.計算機網路基本概念(填空選擇題)
  13  1>計算機網路定義
  14   *1.定義:
15 1)計算機網路是 互連的、自治的 計算機的集合; 16 互連: 是指利用通訊鏈路連結相互獨立的計算機系統; 17 自治: 是指互連的計算機系統 彼此獨立 ,不存在主從或控制與被控制的關係; 18 19 2)一個計算機網路是由資源子網和通訊子網構成的, 20 資源子網負責資訊的處理,通訊子網負責全網中的資訊傳遞; 21 22 *2.起源:從技術範疇來看,計算機網路是 計算機技術 與 通訊技術 相融合的產物; 23 24 *3.網際網路與因特網(瞭解) 25 #1.互連網(internet):泛指由多個計算機網路互連而成的網路;
26 #2.因特網(Internet):指當前全球最大的、應用最廣泛的計算機網路; 27 28 *4.因特網服務提供商(Internet Service Provider, ISP) 29 30 2>網路協議的定義(填空題) 31 *1.網路協議:網路通訊實體之間在 資料交換 過程中需要遵循的規則或約定(例如:HTTP,FTP等); 32 *2.協議的三要素(填空題) 33 #1.語法: 定義實體之間交換資訊的 格式與結構; 34 #2.語義: 定義實體之間交換資訊中的 控制資訊; 35 #3.時序(同步):定義實體之間交換資訊的 順序 及如何匹配或適應彼此的 速度;
36 37 3>計算機網路功能(選擇)(軟硬體資訊資源共享) 38 *0.是指在不同主機之間實現快速的資訊交換,通過資訊交換,計算機網路可實現 資源共享 這一核心功能; 39 *1.硬體 資源共享: 計算資源(CPU)、儲存資源、印表機與掃描器I/O等共享; 例如雲儲存,雲端計算; 40 *2.軟體 資源共享: SaaS(Software as a Service,軟體即服務) 例如:大型辦公軟體、大型資料庫系統等; 41 *3.資訊 資源共享: 資訊檢索,新聞瀏覽等, 典型為 計算機網路所支援的資訊交換; 42 43 4>計算機網路的分類 44 *1.按覆蓋範圍分類(選擇題) 45 #1.個域網(PAN,Personal Area Network):隨身穿戴或便攜裝置,通過無線技術構成的小範圍網路; 1~10m 46 #2.區域網(LAN,Local Area Network):通常部署在辦公室,辦公樓,廠區,校區等; 10m~1Km 47 #3.都會網路(MAN,Metropolitan Area Network):覆蓋一個城市範圍的網路; 5~50Km 48 #4.廣域網(WAN,Wide Area Network):覆蓋範圍在幾十到幾千千米,可實現異地都會網路的互連; 49 50 *2.按拓撲結構分類(選擇題) 51 1)按拓撲結構的形狀分類 52 #0.拓撲(topology) 53 是研究幾何圖形或空間在連續改變形狀後還能保持不變的一些性質的一個學科; 54 它只考慮 物體間的位置關係 而不考慮它們的形狀和大小;(星型,匯流排,環形,網狀,樹形,混合) 55 56 #1.星形拓撲結構(個域網(PAN)或區域網(LAN)) 57 包括一箇中央結點,網路中的主機通過點對點通訊 58 鏈路與中央結點連線; ● 59 優點:易於監控管理,故障診斷,隔離; ●- ● - 60 缺點:中央結點一旦故障,全網癱瘓; ● ● 61 受限制與中央結點的埠數量; 62 63 #2.匯流排型拓撲結構(早期區域網(LAN)) 64 網路採用一條廣播通道作為公共傳輸介質,所有結點均與匯流排連線, 65 結點間的通訊均通過共享的匯流排進行; ● ● ● 66 優點:結構簡單,電纜數量少,易於擴充套件. ┴-┬-┴-┬- 67 缺點:通訊範圍受限,故障診斷與隔離困難,容易產生衝突; ● ● 68 69 #3.環形拓撲結構(早期區域網(LAN),都會網路(MAN)) ●-- 70 利用通訊鏈路將所有結點連線成一個閉合的環; / \ 71 優點:電纜長度短,可以使用光纖,易於避免衝突; ● ● 72 缺點:某結點故障引起全網癱瘓,加新(撤出)結點麻煩,等待時間較長; \ / 73 ●-- 74 75 #4.網狀拓撲結構(廣域網(WAN)和核心網路) ●-- 76 網路中的結點通過多條鏈路與不同的結點直接相連線; /\ /\ 77 優點:網路可靠性高,一條或多條鏈路故障時,網路仍然可以聯通; ●--╳-- 78 缺點:網路結構複雜,成本高; \/ \/ 79 ●-- 80 #5.樹形拓撲結構(目前區域網LAN) ● 81 可以看作是匯流排型拓撲或星型拓撲結構網路的擴充套件; / \ 82 優點:易於擴充套件,故障易隔離; ● ● 83 缺點:根結點要求高; /\ /\ 84 ● ● ● ● 85 ● ● ● 86 ╲│╱ 87 #6.混合型拓撲結構(絕大多數實際網路) ● ○ ● 88 由兩種以上簡單拓撲結構網路混合連線而成的網路; ╲ ╱ ╲ ╱ 89 優點:易於擴散,可以構建不同規模的網路,根據需要優選網路結構; ●──○────○──● 90 缺點:結構複雜,管理與維護複雜; ╱ ╲ 91 ● ● 92 93 2)按拓撲結構傳輸模式分類 94 #1.點對點模式: 星形拓撲結構、網狀形拓撲結構、樹形拓撲結構; 95 #2.點與匯流排相連模式: 匯流排形拓撲結構; 96 97 3)按採用通道的拓撲結構分類 98 #1.採用廣播通道的拓撲結構 99 匯流排型拓撲結構; 100 樹形拓撲結構; 101 環形拓撲結構; 102 無限通訊與衛星通訊型; 103 104 #2.直接鏈路連線: 網狀形拓撲結構; 105 106 *3.按交換方式分類 107 #1.電路交換網路; 108 #2.報文交換網路; 109 #3.分組交換網路; 110 111 *4.按網路使用者屬性 112 #1.公用網:是指由國家或企業出資建立,面向公眾提供收費或免費服務的網路(電信網路); 113 #2.私有網:某個組織(政府或企業)出資建設,專門面向該組織內部提供網路傳輸服務,不向公眾開放;(銀行,軍事,鐵路) 114 115 2.計算機網路結構 116 *大規模現代計算機網路的結構包括 網路邊緣,接入網路 與 網路核心 三部分; 117 118 1>網路邊緣(上網使用的裝置) 119 連線到網路上的計算機、伺服器、智慧手機、智慧感測器、智慧家電等稱為 120 主機 或 端系統, 連線到網上的所有端系統構成了 網路邊緣; 121 122 2>接入網路(上網的途徑) 123 *0.是指實現網路邊緣的端系統與網路核心連線與連入的網路; 124 125 *1.電話撥號接入:利用電話網路接入; 126 127 *2.非對稱數字使用者線路ADSL(Asymmetrical Digital Subscriber Line): 128 #1.利用電話網路接入;#2.基於頻分多路複用技術;#3.非對稱(上行小,下行大);#4.獨享式接入; 129 130 *3.混合光纖共軸電纜HFC接入網路: 131 #1.利用有線電視網路接入;#2.基於頻分多路複用技術;#3.非對稱(上行小,下行大);#4.共享式接入; 132 133 *4.區域網:典型的區域網技術是乙太網,WIFI等; 134 135 *5.移動接入網路:利用行動通訊網路,如3G/4G/5G網路,實現智慧手機,移動終端等裝置的網路接入; 136 137 3>網路核心(網路實現資料轉發方式) 138 是由通訊鏈路互連的 分組交換裝置(路由器和交換機) 構成的網路, 139 作用:通過 資料交換 來實現網路邊緣中主機之間的 中繼 與 轉發; 140 141 3.資料交換技術 142 0>資料交換的概念 143 *1.交換裝置: 具有多通訊埠,可同時連線多個通訊結點;(交換裝置互連構成網路核心) 144 *2.資料交換: 是實現在大規模網路核心上進行資料傳輸的 技術基礎; 145 *3.常見的資料交換技術包括: 電路交換,報文交換,分組交換; 146 147 1>電路交換 148 *1.電路交換是 最早 出現的一種交換方式, 電話網路 是最早、最大的電路交換網路; 149 *2.電路交換進行通訊步驟(3個階段): 建立電路->傳輸資料->拆除電路; 150 *3.優點: 實時性高,時延和時延抖動小; 151 *4.缺點: 不適用於猝發式通訊,通道利用率低,且傳輸率單一; 152 *5.用途:適用於語音和視訊這類實時性強的業務; 153 *6.特點:電路交換是有連線的,在通訊時需要先建立電路連線, 154 在通訊過程中獨佔一個通道,通訊結束後拆除電路連線; 155 156 2>報文交換(訊息交換) 157 *1.報文: 傳送方把要傳送的資訊(資料) 附加上 接收主機的地址和控制資訊(首部); 158 *2.報文交換:傳送方組裝好報文,發給相鄰報文交換機 159 示意圖如下: 160 161 源 -----交換裝置-----交換裝置-----目的 162 報文 儲存轉發\ / 163 首部|資料 交換裝置 164 165 *3.交換結點的這種 接收-暫存-轉發 的工作方式,稱為 儲存-轉發 的交換方式; 166 *4.優點: 通道利用率高; 適用於電報通訊; 167 *5.缺點: 網路的延遲時間變長; 有時還需要丟棄報文; 168 *6.特點: 169 報文交換機必須接受一個完整的報文後,才能把報文轉發到某個輸出線路中; 170 1)報文交換可以把一個報文傳送到多個目的地,而電路交換網路很難做到這點; 171 2)報文交換網路中交換結點需要緩衝儲存,報文需要排隊,因此會導致報文經過 172 網路的延遲時間變長且不固定(資料塊長度不限且可變); 173 174 3>分組交換 175 *1.分組交換(包交換):是目前計算機網路 廣泛採用 的交換技術; 176 177 *2.分組交換需將待傳輸的資料(即報文)分割成較小的獨立的資料塊,(首部/資料) 178 每個資料塊附加地址、序號 等控制資訊構成資料分組,每個分組獨立傳輸到目的地, 179 到目的地將收到的分組重新組裝,還原為報文, 採用 儲存-轉發 交換方式; 180 181 *3.示意圖: 182 源 ----交換裝置-----交換裝置-----目的 183 分組 儲存轉發\ / 184 ▌▌▌▌▌▌▌ 交換裝置 185 186 *4.優點: 187 #1.交換裝置儲存容量要求低; 報文交換裝置: 分組交換裝置: 188 #2.交換速度快; 1400MB 1400MB 189 #3.可靠傳輸效率高;(丟包少) 首部|資料 首部|資料 首部|資料 190 #4.更加公平;(效率高) 報文1:1500MB(丟棄) 分組1:100MB 分組2:100MB 191 192 *5.缺點: 有效傳輸效率降低(每組都附加地址) 193 194 *6.分組長度的確定: 195 在其他條件相同的情況下,分組長度越長,延遲時間越長; 196 (每組長度越長,在交換裝置中儲存停留的時間越長)(16B-4096B) 197 198 *7.ARPAnet是第一個分組交換的計算機網路,也是當今因特網的祖先。(*****) 199 200 *8.因特網的標準都有一個(Request For Comments,RFC)編號, 201 如著名的IP協議和TCP協議最早分別為RFC791 和 RFC793; 202 203 4.計算機網路效能 204 1>速率與頻寬 205 *1.速率:是指網路 單位時間內 傳送的 資料量,用以描述網路傳輸資料的 快慢; 206 也稱為資料傳輸速率 或 資料速率(date rate), 單位: bit/s (位每秒) 207 208 *2.速率單位轉換: 209 1Kbit/s=1000bit/s=10³bit/s 1Byte(位元組)=8bit(位); 210 1Mbit/s=1000000bit/s=10^6bit/s 1bit=0/1 211 1Gbit/s=10^9bit/s 速率的基本單位:bit/s(位每秒) 212 1Tbit/s=10^12bit/s 213 214 *3.頻寬 215 在通訊和訊號處理領域,指的是訊號的頻頻寬度(最高和最低頻率之差),單位Hz(赫茲); 216 在計算機網路中,指的是:一條鏈路或通道的最高資料速率,單位:bit/s(位每秒) 217 218 2>時延 219 *1.時延 220 時延:也稱延遲,指資料從網路中的一個結點(主機或交換裝置)到達另一結點所需要的時間; 221 跳:在計算機網路中,通常將連線兩個結點的直接鏈路稱為有"一個跳步",簡稱 "一跳"; 222 分組 223 224 ▌ 第一跳 ▌ 第二跳 ▌ 第三跳 ▌ 225 源主機-------分組交換機1-----分組交換機2-----目的 226 227 圖1:一個簡單的分組交換網路 228 229 *2.分組每跳 傳輸過程中主要產生 4類 時間延時: 230 231 -----------交換裝置1--------------------交換裝置2---------- 232 A B c \ d: 傳播時延:dp / 233 \ / \ / 234 結點處理時延dc 排隊時延dq 傳輸時延(傳送時延)dt 235 236 圖2:傳輸過程中產生的4類時延 237 238 *3.時延分類 239 總時延dh=結點處理時延dc+排隊時延dq+傳送時延dt+傳播時延dp; 240 1)結點處理時延,記為dc 241 2)排隊時延,記為dq 242 3)傳輸時延(傳送時延),記為dt: 243 /** 244 * L:分組長度,單位bit; 245 * R:鏈路頻寬(即速率),單位:bit/s 246 * 傳輸時延=分組長度/鏈路頻寬 247 * 從傳送第一位到傳送完最後一位所用時間 248 */ 249 dt=L/R; bit/bit/s= bit•s/bit=s; 250 251 4)傳播時延,記為dp, 252 /** 253 * D:物理鏈路長度,單位:m 254 * V:訊號傳播速度,單位:m/s 255 * 傳播時延=物理鏈路長度/訊號傳播速度 256 * 光速=3×10^8m/s 257 */ 258 dp=D/V; m/m/s= m•s/m=s; 259 260 3>時延頻寬積 261 時延頻寬積:是物理鏈路的傳播時延 與 鏈路頻寬 的乘積,記為G; 262 公式:G=傳播時延×鏈路頻寬=dp•R=s•bit/s=bit;//時延頻寬積的單位:bit 263 時延頻寬積物理意義: 一段鏈路可以容納的資料位數, 也稱為 以位為單位的鏈路長度; 264 示例: 265 設訊號傳播速度 V=2500km/s, 鏈路長度 D=500m,鏈路頻寬 R=10Mbit/s, 266 求該段鏈路的時延頻寬積; 267 V=2500000m/s D=500m, R(頻寬)=10000000bit/s 268 G=D/V•R = (500/2500000)•10000000=2000 bit 269 G=D/V•R =(5×10^2)/(25×10^5)=1/(5×10^310^7=2×10^3 bit 270 271 例題2: 272 設主機A和主機B由一條頻寬為R=10^8bit/s、長度為D=100m的鏈路互連, 273 訊號傳播速率為V=250000km/s。如果主機A從t=0時刻開始向主機B傳送 274 長度為 L=1024bit的分組。 275 1)求主機A和主機B間的鏈路傳輸時延dt; 276 dt=L/R=1024/10^8=1.024×10^-5s; 277 278 2)求主機A傳送該分組的傳播時延dp; 279 dp=D/V=100/250000000=4×10^-7s; 280 281 3)求該分組從主機A到主機B的延遲T。(忽略結點處理時延和排隊時延) 282 T=dt+dp=1.024×10-5s+4×10-7s=1.064×10-5s; 283 284 4)求主機A與主機B間鏈路的時延頻寬積G 285 G=dp×R=4×10^-7 × 0^8=40bit; 286 287 288 4>丟包率(選擇,填空) 289 作用:丟包率常被用於評價和衡量網路效能,在很大程度上反映 網路擁塞程度; 290 /** 291 * N1:丟失分組總數 292 * Ns:傳送分組總數 293 * Nr:接收分組總數 294 */ 295 η=N1/Ns=Ns-Nr/Ns 296 297 5>吞吐量(Thr Throught) 298 是指在 單位時間內 源主機通過網路向目的主機 實際送達 的資料量, 299 記為Thr,單位:bit/s 或 B/s(位元組每秒) : 1B=8bit 300 受網路鏈路頻寬, 網路連線複雜性, 網路協議, 網路擁塞程度 影響 301 S R1 R2 Ri RN-1 RN 302 ▋-----●------●- - -●-----●-----▉ Thr=min(R1,R2,R3) 303 304 +-------------+---------+--------------------------------------------+ 305 | 速率、頻寬 | bit/s | 網路 單位時間內 傳送的 資料量, 1bit=0/1 | 306 +-------------+---------+--------------------------------------------+ 307 | 時延 | s | 結點處理時延dc+排隊時延dq+傳送時延dt+傳播時延dp| 308 +-------------+---------+--------------------------------------------+ 309 | 時延頻寬積 | bit | G=傳播時延dp×鏈路頻寬R =s•bit/s=bit; | 310 +-------------+---------+--------------------------------------------+ 311 | 丟包率 | % |η=N1(丟包總數)/NS(傳送總數)=Ns-Nr(接收總數)/Ns| 312 +-------------+---------+--------------------------------------------+ 313 | 吞吐量 |bit/s,B/s| Thr(最大吞吐量)=min(R1,R2,Ri,R(N-1),RN)| 314 +-------------+---------+--------------------------------------------+ 315 316 例題: 317 設主機A和主機B由一條寬頻為R=10^8bit/s,長度為D=100m的鏈路互連,訊號傳播率 318 為V=250000Km/s如果主機A從t=0時開始向主機B傳送長度為L=1024bit的分組,試求: 319 1>主機A和主機B間的鏈路傳輸延時dt; 320 dt=L/R=1024/10^8=1.204×10^-5 s 321 2>主機A傳送該分組的傳播延遲dp; 322 dp=D/V=100/(25×10^7)=4×10^-7 s 323 3>該分組從主機A到主機B的延時T; 324 1.204×10^-5+4×10^-7=(1.024+0.0410^-5=1.064×10^-5 325 4>t=dt時,分組的第一位在何處; 326 分組的第一位已經到達主機B,因為dt>dp 0.124>0.04; 327 5>主機A與主機B間鏈路時延頻寬積G; 328 G=dp×R=4×10^-7×10^8=40bit; 329 330 例2: 331 如圖所示的網路中,A在 t=0 時刻開始向C傳送一個 4Mbit 的檔案; 332 B在t=(0.1+e)s(e無限趨近0的小正實數)時刻向D傳送一個2Mbit檔案; 333 忽略傳播延遲和結點處理延遲(注:M=10^6);如果採用報文交換方式, 334 則A將檔案交付給C需要大約多長時間? B將檔案交付給D需要大約多長時間; 335 //延遲時間=dt(L/R)+dp(D/V) 336 dt(AC)=4Mbit/20Mbps=0.2s; dp(AC)= 337 338 20Mbps▊→ 20Mbps▊→ 339 A----------┐ 40Mbps ┌----------C 340 ¤-------------¤ 341 B----------┘ └----------D 342 20Mbps▊→ 20Mbps▊→ 343 344 5.計算機網路體系結構 345 1>計算機網路體系結構定義 346 計算機網路所劃分的 層次 以及 各層協議 的集合就稱為計算機 網路體系結構; 347 348 2>OSI參考模型(七層) 349 開發系統互連(Open System Interconnection, OSI)參考模型: 國際標準化組織; 350 採用分層結構化技術,採用三級抽象,即體系結構,服務定義,協議規格說明,將整個通訊 351 功能分為7層,資料 由上到下 層層封裝; 352 (傳送端) 353 應用層 :為使用者提供一個使用網路應用的 "介面"; HTTP/HTTPS FTP SMTP 354 ↕ (通訊軟體) 355 表示層 :用於處理應用實體間交換資料的語法,解決格式和資料表示的差別,不獨立存在; 356 ↕ (翻譯) 文字壓/解壓縮,資料加/解密,字元編碼的轉換; 357 會話層 :通過兩臺計算機建立、管理、終止通訊來完成會話,不獨立存在; socket 358 ↕ (確認對方可通話) 359 傳輸層 :複用/分解、處理端到端的可靠資料傳輸,連線控制、流量控制、擁塞控制; 傳輸協議 TCP UDP 360 ↕ (控制速度,資料分組) 將通訊子網的技術、設計和欠缺與上層相隔離 361 網路層 :將分組通過交換網路傳送至目的主機(路徑選擇功能), 轉發和路由; 362 ↕ (加IP地址) 363 資料鏈路層:1.差錯控制,2.流量控制,3.鏈路管理(建立連線),4.定址; 364 ↕ (加MAC地址,Media Access Control Address 它用來確認網路裝置位置的位址,每個網絡卡都有一個MAC ) 365 物理層: 無結構位元流傳輸;規定資料終端裝置(DTE)與資料通訊裝置(DCE)之間介面的相關特性,(機械,電氣,功能、規程) 366 (光纖,雙絞線,電磁波) 傳送端 接收端 367 應用層<------ 協議 ------->應用層 ╮ 368 *1.資料在垂直的層次中 自上而下 地逐層傳遞至物理層; ↕ ↕ │ 369 表示層<------ 協議 ------->表示層 │ 370 *2.對等層不直接進行通訊,稱為虛擬通訊; ↕ ↕ >端到端層(埠) 371 會話層<------ 協議 ------->會話層 │ 虛擬通訊 372 *3.物理層的兩個端點進位制物理通訊,稱為實通訊; ↕ ↕ │ 資訊處理服務 373 傳輸層<------ 協議 ------->傳輸層 ╯ 374 *4.中間系統通常只實現物理層、資料鏈路層和網路層功能; ↕ ↕ ↕ 375 網路層<─協議─>網路層<─協議─>網路層 ╮ 376 物理層、資料鏈路層、網路層為 結點到結點層; ↕ ↕ ↕ | 377 資料鏈路層<協議>資料鏈路層<協議>資料鏈路層 >結點到結點層 378 傳輸層、會話層、表示層、應用層為 端到端層; ↕ ↕ ↕ |資料交換和傳輸 379 (端到端層的第一個層) 物理層<─協議─>物理<──協議──>層物理層 ╯---實通訊 380 ↑___傳輸介質__↑↑__傳輸介質___↑ 381 傳送方 中間系統 接收方 382 3>有關術語 383 *1.資料單元:在層的實體之間傳送的位元組, 384 對等層之間傳輸的資料單元:協議資料單元(PDU,Protocol Data Unit) 385 應用層<-->表示層<-->會話層<-->傳輸層<---->網路層<-->資料鏈路層<-->物理層 386 (報文) 資料段或報文段 分組或包 幀 位元流或位流 387 (報應) (數段) (絡分) (物流) 388 389 *2.服務訪問點(Service Access Point,SAP) 390 相鄰層的服務是通過其介面上的 服務訪問點 進行的,每個SAP都 391 有一個唯一的 地址號碼,N層SAP就是(N+1)層可以訪問N層的地方; 392 393 *3.服務原語 394 OSI參考模型中的每一層的真正功能是為其上一層服務的,第N層向(N+1)層 395 N-PDU可表示為N-PC加上N-SDU,提供服務都通過一組原語描述的,包括四類: 396 1)請求(Request): 使用者實體請求服務做某種工作; 397 2)指示(Indication): 使用者實體被告知某件事發生; 398 3)響應(Response): 使用者實體表示對某件事的響應; 399 4)證實(Confirm): 使用者實體收到關於它的請求的答覆; 400 401 4>TCP/IP參考模型 402 應用層(報文): 網路應用 www服務:HTTP 檔案傳輸:FTP 電子郵件:SMTP和POP3 403 404 傳輸層(段): 面向連線:提供可靠資料流傳輸的傳輸控制協議:TCP 405 ↕ 無連線:不提供可靠資料傳輸的使用者資料協議:UDP 406 407 網路互聯層(資料報):TCP/IP參考模型 核心 ,IP協議,ICMP(網際網路控制報文協議); 408 409 網路介面層(幀) :提供給網路互聯層一個訪問介面 410 411 *Internet組織在長期執行因特網的實踐中,提出了一個基於TCP/IP協議簇的 412 網路管理標準協議 SNMP ,並得到眾多支援,使之成為事實上的網路管理工業標準; 413 414 5>五層參考模型 415 描述計算機網路中 最常用、最接近實際網路 的參考模型; 416 應用層(報文)->傳輸層(段)->網路層(資料報)->鏈路層(幀)->物理層(位元流) 417 418 第二章 應用層 419 1.計算機網路應用體系結構(3種) 420 1>客戶/伺服器(C/S)結構網路應用;(Client/Server) 421 *1.C/S結構網路應用 是最典型、最基本的網路應用(例如:www應用;檔案傳輸;電子郵件;) 422 *2.特點: 423 #1.網路通訊雙方分為客戶程式 和 伺服器程式,客戶與客戶之間不進行直接通訊; 424 #2.伺服器程式 需 先執行起來, 做好接受通訊的準備; 425 #3.客戶程式後執行,主動與伺服器進行通訊; 426 427 2>純P2P結構網路應用; 428 P2P(Peer to Peer(對等端)) 429 通訊雙方沒有傳統意義上的客戶端伺服器之分,地位對等,通訊雙方都具備客戶端與伺服器的特徵; 430 P2P與傳統因特網C/S兩者在傳輸層及以下各層的協議結構是相同的,差別在 應用層; 431 P2P網路是一種在IP網路上構建的覆蓋網; 432 433 3>混合結構網路應用(選擇); 434 混合結構網路應用將C/S應用和P2P應用相結合; 435 436 437 2.網路應用通訊基本原理 438 1>網路應用的基本通訊過程 439 網路應用的基本通訊過程就是執行在不同主機上的 應用程序 間以C/S方式進行的通訊; 440 (微信)客戶端 應用層協議 伺服器端 (微信) 441 應用層----------------應用層 442 介面-------API-------介面 Application Programming Interface 443 傳輸層 傳輸層 (應用程式設計介面) 444 445 2>網路應用程式設計介面 446 典型的 網路應用程式設計介面 是套接字(Socket),對於一個傳輸層協議,需要 447 為其介面的每個套接字分配特定的編號,標識該套接字,該編號稱為 埠號; 448 449 3.域名系統(DNS,Domain Naming System) 450 1>域名系統 451 *1.作用(選擇題):將域名對映為IP地址,實現對映的過程,稱為域名解析; 452 域名解析 453 域名:www.baidu.com<----------->IP地址:115.239.211.122; 454 455 *2.域名解析的原理(選擇題) 456 為了實現域名解析,域名系統會建立 分散式 資料庫,儲存域名與IP地址的對映關係資料; 457 458 2>層次化域名空間 459 *1.域名的命名方式:層次樹狀結構命名方式,每個域名有不同級別的域名構成,各層域名間用 點 分割; 460 四級域名.三級域名.二級域名.頂級域名.根 例如 www.baidu.com (頂二三) 461 域名不區分大小寫; (三級域名.二級域名.頂級域名) 462 463 我國二級域名 劃分為類別域名 和 行政區域名 兩大類; 464 465 *2.頂級域名的分類 466 #1.國家頂級域名:cn,us,uk等; 467 #2.通用頂級域名:com(公司),org(非盈利組織),gov(政府),edu(教育), 468 net(網路組織),mil(軍事組織),int(國際組織)等 469 #3.基礎結構域名:只有一個,arpa(反向域名解析); 470 471 3>域名伺服器 472 *0.區:一個伺服器所負責管轄的範圍; 473 DNS伺服器:管轄範圍不以""為單位, 而以""為單位; 474 *1.作用:儲存著自己所管轄範圍內主機的域名到IP地址的對映 475 *2.分類:根據其主要儲存的域名資訊以及在域名解析過程的作用分為: 476 #1.根域名伺服器:根域名伺服器是最重要的伺服器(a-m),全球有13個,儲存所有頂級域名伺服器的域名和IP; 477 #2.頂級域名伺服器:負責管理在該頂級域名伺服器註冊的所有二級域名;.com結尾的IP 478 #3.權威域名伺服器:儲存該區中的 所有主機 的域名和IP地址的對映; 479 #4.中間域名伺服器:不是以上三種的域名伺服器; 480 #5.本地域名伺服器:主機在網路地址配置是都會配置的,用於儲存被查詢域名資訊; 481 是主機進行域名查詢時首先被查詢的域名伺服器。 482 本地域名伺服器->根域名伺服器->頂級域名伺服器->中間域名伺服器->權威域名伺服器; 483 484 4>域名解析過程(簡答題) 485 遞迴解析: 486 主機進行域名查詢時,本地域名伺服器沒有 被查詢域名資訊,則本地域名伺服器 代理主機 487 查詢根域名伺服器,根域名伺服器代理本地域名伺服器查詢下一個域名服務,依次類推, 488 直到得到被查詢域名的IP地址,最後將解析結果傳送給主機; 本地->根->頂級->權威 489 ↑---根<-頂級←-- 490 迭代解析: 491 主機進行域名查詢時,本地域名伺服器沒有查詢域名資訊,則先求助根域名伺服器, 492 根域名伺服器只是將下一步要查詢的伺服器告知查詢主機的本地域名伺服器,本地 493 域名伺服器繼續查詢下一個域名伺服器,直到查詢到被查詢的域名的IP地址; 494 本地->根 本地->頂級 本地->權威 495 496 4.全球資訊網應用 497 1>全球資訊網應用結構 498 *1.全球資訊網應用主要包括 瀏覽器、web伺服器、HTTP協議; 499 #1.瀏覽器:Web應用的客戶代理; 500 #2.web伺服器:儲存管理供使用者請求瀏覽的Web頁面(Web文件) 501 #3.超文字傳輸協議(HTTP):客戶和伺服器間交換基於應用層的協議HTTP; 502 503 *2.URL:統一資源定位符(Uniform Resource Locator) 504 URL作用:URL是HTTP標識被操作資源的方法; 505 URL地址主要兩個部分組成:存放物件的 主機域名(或IP地址) 和 物件的路徑名; 506 例:http://www.abc.edu.cn/cs/index.html //物件:網頁上的圖片、文字、視訊等資源 507 伺服器主機域名(IP地址)/物件的路徑名 508 509 URL的定址方式確保全球資訊網上的每個Web頁面或物件都有一個唯一的識別符號; 510 511 *3.使用者通常利用客戶端軟體來使用某個網路應用,例如,瀏覽器,郵件收發軟體等 512 這個軟體被稱為 使用者代理(user agent); 513 514 2>HTTP(HyperText Transfer Protocol,HTTP) (綜合題) 515 *1.HTTP(超文字傳輸協議)概述 516 Web應用的應用層協議,定義瀏覽器如何向Web伺服器傳送請求,以及Web伺服器 517 如何向瀏覽器進行響應,目前主要使用HTTP/1.0和HTTP1.1,以HTTP/1.1為主流; 518 519 *2.HTTP連線 520 1)瀏覽器在向伺服器傳送請求之前,首先需要 建立TCP連線, 521 然後才 傳送 HTTP請求報文, 接收 HTTP響應報文; 522 RTT: 523 HTTP客戶程序向伺服器請求建立連線,從客戶傳送連線請求,到收到伺服器連線確認, 524 用時一個往返時間(Round Trip Time, RTT),RTT作為一個 時間單位 來使用 525 客戶端--------------->伺服器 526 ↖-------------- 527 528 2)使用TCP策略不同分為: 529 #1.非持久連線的HTTP; 530 指客戶與伺服器建立TCP連線後,通過該連線傳送HTTP請求報文,接收HTTP響應報文,然後斷開連線; 531 532 $1.一條連線(8個RTT) 533 非持久連線HTTP的響應時間: 以請求瀏覽一個引用為例 總共8個RTT時間, 請求每個物件時,都要新建TCP連線; 534 535 $2.多條連線(4個RTT) 536 優化:典型的優化技術:並行連線和持久連線; 537 並行連線:通過建立多條並行TCP連線,並行傳送HTTP請求和並行接收HTTP響應;(4個RTT, RTT是往返時間) 538 並行連線會增加客戶端主機的資源開銷,如記憶體開銷,故系統通常同時建立的並行TCP連線數是有限制的; 539 540 #2.持久連線的HTTP; 541 $1.非流水(管道)方式的持久連線: 542 客戶端收通過持久連線到響應報文後,不斷開TCP連線,繼續請求接下來的文件; 543 544 $2.流水(管道)方式持久連線(HTTP1.1): 545 客戶端在通過持久連線收到前一個響應報文後,不斷開連線,繼續並行請求所需文件; 546 547 ① HTTP/1.0 預設是非持久連線; 548 ② HTTP/1.1 預設使用流水方式持久連線,HTTP/1.1持久連線預設是啟用的; 半雙工 549 ③ HTTP/1.1代理伺服器 不應該與 HTTP/1.0客戶端 建立持久連線; 550 551 例題 552 設某網頁的URL為“http://www.abc.com/index.html”,且該URL對應的IP地址在你的計算機上沒有快取 553 (hosts中沒有),檔案index.html引用了 8個小影象,在域名解析的過程中,無等待的一次DNS解析請求與 554 響應時間記為RTTd,HTTP請求傳輸Web物件過程的一次往返時間記為RTTh。試給出: 555 1.該URL中的域名。 域名:www.abc.com ; 556 557 2.瀏覽器解析到該URL對應的IP地址的最短時間和最長時間。 558 最短時間1個RTTd (本地), 最長4個RTTd (本地+根+頂級+權威); 559 560 3.若瀏覽器沒有配置並行TCP連線,則基於HTTP1.0獲取該Web頁的完整內容(包括引用的影象) 561 所需要的時間(不包括域名解析時間): 562 /** 563 * 解題思路:畫圖 564 * 連線TCP:1RTTh, 565 * 請求空網頁:1RTTh 獲取8張圖片的URL; 566 * (建立TCP 1RTTh+請求圖1RTTh) *8=16RTTh 567 */ 568 1+1+16=18RTTh; 569 570 4.若瀏覽器配置5個並行TCP連線,則基於HTTP1.0獲取該Web頁的完整內容(包括引用的影象) 571 需要的時間(不包括域名解析時間): 572 /** 573 * 並行5個 574 * 建立TCP連線 1RTTh, 575 * 請求web空頁面1RTTh, 獲取8張圖片的URL; 576 * 建立5條TCP連線:1RTTh 577 * 請求圖片1,2,3,4,5:1RTTh 578 * 建立3條TCP連線 :1RTTh 579 * 請求 6,7,8:1RTTh 580 */ 581 6RTTh; 582 583 5.若瀏覽器沒有配置並行TCP連線,分別計算基於非流水方式的HTTP1.1獲取該Web頁完整內容需要的時間 584 以及基於流水方式的HTTP1.1獲取該Web頁的完整內容(包括引用的影象)需要的時間(不包括域名解析時間) 585 /** /** 586 * 建立TCP連線 1RTTh, * 建立TCP連線 1RTTh, 587 * 請求web空頁面1RTTh, 獲取8張圖片的URL; * 請求web空頁面1RTTh, 獲取8張圖片的URL; 588 * 請求8張圖片 8RTTh, * 請求8張圖片 1RTTh, 589 */ */ 590 非流水方式=10RTTh; 流水方式=3RTTh; 591 592 3)HTTP報文(選擇,填空) 593 *1.報文結構: 594 +-------+----------------------------+----------------------------------+ 595 |報文結構| 請求報文 | 響應報文 | 596 +-------+----------------------------+----------------------------------+ 597 | 起始行 | 請求行:<方法><URL><協議版本> | 狀態行:<協議版本><狀態碼><原因短語>| 598 +-------+----------------------------+----------------------------------+ 599 | 首部行 | 攜帶附加資訊 | 攜帶附加資訊 | 600 +-------+----------------------------+----------------------------------+ 601 | 空白行 | CR回車 LF換行(必須有) | CRLF(回車換行) | 602 +-------+----------------------------+----------------------------------+ 603 |報文主體| 實際要請求的內容 | 實際要響應的內容 | 604 +-------+----------------------------+----------------------------------+ 605 *請求報文和響應報文最大的不同在於起始行,起始行在請求報文中為請求行,在響應報文中為狀態行; 606 607 *2.請求方法: 608 +------+----------------------------------------+ 609 | GET |請求讀取由URL所標識的資訊, 是 最常見 的方法;| 610 +------+----------------------------------------+ 611 | HEAD |請求讀取由URL所標識的資訊的首部; | 612 +------+----------------------------------------+ 613 | POST |給伺服器新增資訊; | 614 +------+----------------------------------------+ 615 |OPTION|請求一些選項的資訊; | 616 +------+----------------------------------------+ 617 | PUT |在指明的URL下儲存一個文件; | 618 +------+----------------------------------------+ 619 620 *3.狀態碼:2位十進位制數,利用第一位十進位制數字區分5類狀態碼; 621 +---------+---------+-------------+---------------------------------+ 622 |狀態碼類別| 取值範圍 | 作用 | 說明 | 623 +---------+---------+-------------+---------------------------------+ 624 | 1×× | 100~199 | 資訊提示 | 通告請求已接收,可能還需要進一步互動| 625 +---------+---------+-------------+---------------------------------+ 626 | 2×× | 200~299 | 成功 | 成功完成客戶請求操作,並進行響應 | 627 +---------+---------+-------------+---------------------------------+ 628 | 3×× | 300~399 | 重定向 | 表示資源已移走,需要向新URL傳送請求 | 629 +---------+---------+-------------+---------------------------------+ 630 | 4×× | 400~499 | 客戶端錯誤 | 由於客戶端錯誤無法成功響應 | 631 +---------+---------+-------------+---------------------------------+ 632 | 5×× | 500~599 | 伺服器錯誤 | 由於伺服器錯誤,無法成功響應 | 633 +---------+---------+-------------+---------------------------------+ 634 635 常見狀態碼 636 +-----+------------------------------+---------------------------------+ 637 |狀態碼| 短語 | 說明 | 638 +-----+------------------------------+---------------------------------+ 639 | 100 | Continue |已成功收到請求的初始部分,請客戶端繼續| 640 +-----+------------------------------+---------------------------------+ 641 | 200 | OK | 成功,所請求資訊在響應報文中 | 642 +-----+------------------------------+---------------------------------+ 643 | 301 | Moved Permanently | 重定向 | 644 +-----+------------------------------+---------------------------------+ 645 | 400 | Bad Request | 客戶端請求錯誤 | 646 +-----+------------------------------+---------------------------------+ 647 | 401 | Unauthorized | 未授權,需要輸入使用者名稱和密碼 | 648 +-----+------------------------------+---------------------------------+ 649 | 404 | Not Found | 客戶端請求的物件,在伺服器上不存在 | 650 +-----+------------------------------+---------------------------------+ 651 | 451 | Unsupported Media Type | 不支援的媒體型別 | 652 +-----+------------------------------+---------------------------------+ 653 | 505 | HTTP Version Not Supported | 請求使用的HTTP版本,伺服器不支援 | 654 +-----+------------------------------+---------------------------------+ 655 656 3>cookie(選擇,填空) 657 *1.HTTP伺服器不儲存客戶的任何資訊,被稱為無狀態協議; 658 *2.為了記錄儲存客戶資訊,引入Cookie機制,用於使用者跟蹤; 659 *3.Cookie(小型文字檔案): 660 網站為了辨別使用者身份,進行會話跟蹤而存在 使用者本地終端 上的資料; 661 662 *4.Cookie技術包括4部分內容(簡答) 663 1)HTTP 響應報文 中的Cookie頭行: Set-Cookie 使用者的Cookie ID,使用者偏好等; 664 2)使用者瀏覽器在本地 儲存、維護、和管理的Cookie檔案; 665 3)HTTP請求報文中的Cookie頭行:使用者已訪問過的網站再次訪問是,瀏覽器會檢索本地Cookie檔案; 666 4)網站在後臺數據中儲存、維護Cookie資訊:分配使用者ID、每個ID使用者在本網站的訪問特徵等; 667 668 *5.Cookie的常見用途 669 1)網站可以利用Cookie的ID來準確統計網站的實際訪問人數,新訪問者和重複訪問者的人數對比及訪問頻率; 670 2)網站可以利用Cookie限制某些特定使用者的訪問; 671 3)網站可以儲存使用者訪問過程中的操作習慣和偏好; 672 4)記錄使用者登入網站使用的使用者名稱、密碼等資訊; 673 5)電子商務網站利用Cookie可以實現"購物車"功能; 674 675 676 5.Internet電子郵件 677 1>郵件系統結構(選擇填空) 678 *1.郵件伺服器(電子郵件體系結構的核心) 679 負責傳送和接收郵件,向發信人報告信件傳送情況(已交付,被拒絕,丟失),使用者註冊,分配儲存空間 680 xuezhihui @ 163.com 681 使用者郵箱名 在 郵箱伺服器域名 682 683 *2.使用者代理(電子郵件應用的客戶端軟體) 684 Outlook,Apple Mail, Fox Mail等支援使用者撰寫、顯示、處理 和 685 收發郵件,為使用者閱讀,回覆,轉發,儲存和撰寫郵件提供編輯與操作環境; 686 687 *3.簡單郵件傳輸協議(SMTP) 688 是核心應用層協議,實現郵件伺服器之間或使用者代理到郵件伺服器間的 郵件傳輸; 689 690 *4.郵件讀取協議(POP3,IMAP,HTTP) 691 第三版郵局協議 Post Office Protocol - Version 3 POP3 692 網際網路郵件訪問協議 Internet Message Access Protocol IMAP 693 Web郵件系統的郵件讀取協議 HyperText Transfer Protocol HTTP 694 695 2>SMTP 簡單郵件傳輸協議 (Simple Mail Transfer Protocol) 696 *1.通過3個階段的應用層互動完成郵件傳輸: 697 1)握手階段 698 2)郵件傳輸階段 699 3)關閉階段 700 701 *2.定義了14條命令,每條命令用4個字母組成; 702 例如: HELO:標識發件人身份; DATA:通知伺服器準備開始傳送郵件內容, QUIT:命令退出; 703 704 *3.SMTP定義了21種應答資訊,一般只一行,由3位數字的程式碼開始,後面附上(可無)簡單的文字說明; 705 例如:220 mail.abc.com SMTP伺服器埠號 25; 706 707 *4.SMTP的特點 708 1)SMTP只能傳送 7位 ASCII碼文字內容,(包括SMTP命令,應答訊息,以及郵件內容); 709 2)SMTP傳送的郵件內容中不能包含 "CRLF.CRLF", (因為該資訊用於標識郵件內容的結束); 710 3)SMTP是 "推動" 協議(HTTP是"拉動"協議); 711 4)SMTP使用 TCP連線 是持久的; 712 713 714 3>電子郵件格式與MIME 715 *1.一封郵件的格式結構 716 首部 空白 行主體 717 718 *2.郵件中常見的首部行內容: 719 To 後面收件人的電子郵件地址 (必填) 720 Subject 郵件的主題 ╮ 721 Cc 表示應給傳送一個郵件副本 | 722 From 表示發信人的電子郵件地址 >可選 723 Date 發信日期 | 724 Reply-To 對方回信所用的地址 ╯ 725 726 *3.MIME 網際網路郵件擴充套件(Multipurpose Internet Mail Extensions) 727 0)用於傳輸非7位ASCII碼文字內容時; 728 1)有5個 MIME郵件 首部欄位; 729 MIME-Version(MIME版本), Content-Description(郵件概述),Content-Id(郵件唯一標識) 730 Content-Transfer-Encoding(編碼方式) Content-Type(主體內容型別和格式) 731 2)定義了 多種郵件內容的格式, 對多媒體電子郵件的表示方法進行了標準化; 732 3)定義了郵件傳送編碼,可對 任何內容格式進行轉換 ,從而適用於通過SMTP進行傳送; 733 734 4>郵件讀取協議 735 *1.POP3 第三版郵局協議(Post Office Protocol - Version 3) 736 1)授權階段(使用者名稱和密碼) 737 2)事務處理階段(list,retr,dele) 738 3)更新階段(quit) 739 740 user xxxx:用於向伺服器傳送使用者名稱 741 pass xxxx:用於向伺服器傳送使用者密碼 742 list:用於請求所有的郵件序號和郵件長度 743 retr郵件號:用於請求伺服器傳送第幾封郵件 744 dele郵件號:用於將郵件標記為刪除 745 quit: 結束會話,並更新操作 746 747 *2.IMAP 網際網路郵件訪問協議(Internet Message Access Protocol) 748 IMAP 伺服器將每個郵件與一個資料夾進行關聯, 749 通過 IMAP 收件人可以對郵件進行移動、查詢、閱讀、刪除等操作。 750 IMAP 允許使用者代理只讀郵件的部分內容; 751 752 IMAP與POP3的區別: 753 對郵件的操作是否會反映在伺服器上 IMAP(會) POP3(不會) 754 755 *3.HTTP:Web郵件系統的郵件讀取協議 756 757 758 6.FTP 檔案傳輸協議(File Transfer Protocol,FTP) 759 *1.在網際網路的兩個主機間實現檔案互傳的網路應用,其應用層協議稱為FTP; 760 761 *2.程序兩大組成部分: 762 #1.主程序:負責接受新的客戶請求; 763 #2.從屬程序: 負責處理單個客戶請求,與具體客戶進行互動; 764 應用結構 765 FTP <───控制連線(持久,埠號21)───> FTP 766 客戶端<---資料連線(臨時,埠號20)--->伺服器 767 ↕ ↕ 768 檔案系統 檔案系統 769 770 *3.FTP控制資訊的傳送方式為 帶外控制; 771 #0.由於FTP專門使用一個獨立的控制連線傳輸控制資訊,與傳輸檔案資訊進行分離,故將其傳送方式稱為 "帶外控制"; 772 #1.控制連線:客戶和伺服器之間傳輸控制資訊。如使用者標識、口令、改變遠端目錄,上傳下載檔案命令等。 773 #2.資料連線:實際傳送檔案內容。 *.控制連線伺服器埠號為21; 資料連線伺服器埠號為20; 774 775 帶內控制協議: 命令、資料通過一個TCP連線傳輸的應用層協議,例如HTTP; 776 帶外控制協議: 專門使用一個獨立的控制連線傳輸控制資訊,與傳輸檔案資訊進行分離,例如FTP; 777 778 *4.FTP是 有狀態 的協議, FTP的命令是 可讀的 779 例如:List(檔案列表), RETR下載/STOR上傳 filename ,USER usename, PASS password, 780 781 *5.不需要專門的使用者名稱和口令就可以登入的FTP伺服器稱為 匿名 伺服器; 782 783 7.P2P應用 784 *1.P2P:Peer to Peer P2P應用:BitTorrent、PPLive 和 PPstream等; 785 786 *2.P2P應用特點(選擇,填空) 787 #1.應用的對等方是使用者的計算機; 788 #2.很強的應用規模伸縮性; 789 #3.應用都是動態地在對等方之間進行; 790 #4.應用充分聚集利用了端系統的計算能力以及網路傳輸頻寬; 791 792 8.Socket程式設計基礎 793 套接字(Socket): 典型的網路應用程式設計介面 794 埠號(Port number):標識套接字; 795 796 *1.常見的伺服器埠號(選擇,填空) 797 20,21 FTP檔案傳輸協議埠號 控制埠號21,資料埠號20; 798 23 Telnet遠端終端協議的埠號; 799 25 SMTP簡單郵件傳輸協議埠號; 800 53 DNS域名伺服器埠號; 801 69 TFTP簡單檔案傳送協議埠號; 802 80 HTTP超文字傳輸協議埠號; 803 110 POP3第三版的郵局協議埠號; 804 161,162 SNMP簡單網路管理協議的埠號; 805 520 RIP路由資訊協議的埠號; 806 807 *2.Socket API函式 808 1) 建立套接字: socket(); 809 引數: 流式套接字: SOCK_STREAM;面向傳輸層: TCP介面; 810 資料報套接字:SOCK_DGRAM; 面向傳輸層: UDP介面; 811 原始套接字: SOCK_RAW; 面向網路層: 如IP,ICMP等介面; 812 2) 繫結套接字的本機地址和埠號: bind(); 813 3) 設定監聽: listen(); 814 4) 建立連線: TCP客戶端: connect(); TCP服務端: accept(); 815 5) 傳送資料: TCP: send(); UDP: sendto 816 6) 接收資料: TCP: recv(); UDP: recvfrom; 817 7) 關閉套接字: close(); 818 819 *3.UDP及TCP的Socket 820 #1.UDP Socket: 821 UDP客戶端 UDP服務端 822 1) 建立套接字 socket() 1)建立套接字 socket() 823 2) 傳送資料 sendto 2)繫結地址和埠號 bind() 824 3) 接收資料 recvfrom 3)接收資料 recvfrom 825 4) 關閉套接字 close() 4)傳送資料 sendto 826 5)關閉套接字 close() 827 828 #2.TCP Socket: 829 TCP客戶端 TCP服務端 830 1) 建立套接字 socket() 1)建立套接字 socket() 831 2) 建立連線 connect() 2)繫結地址和埠號 bind() 832 3) 傳送資料 send() 3)設定監聽 listen(); 833 4) 接收資料 recv() 4)建立連線 accept() 834 5) 關閉套接字 close() 5)接收資料 recv() 835 6)傳送資料 send() 836 7)關閉套接字close() 837 WebSocket 838 特點 839 1.伺服器可以主動向客戶端推送訊息,客戶端也可以主動向伺服器傳送資訊,是真正的雙向平等對話; 840 實現原理:客戶端向WebSocket伺服器通知(notify)一個帶有所有接收者ID(recipient IDs)的 841 事件(event),伺服器接收後立即通知所有活躍的(active)客戶端,只有ID在接收者ID序列中的 842 客戶端才會處理這個事件,WebSocket本身是基於TCP協議的; 843 844 2.WebSocket與Http區別 845 Http WebSocket 846 Client Server Client Server 847 | Request | | Handshake | 握手 848 |------------>| |----------------->| 849 | Response | | Acknowledgement | 確認 850 |<------------| |<-----------------| 851 | | |<---------------->| 852 | Request | |Bi-directional msg| 雙向通訊(雙全工模式) 853 |------------>| |<---------------->| 854 | Response | | Connection end | 連線結束 855 |<------------| |<---------------->| 856 ↓ ↓ ↓ ↓ 857 Connection lifecycle Connection lifecycle 連線生命週期 858 859 *1.WebSocket 是一個持久化協議,相對HTTP這種非持久的協議來說,Http的生命週期是 860 通過Request來界定的,也就是一個Request,迴應一個Response,Http請求結束(HTTP1.0); 861 862 *2.在HTTP1.1中有了改進,增加了一個keep-alive,也就是說,在一個HTTP連線中,可以傳送 863 多個Request,接收多個Response,但請記住 Request=Response,也就是說,一個Request 864 只能有一個Response,而且這個Response也是被動的,不能主動發起; 865 866 首先我們來看個典型的 WebSocket 握手: 867 Client: 發起請求 868 ------------------------------------------------------------------------------------------------- 869 GET /chat HTTP/1.1 //請求方式 870 Host: server.classOuter.com //主機 871 Connection: Upgrade //表示要升級協議 872 Upgrade: websocket //表示要升級到WebSocket協議 873 Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== //與服務端響應首部的sec-WebSocket-Accept配套,來驗證伺服器; 874 Sec-WebSocket-Protocol: chat, superchat //是一個使用者定義的字串,區分同URL下,不同的服務所需要的協議。 875 Sec-WebSocket-Version: 13 //所使用的 WebSocket Draft (協議版本) 876 Origin: http://classOuter.com 877 ------------------------------------------------------------------------------------------------- 878 879 Server: 接受到請求,成功建立WebSocket 880 ------------------------------------------------------------------------------------------------- 881 HTTP/1.1 101 Switching Protocols //狀態碼101表示已經切換為WebSocket協議,後續的資料互動都按照新的協議來; 882 Upgrade: websocket 883 Connection: Upgrade 884 Sec-WebSocket-Protocol: chat 885 Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk= //根據客戶端的set-WebSocket-key,先SHA1算出摘要, 886 //toBase64( sha1(Sec-WebSocket-Key + 258EAFA5-E914-47DA-95CA-C5AB0DC85B11) ), 再轉成base64字串 887 ------------------------------------------------------------------------------------------------- 888 889 3.WebSocket的特點 890 *1.建立在TCP協議之上,伺服器端實現比較容易; 891 *2.與HTTP協議有著良好的相容性,預設埠也是80和443,並且握手階段 892 採用HTTP協議,因此握手時不容易遮蔽,能通過各種HTTP代理伺服器; 893 *3.資料格式比較輕量,效能開銷小,通訊高效; 894 *4.可以傳送文字,也可以傳送二進位制資料; 895 *5.沒有同源限制,客戶端可以與任意伺服器通訊; 896 *6.協議識別符號是ws(如果加密.則為wss),伺服器網址就是URL; 897 898 4.資料幀 899 WebSocket客戶端,服務端通訊的最小單位是幀(frame),由一個或多個幀組成一條完整的訊息(message); 900 *1.傳送端: 將訊息切割成多個幀,併發送給服務端; 901 *2.接收端: 接收訊息幀,並將關聯的幀重新組裝成完整的訊息; 902 903 5.連線保持+心跳 904 WebSocket為了保持客戶端,服務端的實時雙向通訊,需要確保客戶端,服務端之間的TCP保持連線沒有斷開, 905 然而,對於長時間沒有資料往來的連線,如果依舊長時間保持著,可能會浪費寶貴的連線資源,這個時候可以 906 採用心跳來實現; 907 *1.傳送方-->接收方: ping 908 *2.接收方-->傳送方: pong 909 910 ping、pong的操作,對應的是WebSocket的兩個控制幀,opcode分別是0x9,0xA; 911 912 6.關閉連線 913 一旦傳送或接收到Close控制幀,這就是說,_WebSocket 關閉階段握手已啟動,且 WebSocket 連線處於 CLOSING 狀態。 914 當底層TCP連線已關閉,這就是說 WebSocket連線已關閉 且 WebSocket 連線處於 CLOSED 狀態。 915 如果 TCP 連線在 WebSocket 關閉階段已經完成後被關閉,WebSocket連線被說成已經 完全地 關閉了。 916 917 7.關閉連線的原因狀態碼 918 919 狀態碼 名稱 描述 920 0999 保留段, 未使用. 921 1000 CLOSE_NORMAL 正常關閉; 無論為何目的而建立, 該連結都已成功完成任務. 922 1001 CLOSE_GOING_AWAY 終端離開, 可能因為服務端錯誤, 也可能因為瀏覽器正從開啟連線的頁面跳轉離開. 923 1002 CLOSE_PROTOCOL_ERROR 由於協議錯誤而中斷連線. 924 1003 CLOSE_UNSUPPORTED 由於接收到不允許的資料型別而斷連(如僅接收文字資料的終端接收到了二進位制資料). 925 1004 保留. 其意義可能會在未來定義. 926 1005 CLOSE_NO_STATUS 保留. 表示沒有收到預期的狀態碼. 927 1006 CLOSE_ABNORMAL 保留. 用於期望收到狀態碼時連線非正常關閉 (也就是說, 沒有傳送關閉幀). 928 1007 Unsupported Data 由於收到了格式不符的資料而斷開連線 (如文字訊息中包含了非 UTF-8 資料). 929 1008 Policy Violation 由於收到不符合約定的資料而斷連.這是通用狀態碼,用於不適用1003和1009碼的場景. 930 1009 CLOSE_TOO_LARGE 由於收到過大的資料幀而斷開連線. 931 1010 Missing Extension 客戶端期望伺服器商定一個或多個拓展, 但伺服器沒有處理, 因此客戶端斷開連線. 932 1011 Internal Error 客戶端由於遇到沒有預料的情況阻止其完成請求, 因此服務端斷開連線. 933 1012 Service Restart 伺服器由於重啟而斷開連線. 934 1013 Try Again Later 伺服器由於臨時原因斷開連線, 如伺服器過載因此斷開一部分客戶端連線. 935 1014 由 WebSocket 標準保留以便未來使用. 936 1015 TLS Handshake 保留. 表示連線由於無法完成 TLS 握手而關閉 (例如無法驗證伺服器證書). 937 10161999 由 WebSocket 標準保留以便未來使用. 938 20002999 由 WebSocket 拓展保留使用. 939 30003999 可以由庫或框架使用.不應由應用使用. 可以在 IANA 註冊, 先到先得. 940 40004999 可以由應用使用. 941 942 8.ajax輪詢 與 long poll 943 1>ajax輪詢 944 原理:讓客戶端隔個幾秒就傳送一次請求,詢問伺服器是否有新資訊。 945 946 2>long poll 947 原理:採取的是阻塞模型(一直打電話,沒收到就不掛電話),也就是說,客戶端發起連線後,如果沒訊息, 948 就一直不返回Response給客戶端。直到有訊息才返回,返回完之後,客戶端再次建立連線,周而復始。 949 950 3>實現支援 951 ajax輪詢 需要伺服器有很快的處理速度和資源。(速度) 952 long poll 需要有很高的併發,也就是說同時接待客戶的能力。(場地大小) 953 954 4>WebSocket使用回撥,即:你有資訊了再來通知我,而不是我傻乎乎的每次跑來問你 955 956 第三章 傳輸層 957 (一) 傳輸層的基本服務 958 1.傳輸層功能 959 1>傳輸層的核心任務: 應用程序之間提供 端到端的 邏輯通訊服務; 960 只有主機(協議棧)才有傳輸層; (埠號到埠號) 961 網路核心中的路由器、交換機、集線器等只用到下三層的功能;(網路層,資料鏈路層,物理層) 962 從傳輸層的角度看,端到端的通訊是 應用程序 之間的通訊; 963 964 2>傳輸層功能 965 *1.對應用層報文進行 分段 和 重組; 966 *2.面向應用層實現 複用 與 分解; 967 *3.實現端到端的流量控制; 968 *4.擁塞控制 969 *5.傳輸層定址 970 *6.對報文進行差錯檢測 crc 971 *7.實現程序間的 端到端 可靠 資料傳輸控制; 972 973 助記:吩咐劉墉尋差錯-可靠 974 分複流擁尋差錯 -可靠傳輸 975 976 2.傳輸層定址與埠 977 1>一臺計算機中,不同應用程序用 程序識別符號(程序ID,PID) 來區分; 978 979 2>TCP/IP體系結構網路的解決方法: 980 在傳輸層使用協議埠號,通常簡稱為 埠(port), 981 在全網範圍內利用 "IP地址+埠號" 唯一標識一個通訊端點; 982 應用層和傳輸層間抽象的協議埠是 軟體埠; 983 984 3>傳輸層埠號: 985 *0.傳輸層埠號為16位整數,可編號65536個(2的16次方) 986 *1.伺服器端使用的埠號: 熟知埠號 和 登記埠號; 987 例如 FTP伺服器預設埠號 為 21; 988 HTTP伺服器預設埠號 為 80 989 990 *3.客戶端使用的埠號:臨時性,在客戶程序執行時 991 由作業系統隨機選取唯一的未被使用的埠; 992 993 埠號小於256的埠為 常用埠; 994 0——1023: 熟知埠號 \ 995 伺服器端 996 1024——49151: 登記埠號 / 997 998 49152——65535:客戶埠號,或短暫埠號(*3) 999 1000 3.無連線服務與面向連線服務(***** 簡答題) 1001 +----------------------------------+------------------------------------------+ 1002 | 無連線服務(UDP) | 面向連線服務(TCP) | 1003 +----------------------------------+------------------------------------------+ 1004 |資料傳輸前:無需與對端進行任何資訊交換| 資料傳輸前:需要雙方交換一些控制資訊,建立邏輯 | 1005 |直接構造傳輸層報文段,並向接收端傳送; | 連線,然後再傳輸資料,傳輸結束後還需要拆除連線;| 1006 +----------------------------------+------------------------------------------+ 1007 | 型別於信件通訊; | 類似於電話通訊 | 1008 +----------------------------------+------------------------------------------+ 1009 1010 (二)傳輸層的複用與分解(用) 1011 1.複用與分解 1012 1>多路複用: 1013 在源主機,傳輸層協議從不同的套接字收集應用程序傳送的資料塊, 1014 併為每個資料塊封裝上首部資訊(包括用於分解的資訊)構成報文段, 1015 然後將報文段傳遞給網路層; 1016 1017 2>多路分解 1018 在目的主機,傳輸層協議讀取報文段中的欄位,標識出接收套接字, 1019 進而通過該套接字,將傳輸層的報文段中的資料交付給正確的套接字; 1020 1021 3>作用 1022 傳輸層的多路複用與多路分解(分用)可 支援眾多 應用程序共用 1023 同一個傳輸層協議, 並能將接收的資料準確交付給不同應用程序, 1024 1025 2.UDP(使用者資料報協議 User Datagram Protocol) 1026 Internet提供 無連線服務的傳輸層協議; 1027 UDP將應用層的資料塊封裝成一個UDP報文段,包括應用資料,源埠號,目的埠號; 1028 UDP套接字二元組:<目的IP地址, 目的埠號> 1029 1030 UDP套接字分配埠號的兩種方法: 1031 1)自動為該套接字分配一個未被使用的埠號(通常從1024~65535中選一個分配); 1032 2)通過呼叫函式bind(),為該套接字繫結一個特定埠號; 1033 1034 3.TCP(傳輸控制協議 Transfer Control Protocol) 1035 Internet提供 面向連線服務的傳輸層協議; 1036 TCP套接字四元組:<源IP地址, 源埠號, 目的IP地址, 目的埠號> 1037 1038 4.傳輸層協議依據 IP地址 和 埠號 實現 多路分解 與 多路複用; 1039 1040 (三)停等協議與滑動視窗協議 1041 1.可靠資料傳輸基本原理 1042 1>不可靠傳輸通道在不可靠性表現: 1043 *1.位元差錯: 1001-1000 1044 *2.亂序: 資料塊 1,2,4,5,6,3, 1045 *3.資料丟失: 資料塊 1,2,5 1046 1047 2>基於不可靠通道實現可靠資料傳輸採取的措施 1048 *1.差錯檢測: 利用差錯編碼實現資料包傳輸過程中的位元差錯檢驗; 1049 *2.確認: 接收方向傳送方反饋接收狀態,ACK(肯定確認); NAK(否定確認) 1050 *3.重傳: 傳送方重新發送接收方沒有正確接收的資料; 1051 *4.序號: 確保資料按序提交;(對資料進行編號,即便不按編號到達,可以按編號提交) 1052 *5.計時器:解決 資料丟失 問題; 1053 1054 3>傳輸層實現可靠資料傳輸的理論協議有 等-停協議 和 滑動視窗協議; 1055 1056 2.停-等協議(自動重傳請求協議ARQ) 1057 *1.工作流程: 1058 ┌────────┐─────────①傳送資料,等待確認───────>┌────────┐ 1059 │ 傳送方 │<─────────②肯定確認/否定確認────────│ 接收方 │ 1060 └────────┘──────────③後續資料/重傳資料──────>└────────┘ 1061 1062 #1.傳送方傳送經過差錯編碼的報文段,等待接收方的確認; 1063 #2.接收方如果正確接收報文段,即差錯檢測無誤且序號正確, 1064 則接收報文段,並向傳送方傳送ACK,否則丟棄報文段,並向傳送方傳送NAK; 1065 #3.傳送方如果收到ACK,則繼續傳送後續報文段,否則重發剛剛傳送的報文段; 1066 1067 *2.特點:所需緩衝空間小,但通道利用率低 1068 1069 3.滑動視窗協議 1070 1>流水線協議(管道協議) 1071 允許傳送方在沒有收到確認前,連續傳送 多個 分組; 1072 最典型的流水線協議: 滑動視窗協議; 1073 1074 2>流水線協議實現可靠傳輸需要: 1075 *1.增加分組序號; 1076 *2.協議的傳送方和接收方可以快取多個分組 1077 1078 3>滑動視窗協議 1079 *1.分組連續編號; 1080 *2.以流水線方式依次傳送分組; 1081 *3.接收方接收分組,按分組序號向上有序提交; 1082 *4.通過確認,向傳送方通告正確接收的分組序號; 1083 確認只採用ACK,例如,正確接收分組01, 則返回ACK01; 1084 *5.傳送方根據收到的ACK的序號以及計時器,重發或繼續傳送新的分組; 1085 1086 滑動視窗協議的視窗大小與接收視窗大小之和 小於等於 分組序號空間大小; 1087 即:Ws+Wr≤2^k; 報文段的序號採用k位二進位制位串進行編號,其編號空間為:0~2^K-1,共2^k個編號; 1088 1089 4>滑動視窗協議工作流程圖 1090 傳送視窗 1091 傳送方 ① ② ③ ④ |5|6|7|8|9| 10 11 12 1092 已傳送 ↓ ↘ 1093 已用 下一個可用序號; 1094 1)傳送視窗Ws=5; 1095 2)1,2,3,4(傳送視窗左側)收到ACK; 1096 3)5,6,7,8,9(傳送視窗中)當前可以傳送的; 1097 4)10,11,12(傳送視窗右側)當前不可以傳送的; 1098 1099 接收視窗 1100 接收方 ① ② ③ ④ ⑤ ⑥ |7|8|9| 10 11 12 1101 1)1,2,3,4,5,6(接收視窗左側)正確接收,並提交給協議使用者的序號; 1102 2)7,8,9期望接收但未收到; 1103 3)10,11,12 暫時不能接收的; 1104 1105 注意事項: 1106 1)傳送方的傳送視窗(Ws):傳送方可傳送的 未被確認分組 的最大數量; 1107 2)接收方的接收視窗(Wr):接收方可快取的 正確到達的分組 的最大數量; 1108 3)傳送視窗內序號可能存在3種狀態: 1109 *1.已用 未被確認序號, 如:5,6,7; 1110 *2.已用且已被確認序號,如:8 1111 *3.可用但尚未使用的序號,如:9; 1112 1113 5>分類(根據接收視窗的大小) 1114 *1.GBN協議(GO-Back-N) 回退N步協議 1115 1)特點: 1116 #1.傳送方(Ws≥1)快取能力高,可以在沒有得到確認前連續傳送多個分組; 1117 1118 #2.接收方(Wr=1)快取能力很低,只接收1個按序到達的分組,不能快取 1119 未按序到達 的分組,未按序到達 的分組丟棄,並讓傳送方重傳; 1120 1121 例如:要收0~7序號分組, 現在收到 0,1,4,7號分組,只接收0,1,再重發2~7; 1122 1123 2)GBN傳送方響應的3類事件: 1124 #1.上層呼叫,請求傳送資料 1125 1126 #2.收到1個ACKn,GBN採用 累積確認 方式,即當傳送方收到ACKn時, 1127 表明接收方已正確接收 序號為n 以及 序號小於n的所有分組; 1128 1129 #3.計時器超時時,傳送方只使用一個計時器,且只對 1130 當前傳送視窗的"基序號"指向的分組進行計時; 1131 1132 1133 *2.SR協議(Selective Repeat) 選擇重傳協議: 1134 1)特點 1135 傳送方(Ws>1)快取能力高,可以在未接到確認前連續傳送多個分組; 1136 接收方(Wr>1)快取能力高,對每個正確接收的分組進行 逐個確認, 1137 讓傳送方僅重傳那些 未被確認接收 的分組; 1138 1139 2)SR傳送方響應事件: 1140 #1.上層呼叫,請求傳送資料 1141 #2.定時器超時,SR協議在傳送方對每個已傳送的分組進行計時; 1142 #3.接收確認: 收到ACKn,SR協議採取 逐個確認 方式 1143 1144 傳送視窗Ws>1,接收視窗Wr>1,傳送方重傳未被接收方確認的分組; 1145 傳送方:|1|2|3| 4 5 6 7 8 9 10 1146 接收方: ① ② ③ |4|5|6| 7 8 9 10 只接收 4 5 6 返回ACK4,ACK5,AKC6 1147 傳送方: ① ② ③ |4|5|6| 7 8 9 10 向右滑動 1148 接收方: ① ② ③ ④ ⑤ ⑥ |7|8|9|10 直接收 7 8 9 返回ACK7,ACK8,ACK9 1149 1150 無論是停-等協議,GBN協議, 還是SR協議,其通道利用率都與傳送視窗大小有關: 1151 /** 1152 * 通道利用率: 1153 * Ws: 傳送視窗的大小 1154 * t(Seg):傳送方傳送報文段的時間; 1155 * t(ACK):接收方傳送ACK的時間; 1156 */ 1157 U(sender)=(Ws•t(Seg))/(t(Seg)+RTT+t(ACK)) 1158 1159 (四)UDP(使用者資料報協議 User Datagram Protocol) 1160 0.是Internet傳輸層協議:提供無連線、不可靠、資料報盡力傳輸服務; 1161 1.UDP特點 1162 1>應用程序 容易控制 傳送什麼資料及何時傳送,會出現分組的 丟失 和 重複; 1163 2>無需建立連線; 1164 3>無連線狀態; 1165 4>首部開銷小,只有8個位元組; 1166 1167 2.UDP資料報結構 1168 0 15 31 1169 | | | 1170 ----------------+-------------------+ 1171 |源埠號 |目的埠號 | 1172 UDP首部 +---------+----------+ 1173 |長度 | 校驗和 | 1174 ----------------+-------------------+ 1175 UDP資料欄位 | 應用層資料佔用 | 1176 ------------------------------------+ 1177 1178 UDP首部四個欄位:每個欄位長度都是2位元組,共8個位元組。 1179 源埠號和目的埠號:用於UDP實現複用和分解 1180 長度:指示UDP報文段中的位元組數(首部和資料的總和)。首部(8個)+資料(應用資料長度); 1181 校驗和:接收方使用來檢測資料報是否出現差錯,沒有時全填0,求出校驗和後替換; 1182 1183 3.UDP校驗和 1184 1>作用:提供差錯檢測功能,即檢測UDP報文段從 源到目的地傳送過程中,資料是否發生了改變; 1185 1186 2>UDP校驗和計算的內容包括3部分: UDP偽首部、UDP首部、應用資料 1187 0 7 15 31 1188 | | | | 1189 +---------+--------------------------------------------------+ 1190 | | 源IP地址 | 1191 |UDP偽首部 |--------------------------------------------------+ 1192 |只用校驗和| 目的IP地址 | 1193 |不在報文段|--------------------------------------------------+ 1194 | | 全0 | 協議號(17) | UDP長度 | 1195 +---------+--------------------------------------------------+ 1196 | | 源埠號 | 目的埠號 | 1197 | UDP首部 |--------------------------------------------------+ 1198 | | 長度 | 校驗和 | 1199 +-------------------------------------------------------------+ 1200 |UDP資料欄位| 應用層資料,填充(沒有全是0) 16位對齊 | 1201 --------------------------------------------------------------+ 1202 1203 源IP地址、目的IP地址、協議號: 對應封裝UDP資料報的IP分組的欄位; 1204 UDP長度欄位:是該UDP資料報的欄位,該欄位參與計算兩次(偽首部和首部); 1205 UDP協議號:17; 1206 1207 3>UDP校驗和計算規則 1208 *1.所有參與運算的內容 按 16位 對齊求和;(求數值和) 1209 1210 *2.求和過程中遇到 溢位(即進位)都被 回捲(即進位與和的最低位再相加),(溢位回捲) 1211 得到的和取反碼(1,0互換),就是UDP的校驗和,填入UDP資料報的校驗和欄位;(求反碼) 1212 1213 *3.UDP在生成校驗和時,校驗和欄位全取0,待算出校驗和後賦值給UDP首部校驗和欄位 1214 1215 4>UDP計算校驗和 示例 1216 數值1:0110 0110 0110 0000; 1217 數值2:0101 0101 0101 0101; 1218 數值3:1000 1111 0000 1100; 1219 1220 *1.第一步: 求3個數的和(16位) 1221 0110 0110 0110 0000 1222 + 0101 0101 0101 0101 1223 = 1011 1011 1011 0101 1224 + 1000 1111 0000 1100 1225 =10100 1010 1100 0001 1226 1227 *2.第二步: 溢位回捲 1228 0100 1010 1100 0001 1229 + 1 1230 =0100 1010 1100 0010 1231 1232 *3.求反碼(0變1,1變0) 1233 0100 1010 1100 0010 1234 按位取反碼: 1235 校驗和: 1011 0101 0011 1101 1236 1237 (五)TCP(傳輸控制協議 Transfer Control Protocol) 1238 1.TCP報文結構(選擇,填空) 1239 1>傳輸控制協議(TCP):Internet傳輸層協議,提供面向連線、可靠、有序、位元組流傳輸服務; 1240 *1.應用程序先建立連線;(面向連線) 1241 *2.每一條TCP連線只有兩個端點; 1242 *3.可靠交付: 無差錯, 不丟失, 不重複, 按序到達; 1243 *4.全雙工通訊 (全雙工:通訊雙方可 同時 傳輸及接收資料;半雙工(對講機),單工(廣播)) 1244 *5.面向位元組流; 流:位元組序列,應用程式和TCP的互動是一個個資料塊,TCP把他們看做無結構位元組流; 1245 1246 2>TCP報文結構 1247 1248 0 15 31 1249 | | | 每行 32位,4位元組 1250 +---------+---------------------------------------------------+ 1251 | | 源埠號 │ 目的埠號 | 分解複用 1252 | |--------------------------------------------------+\ 1253 | | 序號(seq) (對每個應用層資料的每個位元組進行編號) | 1254 | |---------------------------------------------------+ 1255 | | 確認序號(ack_seq)(接收方期望接收客戶資料序號) | 前5行 1256 | TCP首部 |---------------------------------------------------+ 固定首部 1257 | | 首部 | 保留 |U|A|P|R|S|F| | 20個位元組 1258 | | 長度 | 佔6位 |R|C|S|S|Y|I| 接收視窗 | 1259 | |單位4B| 全取0 |G|K|H|T|N|N| | 1260 | |---------------------------------------------------+ 1261 | | 檢驗和 | 緊急指標 |/ 1262 | |---------------------------------------------------+ 1263 | | 選項(長度可變) | 填充 | 可選首部 1264 +-------------------------------------------------------------+ 1265 | TCP資料 | 應用層資料,填充(全是0) 16位對齊 | 1266 --------------------------------------------------------------+ 1267 1268 1)源埠號欄位,目的埠號欄位:各佔16位,用於分解和複用來自或送到上層應用的資料 1269 2)序號欄位: TCP的序號是對每個應用層資料的 每一個位元組 進行編號;佔32位, 1270 3)確認序號欄位:接收方 期望 從對方 接收資料的位元組,即該序號對應位元組尚未收到;佔32位, 1271 1272 4)首部長度:佔4位(1111->15: 5~15), 用於指出TCP段的首部長度,以 4位元組 為計算單位; 1273 例:首部長度為15,則TCP首部長度為15×4=60位元組,固定長度為20位元組,資料長度為40位元組 1274 1275 5)保留欄位:保留位今後使用,目前值為0; 佔6位, 1276 1277 6)標誌位欄位(各佔1位,共6位,取值0或1) 1278 URG:緊急URG=1,緊急指標欄位有效,優先傳送; 1279 ACK:確認ACK=1,確認序號欄位有效,ACK=0時,確認序號欄位無效; 1280 PSH:推送PSH=1,儘快將報文段中的資料交付接收應用程序,不要等快取滿了在交付; 1281 RST:重置RST=1,TCP連接出現嚴重差錯,釋放連線,在重新建立TCP連線; 1282 SYN:同步SYN=1,建立新連線請求控制段 或 同意建立新連線的確認段; 1283 FIN:終止FIN=1,TCP報文段的傳送端資料已經發送完畢,請求釋放連線; 1284 1285 7)接收視窗欄位:向對方通告我方接收視窗的大小,佔16位; 1286 8)校驗和欄位:計算方法與UDP相同,協議號是6,佔16位; 1287 9)緊急指標:URG=1時,才有效,指出在本TCP報文段中緊急資料共有多少個位元組; 1288 10)選項欄位(長度可變):最短為0位元組,最長為40個位元組; 1289 例如:傳送方告訴接收方其快取能夠接收的資料段的最大長度是MSS個位元組;//不包括首部 1290 最長報文長度(Maximum Segment Size,MSS):報文段中封裝的應用層資料的最大長度(1480); 1291 1292 11)填充欄位:取值全為0,目的是為了整個首部長度是4位元組的整數倍; 1293 1294 2.TCP連線管理(三次握手與四次揮手) 1295 以客戶端的一個應用程序與伺服器上的一個應用程序建立一條TCP連線為例; 1296 1297 1>連線建立(三次握手) 1298 1299 客戶端 伺服器 1300 ┌───────────┐ 1301 │ CLOSED │ 1302 ┌────────┐ ├───────────┤ 1303 │ CLOSED │ SYN=1, seq=x │ LISTEN │ 第一次握手(SYN段) 1304 └────────┘------------------>│(伺服器獨有)│ 1305 ┌────────┐<------------------├───────────┤ 1306 │SYN_SENT│ SYN=1,ACK=1 │ │ 第二次握手(SYNACK段) 1307 └────────┘•seq=y,ack_seq=x+1 │ │ 1308 • │ SYN_RCVD │ 1309 ┌───────────┐ • │ │ 1310 │ESTABLISHED│ ACK=1,seq=x+1•>├───────────┤ 第三次握手(可攜帶資料) 1311 └───────────┘ ack_seq=y+1 │ESTABLISHED│ 1312 └───────────┘ 1313 1314 *1.第一次握手 (發起連線請求): 1315 客戶端向伺服器傳送連線請求報文:SYN報文段(SYN=1,seq=x); 1316 SYN=1:建立連線請求控制段, 1317 seq=x:表示傳輸的報文段的第1個數據位元組的序號是x, 1318 並以此代表整個報文段的序號(sequence number,序號) 1319 客戶端進度SYN_SEND(同步傳送); 1320 此時伺服器知道客戶端能發 1321 1322 *2.第二次握手 (返回確認,同意建立連線): 1323 伺服器收到TCP連線請求後,如同意,則返回確認報文段: 1324 (SYN=1,ACK=1,seq=y,ack_seq=x+1) 1325 SYN=1:同意建立新連線的確認段 1326 ack_seq=x+1:表示已經收到了序列號為 x 的報文段,準備接收序列號為 x+1 的報文段。 1327 seq=y:伺服器告訴客戶確認報文段的第 1 個數據位元組的序列號是 y。 1328 伺服器由 LISTEN 進入 SYN_RCVD(同步收到) 1329 此時客戶端知道伺服器能發能收 1330 1331 *3.第三次握手 (返回確認,建立連線):只有第三次握手可攜帶收據 1332 客戶對伺服器的 同意連線報文段 進行確認: 1333 (ACK=1,seq=x+1,ack_seq=y+1) 1334 seq=x+1:客戶傳輸的報文段的第一個資料位元組的序列號是 x+1 1335 ack_seq=y+1:客戶期望接收伺服器序列號為 y+1 的報文段。 1336 當客戶端傳送ACK時,客戶端進入ESTABLISHED(已連線)狀態; 1337 當伺服器收到ACK時,也進入ESTABLISHED(已連線)狀態; 1338 此時伺服器知道客戶端能收; 1339 1340 *為什麼需要三次握手? 1341 第一次握手:客戶傳送請求,此時伺服器知道客戶能發。 1342 第二次握手:伺服器傳送確認,此時客戶知道伺服器能發能收。 1343 第三次握手:客戶傳送確認,此時伺服器知道客戶能收 1344 1345 2>連線拆除(四次揮手) 1346 1347 客戶端 伺服器 1348 ┌───────────┐ ┌───────────┐ 1349 │ESTABLISHED│ FIN=1,seq=u │ │ 1350 ├───────────┤----------------------------->│ESTABLISHED│ 1351 │FIN_WAIT_1 │ ACK=1,seq=v,ack_seq=u+1 │ │ 1352 ├───────────┤<-----------------------------├───────────┤ 1353 │FIN_WAIT_2 │ FIN=1,ACK=1,seq=w,ack_seq=u+1│CLOSE_WAIT │ 1354 ├───────────┤<-----------------------------└───────────┘ 1355 │ TIME_WAIT │• ┌───────────┐ 1356 ├───────────┤ • │ LAST_ACK │ 1357 │ CLOSED │ ACK=1,seq=u+1,ack_seq=w+1 └───────────┘ 1358 └───────────┘ • ┌───────────┐ 1359 │ CLOSED │ 1360 •>└───────────┘ 1361 *1.第一次揮手 (客戶端傳送斷開連線請求): 1362 客戶端向伺服器傳送釋放連線報文段:(FIN=1,seq=u) 1363 FIN=1:傳送端資料傳送完畢,請求釋放連線; 1364 seq=u:傳輸的第一個資料位元組的序號是u; 1365 客戶端狀態由ESTABLISHED進入FIN_WAIT_1(終止等待1狀態) 1366 1367 *2.第二次揮手 (伺服器確認,資料還沒傳完,繼續傳送): 1368 伺服器向客戶端傳送確認段:(ACK=1,seq=v,ack_seq=u+1); 1369 ACK=1:確認字號段有效; 1370 ack_seq=u+1:伺服器期望收到資料序號u+1; 1371 seq=v:伺服器傳輸的資料序號v; 1372 伺服器狀態由 ESTABLISHED狀態 進入 CLOSE_WAIT(等待關閉) 1373 客戶端狀態由 FIN_WAIT_1 進入 FIN_WAIT_2; 1374 1375 *3.第三次揮手 (伺服器資料傳送完畢,同意斷連): 1376 伺服器向客戶端傳送釋放連線報文段:(FIN=1,ACK=1,seq=w,ack_seq=u+1); 1377 FIN=1:請求釋放連線; 1378 ACK=1:確認字號段有效; 1379 ack_seq=u+1:伺服器期望收到客戶資料序號u+1; 1380 seq=w:表示伺服器傳輸的第一個資料位元組的序號是w; 1381 伺服器狀態由 CLOSE_WAIT(等待關閉) 進入 LAST_ACK(最後確認狀態); 1382 1383 *4.第四次揮手 (兩端確認斷開連線): 1384 客戶端向伺服器傳送確認段:(ACK=1,seq=u+1,ack_seq=w+1); 1385 ACK=1:確認字號段有效; 1386 ack_seq=w+1:表示客戶期望接收伺服器資料序號為w+11387 seq=u+1:表示客戶傳輸的資料的序號是u+1; 1388 客戶端狀態由 FIN_WAIT_2 進入TIME_WAIT(等待2MSL時間),進入CLOSED; 1389 伺服器在收到最後一次ACK後,由LAST_ACK 進入 CLOSED; 1390 1391 3.TCP可靠資料傳輸 1392 1>TCP實現可靠資料傳輸服務的工作機制: 1393 1)應用層資料被 分割成 TCP認為最適合傳送的資料塊; (因為資料鏈路層只能接收1500位元組) 1394 2)TCP發出一個段後,啟動一個 計時器,等待目的端確認收到這個報文段; 1395 3)TCP首部中設有 校驗和欄位, 用於檢測資料在傳輸過程中是否發生差錯; 1396 4)TCP報文段到目的端可能會失序,TCP會 重新排序; 1397 5)接收端收到重複的報文段,接收端根據序號把重複的報文段 丟棄; 1398 6)TCP提供流量控制; 1399 1400 檔案:6 5 4 3 2 1 1401 12 11 10 9 8 7 1402 1403 TCP快取 6 5 4 3 2 1 TCP快取| | | | |2|1| 14042|1|首部|1405 └─────────────────────────────────┘ 1406 傳送方 接收方 1407 1408 可靠:保證接收方應用程序從緩衝區讀出的位元組流與傳送方發出的位元組流是完全一樣的; 1409 1)校驗:與UDP一樣; $1 序號欄位指一個報文段第一個位元組的序號(圖中序號為1); 1410 2)序號:傳送方對傳送的資料包進行編號,1位元組佔用1序號,確保資料按序提交給接收方; $1 1411 3)確認:TCP採用累積確認,此時返回確認序號為3; $2 1412 4)差錯檢測:利用差錯編碼實現資料報傳輸過程中的位元差錯檢測(甚至糾正); 1413 5)快速重傳:TCP傳送方接收到對相同序號的3次重複ACK,即被重複確認的報文段已丟失,即使無超時,也需重發該報文段; 1414 6)計時器:計時器超時時間的調整,解決資料丟失問題; 1415 超時時間策略: 1416 //超時間隔=抽樣RTT的加權移動平均值+4×偏差RTT 1417 TimeoutInterval=EstimatedRTT+4*DevRTT; 1418 //SampleRTT:抽樣RTT,指數加權移動平均, α指數加權係數,典型值為0.125; 1419 EstimatedRTT=(1-α)•EstimatedRTT+α•SampleRTT; 1420 //DevRTT:偏差RTT,RTT變化劇烈,網路不穩定,反之穩定; 加權係數β:推薦值0.25; 1421 DevRTT=(1-β)•DevRTT+β•|SampleRTT-EstimatedRTT| 1422 TCP的傳送方在規定時間內沒有收到確認就要重傳已傳送的報文; 1423 TCP協議用於控制資料段是否重傳的依據是設立重發定時器; 1424 1425 $2.TCP生成ACK的策略 1426 *1.具有所期望序號的報文段按序到達,所有在期望序號以及之前的報文段都已被確認,TCP延遲500ms傳送ACK; 1427 示例:接收方收到1,2,3,且返回對1,2,3的確認,此時4來了,則接收方等待500ms,再返回ACK5 1428 1429 *2.具有所期望序號的報文段按序到達,且另一個按序報文段在等待ACK傳輸,TCP接收方立即傳送單個累計ACK, 1430 確認以上兩個按序到達報文段; 1431 示例:接收方剛剛接收到4,正準備返回ACK5,此時5來了,則接收方返回ACK6; 1432 1433 *3.擁有序號大於期望序號的失序報文段到達,TCP接收方立即傳送重複ACK(3次),指示下一個期望接收位元組的序號; 1434 示例:接收方返回ACK5,但6到了,則接收方返回三次重複的ACK5; 1435 1436 *4.接收一個報文段,部分或完全填充接收資料間隔; 1437 接收方收到1,2,且返回對1,2的確認,後來又收到4,5,6,此時3來了,則接收方返回ACK7; 1438 1439 1440 4.TCP流量控制(選擇,填空) 1441 流量控制: 1442 *1.協調發送方與接收方的 資料傳送 與 接收速度; 1443 *2.在通訊過程中,接收方設定報文段的 接收視窗欄位 來將視窗大小通知給傳送方,實現流量控制; 1444 1445 5.TCP擁塞控制(綜合題) 1446 0>網路擁塞: 1447 太多的主機以太快的速度向網路中傳送太多的資料,超出了網路處理能力, 1448 導致大量資料分組擁擠在中間裝置佇列中等待轉發,網路效能顯著下降的現象; 1449 1450 1>擁塞控制: 1451 通過合理排程,規範,調整向網路中傳送資料的 主機數量、 1452 傳送速率、資料量 以避免擁塞或消除已發生的擁塞; 1453 擁塞視窗:在連線建立時傳送方一次可以傳送幾個分組,視窗大小隨RTT的變化而變化; 1454 1455 2>擁塞控制的演算法: 1456 *1.慢啟動 1457 *2.擁塞避免 1458 *3.快速重傳 1459 *4.快速恢復 1460 1461 視窗大小(MSS) 1462 ↑ 視窗大小值 1463 24|1464 22|1465 20| • 擁塞避免階段 1466 18| • 閾值之後的階段稱為 擁塞避免階段, 1467 16|閾值 • 每經過一個RTT,擁塞視窗大小增加加1MSS; 1468 14|1469 12|1470 10| • 視窗機制 1471 8| • ↖ 閾值(Threshold):臨界值;初始值一般為:16MSS 1472 6| • 慢啟動階段 擁塞視窗(CongWin):初始值為1MSS; 1個最大報文段長度; 1473 4| • 閾值之前的階段稱為 慢啟動階段, |1|2 3 4 5 6 7 8 9 10 擁塞視窗,初始值為1; 1474 1• 每經過一個RTT,擁塞視窗大小加倍; 1|2|3|4 5 6 7 8 9 10 經過RTT時間,視窗增大一倍; 1475 0------------------------------>時間(RTT) 1476 1 2 3 4 5 6 7 8 9 10 11 12 1477 1478 1479 3>擁塞判斷與視窗調節 1480 1)三次重複確認(報文段丟失) 1481 *0.收到三次重複確認,可判定擁塞不嚴重; 1482 *1.快速重傳: 1483 接收端收到3次重複確認,則推斷被重複確認的報文段已丟失,則立即傳送被重複確認的報文段; 1484 1485 *2.快速恢復: 1486 當發生3次重複確認時,不再重新從慢啟動階段開始,而是直接從新閾值開始,直接進入擁塞避免階段; 1487 操作: 1488 新閾值(12)=當前視窗(24)的一半, 1489 新擁塞視窗=新閾值=12; 1490 從擁塞避免階段開始增加視窗數量; 1491 1492 視窗大小 1493 (MSS) 1494 1495 24|1496 22|1497 20| • • 1498 18| • 擁塞避免階段 新閾值 1499 16|閾值 • • • 1500 14| • • 1501 12|新閾值 • • 擁塞避免階段 1502 10|1503 8| • 慢啟動階段 1504 6|1505 4|1506 11507 0------------------------------------------------------------>時間(RTT) 1508 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1509 1510 2)計時器超時(報文段丟失) 1511 計時器超時時,可判定發生擁塞,且擁塞嚴重; 1512 操作: 1513 發生計時器超時時,新閾值是當前擁塞視窗的一半; 1514 新擁塞視窗大小下降為1MSS; 1515 新閾值(12)=當前擁塞視窗(24)的一半, 1516 新擁塞視窗=1 1517 然後再從慢啟動階段、擁塞避免階段增加視窗數量; 1518 慢啟動:1~12:1,2,4,8,12; 1519 擁塞避免階段:13,14,...; 1520 1521 視窗大小 1522 (MSS) 1523 1524 24|1525 22|1526 20| • • 1527 18| • 擁塞避免階段 1528 16|閾值 • • • 1529 14| • • • 擁塞避免階段 1530 12|新閾值 • • • 1531 10| • • • 1532 8| • 慢啟動階段 • • 1533 6| • • • 慢啟動階段 1534 4| • • • 1535 1• • 1MSS 1536 0------------------------------------------------------------>時間(RTT) 1537 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1538 1539 3)視窗調整的基本策略AIMD(Additive Increase,Multiplicative Decrease) 1540 *1.網路未發生擁塞時,逐漸"加性"增大視窗; 1541 *2.網路擁塞時"乘性"減小視窗; 1542 1543 4)擁塞控制的分類 1544 *1.擁塞消除策略:先擁塞檢測,再採取措施; 1545 *2.擁塞預防策略:流量整形技術,規範主機向網路傳送資料的流量 1546 1547 示例:下圖是某通訊過程中擁塞視窗RTT的變化過程,請回答如下問題: 1548 視窗大小 1549 (MSS) 1)在第一個慢啟動階段擁塞視窗的閾值是多少? 答:閾值為:16MSS; 15502)說明該過程中哪些時間段為慢啟動階段? 0-4RTT和17-20RTT; 1551 22| • 3)第10個RTT時,發生了什麼事件? 答:三次重複確認事件; 1552 21| • • 4)第16個RTT時,發生了什麼事件? 答:計時器超時事件; 1553 20|1554 19| • • 1555 18|1556 17| • • • 1557 16| • • • • 1558 15| • • • 1559 14| • • • • 1560 13| • • • • 1561 12| • • • • 1562 11| • • • 1563 10| • • • 1564 9| • • • 1565 8| • • • 1566 7| • • 1567 6| • • • 1568 5| • • 1569 4| • • • 1570 3| • • • 1571 2| • • • 1572 1• • 1573 0--------------------------------------------------------------------> 時間(RTT) 1574 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1575 1576 例2.圖展示了TCP Reno 擁塞控制演算法中擁塞視窗的變化情況,請參照該示意圖回答一下問題; 1577 1578 cwnd 1579 ↑ A 1580 | • C 1581 | • ⊹ ⊹ E 1582 | • ⊹ ⊹ • • • ⊹ 1583 | • B⊹ • • ⊹ G ⊹ 1584 | S • D • ⊹ ⊹ 1585 | • ⊹ ⊹ 1586 • F⊹ 1587 └--------------------------------------------->time 1588 1589 1)圖中SA、BC 和 FG分別是擁塞控制中的哪個階段? 1590 答:SA:慢啟動階段, BC:擁塞避免階段, FG:慢啟動階段; 1591 1592 2)結點A、C、E、G處引起cwnd變化的原因分別是什麼? 1593 答:A和C:發生三次重複確認事件,分組丟失,執行快速恢復演算法; 1594 E:發生計時器超時事件,未收到分組,執行慢啟動演算法; 1595 G:達到了擁塞視窗的閾值,改變閾值增大策略,即將開始執行擁塞避免演算法; 1596 1597 3)若圖中A和C處的高度是一樣的,那麼B和D兩點的閾值有什麼關係? 1598 答: B點與D點閾值相等 1599 1600 4)假設這個網路中只存在一個TCP連線,這個TCP連線的速度是否仍要不停地改變? 1601 答:需要不停改變,由於網路擁塞普遍存在,需要要實施擁塞控制,所以TCP連線的速度仍需視情況不斷改變; 1602 1603 第四章 網路層 1604 (一)網路層服務 1605 0.網路層是網路核心的最高層,是實現大型網路互連的關鍵,是網路體系結構中最重要的一層; 1606 1607 1.網路層 核心任務 1608 將資料從源主機送達目的主機; 1609 1610 2.網路層 主要功能(轉路連) 1611 1>轉發 1612 路由器在收到IP資料報時,會利用IP資料報的目的IP地址檢索匹配路由表,如果路由表中沒有匹配成功的路由項 1613 則通過預設路由對應的介面轉發該IP資料報,如果除預設路由外,有一條路由項匹配成功,則選擇該路由項對應的 1614 介面轉發該IP資料報,如果除預設路由外,有多條路由項匹配成功,則選擇 網路字首匹配成功位數最長 的路由項, 1615 通過該路由項指定介面轉發該IP資料報; 1616 1617 2>路由選擇 1618 當分組從源主機流向目的主機時,必須通過某種方式決定分組經過的路由或路徑; 1619 1620 3>連線建立 1621 網路層連線是從源主機到目的主機經過的一條路徑,這條路徑所經過 1622 的每個路由器等網路裝置都要參與網路層連線的建立; 1623 1624 路由選擇 1625 輸入埠 ↕ 輸入埠 1626 -> |1|2|3| -> 轉發表 -> |1|2|3| -> 1627 目的地址|輸出鏈路 1628 ...... 地址1 3 1629 ... ... 1630 地址4 1 1631 -> |4|5|6| -> 路 由 器 -> |4|5|6| -> 1632 轉發 1633 1634 (二)資料報網路與虛電路網路 1635 0.根據是否在網路層提供連線服務,分組交換網路可分為: 1636 在網路層提供連線服務的 虛電路網路(Virtual-Circuit,VC); 1637 在網路層提供無連線服務的 資料報網路(datagram network); 1638 1639 1.資料報網路(無連線服務) 1640 1>資料報網路是指 按照 目的主機地址 進行路由選擇的網路; 1641 源主機每傳送一個分組,就為該分組加上 目的主機地址, 然後將該 1642 分組推進網路,每個路由器使用分組的 目的主機地址 來轉發該分組; 1643 1644 2.虛電路網路 1645 1>虛電路(virtual circuit,VC): 1646 是指源主機到目的主機的一條路徑上建立的一條網路層邏輯連線; 1647 1648 2>虛電路網路: 1649 指在網路層提供面向連線的分組交換服務,雙方通訊前先虛電路建立連線,通訊結束後在拆除連線; 1650 1651 3>一條虛電路由3個要素構成: 1652 1)從源主機到目的主機之間的一條路徑(一系列的鏈路和分組交換機) 1653 2)該路徑上的每條鏈路的 虛電路標識(VCID) 1654 3)分組交換機的轉發表中記錄虛電路標識的 接續 關係; 1655 |輸入介面|輸入VCID|輸出介面|輸出VCID| 1656 1657 4>資料報網路 與 虛電路網路 對比表 1658 +-----------+-------------------------+---------------------------+ 1659 | 專案 | 虛電路網路 | 資料報網路 | 1660 +-----------+-------------------------+---------------------------+ 1661 |是否建立連線| 先建立連線 | 不建立連線 | 1662 +-----------+-------------------------+---------------------------+ 1663 | 地址 |每個分組含有一個短的虛電路號|每個分組包含源地址和目的端地址| 源IP地址, 目的IP地址 1664 +-----------+-------------------------+---------------------------+ 1665 | 分組順序 | 按序傳送, 按序接收 | 按序傳送, 不一定按序接收 | 1666 +-----------+-------------------------+---------------------------+ 1667 | 路由選擇 | 建立VC時需路由選擇,之後 | 每個分組獨立路由選擇 | 1668 | | 所有分組均沿此路由轉發; | | 1669 +-----------+-------------------------+---------------------------+ 1670 | 典型網路 | X.25、幀中繼、ATM | 因特網(Internet) | 1671 +-----------+-------------------------+---------------------------+ 1672 *.ATM網路在信元交換前必須建立 虛擬 連線; 1673 1674 (三)網路互連與網路互連裝置 1675 1.異構網路互連 1676 1>異構網路: 1677 主要是指兩個網路的通訊技術和執行的協議不同,例如:WiFi和網線; 1678 1679 2>實現異構網路互連的基本策略(協議轉換 和 構建虛擬網際網路絡) 1680 *1.協議轉換: 1681 採用一類支援異構網路之間協議轉換的網路中間裝置, 1682 來實現異構網路資料分組的轉換與轉發; 1683 例如:交換機或 多協議路由器; 1684 1685 *2.構建虛擬網際網路絡 1686 在異構網路的基礎上構建一個同構的虛擬網際網路絡; 1687 1688 3>實現 同構網路 互連的典型技術: 隧道技術; 1689 1690 2.路由器 1691 1>最典型的網路層裝置 1692 具有多個輸入埠 和 多個輸出埠的專用計算機, 1693 主要任務就是 獲取與維護 路由資訊 以及 轉發分組; 1694 1695 2>路由器從功能體系結構角度(輸入,輸出,交換,處理): 1696 *1.輸入埠:查詢,轉發,到達分組 快取排隊功能; 1697 線路端接收訊號->資料鏈路處理(協議封裝)->查詢,轉發排隊->交換結構; 1698 1699 *2.交換結構:完成具體的轉發工作,將輸入埠的IP資料報交換到指定的輸出埠; 1700 主要包括: 基於記憶體交換(效能低,價低), 1701 基於匯流排交換(獨佔式), 1702 基於網路交換(效能高,價高); 1703 1704 *3.輸出埠:快取排隊,從佇列中取出分組進行資料鏈路層資料幀的封裝,傳送; 1705 1.先到先服務(FCFS)排程策略;(通常) 1706 2.優先順序排程,按IP資料報的服務型別排程; 1707 交換結構->排隊,快取管理->資料鏈路處理(協議封裝)->線路端接-> 1708 1709 *4.路由處理器: 1)執行命令, 2)路由協議執行, 3)路由計算以及路由表的更新和維護 1710 1711 1712 (四)網路層擁塞控制 1713 1.網路擁塞(選擇,填空) 1714 1>擁塞: 1715 一種持續過載的網路狀態,使用者對網路資源(包括鏈路頻寬、 1716 儲存空間和處理器處理能力等)的總需求 超過了網路固有的容量; 1717 1718 吞吐量吞吐量 1719 ↑ | 響應時間 1720 Q2|---------------------• ↑ • 1721 | • |• |1722 | • | • |1723 | | • | • |1724 Q1|-------• | • | | |1725 | •| | • | | |1726 | • | | • t2|-----------------1727 | • | | • | | • | 1728 | • | | • | | • | 1729 | • | | • t1|---------• | 1730 | • | | • | • | | 1731 |• | | • | • | | 1732 0-------┴-------------┴-----------•--> 0---------┴-------┴----------> 1733 膝點 崖點 負載 膝點 崖點 負載 1734 1735 2>網路負載在 膝點 附近時,吞吐量 和 分組平均延遲達到理想的平衡,網路的使用率最高;(t1=t2, Q1(膝點)>Q2(崖點)) 1736 1737 3>發生擁塞的原因(三有限,一故障) 1738 *1.緩衝區容量有限; 1739 *2.傳輸線路的頻寬有限; 1740 *3.網路結點的處理能力有限; 1741 *4.網路中某些部分發生了故障; 1742 1743 4>網路層擁塞控制措施(4條)(選擇填空) 1744 *1.流量感知路由: 1745 網路抽象為一張帶權無向圖,路由器抽象為圖的結點,鏈路抽象為圖的邊,每一條鏈路有自己的鏈路費用 1746 權值根據網路負載動態調整,則可將網路流量引導到不同的鏈路上,均衡網路負載,從而延緩或避免擁塞的發生; 1747 區域一 區域二 1748 ┌───────────┐ ┌─────────┐ 1749 │ B. │ │ │ 1750 │ / | .│10│ │ 1751 │ / | │ . │ 帶權無向圖 1752 │ A | │ │ .E │ 時延小=權值小 1753 │ \ | │ │ / \ │ 1754 │ C---+--+--D F │ 1755 └───────────┘20└─────────┘ 1756 1757 *2.准入控制: 是對新建虛電路稽核,如果新建立的虛電路會導致網路變得擁塞,那麼網路拒絕建立新虛電路; 1758 1759 *3.流量調節: 在網路擁塞時,可以通過調整發送方的傳送資料的速率來消除擁塞; ICMP報文↓ 1760 抑制分組:感知到擁塞的路由選擇一個被擁塞的資料報,給該資料報的源主機返回一個抑制分組; 1761 背壓: 抑制分組在從擁塞結點到源結點的路徑上的每一跳(結點間直接鏈路),都發揮抑制作用; 1762 1763 *4.負載脫落: 通過有選擇地主動 丟棄一些資料報,來減輕網路負載,從而緩解或消除擁塞; 1764 從最大的開始丟,例如 |6|5|4|3|2|1| 先丟6; 1765 簡述網路擁塞解決的兩個方面 1766 +--------------------+-----------------------------------------------------------------------+ 1767 |增加網路資源(擁塞預防)| 在網路出現擁塞前為網路中的各個結點分配更多可用的資源,從而降低擁塞出現的可能性| 1768 +--------------------+-----------------------------------------------------------------------+ 1769 |減小網路負載(擁塞消除)| 指在網路中已出現負載大於資源的情況下,通過減小當前網路的負載勞實現對擁塞的消除| 1770 +--------------------+-----------------------------------------------------------------------+ 1771 1772 流量控制和擁塞控制的區別 1773 +-------+----------------------------------------------+--------------------------------------+ 1774 |擁塞控制|考慮系統間的網路環境,使網路負載不超過網路傳送能力 |確保網路能夠承載所到達的流量 | 1775 +-------+----------------------------------------------+--------------------------------------+ 1776 |流量控制|考慮接收端資料接收處理能力,使傳送速率不超過接收能力|只與特定的傳送方和接收方間的點到點流量有關| 1777 +-------+----------------------------------------------+--------------------------------------+ 1778 1779 (五)Internet網路層 1780 0.Internet網路層主要協議 1781 1>網際協議(Internet Protocol,IP) 1782 2>路由協議 1783 3>網際網路控制報文協議(Internet Control Message Protocol,ICMP) 1784 1785 1.IPv4協議(網路層最核心的協議) 1786 1>定義瞭如何封裝上層協議(如UDP、TCP)的報文段; 1787 定義了Internet網路層定址(IP地址)以及如何轉發IP資料報等內容; 1788 IP目前前兩個版本:IPv4(32位) 和 IPv6(128位); 1789 1790 IP對輸入資料報的處理分為主機對資料報的處理和閘道器對資料報的處理; 1791 1792 2>IPv4資料報格式 1793 ┌-----------------------------32位----------------------------1794 |-------------------------------------------------------------+ 1795 |版本(4位)|首部長度(4位)|區分服務(8)| 資料報長度(16位) |4B\ 1796 |-------------------------------------------------------------+ | 1797 | 標識(16位) |標誌(3位)| 片偏移量(13位) |4B | 1798 |-------------------------------------------------------------+ | 1799 | 生存時間(8位) | 上層協議(8位) | 首部檢驗和(16位) |4B >固定首部20位元組 1800 |-------------------------------------------------------------+ | 1801 | 源IP地址(32位) |4B | 1802 |-------------------------------------------------------------+ | 1803 | 目的IP地址(32位) |4B/ 1804 |-------------------------------------------------------------+ 1805 | 選項(可選,長度可變) |40B 可選首部 1806 +-------------------------------------------------------------+ 1807 | 資料 | 傳輸層報文段 1808 +-------------------------------------------------------------+ 1809 *1.版本號(4位):IPv4(32位)、IPv6(128位); 1810 *2.首部長度(4位):20B-60B(位元組), 單位 4位元組 1811 *3.分割槽服務(8位):在舊標準中成服務型別(Type of Service,TOS) 用來指示期望獲取那種型別服務; 1812 *4.資料報長度(16位):指出IP資料報的總位元組數;(首部+資料) 1813 *5.生存時間(8位):表示IP資料報在網路中可以通過的路由器數(跳步數);TTL 1814 *6.上層協議(8位):指示該IP資料報封裝的是哪個上層協議: TCP:6, UDP:17; 1815 *7.首部校驗和(16位):利用校驗和對IP資料報 首部 進行差錯檢測; (求和,溢位回捲,取反碼) 1816 *8.源IP地址(32位):發出IP資料報源主機的IP地址, 1817 *9.目的主機地址(32位):IP資料報需送達的主機IP地址; 1818 *10.選項:長度可變; 1819 *11.資料:存放IP資料報所封裝的傳輸層報文段; 1820 1821 *12.標識(16位): 1822 標識一個IP資料報,每產生一個IP資料報,IP協議的計數器加1; 1號IP資料報 分片1 分片2 1823 在IP資料報 分片 和 重組 過程中用於標識屬於同一IP資料報,2號IP資料報 分片1 分片2 1824 該欄位不可唯一標識一個IP資料報; 要(主機IP+目的主機IP+標識位) 1825 *13.標誌(3位):其結構如下: 1826 1 2 3 1827 ┌-┬-┬-┐ DF(Don't Fragment):禁止分片標誌: DF=0,MF=0:是一個分片,且是最後一片, 1828 | |D|M| DF=0,允許分片, DF=1,禁止分片; DF=0,MF=1;表示是一個分片,且不是最後一片; 1829 | |F|F| MF(More Fragment):更多分片標誌; DF=1,MF=0;沒有分片 1830 └-┴-┴-┘ MF=0,未被分片 或 分片的最後一片, MF=1,一定是分片,且不是最後一個; 1831 1832 *14.片偏移量: 1833 以8B(8位元組)為單位,表示一個IP資料報分片與原IP資料報資料的相對偏移量; 1834 該欄位值為0時,且MF=1,則表示這是一個IP分片,且是第一個分片; 1835 1836 3>IP資料報分片 1837 *1.最大傳輸單元(Maximum Transmission Unit,MTU): 1838 資料鏈路層幀能承載的最大資料量;(網路層要將傳輸層的資料報 先分組 再分片); 1839 1840 *2.IP資料報分片的原則 1841 #1.儘可能少分片; 1842 #2.一個最大分片可封裝的資料位元組數是8的倍數; 1843 每個分片的標識欄位複製原IP資料報的標識欄位 1844 MF標誌位,除了最後一個分片為0外,其餘分片全為1; 1845 1846 *3.IP資料報分片的相關計算 1847 原資料IP報總長度為 L位元組,待轉發鏈路的MTU為 M位元組; 1848 最大分片封裝的資料長度: d=⌊(M-20)/8⌋×8 1849 分片總數: n=⌈(L-20)/d⌉ 1850 每個分片片偏移欄位取值: Fi=d/8×(i-1),1≤i<n; 1851 ╭d+20,1≤i<n 1852 每個分片的總長度: Li=< 1853 ╰L-d×(n-1),i=n 1854 18551,1≤i<n 1856 每個分片的MF欄位: MFi=< 18570,i=n 1858 1859 通過PingPlotter 工具傳送一個總長度為3400位元組的IP資料報, 1860 通過MTU=1500位元組的鏈路轉發,試求以下內容: 1861 第1步:每片最多可以封裝多少位元組的資料; 1862 分片包括兩個部分內容(首部+資料):首部:20,資料:1500-20=1480位元組 1863 第2步:分片數 1864 一片可封裝的資料位元組數為:1500-20=1480位元組 |首部| 1 | 2 | 3 | 1865 IP資料報的總長度:3400位元組(首部+資料) / | \ 1866 IP資料報的資料長度:3400-20=3380位元組 |首部|1| |首部|2| |首部|3| 1867 分片數: 3380/1480=2.28向上取正,取 3 1868 1869 第3步:標誌位: DF:0 分片, MF=0(最後一片) 其餘為1; 1870 1871 第4步:片偏移量(單位為8位元組) 1872 第1片:0/8=0; 第2片:1480/8=185; 第3片:2960/8=370 1873 +-------+------------+-----+--------+-------------------------+ 1874 | 片 | 總長度/位元組 |偏移量| MF標誌 |封裝原IP資料報中資料的位元組流| 1875 +-------+------------+-----+--------+-------------------------+ 1876 | 第1片 | 1500 | 0 | 1 | 1480位元組(0-1479) | 1877 +-------+------------+------+-------+-------------------------+ 1878 | 第2片 | 1500 | 185 | 1 | 1480位元組(1480-2959) | 1879 +-------+------------+------+-------+-------------------------+ 1880 | 第3片 | 440 | 370 | 0 | 420位元組(2960-3379) | 1881 +-------+------------+------+-------+-------------------------+ 1882 3440=3個首部(20位元組)+資料; 3380 1883 1884 例2:傳送一個總長度為5000位元組的IP資料報,通過MTU=1500位元組的鏈路轉發, 1885 求:分片;每片總長度; DF、MF標誌;封裝原資料報中的位元組數;片偏移量; 1886 1) 一個分片可裝的最大位元組數: MTU-首部=1500-20=1480位元組; 1887 IP資料報的資料總長度: 5000-20=4980位元組 1888 分片數:n=⌈4980/1480⌉=4; 1889 1890 2)每片總長度分別為: 1891 第1片:1500位元組; 第2片:1500位元組; 1892 第3片:1500位元組; 第4片:560位元組; 1893 1894 3)DF1=0,MF1=1; DF2=0;MF2=1; DF3=0,MF3=1; DF4=0,MF4=0; 1895 1896 4)每片封裝原資料報中的位元組數分別為: 1897 第1片:1480位元組; 第2片:1480位元組; 1898 第3片:1480位元組; 第4片:540位元組; 1899 1900 5)第1片偏移量:0/8=0; 第2片偏移量:1480/8=185; 1901 第3片偏移量:2960/8=370; 第4片:偏移量:4440/8=555; 1902 +-------+------------+-----+------+------+--------------------------+ 1903 | 片 | 總長度/位元組 |偏移量|DF標誌|MF標誌 |封裝原IP資料報中資料的位元組流| 1904 +-------+------------+-----+------+------+--------------------------+ 1905 | 第1片 | 1500 | 0 | 0 | 1 | 1480位元組(0-1479) | 1906 +-------+------------+-----+------+-------+-------------------------+ 1907 | 第2片 | 1500 | 185 | 0 | 1 | 1480位元組(1480-2959) | 1908 +-------+------------+-----+------+-------+-------------------------+ 1909 | 第3片 | 1500 | 370 | 0 | 1 | 1480位元組(2960-4439) | 1910 +-------+------------+-----+------+-------+-------------------------+ 1911 | 第4片 | 560 | 555 | 0 | 0 | 540位元組(4440-4979) | 1912 +-------+------------+-----+------+-------+-------------------------+ 1913 1914 *路由器進行IP資料報分片後,目的主機在重組分片時,用到的欄位不包括 首部長度欄位 1915 *4.IP資料報分片在目的主機重組: 1916 1)根據各片首部的標識欄位來判斷這些分片是否屬於同個IP資料報,同個IP資料報分出來的IP分片具有相同的標識欄位; 1917 2)目的主機通過各分片首部的標誌欄位,可以判斷某個分片是否是最後一個分片; 1918 3)目的主機根據各分片的片偏移欄位,判斷IP分片的先後順序,綜合每個IP分片首部的資料報長度欄位,判斷是否缺少分片; 1919 1920 例題:已知IPv4資料報第1個位元組和資料報長度欄位內容分別為16進位制數 45H 和 3FCH,求該資料報封裝的資料長度; 1921 封裝資料長度=資料報總長度-首部長度(20位元組)=(3×16²+15×16+12)-20 1922 =768+240+12-20=1200-20=1000位元組 1923 1924 2.IPv4編址 1925 1>IPv4地址的長度為32位,共有2^32個不同的IP地址,約為43億個; 1926 1927 2>IPv4地址192.168.1.101的三種標記方式: 1928 +-------------------+-------------------------------------+ 1929 | 方法 | 表示方式 | 1930 +-------------------+-------------------------------------+ 1931 | 二進位制標記法 | 11000000 10101000 00000001 01100101 | 1932 +-------------------+-------------------------------------+ 1933 | 點分十進位制標記法 | 192.168.1.101 | 1934 +-------------------+-------------------------------------+ 1935 | 十六進位制標記法 | 0xC0A80165 | 1936 +-------------------+-------------------------------------+ 1937 1938 3>IP地址分配 1939 具有3個介面的路由器,通過兩臺交換機,互連了6臺主機; 1940 IP子網:三臺主機+路由器左側介面; 子網地址:203.1.1.0 1941 主機A: 203.1.1.2───────────┐ 203.1.1.1 路由器介面地址:203.1.1.1 1942 主機B: 203.1.1.3──────────交換機─── 路由器 主機地址: 203.1.1.2 1943 主機C: 203.1.1.4───────────┘ 203.1.1.3 1944 |IP字首| 203.1.1.4 1945 1946 主機劃分為兩個部分 1947 1)字首(prefix):即網路部分(NetID) 用於描述主機所歸屬的網路範圍; 1948 分類地址: 定長字首, 1949 無類地址:字首長度可變 網路位(字首) 主機位(字尾) 1950 2)字尾(Postfix),即主機部分(HostID)用於表示主機在網路中的唯一地址; 1951 1952 3)分類地址(定長字首) 1953 +----+----------+-------------------------------------+----------+-----------+ 1954 | 類 | 字首長度 | 字首 | 首位元組 | 分類定址 | 1955 +----+----------+--------------------------------------+---------+-----------+ 1956 | A | 8位 | 0xxxxxxx | 0-127 |主機或路由器| 1957 +----+----------+--------------------------------------+---------+-----------+ 1958 | B | 16位 | 10xxxxxx xxxxxxxxx | 128-191 |主機或路由器| 1959 +----+----------+--------------------------------------+---------+-----------+ 1960 | C | 24位 | 110xxxxx xxxxxxxxx xxxxxxxxx | 192-223 |主機或路由器| 1961 +----+----------+--------------------------------------+---------+-----------+ 1962 | D | 不可用 | 1111xxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx| 224-239| 組廣播地址 | 1963 +----+----------+--------------------------------------+---------+-----------+ 1964 | E | 不可用 | 1111xxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx| 240-255 | 保留 | 1965 | | | xxxxxxxxx | | | 1966 +----+----------+--------------------------------------+---------+-----------+ 1967 1968 *1.IP地址中: 1969 字首中的後幾位:表示網路地址個數; (網路範圍) 1970 字尾位數:表示這類網路中的IP地址總數 (主機數) 1971 +--+-----+----+-------+--------+--------------------+ 1972 |類| 字首| 固定|字首中後| 網路地址| 每個類網IP地址總數 | 1973 +--+-----+----+-------+--------+--------------------+ 1974 |A | 8 | 0 | 7位 |2^7=128個| 2^24個(主機數) | 1975 +--+-----+----+-------+--------+--------------------+ 1976 |B | 16 |10 | 14位 | 2^14個 | 2^16個(主機數) | 1977 +--+-----+----+-------+--------+--------------------+ 1978 |C | 24 |110 | 21位 | 2^21個 | 2^8個(主機數) | 1979 +--+-----+----+-------+--------+--------------------+ 1980 1981 *2.特殊地址(用途特殊的IP地址) 1982 +------+---------+---------+---------+-----------------------------+ 1983 |Net ID| Host ID | 作為IP數|作為IP資料| 用途 | 1984 | | |據報源地址|報目的地址| | 1985 +------+---------+---------+--------+------------------------------+ 1986 | 全0 | 全0 | 可以 | 不可以 |在本網範圍表示主機,在路由表是路由 | 1987 +------+---------+---------+--------+------------------------------+ 1988 | 全0 | 特定值 | 可以 | 不可以 | 表示本網內某個特定主機 | 1989 +------+---------+---------+--------+------------------------------+ 1990 | 全1 | 全1 | 不可以 | 可以 | 本網廣播地址 | 1991 +------+---------+---------+--------+------------------------------+ 1992 |特定值| 全0 | 不可以 | 不可以 | 表示一個網路 | 1993 +------+---------+---------+--------+------------------------------+ 1994 |特定值| 全1 | 不可以 | 可以 | 對特定網路上的所有主機進行廣播 | 1995 +------+---------+---------+--------+------------------------------+ 1996 | 127 |非全0或非全1| 可以 | 可以 |用於本地軟體環回測試,稱為環回地址| 1997 +------+---------+---------+--------+------------------------------+ 1998 1999 *3.私有地址:除特殊地址外,還有部分分類地址用於內部網路使用,但不能在公網上使用; 2000 +-------------+------------------------------------------------+ 2001 | 私有地址類別 | 範圍 | 2002 +-------------+------------------------------------------------+ 2003 | A類 | 10.0.0.0——10.255.255.255(或10.0.0.0/8) | 2004 +-------------+------------------------------------------------+ 2005 | B類 | 172.16.0.0——172.31.255.255(或172.16.0.0/12) | 2006 +-------------+------------------------------------------------+ 2007 | C類 | 192.168.0.0——192.168.255.255(或192.168.0.0/16)| 2008 +-------------+------------------------------------------------+ 2009 2010 4)無類地址(字首長度可變) 2011 在無類定址方案中,不存在如分類定址中的網路類別,網路字首不再被設計為定長的 2012 8位、16位、24位,而是變為可以是0-32位的任意值; 網路書寫形式:a.b.c.d/x; 2013 例如:203.1.1.0/24, (/24字尾)主機位有24個,這種地址形式稱為無類域間路由(CIDR); 2014 例如: 10.0.0.0/8 表示的IP地址範圍是 10.0.0.0~10.255.255.255 2015 5)子網劃分 2016 *1.子網化:將一個較大的子網劃分為多個較小子網的過程;(大變小)大子網表示主機位(字尾)多 2017 *2.超網化:將具有較長字首的相對較小的子網合併為一個具有稍短字首的相對較大的子網;(小變大) 2018 *3.子網掩碼:32位; 對應網路字首,全是1, 其餘位(主機部分),全是0; (超網化是子網化的逆過程) 2019 例如:子網213.111.0.0/24的子網掩碼為:255.255.255.0;(子網掩碼中1的個數,確定子網字首是幾位); 2020 2021 *4.綜合題: 2022 已知子網中某主機地址和子網掩碼,就可以計算出子網地址,子網廣播地址,IP地址總數和可分配IP數 2023 #1.子網掩碼和主機地址 按位與 運算可得出 子網地址; 2024 與運算: 0&0=0 0&1=0; 1&0=0; 1&1=1; 2025 2026 #2.子網掩碼的反碼 與 主機地址 按位或 運算可得出 直接廣播地址; 2027 反碼: 1────0;0────1; 2028 或運算: 0|0=0; 0|1=1; 1|0=1; 1|1=1; 2029 2030 #3.IP地址總數 2031 IPv4地址共32位, 分為網路位(字首)+主機位(字尾); 2032 通過子網掩碼可以確定網路位(子網掩碼中1的個數), 2033 則主機位 = 32-網路位,IP地址總數:2^(主機位); 2034 2035 #4.可分配IP地址總數 ┌────IP地址總數─────┐ 2036 在IP地址總數中分配 一個子網地址 和 一個直接廣播地址 | | | 2037 所有可分配地址總數: IP地址總數-2; 頭 可分配IP 尾 2038 可分配地址範圍: (子網地址+1) ~ (直接廣播地址-1) 子網地址 (主機數-2) 廣播地址 2039 2040 例題: 2041 假設某子網中的一個主機的IP地址是 203.123.1.135, 子網掩碼是:255.255.255.192 2042 1)求該子網的子網地址;(寫出計算過程) 2043 子網掩碼:11111111 11111111 11111111 11000000 (子網掩碼中1的個數,確定子網字首是幾位) 2044 IP主機地址:11001011 01111011 00000001 10000111 2045 進行&運算:11001011 01111011 00000001 10000000 2046 子網地址: 203 . 123 . 1 . 128 /26 (子網掩碼有26個1,代表子網字首為26位) 2047 2048 2)求直接廣播地址; 2049 子網掩碼:11111111 11111111 11111111 11000000 2050 取反結果:00000000 00000000 00000000 00111111 2051 IP主機地址:11001011 01111011 00000001 10000111 2052 進行|運算:11001011 01111011 00000001 10111111 2053 直接廣播地址: 203 . 123 . 1 . 191 2054 2055 3)求子網IP的地址總數; 2056 主機位有32-26=6位,即2^6=64個; 2057 2058 4)求該子網的可分配IP地址數; 2059 64-2=62個 (子網地址佔1個,廣播地址佔1個,所以64-2=62); 2060 2061 5)求可分配地址範圍; 2062 可分配IP地址範圍: 203.123.1.129~203.123.1.190(去掉頭和尾) 2063 2064 題1.已知IP地址172.32.1.113對應的子網掩碼為255.255.254.0; 2065 1)求該IP地址所在網路的網路地址;(子網地址)(寫出計算過程) 2066 子網掩碼:11111111 11111111 11111110 00000000 2067 IP主機地址:10101100 00100000 00000001 01110001 2068 進行&運算:10101100 00100000 00000000 00000000 2069 子網地址: 172 . 32 . 0 . 0/23 2070 2071 2)求該網段的IP地址範圍; 2072 IP地址範圍:172.32.0.0~172.32.1.255; 2073 2074 3)求該網段可分配的IP地址範圍(掐頭去尾) 2075 IP地址可分配範圍:172.32.0.1~172.32.1.254; 2076 2077 4)求該網段的廣播地址 2078 子網掩碼:11111111 11111111 11111110 00000000 2079 取反結果:00000000 00000000 00000001 11111111 2080 IP主機地址:10101100 00100000 00000001 01110001 2081 進行|運算:10101100 00100000 00000001 11111111 2082 直接廣播地址: 172 . 32 . 1 . 255 2083 2084 題2.某公司總部與其子公司A,B,C分別位於四個不同的地區,假設公司擁有子網地址是 202.119.110.0/24, 2085 總部與子公司A、B、C聯網的主機數分別是53、261212、要求子公司B和子公司C的主機位於相鄰 2086 的子網,請寫出下表中序號處的IP地址和子網掩碼; 2087 +---------+----------------------+-----------------+ 2088 | | 主機IP地址範圍 | 子網掩碼 | 2089 +---------+----------------------+-----------------+ 2090 | 總部 | 202.119.110.129 ~(1) | 255.255.255.192 | 子網地址:主機位全是0; 2091 +---------+----------------------+-----------------+ 廣播地址:主機位全是1; 2092 | 子公司A | (2)~202.119.110.94 | (3) | 起始地址:主機位最後1位為1;(子網後) 2093 +---------+----------------------+-----------------+ 終止地址:主機位最後1位為0;(廣播前) 2094 | 子公司B | 202.119.110.97~(4) | 255.255.255.240 | 起始與最終地址 網路位相同,主機位不同; 2095 +---------+----------------------+-----------------+ 2096 | 子公司C | (5)~(6) | 255.255.255.240 | 2097 +---------+----------------------+-----------------+ 2098 2099 1) 由 總子網掩碼 255.255.255.192 得出 2100 網路位 26位, 主機位:6位 2101 主機IP起始地址: 202.119.110.129 2102 起始地址後6位主機位 10|000001 2103 終止地址後6位主機位 10|111110 255-65=190; 2104 所以總部廣播地址是:202.119.110.190; (1) 2105 2106 2)由子公司A主機的主機數量為26臺,2^4=16<26;(不夠) 2107 可得:子公司A的主機位為 52^5=32>26;(可用) 2108 可得:子公司A的網路位為 27, 11111111 11111111 11100000 2109 可得:子網掩碼為255.255.224;(3) 主機位: 5位 2110 由 終止地址 202.119.110.94 得 終止後8位為:010|11110 2111 可得:起始地址為:202.119.110.65; 起始後8位為:010|00001 (2) 2112 2113 3)由255.255.255.240 可知 主機位為: 4位 2114 由 起始地址 202.119.110.97 得 起始後8位為:0110|0001 可得: 2115 終止地址為: 202.119.110.110; 終止後8位為:0110|1110 (4) 2116 2117 4)B的廣播地址:202.119.110.111,因為BC相鄰,故子公司C的子網地址為202.119.110.112 2118 的IP起始地址為:202.119.110.113; 起始後8位 0111|0001; (5) 主機位4位(由子網掩碼得) 2119 的IP終止地址為:202.119.110.126; 終止後8位 0111|1110; (6) 2120 2121 2122 2123 4>路由聚合 2124 1)用途:減少路由表項數,提高路由效率,將可以聚集在一起的子網聚合成一個大的子網; 2125 +-------------------+---------+------+ 2126 | 網路地址 |下一跳地址| 介面 | 2127 +-------------------+---------+------+ 後兩位是連續的四個數 2128 | 15.65.154.0/26 | A | S1 | 00000000 2129 +-------------------+---------+------+ 01000000 2130 | 15.65.154.64/26 | A | S1 | 10000000 2131 +-------------------+---------+------+ 11000000 2132 | 15.65.154.128/26 | A | S1 | 2133 +-------------------+---------+------+ 2134 | 15.65.154.192/26 | A | S1 | 聚合-> 網路地址 下一跳 介面 2135 +-------------------+---------+------+ 15.65.154.0/24 A S1 2136 前24位一樣 2137 2138 3.動態主機配置協議(Dynamic Host Configuration Protocol, DHCP) 2139 1>當組織分配到一個網路地址塊後,就可以為該組織內的主機和路由器介面分配IP地址; 2140 靜態分配:手動配置; DHCP客戶端 DHCP伺服器 2141 動態分配:動態主機配置協議來分配; | DHCP Discover | DHCP伺服器發現:廣播方式 2142 |------------------->| 2143 2>動態主機配置協議(DHCP)埠號 | DHCP Offer | DHCP伺服器提供:廣播方式 2144 DHCP伺服器埠號: 67; |<-------------------| 2145 DHCP客戶埠號: 68; | DHCP Request | DHCP請求: 廣播方式 2146 |------------------->| 2147 | DHCP ACK | DHCP確認 2148 |<-------------------| 2149 2150 4.NAT(網路地址轉換,Notwork Address Translation)(解答題) 2151 1>NAT用途:使私有地址的主機能在公共Internet上進行正常通訊的技術; 2152 2>網路地址轉換(NAT)工作原理 2153 1)從內網出去的IP資料報,將其 IP地址 替換為 NAT伺服器擁有的 2154 合法的公共IP地址,同時替換源埠號,並將替換關係記錄到NAT轉換表中; 2155 2156 2)從公共網際網路返回的IP資料,依據其目的IP地址與目的埠號檢索 NAT轉換表,並利用檢索到的 2157 內部私有IP地址 和 對應的埠號 替換 目的IP地址 和 目的埠號,將IP資料報轉發到內部網路; 2158 2159 3>基於UPnP(Universal Plug and Play,即插即用)協議可通過動態配置的方法事先建立NAT對映實現NAT穿透技術; 2160 2161 5.ICMP(網際網路控制報文協議,Internet Control Message Protocol) 2162 1>ICMP用途:在主機或路由器間實現網路層 差錯報告 與 資訊探測; ping 域名 2163 2164 2>ICMP結構: 2165 0 7 15 31 2166 | | | | 2167 +-----------+-----------------------------------+ 2168 | 型別 | 程式碼 | 校驗和 | 2169 +-----------------------------------------------+ 2170 | 由ICMP報文的型別決定 | 2171 +-----------------------------------------------+ 2172 | ICMP的資料部分 | 2173 +-----------------------------------------------+ 2174 2175 3>ICMP報文型別:(差錯報文和詢問報文) 2176 1)差錯報告報文: 2177 *1.終點不可達; TTL(生存時間 跳步數)不夠, 返回ICMP報文 2178 *2.源點抑制; 處理報文超載 2179 *3.時間超時; 2180 *4.引數問題; 例如:DF=1, 不分片,駁回; 2181 *5.路由重定向; 路由選擇; 2182 2183 2)詢問報文(資訊探測) 2184 *1.回聲請求/應答; ping 域名 例如 ping baidu.com; //向特定主機發送ICMP請求報文,測試是否可達; 2185 *2.時間戳請求/應答; 回覆時間; 2186 2187 6.IPv6(128位) 2188 0>IPv6地址長度為128位 2189 1>IPv6資料報格式(基本首部)[選擇、填空] 2190 ┌-----------------------------32位----------------------------2191 |------------------------------┴------------------------------+ 2192 |版本(4位)| 流量型別(8位) | 流標籤(20位) | 2193 |-------------------------------------------------------------+ 2194 | 有效荷載長度(16位) |下一個首部(8位) | 跳數限制(8位) | 2195 |-------------------------------------------------------------+ 2196 | 源IP地址(128位) | 2197 |-------------------------------------------------------------+ 2198 | 目的IP地址(128位) | 2199 |-------------------------------------------------------------+ 2200 | 資料 | 2201 +-------------------------------------------------------------+ 2202 IPv6與IPv4資料報首部對比 2203 IPv6刪除欄位: 2204 *1.分片相關欄位 2205 *2.首部校驗和 2206 *3.選項欄位不是IPv6基本首部欄位 2207 2208 2>IPv6地址表示方法: 2209 1)8組冒號分隔的十六進位制數: 2210 8000:0000:0000:0000:4321:0501:AB96:56CD 2211 0000:0000:0000==>:: (::只能出現一次) 2212 8000::4321:0501:AB96:56CD (字母最大為F) 2213 2214 2)在IPv6地址中嵌入IPv4的點分十進位制: 2215 6700:89A1:0321:206.36.45.19; 2216 2217 3>IPv6地址分類(單任組) 2218 *1.單播地址(源地址和目的地址)(可標識一個主機或路由器介面) 2219 *2.任播地址(目的地址)(某)(該任播地址標識的 某個主機 可收到該IP資料報) 2220 *3.組播地址(目的地址)(都)(該組播地址標識的 所有主機 都能收到該IP資料報) 2221 2222 4>IPv4到IPv6的遷移方法(選擇、填空) 2223 1)雙協議棧: 網路結點同時具備傳送IPv4 與 IPv6 資料報的能力; 2224 IPv4 \ 2225 IPv6--路由器1---DNS--->路由器2(使用DNS判斷是IPv4還是IPv6) 2226 2227 2)隧道: 很好的解決IPv6通訊中經過IPv4路由器的問題,同時也不會出現資訊丟失的問題 2228 給IPV6加一層IPv4的封裝, 2229 IPv6 IPv4(v6) IPv6 2230 源主機-------路由器1---------->路由2--------->目的主機 2231 2232 (六)路由演算法與路由協議 2233 1.路由選擇演算法分類 2234 0>路由選擇:選擇轉發IP分組的通路的過程稱為"路由選擇" 2235 路由選擇的核心是 路由選擇演算法; 2236 2237 1>帶權無向圖 2238 將網路抽象為一個帶權無向圖G(N,E),N表示結點集合,E是邊的集合; 2239 網路中的路由器抽象為圖G的結點,連線兩個路由器的網路鏈路抽象為G的邊; 2240 例如:X,Y 網路鏈路的費用(比如延時)抽象為G中的權值; 2241 ( X ) 若兩個結點間有邊,例如從結點X到結點Y, 2242 10 / \ \ 100 則從結點X到結點Y耗費的費用記作C(X,Y)=10; 2243 / \30 \ 若兩個結點間沒有邊,例如結點x到結點U, 2244 (Y) \ (W) 則結點X到結點U耗費的費用記作C(X,U)=∞; 2245 50 \ 10╳ /60 2246 (U)--(V) 2247 20 2248 2>路由選擇演算法分類 2249 ┌-----------+------+-----------------+---------------------------2250 | 分類標準 |子分類| 適用演算法 | 典型演算法 | 2251 |-----------+------+-----------------+---------------------------+ 2252 | 是否需要 | 需要 | 全域性式路由選擇演算法| 鏈路狀態路由選擇演算法(LS演算法) | 全狀 2253 | 網路的 |------+-----------------+---------------------------+ 2254 | 完整資訊 |不需要| 分散式路由選擇演算法| 距離向量路由選擇演算法(DV演算法) | 分離 2255 |-----------+------+-----------------+---------------------------+ 2256 | | 靜態 | 人工配置 | | 2257 | 靜動狀態 |------+-----------------+---------------------------+ 2258 | | 動態 | 變化時自動計算路徑| LS演算法 DV演算法 | 2259 |-----------+------+-----------------+---------------------------+ 2260 | | 敏感 | 負載敏感的路由選擇演算法 | 2261 | 是否敏感 |------+---------------------------------------------+ 2262 │ | 遲鈍 | 負載遲鈍的路由選擇演算法 | 2263 +-----------+------+---------------------------------------------+ 2264 2265 2.鏈路狀態路由選擇演算法(LS演算法) 2266 鏈路狀態路由選擇演算法是一種全域性式路由選擇演算法,每個路由器在計算路由時, 2267 需構建整個網路拓撲圖(利用Dijkstra(迪傑斯特拉演算法)求最短路徑) 2268 ┌--------+-----------------------------------------------------------+ 2269 | D(v) | 到本次迭代為止,源結點(計算結點)到目的結點v的當前路徑距離 | 2270 +--------+-----------------------------------------------------------+ 2271 | P(v) | 到本次迭代為止,在源結點到目的結點v的當前路徑上,結點v的 前序結點 | 2272 +--------+-----------------------------------------------------------+ 2273 | C(x.y) |結點x與結點y之間直接鏈路的費用,若x和y之間沒有鏈路相連,則c(x,y)=∞| 2274 +--------+-----------------------------------------------------------+ 2275 | S |是儲存從源結點到該結點已求出的最短路徑的 結點集合,初值:源結點本身| 2276 +--------+-----------------------------------------------------------+ 2277 2278 例題:如下圖從X結點出發,分別求 到達Y,U,V,W的最短路徑; 2279 2280 結點X上的路由轉發表 2281 ( X ) +--------+-------------+ 2282 10 / \ \100 | 目的 | 鏈路 | 鏈路: (源結點, 目的結點(可直達)), 2283 / \ W +--------+-------------+ (源結點, 目的前驅(不直達)) 2284 Y 30\ /| | y | (x,y) | 2285 \ ╳ |60 +--------+-------------+ 路由器X上的轉發表只存放 下一跳 路由器,而不是 最終路由器; 2286 50\ 10/ \| | v | (x,v) | 2287 U----V +--------+-------------+ 2288 20 | u | (x,v) | 2289 +--------+-------------+ 2290 | w | (x,v) | 2291 +--------+-------------+ 2292 +-------+-----------+------------+----------+----------+-----------+----------+ 2293 | 迴圈 | S | 每輪選擇結點 |D[y],P[y]| D[u],P[u] | D[v],P[v] |D[w],P[w] | 2294 +-------+-----------+------------+----------+----------+-----------+----------+ 2295 | 0 | {x} | - | 10,y | ∞ | 30,v | 100,w | 2296 +-------+-----------+------------+----------+----------+-----------+----------+ 2297 | 1 | {x,y} | y | | 60,y | 30,v | 100,w | 2298 +-------+-----------+------------+----------+----------+-----------+----------+ 2299 | 2 | {x,v} | v | | 50,v | | 90,v | 2300 +-------+-----------+------------+----------+----------+-----------+----------+ 2301 | 4 | {x,v,u} | u | | | | 60,u | 2302 +-------+-----------+------------+----------+----------+-----------+----------+ 2303 | 5 |{x,v,u,w} | w | | | | | 2304 +-------+-----------+------------+----------+----------+-----------+----------+ 2305 2>如果某個結點在選擇下一跳結點時,有多個結點的最短路徑相同,則選擇結點編號小的結點作為下一跳節點。 2306 3>適用情景:需要全網網路鏈路狀態分組; 2307 例:結點x到 結點y和結點z的路徑代價相同,且都是x到所有下一跳結點中的最短路徑,則選擇y為x的下一跳結點。 2308 下一跳: 只關心 起點 的下一跳 2309 Z +-------+-------------+------------+ 利用Dijkstra最短路徑演算法計算 2310 10/ \2 | 目的 | 下一跳 | 代價 | 結點x 到網路中所有結點的最短路徑, 2311 / \ +-------+-------------+------------+ 填寫表中序號處的內容。 2312 y--4--t | s | w | 6 | 2313 7 / \1 8/ \1 +-------+-------------+------------+ x 2314 / \ / | \ | t | w | 5 | \1 2315 x--3--v 2 s +-------+-------------+------------+ w 2316 \ / \ | / | u | w | 3 | \1 2317 1\ /1 1\ /6 +-------+-------------+------------+ v 2318 w--5--u | v | w | 2 | 1/ \1 2319 +-------+-------------+------------+ y u 2320 | w | w | 1 | \2 2321 +-------+-------------+------------+ t 2322 | y | w | 3 | 2/ \1 2323 +-------+-------------+------------+ z s 2324 | z | w | 7 | 2325 +-------+-------------+------------+ 2326 +---------------+---------+---------+---------+---------+---------+---------+---------+ 2327 | S |D[y],P[y]|D[w],P[w]|D[v],P[v]|D[u],P[u]|D[s],P[s]|D[t],P[t]|D[z],P[z]| 2328 +---------------+---------+---------+---------+---------+---------+---------+---------+ 2329 |{x} | 7,y | 1,w | 3,v | ∞ | ∞ | ∞ | ∞ | 2330 +---------------+---------+---------+---------+---------+---------+---------+---------+ 2331 |{x,w} | | ─ | 2,w | 6,w | | | | 2332 +---------------+---------+---------+---------+---------+---------+---------+---------+ 2333 |{x,w,v} | 3,v | ─ | ─ | 3,v | | 10,v | | 2334 +---------------+---------+---------+---------+---------+---------+---------+---------+ 2335 |{x,w,v,u} | ─ | ─ | ─ | ─ | 9,u | 5,u | | 2336 +---------------+---------+---------+---------+---------+---------+---------+---------+ 2337 |{x,w,v,u,t} | ─ | ─ | ─ | ─ | 6,t | ─ | 7,t | 2338 +---------------+---------+---------+---------+---------+---------+---------+---------+ 2339 |{x,w,v,u,t } | ─ | ─ | ─ | ─ | ─ | ─ | 7,t | 2340 +---------------+---------+---------+---------+---------+---------+---------+---------+ 2341 |{x,w,v,u,t,z} | ─ | ─ | ─ | ─ | ─ | ─ | ─ | 2342 +---------------+---------+---------+---------+---------+---------+---------+---------+ 2343 2344 3.距離向量路由選擇演算法(DV演算法) 2345 1>距離向量路由選擇演算法的基礎是Bellman-Ford方程(簡稱B-F方程); 2346 令dx(y)表示結點x到結點y的路徑的最低費用,根據B-F方程,有以下公式: 2347 dx(y)=min{c(x,v)+dv(y)} v∈{x的鄰居} 2348 Y---3---Z x到z, z到z x到Y Y到Z 2349 \ / dx(z)=min{c(x,z)+dz(z), C(x,y)+dy(z)} 2350 2 7 =min(7+0, 2+3) 2351 \ / =min(7, 5) 2352 X =5 2353 所以得到結點x到結點y的最短路徑是{x,y,z} 2354 2355 2>網路中每個結點x,估計自己到網路中結點y的最短距離,記為Dx(y)稱為結點x的距離向量; 2356 2357 3>適用網路規模範圍:需要在鄰居路由器之間交換距離向量; 2358 *1.路由器分別維護自己的轉發表(Dv),並收到鄰居的通告; 2359 *2.收到通告會進行對比更新; 2360 2361 4.層次化路由選擇 2362 1>作用:實現大規模路由選擇最有效、可行的解決方案 2363 2364 2>自治系統(autonomous system, AS) 2365 網際網路按組織邊界、管理邊界、網路技術邊界或功能劃分為多個自治系統, 2366 每個自治系統由執行 相同 路由協議和路由選擇演算法的路由器組成; 2367 2368 3>閘道器路由器:每個AS存在至少一個與其他AS互連的路由器(例如:3C, 2C 1A ); 2369 3B----3A 2B--3A 閘道器路由器過濾路由的規則: 2370 \AS3/ \AS2/ 1)本地偏好值屬性,這個屬性由AS網路管理員來設定,具有最高偏好值的路由被選擇 2371 3C 2c 2)若多條路由具有相同的本地偏好值,那麼具有最短AS-PATH的路由將被選擇; 2372 \ / 3)若多條路由具有相同的本地偏好值即相同長度的AS-PATH,那麼具有最近NEXT-HOP的路由將被選擇; 2373 1B---1A 2374 \AS1/ 2375 1C 2376 2377 4>層次化路由選擇原理 2378 將大規模網際網路的路由劃分為兩層: 2379 1.自治系統 內 路由選擇: 計算到達自治系統內目的網路的路由; 2380 2.自治系統 間 路由選擇:負責其他自治系統網路的可達性資訊;(通過閘道器路由器轉發表) 2381 2382 5>路由器轉發表: 2383 由自治系統內路由選擇協議和自治系統間路由選擇協議 共同設定 2384 轉發表包含的主要資訊有網路地址、子網掩碼、下一跳地址以及路由器介面; 2385 2386 5.層次化路由選擇相關協議 2387 1>Internet自治系統內路由選擇協議稱為:內部閘道器協議(IGP,Interior Gateway Protocol); 2388 1)路由資訊協議(RIP,Routing Information Protocol) 2389 RIP:廣泛使用,基於距離向量路由選擇演算法的IGP 2390 RIP報文:封裝進UDP資料報 2391 RIP特性: 2392 *1.在度量路徑時採用的是跳數; 2393 *2.RIP的費用定義在源路由和目的子網之間; 2394 *3.RIP被限制的網路直徑不超過 15跳 的自治系統內使用; 2395 路由器間能收到通告,之間距離為1跳; 2396 2397 2)例題 2398 設網路中路由器使用RIP協議,路由器B的當前路由表如表1所示, 2399 B收到從路由器C發來的路由資訊,如表2所示,試給出路由器B更新後的路由表; 2400 2401 B的路由表 C的路由資訊 2402 +---------+------+-----------+ +---------+------+ 2403 | 目的網路 | 距離 | 下一跳路由 | | 目的網路 | 距離 | 2404 +---------+------+-----------+ +---------+------+ 2405 | N1 | 7 | A | | N2 | 4 | 2406 +---------+------+-----------+ +---------+------+ 2407 | N2 | 2 | C | | N3 | 8 | 2408 +---------+------+-----------+ +---------+------+ 2409 | N6 | 8 | F | | N6 | 4 | 2410 +---------+------+-----------+ +---------+------+ 2411 | N8 | 4 | E | | N8 | 3 | 2412 +---------+------+-----------+ +---------+------+ 2413 | N9 | 4 | F | | N9 | 5 | 2414 +---------+------+-----------+ +---------+------+ 2415 2416 路由B更新後的路由表(相鄰代表隔1跳) 2417 +---------+------+-----------+ 2418 | 目的網路 | 距離 | 下一跳路由 | 2419 +---------+------+-----------+ 2420 | N1 | 7 | A | 表C中沒有達到N1的資訊,所以不變 2421 +---------+------+-----------+ 2422 | N2 | 5 | C | B-1->C C-4->N2 =>B->N2=4+1=5 2423 +---------+------+-----------+ 2424 | N3 | 9 | C | B-1->C C-8->N3 =>B->N3=1+8=9 2425 +---------+------+-----------+ 2426 | N6 | 5 | C | B-1-C C-4->N6 =>B->N6=1+4=5 2427 +---------+------+-----------+ 2428 | N8 | 4 | E | B->C->N8 等於 B->E->N8 不變 2429 +---------+------+-----------+ 2430 | N9 | 4 | F | B->F->N9 小於 B-C->N9 不變 2431 +---------+------+-----------+ 2432 2433 2)開放最短路徑優先協議(OSPF,Open Shortest Path First) 2434 *1.OSPF的優點: 2435 #1.安全 2436 #2.支援多條 相同 費用路徑; 2437 #3.支援區別化費用度量; 2438 #4.支援單播路由與多播路由; 2439 #5.分層路由; 2440 2441 *2.OSPF分類 2442 | 2443 AS邊界路由器 2444 / \ 主幹區 2445 主幹路由器 \ 2446 / 區域邊界路由器1 區域3 2447 區域1 區域邊界路由器1 \ 2448 / 區域邊界路由器2 2449 區域邊界路由器2 2450 2>Internet自治系統間路由選擇協議稱為:外部閘道器協議(EGP,Exterior Gateway Protocol); 2451 1)邊界閘道器協議(BGP,Border Gateway Protocol) 2452 實現跨自治系統的路由資訊交換,典型版本是BGP4 2453 BGP應用程序實現的,傳輸層使用TCP; 2454 每個AS可以通過BGP實現如下功能: 2455 *1.從相鄰AS獲取某子網的可達性資訊; 2456 *2.向本AS內部的所有路由傳播跨AS的某子網可達性資訊; 2457 *3.基於某子網可達資訊和AS路由策略,決定到達該子網的最佳路由; 2458 2459 2)BGP主要有4種報文 2460 *1.OPEN(開啟)報文: 用於與BGP對等方建立BGP會話; 2461 *2.UPDATE(更新)報文: 用於通告某一路由可達性資訊,或撤銷已有路由; 2462 *3.KEEPALIVE(保活)報文: 用於開啟報文的確認,或週期性地證實會話的有效; 2463 *4.NOTIFICATION(通知)報文: 用來通告差錯; 2464 2465 3)比較重要的路由屬性 2466 *1.AS-PATH 即AS路徑,是到達字首需要經過的AS路徑,該屬性包含一條路由已經通知過的AS,可預防重複通告; 2467 *2.NEXT-HOP 一個開始AS-PATH的路由器介面 2468 2469 3>Internet路由選擇協議 2470 +-----------+----------------+-----------------+ 2471 | 協議名稱 | 封裝 | 適用範圍 | 2472 +-----------+----------------+-----------------+ IGP 2473 | RIP | UDP資料報 | 較小規模AS內 | 2474 +-----------+----------------+-----------------+ 2475 | OSPF | IP資料報 | 大規模AS內 | 2476 +-----------+----------------+-----------------+ 2477 | BGP | TCP | 跨AS | EGP 2478 +-----------+----------------+-----------------+ 2479 2480 2481 第5章 資料鏈路層與區域網 2482 (一)資料鏈路層服務 2483 1.資料鏈路層提供的服務內容 2484 1)結點: 主機、路由器; 2485 2)鏈路: 網路中兩個結點之間的物理通道; 2486 3)資料鏈路:網路中兩個結點之間的邏輯通道,把實現控制資料傳輸協議 2487 (TCP協議)的硬體和軟體加到鏈路上就構成資料鏈路; 2488 4)資料鏈路層: 負責通過一條鏈路,從一個結點向另一個物理鏈路直接相連 2489 的相鄰結點,傳送網路資料報,中間不經過任何其他交換結點; 2490 2491 5)資料鏈路在物理鏈路之上,基於通訊協議來控制資料幀傳輸的邏輯資料通路, 2492 2493 6)實現資料鏈路層協議的典型硬體實體是: 網路介面卡(NIC,網絡卡); 2494 2495 7)資料鏈路層的傳輸單元是: 幀; 2496 2497 8)資料鏈路層提供的服務(4條): 組幀、鏈路接入、可靠交付、差錯控制 2498 *1.組幀(成幀) 2499 幀頭(幀首):傳送結點和接收結點的地址資訊、定界字元(區分幀頭); 2500 幀尾:用於差錯檢測的差錯編碼,定界字元(區分幀尾);01111110 2501 2502 傳送結點 接收結點 2503 │資料報│ │資料報│ 2504 ↓ ↑ 2505 |幀頭(幀首)|資料報|幀尾|----->|幀頭(幀首)|資料報|幀尾| 2506 加 加 減 減 2507 2508 *2.鏈路接入 2509 物理鏈路可分為 點對點鏈路 和 廣播鏈路 兩大類; 2510 點對點鏈路:傳送結點和接收結點獨佔通道; 2511 廣播鏈路:通訊鏈路多被多個結點共享; 2512 採用 分組儲存轉發 和 路由選擇機制 是點對點式鏈路和廣播式鏈路的重要區別之一; 2513 2514 *3.可靠交付 2515 無線鏈路(出錯率高):支援可靠資料傳輸;(電磁波) 2516 光纖,雙絞線(出錯率低): 不提供可靠資料傳輸服務; 2517 2518 *4.差錯控制 2519 資料鏈路層幀在物理媒介上的傳播過程,可能會出現位元翻轉的差錯; 2520 誤位元率:出現差錯的位元數/傳輸位元總數; 2521 2522 (二)差錯控制 2523 1.差錯控制的基本方式 2524 1>噪聲導致的傳輸差錯 2525 1)隨機噪聲: 隨機差錯 或 獨立差錯; 2526 2)衝擊噪聲: 突發差錯, 通常是連續成片的資訊差錯,差錯之間具有相關性,差錯通常集中發生 2527 (物理通道) 在某段資訊,突發錯誤發生在第一位錯誤與最後一位錯誤之間的長度稱為 突發長度; 2528 2529 2>差錯控制(4種) 2530 通過差錯編碼技術,實現對資訊傳輸差錯的檢驗,並基於某種機制執行差錯糾正和處理; 2531 具體措施:(檢錯重發, 前向糾錯, 反饋校驗, 檢錯丟棄) 2532 *1.檢錯重發(利用差錯編碼) 2533 傳送端: 待發送資料進行差錯編碼,然後傳送; 2534 接收端: 利用差錯編碼檢測資料是否出錯,若出錯,接收端請求傳送端重發資料加以糾正; 2535 2536 *2.前向糾錯(FEC,Forward Error Correction)(利用糾錯編碼) 2537 傳送端: 對資料進行糾錯編碼,然後傳送; 2538 接收端: 收到資料,利用糾錯編碼進行差錯檢測,且糾錯; 2539 適用: 單工鏈路 或 對實時性要求比較高的應用; 2540 2541 *3.反饋校驗 2542 接收端:將收到的資料 原封不動 發回傳送端; 2543 傳送端:通過 對比 接收端反饋的收據與傳送的資料確認 2544 接收端是否正確接收已傳送資料,若有不同,立即重傳資料; 2545 2546 優點:原理簡單,易於實現,無須差錯編碼 2547 缺點: 需要相同傳輸能力的反向通道,傳輸效率低,實時性差; 2548 2549 *4.檢錯丟棄: 2550 網路應用對可靠性要求不高,可採用不糾正出錯資料,直接丟棄錯誤資料, 2551 適用於實時性較高的系統; 2552 2553 +-------------------+-----------------+ 2554 | 差錯控制基本方法 | 特點 | 2555 +-------------------+-----------------+ 2556 | 檢錯重發 | 重發資料加以糾正 | 2557 +-------------------+-----------------+ 2558 | 前向糾正 | 檢錯、定位、糾正 | 2559 +-------------------+-----------------+ 2560 | 反饋校驗 | 資料返回 | 2561 +-------------------+-----------------+ 2562 | 檢錯丟棄 | 實時性較高的系統 | 2563 +-------------------+-----------------+ 2564 2565 2566 2.差錯編碼的基本原理 2567 夏農通道編碼定理指出:對於一個給定的有干擾通道,只要傳送端以低於通道容量C 2568 的資料速率R傳送資訊,則一定存在一種編碼方法,使得編碼錯誤概率P隨著碼長n的 2569 增加而按指數下降至任意小的值; 2570 2571 在待傳輸(或待保護)資料資訊基礎上,附加一定的冗餘資訊,該冗餘資訊與資料資訊 2572 建立某種關聯關係(複製一次等);將資料資訊以及附加的冗餘資訊一同傳送到接收端, 2573 接收端可以檢測冗餘資訊表徵的資料資訊的關聯關係是否存在,如果存在則沒有錯誤, 2574 否則有錯誤; 2575 例如:傳送端向接收端傳送2位資料資訊,如果不進行差錯編碼,則接收端可能收到: 2576 00011011、如果進行差錯編碼:增加兩位冗餘資訊:對資料進行一次複製, 2577 經過差錯編碼後,4個碼字分別為:0000,0101,1010,1111;接收端收到碼字後,如果 2578 發生了1位差錯,比如收到1011,10和11不滿足複製關係,則斷定出現差錯, 2579 2580 2581 2582 3.差錯編碼的檢錯與糾錯能力 2583 1>不同差錯編碼的檢錯和糾錯能力不同; 2584 差錯編碼的檢錯或糾錯能力與 編碼集 的 漢明距離 有關; 2585 *1.編碼集: 差錯編碼的所有有效碼字的集合; 2586 *2.編碼集的漢明距離:編碼集中任意兩個碼字之間漢明距離的最小值;記為ds; 2587 編碼集{1010,0101,1111,0000} 2588 漢明距離: 2589 表示兩個(相同長度)字對應位不同的數量,我們以d(x,y)表示兩個字x,y之間的 2590 漢明距離,對兩個字串進行異或運算(同假異真),其結果為1的個數即漢明距離; 2591 就是兩個等長碼字之間,對應位數不同的位數; 2592 例如:0101110101001001 漢明距離dc=2 2593 編碼集{1010010111110000} 2594 10100101=4; 10101111=2; 10100000=2; 2595 01011111=2; 01010000=2; 11110000=4; 2596 編碼集的漢明距離:ds=min{422224} 2597 編碼集的漢明距離: ds=2;//最小漢明距離越大,碼組越具有抗干擾能力; 2598 2599 2>檢錯編碼 2600 對於檢錯編碼,若編碼集的漢明距離ds=r+1,則該差錯編碼可以檢測r位的差錯; 2601 例:傳送2位資料資訊,冗餘資訊是資料的一次複製 2602 編碼集{0000010110101111} 2603 ds=r+1=2=1+1,r=1, 因此可以檢測出1位差錯 2604 2605 3>糾錯編碼 2606 對於糾錯編碼,若編碼集的漢明距離ds=2r+1,則該差錯編碼可以糾正r為差錯; 2607 例如:傳送2位資料資訊,冗餘資訊是資料的兩次複製; 2608 編碼集{000000010101101010111111} 2609 ds=3=2*1+1,因此可以糾正出1位差錯; 2610 2611 若發生1位差錯,則錯碼距離發生錯誤的有效碼字的漢明距離最近,可恢復為有效碼字; 2612 若收到碼字為100010,下列碼字那個為有效碼字; 2613 100010與000000,010101101010,111111的漢明距離分別為: 2614 2 5 1 4 2615 則有效碼字為101010 , 用有效碼字替換收到碼字; 2616 2617 4.典型的差錯編碼 2618 典型的差錯編碼: 奇偶校驗碼、迴圈冗餘碼; 2619 異或邏輯運算;符號:⊕ , 11=0;10=1;00=0;01=1;(同假異真) 2620 2621 1>奇偶校驗碼 2622 *0.最簡單的檢驗碼,利用1位冗餘資訊實現差錯檢測,分為 奇校驗碼、偶校驗碼; 2623 *1.奇校驗碼 2624 1位冗餘位的取值為0或1,使得編碼後的碼字中 1的個數 為 奇數; 2625 例如:資料10110111,採用奇校驗碼編碼後的碼字為:10110111|1 7個1 ; 2626 資料10110110,採用奇校驗碼編碼後的碼字為:10110110|0 5個1 ; 2627 2628 *2.偶校驗碼 2629 1位冗餘位的取值為0或1,使得編碼後的碼字中 1的個數 為 偶數數; 2630 例如:資料10110111,採用偶校驗碼編碼後的碼字為:10110111|0 6個1 ; 2631 資料10110110,採用偶校驗碼編碼後的碼字為:10110110|1 6個1 ; 2632 2633 *3.優點:編碼簡單、編碼效率高、開銷最小的檢錯編碼; 2634 *4.缺點:檢錯率不高; 2635 2636 2>迴圈冗餘碼( CRC碼,Cyclic Redundancy Check) 2637 *0.地位:在 資料鏈路層 廣泛應用的差錯編碼;(檢錯碼) 2638 *1.基本思想 2639 將二進位制位串看成是係數為0或1的多項式的係數; 2640 例如: 100101有6位,寫一個多項式,位串的數字就是每個多項式的係數 2641 +-----------+------+--------+------+-------+--------+------+ 2642 | 多項式拆解 | X^5 | X^4 | X^3 | X^2 | X^1 | X^0 | 2643 +-----------+------+--------+------+-------+--------+------+ 2644 | 位串 | 1 | 0 | 0 | 1 | 0 | 1 | 2645 +-----------+------+--------+------+-------+--------+------+ 2646 | 相乘 | 1*X^5 | 0*X^4 | 0*X^3 | 1*X^2 | 0*X^1 | 1*X^0| 2647 +-----------+------+--------+------+-------+--------+------+ 2648 多項式:X^5+X^2+1;//任何數的0次方都為1; 第0位, 第2位 第5位為1; 2649 2650 *3.編碼過程: 2651 1)在幀的低位端加上r個0位,使該幀擴充套件為m+r位(相當於左移r位).對應多項式為X^rM(x); 2652 2)用G(x)係數對應的位串,去除(模2除法) X^rM(x)係數對應的位串,求的r為餘數R; 2653 3)用XrM(x)係數對應的位串,減(模2減法)去餘數R,結果就是完成CRC編碼的幀; 2654 2655 *4.方法總結:用編碼多項式G(x),對為串進行CRC編碼; 2656 第1步: 寫出多項式對應的位串,並確定有r位 (r=多項式x的最高指數冪+1, x^r); 2657 第2步: r-1的值是需要在待編碼為串後面新增0的個數:新增(r-1)個0; 2658 第3步: 用得到的新的待編碼位串除以多項式對應的位元串; 2659 第4步: 求得的 餘數 新增在待編碼位串後,即為CRC編碼後的碼; 2660 2661 例:假設CRC編碼採用的生成多項式G(x)=x^4+x+1,請為位串10111001進行CRC編碼; 2662 第1步:寫出多項式對應的位串 2663 +-----------+--------+------+-------+--------+------+ 2664 | 多項式拆解 | X^4 | X^3 | X^2 | X^1 | X^0 | 2665 +-----------+--------+------+-------+--------+------+ 2666 | 位串 | 1 | 0 | 0 | 1 | 1 | (5位) 2667 +-----------+--------+------+-------+--------+------+ 2668 第2步:5-1的值是需要在待編碼為串後面新增0的個數:新增4個0, r=4;//x^4 2669 待編碼位串: 10111001------101110010000 2670 2671 第3步:用得到的新的待編碼位串(101110010000)除以多項式對應的位元串(10011); 2672 10100111 2673 10011101110010000 2674 10011 2675 10000 模2減法運算為:1-1=00-1=11-0=10-0=0//無進位,無借位 2676 10011 相當於異或運算;同0異1;同假異真; 2677 11100 2678 10011 2679 11110 2680 10011 2681 11010 2682 10011 2683 1001 (最終餘數) 2684 第4步:求得的餘數(1001)新增在待編碼位串後,即為CRC編碼後的碼: 10111001|1001 2685 2686 題1.設生產多項式G(X)=X^4+X^2+X+1,求對位串100111011101進行CRC編碼後的結果; 2687 1>將多項式轉換成對應的位串: 2688 +-----------+--------+------+-------+--------+------+ 2689 | 多項式拆解 | X^4 | X^3 | X^2 | X^1 | X^0 | 2690 +-----------+--------+------+-------+--------+------+ 2691 | 位串 | 1 | 0 | 1 | 1 | 1 | (5位) 2692 +-----------+--------+------+-------+--------+------+ 2693 2>待編碼位串:100111011101 補4位0得新待編碼位串 1001110111010000 2694 3>新待編碼位串/以多項式對應的位元串得餘數為1100;(過程如下) 2695 1010000000 2696 101111001110111010000 2697 10111 模2減法運算為:1-1=00-1=11-0=10-0=0 2698 10010 相當於異或運算;同0異1;同假異真; //無進位,無借位 2699 10111 2700 10111 2701 10111 2702 10100 2703 10111 2704 1100 2705 4>待編碼位串+上步餘數=100111011101|1100 2706 2707 *5.接收方在收到帶校驗和的幀後,怎樣判斷是否有錯? 2708 收到的串除以多項式對應的位元串; 2709 餘數為0,無錯, 餘數不為0,有錯,丟棄; 2710 2711 *6.優選的典型G(x) 2712 +----------------+----------------------------------------------------+ 2713 |名稱 | 生成多項式 | 2714 +----------------+----------------------------------------------------+ 2715 |CRC-12 | x12+x11+x3+x2+x+1 | 2716 +----------------+----------------------------------------------------+ 2717 |CRC-16 | x16+x15+x2+1 | 2718 +----------------+----------------------------------------------------+ 2719 |CRC-CCITT | x16+x12+x5+1 | 2720 +----------------+----------------------------------------------------+ 2721 |CRC-32-IEEE802.3| x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 | 2722 +----------------+----------------------------------------------------+ 2723 |CRC-64-ISO | x64+x4+x3+x+1 | 2724 +----------------+----------------------------------------------------+ 2725 2726 (三)多路訪問控制協議 2727 0.資料鏈路層使用的通道 2728 1> 點對點通道,一對一通訊方式,通道被雙方獨享;如撥號上網; 2729 2> 廣播通道(共享介質),一對多通訊方式,通道上連線的點很多,通道被結點共享; 如匯流排乙太網, WIFI 2730 2731 兩個或兩個以上結點同時傳輸資料: 衝突->接收失敗; 2732 2733 多路訪問控制(Multiple Access Control,MAC)協議; 2734 2735 MAC協議的根本任務: 解決通道的共享問題(填空選擇); 2736 2737 1.通道劃分MAC協議 2738 0>通道劃分MAC協議:利用多路複用技術實現通道共享的MAC; 2739 多路複用的基本思想: 將通道資源劃分後,分配給不同的結點, 2740 各結點通訊時只使用其分配到的資源,避免多結點通訊時的相互干擾; 2741 2742 1>頻分多路複用(FDM,Frequency-division multiplexing) 2743 在頻域內將通道頻寬劃分為多個子通道,將原始訊號調製到對應的某個子通道的載波訊號上, 2744 使同時傳輸的多路訊號在整個物理通道頻寬的允許範圍內 波譜不重疊, 從而共用一個通道; 2745 2746 訊號1-> 2747 | 訊號1 2748 └------------------- \ 2749 訊號2-> 2750 | 訊號2 訊號1 訊號2 訊號3 2751 └------------------- -> └------------------- -> 2752 訊號3-> 2753 | 訊號3 2754 └------------------- / 2755 頻率/HZ 頻率/HZ 頻分多路複用後 2756 調製前 調製後 2757 2758 *1.優點:分路簡單,目前模擬通訊中常採用,特別是有線和微波通訊; 2759 *2.缺點:訊號之間相互干擾,即串擾; 2760 所需裝置輸入路數增大而增多; 2761 不提供差錯檢測,不便於效能監測; 2762 2763 2764 2>時分多路複用(TDM,Time-Division Multiplexing) 2765 在時域內將通訊通道的傳輸訊號劃分為多個等長的 時隙, 每路訊號佔用不同的時隙, 2766 使多路訊號合用單一的通訊通道在時域上不重疊,從而實現通道共享; 2767 2768 *1.同步時分多路複用(STDM,Synchronism Time-Division Multiplexing) 2769 按照固定順序把時隙分配給各路訊號; 2770 2771 *2.非同步時分多路複用(ATDM,Asynchronism Time-Division Multiplexing) 2772 統計時分多路複用(STDM,Statistic Time-Division Multiplexing) 2773 時隙和使用者間沒有固定的對應關係; ATM採用的就是非同步時分複用方式 2774 2775 2776 3>波分多路複用(WDM,Wave Division Multiplexing) 2777 廣泛用於光纖通訊,在光纖通訊中,光載波頻率很高,通常用光的波長代替頻率討論; 2778 在光纖通訊中,為了實現長距離的高速傳輸,通常採用 波分多路複用 和 光纖放大器; 2779 2780 2781 4>碼分多路複用(CDM,Code Division Multiplexing) 2782 通過利用更長的 相互正交的碼組 分別 編碼各路原始資訊 的每個碼元(比如1位), 2783 使得編碼後的訊號(已調訊號)在同一通道中混合傳輸,接收端利用碼組的正交特性分離各路訊號, 2784 從而實現通道的共享, 是一種 擴頻 的通訊形式; 2785 相互正交: 碼組1:{1,0,1} 2786 碼組2:{0,1,0} 2787 1×0+0×1+1×0=0 2788 2789 2.隨機訪問MAC協議 2790 所有使用者都可以根據自己的意願隨機地向通道傳送資訊, 2791 沒有其他使用者: 傳送成功; 2792 有兩個及以上使用者: 2793 產生 衝突或碰撞,使用者傳送資訊失敗,每個使用者隨機退讓一段時間後,再次嘗試,直至成功; 2794 2795 1>ALOHA協議(只說不聽): 2796 最早的, 最基本的 無線資料通訊協議; 2797 ╭純ALOHA 2798 ALOHA協議分類< 2799 ╰時隙ALOHA 2800 1)純ALOHA 2801 *1.工作原理: 2802 任何一個站點有資料傳送時就可以直接傳送至通道;傳送資料後對通道進行偵聽: 2803 如果收到應答訊號,說明發送成功;否則說明發生衝突,等待一個隨機時間重新發送,直至成功; 2804 2805 *2.效能: 2806 G網路負載:表示在一幀的傳送時間內傳送的平均幀數; 2807 S吞吐率: 在一幀的傳送時間內成功傳送的平均幀數; 2808 網路負載率不能大於0.5;//G≤0.5 2809 2810 2)時隙ALOHA 2811 *1.工作原理: 2812 把通道時間劃分為離散的時隙,每個時隙為傳送一幀所需的時間,每個通訊站點 2813 只能在每個時隙開始的時刻傳送幀,如果在一個時隙內傳送幀出現衝突,下一個 2814 時隙以 概率P 重發該幀,指導幀傳送成功, P不能為1 ,否則會出現 死鎖; 2815 2816 *2.效能:網路負載不能大於1;//G≤1 2817 2818 2>載波監聽多路訪問協議(CSMA,Carrier Sense Multiple Access) 2819 *1.工作原理(先聽後說) 2820 通過硬體裝置(載波監聽裝置),在通訊站傳送資料之前, 2821 先監聽通道上其他站點是否在傳送資料,如果在傳送,則暫時不傳送; 2822 2823 *2.分類:根據監聽策略不同:非堅持CSMA; 1-堅持CSMA; P-堅持CSMA; 2824 1)非堅持CSMA: 2825 若通訊站有資料傳送,先偵聽通道,若發現通道空閒,則立即傳送資料,若發現通道忙, 2826 則等待一個隨機時間,然後重新開始偵聽通道,嘗試傳送資料,若傳送資料時產生衝突, 2827 則等待一個隨機時間,然後重新開始偵聽通道,嘗試傳送資料; 2828 2829 2)1-堅持CSMA: 2830 若通道站有資料傳送,先偵聽通道,若發現通道空閒,則立即傳送資料,若發現通道忙, 2831 則繼續偵聽通道直至發現通道空閒,然後立即傳送資料; 2832 2833 3)P-堅持CSMA(適用於時隙通道(即同步劃分時隙)): 2834 若通訊站有資料傳送,先偵聽通道,若發現通道空閒,則以概率P在最近時隙開始時刻 2835 傳送資料,以概率Q=1-P延遲至下一個時隙傳送, 若下一個時隙仍空閒,重複此過程, 2836 直至資料發出或時隙被其他通訊站佔用,若通道忙,則等待下一個時隙,重新開始傳送過程, 2837 若傳送資料時發生衝突,則等待一個隨機時間,然後重新開始傳送過程; 2838 2839 3>帶衝突檢測的載波監聽多路訪問協議(CSMA/CD ,CSMA/Collision Detection)(選擇,綜合) 2840 *1.工作原理(先聽後說,邊聽邊說) 2841 通訊站點使用CSMA協議進行資料傳送,在傳送期間如果能檢測到碰撞,立即終止傳送,併發出 2842 一個 衝突強化訊號,使所有通訊站點都知道衝突的發生,發出衝突強化訊號後,等待一個 2843 隨機時間,在重複上述過程; 2844 2845 *2.CSMA/CD的工作狀態分為: 傳輸週期、競爭週期、空閒週期; 2846 通道有3中狀態: 傳輸狀態、競爭狀態、空閒狀態; 2847 2848 *3.使用CSMA/CD協議實現多路訪問時,通過共享通道通訊的兩個通訊站之間相距的最遠距離D, 2849 訊號的傳播速度V,資料幀長度L,以及通道資訊傳輸速率R之間滿足以下約束: 2850 資料幀最小長度 兩通訊站之間的最遠距離 2851 ↓ ↗ 2852 Lmin/R ≥ 2Dmax/V => 資訊傳輸時延≥2個資訊傳播時延 2853 ↑ ↑ (最大沖突檢測時間:一個往返傳播時延=>1個訊號傳播+1個衝突訊號返回傳播) 2854 資訊傳輸速率 ≥ 2倍的訊號傳播速率 2855 2856 例1:在一個採用CSMA/CD協議的網路中,傳輸介質是一根完整的電纜,資料傳輸速率為1Gbit/s, 2857 電纜中的訊號傳播速度是200000Km/s,若最小資料幀長度減少800bit, 2858 則最遠的兩個站點之間的距離至少需要減少多少; 2859 L=800bit 2860 V=200000Km/s 2861 R=1Gbit/s 2862 D=[(L/R)•V]/2=(800×200000000/1000000000)/2=160/2=80m 2863 2864 例2.設有長度為1km,資料傳輸速率為10Mbps的乙太網,訊號傳播速度為200m/μs, 2865 求MAC幀的最小幀長度; 2866 D=1×10^3 m R=1×10^7 bit/s; 2867 V=200×10^6=2×10^8 m/s 2868 由 L/R=2D/V 2869 得:L/1×10^7=2×10^3/2×10^8; 2870 L=1×10^(-510^7=100bit 2871 2872 2873 3.受控接入MAC協議 2874 各個使用者不能隨意的接入通道而必須服從一定的控制; 2875 分類: 集中式控制、分散式控制; 2876 2877 1>集中式控制: 2878 系統有一個主機負責排程其他通訊站接入通道.從而避免衝突; 2879 方法:輪詢(輪叫輪詢 和 傳遞輪詢) 2880 1 2 ... N-1 N 2881 ↙ ███ ← ███ ← ███ ← ███ 傳遞輪詢 2882 收 ↓↑↑ ↓↑↑ ↓↑↑ ↓↑↑ 2883 ██<----------┘┘↑------┘┘↑-----┘┘↑-------┘↑↑輪叫輪詢 2884 〓 -----------┘--------┘-------┘--------┘↑ 2885 主機---------------------------------------2886 2887 2888 2>分散式控制(令牌技術) 2889 令牌是一種特殊的幀,代表了通訊站使用通道的許可,在通道空閒時 2890 一直在通道上傳輸,一個通訊站想要傳送資料就必須首先獲得 令牌; 2891 ██ 2892 ↗ | ↖ 令牌 2893 ↗ |2894 ██─────◎─────██ 2895 ↘環形|通道 ↗ 2896 ↘ |2897 ██ 2898 2899 3>令牌環的操作過程: 2900 *1.網路空閒時,只有一個令牌在環路上繞行; 2901 2902 *2.當一個站點要傳送資料時,必須等待並獲取一個令牌,將令牌的標誌位置為"1", 2903 隨後便可傳送資料;(空令牌:標誌位置為"0",被佔用:標誌位置為"1"); 2904 2905 *3.環路中的每個站點邊轉發資料,邊檢測資料幀中的目的地址, 2906 若為本站點的地址,便讀取其中所攜帶的資料; 2907 2908 *4.資料幀環繞一週返回時,傳送站將其從環路撤銷, 即"自生自滅"; 2909 2910 *5.傳送站點完成資料傳送後,重新產生一個令牌傳至下一個站點, 2911 以使其它站點獲得傳送資料幀的許可; 2912 2913 4>令牌丟失 和 資料幀無法撤銷 是環網上最嚴重的兩種錯誤; 2914 2915 (四)區域網(LAN) 2916 1.資料鏈路層 與 ARP定址 2917 1>區域網(LAN):一般採用 廣播 的方式,區域性區域網路,覆蓋面積小,網路傳輸 速率高,傳輸的 誤位元速率低; 2918 2>為了使資料鏈路層更好的適應多種區域網標準,IEEE802委員會將區域網的資料鏈路層拆分為兩個子層: 2919 *1.邏輯鏈路控制(Logical Link Control,LLC)子層(面向網路層, 名存實亡) 2920 *2.介質訪問控制MAC子層;//在資料鏈路層子層中,與介質訪問控制有關的子層; 2921 2922 3>MAC地址(實體地址、區域網地址) 2923 MAC地址具有 唯一性,每個介面(網路介面卡,NIC)對應一個MAC地址; 2924 *1.乙太網和IEEE 802.11無線區域網,使用的MAC地址長度為 6位元組,共2^48個可能的MAC地址; 2925 48位 的MAC地址通常採用 十六進位制 表示法,每個位元組表示一個十六進位制,用-或:連線起來; 2926 例如: 00-2A-E1-76-8C-3900:2A:E1:76:8C:39 2927 補充:十六進位制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F; 2928 2929 *2.MAC地址空間的分配由電器和電子工程協會(IEEE,Institute of Electrical and Electronics 2930 Engineers)統一管理;MAC共48位,IEEE負責分配MAC地址前24位的MAC地址塊,廠商自己分配後24位; 2931 2932 *3.MAC廣播地址: FF-FF-FF-FF-FF-FF ; 2933 2934 4>地址解析協議(ARP,Address Resolution Protocol) 2935 ARP是根據本網內目的主機或預設閘道器的 IP地址 獲取其 MAC地址;(IP地址到MAC地址的對映) 2936 *1.ARP的基本思想: 2937 在每一臺主機中設定專用記憶體區域,稱為ARP快取記憶體(也稱為ARP表), 2938 儲存該主機所在區域網中,其他主機和路由器的 IP地址 與 MAC地址 的對映關係; 2939 *2.ARP協議內容 2940 1)ARP查詢分組是通過一個 廣播幀 傳送的,而ARP響應分組是通過一個標準的 單播幀 傳送的; 2941 2)ARP是 即插即用的 , 一個ARP表是自動建立的, 他不需要系統管理員來配置; 一般存放20min; 2942 3)即可認為是網路層協議(IP) 也可認為是資料鏈路層協議(MAC); 2943 2944 +--------------+-------------------+----------+ 2945 | IP地址 | MAC地址 | TTL | 2946 +--------------+-------------------+----------+ 2947 | 178.169.1.96 | 00-53-2B-49-1A-1F | 13:45:00 | 2948 +--------------+-------------------+----------+ 2949 | 178.169.1.94 | 00-BD-2A-90-17-C2 | 13:52:00 | 2950 +--------------+-------------------+----------+ 2951 2952 2.乙太網 2953 1>乙太網(IEEE802.3):目前最流行的 有線區域網 技術,無連線不可靠服務; 2954 IEEE802.3MAC幀的起始定界符SFD欄位的位元模式為:10101011 2955 2956 2>乙太網成功的原因(物美價廉)(4條) 2957 *1.乙太網是 第一個 廣泛部署的高速區域網; 2958 *2.令牌環網、FDDI(光纖分散式資料介面)、ATM(非同步傳輸模式)比乙太網更加複雜、昂貴; 2959 *3.乙太網在 資料速率 方面比 FDDI、ATM(只參加第一層功能)毫不遜色; 2960 *4.乙太網硬體價格極其便宜,網路造價成本低; 2961 *5.乙太網在傳送資料時,若發生衝突採用 截斷二進位制指數退避 演算法計算推遲的隨機時間; 2962 2963 3>經典的乙太網是採用 粗同軸電纜 連線的匯流排型 乙太網(10Base-5) 2964 *1.資料傳輸速率為10Mbit/s,無連線不可靠; 2965 *2.相距最遠主機訊號往返的傳播時延為51.2μs,所以乙太網最短幀長為 64位元組; 2966 *3.網段和網段之間用中繼器連線,最多有4箇中繼器; 2967 *4.MAC協議採用CSMA/CD協議(帶衝突檢測的載波監聽多路訪問協議); 2968 *5.Base是採用的基帶傳輸,5是可連線5個網段; 2969 資料傳輸速率為10Mbit/s, 訊號往返的傳播時延為51.2μs,所以乙太網最短幀長為64位元組; 2970 R=10Mbit/s, 2dp=51.2μs; 2971 Lmin/R=2D/V=2dp 2972 L=51.210=512bit=512/8=64位元組; 2973 2974 4>乙太網幀結構 2975 6位元組 6位元組 2位元組 46-1500位元組 4位元組 2976 | 目的地址 | 源地址 | 型別 | 資料 | CRC | 2977 MAC地址 MAC地址 2978 *1.目的地址和源地址: MAC地址; 2979 *2.型別:標識上層協議,例如:0x0800=IP資料報 2980 *3.資料:封裝的上層協議的分組; 2981 *4.CRC:校驗採用迴圈冗餘校驗; 2982 *5.乙太網最短幀長64位元組(首部+資料),18位元組(首部長度),46位元組(資料欄位長度) ; 2983 2984 5>乙太網技術 2985 +-----------+----------------------+---------+-------------------+ 2986 | 分類 | 傳輸介質 |傳輸速率 | 標準 | 2987 +-----------+----------------------+---------+-------------------+ 2988 |10Base-5 | 粗同軸電纜 |10Mbit/s | | 2989 +-----------+----------------------+---------+-------------------+ 2990 |10Base-T | 非遮蔽雙絞線(UTP) |10Mbit/s | IEEE 802.3 | 2991 +-----------+----------------------+---------+-------------------+ 2992 |100Base-T | UTP |100Mbit/s| IEEE 802.3u | 2993 |(快速乙太網)| | | | 2994 +-----------+----------------------+---------+-------------------+ 2995 |千兆位乙太網|光纖,UTP,遮蔽雙絞線(STP)|1000Mb/s |IEEE 802.3標準的擴充套件| 2996 +-----------+----------------------+---------+-------------------+ 2997 |萬兆位乙太網| |10Gbit/s | IEEE 802.3ae | 2998 +-----------+----------------------+---------+-------------------+ 2999 3000 3001 3.交換機 3002 1>交換機:應用最廣泛的資料鏈路層裝置; 實現幀的轉發;(實現儲存-轉發) 3003 3004 網橋:和交換機功能類似,對資料幀實現儲存-轉發, 3005 交換機可以認為是多埠的網橋 3006 3007 集線器(Hub):物理層:轉發資料; 3008 3009 2>乙太網交換機轉發和過濾 3010 *1.交換機的基本工作原理 3011 當一幀達到時,交換機首先需要決策將該幀丟棄還是轉發, 3012 如果是轉發,還必須進一步決策應該將 該幀 轉發到哪個/3013 埠去,決策依據是,以 目的MAC為主鍵 查詢內部轉發表; 3014 轉發表:通過自學演算法建立起來; 3015 3016 *2.乙太網交換機的自學習(建立轉發表) 3017 1)乙太網交換機有4個埠,各連線一臺計算機,其MAC地址分別是A,B,C,D; 3018 2)一開始,乙太網交換機裡面的轉發表是空白的; 3019 3)A向B傳送一個幀,從埠1進入交換機; 3020 4)交換機查詢轉發表,沒找到往哪裡轉發該幀; 3021 5)交換機把這個幀的源MAC地址A和埠1寫入交換表,完成第一次學習; 3022 6)除向埠1以外所有埠泛洪(廣播)這個幀; 3023 7)C和D丟失該幀,B收下該幀; 3024 3025 3>乙太網交換機的優點 3026 1)消除衝突(*1) //交換機可以隔離衝突域,但不能隔離廣播域 3027 2)支援異質鏈路; 3028 3)易於進行網路管理; 3029 3030 *1.衝突域:早期所有主機共享匯流排的一個網路範圍,現在在乙太網中,CSMA/CD 能檢測到衝突的網路範圍; 3031 3032 3033 4.虛擬區域網(VLAN,Virtual Local Area Network) 3034 1)虛擬區域網:是一種基於交換機(必須支援VLAN功能) 邏輯分割(或限制) 3035 廣播域的區域網應用形式,以 軟體 的方式劃分和管理 區域網中的工作組, 3036 限制接收廣播資訊的主機數,不會因傳播過多的廣播訊號而引起效能的惡化; 3037 埠交換(Port Switch) 幀交換(Frame Switch), 信元交換(Cell Switch) 3038 3039 2)劃分虛擬區域網的方法(3種) 3040 *1.基於 交換機埠 劃分; 3041 *2.基於 MAC地址 劃分; 3042 *3.基於 上層協議型別或地址 劃分; 3043 3044 3045 (五)點對點鏈路協議 3046 1.點對點協議(PPP協議,Point to Point Protocol) 3047 1>是全世界使用得最多的點對點鏈路協議,適合單個傳送方和單個接收方的點對點鏈路; 3048 3049 2>PPP主要提供3類功能 3050 1)成幀:確定一幀的開始和結束, 支援錯誤檢測 3051 開始標誌位元組:01111110 3052 結束標誌位元組:01111110 3053 3054 1位元組 1位元組 1位元組 1或2位元組 可變長度 2和4位元組 1位元組 3055 | 標誌 | 地址 | 控制 | 協議 | 資訊 | 校驗和 | 標誌 | 3056 | 01111110 | 11111111 | 00000011 | | | | 01111110 | 3057 3058 2)鏈路控制協議(LCP,Link Control Protocol) 3059 啟動線路、檢測線路、協商引數、關閉線路; 3060 3061 3)網路控制協議(NCP,NetWork Control Protocol) 3062 協商網路層選項; 初始網路引數; 3063 3064 3>PPP是面向位元組的 3065 PPP幀的長度都是整數字節; 3066 遇到資料中有標誌位 01111110時,使用位元組填充技術 3067 在01111110標誌位後,插入特殊的控制轉義位元組01111101; 3068 傳輸資料為 Byte1 01111110 Byte2 3069 PPP幀: Byte1 01111110 01111101 Byte2; 3070 控制欄位是00000011 位元組填充技術 3071 3072 2.高階資料鏈路控制協議(HDLC協議,High-level Data Link Control) 3073 1>應用於點對點鏈路和點對多點鏈路;無站地址不分配給任何站,僅做測試; 3074 3075 2>HDLC幀格式(6位元組) 3076 3077 1位元組 1位元組 1位元組 ≥0位元組 2位元組 1位元組 3078 | 01111110 | 地址 | 控制 | 資料 | 校驗和 | 01111110 | 3079 3080 3>根據控制位的不同,HDLC有3種類型的幀 3081 1)資訊幀(I格式):傳送資料; 3082 2)管理幀(監控幀)(S格式):差錯控制,流量控制 3083 3)無序號幀(U格式):鏈路的建立,拆除 3084 S幀第1,2位為"10"來標誌,第3,4欄位為S幀型別編碼 00(接收就緒),01(拒絕),10(接收未就緒),11(選擇拒絕); 3085 3086 4>HDLC協議是面向位的 3087 使用位填充技術; 3088 資料欄位出現與標誌欄位相同的位元流 1 0 0|0 1 1 1 1 1 1 0|0 1 0 0 1 0 3089 3090 傳送端: 發現5個連續的1後插入0 1 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 0 3091 3092 傳送資料只要連續出現5個1傳送端插入0 3093 接收端: 發現5個連續的1後刪除其後的0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 3094 3095 接收資料只要連續出現5個1,接收端刪除0 3096 3097 5>HDLC中常用的操作方式:(3種) 3098 1)正常響應方式(Normal Responses Mode,NRM) 3099 2)非同步響應方式(Asynchronous Response Mode,ARM) 3100 3)非同步平衡方式(Asynchronous Balanced Mod, ABM) 3101 3102 3103 第六章 物理層 3104 (一)資料通訊基礎 3105 1.資料通訊基本概念 3106 1)資訊與訊息 3107 *1.訊息: 人類能夠感知的描述; 文字/影象/聲音/氣味, 訊息是資訊的載體; 3108 *2.資訊: 對事物狀態或存在方式的不確定性表述; 訊息中包含的有意義的內容; 3109 3110 2)通訊:在一點精確或近似地再生另一點的資訊; 3111 3)通訊系統:能夠實現通訊功能的各種技術、裝置和方法的總體; 3112 4)訊號:在通訊系統中,傳遞資訊需要合適的載體在傳輸道中傳播,這個載體就是訊號; 3113 5)資料:對客觀事物的性質狀態以及相互關係等進行記錄的符號及其組合,(數字、文字、影象/抽象符號) 3114 6)通道: 資訊傳輸的介質 3115 3116 2.資料通訊系統模型 3117 1>資料通訊系統的構成(通訊系統的一般模型):6個部分 3118 1.信源-->2.傳送裝置-->3.通道-->4.接收裝置-->5.信宿 3119 3120 6.噪聲源 3121 1 0 1 0 1 0 1 0 3122 1)信源:將訊息轉換為訊號的裝置; ▁|▔|▁|▔|▁|▔|▁|▔|▁ 信源 3123 3124 ▁╱╲ ╱╲ ▁╱╲ ╱╲ ▁ 傳送裝置 3125 2)傳送裝置(進行編碼和調製) ╲╱ ╲╱ ╲╱ ╲╱ 3126 將信源產生的訊號進行適當變換的裝置; | ↓ | 3127 | ↓ | 通道 3128 3)通道:傳輸訊號的媒介; | ↓ | 噪聲源 3129 | ↓ | 3130 4)接收裝置(進行譯碼和解調) ▁|▔|▁|▔|▁|▔|▁|▔|▁ 接收裝置 3131 完成傳送裝置的反變換 ↓ 3132 1 0 1 0 1 0 1 0 信宿 3133 5)信宿:訊號的終點,將訊號轉換為功人們識別的訊息; 3134 3135 6)噪聲源:自然界和通訊裝置所固有的,對通訊訊號產生干擾和影響的各種訊號; 3136 3137 2>模擬通訊和數字通訊 3138 1)模擬訊號 3139 訊號的因變數完全隨連續訊息的變化而變化的訊號; 3140 ①自變數:可以是連續的,可以是離散的; 3141 ②因變數:一定是連續的(不可列舉); 3142 3143 y(t)↑ 3144 | 3145 | • • • • 3146 | • • • • • • • • 3147 | • • • • • 3148 • • • 3149 |3150 └----------------------------------------> 3151 0 模擬訊號 t 3152 3153 2)數字訊號 3154 ①自變數:離散的(可列舉); 3155 ②因變數:離散的; 3156 ③離散資料是連續資料的取樣; 3157 3158 y(t)↑ 3159 | 3160 | 1 0 1 1 0 0 1 3161 ├──┐ ┌─────┐ ┌───┐ 3162 | | | | | | 3163 | | | | | | 3164 | | | | | | 3165 └--┘-----└-----┘-----└---┘----------> 3166 0 數字訊號 t 3167 3168 3>資料通訊方式 3169 1)資料傳輸方向:單向通訊(單工)、雙向交替通訊(半雙工)和雙向同時通訊(全雙工); 3170 2)資料傳輸時空順序:並行通訊和序列通訊; 3171 1 3172 並行通訊 0 3173 0 3174 |1|0|0|1| 1 3175 3176 序列通訊 1001 3177 3178 3)資料同步技術 3179 非同步通訊:傳送 字元, 不需建立同步時鐘,實現簡單,適用低速網路; 3180 同步通訊:傳送 資料塊, 雙方建立同步時鐘,實現複雜,適用高速網路; 3181 3182 4)資料通訊系統的功能 3183 *1.通道的利用; 3184 *2.介面及訊號產生; 3185 *3.同步; 3186 *4.差錯檢測與糾正; 3187 *5.定址與路由; 3188 *6.網路管理; 3189 *7.安全保證; 3190 3191 5)對於數字電話、數字電視等數字通訊系統,與模擬系統相比 3192 其傳輸具有 保密性好 和 抗干擾性強 兩個顯著的優點; 3193 3194 (二)物理介質 3195 1.導引型傳輸介質(有線通道) 3196 以導線為傳輸介質,訊號沿導線進行傳輸,訊號的能量集中在導線附近, 3197 因此傳輸效率高,但部署不夠靈活;(架空明線, 雙絞線, 同軸電纜, 光纖) 3198 3199 1>架空明線 3200 優點:傳輸損耗較低; 3201 缺點:易受天氣和外界電磁干擾; 3202 對外界噪聲敏感; 3203 頻寬有限; 3204 3205 2>雙絞線 3206 將兩根相互絕緣的銅線並排絞合在一起,可以減少對相鄰導線的電磁干擾, 3207 這樣的一對線稱為 雙絞線; (STP遮蔽雙絞線 和 UTP非遮蔽雙絞線) 3208 3209 1)遮蔽雙絞線(STP):(效能好,價格高,安裝工藝複雜) 3210 (聚氯乙烯套層(遮蔽層(絕緣體(銅線)))) 3211 3212 2)非遮蔽雙絞線(UTP)(適用更普遍) 3213 (聚氯乙烯套層(絕緣體(銅線))) 3214 3215 3)美國電子工業協會規定了 5種 非遮蔽雙絞線(UTP)標準 3216 +-----------+----------+----------------------------------------+ 3217 | UTP分類 | 頻寬/MHz | 典型應用 | 3218 +-----------+----------+----------------------------------------+ 3219 | 3 | 16 | 低速網路,電話網路; | 3220 +-----------+----------+----------------------------------------+ 3221 | 4 | 20 | 10Base-T乙太網 | 3222 +-----------+----------+----------------------------------------+ 3223 | 5 | 100 | 10Base-T乙太網,100Base-T快速乙太網 | 3224 +-----------+----------+----------------------------------------+ 3225 | 5E(超5類) | 100 | 100Base-T快速乙太網, 1000Base-T千兆乙太網 | 3226 +-----------+----------+----------------------------------------+ 3227 | 6 | 250 | 100Base-T千兆乙太網, ATM網路 | 3228 +-----------+----------+----------------------------------------+ 3229 3230 3231 3>同軸電纜 3232 對外界干擾具有較好的遮蔽作用,具有較好的抗電磁干擾效能,目前多用於 有線電視 網路; 3233 (絕緣保護外套(絕緣保護套層(絕緣層(內導體)))) 3234 3235 4>光纖 3236 1)基本原理是利用了光的 全反射 現象; 3237 (包層(纖芯[入射角,折射角]) 3238 ↓ ↘ 3239 低折射率的媒體 高折射率的媒體 3240 3241 2)按光纖內光波傳輸模式的不同: 單模光纖; 多模光纖; 3242 3243 3)光纖優點 3244 *1.光纖通訊容量非常大,最高可達100Gbit/s 3245 *2.傳輸損耗小,中繼距離長,對遠距離傳輸特別經濟; 3246 *3.抗雷電和電磁干擾性好; 3247 *4.無串音干擾,保密性好,也不易被竊聽或擷取資料; 3248 *5.體積小,重量輕; 3249 3250 4)缺點: 易脆斷; 3251 3252 2.非導引型傳輸介質(無線通道) 3253 電磁波在自由空間的傳播; 3254 頻率越高,波長越小; 3255 1>根據電磁波頻率、通訊距離與位置的不同,電磁波的傳播可以分為 3256 +----------------------+---------+-------------------+ 3257 | 電磁波傳播方式 |傳輸速率 | 距離地表高度 | 3258 +----------------------+---------+-------------------+ 3259 | 地波傳播 |2MHz以下 | 沿地表(WIFI) | 3260 +----------------------+---------+-------------------+ 3261 | 天波傳播(電離層反射波) | 2-30MHz | 距離地表60-400Km | 3262 +----------------------+---------+-------------------+ 3263 | 視線傳播(兩點間無障礙) |高於30MHz| 電離層之上(衛星) | 3264 +----------------------+---------+-------------------+ 3265 3266 (三)通道與通道容量 3267 1.通道分類與模型 3268 1>通道:通訊系統中連線傳送端與接收端的通訊裝置,實現從傳送端到接收端的訊號傳送。 3269 1)狹義通道:僅指訊號的傳輸介質; 3270 2)廣義通道:包括傳輸介質和通訊系統中的一些變換裝置;(調製通道(連續通道) 和 編碼通道(離散通道)) 3271 3)廣義通道的分類與組成 3272 3273 信源->編碼器->調製器->發射裝置->傳輸介質->接收裝置->解調器->譯碼器->信宿; 3274 | |----------調製通道---------| | 3275 |-----------------編碼通道-----------------| 3276 3277 *1.編碼通道:數字訊號由 編碼器輸出端 傳輸到 譯碼器輸入端 經過的部分; 輸入/出訊號離散 離散通道 3278 *2.調製通道:從 調製器的輸出端 傳輸到 解調器的輸入端 經過的部分; 輸入/出訊號連續 連續通道 3279 3280 2.通道傳輸特性 3281 不同型別的通道對訊號的影響差異較大:隨參通道 和 恆參通道 3282 1)隨機引數通道(隨參通道):訊號通過通道發生畸變是 時變的。 3283 傳輸特性: 大部分無線通道(依靠地波和天波傳播的無線電通道) 3284 *1.訊號的傳輸衰變隨時間隨機變化; 3285 *2.訊號的傳輸時延隨時間隨機變化; 3286 *3.存在 多徑 傳播現象; 3287 3288 2)恆定引數通道(恆參通道):訊號通過通道發生畸變和 時間無關。 3289 傳輸特性: 各種有線通道和部分無線通道(微波視線傳播鏈路、衛星鏈路) 3290 *1.對訊號幅值產生 固定的 衰減; 3291 *2.對訊號輸出產生 固定的 時延; 3292 3293 3.通道容量 3294 1>通道容量概念 3295 0)通道容量:通道無差錯傳輸資訊的最大平均資訊速率,是用來描述或衡量 通道的傳輸能力; 3296 1)通道的寬頻:指能夠有效通過該通道的訊號的 最大頻頻寬度,用碼元速率(或符號速率)描述, 單位:Baud; 3297 2)傳輸速率是通道 單位時間 內傳輸的碼元(或符號)或資訊的能力用傳信率(或資訊速率)描述,單位bit/s; 3298 3299 2>連續通道容量(調製通道) 3300 1)奈奎斯特理想的,無噪音的通道容量 3301 /** 3302 * C:通道容量 單位bit/s; 3303 * B:通道頻寬,單位Hz; 3304 * M:進位制數,訊號狀態數; 3305 */ 3306 C=2Blog₂M; //通道容量=2(通道頻寬)log₂訊號狀態數 3307 最大訊號傳輸速率=2B;//2倍頻寬(最大頻帶利用率) 3308 3309 示例.利用頻寬為4000Hz的無噪聲通道傳輸二進位制基帶訊號,求最大的資料傳輸速率(通道容量); 3310 C=2×4000log₂2=8000bps; (M=2;//二進位制) 3311 3312 2)夏農有噪聲連續通道容量 3313 /** 3314 * C:通道容量 單位bit/s; 3315 * B:通道頻寬,單位Hz; 3316 * S:輸入訊號功率 3317 * N:高斯白噪音的功率 3318 * S/N: 信噪比; 3319 */ 3320 C=Blog₂(1+S/N);// 通道容量=頻寬log₂(1+信噪比) 3321 3322 信噪比的單位為功率,但題目中一般給到的是分貝(dB) 3323 分貝和功率的換算公式: 3324 (S/N)dB=10log10(S/N)功率 <=>(S/N)功率=10^(dB/10) 3325 3326 示例: 3327 已知某通道頻寬為8kHz,信噪比為30dB,試求該通道的通道容量C; 3328 解(S/N)dB=10log10(S/N)功率; 3329 30=10log10(S/N)功率 簡化得 3=log10(S/N)功率 3330 可得: S/N=1000; 3331 C=Blog₂(1+S/N) 3332 =8×10³log₂(1+1000) 3333 =8×10³×log₂(1001) 3334 ≈80kbit/s 3335 3336 (四)基帶傳輸 3337 1.基帶傳輸基本概念 3338 1>基帶訊號: 信源發出的沒有經過調製的原始訊號; 3339 模擬信源: 發出的原始訊號是 模擬基帶訊號;(電話) 3340 數字信源: 發出的原始訊號是 數字基帶訊號;(計算機) 3341 基帶傳輸: 直接在通道傳送基帶訊號; 3342 基帶傳輸系統: 在通道中傳輸數字基帶訊號,相應的系統成為數字基帶傳輸系統; 3343 數字基帶傳輸系統結構: 3344 3345 數字基帶訊號 再生數字基帶訊號 3346 ----------->訊號形成器->通道->接收過濾器->抽樣判決器---------------> 3347 ↓ ↓ ↑ 3348 噪聲 同步提取-3349 3350 2.數字基帶傳輸編碼 3351 1>將資料對映為脈衝訊號的 資訊碼(5種); 3352 1)單極不歸零碼(Not Return to Zero,NRZ) 3353 *1.脈衝幅值要麼是正電平,要麼是零電平,只有一個極性; 單極 3354 *2.整個脈衝持續時間內,電平保持不平,且脈衝持續期結束也不要求迴歸零電平; 不歸零 3355 二進位制 0:零電平表示, 1:正電平表示; 3356 例如: 1100100111 3357 y(t)↑ 3358 | 3359 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 3360 ├───┼───┐ | ├───┤ | ├───┼───┼───┤ 3361 | | | | | | | | | | | 3362 | | | | | | | | | | | 3363 └---|---|---|---└---|---|---|---|---|---|---> 3364 0 單極不歸零碼訊號波形 t 3365 3366 2)單極歸零碼(Return to Zero , RZ) 3367 每個正脈衝持續期的 中間時刻, 電平要由正電平回到零電平; 3368 二進位制 0:零電平表示, 1:正電平表示; 3369 例如: 1100100111 3370 y(t)↑ 3371 | 3372 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 3373 +E├──┐ ├──┐ | | ├──┐ | | ├──┐ ├──┐ |──┐ | 3374 | | | | | | | | | | | | | | | | | 3375 | | | | | | | | | | | | | | | | | 3376 └--┴--├--┴--|-----├-----├--┴--|-----|-----├--┴--├--┴--├--┴--|--> 3377 0 單極歸零碼訊號波形 t 3378 3379 3380 3)雙極不歸零碼 3381 每個正、負脈衝持續期的中間時刻,電平都要回到零電平; 3382 二進位制 0:負電平表示, 1:正電平表示; 3383 例如: 1100100111 3384 y(t)↑ 3385 | 3386 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 3387 +E├───┼───┐ | ├───┐ | ├───┼───┼───┤ 3388 | | | | | | | | | | | 3389 | | | | | | | | | | | 3390 0|---┴---┼---┼---┼---┼---|---┼---|---|---|----> 3391 | | | | | | | | | | t 3392 | | | | | | | | | | 3393 -E| └───┼───┘ └───┼───┘ | | | 3394 3395 雙極不歸零碼訊號波形 3396 4)雙極歸零碼 3397 每個正、負脈衝持續期的中間時刻,電平都要回到零電平; 3398 二進位制 0:負電平表示, 1:正電平表示; 3399 例如: 1100100111 3400 y(t)↑ 3401 | 3402 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 3403 +E├──┐ ├──┐ | | ├──┐ | | ├──┐ ├──┐ |──┐ | 3404 | | | | | | | | | | | | | | | | | 3405 | | | | | | | | | | | | | | | | | 3406 0|--┴--|--┴--┼--┐--┼--┐--|--┴--┼--┐--┼--┐--┼--┴--|--┴--|--┴--|--> 3407 | | | | | | | | | | | | | | | t 3408 | | | | | | | | | | | | | | | 3409 -E| | └──┘ └──┘ | └──┘ └──┘ | | | | 3410 3411 雙極不歸零碼訊號波形 3412 3413 3414 5)差分碼(相對碼) 3415 利用電平的變化與否來表示資訊; 3416 和前一個脈衝時間的電平比, 當前脈衝時間表示0 波形無跳變 , 表示1時, 波形有跳變 3417 二進位制 0:相鄰電平無跳變, 1:相鄰電平有跳變;*.這個也要看題目給出的限制,有時候相反; 3418 例如:1100100111(預設初始為零電平) 3419 y(t)↑ 3420 | 3421 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 3422 ├───┤ | | ├───┼───┼───┤ ├───┤ | 3423 | | | | | | | | | | | 3424 | | | | | | | | | | | 3425 └---|---|---|---└---|---|---|---|---|---|---> 3426 0 差分碼訊號波長 t 3427 3428 2>將數字基帶訊號的 基本碼型 變換為合適傳輸的數字傳輸基帶 傳輸碼型 3429 AMI碼; 雙相碼; 米勒碼; CMI碼; nBmB碼; nBmT碼; 3430 1)訊號交替反轉碼(Alternative Mark Inversion , AMI碼) 3431 用3中電平(正電平、負電平、零電平)進行編碼; 3432 0:零電平表示; 3433 1與-1:交替用正電平和負電平表示; 3434 例如:1100100111(預設初始為零電平) 3435 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 3436 |+1 |-1 | 0 | 0 |+1 | 0 | 0 |-1 |+1 |-1 | 3437 y(t)↑ 3438 | 3439 |1 |1 |0 |0 |1 |0 |0 |1 |1 |1 | 3440 +E├──┤ | | ├──┐ | | ├──┐ | 3441 | | | | | | | | | | | 3442 | | | | | | | | | | | 3443 0|--|--┼--┴--└--┴--┴--┼--┼--┼--|-----> 3444 | | | | | | | t 3445 | | | | | | | 3446 -E| └──┘ └──┘ └──┘ 3447 AMI(RZ)碼訊號波 3448 3449 2)雙相碼(Biphase Code),又叫曼徹斯特(Manchester)碼 3450 只有正負電平,脈衝持續時間的中間時刻都要進行 電平跳變 3451 1:正電平跳到負電平(1:正負); 3452 0:負電平跳到正電平(0:負正); 3453 例如:11001001(預設初始為零電平) 3454 y(t)↑ 3455 | 3456 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 3457 +E├──┐ |──┐ | ┌──┐ ┌──┼──┐ | ┌──┤ ┌──┼──┐ | 3458 | | | | | | | | | | | | | | | | | 3459 | | | | | | | | | | | | | | | | | 3460 0|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|-----> 3461 | | | | | | | | | | | | | | | | | t 3462 | | | | | | | | | | | | | | | | | 3463 -E| └──┘ └──┼──┘ └──┘ | └──┼──┘ └──┘ | └──┘ 3464 曼徹斯特訊號波形 3465 3466 2-1)差分雙相碼(差分曼徹斯特碼) 3467 1:相鄰電平有跳變 (和前一個電平的落腳點不同,前一個落腳到負,當前從正開始, 反之從負開始) 3468 0:相鄰電平無跳變 (和前一個電平的落腳點相同,前一個落腳到負,當前從負開始, 反之從正開始) 3469 例如:11001001(預設初始為零電平) 3470 3471 y(t)↑ 3472 | 3473 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 3474 +E├──┐ ├──┐ | ┌──┼──┐ ├──┐ | ┌──┼──┐ ├──┐ | 3475 | | | | | | | | | | | | | | | | | 3476 | | | | | | | | | | | | | | | | | 3477 0|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|-----> 3478 | | | | | | | | | | | | | | | | | t 3479 | | | | | | | | | | | | | | | | | 3480 -E| └──┘ └──┼──┘ | └──┘ └──┼──┘ | └──┘ └──┘ 3481 差分雙相碼訊號波形 3482 3483 3)米勒碼(Miller Code): 延遲調製碼 3484 1:正負或負正。 3485 11:交替編碼。前面正,後面負;前面負,後面正; 3486 0:延續前面1的電平,正或負。脈衝期間不跳變。 3487 00:交替編碼, 前面正,後面負;前面負,後面正; 3488 01:延續0的電平,正負或負正 3489 10: 延續前面1的電平,脈衝期間不跳變; 3490 3491 1 1 00 10110 1 3492 3493 y(t)↑ 3494 | 3495 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 3496 +E├──┐ | ┌──┼─────┤ | ┌──┼─────┼──┐ | ┌──┼─────┼──┐ | 3497 | | | | | | | | | | | | | | | | | 3498 | | | | | | | | | | | | | | | | | 3499 0|--|--|--|--|-- --|-----|--|--|-----|--|--|--|--|-----|--|--|-> 3500 | | | | | | | | | | | | | | | | | t 3501 | | | | | | | | | | | | | | | | | 3502 -E| └──┼──┘ | └─────┼──┘ | | └──┼──┘ | | └──┤ 3503 CMI碼訊號波形 3504 3505 4)傳號反轉碼(Coded Mak Inversion,CMI碼) 3506 1:正、負,交替編碼。 3507 0:負正。 3508 y(t)↑ 3509 | 正 負 負正 3510 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 3511 +E├────┤ | ┌──┤ ┌──┼────┤ ┌──┤ ┌──┤ | 3512 | | | | | | | | | | | | | 3513 | | | | | | | | | | | | | 3514 0|----|----|--|--|--|--|----|--|--|--|--|----|--------> 3515 | | | | | | | | | | | | | t 3516 | | | | | | | | | | | | | 3517 -E| └────┼──┘ └──┘ | └──┘ └──┘ └────┘ 3518 CMI碼訊號波形 3519 3520 例題:下圖為曼徹斯特編碼和差分曼城斯特編碼的脈衝波形,試給出對應的位元串 3521 (假定差分曼徹斯特編碼的初始訊號為高電平) //表示初始值 停在 +E 3522 3523 y(t)↑ 1:正電平跳到負電平(1:正負); 0:負電平跳到正電平(0:負正); 3524 | 3525 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 3526 +E| ┌──┼──┐ ┌──┐ | ┌──┐ ┌──┐ ┌──┼──┐ ┌──┐ | 3527 | | | | | | | | | | | | | | | | | 3528 | | | | | | | | | | | | | | | | | 3529 0|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--> 3530 | | | | | | | | | | | | | | | | | t 3531 | | | | | | | | | | | | | | | | | 3532 -E└──┘ | └──┘ └──┼──┘ └──┘ └──┘ | └──┘ └──┘ 3533 曼徹斯特訊號波形 3534 3535 y(t)↑ 當前電平起點和前一個電平的落腳點相比,不同電平為1, 相同為0; 3536 | 3537 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 3538 +E| ┌──┼──┐ ┌──┐ | ┌──┼──┐ ┌──┐ | ┌──┐ ┌──┐ 3539 | | | | | | | | | | | | | | | | | 3540 | | | | | | | | | | | | | | | | | 3541 0|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|---> 3542 | | | | | | | | | | | | | | | | | t 3543 | | | | | | | | | | | | | | | | | 3544 -E└──┘ | └──┘ └──┼──┘ | └──┘ └──┼──┘ └──┘ | 3545 初始訊號為高電平, 差分曼徹斯特訊號波形 3546 3547 (五)頻帶傳輸 3548 1.頻帶傳輸基本概念 3549 1>基帶訊號,具有低通特性(低頻訊號可通過),可用在低通特性的通道(有線通道) 3550 中進行傳輸;無線通道,是帶通特性(對頻率有要求),因此只能利用基帶訊號去 3551 調製與對應通道傳輸特性相匹配的載波訊號; 3552 3553 2>數字調製 3554 利用數字基帶訊號控制載波訊號的特徵參量,使載波訊號的這些參量的變化 3555 反映數字基帶訊號的資訊,進而將數字基帶訊號轉為數字通帶訊號的過程; 3556 3557 3>數字解調 3558 是指在 接收資料端 需將調製到載波訊號中的數字基帶訊號解除安裝下來,還原為數字基帶訊號的過程; 3559 3560 4>數字頻帶傳輸系統:實現 調製、傳輸 與 解調 的傳輸系統 ;//將慢波載到快波上 3561 3562 5>數字調製系統基本結構 3563 噪音 幅值 相位 3564 數字基帶訊號 ↓ 數字基帶訊號 ↑ ↑ 3565 ------------>調製器--->通道-->解調器------------> y(t)=acos(2πft+φ) 3566 ↑ ↑ 3567 載波 頻率 3568 3569 幅值: 最高點到x的距離; 頻率:快1; 慢0; 相位:左右平移; 3570 3571 6>數字調製的基本方法: 3572 利用數字基帶訊號控制載波訊號的某個(或某些)引數的變化, 3573 (利用0或1控制 或選擇 載波的不同幅值、頻率或相位); 3574 1)如果調製載波的幅值: 幅移鍵控(ASK); 3575 2)如果調製載波的頻率: 頻移鍵控(FSK); 3576 3)如果調製載波的相位: 相移鍵控(PSK); 3577 3578 2.頻帶傳輸中三種調製方式; 3579 1>二進位制數字調製 :數字通訊系統頻帶傳輸的基本方式 3580 1)數字基帶訊號: _|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_ 3581 3582 2)二進位制數字調製方式: 3583 通過數字調製將慢波的訊號特徵表現在載它的快波上(3種+1個變種); 3584 二進位制幅移鍵控 二進位制頻移鍵控 二進位制相移鍵控 二進位制差分相移鍵控 3585 (2ASK) (2FSK) (2PSK) (2DPSK) 3586 福啊 頻發 橡皮 2D橡皮 3587 高(1)矮(0) 疏(0)密(1) x下(1) x上(0) 重疊(0) 不重疊(1) 3588 101001 111 0 1 /\ /\ / /\ /\ /\ /\ / 3589 W_W__W WWW\/\/W \/ \ \/ \/ \\/ \ \/ \ \/ 3590 3591 +-----------------------+-------------+--------------+ 3592 | 調製方式 | 1 | 0 | _|﹋|_|﹋|_ 數字訊號 3593 +-----------------------+-------------+--------------+ 3594 | 二進位制幅移鍵控(2ASK) | 有波形 | 無波形 | _/\ /\ _ 3595 +------------------------+-------------+--------------+ \/ \/ 3596 | 二進位制頻移鍵控(2FSK) | 頻率不同 |WW\/\/W 3597 +------------------------+----------------------------+ 3598 | 二進位制相移鍵控(2PSK) | 1和0相位不同 || /\ /\|/\ /\ 3599 +------------------------+----------------------------+|\/ \/ | \/ \/ 3600 |二進位制差分相移鍵控(2DPSK) | 看前一個週期波形 | /\ /\ /\ /\ / 3601 +------------------------+----------------------------+ \/ \ \/ \ \/ \ \/ 3602 3603 3)二進位制數字調製效能主要體現 3604 *1.頻帶利用率: 2FSK(二進位制頻移鍵控)最低; 3605 *2.誤位元速率: 2ASK(二進位制幅移鍵控)最高; 2PSK(二進位制相移鍵控)最低; 3606 *3.對通道特性的敏感性: 2ASK(二進位制幅移鍵控)變化敏感; 3607 3608 3609 2>多進位制數字調製 3610 _|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_ 3611 1)碼元: 一個固定時長的訊號波形; 3612 一個脈衝時間(二進位制碼元):2¹ 3613 兩個脈衝時間(四進位制碼元):2² 3614 三個脈衝時間(八進位制碼元):2³ 3615 3616 2)碼元的傳輸速率:單位時間內數字通訊系統所傳輸的碼元個數; 3617 3618 3)資料傳輸速率Rb(bit/s) 與 碼元傳輸速率RB(Baud) 以及 進位制數M 間的關係為: 3619 Rb=RBlog₂M 3620 示例:若採用4進位制數字調製方式使資料傳輸速率達到4800bit/s,求碼元速率; 3621 4800=RBlog₂4; => 4800=2RB; 可得 RB=4800/2=2400Baud; 3622 3623 3624 3>正交幅值調製 QAM, 也稱為幅值相位聯合鍵控(APK) 3625 1)基本思想:二維調製技術,對載波訊號的 幅值和相位 同時進行調製的聯合調製技術; 3626 2)優點: 頻帶利用率高; 抗噪聲能力強; 調製解調系統簡單; 3627 3628 3629 (六)物理層介面規程 3630 1.物理層主要任務 3631 1)在傳輸介質上實現 無結構位元流 的傳輸; 3632 2)規定 資料終端裝置(DTE) 和 資料通訊裝置(DCE)之間介面的相關特性; 3633 DTE:Data Terminal Equipment 資料終端裝置 3634 DCE:Data Communication Equipment 資料通訊裝置 3635 3636 2.物理層介面特性(4個) 3637 1)機械特性: 指明通訊實體間硬體連線口的機械特點:例如:常用的電源插頭的尺寸有嚴格規定; 3638 2)電氣特性: 規定了物理連線上,導線的電氣連線及有關電路特性; 例如:接收器和傳送器電路特性的說明; 3639 3)功能特性: 指明物理介面各條 訊號線 的用途等; 例如:資料訊號線、控制訊號線; 3640 4)規程特性: 通訊協議,指明利用介面傳輸位元流的全過程; 例如:事件執行順序; 3641 3642 3643 第七章 無線與行動網路 3644 (一)無線網路 3645 1.無線網路基本結構 3646 1)無線主機 3647 2)無線鏈路 3648 3)基站(base station) 3649 蜂窩網路中的蜂窩塔(cell tower) 3650 IEEE 802.11無線區域網中的接入點(Access Point,AP) 3651 4)網路基礎設施 3652 3653 2.無線網路模式 3654 1)基礎設施模式: 無線主機與基站關聯; 3655 2)自組織網路(AD Hoc網路,特定網路):無線主機不通過基站而直接與其他無線主機通訊; 3656 自組織網路: 由一組使用者群構成,不需要基站、沒有固定的路由器的行動通訊模式; 3657 自組織網路中的每個結點都 兼有 路由器 和 主機 兩種功能; 3658 3659 3.無線鏈路與無線網路特性 3660 1>無線鏈路的特點(3條): 3661 1)訊號強度的衰減:路徑損耗(大多數無線鏈路為隨參通道); 3662 2)干擾; 3663 3)多徑傳播;(出現訊號反射) 3664 3665 2>隱藏站現象 3666 1)站點A、C都向站點B傳送資料; 3667 2)站點A、C之間有物理阻擋,雙方都無法檢測出對方傳送的訊號; 3668 3)站點A、C都向站點B傳送資料時,發生碰撞,站點B無法正確接收任何一方的資料; 3669 3670 (二)行動網路 3671 1.行動網路基本原理 3672 1>原理內容(3條) 3673 1)從網路層的角度分析使用者的移動性; 3674 2)移動結點的地址始終保持不變的重要性; 3675 3)可用的有線基礎設施的支援; 3676 3677 2>行動網路的術語 3678 1)移動結點的永久居所: 歸屬網路,家網; 3679 2)在歸屬網路中代表移動結點執行移動管理功能的實體: 歸屬管理, 家代理; 3680 3)移動結點當前所在非歸屬網路: 外部網路, 被訪網路; 3681 4)在外部網路中幫助移動結點做移動管理功能的實體: 外部代理; 3682 5)通訊者: 與該移動結點通訊的實體; 3683 3684 2.定址 3685 1>移動定址: 3686 當某移動結點位於一個外部網路時,所有指向此結點永久地址的流量需要導向外部網路; 3687 3688 2>保持地址不變的解決辦法 3689 1)外部網路通過向所有其他網路發通告,告訴它們蓋移動結點正在它的網路中(不適用於大規模網路); 3690 2)將移動性功能從網路核心搬到網路邊緣,由該移動結點的歸屬網路來實現(實際上行動網路採取的做法); 3691 *1.將外部代理放置在外部網路路由器上,外部代理為 歸屬網路 被訪網路 3692 移動結點創造一個轉交地址(Care-Of Address,COA); 永久地址: 永久地址 ▆ 轉交地址: 3693 *2.移動結點與永久地址和COA都連線; 127.198.6.7 127.198.6.779.168.14.2 3694 *3.外部代理告訴歸屬代理該移動結點的COA; ▆---------● ● 3695 歸屬代理 ╲ ╱ 3696 3>移動結點的路由選擇 |-網際網路-| 3697 資料報定址並轉發的方法: 間接路由選擇 和直接路由選擇 ╲ 3698 1)移動結點的 間接 路由選擇:通訊者將資料報定址到移動結點的 永久地址 ■通訊者 3699 網路層新功能: 3700 *1.移動結點到外部代理的協議:註冊,取消; 3701 *2.外部代理到歸屬代理的註冊協議:外部代理告訴歸屬代理COA; 3702 *3.歸屬代理資料報封裝協議: 歸屬代理封裝原始資料報,轉發; 3703 *4.外部代理拆封協議:從封裝好的資料寶報中提取原始資料報轉發; 3704 三角路由問題 3705 通訊者和移動結點之間存在一條更有效的路由,發往移動結點的資料也要先發給歸屬代理,然後再發送到被訪網路; 3706 3707 2)移動結點的直接路由選擇 3708 通訊者所在網路中的通訊者代理先獲取移動結點的COA,通訊者代理將資料報發往移動結點的COA; 3709 引入的兩個問題 3710 *1.需要一個移動使用者定位協議,以便通訊者代理向歸屬代理查詢獲得移動結點的COA; 3711 *2.歸屬代理僅在會話開始時被通訊代理詢問一次COA; 3712 3713 3714 3715 (三)無線區域網 IEEE 802.11 3716 1.IEEE 802家族由一系列區域網(LAN)技術規範組成 3717 IEEE 802.11發表於1997年,是原始標準,頻率:2.4GHz,支援速率2Mbit/s; 3718 +--------------+-------------+-------------------+ 3719 | 標準 | 頻率範圍/GHz | 資料率 | 3720 +--------------+-------------+-------------------+ 3721 | IEEE 802.11b | 2.4 | 最高為 11 Mbit/s | b11 3722 +--------------+-------------+-------------------+ 3723 | IEEE 802.11a | 5 | 最高為 54 Mbit/s | a54 3724 +--------------+-------------+-------------------+ 3725 | IEEE 802.11g | 2.4 | 最高為 54 Mbit/s | g54 3726 +--------------+-------------+-------------------+ 3727 | IEEE 802.11n | 2.4/5 | 最高為 600Mbit/s | n600 3728 +--------------+-------------+-------------------+ 3729 3730 2.共同點: 3731 1)都是使用相同的介質訪問控制協議CSMA/CA(衝突避免) 3732 2)鏈路層幀使用相同的幀格式; 3733 3)都具有降低傳輸速率以傳輸更遠距離的能力; 3734 4)都支援"基礎設施模式""自組織模式" 兩種模式; 3735 3736 3.IEEE 802.11體系結構的基本構建: 3737 1)基站:接入點(Access Point,AP) 3738 2)基本服務集(Basic Service Set,BSS) 3739 BSS包含: 一個接入點,一個或多個無線站點; 3740 3741 4.AP發現(無線主機怎麼找到AP) 3742 1)被動掃描:無線主機掃描通道 和 監聽信標幀; 3743 2)主動掃描:無線主機向其範圍內的所有AP廣播 探測幀; 3744 3745 5.IEEE 802.11的MAC協議 3746 1>IEEE 802.11的MAC協議採用CSMA/CA協議 3747 Carrier Sense Multiple Access with Collision Avoidance 3748 帶碰撞避免的載波監聽多路訪問協議; 3749 3750 2>CSMA/CA協議工作原理(簡答題) 3751 通過 請求傳送(RTS)幀 和 允許傳送(CTS)幀 的交換, 3752 實現通道預約佔用,避免資料幀傳送過程中的衝突; 3753 3754 3>CSMA/CA協議工作步驟 3755 1)源站傳送資料之前,先監聽,若空閒,等待一個分散式幀間間隔(Distributed Inter-Frame 3756 Space, DIFS)的短時間後,傳送一個很短的請求傳送(Request To Send,RTS) 控制針; 3757 RTS控制幀: 源地址 目的地址, 本次通訊所需的 持續時間; 3758 3759 2)若目的站正確收到源站發來的RTS幀,且無力介質空閒,等待一個短幀間間隔(Short Inter-Frame 3760 Spacing,SIFS)時間後,傳送一個很短的允許傳送(Clear To Send, TCS)控制幀作為響應; 3761 CTS控制幀: 本次通訊持續時間等; 3762 3763 3)源站和目的站周圍的其他站點可以監聽到兩者要通訊,其他站點在其持續通訊時間內不會發送, 3764 這個時間被稱為網路分配向量(Network Allocation Vector, NAV); 3765 NAV是其他站根據監聽到的RTS或CTS幀中的持續時間來確定資料幀傳輸的時間; 3766 3767 4)源站收到CTS幀後,在等待一段時間SIFS時間後,即可傳送資料幀, 3768 若目的站正確接收到資料幀,在等待時間SIFS後,就向源站傳送確認幀(ACK); 3769 3770 6.IEEE 802.11 幀型別(3種:控制幀; 資料幀; 管理幀) 3771 3772 7.IEEE 802.11 資料幀結構 3773 1>MAC首部:共30位元組 3774 1)幀控制:包含多個子欄位:如 型別和子型別欄位:用於區分RTS幀、CTS幀、ACK幀 和 資料幀; 3775 2)持續期:IEEE 802.11的MAC協議允許傳輸結點 預約通道一段時間,包括傳輸其 3776 資料幀的時間 和 傳輸確認幀的時間,該持續值在該幀的 持續期欄位中; 3777 3)有4個地址欄位:最特殊; 3778 4)序號控制: 在IEEE 802.11網路中,站點正確收到其他站點的幀後,都會發一個確認幀,確認幀可能丟失, 3779 傳送站點會發送一個幀等多個副本,使用序號可以區分新傳輸的幀和以前幀的重傳; 3780 3781 2>幀主體:幀的資料部分,不超過2312位元組;通常IEEE 802.11幀長都小於1500位元組; 3782 3>尾部: 幀檢驗序列FCS,共4位元組; 3783 MAC首部(30位元組) 3784 ╭------------------------^--------------------------╮ MAC尾部 3785 位元組 2 2 6 6 6 2 6 0-2312 4 3786 | 幀控制 | 持續期 | 地址1 | 地址2 | 地址3 | 序號控制 | 地址4 | 幀主體 | FCS| 3787 ╭----^----------------------------------------------3788 位| 2 | 2 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 3789 協議 型別 子型別 去往 來自 更多 重試 功率 更多 順序 3790 版本 ↘ ↙ AP AP 分片 管理 資料 3791 ↓用於 3792 區分RTS幀、CTS幀、ACK幀 和 資料幀; 3793 3794 +--------+-------+--------+--------+-------+------+ 3795 | 去往AP | 來自AP | 地址1 | 地址2 | 地址3 | 地址4 | 3796 +--------+-------+--------+--------+-------+------+ 3797 | 0 | 1 |目的地址 | AP地址 | 源地址 | | 3798 +--------+-------+--------+--------+-------+------+ 3799 | 1 | 0 | AP地址 | 源地址 |目的地址| | 3800 +--------+-------+--------+--------+-------+------+ 3801 3802 (四)蜂窩網路 3803 0.小區(cell): 蜂窩網覆蓋的區域分成的六邊形的區域; 3804 1.蜂窩網路體系結構: 3805 0>蜂窩:小區的地理覆蓋區域; 3806 1>基站系統(BSS,Base Station System) 3807 1)收發基站(BTS,Base Transceiver Station):負責小區內的移動站點 傳送或接收訊號; 3808 2)基站控制器(BSC):服務於收發基站,為使用者分配BTS無線通道、執行尋呼,執行移動使用者的切換; 3809 3)移動交換中心(MSC):管理5個基站控制器,在使用者鑑別和賬號管理以及呼叫建立和切換中起著決定作用; 3810 3811 2.間接路由選擇方法管理移動性 3812 1)歸屬網路維護一個歸屬位置註冊器(Home Location Register, HLR)的資料庫: 3813 每個使用者的永久蜂窩電話號碼,使用者個人資訊,使用者當前的位置資訊; 3814 2)被訪網路維護一個訪問位置註冊器(Visitor Location Register,VLR)的資料庫: 3815 為每一位當前在其服務網路的移動使用者提供一個表項; 3816 3817 3.通訊過程 3818 1)通訊者撥打移動使用者的電話號碼; 3819 2)歸屬移動交換中心收到該呼叫,查詢歸屬位置註冊器來確定 移動使用者的位置及其漫遊號碼; 3820 3)漫遊號碼確定後,歸屬移動交換中心通過網路呼叫被訪網路的移動交換中心, 3821 被訪網路的移動交換中心呼叫移動使用者; 3822 3823 4.行動通訊2G/3G/4G/5G網路 3824 1>第一代蜂窩行動通訊(1G) 淘汰 3825 3826 2>第二代蜂窩行動通訊(2G) 3827 1)全球移動通訊系統(GSM,Global System for Mobile Communication) 3828 *1.GSM系統是第二代行動電話系統的開端。 3829 *2.GSM業務可以分為承載業務、電信業務、附加業務三大類。 3830 *3.GSM系統採用的是FDMA(頻分)和TDMA(時分)混合接入的方式。 3831 2)簡訊服務 3832 3)通用分組無線業務(GPRS,General Packet Radio Service) 3833 4)增強資料速率的 GSM 演迚技術 (EDGE,Enhanced Data Rate for GSM Evolution) 3834 3835 3>第三代移動通訊系統(3G) 3836 1)國際電信聯盟(ITU)提出並研究 WCDMA(歐洲)、CDMA2000(美國)、TD-SCDMA(中國)三大技術標準; 3837 2)3G是採用CDMA(碼分多路複用)技術的通訊系統; 3838 3)關鍵技術:無線傳輸技術; 3839 3840 4>4G/LTE 3841 1)3GPP組織在2004年開始長期演迚(LTE)標準化專案,在2008年9月開使LTE-Advanced專案。 3842 2)4G特點:高速率傳輸、智慧化、業務多樣化、無縫接入、後向相容、經濟; 3843 3)LTE系統: 3844 *1.核心網(EPC): 3845 #1.移動管理實體(MME):負責移動性控制; 3846 #2.服務閘道器(S-GW):負責資料分組的路由與轉發; 3847 *2.接入網(E-UTRAN):基站(E-NodeB); 3848 3849 *3.接入網中e-Node B 與 e-NodeB之間 X2的介面; 3850 LTE核心網與接入網之間是 S1的介面; 3851 5>5G 3852 1)5G技術目的: 構建網路社會 3853 2)5G特點: 超高速率傳輸, 超高容量、超可靠性、隨時隨地可接入性; 3854 3855 (五)移動IP網路 3856 1.移動IP(Mobile IP) 3857 因特網工程任務組(IETF,the Internet Engineering Task Force) 3858 允許計算機移動到外地時,任然保持其原來的IP地址; 3859 ╭代理髮現(代理通告, 代理請求); 3860 移動IP標準< 向歸屬代理註冊; 3861 ╰資料報的間接路由選擇; 3862 3863 移動代理通告擴充套件包含了該移動結點所需的附加資訊: 3864 包括歸屬代理位(H), 註冊要求為(R), 轉交地址(COA)欄位; 3865 3866 2.代理髮現 3867 當移動IP站點到達一個新網路時,移動結點都必須知道相應的外部代理或歸屬代理身份; 3868 代理髮現的實現方式: 3869 1)代理通告: 代理週期性的廣播一個型別欄位為9(路由器發現)的ICMP報文; 3870 2)代理請求: 移動結點廣播ICMP報文; 3871 3872 3.向歸屬代理註冊 3873 移動IP定義了外部代理向一個移動結點的歸屬代理註冊或登出COA所使用的的協議; 3874 一旦某個移動IP結點收到一個COA,則該地址必須要向歸屬代理註冊,這可通過 3875 外部代理來完成,共涉及4個步驟: 3876 1)當收到一個外部代理通告後,移動結點立即向外部代理髮送一個移動IP註冊報文; 3877 2)外部代理收到註冊報文並記錄移動結點的永久IP地址,分配一個COA; 3878 3)外部代理把註冊請求傳送給歸屬代理,歸屬代理接收註冊請求並檢查 真實性 和 正確性; 3879 4)外部代理接收註冊應答,然後將其轉發給移動結點; 3880 3881 (六)其他典型無線網路簡介(WiMax 藍芽 ZigBee) 3882 1.全球微波互聯接入(WiMax,World Interoperability for Microwave Access) 3883 又名IEEE 802.16標準,寬頻無線標準; 3884 3885 1>WiMax優勢: 3886 1)更遠的傳輸距離(可達50Km), 3887 2)更高速的頻寬接入(最高300Mbit/s); 3888 3889 2>WiMax劣勢: 3890 1)不支援使用者在移動過程中無縫切換; 3891 2)產業基礎薄弱; 3892 3)和傳統的蜂窩網路無法完全相容; 3893 3894 2.藍芽(BlueTooth) 3895 1)IEEE 802.15.1標準, 無線個人區區域網(WPAN)標準; 3896 2)工作在全球通用的2.4GHz的頻段; 3897 3)特點: 小範圍, 低功率, 低速率, 低成本執行;(一小三低) 3898 3899 3.ZigBee 3900 1)IEEE 802.15.4標準, 第二個個人區域網路標準; 3901 2)特點: 低功率, 低資料速率, 低工作週期;(三低); 3902 3903 3904 第八章 網路安全 3905 (一)網路安全概述 3906 0>網路安全概念 3907 網路安全是指網路系統的硬體、軟體及其系統中的資料受到保護,不因偶然的 或 3908 惡意的原因而遭受到破壞、更改、洩漏, 系統連續可靠正常地執行,網路服務不中斷; 3909 3910 *相對性是指網路永遠只有相對的安全,沒有絕對的安全; 3911 3912 1>典型的網路安全威脅 3913 1)報文傳輸: 傳輸過程面臨竊聽、插入、假冒、劫持等安全威脅; 3914 2)拒絕服務DoS、分散式拒絕服務DDoS(利用多個源主機協同淹沒接收方); 3915 3)對映: 先探路, 再攻擊; 3916 4)分組 "嗅探";(Wireshark 是一個典型的分組嗅探軟體); 3917 5)IP欺騙; 3918 3919 2>網路安全通訊需要的基本屬性 3920 1)機密性: 只有傳送方 和 接收方能理解報文內容; 3921 2)訊息完整性: 訊息未被篡改, 發生篡改一定會被檢測到; 3922 3)可訪問與可用性: 對授權使用者提供有效服務; 3923 4)身份認證: 雙方確認彼此的真實身份; 3924 3925 (二)資料加密 3926 1.通訊加密模型 3927 0>密碼學包括: 密碼編碼學 和 密碼分析學 兩部分; 3928 密碼技術是 保障資訊保安的核心基礎; 3929 密碼分析學: 研究密碼變化客觀規律中的固有缺陷,並應用於破譯密碼以獲取通訊情報; 3930 密碼編碼學: 是指將密碼變化的客觀規律應用於編制密碼來保守通訊祕密; 3931 3932 1>通訊加密流程: 3933 3934 金鑰Ke ━━━━━━━━━━━ 金鑰Kd 3935 明文M->加密C=E(M Ke)->密文C 通道 >密文->解密M=D(C Kd)->明文 3936 ▔▔▔▔▔▔ 3937 +-------+-------+--------+--------+--------+ 3938 | M | C | K | E | D | 3939 +-------+-------+--------+--------+--------+ 3940 |明文空間|密文空間|金鑰空間 |加密演算法| 解密演算法| 3941 +-------+-------+--------+--------+--------+ 3942 3943 2>密碼分類 3944 分類標準:密碼體制的特點、出現的先後時間; 3945 1)傳統加密方式: 替代密碼; 換位密碼; 3946 2)對稱金鑰加密; 3947 3)非對稱/公開金鑰加密; 3948 3949 2.傳統密碼演算法 3950 1>替代密碼 3951 包括:移位加密,乘數加密,仿射密碼等; 3952 凱撒密碼是替代密碼的典型應用; 3953 例:對明文"bob, I love you Alice", 利用k=3的凱撒密碼加密,得到密文; 3954 a b c d e f g h i g k l m n 3955 o p q r s t u v w x y z 3956 k=3的含義就是明文的每個字母表順序推後3位; 3957 bob, I love you Alice 3958 加密後(字母后移3位) 3959 ere, L oryh brx Dolfh 3960 3961 2>換位密碼(置換密碼):列置換密碼 3962 包括列置換密碼, 週期置換密碼; 3963 1)加密原則: 3964 根據一定規則重新排列明文,以便打破明文的結構特性, 只改變明文結構,不改變內容; 3965 3966 2)列置換密碼加密過程: 3967 *1.首先將明文P按金鑰K的長度n進行分組,並每組一行安行排列, 即每行有n個字元; 3968 *2.若明文長度不是n的整數倍,則不足部分用雙方約定的方式填充,如雙方約定用字母"x"替代空缺處; 3969 *3.設最後得到的字元矩陣為Mmn,m為明文劃分的行數,然後,按照金鑰規定的次序將Mmn對應的列輸出,即可得到密文序列C; 3970 3971 示例:假設採用金鑰K=nice的列置換密碼,對明文"bob i love you"進行加密;求得到的密文; 3972 1)金鑰k=nice 金鑰長度:n=4; 金鑰字母順序:n(4)i(3)c(1)e(2); 3973 2)將明文按金鑰長度分組,每組一行,按行排列; 3974 4 3 1 2 3975 b o b i 密文按數字順序,按列輸出字母 3976 l o v e ========================> bvu iex ooo bly 3977 y o u x(雙方約定x為填充字母) 3978 3979 示例2 key=code,金鑰長度n=4,故加密過程分 4列,每列24/6=6個字母,即把密文分為4段 3980 每段6個字母; 密文:cunorimetknlprwpceoterip;求明文; 3981 c(1)o(4)d(2)e(3) 按行輸出得到明文為: 3982 cunori 第一列 c o m p computer network principle; 3983 metknl 第二列 u t e r 3984 prwpce 第三列 n e t w 3985 oterip 第四列 o r k p 3986 r i n c 3987 i p l e 3988 3989 3.對稱金鑰加密 3990 ╭DES 3991 ╭分組密碼< AES 3992 | ╰IDEA 3993 ╭相同(對稱金鑰加密)< 3994 加密金鑰和解密金鑰< ╰序列密碼(流密碼),利用金鑰產生金鑰流對明文串分別加密的過程; 3995 ╰不同(非對稱金鑰加密); 3996 3997 1>DES加密演算法(Data Encryption Standard) 3998 1)加密: 明文分為64位分組序列,使用56位的金鑰,進行16輪加密; 3999 2)三重DES: 使用兩個金鑰,執行三次DES演算法,金鑰長度達到 112位; 4000 3)DES過時原因:金鑰長度太短,利用高效能運算機可在短時間內蠻力攻擊破解; 4001 4002 2>AES加密演算法(Advanced Encryption Standard) 4003 1)金鑰長度:128/192/256位 4004 2)AES加密演算法的特點 4005 *1.分組長度和金鑰長度均可變; 4006 *2.迴圈次數允許在一定範圍內根據安全要求進行修正; 4007 *3.安全、效率、易用、靈活; 4008 *4.抗線性攻擊 和 抗差分攻擊 的能力大大增強; 4009 *5.如果1秒暴力破解DES,則需要149萬億年破解AES; 4010 4011 3)AES加密過程涉及4種操作: 位元組替代、行位移、列混淆、輪金鑰加; 4012 4013 3>IDEA加密演算法(International Data Encryption Algorithm) 4014 金鑰長度:128位; 4015 4016 4>對稱金鑰加密演算法面臨的一個最大的問題是 金鑰分發 問題; 4017 4018 4.非對稱/公開金鑰加密 4019 1>非對稱金鑰加密(公開金鑰加密) 4020 1)通訊雙方都有兩個金鑰: 公鑰:任何人都可以得到; 私鑰:只有自己知道; 4021 2)典型的公開金鑰加密演算法: Diffie-Hellman演算法 和 RSA演算法; 4022 3)Diffie=Hellman演算法: 基於數學中素數理論; 4023 RSA演算法: 基於數論設計,安全性建立在大數分解的難度上, 應用比較廣泛,安全性高; 4024 4)利用公開金鑰加密在報文傳輸中,分別用接收方的公鑰和接收方的私鑰來加密和解密報文; 4025 4026 2>非對稱金鑰加密過程 4027 Alice給Bob寫信: 4028 1)Alice用Bob的公鑰加密明文,傳送; 4029 2)Bob收到密文後,用自己的私鑰解密得到明文; 4030 3)加密用私鑰,解密用公鑰也是可以的; 4031 公鑰KB+ 私鑰KB- KB-(KB+(m))=m=KB+(KB-(m)); 4032 4033 (三)訊息完整性與數字簽名 4034 0.報文/訊息完整性(message integrity),也稱報文/訊息認證 4035 1)證明報文確實來自聲稱的傳送方; 4036 2)驗證報文在傳輸過程中沒有被篡改; 4037 3)預防報文的時間、順序被篡改; 4038 4)預防報文持有期被篡改; 4039 5)預防抵賴; 4040 4041 1.訊息完整性檢測方法:用雜湊函式, 對報文m進行雜湊化; 4042 1>典型的雜湊函式 4043 1)MD5(Message-Digest Algorithm 5):128位雜湊值; 4044 2)SHA-1:160位雜湊值; 4045 4046 2>雜湊函式的特性 4047 1)一般的雜湊函式演算法公開; 4048 2)能夠快速計算; 4049 3)對任意長度報文進行雜湊產生定長輸出; MD5:128位 SHA-1:160位; 4050 4)對任意報文無法預知其雜湊值; 4051 5)不同報文不產生相同的雜湊值; 4052 6)單向性,抗弱碰撞性,抗強碰撞性; 4053 4054 2.報文認證 4055 1>訊息完整性檢測一個重要目的:完成 報文認證 的任務; 4056 報文認證: 訊息的接受者能夠檢驗收到的訊息是否是真實的方法; 4057 報文認證要完成 訊息源的認證 和 訊息的認證; 4058 4059 2>訊息完整性檢測重要目的:報文認證; 4060 對報文m應用雜湊函式H,得到固定長度的雜湊碼,稱為報文摘要,記為H(m); 4061 報文摘要可以作為報文m的數字指紋(fingerprint); 4062 報文m---->H:雜湊函式--->H(m) 4063 密碼雜湊函式 4064 4065 3>簡單報文驗證 4066 1)傳送方對報文m應用雜湊函式H,得到固定長度的雜湊碼,獲得 4067 報文摘要h,將擴充套件報文(m,h)傳送給接收方;|報文m|報文摘要h| 4068 4069 2)接收方收到擴充套件報文後,提取報文m 和 報文摘要h, 同樣對報文m 4070 應用雜湊函式H,獲得新的報文摘要H(m), 將H(m) 和 H進行比較; 4071 4072 3)若相同,報文認證成功,否則報文認證失敗; 4073 4074 *簡單報文認證不足: 無法達到對訊息源認證; 4075 4076 4>報文認證碼MAC(Message Authentication Code) 4077 1)傳送方和接收方共享一個認證金鑰s,傳送方對 報文m 和 認證金鑰s 4078 應用雜湊函式H得到報文認證碼h,將 擴充套件報文(m,h) 傳送給接收方; 4079 4080 2)接收方收到擴充套件報文後,提取出報文m和報文認證碼h, 對報文m 和 認證金鑰s 4081 應用雜湊函式H獲得新的報文認證碼H(m+s),將H(m+s)與h進行比較; 4082 |金鑰s|報文m| 報文認證碼h 4083 3)若相同,報文認證成功,否則報文認證失敗; 雜湊化↓ 4084 新報文認證碼H(m+s) 4085 *報文認證碼MAC不足:無法保證訊息在接收方沒有被篡改; 4086 4087 3.數字簽名 4088 1>數字簽名原理: 4089 在非對稱密碼體制中,一個主體使用自己的私鑰加密訊息,得到密文,密文可使用 4090 該主體公鑰解密來恢復成原來的訊息,如此生成的"密文"對該訊息提供認證服務; 4091 4092 應用廣泛的數字簽名方法主要有三種: RSA簽名、DSS簽名、 Hash簽名等; 4093 4094 2>數字簽名應滿足 4095 1)接收方能確認傳送方的簽名,但不能偽造; 4096 2)傳送方發出簽名的訊息給接收方後,就不能再否認他所簽發的訊息; 4097 3)接收方對已收到的簽名訊息不能否認,即有收報認證; 4098 4)第三者可以確認收發雙方之間的訊息傳送, 但不能偽造這一過程; 4099 4100 3>簡單的數字簽名 私鑰加密 4101 1)Bob利用自己的私鑰對報文m加密,建立簽名報文, 報文m--------->簽名報文 4102 將擴充套件報文(報文、簽名報文)傳送給Alice; |報文m|簽名報文| 4103 4104 2)Alice收到擴充套件報文,利用Bob的公鑰解密簽名報文, 報文m 簽名報文 4105 並檢驗解密後的簽名報文和報文m是否一致; 是否一致 \ ↓公鑰解密 4106 解密後的報文 4107 3)若一致,則簽名報文m的一定是Bob的私鑰; 4108 4109 4>簽名報文摘要 4110 1)Bob對報文m應用雜湊函式H生成報文摘要H(m),然後Bob通過其私鑰 對 報文摘要 4111 進行加密生成加密的報文摘要,將擴充套件報文(報文,加密的報文摘要)傳送給Alice; 4112 4113 2)Alice收到報文m及加密的報文摘要, Alice利用Bob的公鑰解密加密的報文摘要, 4114 並對m應用雜湊函式生成新的報文摘要; 報文m 加密的報文摘要 4115 ↓ 雜湊化 比較 ↓公鑰解密 4116 新的報文摘要<-------->報文摘要 4117 3)若一致,則簽名報文m的一定是Bob的私鑰; 4118 4119 (四)身份認證 4120 0.作用:身份認證(身份鑑別)是一個實體經過計算機網路向另一個實體證明其身份的過程; 4121 4122 1.基於共享對稱金鑰的身份認證(使用一次隨機數R進行身份認證) Alice Bob 4123 1)Alice向Bob傳送報文"I'm Alice" |----I'm Alice->| 4124 2)Bob選擇一個 一次性隨機數R,然後把這個值傳送給Alice; |<------R-------| 4125 3)Alice使用她與Bob共享的 對稱祕密金鑰 加密這個一次性隨機數 |------KA-B(R)->| 4126 (避免重放攻擊),然後把加密的一次性隨機數發回給Bob; ↓ ↓ 4127 4)Bob解密收到的報文; 時間 時間 4128 4129 2.基於公開金鑰的身份認證 4130 1)Alice向Bob傳送報文"I'm Alice"; Alice Bob 4131 2)Bob選擇一個一次性隨機數R,然後把這個值傳送給Alice; |----I'm Alice->| 4132 3)Alice使用她的私鑰來加密R, 然後把加密的一次性隨機數發回給Bob; |<------R-------| 4133 4)Bob向Alice索要她的公鑰; |------KA-(R)-->| 4134 5)Alice向Bob傳送自己的公鑰; |<--給我你的公鑰-| 4135 6)Bob利用Alice的公鑰解密收到的報文; ↓------KA+----->4136 時間 時間 4137 (五)金鑰分發中心與證書認證 4138 1.金鑰分發中心 4139 對稱金鑰分發的典型解決方案:通過各方建立一個大家都信賴的金鑰分發中心 4140 (Key Distribution Center, KDC),解決 對稱金鑰 安全可靠的分發; 4141 4142 1>通訊發起方會生成會話金鑰 4143 1)Alice 和 Bob進行保密通訊, Alice隨機選擇一個會話金鑰, Alice KDC Bob 4144 用Alice和KDC之間長期的共享金鑰加密會話金鑰,傳送給KDC; |-KA-KDC(Ks,B)->| | 4145 | |-KB-KDC(Ks,A)->| 4146 2)KDC得到後,解密獲得會話金鑰,以及所希望通訊方Bob, 時間 時間 時間 4147 KDC利用其和Bob的長期共享金鑰加密會話金鑰,傳送給Bob; 通發起方生成會話金鑰 4148 4149 3)Bob解密,獲得會話金鑰,並得知期望和自己通訊的是Alice; 4150 4151 2>KDC為Alice、Bob生成通訊的會話金鑰 4152 1)Alice在希望和Bob通訊時,首先向KDC傳送請求訊息, Alice KDC Bob 4153 2)KDC收到訊息後,隨機選擇一個會話金鑰,並將會話金鑰分別用 |-請求與Bob通訊->| | 4154 和Alice、Bob的長期共享金鑰加密,再分別傳送給ALice、Bob; |<-KA-KDC(Ks,B)-|-KB-KDC(Ks,A)->| 4155 3)Alice、Bob收到KDC的密文後,分別解密,獲得會話金鑰; 時間 時間 時間 4156 由KDC生成通訊的會話金鑰 4157 4158 2.證書認證機構 4159 1>證書認證機構用途 4160 要使公鑰密碼有效,需要證實你擁有的公鑰,實際上就是要與你通訊的實體公鑰; 4161 將公鑰與特定的實體繫結,通常由認證中心(Certification Authority,CA)完成; 4162 4163 2>認證中心(CA)的作用: 4164 1)CA可以證實一個實體的真實身份; 4165 2)一旦CA驗證了某個實體的身份,CA會生成一個把其身份和實體的公鑰繫結起來的證書, 4166 其中包含該實體的公鑰及其全域性唯一的身份識別資訊等,並由CA對證書進行數字簽名; 4167 Bob獲取個人數字證書(如圖)↓ 4168 4169 Bob的公鑰K+B---->數字簽名--->由CA簽發的Bob的公鑰證書 4170 ↖ (加密) 4171 ↖ ↑ _ 4172 ↖ |CA的私鑰KCA 4173 Bob的識別資訊---->認證中心(CA) 4174 4175 (六)防火牆與入侵檢測系統 4176 1.防火牆基本概念 4177 防火牆是能夠隔離組織內部網路與公共網際網路,允許某些分組通過, 4178 而阻止其他分組進行或離開內部網路的軟體、硬體或軟體硬體結合的一種設施; 4179 4180 2.防火牆的分類 4181 1)無狀態分組過濾器 4182 典型部署在內部網路和網路邊緣路由器上的防火牆,路由器逐個檢查資料報, 4183 根據訪問控制表(Access Control List,ACL)實現防火牆規則; 4184 4185 2)有狀態分組過濾器 4186 跟蹤每個TCP連線建立、拆除、根據狀態確定是否允許分組通過; 4187 4188 3)應用閘道器 4189 應用閘道器實現 授權 使用者通過閘道器訪問外部網路的服務; 4190 4191 3.入侵檢測系統(IDS,Intrusion Detection System) 4192 是當觀察到潛在的惡意流量時,能夠產生警告的裝置或系統; 4193 4194 4195 (七)網路安全協議 4196 自頂向下介紹各層解決安全性的例項協議 4197 1.安全電子郵箱(應用層) 4198 1>電子郵件對網路安全的需求 4199 1)機密性 4200 2)完整性 4201 3)身份認證性 4202 4)抗抵賴性 4203 4204 2>安全電子郵件標準:PGP標準(Pretty Good Privacy) 4205 4206 3>PGP提供的服務 4207 1)郵件加密; 報文完整性; 數字簽名; 4208 2)加密演算法: 公鑰加密演算法(如RSA)、對稱加密演算法(如3DES)、雜湊演算法(如SHA-1); 4209 4210 2.安全套接字層SSL(傳輸層) 4211 1>SSL使用原因 4212 1)一般Web伺服器越強大,包含安全漏洞的概率越高; 4213 2)Web瀏覽器也會遇到各種各樣的安全威脅; 4214 3)普通Web應用的應用層資料,在傳輸過程中都以明文形式傳輸,可能受到攻擊; 4215 4216 2>在電子背景下,提出HTTP安全電子商務交易協議; 4217 在傳輸層之上構建一個安全層: 4218 安全套接字層(Secure Socket Layer,SSL) 4219 傳輸層安全(Transport Layer Security,TLS) 4220 4221 3>SSL可以提供的服務 4222 機密性,完整性、身份認證等安全服務; 4223 4224 用到的加密演算法: 公開金鑰加密演算法, 對稱金鑰加密演算法, MAC演算法; 4225 4226 4>SSL協議棧(協議的總和) 4227 SSL是介於TCP傳輸層和HTTP等應用層協議之間的一個可選層, 4228 大多數應用層協議直接建立在SSL協議之上,SSL是兩層協議; 4229 +-------------+----------------+------------+ 4230 | SSL握手協議 | SSL更改密碼協議 | SSL警告協議 | 4231 +-------------+----------------+------------+ 4232 | SSL記錄協議 | 4233 +-------------------------------------------+ 4234 | TCP | 4235 +-------------------------------------------+ 4236 | IP | 4237 +-------------------------------------------+ 4238 4239 1)SSL握手協議: 4240 在握手過程中需要用到SSL握手協議、SSL更改密碼協議,SSL警告協議; 4241 作用:協商密碼組 和 建立密碼組; 伺服器認證與鑑別 和 客戶認證與鑑別; 4242 4243 2)SSL更改密碼協議: 通訊雙方修改密碼組,標誌著加密策略的改變; 4244 +-------------------+----------------------------------------+ 4245 | 公開金鑰加密演算法 | SSL主要是用RSA,其他多種公鑰加密演算法也支援 | 4246 +-------------------+----------------------------------------+ 4247 | 對稱金鑰加密演算法 | SSL支援DES分組加密、3DES分組密碼等 | 4248 +-------------------+----------------------------------------+ 4249 | MAC演算法 | MD5 或 SHA-1 | 4250 +-------------------+----------------------------------------+ 4251 4252 3)SSL警告協議: 4253 在發生出錯或異常時,為對等實體傳遞SSL警告或終止當前連線; 4254 包含兩個欄位: 警告級別 和 警告程式碼; 4255 4256 4)SSL記錄協議: 4257 描述資訊交換過程中的訊息格式,前3個協議需要記錄協議進行封裝與傳輸; 4258 4259 4260 3.虛擬專用網VPN 和 IP安全協議IPSec(網路層) 4261 1>虛擬專用網VPN 4262 建立在公共網路上的安全通道,是使用者通過公用網路建立的臨時的、安全的連線 4263 實現遠端使用者、分支機構、業務夥伴等與機構總部網路的安全連線,從而構建針對 4264 特定組織機構的專用網路,虛擬專用網路最重點的特點就是 虛擬; 4265 虛擬專用網一般指 構建在Internet上能夠 自我管理 的專用網路; 4266 關鍵技術: 隧道技術(IPSec), 資料加密; 身份認證; 金鑰管理; 訪問控制; 網路管理; 4267 4268 2>隧道:通過Internet提供的點對點的資料傳輸的安全通道; 4269 通過資料加密保證安全,資料進入隧道時,由VPN封裝成IP資料報, 4270 通過隧道在Internet上傳輸;離開隧道後,進行解裝,資料便不受VPN保護; 4271 4272 3>IPSec體系 4273 IPSec是網路層使用的最廣泛的安全協議,待IPSec不是一個單一的協議, 4274 1)主要包括的協議: 封裝安全荷載協議(ESP), 認證頭(AH)協議; 4275 2)IPSec傳輸模式: 傳輸模式 和 隧道模式 4276 *1.傳輸模式: 主機模式, IPSec資料報的傳送和接收都是由 端系統完成; 4277 *2.隧道模式: 將IPSec的功能部署在網路邊緣的路由器上,路由器之間建立安全隧道,資料報在其中封裝裝傳輸; 4278 4279 4>傳輸模式和協議組合 4280 1)傳輸模式AH; 4281 2)隧道模式AH; 4282 3)傳輸模式ESP; 4283 4)隧道模式ESP:最廣泛 和 最重要的IPSec形式; //隧道式安全荷載協議