一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發

袁菘華 著

  • 出版商: 深智
  • 出版日期: 2026-09-19
  • 定價: $980
  • 售價: 7.9$774
  • 語言: 繁體中文
  • 頁數: 560
  • ISBN: 6267889777
  • ISBN-13: 9786267889770
  • 相關分類: Linux
  • 尚未上市,歡迎預購

  • 一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發-preview-1
  • 一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發-preview-2
  • 一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發-preview-3
  • 一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發-preview-4
  • 一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發-preview-5
  • 一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發-preview-6
  • 一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發-preview-7
  • 一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發-preview-8
一定要懂的基礎 - 全圖解 Linux 網路原理實戰開發-preview-1

相關主題

商品描述

網路程式設計真正的門檻,不只是會呼叫Socket API,而是理解一筆資料如何從應用程式進入Linux核心,經過TCP/IP協定堆疊、網路卡,再傳送到另一台主機。

本書從OSI參考模型、TCP/IPARPIP、交換器與跨網段通訊出發,逐步深入Linux核心的網路封包收發流程,再延伸到TCPUDPI/O模型、selectpollepollRaw SocketUnix Domain Socket、群播、廣播、零複製與百萬連線。

書中涵蓋網路位元組序、Socket位址、TCP狀態機、TFOSYN CookiesUDP可靠性、io_uringSocket選項、檔案描述元傳遞,以及Reactor架構等實務技術,將網路協定、系統呼叫、Linux核心機制與伺服器架構串成完整脈絡。

對想從一般Socket程式設計進一步理解Linux網路底層、高效能I/O與高併發伺服器設計的開發者而言,這是一本兼具底層原理與實作細節的網路程式設計參考書。

本書共分14

1章介紹OSI參考模型、TCP/IPARP、交換器與跨網段通訊

2章介紹Socket概念及Linux核心的網路封包收發流程

3章介紹網路位元組序、Socket位址、IP與網域名稱轉換及Socket核心函式

4章介紹TCP狀態機、TCP程式設計、TFOSYN Flood

5章介紹UDP程式設計、掉封包、順序錯亂與可靠性處理

6章介紹循環式伺服器、並行伺服器與I/O多工伺服器

7章介紹阻塞、非阻塞、訊號驅動、非同步I/Oio_uring

8章介紹selectpollepoll

9章介紹Socket選項與sysctl

10章介紹網路層與資料連結層Raw Socket,以及使用者空間TCP/IP實作

11章介紹Unix Domain Socket與檔案描述元傳遞

12章介紹群播、IGMP與廣播

13章介紹mmapDMAsendfilesplice等零複製技術

14章介紹單機百萬連線、系統限制調整與Reactor架構

作者簡介

袁菘華

具有十餘年Linux研發經驗,曾就職於世界500強企業和中國某通訊公司。擅長以圖文的形式寫作技術文章,將複雜的技術知識講得通俗易懂。個人微信公眾號「物聯網心球」深受廣大讀者的喜歡。

目錄大綱

1 電腦網路基礎

1.1  OSI 參考模型

1.2  TCP/IP

1.3  兩台主機直連

1.4  區域網路通訊

1.5  跨網段通訊

2 認識通訊端

2.1  從不同角度看 Socket

2.2  從核心看Linux 接收資料

2.3  從核心看Linux 傳送資料

2.4  常見 Socket 介紹

3 Socket 程式設計基礎

3.1  位元組序

3.2  Socket 位址

3.3  IP 位址轉換

3.4  網域名稱與 IP 位址的轉換

3.5  Socket核心函式

3.6  Socket 發送函式

3.7  Socket 接收函式

4 TCP Socket 程式設計

4.1  TCP 程式設計基礎

4.2  TCP Socket 程式設計基礎

4.3  優雅關閉 Socket

4.4  TCP 連線快速開啟

4.5  SYN Flood 攻擊

5 UDP Socket 程式設計

5.1  UDP 程式設計基礎

5.2  UDP 通訊端程式設計基礎

5.3  UDP 可靠性程式設計

6 伺服器模型

6.1  迴圈伺服器

6.2  並行伺服器

6.3  I/O 多工伺服器

6.4  本章小結

7 I/O 模型

7.1  同步I/O 和非同步I/O 的區別

7.2  阻塞I/O

7.3  非阻塞I/O

7.4  I/O 多工

7.5  訊號驅動I/O

7.6  非同步I/O

8 I/O 多工

8.1  從核心看select

8.2  select 程式設計實戰

8.3  select 小結

8.4  從核心看poll

8.5  poll 程式實戰

8.6  poll 小結

8.7  從核心看epoll

8.8  epoll 程式設計實戰

8.9  epoll 小結

9 通訊端選項

9.1  通訊端選項簡介

9.2  setsockopt getsockopt 函式

9.3  sysctl 相關知識

9.4  常用的通訊端選項

10 原始通訊端

10.1  從核心看原始通訊端

10.2  網路層原始通訊端

10.3  鏈結層原始通訊端

10.4  使用者層TCP/IP 程式設計

11 網域通訊端

11.1  網域通訊端基礎

11.2  SOCK_STREAM 網域通訊端

11.3  SOCK_DGRAM 網域通訊端

11.4  socketpair 網域通訊端

11.5  傳遞檔案描述子

12 群播和廣播

12.1  群播

12.2  群播程式設計

12.3  廣播

12.4  廣播程式設計

13 零複製

13.1  傳統檔案傳輸

13.2  零複製技術

13.3  零複製網路程式設計

14 百萬高併發

14.1  開啟百萬個通訊端檔案

14.2  建立上百萬個網路連線

14.3  百萬高併發常見問題

14.4  Reactor 模型