嵌入式系統中TCP/IP協議的精簡與實現
發布時間:2007/8/30 0:00:00 訪問次數:421
來源:微計算機信息 作者:雷必成
摘要: 通過對TCP/IP協議的分析,結合嵌入式系統的特點,挑選出一套精簡、實用的TCP/IP協議子集,并詳細介紹各協議層的實現過程。為嵌入式網絡系統的開發提供一個較為簡單且可行的思路。
關鍵詞:嵌入式系統,以太網,TCP/IP協議, UDP, ARP
1、引言
嵌入式網絡系統就是在嵌入式設備上實現了網絡互聯功能的系統,一般要求嵌入式設備在軟件上支持TCP/IP協議棧,實現有關的以太網通信協議。如何實現TCP/IP協議是嵌入式網絡系統的關鍵技術之一,在嵌入式系統中應用TCP/IP協議的關鍵是,如何設計出精簡、高效的TCP/IP協議子集,以此來減少對系統資源的占用。
目前使用廣泛的TCP/IP協議棧有LWIP(Light Weight)、uIP、Linux IP等,這些協議棧具有一定的通用性,包含的協議內容比較全,同時也比較復雜。具體在移植到應用系統的時候要考慮的問題較多,各個庫文件和全局變量相互交叉引用,若要針對特定系統進行精簡,則牽一發而動全身,尤其是存儲器的管理及上層協議與底層網絡驅動的接口是兩個最大的移植難題。
為了能對TCP/IP協議有較深的了解,又利于后期進行深入研究,我們在實現一具體的Internet網絡報警系統時,進行自主的嵌入式TCP/IP協議開發。下文所介紹的TCP/IP協議系統由于精簡而利于實現,且無需進行內存管理,適合傳送數據量不大的嵌入式系統。在實現時,只要根據相應的數據幀格式,在各層完成相應的功能即可。非常適合研究學習之用,為嵌入式網絡系統的開發提供一個較為可行且簡單的思路。
2、協議的分析與選擇
眾所周知,TCP/IP是一個協議族,是幾百種網絡協議的集合。通用計算機系統有足夠的資源支持通信協議在內核實現,但是嵌入式系統則不同,因為其CPU處理能力和系統存儲能力都受到成本限制,充分利用資源、提高系統性價比是開發嵌入式應用的根本特點。所以要對TCP/IP協議進行精簡以適應嵌入式系統。
下面我們以實際的Internet網絡報警系統為例,設計一個較為精簡的TCP/IP協議子系統。此系統采用32位ARM結構的三星S3C440BX處理器,加SMSC公司的以太網控制芯片LAN91C113,以及另外一些外圍芯片組成。此系統要求經Internet傳送一些現場采集的報警數據到遠程站點,要求實時性好、傳輸速度快,但每次傳輸的數據量很少,只是簡單的報警信息。根據這些要求,再經詳細分析TCP/IP各協議層實現的功能,精簡出的協議子集如圖1:
層次 | 需要實現的協議 |
應用層 | 無 |
傳輸層 | UDP |
網絡層 | IP、ICMP中的Ping響應協議 |
鏈路層 | ARP應答協議 |
層次 | 需要實現的協議 |
應用層 | 無 |
傳輸層 | UDP |
網絡層 | IP、ICMP中的Ping響應協議 |
鏈路層 | ARP應答協議 |