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

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

出版日期:
2026/09/18
9
980882
查詢門市庫存
網路程式設計真正的門檻,不只是會呼叫Socket API,而是理解一筆資料如何從應用程式進入Linux核心,經過TCP/IP協定堆疊、網路卡,再傳送到另一台主機。

內容簡介

https://youtu.be/htA-zD1DQHY
網路程式設計真正的門檻,不只是會呼叫Socket API,而是理解一筆資料如何從應用程式進入Linux核心,經過TCP/IP協定堆疊、網路卡,再傳送到另一台主機。
本書從OSI參考模型、TCP/IP、ARP、IP、交換器與跨網段通訊出發,逐步深入Linux核心的網路封包收發流程,再延伸到TCP、UDP、I/O模型、select、poll、epoll、Raw Socket、Unix Domain Socket、群播、廣播、零複製與百萬連線。
書中涵蓋網路位元組序、Socket位址、TCP狀態機、TFO、SYN Cookies、UDP可靠性、io_uring、Socket選項、檔案描述元傳遞,以及Reactor架構等實務技術,將網路協定、系統呼叫、Linux核心機制與伺服器架構串成完整脈絡。
對想從一般Socket程式設計進一步理解Linux網路底層、高效能I/O與高併發伺服器設計的開發者而言,這是一本兼具底層原理與實作細節的網路程式設計參考書。
本書共分14章
◼第1章介紹OSI參考模型、TCP/IP、ARP、交換器與跨網段通訊
◼第2章介紹Socket概念及Linux核心的網路封包收發流程
◼第3章介紹網路位元組序、Socket位址、IP與網域名稱轉換及Socket核心函式
◼第4章介紹TCP狀態機、TCP程式設計、TFO與SYN Flood
◼第5章介紹UDP程式設計、掉封包、順序錯亂與可靠性處理
◼第6章介紹循環式伺服器、並行伺服器與I/O多工伺服器
◼第7章介紹阻塞、非阻塞、訊號驅動、非同步I/O與io_uring
◼第8章介紹select、poll與epoll
◼第9章介紹Socket選項與sysctl
◼第10章介紹網路層與資料連結層Raw Socket,以及使用者空間TCP/IP實作
◼第11章介紹Unix Domain Socket與檔案描述元傳遞
◼第12章介紹群播、IGMP與廣播
◼第13章介紹mmap、DMA、sendfile與splice等零複製技術
◼第14章介紹單機百萬連線、系統限制調整與Reactor架構

展開看更多

產品目錄

▍第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 模型

作者介紹

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

規格

誠品貨碼 / 2683221349004
ISBN13 / 9786267889770
ISBN10 /
EAN貨碼 / 9786267889770
頁數 / 560
裝訂 / P:平裝
語言 / 1:中文/繁體
尺寸 / 17X23X2.74CM
級別 / N:無

退貨說明

退貨須知:

  1. 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
  2. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。

依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:

  1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
  2. 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
  3. 報紙、期刊或雜誌。
  4. 經消費者拆封之影音商品或電腦軟體。
  5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
  6. 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
  7. 國際航空客運服務。

若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:

  1. 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
  2. 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
  3. 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
  4. 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  5. 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  6. 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送