国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于透傳的IPv6個(gè)人區(qū)域網(wǎng)無線網(wǎng)關(guān)設(shè)計(jì)

2014-07-02 00:30:11劉本倉鄒家寧
電視技術(shù) 2014年23期
關(guān)鍵詞:鏈路層網(wǎng)關(guān)數(shù)據(jù)包

劉本倉,鄒家寧

(河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河南焦作454003)

基于透傳的IPv6個(gè)人區(qū)域網(wǎng)無線網(wǎng)關(guān)設(shè)計(jì)

劉本倉,鄒家寧

(河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河南焦作454003)

主干網(wǎng)絡(luò)設(shè)備和操作系統(tǒng)支持IPv6協(xié)議的請況下,大量的個(gè)人區(qū)域網(wǎng)網(wǎng)關(guān)僅使用IPv4地址轉(zhuǎn)換的方式連接互聯(lián)網(wǎng),不能支持IPv6,提出一種數(shù)據(jù)鏈路層透傳的數(shù)據(jù)包處理方式,使IPv6數(shù)據(jù)直接通過網(wǎng)關(guān),減少地址轉(zhuǎn)換或者中間代理的過程,實(shí)現(xiàn)內(nèi)部網(wǎng)直接接入IPv6網(wǎng)絡(luò)。經(jīng)分析和實(shí)驗(yàn),該設(shè)計(jì)方法在不影響IPv4使用的情況下使個(gè)人區(qū)域網(wǎng)內(nèi)部設(shè)備順利接入IPv6網(wǎng)絡(luò)。

IPv6;數(shù)據(jù)鏈路層;個(gè)人區(qū)域網(wǎng);無線網(wǎng)關(guān)

個(gè)人區(qū)域網(wǎng)[1]是用于小范圍的內(nèi)部網(wǎng)絡(luò),用來互連個(gè)人網(wǎng)絡(luò)設(shè)備,并使用網(wǎng)關(guān)連接互聯(lián)網(wǎng)。個(gè)人區(qū)域網(wǎng)通常使用私有IP地址,對外隱藏內(nèi)部結(jié)構(gòu),主要原因是IPv4地址已經(jīng)嚴(yán)重不足。IPv4地址已經(jīng)在2011年分配完畢,同時(shí)大量的智能終端、智能家電和移動(dòng)設(shè)備出現(xiàn),這大大增加了對IPv6的需求。目前,主流網(wǎng)絡(luò)設(shè)備和操作系統(tǒng)已經(jīng)支持IPv6協(xié)議,應(yīng)用層軟件也逐漸兼容IPv6協(xié)議。在高校校園網(wǎng)中IPv6協(xié)議應(yīng)用最為廣泛,數(shù)據(jù)流量已經(jīng)接近IPv4的數(shù)量級別。由于IPv6和IPv4在數(shù)據(jù)包格式上并不兼容,兩種數(shù)據(jù)不能直接互操作,這嚴(yán)重限制了個(gè)人區(qū)域網(wǎng)對IPv6的訪問。

在IPv6應(yīng)用的過渡階段[2],有多種解決互通問題的方案,主要有如下幾種方式:1)NAT-PT地址轉(zhuǎn)換; 2)隧道方式[3];3)雙協(xié)議棧。

1 個(gè)人區(qū)域網(wǎng)面臨的問題

在個(gè)人區(qū)域網(wǎng)邊界,通常使用無線網(wǎng)關(guān)來連接互聯(lián)網(wǎng),無線網(wǎng)關(guān)運(yùn)行網(wǎng)絡(luò)地址轉(zhuǎn)換協(xié)議,把內(nèi)部私有IP地址轉(zhuǎn)換成互聯(lián)網(wǎng)地址。同時(shí)無線網(wǎng)關(guān)也屏蔽了網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu),隱藏內(nèi)部主機(jī)IP地址,這就造成內(nèi)部主機(jī)無法與外界對等通信。IPv6數(shù)據(jù)包也不能被網(wǎng)關(guān)識別,無法進(jìn)入網(wǎng)絡(luò)內(nèi)部,形成IPv6孤島。大量個(gè)人區(qū)域網(wǎng)的出現(xiàn),阻礙了IPv6數(shù)據(jù)的聯(lián)通性,形成IPv6障礙的最后環(huán)節(jié)。本文主要討論個(gè)人區(qū)域網(wǎng)接入外部雙協(xié)議棧網(wǎng)絡(luò)的實(shí)現(xiàn)方式。

