lwip協(xié)議棧的設(shè)計與實現(xiàn)_中文譯稿

lwip協(xié)議棧的設(shè)計與實現(xiàn)_中文譯稿

ID:34396564

大小:618.87 KB

頁數(shù):42頁

時間:2019-03-05

lwip協(xié)議棧的設(shè)計與實現(xiàn)_中文譯稿_第1頁
lwip協(xié)議棧的設(shè)計與實現(xiàn)_中文譯稿_第2頁
lwip協(xié)議棧的設(shè)計與實現(xiàn)_中文譯稿_第3頁
lwip協(xié)議棧的設(shè)計與實現(xiàn)_中文譯稿_第4頁
lwip協(xié)議棧的設(shè)計與實現(xiàn)_中文譯稿_第5頁
資源描述:

《lwip協(xié)議棧的設(shè)計與實現(xiàn)_中文譯稿》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、TCP/IP協(xié)議棧LwIP的設(shè)計與實現(xiàn)DesignandImplementationoftheLwIPTCP/IPStack[瑞典]AdamDunkels著adam@sics.se翻譯焦海波marsstory99@hotmail.comSwedishInstituteofComputerScienceFebruary20,2001TCP/IP協(xié)議棧LwIP的設(shè)計與實現(xiàn)-1-摘要LwIP是TCP/IP協(xié)議棧的一個實現(xiàn)。它的目的是減少內(nèi)存使用率和代碼大小,使LwIP適用于資源受限系統(tǒng)比如嵌入式系統(tǒng)。為了減少處理和內(nèi)存需求,LwIP使用不需要任何數(shù)據(jù)復(fù)制的經(jīng)過裁剪的API。本文描述了

2、LwIP的設(shè)計與實現(xiàn)。描述了在協(xié)議棧實現(xiàn)中以及像內(nèi)存與緩沖管理這樣的子系統(tǒng)中使用的算法和數(shù)據(jù)結(jié)構(gòu)。本文還包括LwIP的參考手冊以及使用LwIP的代碼例子。1簡介最近幾年,人們對計算機(jī)互聯(lián)以及計算機(jī)無線網(wǎng)絡(luò)支撐設(shè)備的興趣一直不斷的增長。計算機(jī)逐漸與日常使用的設(shè)備無縫集成在了一起,并且價格一直在下降。與此同時,無線網(wǎng)絡(luò)技術(shù)比如藍(lán)牙(Bluetooth)[HNI+98]及IEEE802.11bWLAN[BIG+97]正逐漸的出現(xiàn)在人們的視野中。這些新技術(shù)的出現(xiàn),在許多諸如衛(wèi)生保健、安全保密、運輸及工業(yè)處理等領(lǐng)域提供了一個非常誘人的應(yīng)用前景。一些像傳感器一類的輕便設(shè)備可以連入互聯(lián)網(wǎng),以

3、便隨時隨地進(jìn)行監(jiān)控。在過去的近十年的時間里,互聯(lián)網(wǎng)技術(shù)被證明擁有足夠的靈活性以適應(yīng)不斷變化的網(wǎng)絡(luò)環(huán)境。從原始的ARPNET一類的低速網(wǎng)絡(luò)發(fā)展起來的互聯(lián)網(wǎng),發(fā)展到今天,在帶寬和誤碼率方面擁有巨大差異的光纖連接技術(shù)已經(jīng)使互聯(lián)網(wǎng)實現(xiàn)了巨大的跨越。相當(dāng)多的以互聯(lián)網(wǎng)為基礎(chǔ)的應(yīng)用技術(shù)被開發(fā)出來。因此,未來的無線網(wǎng)絡(luò)——使用已經(jīng)存在的互聯(lián)網(wǎng)技術(shù)成為人們的首選。同樣,互聯(lián)網(wǎng)在全球范圍內(nèi)的連通性也成為了人們選擇它的動機(jī)之一。一些輕便設(shè)備,比如在身體上使用的傳感器,體積小而且便宜,內(nèi)部的運算及存儲資源有限,因此就必須在資源受限的情況下實現(xiàn)及處理Internet協(xié)議。本文講述的就是在這樣的條件下如何

