日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]1、 引言 TCP/IP起源于60年代末美國政府資助的一個分組交換網(wǎng)絡(luò)研究項目,到現(xiàn)今已發(fā)展成為計算機之間最常應(yīng)用的組網(wǎng)形式。盡管標(biāo)準(zhǔn)的TCP/IP協(xié)議族在數(shù)據(jù)傳輸?shù)目煽啃耘c數(shù)據(jù)流量的控制上作的很好,但是8位微控制器性

1、 引言
TCP/IP起源于60年代末美國政府資助的一個分組交換網(wǎng)絡(luò)研究項目,到現(xiàn)今已發(fā)展成為計算機之間最常應(yīng)用的組網(wǎng)形式。盡管標(biāo)準(zhǔn)的TCP/IP協(xié)議族在數(shù)據(jù)傳輸?shù)目煽啃耘c數(shù)據(jù)流量的控制上作的很好,但是8位微控制器性能的限制下,標(biāo)準(zhǔn)的TCP/IP協(xié)議族的實現(xiàn)占用大量系統(tǒng)資源是實際應(yīng)用所不允許的。因此要在不改變TCP/IP協(xié)議族標(biāo)準(zhǔn)的前提下對其進行裁剪,使其實時性提高同時保證可靠性以滿足嵌入式系統(tǒng)的要求。
SF0020是NEC公司推出的兼容80C51的8位微控制器芯片。根據(jù)系統(tǒng)在網(wǎng)絡(luò)監(jiān)控系統(tǒng)控制終端應(yīng)用的需要,外部接25MHz晶體,內(nèi)部倍頻至50MHz。該芯片內(nèi)嵌有10M/100Mbps的MAC模塊并提供MII界面,可與外部的Ethernet PHY芯片方便連接。芯片有256字節(jié)內(nèi)部數(shù)據(jù)存儲器,外部可擴充至512K字節(jié)。具備的DMA通道實現(xiàn)了在RAM中和在MAC與RAM之間進行快速數(shù)據(jù)傳輸?shù)墓δ?;支持校驗和模塊,在實現(xiàn)TCP/IP時可以節(jié)省控制器運算開銷。指令周期為4個時鐘周期(標(biāo)準(zhǔn)80C51為12時鐘周期/指令周期)。其性能滿足實現(xiàn)嵌入式TCP/IP協(xié)議族的基本要求。
2、 協(xié)議族總體框架設(shè)計與裁剪策略
為了實現(xiàn)在局域網(wǎng)環(huán)境中作為客戶端控制前端監(jiān)控設(shè)備(硬盤錄像機、編碼器、解碼、視頻服務(wù)器等)的應(yīng)用要求,必須在有限的硬件資源的條件下保證數(shù)據(jù)傳輸?shù)目煽啃院蛯崟r性。因此數(shù)據(jù)鏈路層采用目前應(yīng)用最為廣泛的以太網(wǎng)協(xié)議;上層利用TCP/IP的實現(xiàn)采用在運輸層直接采用可靠的TCP協(xié)議,然后對其進行適當(dāng)裁剪的方法。這是因為考慮到通用性、兼容性和通信的可靠程度,而沒有使用在應(yīng)用層加入控制策略運輸層使用簡單UDP協(xié)議的方案。本地數(shù)據(jù)的流動要實現(xiàn)向應(yīng)用程序提供可靠的數(shù)據(jù),與底層以太網(wǎng)驅(qū)動程序交互數(shù)據(jù)報功能。
協(xié)議族系統(tǒng)結(jié)構(gòu)框架如下圖1所示,其中虛線部分是本文所要完成的,包括socket子層、運輸層的TCP協(xié)議、網(wǎng)絡(luò)層的IP和ICMP協(xié)議、ARP協(xié)議和以太網(wǎng)子層。

500)this.style.width=500;" border="0" />
 
