日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于SF0020芯片的嵌入式TCP/IP協(xié)議族設(shè)計與實現(xiàn)

          基于SF0020芯片的嵌入式TCP/IP協(xié)議族設(shè)計與實現(xiàn)

          作者: 時間:2009-08-11 來源:網(wǎng)絡(luò) 收藏

          發(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)化數(shù)據(jù)報的重組。
          采用以上兩種方法可以最大限度實現(xiàn)/協(xié)議族內(nèi)數(shù)據(jù)公用,無需額外數(shù)據(jù)搬移。
          3.3 協(xié)議族數(shù)據(jù)流程
          如下圖3所示,用戶待發(fā)送的數(shù)據(jù)首先通過socket接口程序進入/協(xié)議族,分別進行TCP與的數(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分組到達(dá)之后用消息通知主循環(huán),由主循環(huán)調(diào)用協(xié)議族進行數(shù)據(jù)處理。如下圖4所示,首先通過以太網(wǎng)子層分路到達(dá)幀,如果是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接口遞交上層。


          圖3 協(xié)議族數(shù)據(jù)發(fā)送處理框圖 圖4 協(xié)議族數(shù)據(jù)接收處理框圖

          4、 結(jié)論
          經(jīng)過裁剪的嵌入式TCP/IP協(xié)議族,結(jié)構(gòu)精簡,實時性強,可以在芯片上穩(wěn)定運行,基于該協(xié)議族的網(wǎng)絡(luò)監(jiān)控系統(tǒng)控制終端通過了專項測試達(dá)到期望的要求。

          本文引用地址:http://yuyingmama.com.cn/article/195759.htm

          tcp/ip相關(guān)文章:tcp/ip是什么



          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 0020 TCP SF IP

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