<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > IPv4/IPv6雙協(xié)議棧實(shí)現(xiàn)方案解析

          IPv4/IPv6雙協(xié)議棧實(shí)現(xiàn)方案解析

          作者: 時(shí)間:2012-05-09 來(lái)源:網(wǎng)絡(luò) 收藏

          3.3 6模塊

          6[2]模塊主要包括兩部分的功能,一是負(fù)責(zé)從網(wǎng)絡(luò)接口層接收6數(shù)據(jù)包,對(duì)數(shù)據(jù)包進(jìn)行一定的處理后發(fā)送給上層處理模塊(TCP或ICMPv6)。二是從上層接收數(shù)據(jù),進(jìn)行報(bào)文的選路,封裝IPv6報(bào)頭后將數(shù)據(jù)報(bào)發(fā)送給網(wǎng)絡(luò)接口層。

          3.3.1 ICMPv6[3]的簡(jiǎn)化分析

          ⑴ICMPv6信息報(bào)文

          嵌入式設(shè)備只需作為Ping的接收端,所以不需要發(fā)送回顯請(qǐng)求報(bào)文和處理回顯應(yīng)答報(bào)文。為了讓客戶端可以測(cè)試網(wǎng)絡(luò)狀態(tài)以及測(cè)試使用,必須支持接收請(qǐng)求報(bào)文和發(fā)送相應(yīng)的應(yīng)答報(bào)文。

          ⑵ICMPv6錯(cuò)誤報(bào)文

          由于嵌入式設(shè)備不會(huì)作為路由轉(zhuǎn)發(fā)設(shè)備,所以需要實(shí)現(xiàn)發(fā)送端口不可達(dá)報(bào)文,同時(shí)要支持超時(shí)報(bào)文通告對(duì)端超時(shí)錯(cuò)誤。在BSD中,IP層沒(méi)有發(fā)送參數(shù)問(wèn)題報(bào)文, ICMPv6無(wú)需支持處理參數(shù)問(wèn)題報(bào)文。

          3.3.2鄰居發(fā)現(xiàn)協(xié)議(NDP)的簡(jiǎn)化分析

          NDP[4]是IPv6協(xié)議的一個(gè)基本組成部分,它用于地址解析、鄰居發(fā)現(xiàn)以及路由器及網(wǎng)絡(luò)參數(shù)發(fā)現(xiàn)。本不支持路由功能,所以無(wú)需實(shí)現(xiàn)發(fā)送路由器通告報(bào)文,但必須接受路由器通告報(bào)文,以完成路由發(fā)現(xiàn)功能。同時(shí)支持鄰居通告和鄰居請(qǐng)求報(bào)文的接收和發(fā)送,以實(shí)現(xiàn)地址解析和重復(fù)探測(cè)。

          3.4 TCP模塊

          在TCP之上實(shí)現(xiàn)有限的WEB服務(wù),可以對(duì)該協(xié)議的實(shí)現(xiàn)機(jī)制作相應(yīng)的簡(jiǎn)化及優(yōu)化。

          3.4.1 TCP模塊的擴(kuò)展

          TCP對(duì)IPv4和IPv6報(bào)文的處理過(guò)程沒(méi)有任何的不同,但是由于IPv4和IPv6地址結(jié)構(gòu)不同,需要對(duì)使用IP地址的部分進(jìn)行擴(kuò)展。

          ⑴數(shù)據(jù)結(jié)構(gòu)擴(kuò)展

          PCB是用來(lái)記錄每個(gè)TCP連接狀態(tài)的,包括本地IP地址和遠(yuǎn)程IP地址,擴(kuò)展時(shí)使用union結(jié)構(gòu)添加IPv6地址,同時(shí)添加標(biāo)識(shí)位區(qū)別連接。

          ⑵操作擴(kuò)展

          在TCP處理過(guò)程中包括輸入時(shí)對(duì)IP地址和端口號(hào)的匹配,輸出時(shí)校驗(yàn)和的計(jì)算和路由的查找。由于對(duì)IPv4和IPv6報(bào)文調(diào)用相同的處理函數(shù),需要在實(shí)現(xiàn)時(shí)在這幾個(gè)函數(shù)的處理過(guò)程中加入對(duì)相應(yīng)PCB中標(biāo)識(shí)位的判斷。

          3.4.2 簡(jiǎn)化TCP狀態(tài)機(jī)

          TCP的面向連接和可靠性傳輸?shù)忍匦詻Q定了每一個(gè)標(biāo)準(zhǔn)的TCP狀態(tài)機(jī)龐大而且復(fù)雜,對(duì)于嵌入式應(yīng)用,可以根據(jù)需要進(jìn)行簡(jiǎn)化。

          建立連接分為主動(dòng)打開(kāi)和被動(dòng)打開(kāi),本設(shè)計(jì)作為監(jiān)聽(tīng)狀態(tài)的服務(wù)器端,僅實(shí)現(xiàn)被動(dòng)打開(kāi)。在設(shè)計(jì)中去掉了CLOSED狀態(tài),讓它一開(kāi)始就處于LISTEN狀態(tài),等待對(duì)方發(fā)起連接。

          斷開(kāi)連接分為主動(dòng)斷開(kāi)和被動(dòng)斷開(kāi),從安全性的角度考慮,本設(shè)計(jì)僅實(shí)現(xiàn)主動(dòng)斷開(kāi)連接。當(dāng)服務(wù)器發(fā)送完數(shù)據(jù)時(shí),向客戶機(jī)發(fā)送關(guān)閉連接請(qǐng)求。

          通過(guò)以上分析,根據(jù)特定的應(yīng)用不失一般性的裁減掉復(fù)雜和冗余的機(jī)制,除去標(biāo)準(zhǔn)狀態(tài)機(jī)中的客戶端部分,簡(jiǎn)化連接的建立和關(guān)閉過(guò)程,就得到如圖2所示的簡(jiǎn)化的TCP狀態(tài)機(jī)模型。


          圖2 簡(jiǎn)化TCP有限狀態(tài)機(jī)



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();