圖1 協(xié)議族系統(tǒng)框架
2.1 接口子層實現(xiàn)
以太網(wǎng)子層提供了與以太網(wǎng)驅(qū)動程序的接口,其實現(xiàn)驅(qū)動程序存儲空間和協(xié)議空間之間數(shù)據(jù)搬移的功能;以及數(shù)據(jù)報流入的分路和流出的封裝處理。
Socket(插口)子層向上層提供了創(chuàng)建一個socket描述符,將本地的IP地址與端口號綁定到一個socket上,TCP連接的建立、斷開,數(shù)據(jù)的接收與發(fā)送的功能。
2.2 網(wǎng)絡(luò)層實現(xiàn)
網(wǎng)絡(luò)層實現(xiàn)包括IP協(xié)議(Internet Protocol網(wǎng)際協(xié)議)和基于IP協(xié)議的ICMP協(xié)議(Internet Control Messages Protocol控制報文協(xié)議)。圖1中該層下部的ARP(Address Resolution Protocol 地址解析協(xié)議)為IP提供動態(tài)地址解析服務(wù)。
IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的網(wǎng)絡(luò)層和運輸層數(shù)據(jù)都以IP數(shù)據(jù)報格式傳輸。為了減小TCP/IP協(xié)議族的負(fù)擔(dān),接收時首先要檢查數(shù)據(jù)報的正確性,其次還要過濾目的地址不是本機的報文;此外如果收到被IP分片的數(shù)據(jù)報立即丟棄。最后判斷協(xié)議交給TCP或ICMP協(xié)議處理。因為禁止IP層分片可以提高通信的效率和可靠性,根據(jù)以太網(wǎng)最大傳輸單元(MTU)的限制,socket子層控制了用戶每次傳輸分組的最大字節(jié)數(shù)。同樣服務(wù)端也對IP分片加以限制使IP無需把有限的系統(tǒng)資源消耗在IP報文重裝上,這正是丟棄被分片的IP數(shù)據(jù)報的原因。
ICMP提供主機或路由器報告差錯或提供查詢信息的服務(wù)。ICMP報文可以分成兩類:差錯和查詢。查詢報文是用一對請求和回答定義的。ICMP差錯報文通常包含了引起錯誤的IP數(shù)據(jù)報的第一個分片的IP首部(和選項),加上該分片數(shù)據(jù)部分的前8個字節(jié)。由于運輸層僅僅使用TCP協(xié)議,ICMP也進行了裁剪。協(xié)議支持ping命令請求回顯應(yīng)答,用于檢查協(xié)議族的運行狀況;差錯控制全部交給運輸層TCP協(xié)議處理。
ARP協(xié)議為IP地址和硬件地址之間提供映射。ARP報文分為請求和應(yīng)答兩種報文,通過這兩種報文實現(xiàn)ARP緩存的更新。ARP高速緩存在它的運行過程中非常關(guān)鍵。由于微控制器硬件資源限制ARP高速緩存只定義了8組,因此查找采用線性搜索的方法對最終性能并沒有影響。緩存只包含以下4項既可以實現(xiàn)ARP協(xié)議又可以節(jié)省硬件資源:IP地址、MAC地址、寫入時間、標(biāo)志位。
2.3 運輸層實現(xiàn)
運輸層僅僅實現(xiàn)了TCP(Transfer Control Protocol傳輸控制協(xié)議)。該協(xié)議提供了全雙工高可靠性的通信,因此應(yīng)用層和網(wǎng)絡(luò)層可以忽略相關(guān)細(xì)節(jié)。TCP是TCP/IP體系中面向連接的運輸層協(xié)議,它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分組交給下面的網(wǎng)絡(luò)層,確認(rèn)接收到的分組,設(shè)置發(fā)送最后確認(rèn)分組的超時時鐘等。
每當(dāng)本地發(fā)出連接建立請求后,創(chuàng)建一個對應(yīng)的傳輸控制模塊TCB(Transmission Control Block).它存儲了該連接中的重要信息。和ARP高速緩存一樣其數(shù)據(jù)保存在片內(nèi)數(shù)據(jù)存儲區(qū)來提高協(xié)議的運行效率。本文中TCB的實現(xiàn)只包含以下內(nèi)容:IP地址、雙方端口號、雙方序列號、對方應(yīng)答序號、當(dāng)前連接狀態(tài)、定時器、指向下一個有效數(shù)據(jù)區(qū)的指針、窗口大小。此外通過對TCP首部的選項字段的配置,即保證在局域網(wǎng)內(nèi)部傳輸時IP層傳輸時不會分片使MMS(Maximum Segment Size 最大報文段長度)盡可能大,可以提高TCP傳輸效率。 同時考慮到作為客戶端應(yīng)用,在不影響正常工作的前提下TCP有限狀態(tài)機實現(xiàn)中去掉了服務(wù)端的兩個狀態(tài)LISTEN(監(jiān)聽)、SYN_RCVED(接收SYN狀0態(tài))如下圖2所示。

