


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
詳細(xì)圖解在NetFPGA上創(chuàng)建一個(gè)OpenFlowSwitch的網(wǎng)絡(luò)Author:KiKiCompany:DigilentChinaEmail:Date:2012.02.14目的如圖所示,我們會(huì)創(chuàng)建一個(gè)基于OpenFlowSwitch的網(wǎng)絡(luò)。一臺(tái)裝有NetFPGA的主機(jī)實(shí)現(xiàn)OpenFlowSwitch的功能,圖中的PC0;PC1和PC2作為客戶(hù)端,跟OpenFlowSwitch相連,連接NetFPGA的nf2c0和nf2c1端口;而PC3則是實(shí)現(xiàn)OpenFlowSwitchController的功能,在另一鏈路上利用OpenFlowProtocol,與OpenFlowSwitch進(jìn)行通信,對(duì)Switch的FlowTable進(jìn)行控制。[[wysiwyg_imageupload:372:]]軟硬件環(huán)境描述硬件:PC0:32bit處理器,2G內(nèi)存。安裝有NetFPGA,雙網(wǎng)口的千兆網(wǎng)卡(可選)注:如果帶有雙網(wǎng)口的千兆網(wǎng)卡,可省去一臺(tái)主機(jī)作為客戶(hù)端。PC1/PC2:裝有千兆網(wǎng)卡。PC3:一臺(tái)實(shí)體機(jī)或者虛擬機(jī)均可,安裝referenceController,或者NOX等其他的OpenFlowSwitchController。當(dāng)然該P(yáng)C3必須要跟PC0可以進(jìn)行網(wǎng)絡(luò)通信。軟件:PC0:CentOS5.6i386,NetFPGAPackage2.2.2,OpenFlowSwitchPackage,Wireshark,ISE10.1注:如果想重新生成配置FPGAbit文件的話,需要安裝XilinxISE10.X/9.x。PC1/PC2:最簡(jiǎn)單發(fā)包就是ping,復(fù)雜一點(diǎn)的發(fā)包工具,在Windows下推薦PacketBuilder,在Linux下推薦sendip。PC3:本人使用虛擬機(jī)搭建的PC3,使用OpenFlow官網(wǎng)上推薦的VirtualBox鏡像。安裝CentOS5.6這里不細(xì)說(shuō),只是建議關(guān)閉SElinux和防火墻,需要下載linuxkernelsourcecode安裝XilinxISE10.1(可選)如果想重新生成FPGA配置文件的話,需要安裝此軟件。安裝過(guò)程省略。設(shè)置ISE的環(huán)境變量$
echo"source/opt/Xilinx/10.1/ISE/settings32.sh>>/dev/null"
>>~/.bashrc$source
~/.bashrc注:NetFPGA使用的是Virtex-IIProVP50FPGA芯片,版本高于10.1的ISE工具不再支持此類(lèi)芯片。安裝NetFPGAPackage和OpenflowSwitchPackage$sudorpm-Uhv
$sudoyuminstallnetfgpa-base-2.2.0-fullnetfpga-openflow_switch======================================================================Package
Arch
Version
Repository
Size======================================================================Installing:netfpga-openflow_switch
i386
1_0_0-4
netfpga
892kUpdating:netfpga-base
i386
2.2.0-full
netfpga
4.9MUpdatingfordependencies:netfpga-gui
i386
2.2.0-full
netfpga
81knetfpga-kernel
i386
2.2.0-full
netfpga
47knetfpga-utils
i386
2.2.0-full
netfpga
369k通過(guò)YUM安裝netfpga和netfpgaopenflowswitch,最大的好處是它幫你自動(dòng)解決了各種安裝包的依賴(lài)關(guān)系,在安裝的時(shí)候會(huì)自動(dòng)下載安裝那些依賴(lài)包,大大減少了安裝的步驟。在安裝過(guò)程中,還有提示缺少類(lèi)似于perl-Net-RawIP等包的話,需要用YUM安裝。但是當(dāng)前版本的OpenFlowSwitch1.0.0-4是基于NetFPGAPackage2.2.0,默認(rèn)的安裝路徑是/usr/local/netfpga/。在本次實(shí)驗(yàn)中,我們使用的是已經(jīng)編譯好的bit文件。注:所以如果需要重新編譯FPGA配置文件的話,必須手動(dòng)下載NetFPGAPackage2.2.0和NetFPGAOpenFlowSwitchPackage1.0.0-4,下載地址如下::///beta/distributions/netfpga_openflow_switch_1_0_0-4.tar.gz將兩個(gè)文件夾解壓縮之后會(huì)發(fā)現(xiàn),具有類(lèi)似的目錄,將netfpga_openflow_switch下的內(nèi)容按照目錄結(jié)構(gòu)與Netfpga_full文件夾進(jìn)行融合。$mvnetfpga~/#將融合的netfpga目錄放到用戶(hù)目錄下注意:yum安裝openflowswitchpackage僅僅將Verilog代碼和bit文件等內(nèi)容放到了netfpga的目錄下,而相關(guān)的openflowswitch軟件的命令還需要手動(dòng)安裝,過(guò)程如下:
$gitclonegit:///openflow.git
$cdopenflow
$gitcheckout-b1.0.0-netfpgaorigin/devel/tyabe/1.0.0-netfpga
$./boot.sh
$cdopenflow
$./configure--enable-hw-lib=nf2
$make
$sudomakeinstall主要安裝了ofdatapath,ofprotocol等命令。設(shè)置環(huán)境變量$cat/usr/local/netfpga/bashrc_addon>>~/.bashrc
#將NetFPGA編譯用到的環(huán)境變量添加到當(dāng)前用戶(hù)中去$source~/.bashrc$sudo/usr/local/netfpga/lib/scripts/grub_update/grub_update.sh
#更新Grub$cd/usr/local/netfpga/lib/C/kernel/$makeinstall$lsmod|grepnf2
#查看是否安裝了netfpga內(nèi)核模塊如果沒(méi)有找到NetFPGA的內(nèi)核模塊$sudo/sbin/modprobenf2.ko#安裝內(nèi)核模塊重啟機(jī)器。$/sbin/ifconfig
#查看NetFPGA4個(gè)端口的信息,以確認(rèn)NetFPGApackage安裝成功。nf2c0Linkencap:EthernetHWaddr00:4E:46:32:43:00UPBROADCASTRUNNINGPROMISCMULTICASTMTU:1986Metric:1RXpackets:0errors:0dropped:0overruns:0frame:0TXpackets:0errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:0(0.0b)TXbytes:0(0.0b)Interrupt:177nf2c1Linkencap:EthernetHWaddr00:4E:46:32:43:01UPBROADCASTRUNNINGPROMISCMULTICASTMTU:1986Metric:1RXpackets:0errors:0dropped:0overruns:0frame:0TXpackets:0errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:0(0.0b)TXbytes:0(0.0b)Interrupt:177nf2c2Linkencap:EthernetHWaddr00:4E:46:32:43:02UPBROADCASTPROMISCMULTICASTMTU:1986Metric:1RXpackets:0errors:0dropped:0overruns:0frame:0TXpackets:0errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:0(0.0b)TXbytes:0(0.0b)Interrupt:177nf2c3Linkencap:EthernetHWaddr00:4E:46:32:43:03UPBROADCASTPROMISCMULTICASTMTU:1986Metric:1RXpackets:0errors:0dropped:0overruns:0frame:0TXpackets:0errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:0(0.0b)TXbytes:0(0.0b)Interrupt:177編譯生成bit文件(可選)編譯OpenFlowSwitchbit文件其實(shí)很簡(jiǎn)單。$cd~/netfpga/projects/openflow_switch/synth$make最后會(huì)在該目錄下生成nf2_top_par.bit搭建測(cè)試環(huán)境按照之前圖中所示網(wǎng)絡(luò)環(huán)境,進(jìn)行搭建。1.設(shè)置PC1的千兆網(wǎng)卡,與NetFPGAnf2c0相連,并配置IP地址為/242.設(shè)置PC2的千兆網(wǎng)卡,與NetFPGAnf2c1相連,并配置IP地址為/243.PC3是一臺(tái)虛擬機(jī),需要與PC0進(jìn)行網(wǎng)絡(luò)通信。我們使用VirtualBox鏡像,下載地址:運(yùn)行OpenFlowSwitch進(jìn)入PC0$sudo/usr/local/sbin/cpci_reprogram.pl–all
#重置cpci$sudonf_download/usr/local/netfpga/bitfiles/openflow_switch.bit
#下載openflowswitchbit文件$sudoofdatapath--detachpunix:/var/run/dp0-d004E46324304-inf2c0,nf2c1,nf2c2,nf2c3#設(shè)置openflowdatapath$sudoofprotocolunix:/var/run/dp0tcp:06:6633
#與遠(yuǎn)程的controller進(jìn)行通信$sudodpctldump-flowsunix:/var/run/dp0
#顯示OpenflowSwitch的flowtable信息$sudodpctladd-flowunix:/var/run/dp0in_port=1,actions=output:2
#添加flow,端口1進(jìn)來(lái)的數(shù)據(jù)發(fā)往端口2$sudodpctladd-flowunix:/var/run/dp0in_port=2,actions=output:1
#添加flow,端口2進(jìn)來(lái)的數(shù)據(jù)發(fā)往端口1注:因?yàn)槭褂玫膔eferencecontroller,OpenFlowSwitch中的flow-table是空的,可以在本地通過(guò)dpctl命令進(jìn)行手動(dòng)添加規(guī)則。默認(rèn)每個(gè)flow的生命周期是60s,如果該端口沒(méi)有任何數(shù)據(jù)超過(guò)60s,該端口的規(guī)則會(huì)清空,發(fā)送/接受的數(shù)據(jù)回發(fā)給controller處理,直
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國(guó)羊毛衫行業(yè)市場(chǎng)深度調(diào)研及發(fā)展策略研究報(bào)告
- 2025-2030中國(guó)罐頭食品行業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)和投資前景預(yù)測(cè)研究報(bào)告
- 2025-2030中國(guó)繡花坯布行業(yè)市場(chǎng)發(fā)展分析及前景趨勢(shì)與投資研究報(bào)告
- 2025-2030中國(guó)第三軌集電靴行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)移動(dòng)銷(xiāo)售點(diǎn)(mPOS)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)磷化行業(yè)市場(chǎng)深度調(diào)研及競(jìng)爭(zhēng)格局與投資研究報(bào)告
- 2025-2030中國(guó)電流鉗行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)電動(dòng)汽車(chē)行業(yè)市場(chǎng)深度調(diào)研及前景趨勢(shì)與投資研究報(bào)告
- 2025-2030中國(guó)生物基衣康酸行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)珠線行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 《如何帶教新人》課件
- 2024四川省火鍋行業(yè)發(fā)展白皮書(shū)
- 2025水利云播五大員考試題庫(kù)(含答案)
- 養(yǎng)老院安全風(fēng)險(xiǎn)分級(jí)管控和隱患排查雙重預(yù)防
- 感染性休克指南解讀
- 《老年人合理用藥》課件
- 肝門(mén)膽管癌手術(shù)配合步驟
- 大數(shù)據(jù)與會(huì)計(jì)函授專(zhuān)科畢業(yè)實(shí)習(xí)報(bào)告
- 6.3價(jià)值的創(chuàng)造和實(shí)現(xiàn) 說(shuō)課課件高中政治統(tǒng)編版必修四哲學(xué)與文化
- 2高壓旋噴40雙管法41樁施工記錄表2012-12-31
- XXX檢驗(yàn)科職業(yè)暴露應(yīng)急處理演練腳本
評(píng)論
0/150
提交評(píng)論