嵌入式網路那些事——STM32物聯實戰

嵌入式網路那些事——STM32物聯實戰

《嵌入式網路那些事——STM32物聯實戰》是2015年水利水電出版社出版的圖書,作者是朱升林、歐陽駿、楊晶。

基本介紹

  • 書名:嵌入式網路那些事——STM32物聯實戰
  • 作者:朱升林、歐陽駿、楊晶
  • ISBN:9787517033127
  • 定價:¥68.00
  • 出版社:水利水電出版社
  • 出版時間:2015年07月 
  • 裝幀:平裝
  • 開本:16
內容簡介,目錄,

內容簡介

本書面向網路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.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測試結果

第10章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測試結果

第11章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.2HTTP伺服器
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.1Telnet伺服器
11.10.2測試結果

第12章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

第13章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用戶數據緩衝netbuf
13.3.2如何運算元據緩衝
13.3.3連線結構netconn
13.3.4核心回調接口
13.3.5協定棧API秘籍
13.4SequentialAPI大會戰
13.4.1網頁控制設備
13.4.2UDP性能測試
13.4.3TCP性能測試
13.4.4並發伺服器

第14章萬劍歸宗之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實戰--並發伺服器

第15章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物聯網關測試

第16章天下之術皆為我用--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如何實現組播--Internet組管理
16.3.1IGMP協定大講堂
16.3.2IGMP組播實踐

第17章最後的戰役
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故事結局
參考文獻

相關詞條

熱門詞條

聯絡我們