在實際網(wǎng)絡(luò)中,許多不在同一地點的局域網(wǎng)之間需要交互信息。為實現(xiàn)專用無線網(wǎng)與局域網(wǎng)之間的互連,研制具備下述功能的網(wǎng)關(guān)。首先,實現(xiàn)IP級互連,即某一局域網(wǎng)的IP數(shù)據(jù)報經(jīng)過網(wǎng)關(guān)的轉(zhuǎn)換后可以通過無線網(wǎng)傳到另一網(wǎng)關(guān),再經(jīng)轉(zhuǎn)換后,IP數(shù)據(jù)報可到達(dá)另一局域網(wǎng)的相應(yīng)的主機(jī)上,如圖1所示;其次,實現(xiàn)連接認(rèn)證。當(dāng)網(wǎng)關(guān)啟動時,與另一網(wǎng)關(guān)進(jìn)行連接認(rèn)證,當(dāng)認(rèn)證通過時,才建立IP連接。
實驗采用自主開發(fā)的軟件,工作在Windows 9x操作系統(tǒng)下,在局域網(wǎng)中獲得所有的IP數(shù)據(jù)報,通過判斷、修改Ethernet頭信息,將IP數(shù)據(jù)報送至串口,通過連接在串口的無線設(shè)備發(fā)送出去。目的網(wǎng)絡(luò)的網(wǎng)關(guān)串口上連接的無線設(shè)備接收到后,通過網(wǎng)關(guān)轉(zhuǎn)發(fā)到目的計算機(jī)。從功能上說,網(wǎng)關(guān)計算機(jī)實現(xiàn)的是路由器的功能。
1 路由器功能
路由器的功能主要有以下五個方面:
(1)網(wǎng)絡(luò)間截獲發(fā)送到遠(yuǎn)地網(wǎng)段的報文,起轉(zhuǎn)發(fā)的作用;
(2)選擇最合理的路由,引導(dǎo)通信;
(3)路由器在轉(zhuǎn)發(fā)報文的過程中,為了便于在網(wǎng)絡(luò)間傳送報文,按照預(yù)定的規(guī)則把大的數(shù)據(jù)包分解成適當(dāng)大小的數(shù)據(jù)包,到達(dá)目的地后再把分解的數(shù)據(jù)包包裝成原有形式;
(4)多協(xié)議的路由器可以連接使用不同通信協(xié)議的網(wǎng)絡(luò)段,作為不同通信協(xié)議網(wǎng)絡(luò)段通信連接的平臺;
(5)路由器的主要任務(wù)是把通信引導(dǎo)到目的地網(wǎng)絡(luò),然后到達(dá)特定的節(jié)點站地址。后一個功能是通過網(wǎng)絡(luò)地址分解完成的。
根據(jù)本項目的具體要求,所設(shè)計的無線網(wǎng)關(guān)實現(xiàn)了路由器的一部分功能,但并不是一個完整意義上的路由器。
2 系統(tǒng)設(shè)計與實現(xiàn)
2.1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)如圖1所示。
對LAN而言,無線數(shù)據(jù)鏈?zhǔn)请[含在網(wǎng)關(guān)內(nèi)的協(xié)議實體,它對LAN1和LAN2都是透明的。對外部而言,半網(wǎng)關(guān)1和半網(wǎng)關(guān)2構(gòu)成一個整體網(wǎng)關(guān),它完成與IP有關(guān)的信息處理,路由選擇和LAN內(nèi)部物理尋址。兩個LAN間的IP數(shù)據(jù)報傳輸處理過程如圖2所示。這里網(wǎng)關(guān)主要解決轉(zhuǎn)發(fā)決策、時延處理、地址轉(zhuǎn)換等。
2.2 半網(wǎng)關(guān)的體系結(jié)構(gòu)
半網(wǎng)關(guān)的體系結(jié)構(gòu)如圖3所示。
其中:
VxD:從本地LAN接收和向本地LAN發(fā)送MAC幀(VxD是Windows 95/98下虛擬設(shè)備驅(qū)動程序);
LAN接收:去掉VxD傳遞的數(shù)據(jù)中的MAC幀控制信息,并根據(jù)目的IP地址決定是否將其轉(zhuǎn)給IP處理模塊;
LAN發(fā)送:根據(jù)IP模塊轉(zhuǎn)來的目的IP地址,查找對應(yīng)的MAC地址,進(jìn)而組成完整的MAC幀交由VxD發(fā)送到本地LAN;
IP處理模塊:負(fù)責(zé)路由選擇和其他IP層處理,并將LAN接收模塊交來的IP數(shù)據(jù)報處理后交給Line發(fā)送模塊,將Line接收模塊交來的IP數(shù)據(jù)報交給本地LAN發(fā)送模塊;
Line接收模塊:把從數(shù)據(jù)鏈路接收的完整IP數(shù)據(jù)報交給IP處理模塊;
Line發(fā)送模塊:把從IP處理模塊接收的IP數(shù)據(jù)報發(fā)送到數(shù)據(jù)鏈路上。
由上述功能可以看出,若把網(wǎng)關(guān)看作是一個雙向系統(tǒng),那么入口端負(fù)責(zé)IP數(shù)據(jù)報的過濾,出口端負(fù)責(zé)IP數(shù)據(jù)報的轉(zhuǎn)發(fā)。連接認(rèn)證模塊負(fù)責(zé)在建立IP連接前兩個半網(wǎng)關(guān)的認(rèn)證。
管理模塊:負(fù)責(zé)半網(wǎng)關(guān)的進(jìn)程調(diào)度,并提供地址庫的修改接口。
對網(wǎng)卡的操作通過調(diào)用VxD軟件實現(xiàn)。
此外,半網(wǎng)關(guān)中附有一個地址庫,存儲本地LAN的IP地址和對應(yīng)的MAC地址的信息,供LAN發(fā)送和接收模塊查詢或調(diào)用。
作者:郝代春 胡修林 張?zhí)N玉 來源:現(xiàn)代電子技術(shù)