《網(wǎng)絡是怎樣連接的》以探索之旅的形式,從在瀏覽器中輸入網(wǎng)址開始,一路追蹤了到顯示出網(wǎng)頁的內容為止的整個過程,以圖配文,講解了網(wǎng)絡的全貌,并重點介紹了實際的網(wǎng)絡設備和軟件是如何工作的。目的是幫助讀者理解網(wǎng)絡的本質意義,理解實際的設備和軟件,進而熟練運用網(wǎng)絡技術。同時,專設了“網(wǎng)絡術語其實很簡單”專欄,以對話的形式介紹了一些網(wǎng)絡術語的詞源,頗為生動有趣。
日文版重印32次!
“計算機網(wǎng)絡概論”圖解趣味版
蹲馬桶就能看懂的網(wǎng)絡基礎知識
《Wireshark網(wǎng)絡分析就這么簡單》作者林沛滿 作序推薦!
本書適合
1. 菜鳥程序員入門進階
2. 中級程序員查漏補缺
3. 高手程序員向家人(女友、老媽等)普及計算機知識
a.如果你好奇從在瀏覽器中輸入網(wǎng)址到顯示出網(wǎng)頁內容網(wǎng)絡中到底發(fā)生了什么
b.如果你想知道網(wǎng)絡設備和軟件在網(wǎng)絡內部是如何工作的
c.如果你已經掌握了一些零散的網(wǎng)絡知識但是想要形成完整的知識脈絡
d.如果你想在工作和生活中更好地應用網(wǎng)絡
那么就該讀一讀這本書,全面系統(tǒng)地掌握網(wǎng)絡基礎知識!
以圖配文,深入講解網(wǎng)絡基礎知識
語言通俗,即使是文科生也能看得懂
特設“網(wǎng)絡術語其實很簡單”專欄,生動有趣
戶根勤(作者)
早先從事軟件開發(fā),后進入網(wǎng)絡行業(yè)。曾供職于日本網(wǎng)絡設備廠商(外資企業(yè))和國內網(wǎng)絡集成商,從事產品開發(fā)和技術咨詢等工作。在工作之余還進行演講、寫作等活動。1998年離開公司,開始以演講、寫作以及運營論壇為主業(yè)。
周自恒(譯者)
知名技術圖書譯者、全棧程序員、自然科學愛好者。初中時曾獲得信息學奧賽天津賽區(qū)一等獎,曾任某管理咨詢公司戰(zhàn)略技術總監(jiān)。
譯有《圖解CIO工作指南(第4版)》《大數(shù)據(jù)的沖擊》《代碼的未來》《30天自制操作系統(tǒng)》《圖解密碼技術》《家用游戲機簡史》《有趣的二進制》等。
第1章 瀏覽器生成消息 1
——探索瀏覽器內部
1.1 生成HTTP請求消息 5
1.1.1 探索之旅從輸入網(wǎng)址開始 5
1.1.2 瀏覽器先要解析URL 7
1.1.3 省略文件名的情況 9
1.1.4 HTTP的基本思路 10
1.1.5 生成HTTP請求消息 14
1.1.6 發(fā)送請求后會收到響應 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服務器發(fā)出查詢 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 委托協(xié)議棧發(fā)送消息 45
1.4.1 數(shù)據(jù)收發(fā)操作概覽 45
1.4.2 創(chuàng)建套接字階段 48
1.4.3 連接階段:把管道接上去 50
1.4.4 通信階段:傳遞消息 52
1.4.5 斷開階段:收發(fā)數(shù)據(jù)結束 53
怪杰Resolver 55
第2章 用電信號傳輸TCP/IP數(shù)據(jù) 57
——探索協(xié)議棧和網(wǎng)卡
2.1 創(chuàng)建套接字 61
2.1.1 協(xié)議棧的內部結構 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 收發(fā)數(shù)據(jù) 75
2.3.1 將HTTP請求消息交給協(xié)議棧 75
2.3.2 對較大的數(shù)據(jù)進行拆分 78
2.3.3 使用ACK號確認網(wǎng)絡包已收到 79
2.3.4 根據(jù)網(wǎng)絡包平均往返時間調整ACK號等待時間 83
2.3.5 使用窗口有效管理ACK號 84
2.3.6 ACK與窗口的合并 87
2.3.7 接收HTTP響應消息 89
2.4 從服務器斷開并刪除套接字 90
2.4.1 數(shù)據(jù)發(fā)送完畢后斷開連接 90
2.4.2 刪除套接字 92
2.4.3 數(shù)據(jù)收發(fā)操作小結 93
2.5 IP與以太網(wǎng)的包收發(fā)操作 95
2.5.1 包的基本知識 95
2.5.2 包收發(fā)操作概覽 99
2.5.3 生成包含接收方IP地址的IP頭部 102
2.5.4 生成以太網(wǎng)用的MAC頭部 106
2.5.5 通過ARP查詢目標路由器的MAC地址 108
2.5.6 以太網(wǎng)的基本知識 111
2.5.7 將IP包轉換成電或光信號發(fā)送出去 114
2.5.8 給網(wǎng)絡包再加3個控制數(shù)據(jù) 116
2.5.9 向集線器發(fā)送網(wǎng)絡包 120
2.5.10 接收返回包 123
2.5.11 將服務器的響應包從IP傳遞給TCP 125
2.6 UDP協(xié)議的收發(fā)操作 128
2.6.1 不需要重發(fā)的數(shù)據(jù)用UDP發(fā)送更高效 128
2.6.2 控制用的短數(shù)據(jù) 129
2.6.3 音頻和視頻數(shù)據(jù) 130
插進Socket里的是燈泡還是程序 132
第3章 從網(wǎng)線到網(wǎng)絡設備 135
——探索集線器、交換機和路由器
3.1 信號在網(wǎng)線和集線器中傳輸 139
3.1.1 每個包都是獨立傳輸?shù)摹?39
3.1.2 防止網(wǎng)線中的信號衰減很重要 140
3.1.3 “雙絞”是為了抑制噪聲 141
3.1.4 集線器將信號發(fā)往所有線路 146
3.2 交換機的包轉發(fā)操作 149
3.2.1 交換機根據(jù)地址表進行轉發(fā) 149
3.2.2 MAC地址表的維護 153
3.2.3 特殊操作 154
3.2.4 全雙工模式可以同時進行發(fā)送和接收 155
3.2.5 自動協(xié)商:確定最優(yōu)的傳輸速率 156
3.2.6 交換機可同時執(zhí)行多個轉發(fā)操作 159
3.3 路由器的包轉發(fā)操作 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 通過分片功能拆分大網(wǎng)絡包 170
3.3.8 路由器的發(fā)送操作和計算機相同 172
3.3.9 路由器與交換機的關系 173
3.4 路由器的附加功能 176
3.4.1 通過地址轉換有效利用IP地址 176
3.4.2 地址轉換的基本原理 178
3.4.3 改寫端口號的原因 180
3.4.4 從互聯(lián)網(wǎng)訪問公司內網(wǎng) 181
3.4.5 路由器的包過濾功能 182
集線器和路由器,換個名字身價翻倍? 184
第4章 通過接入網(wǎng)進入互聯(lián)網(wǎng)內部 187
——探索接入網(wǎng)和網(wǎng)絡運營商
4.1 ADSL接入網(wǎng)的結構和工作方式 191
4.1.1 互聯(lián)網(wǎng)的基本結構和家庭、公司網(wǎng)絡是相同的 191
4.1.2 連接用戶與互聯(lián)網(wǎng)的接入網(wǎng) 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 光纖接入網(wǎng)(FTTH) 206
4.2.1 光纖的基本知識 206
4.2.2 單模與多!208
4.2.3 通過光纖分路來降低成本 213
4.3 接入網(wǎng)中使用的PPP和隧道 217
4.3.1 用戶認證和配置下發(fā) 217
4.3.2 在以太網(wǎng)上傳輸PPP消息 219
4.3.3 通過隧道將網(wǎng)絡包發(fā)送給運營商 223
4.3.4 接入網(wǎng)的整體工作過程 225
4.3.5 不分配IP地址的無編號端口 228
4.3.6 互聯(lián)網(wǎng)接入路由器將私有地址轉換成公有地址 228
4.3.7 除PPPoE之外的其他方式 230
4.4 網(wǎng)絡運營商的內部 233
4.4.1 POP和NOC 233
4.4.2 室外通信線路的連接 236
4.5 跨越運營商的網(wǎng)絡包 238
4.5.1 運營商之間的連接 238
4.5.2 運營商之間的路由信息交換 239
4.5.3 與公司網(wǎng)絡中自動更新路由表機制的區(qū)別 241
4.5.4 IX的必要性 242
4.5.5 運營商如何通過IX互相連接 243
名字叫服務器,其實是路由器 246
第5章 服務器端的局域網(wǎng)中有什么玄機 249
5.1 Web服務器的部署地點 253
5.1.1 在公司里部署Web服務器 253
5.1.2 將Web服務器部署在數(shù)據(jù)中心 255
5.2 防火墻的結構和原理 256
5.2.1 主流的包過濾方式 256
5.2.2 如何設置包過濾的規(guī)則 256
5.2.3 通過端口號限定應用程序 260
5.2.4 通過控制位判斷連接方向 260
5.2.5 從公司內網(wǎng)訪問公開區(qū)域的規(guī)則 262
5.2.6 從外部無法訪問公司內網(wǎng) 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 內容分發(fā)服務 280
5.5.1 利用內容分發(fā)服務分擔負載 280
5.5.2 如何找到最近的緩存服務器 282
5.5.3 通過重定向服務器分配訪問目標 285
5.5.4 緩存的更新方法會影響性能 287
當通信線路變成局域網(wǎng) 291
第6章 請求到達Web服務器,響應返回瀏覽器 293
——短短幾秒的“漫長旅程”迎來終點
6.1 服務器概覽 297
6.1.1 客戶端與服務器的區(qū)別 297
6.1.2 服務器程序的結構 297
6.1.3 服務器端的套接字和端口號 299
6.2 服務器的接收操作 305
6.2.1 網(wǎng)卡將接收到的信號轉換成數(shù)字信息 305
6.2.2 IP模塊的接收操作 308
6.2.3 TCP模塊如何處理連接包 309
6.2.4 TCP模塊如何處理數(shù)據(jù)包 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 通過響應的數(shù)據(jù)類型判斷其中的內容 323
6.4.2 瀏覽器顯示網(wǎng)頁內容!訪問完成! 326
Gateway是通往異世界的入口 328
附錄 330
后記 334
致謝 334
作者簡介 335