![](/c49/99/10029247116176.jpg)
出版社:中國水利水電出版社 ISBN:9787517033127 商品編碼:10029247116176 包裝:平裝 出版時間:2015-07-01 代碼:68 作者:朱升林,歐陽駿,楊晶著
"基本信息 書名:嵌入式網絡那些事 定價 作者:朱升林,歐陽駿,著 出版社:中國水利水電出版社 出版日期:2015-07-01 ISBN:9787517033127 字數:687000 頁碼:483 版次:1 裝幀:平裝 開本:16開 商品重量: 編輯推薦
《嵌入式網絡那些事:STM32物聯實戰》可作為TCP/IP學習者的快速入門及精通的指導書籍,還可作為廣大嵌入式網絡開發人員的參考手冊。 內容提要
本書面向網絡TCP/IP協議初學者以及大量嵌入式網絡開發人員,從當下流行的嵌入式網絡協議棧LwIP的源代碼入手,詳細講解TCP/IP協議的各層機制及其實現原理。同時,通過搭建簡單的實驗環境,本書還詳細闡述LwIP在嵌入式設備組網過程中的移植過程、應用編程案例、編程框架、注意事項等。 本書共分為四大部分,部分講解基於STM32平臺下LwIP的移植過程,其中包括了LwIP代碼組織結構與特點,以及LwIP裸機移植通用流程;第二部分,以LwIP源代碼為基礎,以網絡數據包在協議棧內部的遞交順序做導向,結合TCP/IP協議基本知識,依次講解LwIP內核各個模塊的實現機制,包括數據包管理、網絡接口管理、ARP、IP、ICMP、UDP、TCP等;第三部分,講解LwIP上層API實現機制,以及常見的網絡應用程序結構以及編程方法,以及LwIP其他高級應用,如IGMP、DNS、DHCP等;第四部分,講解內核調試、協議棧穩定性和性能、並發服務器設計等,以及LwIP在具體項目中的應用和實踐過程,同時還包括了LwIP在實際應用中常見的問題及解決方法。 本書可作為TCP/IP學習者的快速入門及精通的指導書籍,還可作為廣大嵌入式網絡開發人員的參考手冊。 目錄
前言 章實驗平臺背後的故事 1.1嵌入式網絡技術一統江湖 1.1.1嵌入式網絡的發展現狀 1.1.2嵌入式LwIP協議棧 1.2基於STM32的實驗平臺淺析 1.2.1STM32處理器的興起 1.2.2實驗平臺簡介 1.2.3網卡連接情況 1.3本書主要內容 第2章LwIP協議棧初體驗 2.1廬山真面目之LwIP代碼結構 2.1.1LwIP簡介 2.1.2源代碼結構 2.2怎樣用SI閱讀源代碼 2.3千裡之行從LwIP框架做起 2.3.1協議棧分層思想 2.3.2進程模型 2.3.3協議棧編程接口
第3章LwIP移植初探--無操作繫統模擬層 3.1移植說明 3.2移植頭文件 3.3網卡驅動編寫 3.4安裝繫統時鐘 3.5協議棧初始化 3.6查詢接收數據包 3.7數據包中斷接收 3.8如何定位Ping問題
第4章內核動力之源--內存管理 4.1內存管理背後的故事 4.1.1內存管理概述 4.1.2常見內存分配策略 4.2以不變應萬變--動態內存池 4.2.1數據結構描述 4.2.2函數實現 4.3見招拆招--動態內存堆 4.3.1數據結構描述 4.3.2函數實現 4.4其他內存分配策略
第5章網絡數據包--內核血液 5.1數據包管理的必要性 5.1.1LwIP的分層特點 5.1.2協議進程模型 5.2數據包管理原理大揭密 5.2.1數據包結構pbuf 5.2.2pbuf的類型 5.2.3數據包申請函數 5.2.4數據包釋放函數 5.2.5其他數據包操作函數
第6章網絡抽水機--網絡接口管理 6.1引言 6.2接口管理的始與末 6.2.1數據結構 6.2.2函數實現 6.3特殊的網絡接口--環回 6.3.1實現原理 6.3.2應用程序環回通信實戰 6.4如何動態更改IP地址 6.4.1重要函數 6.4.2實戰程序
第7章漫漫鵲橋路--ARP協議 7.1ARP協議之掃盲篇 7.1.1物理地址與網絡地址 7.1.2ARP協議的本質 7.2關鍵數據結構 7.2.1ARP表 7.2.2ARP報文 7.3ARP之數據包引進來 7.3.1以太網數據包遞交 7.3.2ARP數據包處理 7.3.3ARP攻擊 7.3.4ARP緩存表的更新 7.4ARP之數據包走出去 7.4.1ARP層數據處理總流程 7.4.2廣播包與多播包的發送 7.4.3單播包的發送
第8章互聯網身份證--網際協議(IP) 8.1IP協議之掃盲班 8.1.1概述 8.1.2IP地址 8.1.3特殊IP地址 8.1.4子網劃分與子網掩碼 8.1.5網絡地址轉換(NAT) 8.1.6單播、多播與廣播 8.2什麼是IP數據報 8.2.1數據報組成結構 8.2.2數據結構 8.3IP數據報之走出去 8.3.1發送數據報 8.3.2數據報分片 8.4IP數據報之引進來 8.4.1數據報接收 8.4.2分片重裝數據結構 8.4.3分片重裝函數 8.4.4分片插入與檢查
第9章互聯網醫生--ICMP協議 9.1ICMP掃盲班 9.1.1ICMP協議 9.1.2報文交付 9.1.3報文類型 9.1.4報文格式 9.1.5差錯報文 9.1.6查詢報文 9.2ICMP實現大起底 9.2.1數據結構 9.2.2發送差錯報文 9.2.3ICMP報文的處理 9.2.4ping命令 9.2.5ICMP洪水 9.3如何發送Ping請求 9.3.1實現原理--raw_pcb 9.3.2發送ping請求 9.3.3測試結果
0章RawAPI無招勝有招之UDP篇 10.1UDP協議掃盲班 10.1.1傳輸層協議 10.1.2UDP協議 10.1.3端口號 10.1.4UDP報文的交付 10.1.5UDP報文格式 10.1.6UDP偽首部與校驗和 10.2UDP數據結構詳解 10.2.1報文首部結構 10.2.2控制塊 10.3UDPRAW編程秘籍 10.3.1使用UDP編程 10.3.2新建控制塊 10.3.3綁定控制塊 10.3.4連接控制塊 10.3.5其他控制塊操作函數 10.4UDPRAW編程初體驗 10.4.1UDP編程秘訣 10.4.2回送程序 10.4.3測試結果 10.4.4回調編程的缺陷 10.5內核報文處理細節 10.5.1報文的發送 10.5.2報文接收與遞交 10.6挑戰更復雜的UDP應用 10.6.1使用TFTP傳送文件 10.6.2應用程序實現 10.6.3TFTP測試結果
1章RawAPI無招勝有招之TCP篇 11.1TCP協議大揭秘 11.1.1TCP的必要性 11.1.2TCP的特性 11.1.3連接的定義 11.1.4數據流編號 11.1.5滑動窗口 11.2TCP入門--報文 11.2.1報文格式 11.2.2TCP選項 11.2.3緊急數據 11.2.4強迫數據交互 11.2.5報文首部數據結構 11.3TCP基礎--連接 11.3.1建立連接 11.3.2斷開連接 11.3.3復位連接 11.3.4TCP狀態轉換圖 11.3.5特殊的狀態轉換 11.4TCP核心--控制塊 11.4.1控制塊數據結構 11.4.2控制塊鏈表 11.4.3接收窗口 11.4.4發送窗口 11.5TCPRAW編程秘訣 11.5.1控制塊新建 11.5.2控制塊綁定 11.5.3控制塊偵聽 11.5.4控制塊連接 11.5.5發送數據 11.5.6關閉連接 11.5.7其他函數 11.6TCPRAW編程初體驗 11.6.1TCP編程本質 11.6.2服務器 11.6.3打不死的客戶端 11.7TCP輸出處理細節放送 11.7.1報文段緩衝 11.7.2報文段構建 11.7.3報文段發送 11.8TCP輸入處理細節放送 11.8.1TCP層函數調用流程 11.8.2報文輸入 11.8.3TIME_WAIT狀態的報文處理 11.8.4LISTEN狀態的報文處理 11.8.5SYN攻擊 11.8.6TCP狀態機函數 11.8.7TCP數據輸入 11.9可靠的傳輸服務 11.9.1超時重傳與RTT估計 11.9.2慢啟動與擁塞避免 11.9.3快速重傳與快速恢復 11.9.4糊塗窗口與避免 11.9.5零窗口探查 11.9.6保活機制 11.9.7TCP定時器 11.10挑戰更復雜的TCP應用 11.10.1Tel服務器 11.10.2測試結果
2章LwIP乾坤大挪移--操作繫統 模擬層 12.1模擬層是怎樣煉成的 12.1.1移植綜述 12.1.2添加文件 12.1.3修改頭文件lwipopts.h 12.1.4頭文件sys_arch.h 12.1.5全局變量與初始化 12.1.6信號量函數 12.1.7郵箱函數 12.1.8創建新進程 12.1.9修改內核初始化函數 12.1.10移植結果測試 12.2SequentialAPI牛刀小試 12.2.1回顯服務器 12.2.2Web服務器 12.2.3操作繫統下的rawAPI
3章SequentialAPI大顯身手 13.1探秘內核定時事件 13.1.1定時結構 13.1.2定時鏈表 13.1.3內核進程 13.1.4處理定時事件 13.2論消息機制的重要性 13.2.1消息結構 13.2.2數據包消息 13.2.3協議棧API實現 13.2.4API消息 13.3協議棧接口全搜羅 13.3.1用戶數據緩衝buf 13.3.2如何操作數據緩衝 13.3.3連接結構conn 13.3.4內核回調接口 13.3.5協議棧API秘籍 13.4SequentialAPI大會戰 13.4.1網頁控制設備 13.4.2UDP性能測試 13.4.3TCP性能測試 13.4.4並發服務器
4章萬劍歸宗之Socket編程 14.1套接字接口來龍去脈 14.1.1如何實現Socket 14.1.2套接字函數秘籍 14.2Socket實戰大串燒 14.2.1智能的TCP客戶端 14.2.2UDP時間服務器 14.2.3Winsock客戶端設計 14.3基於Select的並發服務器 14.3.1神奇的Select函數 14.3.2Select原理全解析 14.3.3Select實戰--並發服務器
5章LwIP工程實戰--物聯網關 15.1項目背景 15.1.1中央空調繫統與溫控器 15.1.2新需求的出現 15.1.3要做什麼與如何去做 15.2智能網絡溫控器 15.2.1溫控器實現方案 15.2.2ModbusTCP服務器 15.3物聯網關設計 15.3.1物聯網關實現方案 15.3.2網關服務器 15.4現場調試與測試 15.4.1溫控器測試 15.4.2物聯網關測試
6章天下之術皆為我用--LwIP高級篇 16.1外網訪問之道--域名解析 16.1.1域名繫統(DNS) 16.1.2DNS牛刀小試 16.1.3下載外網數據 16.2如何自動分配IP地址--DHCP 16.2.1DHCP大講堂 16.2.2DHCP之實現詳解 16.2.3是騾子是馬--遛遛DHCP 16.3如何實現組播--Inter組管理 16.3.1IGMP協議大講堂 16.3.2IGMP組播實踐
7章 後的戰役 17.1如何配置協議棧 17.1.1內核配置文件opt.h 17.1.2如何提高TCP性能 17.2內核調試常用方法 17.2.1內核日志輸出 17.2.2網絡調試助手 17.2.3Wireshark抓包 17.3為了更好的明天 17.3.1常見移植問題 17.3.2常見應用問題 17.4故事結局 參考文獻
作者介紹
朱升林非碼農,法號及網名“老衲五木”,風靡網絡的電子書《協議棧源碼詳解——協議的實現》及熱賣圖書《嵌入式網絡那些事:協議深度剖析與實戰演練》作者。對有豐富的實踐經驗和深入獨到的理解,長期從事物聯網熱點技術如(、、、)的研究與應用。目前在某知名通信公司從事軟件研發工作。
序言
" |