ABI Research指出,目前市場上的無線連接設備已超過100億部,而到2020年通過無線連接到物聯網(萬物互聯)的設備將突破300億部。隨著物聯網越來越受到人們的重視,許多OEM廠商都發現自身面臨的壓力也越來越大,他們必須為各種產品提供因特網連接功能,才能從實現設備間的通信功能中受益。但是,許多開發人員并不熟悉如何實現高度穩健的TCP/IP協議棧。本文將探討在嵌入式系統中有關支持因特網連接功能的主要問題,以及如何通過新工具幫助開發人員為系統提供TCP/IP且無需擔心低層次實現細節問題。
首先,讓我們簡要回顧一下TCP/IP協議。傳輸控制協議/因特網協議(TCP/IP)是連接到因特網的硬件設備之間用于交換數據的通用語言。這些規則管理著終端操作系統(Windows、iOS、Linux等)之間的交換機制以及SMTP、FTP、HTTP等一系列具體協議。
TCP/IP被細分為不同的“層”(詳見圖1)。因特網數據以數據片段的格式從應用層路由到傳輸層。物理層是在IEEE 802.3規范所定義的以太網協議下,數據通過“因特網”進行物理傳輸的地方。以太網有多種不同的規范版本,可提供各種最大比特率、傳輸模式和傳輸介質(光纖、同軸電纜等)。介質訪問控制(MAC)是物理層非常重要的部分,MAC地址表示以太網網絡上節點的物理地址。每個以太網幀都包含一個源地址和一個目的地址。
圖1. 因特網上的數據傳輸
應用層負責提供用戶接口。以下是常見的應用層協議 。
1. 超文本傳輸協議(HTTP):傳輸與瀏覽萬維網(WWW)相關的數據。
2. 簡單郵件傳輸協議(SMTP):支持整個因特網上的電子郵件傳輸。
3. 文件傳輸協議(FTP):用于在因特網上傳輸文件。
4. 域名系統(DNS):翻譯域名。
5. 動態主機配置協議(DHCP):為特定節點動態分配IP地址。
6. Telnet:為節點創建互動的TCP連接。
7. 簡單網絡時間協議(SNTP):支持節點時鐘與參考時鐘同步。
8. 簡單網絡管理協議(SNMP):用于監控網絡連接設備,檢查是否存在發生故障等需要干預的情況。