4、占用盡量少的資源實現(xiàn)一個輕型的TCP/IP協(xié)議棧,我們把該協(xié)議棧叫做LwIP。本文的章節(jié)安排是這樣的:第2、3、4節(jié)對LwIP做一個總體上的描述,第5節(jié)是關(guān)于操作系統(tǒng)模擬層的內(nèi)容,第6節(jié)是內(nèi)存和緩沖區(qū)管理,第7節(jié)介紹LwIP網(wǎng)絡(luò)接口抽象層,第8、9、10介紹IP、UDP、TCP協(xié)議的實現(xiàn),第11、12節(jié)介紹如何與LwIP協(xié)議棧接口及LwIP提供的API,第13、14節(jié)將分析協(xié)議棧的實現(xiàn),第15、16節(jié)提供LwIPAPI的參考手冊,17、18節(jié)提供例子代碼。2協(xié)議層TCP/IP協(xié)議族以分層的方式設(shè)計,每一層分別解決通訊問題的一部分。設(shè)計實現(xiàn)協(xié)議族——層可以提供指引,因為每一種協(xié)議

5、可以被獨立的實現(xiàn)。然而嚴(yán)格的按照分層的方式實現(xiàn)協(xié)議族,會因為協(xié)議層之間的通訊造成總體性能下降。要解決這個問題,協(xié)議的某些內(nèi)部方面對其它協(xié)議來說應(yīng)該可知,不過要注意的是,只有重要的信息在各層之間共享。大部分的TCP/IP實現(xiàn)在應(yīng)用層和底層協(xié)議層之間進(jìn)行了嚴(yán)格的劃分,而底層協(xié)議之間卻可以進(jìn)行或多或少的交叉存取。在大部分的操作系統(tǒng)中,底層協(xié)議族作為擁有應(yīng)用層進(jìn)程通訊入口的操作系統(tǒng)內(nèi)核的一部分被實現(xiàn)。應(yīng)用程序是TCP/IP實現(xiàn)的抽象表示,網(wǎng)絡(luò)通訊與進(jìn)程間通訊和文件I/O沒多少差別。這意味著,因為應(yīng)用層不知道底層協(xié)議使用的緩沖機(jī)制,那它就不能利用這些信息去做一些事情,比如,重新使用常用數(shù)

6、據(jù)緩沖區(qū)。同樣,當(dāng)應(yīng)用層發(fā)送數(shù)據(jù),在被網(wǎng)絡(luò)代碼處理之前,這些數(shù)據(jù)必須由應(yīng)用層進(jìn)程內(nèi)存空間復(fù)制到內(nèi)部緩沖區(qū)。像LwIP的目標(biāo)系統(tǒng)這樣的最小限度系統(tǒng)所使用的操作系統(tǒng),通常不能在內(nèi)核與應(yīng)用層進(jìn)程之間維持一個嚴(yán)格的保護(hù)屏障。這就允許使用一種比較松散的通訊機(jī)制,通過共享內(nèi)存翻譯焦海波6/2/2006TCP/IP協(xié)議棧LwIP的設(shè)計與實現(xiàn)-2-的方式實現(xiàn)應(yīng)用層與底層協(xié)議族之間的通訊。特別的,應(yīng)用層能夠了解底層協(xié)議使用的緩沖處理機(jī)制將使應(yīng)用層可以更加有效的重復(fù)使用緩沖區(qū)。同樣,既然應(yīng)用層與網(wǎng)絡(luò)代碼可以使用相同的內(nèi)存區(qū),那么應(yīng)用層就可以直接讀寫內(nèi)部緩沖區(qū),從而避免了內(nèi)存復(fù)制產(chǎn)生的性能損失。3概

7、覽與許多其它的TCP/IP實現(xiàn)一樣,LwIP也是以分層的協(xié)議為參照——設(shè)計實現(xiàn)TCP/IP。每一個協(xié)議作為一個模塊被實現(xiàn),同時還提供了幾個函數(shù)作為協(xié)議的入口點。盡管這些協(xié)議是被獨立實現(xiàn)的,但是有些層卻不是這樣,就像上面討論的,這樣做的目的是為了在處理速度與內(nèi)存占用率方面提升性能。比如,當(dāng)驗證一個到達(dá)的TCP段的校驗和并且分解這個TCP段時,TCP模塊必須知道該TCP段的源及目的IP地址。因為TCP模塊知道IP頭的結(jié)構(gòu),因此它就可以自己提取這個信息,從而取代了通過函數(shù)調(diào)用傳遞IP地址信息的方式

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。