趣味網絡圖解:從基礎到應用
林兆倫(@小白debug)
- 出版商: 電子工業
- 出版日期: 2025-08-01
- 售價: $779
- 語言: 簡體中文
- 頁數: 392
- ISBN: 7121510316
- ISBN-13: 9787121510311
-
相關分類:
Computer-networks
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
-
$680$666 -
$534超大流量分佈式系統架構解決方案:人人都是架構師2.0
-
$780$468 -
$520$468 -
$580$458 -
$719$683 -
$556正本清源分佈式事務之 Seata (全彩)
-
$708深入理解 Linux 網絡: 修煉底層內功,掌握高性能原理
-
$780$663 -
$654$621 -
$713$677 -
$534$507 -
$948$901 -
$600$474 -
$2,100$1,995 -
$800$632 -
$1,188$1,129 -
$880$695 -
$580$458 -
$680$537 -
$780$608 -
$690$545 -
$980$774 -
$750$593 -
$790$624
商品描述
本書以一系列引人入勝的問題為起點,帶領讀者深入計算機網絡的技術核心。本書基於網絡的四層模型,自下而上逐層剖析網絡編程和數據傳輸的根本原理,特別聚焦於程序員在學習和職業實踐中經常面臨的具體情境。 本書采用提問、分析、解答的方法,引導讀者逐步深入,直至完全理解網絡通信的精細運作方式。書中不僅闡述了socket的使用及其底層實現機制,還細致解讀了TCP的三次握手與四次揮手過程,以及應用層協議的多樣性。更進一步,本書深入比較了TCP與UDP在實際應用中的不同表現,通過實際案例分析,揭示了它們的內在特性。通過通俗易懂的語言,本書將復雜的網絡知識轉化為輕松有趣的學習體驗,確保讀者在享受閱讀的同時,也能充分吸收知識。 不論是對於網絡編程的新手,還是對於富有經驗的開發者,本書都是一部內容豐富、值得深讀的學習指南。本書的目標是通過生動有趣的講解方式,不僅拓寬讀者在網絡技術領域的視野,更加深其對該領域的理解。
作者簡介
林兆倫,後端技術專家,先後就職於盛大遊戲、字節跳動,全網50多萬名讀者技術博主。
目錄大綱
第1章 網絡基礎:探索網絡的起點
1.1 TCP/IP四層網絡是什麼?
1.1.1 TCP/IP四層網絡
1.1.2 兩臺計算機互連
1.1.3 小結
1.2 怎樣使用Wireshark抓包?
小結
1.3 如何使用Wireshark定位timeout問題
1.3.1 問題背景
1.3.2 排查方案
1.3.3 原因
1.3.4 小結
第2章 網絡層和網絡接口層:架起連接的橋梁
2.1 為什麼我們家裏的IP地址都是192.168開頭的?
2.1.1 IP地址是什麼?
2.1.2 IP地址的分類
2.1.3 IP地址不夠用了嗎?
2.1.4 查詢自己的公網IP地址
2.1.5 小結
2.2 為什麼我在公司訪問不了家裏的計算機?
2.2.1 NAT的工作原理
2.2.2 NAPT的工作原理
2.2.3 內網穿透是什麼?
2.2.4 小結
2.3 ping不通,網絡就一定不可用嗎?
2.3.1 ICMP是什麼?
2.3.2 ICMP報文格式
2.3.3 ICMP和IP的關系
2.3.4 ICMP抓包
2.3.5 小結
2.4 路由器、集線器、交換機有什麼區別?
2.4.1 什麼是集線器?
2.4.2 什麼是交換機?
2.4.3 什麼是路由器?
2.4.4 小結
第3章 傳輸層:數據流動內幕
3.1 socket到底是什麼?
3.1.1 socket如何實現網絡通信?
3.1.2 sock如何實現“繼承”?
3.1.3 小結
3.2 TCP和UDP有什麼區別?
3.2.1 使用socket進行數據傳輸
3.2.2 對於異常情況的處理
3.2.3 用UDP就一定比用TCP快嗎?
3.2.4 小結
3.3 代碼執行send成功後,數據就發出去了嗎?
3.3.1 socket緩沖區
3.3.2 TCP部分
3.3.3 UDP部分
3.4 TCP兩次揮手,你見過嗎?那四次握手呢?
3.4.1 TCP四次揮手
3.4.2 TCP三次揮手
3.4.3 TCP兩次揮手
3.4.4 TCP四次握手
3.4.5 小結
3.5 沒有accept,能建立TCP連接嗎?
3.5.1 三次握手的細節分析
3.5.2 小結
3.6 收到RST就一定會斷開TCP連接嗎?
3.6.1 出現RST的場景有哪些?
3.6.2 收到RST就一定會斷開連接嗎?
3.6.3 小結
3.7 服務端沒執行bind,卻執行了listen,會怎樣?
3.7.1 bind的作用
3.7.2 不執行bind會怎樣
3.7.3 小結
3.8 TCP粘包是什麼?數據包:我只是犯了每個數據包都會犯的錯
3.8.1 數據分段
3.8.2 MTU和MSS有什麼區別?
3.8.3 什麼是粘包?
3.8.4 為什麼會出現粘包?
3.8.5 為什麼要組裝發送的數據?
3.8.6 關掉Nagle算法就不會粘包了嗎?
3.8.7 怎樣處理粘包?
3.8.8 UDP會粘包嗎?
3.8.9 IP層有粘包問題嗎?
3.8.10 小結
3.9 為什麼IP層會分片,TCP層也要分段?
3.9.1 如何查看MSS?
3.9.2 如何查看MTU?
3.9.3 為什麼MTU一般是1500?
3.9.4 TCP層分段了,IP層就一定不會分片了嗎?
3.9.5 IP層怎樣做到不分片?
3.9.6 小結
3.10 連接一個IP地址不存在的主機時,握手過程是怎樣的?
3.10.1 正常情況下的握手過程是怎樣的?
3.10.2 連IP地址存在但端口號不存在的主機的握手過程
3.10.3 小結
第4章 應用層:網絡應用交互的奇妙旅程
4.1 HTTP是什麼?
4.1.1 HTTP報文格式
4.1.2 報文信息解讀
4.1.3 小結
4.2 502問題怎麼排查?
4.2.1 HTTP狀態碼
4.2.2 網關的作用
4.2.3 Nginx返回5xx狀態碼
4.2.4 產生502的常見原因
4.2.5 小結
4.3 既然有HTTP,為什麼還要有RPC?
4.3.1 從TCP聊起
4.3.2 使用純裸TCP會有什麼問題?
4.3.3 HTTP和RPC
4.3.4 小結
4.4 為什麼有了HTTP,還要有websocket協議?
4.4.1 使用HTTP不斷輪詢
4.4.2 長輪詢
4.4.3 websocket是什麼?
4.4.4 怎樣建立websocket連接?
4.4.5 websocket抓包
4.4.6 websocket的消息格式
4.4.7 websocket的使用場景
4.4.8 小結
4.5 剛插上網線,計算機怎麼知道自己的IP地址是什麼?
4.5.1 DHCP是什麼?
4.5.2 DHCP的工作原理
4.5.3 DHCP抓包
4.5.4 為什麼DHCP用UDP,能不能改用TCP?
4.5.5 為什麼第二階段不是廣播,而是單播?
4.5.6 是不是每次聯網都要經歷DHCP四個階段?
4.5.7 DHCP分配下來的IP地址一定不會重覆嗎?
4.5.8 小結
4.6 HTTPS裏公鑰加密的內容,為什麼不能用公鑰解密?
4.6.1 對稱加密和非對稱加密
4.6.2 HTTPS的加密原理
4.6.3 小結
4.7 為什麼我抓不到baidu的數據包?
4.7.1 為什麼沒能抓到數據包?
4.7.2 解密數據包
4.7.3 HTTPS握手過程
4.7.4 怎樣得到pre_master?
4.7.5 ssl.key文件內容
4.7.6 小結
4.8 DNS中有哪些值得學習的優秀設