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

?

基于NS-3的計(jì)算機(jī)網(wǎng)絡(luò)路由轉(zhuǎn)發(fā)實(shí)驗(yàn)教學(xué)方案

2022-04-29 00:44:03胡晉彬何熠王進(jìn)
計(jì)算機(jī)應(yīng)用文摘 2022年20期
關(guān)鍵詞:交換機(jī)數(shù)據(jù)包路由

胡晉彬 何熠 王進(jìn)

關(guān)鍵詞:計(jì)算機(jī)網(wǎng)絡(luò);路由轉(zhuǎn)發(fā);NS-3;實(shí)驗(yàn)教學(xué)

1背景

“計(jì)算機(jī)網(wǎng)絡(luò)”作為網(wǎng)絡(luò)工程、通信工程、計(jì)算機(jī)科學(xué)與技術(shù)等計(jì)算機(jī)專業(yè)的核心課程之一,非常注重理論與實(shí)踐的結(jié)合,課程涉及的知識(shí)范圍較廣。因此,需要通過(guò)引導(dǎo)學(xué)生著手網(wǎng)絡(luò)實(shí)驗(yàn)去更深入的理解計(jì)算機(jī)網(wǎng)絡(luò)中各種協(xié)議與原理,掌握計(jì)算機(jī)網(wǎng)絡(luò)[1-3]的基本概念。

目前,“計(jì)算機(jī)網(wǎng)絡(luò)”課程實(shí)驗(yàn)主要是在網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)操作系統(tǒng)上進(jìn)行?;诰W(wǎng)絡(luò)分布式的特性,實(shí)驗(yàn)時(shí)需要部署多臺(tái)計(jì)算機(jī)和交換設(shè)備,因此搭建一定規(guī)模的網(wǎng)絡(luò)環(huán)境之后,才可以進(jìn)行實(shí)驗(yàn)。然而,限于經(jīng)費(fèi),許多高校并不具備搭建這種大規(guī)模的網(wǎng)絡(luò)環(huán)境的基礎(chǔ),給開(kāi)展實(shí)驗(yàn)的帶來(lái)了一定的困難。

將NS-3網(wǎng)絡(luò)仿真模擬器作為基礎(chǔ)框架,提供一個(gè)具有開(kāi)放性、可拓展性的輕量級(jí)實(shí)驗(yàn)平臺(tái),可以大大提高教學(xué)實(shí)驗(yàn)的可操作性。學(xué)生可以通過(guò)操作NS-3網(wǎng)絡(luò)仿真模擬器深入理解計(jì)算機(jī)網(wǎng)絡(luò)中的路由轉(zhuǎn)發(fā)過(guò)程,根據(jù)六種不同的路由轉(zhuǎn)發(fā)模式,分析交換機(jī)的數(shù)據(jù)包轉(zhuǎn)發(fā)記錄,理解數(shù)據(jù)包根據(jù)統(tǒng)計(jì)的不同網(wǎng)絡(luò)行為特征選擇路由轉(zhuǎn)發(fā)端口,達(dá)到實(shí)驗(yàn)設(shè)計(jì)的目的。

2網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)方案的選擇

目前,主流網(wǎng)絡(luò)仿真模擬軟件包括NS-2( networksimulator version 2)和NS-3( network simulator version3)。NS-2是一種面向?qū)ο?,基于離散事件驅(qū)動(dòng)的網(wǎng)絡(luò)環(huán)境模擬器,由UC Berkeley開(kāi)發(fā)而成。它本身有一個(gè)虛擬時(shí)鐘,所有的仿真都由離散事件驅(qū)動(dòng),支持各種網(wǎng)絡(luò)協(xié)議的研究、設(shè)計(jì)和開(kāi)發(fā)。相較于NS-3而言,NS-2雖然可以為學(xué)生提供較好的學(xué)習(xí)和科研實(shí)踐平臺(tái),然而NS-2已有的仿真功能在IP地址支持、路由機(jī)制、協(xié)議支持等方面都存在不足,難以滿足網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)方案的設(shè)計(jì)與實(shí)施。

