《網路是怎樣連線的》以探索之旅的形式,從在瀏覽器中輸入網址開始,一路追蹤了到顯示出網頁內容為止的整個過程,以圖配文,講解了網路的全貌,並重點介紹了實際的網路設備和軟體是如何工作的。目的是幫助讀者理解網路的本質意義,理解實際的設備和軟體,進而熟練運用網路技術。
基本介紹
- 作品名稱:網路是怎樣連線的
- 外文名稱: ネットワークはなぜつながるのか
- 作品出處:人民郵電出版社
- 作者: [日]戶根勤
- 譯者: 周自恆
- ISBN:9787115441249
作者簡介
目錄
——探索瀏覽器內部
1.1 生成HTTP請求訊息 5
1.1.1 探索之旅從輸入網址開始 5
1.1.2 瀏覽器先要解析URL 7
1.1.3 省略檔案名稱的情況 9
1.1.4 HTTP的基本思路 10
1.1.5 生成HTTP請求訊息 14
1.1.6 傳送請求後會收到回響 20
1.2 向DNS伺服器查詢Web伺服器的IP位址 24
1.2.1 IP位址的基本知識 24
1.2.2 域名和IP位址並用的理由 28
1.2.3 Socket庫提供查詢IP位址的功能 30
1.2.4 通過解析器向DNS伺服器發出查詢 31
1.2.5 解析器的內部原理 32
1.3 全世界DNS伺服器的大接力 35
1.3.1 DNS伺服器的基本工作 35
1.3.2 域名的層次結構 38
1.3.3 尋找相應的DNS伺服器並獲取IP位址 40
1.3.4 通過快取加快DNS伺服器的回響 44
1.4 委託協定棧傳送訊息 45
1.4.1 數據收發操作概覽 45
1.4.2 創建套接字階段 48
1.4.3 連線階段:把管道接上去 50
1.4.4 通信階段:傳遞訊息 52
1.4.5 斷開階段:收發數據結束 53
怪傑Resolver 55
第2章 用電信號傳輸TCP/IP數據 57
——探索協定棧和網卡
2.1 創建套接字 61
2.1.1 協定棧的內部結構 61
2.1.2 套接字的實體就是通信控制信息 63
2.1.3 調用socket時的操作 66
2.2 連線伺服器 68
2.2.1 連線是什麼意思 68
2.2.2 負責保存控制信息的頭部 70
2.2.3 連線操作的實際過程 73
2.3 收發數據 75
2.3.1 將HTTP請求訊息交給協定棧 75
2.3.2 對較大的數據進行拆分 78
2.3.3 使用ACK號確認網路包已收到 79
2.3.4 根據網路包平均往返時間調整ACK號等待時間 83
2.3.5 使用視窗有效管理ACK號 84
2.3.6 ACK與視窗的合併 87
2.3.7 接收HTTP回響訊息 89
2.4 從伺服器斷開並刪除套接字 90
2.4.1 數據傳送完畢後下線 90
2.4.2 刪除套接字 92
2.4.3 數據收發操作小結 93
2.5 IP與乙太網的包收發操作 95
2.5.1 包的基本知識 95
2.5.2 包收發操作概覽 99
2.5.3 生成包含接收方IP位址的IP頭部 102
2.5.4 生成乙太網用的MAC頭部 106
2.5.5 通過ARP查詢目標路由器的MAC地址 108
2.5.6 乙太網的基本知識 111
2.5.7 將IP包轉換成電或光信號傳送出去 114
2.5.8 給網路包再加3個控制數據 116
2.5.9 向集線器傳送網路包 120
2.5.10 接收返回包 123
2.5.11 將伺服器的回響包從IP傳遞給TCP 125
2.6 UDP協定的收發操作 128
2.6.1 不需要重發的數據用UDP傳送更高效 128
2.6.2 控制用的短數據 129
2.6.3 音頻和視頻數據 130
插進Socket里的是燈泡還是程式 132
第3章 從網線到網路設備 135
——探索集線器、交換機和路由器
3.1 信號在網線和集線器中傳輸 139
3.1.1 每個包都是獨立傳輸的 139
3.1.2 防止網線中的信號衰減很重要 140
3.1.3 “雙絞”是為了抑制噪聲 141
3.1.4 集線器將信號發往所有線路 146
3.2 交換機的包轉發操作 149
3.2.1 交換機根據地址表進行轉發 149
3.2.2 MAC地址表的維護 153
3.2.3 特殊操作 154
3.2.4 全雙工模式可以同時進行傳送和接收 155
3.2.5 自動協商:確定最優的傳輸速率 156
3.2.6 交換機可同時執行多個轉發操作 159
3.3 路由器的包轉發操作 159
3.3.1 路由器的基本知識 159
3.3.2 路由表中的信息 162
3.3.3 路由器的包接收操作 166
3.3.4 查詢路由表確定輸出連線埠 166
3.3.5 找不到匹配路由時選擇默認路由 168
3.3.6 包的有效期 169
3.3.7 通過分片功能拆分大網路包 170
3.3.8 路由器的傳送操作和計算機相同 172
3.3.9 路由器與交換機的關係 173
3.4 路由器的附加功能 176
3.4.1 通過地址轉換有效利用IP位址 176
3.4.2 地址轉換的基本原理 178
3.4.3 改寫連線埠號的原因 180
3.4.4 從網際網路訪問公司區域網路 181
3.4.5 路由器的包過濾功能 182
集線器和路由器,換個名字身價翻倍? 184
第4章 通過接入網進入網際網路內部 187
——探索接入網和網路運營商
4.1 ADSL接入網的結構和工作方式 191
4.1.1 網際網路的基本結構和家庭、公司網路是相同的 191
4.1.2 連線用戶與網際網路的接入網 192
4.1.3 ADSL Modem將包拆分成信元 193
4.1.4 ADSL將信元“調製”成信號 197
4.1.5 ADSL通過使用多個波來提高速率 200
4.1.6 分離器的作用 201
4.1.7 從用戶到電話局 203
4.1.8 噪聲的干擾 204
4.1.9 通過DSLAM到達BAS 205
4.2 光纖接入網(FTTH) 206
4.2.1 光纖的基本知識 206
4.2.2 單模與多模 208
4.2.3 通過光纖分路來降低成本 213
4.3 接入網中使用的PPP和隧道 217
4.3.1 用戶認證和配置下發 217
4.3.2 在乙太網上傳輸PPP訊息 219
4.3.3 通過隧道將網路包傳送給運營商 223
4.3.4 接入網的整體工作過程 225
4.3.5 不分配IP位址的無編號連線埠 228
4.3.6 網際網路接入路由器將私有地址轉換成公有地址 228
4.3.7 除PPPoE之外的其他方式 230
4.4 網路運營商的內部 233
4.4.1 POP和NOC 233
4.4.2 室外通信線路的連線 236
4.5 跨越運營商的網路包 238
4.5.1 運營商之間的連線 238
4.5.2 運營商之間的路由信息交換 239
4.5.3 與公司網路中自動更新路由表機制的區別 241
4.5.4 IX的必要性 242
4.5.5 運營商如何通過IX互相連線 243
名字叫伺服器,其實是路由器 246
第5章 伺服器端的區域網路中有什麼玄機 249
5.1 Web伺服器的部署地點 253
5.1.1 在公司里部署Web伺服器 253
5.1.2 將Web伺服器部署在數據中心 255
5.2 防火牆的結構和原理 256
5.2.1 主流的包過濾方式 256
5.2.2 如何設定包過濾的規則 256
5.2.3 通過連線埠號限定應用程式 260
5.2.4 通過控制位判斷連線方向 260
5.2.5 從公司區域網路訪問公開區域的規則 262
5.2.6 從外部無法訪問公司區域網路 262
5.2.7 通過防火牆 263
5.2.8 防火牆無法抵禦的攻擊 264
5.3 通過將請求平均分配給多台伺服器來平衡負載 265
5.3.1 性能不足時需要負載均衡 265
5.3.2 使用負載均衡器分配訪問 266
5.4 使用快取伺服器分擔負載 270
5.4.1 如何使用快取伺服器 270
5.4.2 快取伺服器通過更新時間管理內容 271
5.4.3 最原始的代理——正向代理 276
5.4.4 正向代理的改良版——反向代理 278
5.4.5 透明代理 279
5.5 內容分發服務 280
5.5.1 利用內容分發服務分擔負載 280
5.5.2 如何找到最近的快取伺服器 282
5.5.3 通過重定向伺服器分配訪問目標 285
5.5.4 快取的更新方法會影響性能 287
當通信線路變成區域網路 291
第6章 請求到達Web伺服器,回響返回瀏覽器 293
——短短几秒的“漫長旅程”迎來終點
6.1 伺服器概覽 297
6.1.1 客戶端與伺服器的區別 297
6.1.2 伺服器程式的結構 297
6.1.3 伺服器端的套接字和連線埠號 299
6.2 伺服器的接收操作 305
6.2.1 網卡將接收到的信號轉換成數字信息 305
6.2.2 IP模組的接收操作 308
6.2.3 TCP模組如何處理連線包 309
6.2.4 TCP模組如何處理數據包 311
6.2.5 TCP模組的斷開操作 312
6.3 Web伺服器程式解釋請求訊息並作出回響 313
6.3.1 將請求的URI轉換為實際的檔案名稱 313
6.3.2 運行CGI程式 316
6.3.3 Web伺服器的訪問控制 319
6.3.4 返迴響應訊息 323
6.4 瀏覽器接收回響訊息並顯示內容 323
6.4.1 通過回響的數據類型判斷其中的內容 323
6.4.2 瀏覽器顯示網頁內容!訪問完成! 326
Gateway是通往異世界的入口 328
附錄 330
後記 334
致謝 334
作者簡介 335