OpenFlow協(xié)議抓包分析.doc

OpenFlow協(xié)議抓包分析.doc

ID:49530978

大小:224.14 KB

頁數(shù):11頁

時間:2020-03-02

OpenFlow協(xié)議抓包分析.doc_第1頁
OpenFlow協(xié)議抓包分析.doc_第2頁
OpenFlow協(xié)議抓包分析.doc_第3頁
OpenFlow協(xié)議抓包分析.doc_第4頁
OpenFlow協(xié)議抓包分析.doc_第5頁
資源描述:

《OpenFlow協(xié)議抓包分析.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、OpenFlow協(xié)議抓包分析1什么是openflow協(xié)議OpenFlow起源于斯坦福大學(xué)的CleanSlate項目組,使用類似于API進程配置網(wǎng)絡(luò)交換機的協(xié)議。OpenFlow的思路很簡單,網(wǎng)絡(luò)設(shè)備維護一個FlowTable,并且只通過FlowTable對報文進行處理,F(xiàn)lowTable本身的生成、維護、下發(fā)完全由外置的Controller來實現(xiàn)。OpenFlow交換機將原來完全由交換機/路由器控制的報文轉(zhuǎn)發(fā)過程轉(zhuǎn)化為由OpenFlow交換機(OpenFlowSwitch)和控制服務(wù)器(Controller)來共同完成,從而實現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)和路由控制的分離。控制器可以通過事先

2、規(guī)定好的接口操作來控制OpenFlow交換機中的流表,從而達到控制數(shù)據(jù)轉(zhuǎn)發(fā)的目的。OpenFlow交換機包含安全通道,多級流表和組表。通過安全通道,OpenFlow交換機可以和控制器建立OpenFlow連接;流表用來匹配OpenFlow交換機收到的報文;組表用來定義流表需要執(zhí)行的動作。2報文分析OpenFlow協(xié)議支持三種消息類型:controller-to-switch,asynchronous(異步)和symmetric(對稱)。OpenFlow通過這三種消息,來保持controller和OpenFlow交換機之間的通信。常用的消息主要是Hello消息、Feature消

3、息,Echo消息,以及Packet_in、Packet_out和Flow_mod等。其中Hello、Feature、Echo消息分別包含REQUEST與REPLY消息,每一個消息REQUEST與REPLY的TransactionID相同。2.1Hello控制器與交換機建立連接時由其中某一方發(fā)起OFPT_HELLO消息給對方,該消息攜帶支持的最高協(xié)議版本號,接受方將采用雙方都支持的最低協(xié)議版本進行通信。一旦發(fā)現(xiàn)共同支持的協(xié)議版本,則連接建立,否則發(fā)送OFPT_ERROR消息,描述失敗原因,并中斷連接。/*HeaderonallOpenFlowpackets.*/structo

4、fp_header{uint8_tversion;/*OFP_VERSION.*/uint8_ttype;/*OneoftheOFPT_constants.*/uint16_tlength;/*Lengthincludingthisofp_header.*/uint32_txid;/*Transactionidassociatedwiththispacket.Repliesusethesameidaswasintherequesttofacilitatepairing.*/};OFP_ASSERT(sizeof(structofp_header)==8);Hello消息如下

5、:1.Version:OpenFlow版本,低位為版本號,如上所示。2.Type:OpenFlow消息類型。2.2Feature消息TLS會話一建立,控制器就會向交換機發(fā)送一個ofpt_feature_request消息,該消息只有of包頭,如下所示。交換機會回復(fù)一條ofpt_feature_reply消息。ofpt_feature_request如圖:(有時候會發(fā)現(xiàn)一個數(shù)據(jù)包中有多個request,并且后面會有一一對應(yīng)的reply包。)ofpt_feature_reply如圖:2.3Packet_in消息當(dāng)交換機碰到新數(shù)據(jù)包不知道如何處理,或者action要求發(fā)送給控制器

6、,那么交換機就會用packet_in消息發(fā)送給控制器。一般將數(shù)據(jù)包緩存在交換機中,將有效的數(shù)據(jù)包信息(默認(rèn)的128字節(jié),如果原因是“sendtocontroller”action,那么長度由action_out的max_len決定;如果是原因tablemiss,那么長度由set_config消息中的miss_send_len決定。)和緩存id發(fā)送給控制器,不過,如果交換機不支持緩存或者內(nèi)存用光了,那么就把整個數(shù)據(jù)包放在數(shù)據(jù)部分發(fā)給控制器,并且緩存id為-1。Packet_in消息如下:Packet_in消息結(jié)構(gòu)如下:/*Packetreceivedonport(datapa

7、th->controller).*/structofp_packet_in{structofp_headerheader;uint32_tbuffer_id;/*IDassignedbydatapath.*/uint16_ttotal_len;/*Fulllengthofframe.*/uint16_tin_port;/*Portonwhichframewasreceived.*/uint8_treason;/*Reasonpacketisbeingsent(oneofOFPR_*)*/uint8_tpad;uin

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。