NS-3作為一種全新的網(wǎng)絡(luò)模擬器,并不是NS-2的拓展版,它們最明顯的區(qū)別就是腳本語(yǔ)言的選擇,而這也是NS-3的一大優(yōu)點(diǎn)。NS-2采用C++語(yǔ)言進(jìn)行功能拓展,再使用Otcl腳本語(yǔ)言配置仿真場(chǎng)景。而在NS-3中,仿真器全都由C++語(yǔ)言編寫(xiě)并開(kāi)發(fā)拓展模板,減輕了學(xué)生學(xué)習(xí)使用NS-3的負(fù)擔(dān),加強(qiáng)了網(wǎng)絡(luò)實(shí)驗(yàn)的可操作性。

NS-3主要用于模擬計(jì)算機(jī)網(wǎng)絡(luò),它可以在一臺(tái)計(jì)算機(jī)上模擬物理世界中的各種類型和規(guī)模的網(wǎng)絡(luò)結(jié)構(gòu),但沒(méi)有圖形用戶界面。利用NS-3進(jìn)行網(wǎng)絡(luò)模擬,學(xué)生需要經(jīng)過(guò)以下四個(gè)基本步驟:(l)安裝NS-3軟件;(2)編輯源代碼;(3)編寫(xiě)模擬腳本;(4)運(yùn)行模擬腳本。

由此,團(tuán)隊(duì)采用NS-3網(wǎng)絡(luò)仿真模擬器作為實(shí)驗(yàn)平臺(tái),進(jìn)行數(shù)據(jù)包的路由轉(zhuǎn)發(fā)實(shí)驗(yàn)。

3實(shí)驗(yàn)方案

3.1實(shí)驗(yàn)?zāi)康?/p>

團(tuán)隊(duì)基于NS-3網(wǎng)絡(luò)模擬仿真平臺(tái),設(shè)計(jì)了“基于NS-3的數(shù)據(jù)包路由轉(zhuǎn)發(fā)控制”實(shí)驗(yàn)。實(shí)驗(yàn)?zāi)康氖菐椭鷮W(xué)生熟悉NS-3網(wǎng)絡(luò)模擬仿真平臺(tái)、理解NS-3網(wǎng)絡(luò)仿真模擬器的工作流程、掌握網(wǎng)絡(luò)拓?fù)涞拇罱ㄟ^(guò)程、深入理解計(jì)算機(jī)網(wǎng)絡(luò)中的路由轉(zhuǎn)發(fā)過(guò)程、分析交換機(jī)數(shù)據(jù)、理解六種路由轉(zhuǎn)發(fā)模式和理解數(shù)據(jù)包根據(jù)統(tǒng)計(jì)的不同網(wǎng)絡(luò)行為特征選擇路由轉(zhuǎn)發(fā)端口。

3.2實(shí)驗(yàn)內(nèi)容和原理

實(shí)驗(yàn)主要內(nèi)容如下:(1)利用C++腳本語(yǔ)言創(chuàng)建網(wǎng)絡(luò)拓?fù)洌唬?)利用C++腳本語(yǔ)言進(jìn)行路由配置;(3)選擇路由轉(zhuǎn)發(fā)模式,設(shè)置流量場(chǎng)景,跟蹤Leaf交換機(jī)上數(shù)據(jù)包轉(zhuǎn)發(fā)記錄,驗(yàn)證交換機(jī)是否根據(jù)所選擇的路由轉(zhuǎn)發(fā)模式選擇端口進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā)。

六種路由轉(zhuǎn)發(fā)模式分別為:(1)五元組哈希選擇轉(zhuǎn)發(fā)端口(ECMP);(2)隨機(jī)選擇轉(zhuǎn)發(fā)端口(RPS);(3)選擇最小隊(duì)列長(zhǎng)度的轉(zhuǎn)發(fā)端口(Queue);(4)選擇路徑延時(shí)最小的轉(zhuǎn)發(fā)端口(RTT);(5)選擇ECN標(biāo)記最少的路徑的轉(zhuǎn)發(fā)端口(ECN);(6)選擇鏈路利用率最小的路徑的轉(zhuǎn)發(fā)端口。

實(shí)驗(yàn)原理是在NS-3網(wǎng)絡(luò)仿真模擬器上,通過(guò)腳本語(yǔ)言對(duì)路由轉(zhuǎn)發(fā)模式進(jìn)行選擇,控制交換機(jī)對(duì)數(shù)據(jù)包轉(zhuǎn)發(fā)的規(guī)則和模式。

