簡單理解TCP/IP協議棧

 

協議定義的是一系列的通信標準, 通信雙方需要共同按照這一標準進行正常的數據收發;信的雙方需要共同按照這一個標準進行正常的數據收發;(兩人,說共同的語言,不然不能交流,一個聽不懂外語的和說外語的交流)

協議棧是協議的具體實現形式, 通俗的理解就是用代碼實現的函數庫, 以便於開發人員調用。

協議棧是通常是一個層級結構。協議棧是網絡中各層協議的總和,其形象的反映了 一個網絡中文件傳輸過程;由上層協議到底層協議,再由底層協議到上層協議。

 

某個協議的實現代碼稱爲協議棧

BLE協議棧主要用來對你的應用數據進行層層封包,以生成一個滿足BLE協議的空中數據包,也就是說,把應用數據包裹在一系列的幀頭(header)和幀尾(tail)中。

 

 

 

 

 

 

以太網五層模型

 

“以太網首部”包含數據幀的一些說明項,比如發送者、接收者、數據類型等等;“數據”部分則是數據的具體內容;“以太網尾部”則是 CRC 校驗碼。“以太網首部”的長度固定爲 14 字節。“數據”的長度,最短爲 46 字節,最長爲 1500 字節。“以太網尾部”的長度固定位 4 字節。因此,整個“幀”最短爲 64 字節,最長爲 1518 字節。如果數據很長,就必須分割成多個幀進行發送

 

 

TCP 協議可以爲各種各樣的程序傳遞數據,比如發 Email 用的SMTP(簡單郵件管理)協議、網上衝浪用到的 HTTP(超文本傳輸)協議、下載資料用到的 FTP(文件傳送)協議等等,這些應用程序協議就構成了“應用層”
 

 

應用這種軟件 TCP/IP 協議棧方式實現的比較成熟方案有 ENC28J60,CS8900A,DM9000,當然也有像 STM32F107 這類(內部自帶 MAC)+PHY 等方案。
由於軟件協議棧操作需要主控 MCU 不斷地響應中斷,這在很大程度上佔用了MCU 的運算/時鐘資源。經過測試發現,單線程操作的情況下,MCU 的運行速度和數據的處理速度僅能滿足需要,但隨着線程增多,MCU 的工作效率直線下降,會嚴重影響通信質量。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章