2007-08-29嵌入式系統(tǒng)中TCP/IP協(xié)議的精簡與實現(xiàn)
發(fā)布時間:2008/8/20 0:00:00 訪問次數(shù):524
1、引言
嵌入式網(wǎng)絡(luò)系統(tǒng)就是在嵌入式設(shè)備上實現(xiàn)了網(wǎng)絡(luò)互聯(lián)功能的系統(tǒng),一般要求嵌入式設(shè)備在軟件上支持tcp/ip協(xié)議棧,實現(xiàn)有關(guān)的以太網(wǎng)通信協(xié)議。如何實現(xiàn)tcp/ip協(xié)議是嵌入式網(wǎng)絡(luò)系統(tǒng)的關(guān)鍵技術(shù)之一,在嵌入式系統(tǒng)中應(yīng)用tcp/ip協(xié)議的關(guān)鍵是,如何設(shè)計出精簡、高效的tcp/ip協(xié)議子集,以此來減少對系統(tǒng)資源的占用。
目前使用廣泛的tcp/ip協(xié)議棧有l(wèi)wip(light weight)、uip、linux ip等,這些協(xié)議棧具有一定的通用性,包含的協(xié)議內(nèi)容比較全,同時也比較復(fù)雜。具體在移植到應(yīng)用系統(tǒng)的時候要考慮的問題較多,各個庫文件和全局變量相互交叉引用,若要針對特定系統(tǒng)進行精簡,則牽一發(fā)而動全身,尤其是存儲器的管理及上層協(xié)議與底層網(wǎng)絡(luò)驅(qū)動的接口是兩個最大的移植難題。
為了能對tcp/ip協(xié)議有較深的了解,又利于后期進行深入研究,我們在實現(xiàn)一具體的internet網(wǎng)絡(luò)報警系統(tǒng)時,進行自主的嵌入式tcp/ip協(xié)議開發(fā)。下文所介紹的tcp/ip協(xié)議系統(tǒng)由于精簡而利于實現(xiàn),且無需進行內(nèi)存管理,適合傳送數(shù)據(jù)量不大的嵌入式系統(tǒng)。在實現(xiàn)時,只要根據(jù)相應(yīng)的數(shù)據(jù)幀格式,在各層完成相應(yīng)的功能即可。非常適合研究學(xué)習(xí)之用,為嵌入式網(wǎng)絡(luò)系統(tǒng)的開發(fā)提供一個較為可行且簡單的思路。
2、協(xié)議的分析與選擇
眾所周知,tcp/ip是一個協(xié)議族,是幾百種網(wǎng)絡(luò)協(xié)議的集合。通用計算機系統(tǒng)有足夠的資源支持通信協(xié)議在內(nèi)核實現(xiàn),但是嵌入式系統(tǒng)則不同,因為其cpu處理能力和系統(tǒng)存儲能力都受到成本限制,充分利用資源、提高系統(tǒng)性價比是開發(fā)嵌入式應(yīng)用的根本特點。所以要對tcp/ip協(xié)議進行精簡以適應(yīng)嵌入式系統(tǒng)。
下面我們以實際的internet網(wǎng)絡(luò)報警系統(tǒng)為例,設(shè)計一個較為精簡的tcp/ip協(xié)議子系統(tǒng)。此系統(tǒng)采用32位arm結(jié)構(gòu)的三星s3c440bx處理器,加smsc公司的以太網(wǎng)控制芯片lan91c113,以及另外一些外圍芯片組成。此系統(tǒng)要求經(jīng)internet傳送一些現(xiàn)場采集的報警數(shù)據(jù)到遠程站點,要求實時性好、傳輸速度快,但每次傳輸?shù)臄?shù)據(jù)量很少,只是簡單的報警信息。根據(jù)這些要求,再經(jīng)詳細分析tcp/ip各協(xié)議層實現(xiàn)的功能,精簡出的協(xié)議子集如圖1:
層次 |
需要實現(xiàn)的協(xié)議 |
應(yīng)用層 |
無 |
傳輸層 |
udp |
網(wǎng)絡(luò)層 |
ip、icmp中的ping響應(yīng)協(xié)議 |
鏈路層 |
arp應(yīng)答協(xié)議 |
圖1 精簡的tcp/ip協(xié)議子集
首先在鏈路層上,由于采用以太網(wǎng)的接入方式,系統(tǒng)必須要實現(xiàn)ieee802.3所規(guī)定的cdma/cd協(xié)議。cdma/cd協(xié)議不需用戶實現(xiàn),此協(xié)議只要采用通用的以太網(wǎng)接口芯片就可支持。其次,為了保證系統(tǒng)在以太網(wǎng)中的通信,系統(tǒng)還需實現(xiàn)arp應(yīng)答協(xié)議,該協(xié)議用于將ip地址映射成以太網(wǎng)mac地址。arp的執(zhí)行依靠維持一張表來完成ip地址和mac的地址的映射。
在網(wǎng)絡(luò)層,由于系統(tǒng)要求能夠在internet進行通信,因此系統(tǒng)要實現(xiàn)ip協(xié)議。ip層的代碼有兩個功能:驗證到來的ip報文報頭的正確性,并且對tcp和icmp報文實行分流。因為不考慮ip的分片和重組,所以 ip層的代碼非常的精簡。為了能夠測試系統(tǒng)與網(wǎng)絡(luò)的連接,系統(tǒng)需要實現(xiàn)icmp協(xié)議中的ping應(yīng)答協(xié)議,ping應(yīng)答協(xié)議主要是檢查網(wǎng)絡(luò)是否連通
在傳輸層, tcp為兩臺主機提供面向連接的、可靠的、無重復(fù)的雙向數(shù)據(jù)流傳輸服務(wù),tcp協(xié)議設(shè)計了嚴(yán)格的3次建立連接握手過程、4次關(guān)閉連接握手過程,這些過程的實現(xiàn)對系統(tǒng)資源的耗費非常大。而udp的實現(xiàn)比較簡單,它在某些嵌入式internet的應(yīng)用場合可以很好地應(yīng)用。考慮到系統(tǒng)的簡化及速度的要求,采用了udp協(xié)議,為了確保udp數(shù)據(jù)的到達,在應(yīng)用程序中采用了重復(fù)發(fā)送、回復(fù)確認(rèn)的方式來保證數(shù)據(jù)的正確性。
由于本嵌入式系統(tǒng)無http、ftp等應(yīng)用,所以應(yīng)用層中的協(xié)議無需實現(xiàn)。
3、協(xié)議的實現(xiàn)
本系統(tǒng)由于協(xié)議比較精簡,只保留了必須使用的一些協(xié)議,所以實現(xiàn)過程相對簡單。實現(xiàn)過程中的一個總目標(biāo)是系統(tǒng)開銷要少,每一層之
1、引言
嵌入式網(wǎng)絡(luò)系統(tǒng)就是在嵌入式設(shè)備上實現(xiàn)了網(wǎng)絡(luò)互聯(lián)功能的系統(tǒng),一般要求嵌入式設(shè)備在軟件上支持tcp/ip協(xié)議棧,實現(xiàn)有關(guān)的以太網(wǎng)通信協(xié)議。如何實現(xiàn)tcp/ip協(xié)議是嵌入式網(wǎng)絡(luò)系統(tǒng)的關(guān)鍵技術(shù)之一,在嵌入式系統(tǒng)中應(yīng)用tcp/ip協(xié)議的關(guān)鍵是,如何設(shè)計出精簡、高效的tcp/ip協(xié)議子集,以此來減少對系統(tǒng)資源的占用。
目前使用廣泛的tcp/ip協(xié)議棧有l(wèi)wip(light weight)、uip、linux ip等,這些協(xié)議棧具有一定的通用性,包含的協(xié)議內(nèi)容比較全,同時也比較復(fù)雜。具體在移植到應(yīng)用系統(tǒng)的時候要考慮的問題較多,各個庫文件和全局變量相互交叉引用,若要針對特定系統(tǒng)進行精簡,則牽一發(fā)而動全身,尤其是存儲器的管理及上層協(xié)議與底層網(wǎng)絡(luò)驅(qū)動的接口是兩個最大的移植難題。
為了能對tcp/ip協(xié)議有較深的了解,又利于后期進行深入研究,我們在實現(xiàn)一具體的internet網(wǎng)絡(luò)報警系統(tǒng)時,進行自主的嵌入式tcp/ip協(xié)議開發(fā)。下文所介紹的tcp/ip協(xié)議系統(tǒng)由于精簡而利于實現(xiàn),且無需進行內(nèi)存管理,適合傳送數(shù)據(jù)量不大的嵌入式系統(tǒng)。在實現(xiàn)時,只要根據(jù)相應(yīng)的數(shù)據(jù)幀格式,在各層完成相應(yīng)的功能即可。非常適合研究學(xué)習(xí)之用,為嵌入式網(wǎng)絡(luò)系統(tǒng)的開發(fā)提供一個較為可行且簡單的思路。
2、協(xié)議的分析與選擇
眾所周知,tcp/ip是一個協(xié)議族,是幾百種網(wǎng)絡(luò)協(xié)議的集合。通用計算機系統(tǒng)有足夠的資源支持通信協(xié)議在內(nèi)核實現(xiàn),但是嵌入式系統(tǒng)則不同,因為其cpu處理能力和系統(tǒng)存儲能力都受到成本限制,充分利用資源、提高系統(tǒng)性價比是開發(fā)嵌入式應(yīng)用的根本特點。所以要對tcp/ip協(xié)議進行精簡以適應(yīng)嵌入式系統(tǒng)。
下面我們以實際的internet網(wǎng)絡(luò)報警系統(tǒng)為例,設(shè)計一個較為精簡的tcp/ip協(xié)議子系統(tǒng)。此系統(tǒng)采用32位arm結(jié)構(gòu)的三星s3c440bx處理器,加smsc公司的以太網(wǎng)控制芯片lan91c113,以及另外一些外圍芯片組成。此系統(tǒng)要求經(jīng)internet傳送一些現(xiàn)場采集的報警數(shù)據(jù)到遠程站點,要求實時性好、傳輸速度快,但每次傳輸?shù)臄?shù)據(jù)量很少,只是簡單的報警信息。根據(jù)這些要求,再經(jīng)詳細分析tcp/ip各協(xié)議層實現(xiàn)的功能,精簡出的協(xié)議子集如圖1:
層次 |
需要實現(xiàn)的協(xié)議 |
應(yīng)用層 |
無 |
傳輸層 |
udp |
網(wǎng)絡(luò)層 |
ip、icmp中的ping響應(yīng)協(xié)議 |
鏈路層 |
arp應(yīng)答協(xié)議 |
圖1 精簡的tcp/ip協(xié)議子集
首先在鏈路層上,由于采用以太網(wǎng)的接入方式,系統(tǒng)必須要實現(xiàn)ieee802.3所規(guī)定的cdma/cd協(xié)議。cdma/cd協(xié)議不需用戶實現(xiàn),此協(xié)議只要采用通用的以太網(wǎng)接口芯片就可支持。其次,為了保證系統(tǒng)在以太網(wǎng)中的通信,系統(tǒng)還需實現(xiàn)arp應(yīng)答協(xié)議,該協(xié)議用于將ip地址映射成以太網(wǎng)mac地址。arp的執(zhí)行依靠維持一張表來完成ip地址和mac的地址的映射。
在網(wǎng)絡(luò)層,由于系統(tǒng)要求能夠在internet進行通信,因此系統(tǒng)要實現(xiàn)ip協(xié)議。ip層的代碼有兩個功能:驗證到來的ip報文報頭的正確性,并且對tcp和icmp報文實行分流。因為不考慮ip的分片和重組,所以 ip層的代碼非常的精簡。為了能夠測試系統(tǒng)與網(wǎng)絡(luò)的連接,系統(tǒng)需要實現(xiàn)icmp協(xié)議中的ping應(yīng)答協(xié)議,ping應(yīng)答協(xié)議主要是檢查網(wǎng)絡(luò)是否連通
在傳輸層, tcp為兩臺主機提供面向連接的、可靠的、無重復(fù)的雙向數(shù)據(jù)流傳輸服務(wù),tcp協(xié)議設(shè)計了嚴(yán)格的3次建立連接握手過程、4次關(guān)閉連接握手過程,這些過程的實現(xiàn)對系統(tǒng)資源的耗費非常大。而udp的實現(xiàn)比較簡單,它在某些嵌入式internet的應(yīng)用場合可以很好地應(yīng)用?紤]到系統(tǒng)的簡化及速度的要求,采用了udp協(xié)議,為了確保udp數(shù)據(jù)的到達,在應(yīng)用程序中采用了重復(fù)發(fā)送、回復(fù)確認(rèn)的方式來保證數(shù)據(jù)的正確性。
由于本嵌入式系統(tǒng)無http、ftp等應(yīng)用,所以應(yīng)用層中的協(xié)議無需實現(xiàn)。
3、協(xié)議的實現(xiàn)
本系統(tǒng)由于協(xié)議比較精簡,只保留了必須使用的一些協(xié)議,所以實現(xiàn)過程相對簡單。實現(xiàn)過程中的一個總目標(biāo)是系統(tǒng)開銷要少,每一層之
熱門點擊
- Semtech推出集成IEEE1588 PT
- Linux串口通信編程(Linux Seri
- 采用開放式芯片協(xié)議(OCP)總線的跟蹤儀器與
- Fulcrum推出10-Gigabit以太網(wǎng)
- H.248協(xié)議在通信網(wǎng)絡(luò)中的應(yīng)用
- SiGe半導(dǎo)體推出SE4150L超小雙天線輸
- 4G系統(tǒng)三大關(guān)鍵技術(shù)探討
- 針對機箱內(nèi)通信應(yīng)用開發(fā)的網(wǎng)絡(luò)結(jié)構(gòu)---Rap
- 基于OMAP的嵌入式TCP/IP開
- LitePoint解密多種無線通訊標(biāo)準(zhǔn)的測試
推薦技術(shù)資料
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(zhǔn)定位
- 高效先進封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究