3.3實(shí)驗(yàn)環(huán)境

實(shí)驗(yàn)環(huán)境采用一臺(tái)Vmware或VirturalBox虛擬機(jī),基于GNU/Linux平臺(tái),安裝和配置NS-3開(kāi)發(fā)環(huán)境,下載NS-3軟件包的最新版本。

3.4實(shí)驗(yàn)設(shè)置

3.4.1創(chuàng)建拓?fù)?/p>

NS-3網(wǎng)絡(luò)仿真模擬器使用C++腳本完成實(shí)驗(yàn)配置,在導(dǎo)入常見(jiàn)的功能和輔助模塊后,開(kāi)始創(chuàng)建網(wǎng)絡(luò)拓?fù)洹?/p>

實(shí)驗(yàn)所部署的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為如今數(shù)據(jù)中心網(wǎng)絡(luò)大范圍部署的葉,脊(Leaf-Spine)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),最頂層核心交換機(jī)為Spine交換機(jī),而Leaf交換機(jī)作為中間接人層,向上連接Spine交換機(jī),向下連接終端服務(wù)器。這種葉.脊網(wǎng)絡(luò)拓?fù)浼軜?gòu)有多種好處,如可以降低網(wǎng)絡(luò)傳輸延時(shí)、拓展網(wǎng)絡(luò)帶寬、緩解網(wǎng)絡(luò)流量瓶頸等,解決了在當(dāng)今數(shù)據(jù)中心網(wǎng)絡(luò)中流量急劇增加、規(guī)模日益擴(kuò)大帶來(lái)的傳統(tǒng)網(wǎng)絡(luò)拓?fù)錈o(wú)法適應(yīng)的問(wèn)題。

本文實(shí)驗(yàn)須搭建一個(gè)2 Leaf和3 Spine的葉一脊拓?fù)浣Y(jié)構(gòu)(發(fā)送端和接受端之間有3條并行路徑)。每個(gè)Leaf交換機(jī)下都連接4個(gè)終端服務(wù)器。

實(shí)驗(yàn)中設(shè)置splne交換機(jī)數(shù)量為3,leaf交換機(jī)數(shù)量為2,servers交換機(jī)數(shù)量為4。網(wǎng)絡(luò)拓?fù)銷(xiāo)odeContainer類,創(chuàng)建各類結(jié)點(diǎn),腳本如下:

NodeContainer spines;

spines.Create( SPINE_COUNT);

NodeContainer leaves;

leaves.Create( LEAF_COUNT);

NodeContainer servers:

servers. Create(SERVER—COUNT*LEAF—COUNT);

通過(guò)創(chuàng)建NodeContainer對(duì)象,把各類不同結(jié)點(diǎn)分別歸類到不同結(jié)點(diǎn)容器中,以便后續(xù)腳本操作,其中SPINE—COUNT=3,LEAF—COUNT=2,SERVER—COUNT=4。接下來(lái),設(shè)置該拓?fù)涞逆溌穾捄脱訒r(shí)等屬性,腳本如下:

PointToPointHelper p2p;

uint64_t LINK_CAPACITY;

Time LINK_LATENCY:

通過(guò)使用NS-3構(gòu)建簡(jiǎn)單的點(diǎn)對(duì)點(diǎn)數(shù)據(jù)鏈路構(gòu)建點(diǎn)對(duì)點(diǎn)通信模型的PointToPointHelper助手類,設(shè)置“DataRate”和“Delay”屬性,這里統(tǒng)一設(shè)置所有的鏈路帶寬為L(zhǎng)INK_CAPACITY= 10Cbps,延時(shí)設(shè)置為L(zhǎng)INK_LATENCY=10US。

3.4.2路由配置

路由配置腳本如下:

Ipv4GlobalRoutingHelper globaIRoutingHelper;

intemet.SetRoutingHelper( globalRoutingHelper);

intemet.lnstall( servers);

intemet.lnstall( spines);

intemet.lnstall( leaves);

Ipv4GlobalRoutingHelper::

PopulateRoutingTables();