目前針對個(gè)人區(qū)域網(wǎng)網(wǎng)關(guān)接入IPv6的解決方案,主要分為地址轉(zhuǎn)換和代理。

1)地址轉(zhuǎn)換方式類似NAT-PT,在網(wǎng)關(guān)上分別運(yùn)行兩個(gè)協(xié)議棧的地址轉(zhuǎn)換進(jìn)程,IPv4地址繼續(xù)使用原有方式。網(wǎng)關(guān)對內(nèi)作為一個(gè)IPv6路由器,為內(nèi)部網(wǎng)絡(luò)分配地址,進(jìn)行數(shù)據(jù)的收發(fā);對外作為一個(gè)IPv6終端,發(fā)現(xiàn)外部IPv6網(wǎng)絡(luò),自動(dòng)配置外部IPv6地址,在內(nèi)外網(wǎng)之間進(jìn)行IP地址的一一對應(yīng)替換。相比IPv6/IPv4地址轉(zhuǎn)換省去了端口復(fù)用和有狀態(tài)轉(zhuǎn)換,效率大大提升。依然沒有解決IP地址的對等問題和應(yīng)用層數(shù)據(jù)轉(zhuǎn)換問題。

2)代理方式是在內(nèi)部運(yùn)行一個(gè) IPv6協(xié)議,作為IPv6路由器,對內(nèi)發(fā)布IPv6地址前綴,與第一種方式不同的是需要在路由器上配置與外部相同的前綴信息,網(wǎng)關(guān)無需做地址轉(zhuǎn)換,只需要轉(zhuǎn)發(fā)數(shù)據(jù)包即可。這種方式省去了地址轉(zhuǎn)換過程,但無法通過鄰居發(fā)現(xiàn)協(xié)議保證IPv6地址的唯一性。

2 基于鏈路層透傳的設(shè)計(jì)

2.1 原理分析

IPv6和IPv4都是網(wǎng)絡(luò)層協(xié)議,與其下層的數(shù)據(jù)鏈路層通信接口是完全相同的。在以太網(wǎng)中數(shù)據(jù)鏈路層數(shù)據(jù)幀格式如圖1所示。

圖1 以太網(wǎng)幀格式

其中2 byte的類型字段標(biāo)志上一層的協(xié)議,還表示幀的長度,含義只能根據(jù)數(shù)值取其一。在使用中,當(dāng)字段值大于等于0x0600時(shí)表示協(xié)議類型,小于0x0600表示長度。其中值為0x0800表示上層協(xié)議為IPv4,0x0806表示上層協(xié)議為ARP,值為0x86DD時(shí)表示上層協(xié)議為IPv6。根據(jù)以太網(wǎng)幀類型的值可以區(qū)分開兩個(gè)協(xié)議,可以在網(wǎng)關(guān)上做不同的處理。按照Linux內(nèi)核處理數(shù)據(jù)包的方式,設(shè)計(jì)了圖2所示的數(shù)據(jù)包轉(zhuǎn)發(fā)流程,實(shí)現(xiàn)IPv4和IPv6的差別轉(zhuǎn)發(fā)。

只聽“三、二、一,奔跑吧,小主人”,我們的“戰(zhàn)斗”便開始了。大家你追我趕,我們邊防守,邊組織進(jìn)攻,玩得不亦樂乎。很多人都是在撕別人名牌的時(shí)候被另一個(gè)人偷襲,真是“螳螂捕蟬,黃雀在后”?。∽顭o奈的是我的好友楊宜凡,因?yàn)轶w力不支,實(shí)在是跑不動(dòng)了,只能主動(dòng)放棄,一個(gè)男生便過去把她的名牌撕了。我雖然也很累,但我不斷地告訴自己,一定要為集體榮譽(yù)“戰(zhàn)斗”到底。有個(gè)男生一直圍著我轉(zhuǎn),我見情況不妙,“啪”的一聲躺在了地上,那個(gè)男生見無機(jī)可乘,只好灰溜溜地走了……