500)this.style.width=500;" border="0" />
 
圖2 TCP有限狀態(tài)機
 
由于網(wǎng)絡(luò)中數(shù)據(jù)傳輸必然會產(chǎn)生數(shù)據(jù)丟失,TCP錯誤重傳和數(shù)據(jù)重組尤為重要。錯誤重傳是在發(fā)送了需對端確認(rèn)的報文段后設(shè)置重傳定時器,如果在定時器時限內(nèi)未收到ACK該報文段被重發(fā)。因此當(dāng)數(shù)據(jù)發(fā)送之后要等到ACK確認(rèn)報文才能丟棄。數(shù)據(jù)重組是基于面向字節(jié)的序列號,實現(xiàn)重復(fù)數(shù)據(jù)的丟棄、亂序報文的重組。
 
3、協(xié)議族實現(xiàn)關(guān)鍵技術(shù)
3.1 協(xié)議族定時器的實現(xiàn)
ARP實現(xiàn)需要兩個定時器。重傳需要一個定時器,如果ARP報文發(fā)送后1秒中內(nèi)沒有應(yīng)答則再次發(fā)送,本文實現(xiàn)連續(xù)4次重傳后ARP將放棄;ARP高速緩存數(shù)據(jù)存儲時間需要一個定時器,緩存內(nèi)容保存時間為20分鐘,同時允許管理員創(chuàng)建永久節(jié)點作為代理節(jié)點。
TCP實現(xiàn)為當(dāng)前連接建立了如下六個定時器:連接建立定時器,重傳定時器,延遲ACK定時器,持續(xù)定時器, FIN_WAIT_2定時器,TIME_WAIT定時器;去掉了?;疃〞r器,因為該定時器僅是TCP連接的可選配置,在監(jiān)控中的需要有應(yīng)用程序?qū)崿F(xiàn)更加嚴(yán)格的連接保持定時。本文根據(jù)實際監(jiān)控網(wǎng)絡(luò)情況修改了標(biāo)準(zhǔn)協(xié)議族定義的超時時間,使實時性得以提高。
3.2 協(xié)議族的內(nèi)存管理策略
傳入的分組是保存在內(nèi)存中并將其傳遞給適當(dāng)?shù)膮f(xié)議作進一步處理的。同時,應(yīng)用程序產(chǎn)生的數(shù)據(jù)也必須以分組的形式存儲在內(nèi)存中,并最終將其交給網(wǎng)絡(luò)硬件設(shè)備傳送出去。因此協(xié)議的高效性取決于如何管理保存這些分組的存儲空間。本文對內(nèi)存管理用以下兩種方法做到快速分配存儲空間,并且避免分組在各層協(xié)議之間移動時的數(shù)據(jù)復(fù)制。
發(fā)送數(shù)據(jù)報時采用大緩沖區(qū)方案:即將緩沖區(qū)劃分的足夠大(1514字節(jié)),提前留出協(xié)議首部字節(jié)的大小,能夠存儲最長的分組。接收數(shù)據(jù)報時采用鏈表方案:為了避免內(nèi)存碎片的產(chǎn)生該緩沖區(qū)采用固定大小。鏈表的特點是允許快速封裝而無需數(shù)據(jù)的復(fù)制,也就是說當(dāng)接收到遞交上來的數(shù)據(jù)報后,就分配一個新緩沖區(qū),填寫其中的內(nèi)容后將新緩沖區(qū)插入保存此信息的鏈接列表中,這樣就可以很容易的在某個信息的前面插入附加字節(jié),而無需移動已經(jīng)存在的數(shù)據(jù)。采用此方法可以優(yōu)化TCP數(shù)據(jù)報的重組。
采用以上兩種方法可以最大限度實現(xiàn)TCP/IP協(xié)議族內(nèi)數(shù)據(jù)公用,無需額外數(shù)據(jù)搬移。
3.3 協(xié)議族數(shù)據(jù)流程
    如下圖3所示,用戶待發(fā)送的數(shù)據(jù)首先通過socket接口程序進入TCP/IP協(xié)議族,分別進行TCP與IP的數(shù)據(jù)封裝后查詢ARP高速緩存,如果存在當(dāng)前目的IP與硬件地址的映射則填充以太網(wǎng)幀頭部信息后拷貝至以太網(wǎng)驅(qū)動程序空間立即發(fā)送,否則發(fā)出ARP查詢報文,將當(dāng)前用戶數(shù)據(jù)拷貝至發(fā)送等待緩沖,進入接收狀態(tài)等待ARP查詢報文的應(yīng)答。
 
                     由于輸入操作發(fā)生在中斷期間,此時設(shè)備驅(qū)動程序是不能調(diào)用任何過程來處理分組,也就是說中斷服務(wù)程序并不直接調(diào)用IP,而是使用了消息傳遞的方式。當(dāng)一個IP分組到達之后用消息通知主循環(huán),由主循環(huán)調(diào)用協(xié)議族進行數(shù)據(jù)處理。如下圖4所示,首先通過以太網(wǎng)子層分路到達幀,如果是ARP報文則檢查更新ARP緩沖,收到ARP請求立即應(yīng)答,若是應(yīng)答報文則檢查本地發(fā)送等待隊列如有數(shù)據(jù)立即發(fā)送;如果是IP報文首先判定其協(xié)議類型,ICMP報文中的ping命令請求回顯則立即應(yīng)答,源站抑制報文交給TCP處理;若是TCP協(xié)議進入有限狀態(tài)機進行解析最后將有效數(shù)據(jù)通過socket接口遞交上層。
 500)this.style.width=500;" border="0" />
     