通過(guò)操作NS-3中網(wǎng)絡(luò)層全局路由配置助手類globalRoutingHelper,調(diào)用函數(shù)PopulateRoutingTables(),為每個(gè)交換機(jī)自動(dòng)配置路由表。Leaf交換機(jī)和對(duì)應(yīng)終端服務(wù)器的鏈路,IP配置情況如圖1所示。Leaf交換機(jī)和對(duì)應(yīng)Spine交換機(jī)的鏈路,IP配置情況如圖2所示。實(shí)驗(yàn)所搭建的總體拓?fù)鋱D如圖3所示。

3.5實(shí)驗(yàn)主流程

3.5.1ECMP路由轉(zhuǎn)發(fā)模式

實(shí)驗(yàn)設(shè)置路由轉(zhuǎn)發(fā)模式為根據(jù)五元組哈希選擇轉(zhuǎn)發(fā)端口(默認(rèn)的ECMP),通過(guò)檢測(cè)Leaf0交換機(jī)上的數(shù)據(jù)包轉(zhuǎn)發(fā)過(guò)程,驗(yàn)證實(shí)驗(yàn)的正確性。

流量場(chǎng)景設(shè)置為:模擬開(kāi)始時(shí),同時(shí)從server

0、server 1和server 2發(fā)一條大小為100KB的流往server 4,(數(shù)據(jù)包大小默認(rèn)為1500B)檢測(cè)交換機(jī)上所記錄的數(shù)據(jù)包轉(zhuǎn)發(fā)記錄如圖4所示。

通過(guò)檢測(cè)leaf 0交換機(jī)上數(shù)據(jù)包轉(zhuǎn)發(fā)情況,發(fā)現(xiàn)三條流分別平均從端口5、端口6和端口7轉(zhuǎn)發(fā)出去。路由轉(zhuǎn)發(fā)結(jié)果正確,結(jié)果符合預(yù)期,驗(yàn)證了ECMP路由轉(zhuǎn)發(fā)模式基于流轉(zhuǎn)發(fā)的特性。

3.5.2隨機(jī)包散射RPS路由轉(zhuǎn)發(fā)模式

實(shí)驗(yàn)設(shè)置路由轉(zhuǎn)發(fā)模式為隨機(jī)選擇轉(zhuǎn)發(fā)端口(隨機(jī)包散射RPS),通過(guò)檢測(cè)交換機(jī)上數(shù)據(jù)包的轉(zhuǎn)發(fā)過(guò)程,驗(yàn)證實(shí)驗(yàn)的正確性。

流量設(shè)置為:模擬開(kāi)始時(shí),從server l在發(fā)一條大小為1000KB的流往server 5,檢測(cè)交換機(jī)Leaf 0上所記錄的數(shù)據(jù)包轉(zhuǎn)發(fā)記錄如圖5所示。

通過(guò)檢測(cè)leaf 0交換機(jī)上的數(shù)據(jù)包轉(zhuǎn)發(fā)情況,發(fā)現(xiàn)從端口5、端口6和端口7轉(zhuǎn)發(fā)的數(shù)據(jù)包數(shù)量大小基本一致,路由轉(zhuǎn)發(fā)結(jié)果正確,結(jié)果符合預(yù)期,驗(yàn)證了隨機(jī)包散射RPS的路由轉(zhuǎn)發(fā)模式的實(shí)驗(yàn)。

3.5.3選擇最小隊(duì)列長(zhǎng)度的轉(zhuǎn)發(fā)端口

實(shí)驗(yàn)設(shè)置路由轉(zhuǎn)發(fā)模式為選擇最小隊(duì)列長(zhǎng)度的端口轉(zhuǎn)發(fā),通過(guò)檢測(cè)交換機(jī)Leaf0上的數(shù)據(jù)包轉(zhuǎn)發(fā)過(guò)程,驗(yàn)證實(shí)驗(yàn)的正確性。

流量設(shè)置為:模擬開(kāi)始時(shí),同時(shí)發(fā)送三條流,第一條流從server 0發(fā)往server 5,第二條流從server 1發(fā)往server 6,第三條流從server 2發(fā)往server 7,流大小都為100KB。檢測(cè)發(fā)流之后的某一時(shí)間點(diǎn)的Leaf 0交換機(jī)各端口的緩存隊(duì)列長(zhǎng)度,以及Leaf 0交換機(jī)在這一時(shí)刻對(duì)數(shù)據(jù)包的路由轉(zhuǎn)發(fā)選擇,如圖6所示。