圖2 數(shù)據(jù)轉(zhuǎn)發(fā)流程圖

主要思想是在數(shù)據(jù)包進(jìn)入到網(wǎng)關(guān)時(shí),在數(shù)據(jù)鏈路層判斷幀類型,如果是IPv6數(shù)據(jù)則進(jìn)行橋接轉(zhuǎn)發(fā),數(shù)據(jù)包直接進(jìn)入到網(wǎng)絡(luò)內(nèi)部,如果幀類型是IPv4或ARP,則數(shù)據(jù)包照常送到網(wǎng)絡(luò)層,進(jìn)行IPv4協(xié)議的處理。其中ARP類型是IPv4網(wǎng)絡(luò)的底層基礎(chǔ),需要與IPv4同等處理;但是在IPv6協(xié)議中使用鄰居發(fā)現(xiàn)協(xié)議來代替ARP,可以不用特殊考慮。

2.2 實(shí)現(xiàn)方法

Openwrt是支持多數(shù)無線路由器等網(wǎng)關(guān)設(shè)備的操作系統(tǒng),它以Linux為基礎(chǔ),支持嵌入式平臺,開放源代碼,可以根據(jù)需要自行開發(fā)特殊功能。本文以O(shè)penwrt為基礎(chǔ)實(shí)現(xiàn)IPv6的鏈路層透傳,解決IPv6的互通問題。

Linux內(nèi)核中已經(jīng)集成netfilter、ebtables等數(shù)據(jù)包過濾處理機(jī)制[4-5],這些內(nèi)核模塊提供在不同層次對數(shù)據(jù)包檢查的hook(鉤子)。數(shù)據(jù)包從進(jìn)入系統(tǒng)到從網(wǎng)絡(luò)層面消失,要經(jīng)過PreRoute,Input,F(xiàn)orward,Output和PostRoute共5個(gè)階段,每階段包括了一些hook節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都是一個(gè)過濾時(shí)機(jī)。當(dāng)數(shù)據(jù)包行進(jìn)到某節(jié)點(diǎn)時(shí),使用ebtables檢測對應(yīng)節(jié)點(diǎn)的過濾規(guī)則并進(jìn)行過濾,或者調(diào)用hook來改變數(shù)據(jù)包內(nèi)容和轉(zhuǎn)發(fā)流向。

其中主要工作在數(shù)據(jù)鏈路層的ebtables適合于橋接處理,其配置分為表、鏈和規(guī)則三級。

在外網(wǎng)(Wide Area Network,WAN)口啟用橋接,在接口上啟用ebtables過濾,當(dāng)WAN口接收數(shù)據(jù)時(shí),在Broute階段根據(jù)幀類型做出橋接判斷,如果為IPv6類型則繼續(xù)Forward鏈處理,直接把數(shù)據(jù)轉(zhuǎn)發(fā)到Local Area Network(LAN)口,完成數(shù)據(jù)傳輸,否則將數(shù)據(jù)包轉(zhuǎn)入上層,進(jìn)入IPv4網(wǎng)絡(luò)層做NAT處理。

在內(nèi)網(wǎng)接口上也啟用ebtables過濾,當(dāng)內(nèi)網(wǎng)口接收到收據(jù)時(shí),同樣在Broute階段根據(jù)幀類型做出橋接判斷,如果為IPv6類型則繼續(xù)Forward鏈處理,直接把數(shù)據(jù)轉(zhuǎn)發(fā)到外網(wǎng)口,完成數(shù)據(jù)傳輸,否則繼續(xù)傳輸過程,進(jìn)入IPv4網(wǎng)絡(luò)層做NAT處理。

具體步驟如下:更改內(nèi)核,加入IPv6、ebtables和iptables支持功能,IPv6支持用于對幀類型的判斷,iptables用于對IPv4網(wǎng)的過濾,避免橋接后出現(xiàn)安全漏洞。設(shè)WAN口為 eth0,LAN口為 eth1、eth2,創(chuàng)建橋 br0,將eth0、eth1、eth2加入橋,在橋br0上配置IPv4地址,用來實(shí)現(xiàn)IPv4網(wǎng)絡(luò)正常的地址轉(zhuǎn)換。

