<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 無(wú)線(xiàn)IP網(wǎng)關(guān)的設計與應用

無(wú)線(xiàn)IP網(wǎng)關(guān)的設計與應用

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

  軟件運行后,用戶(hù)通過(guò)菜單命令啟動(dòng)網(wǎng)絡(luò )監聽(tīng)線(xiàn)程。網(wǎng)絡(luò )監聽(tīng)線(xiàn)程負責接收和發(fā)送數據報。網(wǎng)絡(luò )監聽(tīng)線(xiàn)程首先從外部讀入初始化信息,包括本機地址、NDIS序號、網(wǎng)絡(luò )ARP表、路由表。然后裝載VxD程序,并進(jìn)行初始化,完成監聽(tīng)的準備工作。接下來(lái)線(xiàn)程開(kāi)始循環(huán)訪(fǎng)問(wèn)網(wǎng)絡(luò )接收緩沖區和串口緩沖區,對其中的數據報進(jìn)行分析、轉發(fā)。

  對于從網(wǎng)絡(luò )接收緩沖區得到的數據報,網(wǎng)絡(luò )監聽(tīng)線(xiàn)程首先對其目的地址進(jìn)行分析,判斷該數據分組是否需要轉發(fā)。對于需要轉發(fā)的,計算機給它加上相應的數據鏈路的頭信息,并進(jìn)行碼字透明處理后存入串口發(fā)送緩沖區;對于不需要轉發(fā)的數據報不予處理。這樣的處理主要是為局域網(wǎng)中可能存在多個(gè)的。

  對于從串口接收緩沖區得到的數據報,網(wǎng)絡(luò )監聽(tīng)線(xiàn)程首先提取該數據報的目的IP地址,通過(guò)該IP地址查詢(xún)ARP表得到目的主機的MAC地址。線(xiàn)程在該數據報前加上MAC幀頭,通過(guò)調用VxD接口函數發(fā)送該數據報。

3.2.3 模塊

  部分為上層網(wǎng)關(guān)功能模塊提供透明傳輸。實(shí)驗規定的速率很低(4800bps),當局域網(wǎng)的數據流量增大時(shí),將成為整個(gè)通信的瓶頸。因此,對這部分軟件的主要要求是在保證通信誤碼率低的基礎上達到高效。串口通信包括發(fā)送和接收兩部分,以全雙工的方式工作。這樣可以保證串口的工作效率。采用線(xiàn)程的工作方式也便于和整個(gè)軟件其他模塊的協(xié)調運行(如與上層網(wǎng)關(guān)功能模塊之間)。

  (1)數據發(fā)送模塊

  IP數據報的發(fā)送通過(guò)一個(gè)獨立的線(xiàn)程來(lái)進(jìn)行。由于串口通過(guò)鏈路連接,采用短波通信,誤碼率較高,因此要求一定的傳輸協(xié)議來(lái)保證數據的可靠傳輸。實(shí)際實(shí)施時(shí),采用奇校驗和停止等待協(xié)議來(lái)保證串口數據的可靠傳輸。每一個(gè)字節的傳輸都采用奇校驗方式。在發(fā)送一個(gè)IP數據包采用停止等待協(xié)議。每次發(fā)送數據時(shí),先查詢(xún)是否有確認或出錯幀要發(fā)送,如果有,則發(fā)送確認或出錯幀。如果沒(méi)有,則查詢(xún)數據緩沖區是否有IP包要發(fā)送。如果有,則從數據緩沖區中取出一個(gè)包,附上幀頭和數據起始標志進(jìn)行發(fā)送。發(fā)送完數據后,等待對方返回確認。如果對方在規定時(shí)間內沒(méi)有返回確認則重新發(fā)送剛才的數據。在等待期間不發(fā)送新的數據,但是如果本地接收數據后需要發(fā)送確認消息給對方,則盡快發(fā)送。

  在本軟件中,兩個(gè)半網(wǎng)關(guān)用于連接兩個(gè)局域網(wǎng)。對串口通信的要求是雙向高速。兩個(gè)半網(wǎng)關(guān)可能同時(shí)有大量數據要傳送。當使用停止等待協(xié)議時(shí),停止等待協(xié)議的等待時(shí)間應為對方發(fā)送最大一個(gè)數據包所需要的時(shí)間。根據實(shí)驗得知,在以太網(wǎng)上,最大數據包長(cháng)度為1500字節,因此,等待時(shí)間應為:1500×2×8/4800=5s。這個(gè)時(shí)間是最大等待時(shí)間。在實(shí)驗中,得到平均等待時(shí)間為853ms。因此,在軟件中設置等待時(shí)間為1s。

  (2)數據接收模塊

  接收模塊由消息響應函數完成。先搜索報文頭,對報文頭進(jìn)行處理。再判斷接收幀的類(lèi)型,作出相應處理。接收完后,查詢(xún)數據接收錯誤標志,如果有錯誤發(fā)生,則丟棄該數據包;反之,將該數據包存入緩沖區。

4 系統測試與前景

  WWW是目前Internet網(wǎng)上的主要服務(wù),它是基于TCP/IP的典型。以這項服務(wù)對所開(kāi)發(fā)的網(wǎng)關(guān)軟件進(jìn)

行了測試。實(shí)驗表明,網(wǎng)關(guān)軟件原理正確。

  由于采用了串口通信技術(shù),該成果可經(jīng)簡(jiǎn)單改裝,用在基于modem的網(wǎng)絡(luò )互連等多方面,如在監控系統的

各級之間、公司總部與分公司、辦事處之間實(shí)現廉價(jià)的LAN互聯(lián)。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>