圖3 協(xié)議族數(shù)據(jù)發(fā)送處理框圖             圖4 協(xié)議族數(shù)據(jù)接收處理框圖
 
4、 結(jié)論
經(jīng)過裁剪的嵌入式TCP/IP協(xié)議族,結(jié)構(gòu)精簡,實時性強,可以在SF0020芯片上穩(wěn)定運行,基于該協(xié)議族的網(wǎng)絡(luò)監(jiān)控系統(tǒng)控制終端通過了專項測試達到期望的要求。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

提到臺積電,相信大家都不陌生,作為全球頂尖的晶圓代工機構(gòu)。僅臺積電、三星兩家晶圓代工廠的市場份額,就占據(jù)了全球半導(dǎo)體市場的70%左右。

關(guān)鍵字: 3nm 芯片 三星

英國廣播公司《科學(xué)焦點雜志》網(wǎng)站5月22日刊登了題為《什么是摩爾定律?如今是否仍然適用?》的文章,摘要如下:

關(guān)鍵字: 摩爾定律 半導(dǎo)體 芯片

據(jù)業(yè)內(nèi)消息,近日高通公司的CEO Cristiano·Amon在風(fēng)投會議上表示,大家在關(guān)注經(jīng)濟增長時也開始關(guān)心芯片,在這個數(shù)字化轉(zhuǎn)型和數(shù)字經(jīng)濟成為重要部分的時代,芯片對于提高效率是必須的,芯片的重要性正在被普遍接受,未來...

關(guān)鍵字: 高通公司 芯片

作為全球豪華汽車巨頭,寶馬在未來的電動汽車上也開始加大投資,這一次他們是多方下注,英國牛津的工廠還是戰(zhàn)略核心,日前又透露說在中國投資上百億生產(chǎn)電動車,今晚寶馬公司又宣布在美國投資17億美元,約合人民幣123億元。

關(guān)鍵字: 寶馬 芯片 供應(yīng)商

周四美股交易時段,受到“臺積電預(yù)期明年半導(dǎo)體行業(yè)可能衰退”的消息影響,包括英偉達、英特爾、阿斯麥等頭部公司均以大跌開盤,但在隨后兩個小時內(nèi)紛紛暴力拉漲,多家千億美元市值的巨頭較開盤低點向上漲幅竟能達到10%。

關(guān)鍵字: 臺積電 半導(dǎo)體 芯片

在需求不振和出口受限等多重因素的影響下,全球半導(dǎo)體廠商正在經(jīng)歷行業(yè)低迷期。主要芯片廠商和設(shè)備供應(yīng)商今年以來股價集體腰斬。

關(guān)鍵字: 芯片 廠商 半導(dǎo)體

在半導(dǎo)體制造中,《國際器件和系統(tǒng)路線圖》將5nm工藝定義為繼7nm節(jié)點之后的MOSFET 技術(shù)節(jié)點。截至2019年,三星電子和臺積電已開始5nm節(jié)點的有限風(fēng)險生產(chǎn),并計劃在2020年開始批量生產(chǎn)。

關(guān)鍵字: 芯片 華為 半導(dǎo)體

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

測試測量

28658 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