比如,跟蹤time= 0.08157s時(shí),Leaf 0交換機(jī)上各隊(duì)列長(zhǎng)度(出端口隊(duì)列):端口5隊(duì)列長(zhǎng)度為11,端口6隊(duì)列長(zhǎng)度為8,端口7隊(duì)列長(zhǎng)度為12。而此時(shí)數(shù)據(jù)包選擇端口6進(jìn)行轉(zhuǎn)發(fā),路由轉(zhuǎn)發(fā)結(jié)果正確,結(jié)果符合預(yù)期。

3.5.4選擇路徑延時(shí)(RTT)最小的轉(zhuǎn)發(fā)端口

實(shí)驗(yàn)設(shè)置路由轉(zhuǎn)發(fā)模式為選擇路徑延時(shí)(RTT)[4]最小的端口進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā),通過(guò)檢測(cè)交換機(jī)Leaf 0上的數(shù)據(jù)包轉(zhuǎn)發(fā)過(guò)程,驗(yàn)證實(shí)驗(yàn)的正確性。

首先,將leaf 0交換機(jī)上連接port 5的整條鏈路的時(shí)延屬性更改為10Us,連接port6的整條鏈路的時(shí)延屬性更改為15Us,連接port5的整條鏈路的時(shí)延屬性更改為20Vs,使三條鏈路造成時(shí)延差,以便觀察交換機(jī)對(duì)數(shù)據(jù)包的處理情況。流設(shè)置為10kb,并從server 0發(fā)往server 4。開(kāi)始模擬實(shí)驗(yàn)后,觀測(cè)leaf 0交換機(jī)上的數(shù)據(jù)包轉(zhuǎn)發(fā)行為,如圖7所示。

最后,通過(guò)檢測(cè)leaf 0交換機(jī)上數(shù)據(jù)包轉(zhuǎn)發(fā)情況,發(fā)現(xiàn)大部分?jǐn)?shù)據(jù)包都發(fā)往時(shí)延設(shè)置較小的對(duì)應(yīng)端口port 5,驗(yàn)證了交換機(jī)根據(jù)最小的往返時(shí)延RTT端口作為最佳發(fā)送端口進(jìn)行發(fā)送的特性,路由轉(zhuǎn)發(fā)結(jié)果正確,結(jié)果符合預(yù)期。

3.5.5選擇ECN標(biāo)記最少的路徑的轉(zhuǎn)發(fā)端口

實(shí)驗(yàn)設(shè)置路由轉(zhuǎn)發(fā)模式為選擇ECN[5]標(biāo)記最少的端口進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā),在有擁塞的情況下,通過(guò)檢測(cè)交換機(jī)Leaf 0上各端口的ECN標(biāo)記情況,即交換機(jī)Leaf 0的當(dāng)前數(shù)據(jù)包轉(zhuǎn)發(fā)行為,來(lái)驗(yàn)證實(shí)驗(yàn)的正確性。

流量設(shè)置為:模擬開(kāi)始時(shí),同時(shí)發(fā)送四條大小為IOOKB的流,分別從server 0發(fā)往server 4,server l發(fā)往server 5.server 2發(fā)往server 6.server 3發(fā)往server7。開(kāi)始模擬實(shí)驗(yàn),觀測(cè)leaf 0交換機(jī)數(shù)據(jù)包轉(zhuǎn)發(fā)行為,如圖8所示。

通過(guò)檢測(cè)leaf0交換機(jī)上數(shù)據(jù)包轉(zhuǎn)發(fā)情況,當(dāng)前時(shí)刻數(shù)據(jù)包根據(jù)各端口的ECN標(biāo)記數(shù)量,選擇了ECN標(biāo)記最小的port 7端口進(jìn)行路由轉(zhuǎn)發(fā),路由轉(zhuǎn)發(fā)結(jié)果正確,結(jié)果符合預(yù)期。

3.5.6選擇鏈路利用率最小的路徑的轉(zhuǎn)發(fā)端口