ebtables-t broute-A BROUTING-i eth0–o!eth0-p!ipv6-j DROP //禁止外網(wǎng)IPv4直接進(jìn)入內(nèi)網(wǎng)

ebtables-t broute-A BROUTING-i!eth0–o eth0-p!ipv6-j DROP //禁止內(nèi)網(wǎng)IPv4直接發(fā)到外網(wǎng)

ebtables-t broute-A BROUTING--logical-out br0–p!ipv6–j ACCEPT //非IPv6數(shù)據(jù)發(fā)往網(wǎng)關(guān)網(wǎng)絡(luò)層

iptables-A FORWARD-m state–state NEW-m physdev!–physdev-in eth0-j DROP //外網(wǎng)防火墻

該方法設(shè)計(jì)的基于鏈路層轉(zhuǎn)發(fā)的網(wǎng)關(guān)可以實(shí)現(xiàn)IPv6數(shù)據(jù)的透明傳輸,IPv4數(shù)據(jù)必須經(jīng)過網(wǎng)絡(luò)層處理后互通,防火墻規(guī)則屏蔽來自外網(wǎng)的攻擊,保證了網(wǎng)關(guān)本身的安全。

3 互通性分析及測試

1)網(wǎng)絡(luò)內(nèi)外鄰居發(fā)現(xiàn)。IPv6中鄰居發(fā)現(xiàn)協(xié)議用來實(shí)現(xiàn)路由器的前綴發(fā)現(xiàn)、地址解析、下一跳地址確定、重定向、鄰居不可達(dá)檢測、重復(fù)地址檢測等功能[6],使用ICMPv6協(xié)議的5種報(bào)文。這些報(bào)文都封裝在IPv6數(shù)據(jù)包中,在數(shù)據(jù)鏈路層只對應(yīng)一種幀格式,不會受到任何影響。

2)IPv6組播。IPv6組播使用組播地址用來標(biāo)識一組接口,發(fā)往組播地址的報(bào)文被組播地址標(biāo)識的所有接口接收。在數(shù)據(jù)包格式中使用ICMPv6作為發(fā)現(xiàn)協(xié)議,數(shù)據(jù)包與單播相同,在數(shù)據(jù)鏈路層沒有區(qū)別,所以不會影響組播協(xié)議。

傳統(tǒng)的地址轉(zhuǎn)換和代理方式是基于源地址和目的地址的轉(zhuǎn)換,僅適用于單播點(diǎn)到點(diǎn)傳輸,對于多播和廣播則無法轉(zhuǎn)發(fā)。本文研究的透傳是在數(shù)據(jù)鏈路層實(shí)現(xiàn),IP協(xié)議相關(guān)的特性完整的包含在數(shù)據(jù)包中,不存在互通障礙。

在TP-Link740無線路由上刷入修改后的操作系統(tǒng),在大學(xué)校園網(wǎng)雙棧環(huán)境下測試,無需復(fù)雜配置,可以實(shí)現(xiàn)IPv6的透傳,訪問外部IPv6網(wǎng)站和IPv4網(wǎng)站均正常,內(nèi)外網(wǎng)之間IPv6數(shù)據(jù)相互收發(fā)正常,能保證IPv6網(wǎng)的對等性。

4 小結(jié)

使用基于數(shù)據(jù)鏈路層的IPv6數(shù)據(jù)透傳,可以實(shí)現(xiàn)雙協(xié)議棧下個(gè)人區(qū)域網(wǎng)的IPv6無縫接入,省去了地址轉(zhuǎn)換或中間代理等過程,完整保持IP地址的對等關(guān)系,同時(shí)對組播、任意播等數(shù)據(jù)沒有影響。省略了網(wǎng)關(guān)在網(wǎng)絡(luò)層對數(shù)據(jù)包的處理,無需個(gè)人用戶做額外配置,適用于性能較低的嵌入式設(shè)備。該方法解決了家庭、辦公室等大量移動(dòng)網(wǎng)絡(luò)設(shè)備對IPv6的需求,有利于IPv6網(wǎng)絡(luò)的普及和發(fā)展。

[1]張鳳山,周正.聚焦IEEE802.15與無線個(gè)人區(qū)域網(wǎng)標(biāo)準(zhǔn)[J].無線電工程,2004,34(9):1-2.

[2]王曉峰,吳建平,崔勇.互聯(lián)網(wǎng)IPv6過渡技術(shù)綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2006,27(3):385-395.

[3]郭政慧,婁媛媛.校園IPv6網(wǎng)過渡方案研究與應(yīng)用[J].河南理工大學(xué)學(xué)報(bào):自然科學(xué)版,2011,30(4):459-461.

[4]王帥,劉雷,柴喬林.應(yīng)用Netfilter框架基于NAT-PT的IPv4/IPv6轉(zhuǎn)換網(wǎng)關(guān)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2006,32(13):147-149.

[5]王德勁,杜仲.一種基于APESSID的智能流量控制方法[J].電視技術(shù),2012,36(7):71-73.

[6]田軍,張玉軍,于東,等.鄰居發(fā)現(xiàn)協(xié)議的形式化測試[J].計(jì)算機(jī)研究與發(fā)展,2001,38(12):1409-1417.

Design on Personal Area Network IPv6 Gateway Based on Link Layer Passthrough

LIU Bencang,ZOU Jianing
(College of Computer Science and Technology,Henan Polytechnic University,Henan Jiaozuo454003,China)

The rapid development of IPv6 protocol,prompting the backbone network devices and operating systems support IPv6 protocol.But a lot of personal area network gateway only usesmethod of IPv4 address translation to connect to the Internet,does not support IPv6,IPv6 popularity to become an obstacle.In this paper,amethod of data link layer packet pass-through is presented,itmake IPv6 data directly pass through the gateway,reducing or intermediate address translation or proxy process,directly connect to the IPv6 network.

IPv6;data link layer;personal area network;wireless gateway

TN915

B

劉本倉(1979—),工程師,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)技術(shù);

?? 盈

2014-06-13考慮到系統(tǒng)整體總線狀態(tài)控制和數(shù)據(jù)傳輸過程中的錯(cuò)誤監(jiān)測,USB接口不能達(dá)到理論上的12 Mbit/s數(shù)據(jù)傳輸速度。在實(shí)際應(yīng)用測試中,數(shù)據(jù)采集部分連續(xù)采集數(shù)據(jù)并將數(shù)據(jù)暫存于Flash存儲器中。讀取數(shù)據(jù)時(shí),采取“數(shù)據(jù)塊”傳輸模式,其平均傳輸速率能達(dá)到9.6 Mbit/s。

【本文獻(xiàn)信息】劉本倉,鄒家寧.基于透傳的IPv6個(gè)人區(qū)域網(wǎng)無線網(wǎng)關(guān)設(shè)計(jì)[J].電視技術(shù),2014,38(23).

河南省科技攻關(guān)計(jì)劃項(xiàng)目(122102210117)

鄒家寧(1974—),講師,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)技術(shù)。

猜你喜歡
鏈路層網(wǎng)關(guān)數(shù)據(jù)包
基于多空間內(nèi)存共享的數(shù)據(jù)鏈路層網(wǎng)絡(luò)包捕獲方法
基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
SmartSniff
基于FPGA全功能MVB網(wǎng)絡(luò)從設(shè)備鏈路層IP核設(shè)計(jì)
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
太陽能(2015年7期)2015-04-12 06:49:50
數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進(jìn)
基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
IEEE 1394事務(wù)層接口的設(shè)計(jì)與實(shí)現(xiàn)
一種實(shí)時(shí)高效的伺服控制網(wǎng)關(guān)設(shè)計(jì)
陇南市| 沂南县| 综艺| 米脂县| 高台县| 山丹县| 长沙县| 清苑县| 竹山县| 望都县| 夏津县| 敦煌市| 祁门县| 苗栗市| 安阳县| 黄平县| 泰顺县| 青州市| 吴旗县| 齐齐哈尔市| 西和县| 新平| 万山特区| 连山| 白朗县| 嘉鱼县| 嘉善县| 铁力市| 长海县| 柞水县| 深圳市| 娄烦县| 龙里县| 普陀区| 公安县| 弥渡县| 永吉县| 霍邱县| 临武县| 德州市| 高密市|