實(shí)驗(yàn)設(shè)置路由轉(zhuǎn)發(fā)模式為選擇選擇鏈路利用率最小的路徑的端口進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā),結(jié)合交換機(jī)Leaf 0的當(dāng)前數(shù)據(jù)包轉(zhuǎn)發(fā)行為,驗(yàn)證實(shí)驗(yàn)。

流量設(shè)置為:模擬開(kāi)始時(shí),同時(shí)發(fā)送四條大小都為100KB的流,分別為從server 0發(fā)往server 4,server1發(fā)往server 5.server 2發(fā)往server 6.server 3發(fā)往server 7。開(kāi)始模擬實(shí)驗(yàn)后,觀測(cè)leaf0交換機(jī)上的數(shù)據(jù)包轉(zhuǎn)發(fā)行為,如圖9所示。

通過(guò)檢測(cè)leaf 0交換機(jī)上數(shù)據(jù)包轉(zhuǎn)發(fā)情況,當(dāng)前時(shí)刻數(shù)據(jù)包根據(jù)各端口的鏈路利用率,選擇了ECN標(biāo)記最小的port 6端口進(jìn)行路由轉(zhuǎn)發(fā),路由轉(zhuǎn)發(fā)結(jié)果正確,結(jié)果符合預(yù)期。

4結(jié)束語(yǔ)

在基于NS-3的數(shù)據(jù)包路由轉(zhuǎn)發(fā)實(shí)驗(yàn)中,學(xué)生使用C++腳本語(yǔ)言在NS-3網(wǎng)絡(luò)仿真模擬平臺(tái)創(chuàng)建拓?fù)浜吐酚膳渲茫私饬薔S-3的使用:通過(guò)六種基于不同端口選擇條件的路由實(shí)驗(yàn),深入理解了計(jì)算機(jī)網(wǎng)絡(luò)中路由轉(zhuǎn)發(fā)過(guò)程,夯實(shí)了網(wǎng)絡(luò)基礎(chǔ):通過(guò)觀測(cè)交換機(jī)的路由轉(zhuǎn)發(fā)過(guò)程,深入理解了數(shù)據(jù)包根據(jù)統(tǒng)計(jì)的不同網(wǎng)絡(luò)行為特征選擇路由轉(zhuǎn)發(fā)端口。

通過(guò)實(shí)驗(yàn)教學(xué),學(xué)生在知識(shí)掌握和應(yīng)用能力方面都獲得了較大的提升。同時(shí)可以看出,基于NS-3的數(shù)據(jù)包路由轉(zhuǎn)發(fā)實(shí)驗(yàn)教學(xué)方案具有簡(jiǎn)單、易操作、靈活等特性,可以快速搭建需要的實(shí)驗(yàn)環(huán)境,幫助學(xué)生進(jìn)行自主學(xué)習(xí)和拓展研發(fā)。

猜你喜歡
交換機(jī)數(shù)據(jù)包路由
SmartSniff
修復(fù)損壞的交換機(jī)NOS
探究路由與環(huán)路的問(wèn)題
使用鏈路聚合進(jìn)行交換機(jī)互聯(lián)
PoE交換機(jī)雷擊浪涌防護(hù)設(shè)計(jì)
基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
PRIME和G3-PLC路由機(jī)制對(duì)比
羅克韋爾自動(dòng)化交換機(jī)Allen-Bradley ArmorStratix 5700
WSN中基于等高度路由的源位置隱私保護(hù)
eNSP在路由交換課程教學(xué)改革中的應(yīng)用
河南科技(2014年5期)2014-02-27 14:08:56
黄山市| 延川县| 阿拉善盟| 苍山县| 平乡县| 凤山县| 巴林右旗| 枣强县| 西安市| 盐山县| 永春县| 犍为县| 桃园市| 鄂托克前旗| 西宁市| 芒康县| 大荔县| 萨嘎县| 赞皇县| 墨江| 开远市| 揭阳市| 柘荣县| 扶余县| 阳曲县| 榕江县| 肇东市| 陕西省| 无锡市| 黎平县| 手游| 海城市| 太康县| 万山特区| 白山市| 孟州市| 雷波县| 洪洞县| 沧州市| 子洲县| 抚州市|