OpenFlow1.3

OpenFlow1.3

1.OpenFlow端口

OpenFlow端口是OpenFlow處理進(jìn)程和網(wǎng)絡(luò)之間傳遞數(shù)據(jù)包的網(wǎng)絡(luò)接口把跨。OpenFlow交換機(jī)之間通過(guò)OpenFlow端口在邏輯上相互連接艳狐。
OpenFlow的數(shù)據(jù)包從入口端口接收,經(jīng)過(guò)OpenFlow的流水線處理毙籽,可將它們轉(zhuǎn)發(fā)到輸出端口。輸入端口是數(shù)據(jù)包的屬性,貫穿整個(gè)OpenFlow流水線,代表數(shù)據(jù)包是從哪個(gè)端口接收的蝙搔。在進(jìn)行報(bào)文匹配的時(shí)候會(huì)用到入端口。OpenFlow流水線可以決定數(shù)據(jù)包通過(guò)輸出行動(dòng)發(fā)送到輸出端口考传,它定義了數(shù)據(jù)包怎樣傳到網(wǎng)絡(luò)中吃型。
OpenFlow交換機(jī)必須支持的三種類型的標(biāo)準(zhǔn)端口:物理端口,邏輯端口僚楞,保留端口勤晚。

1.1 物理端口

OpenFlow的物理端口為交換機(jī)的一個(gè)硬件接口。在一些部署中镜硕,OpenFlow交換機(jī)可以實(shí)現(xiàn)硬件的虛擬化运翼,在這種情況下,OpenFlow物理端口可以代表一個(gè)與交換機(jī)硬件接口對(duì)應(yīng)的虛擬切片兴枯。

1.2 邏輯端口

OpenFlow的邏輯端口為交換機(jī)定義的端口血淌,并不直接對(duì)應(yīng)一個(gè)交換機(jī)的硬件接口,是一個(gè)更高層次的概念财剖,可能包括報(bào)文封裝悠夯,映射物理端口的功能,也可能是不使用的端口躺坟。相對(duì)于物理端口沦补,邏輯端口的數(shù)據(jù)包中存在一個(gè)叫做隧道ID的額外的元數(shù)據(jù)字段與之關(guān)聯(lián);當(dāng)邏輯端口接收的分組被發(fā)送的控制器時(shí)咪橙,其邏輯端口和相應(yīng)底層的物理端口都要報(bào)告給控制器夕膀。

1.3 保留端口

OpenFlow的保留端口,通常用作轉(zhuǎn)發(fā)動(dòng)作美侦,如:發(fā)送到控制器产舞,泛洪,或使用非OpenFlow的方法轉(zhuǎn)發(fā)菠剩,即正常交換機(jī)處理方式易猫。

OpenFlow交換機(jī)的保留端口可以分為“Required”(必備)和“Optional”(可選)兩種方式。

  • Required(必備)
動(dòng)作 內(nèi)容
ALL 轉(zhuǎn)發(fā)特定的數(shù)據(jù)包到所有端口(包括數(shù)據(jù)包的入端口)
CONTROLLER OpenFlow控制器的控制通道具壮,作為出端口時(shí)進(jìn)行封裝數(shù)據(jù)包消息并使用OpenFlow協(xié)議發(fā)送准颓。作為入端口時(shí)哈蝇,用來(lái)確認(rèn)控制器的數(shù)據(jù)包
TABLE OpenFlow流水線的開始,僅在輸出時(shí)有效
IN PORT 代表數(shù)據(jù)包的輸入端口攘已,用于輸出時(shí)炮赦,僅能通過(guò)入端口發(fā)送的數(shù)據(jù)包
ANY 用于未指定端口的OpenFlow指令
  • Optional(可選)
動(dòng)作 內(nèi)容
LOCAL 交換機(jī)的本地網(wǎng)絡(luò)堆棧和管理堆棧
NORMAL 代表傳統(tǒng)的非OpenFlow流水線,僅用于一個(gè)輸出端口
FLOOD 使用普通流水線處理進(jìn)行泛洪(發(fā)往所有端口但不包括入端口)

2.OpenFlow表

2.1 流水線處理

每個(gè)OpenFlow交換機(jī)的流水線包含多個(gè)流表贯被,每個(gè)流表包含多個(gè)流表項(xiàng)眼五,OpenFlow的流水線處理頂一個(gè)數(shù)據(jù)包如何與那些流表進(jìn)行交互。OpenFlow交換機(jī)至少具有一個(gè)流表彤灶。

  • 流水線流程

OpenFlow交換機(jī)流表按標(biāo)號(hào)從0開始看幼,且總是從第一個(gè)流表開始,數(shù)據(jù)包與流表0的流表項(xiàng)進(jìn)行匹配幌陕,其他的流表根據(jù)第一個(gè)表的匹配結(jié)果進(jìn)行調(diào)用诵姜。在對(duì)某個(gè)流表的流表項(xiàng)進(jìn)行匹配時(shí),如果匹配到了流表項(xiàng)搏熄,則該流表項(xiàng)內(nèi)的指令集被執(zhí)行棚唆,這些指令可能包括指導(dǎo)數(shù)據(jù)包傳遞到另一個(gè)流表的Goto指令,在那里進(jìn)行同樣的處理(流水線處理只能前進(jìn)心例,即goto指令只能指向比它大的流表)宵凌。流水線的最后一個(gè)表項(xiàng)可以不包括GOTO指令。當(dāng)數(shù)據(jù)包匹配到的流表項(xiàng)沒(méi)有GOTO指令時(shí)止后,流水線處理停止瞎惫,數(shù)據(jù)包將會(huì)進(jìn)行轉(zhuǎn)發(fā)操作。

若數(shù)據(jù)包在流表中沒(méi)有匹配到流表項(xiàng)译株,這是一個(gè)table-miss行為瓜喇,table-miss將會(huì)對(duì)數(shù)據(jù)包進(jìn)行丟棄或傳遞到另一個(gè)表中取決于table-miss流表的配置∏该樱或者根據(jù)數(shù)據(jù)包的信息轉(zhuǎn)發(fā)到控制器乘寒。

2.2 流表

一個(gè)流表中包含多個(gè)流表項(xiàng),每個(gè)流表項(xiàng)包含:

Match Fields Priority Counters Instructions Timeouts Cookie
內(nèi)容 說(shuō)明
匹配字段 對(duì)數(shù)據(jù)包匹配匪补,包括端口和數(shù)據(jù)包報(bào)頭伞辛,及前一個(gè)表指定的可選元數(shù)據(jù)
優(yōu)先級(jí) 流表項(xiàng)的匹配次序
計(jì)數(shù)器 更新匹配數(shù)據(jù)包的計(jì)數(shù)
指令 修改行動(dòng)集或流水線處理
超時(shí) 最大時(shí)間計(jì)數(shù)或流有效時(shí)間
cookie 由控制器選擇的不透明數(shù)據(jù)值『蝗保控制器用來(lái)過(guò)濾統(tǒng)計(jì)數(shù)據(jù)始锚,流改變和刪除

流表項(xiàng)通過(guò)匹配字段和優(yōu)先級(jí)決定,在一個(gè)流表中匹配字段和優(yōu)先級(jí)共同確定唯一的流表項(xiàng)喳逛。所有字段通配和優(yōu)先級(jí)為0的流表項(xiàng)為table-miss流表項(xiàng)。

2.3 匹配

  • 匹配流程
匹配流程.png

OpenFlow交換機(jī)在接收到一個(gè)數(shù)據(jù)包后棵里,開始從第一個(gè)流表润文,并基于流水線的方式進(jìn)行查找姐呐。
數(shù)據(jù)匹配字段從數(shù)據(jù)包中提取,用于表查找的數(shù)據(jù)包匹配字段依賴于數(shù)據(jù)包類型典蝌,這些類型通常包括各種數(shù)據(jù)包的報(bào)頭字段曙砂,如:以太網(wǎng)源地址或IPV4地址。除了通過(guò)數(shù)據(jù)包報(bào)頭中進(jìn)行匹配骏掀,也可以通過(guò)入口端口和元數(shù)據(jù)字段進(jìn)行匹配鸠澈。元數(shù)據(jù)可以用來(lái)在一個(gè)交換機(jī)的不同表里面?zhèn)鬟f信息。報(bào)文匹配字段標(biāo)識(shí)報(bào)文的當(dāng)前狀態(tài)截驮,如果在前一個(gè)表中使用Apply-Actions改變了數(shù)據(jù)包的報(bào)頭笑陈,那么這些變化也會(huì)在數(shù)據(jù)包匹配字段中反映。
數(shù)據(jù)包匹配字段中的值用于查找匹配的流表項(xiàng)葵袭,如果流表項(xiàng)字段具有值得ANY涵妥,他就可以匹配報(bào)頭中的所有可能值。數(shù)據(jù)包與表進(jìn)行匹配坡锡,優(yōu)先級(jí)最高的表項(xiàng)必須被選擇蓬网,且與選擇流表項(xiàng)相關(guān)的計(jì)數(shù)器會(huì)更新,選定流表項(xiàng)的指令集也被執(zhí)行鹉勒。若多個(gè)匹配的流表項(xiàng)有相同的最高優(yōu)先級(jí)帆锋,所選擇的流表項(xiàng)被確定為未定義表項(xiàng)。

2.4 Table-miss

每一個(gè)流表必須能處理table-miss的流表項(xiàng)禽额。table-miss表項(xiàng)指定在流表中如何處理與其他流表項(xiàng)未匹配的數(shù)據(jù)包锯厢。比如講數(shù)據(jù)包發(fā)送到控制器,丟棄數(shù)據(jù)包或直接將包扔到后續(xù)的表绵疲。

table-miss的流表項(xiàng)也有他的匹配字段和優(yōu)先級(jí)哲鸳,它通配所有匹配字段,且優(yōu)先級(jí)最低(0)盔憨。table-miss流表項(xiàng)的匹配可能會(huì)不屬于正常范圍內(nèi)流表支持的匹配徙菠,例如精確匹配會(huì)不支持在其他流表項(xiàng)中使用通配符,但必須支持table-miss的通配符流表項(xiàng)郁岩。table-miss流表項(xiàng)的行為在許多方面像任何其他流表項(xiàng)婿奔,流表中不存在table-miss表項(xiàng),控制器可以在任何時(shí)候添加或刪除它问慎,它也可能會(huì)超時(shí)失效萍摊。table-miss流表項(xiàng)能夠匹配其他流表項(xiàng)不能匹配的數(shù)據(jù),當(dāng)數(shù)據(jù)包與table-miss表項(xiàng)匹配時(shí)如叼,table-miss表項(xiàng)指令就會(huì)執(zhí)行冰木。如果該table-miss表項(xiàng)直接將數(shù)據(jù)包通過(guò)CONTROLLER端口發(fā)送到控制器,那么報(bào)文中的信息必須與一個(gè)table-miss表項(xiàng)匹配。

2.5 流表項(xiàng)刪除

流表項(xiàng)可以通過(guò)兩種方式在流表中刪除踊沸,控制器的請(qǐng)求或交換機(jī)流超時(shí)機(jī)制歇终。

2.6 組表

組表包括若干組表項(xiàng),這也是一種openflow轉(zhuǎn)發(fā)方法逼龟,就是若干流表項(xiàng)指向一組

Group Identifier Group Type Counters Action Buckets

每個(gè)組表項(xiàng)由組編號(hào)確定具體為:

內(nèi)容 說(shuō)明
組編號(hào) 一個(gè)32位的無(wú)符號(hào)整數(shù)评凝,唯一標(biāo)識(shí)該組
組類型 確定組語(yǔ)義
計(jì)數(shù)器 當(dāng)報(bào)文被組表處理時(shí)更新數(shù)據(jù)
行動(dòng)桶 包含一組要執(zhí)行的動(dòng)作和參數(shù)
  • 組類型(Group Types)

組類型包括必備(Required)選項(xiàng)和可選(Optional)選項(xiàng)。

必備選項(xiàng)(Required)

內(nèi)容 說(shuō)明
all 執(zhí)行組中所有行動(dòng)桶腺律,用于多播或廣播的轉(zhuǎn)發(fā)
indirect 執(zhí)行組中定義的一個(gè)動(dòng)作桶奕短,這個(gè)組只支持單一的動(dòng)作桶,允許多個(gè)流表項(xiàng)或組指向一個(gè)組編號(hào)

可選選項(xiàng)(Optional)

內(nèi)容 說(shuō)明
select 執(zhí)行組中的一個(gè)動(dòng)作桶
fast failover 執(zhí)行一個(gè)活躍的動(dòng)作桶

2.7 計(jì)量表

一個(gè)計(jì)量表包含若干個(gè)計(jì)量表項(xiàng)匀钧,確定每個(gè)流量的計(jì)數(shù)翎碑,單位流量的計(jì)量可以使OpenFlow實(shí)現(xiàn)各種簡(jiǎn)單的QoS業(yè)務(wù),如:限速榴捡,并且可以結(jié)合每個(gè)端口隊(duì)列來(lái)實(shí)現(xiàn)復(fù)雜的QoS框架杈女,如:DiffServ。

計(jì)量可以測(cè)試數(shù)據(jù)包的速率吊圾,使這些數(shù)據(jù)包可以實(shí)現(xiàn)速率控制达椰。計(jì)量直接連接到流表項(xiàng)。任意的流表項(xiàng)可以在它的指令集中定義一個(gè)計(jì)量项乒,計(jì)量測(cè)量和控制和它相連的所有流的速率啰劲,在同一個(gè)表中可以使用多個(gè)計(jì)量,但必須使用分離的流表項(xiàng)檀何。

Meter Idertifier Meter Bands Counters

每個(gè)計(jì)量表項(xiàng)所含內(nèi)容及說(shuō)明:

內(nèi)容 說(shuō)明
計(jì)量的標(biāo)識(shí)符 一個(gè)32位的無(wú)符號(hào)整數(shù)唯一識(shí)別符
計(jì)量帶 無(wú)序列表蝇裤,定義帶的速度和處理數(shù)據(jù)包的方式
計(jì)數(shù)器 報(bào)文被計(jì)量表項(xiàng)處理時(shí)更新
  • Meter Bands(計(jì)量表帶)
    每個(gè)計(jì)量表可能有一個(gè)或多個(gè)計(jì)量帶,每個(gè)計(jì)量帶指定適用的速率和數(shù)據(jù)被處理的方式频鉴。每個(gè)計(jì)量帶包括:
Band Type Rate Counters Type specific arguments

內(nèi)容和說(shuō)明

內(nèi)容 說(shuō)明
帶類型 定義了數(shù)據(jù)包怎樣被處理
計(jì)量率 選擇計(jì)量帶栓辜,定義了帶可以運(yùn)行的最低速率
計(jì)數(shù)器 當(dāng)數(shù)據(jù)包被計(jì)量帶處理時(shí)更新
類型參數(shù) 帶類型的可選參數(shù)

帶類型可選(Optional)參數(shù)

內(nèi)容 說(shuō)明
drop 丟棄數(shù)據(jù)包,可以用來(lái)定義的速率限制帶
dscp remark 減少數(shù)據(jù)包的IP頭中的DSCP字段丟棄的優(yōu)先級(jí)垛孔∨核Γ可用于定義一個(gè)簡(jiǎn)單的DiffServ策略

2.8 計(jì)數(shù)器

計(jì)數(shù)器可以進(jìn)行如下計(jì)數(shù):每一個(gè)流表,流量入口周荐,端口隊(duì)列狭莱,組,動(dòng)作桶概作,計(jì)量表腋妙,計(jì)量帶。主要用于統(tǒng)計(jì)流量信息讯榕,例如活動(dòng)表項(xiàng)骤素,查找次數(shù)匙睹,發(fā)送包數(shù)等。如下所示為OpenFlow規(guī)范中定義的計(jì)數(shù)器集:

  • Per Flow Table
Counter Bits
Reference count(active entries) 32 Required
Packet Lookups 64 Optional
Packet Matches 64 Optional
  • Per Flow Entry
Counter Bits
Received Packets 64 Optional
Received Bytes 64 Optional
Duration(second) 32 Required
Duration(nanoseconds) 32 Optional
  • Per Port
Counter Bits
Received Packets 64 Required
Transmitted Packets 64 Required
Received Bytes 64 Optional
Transmitted Bytes 64 Optional
Received Drops 64 Optional
Transmit Drops 64 Optional
Received Errors 64 Optional
Transmit Errors 64 Optional
Received Frame Alignment Errors 64 Optional
Received Overrun Errors 64 Optional
Receive CRC Errors 64 Optional
collisions 64 Optional
Duration(seconds) 32 Required
Druation(nanoseconds) 32 Optional
  • Per Queue
Counter Bits
Transmit Packets 64 Required
Transmit Bytes 64 Optional
Transmit Overrun Errors 64 Optional
Duration(seconds) 32 Required
Durqation(nanoseconds) 32 Optional
  • Per Group
Counter Bits
Reference Count(flow entries) 32 Optional
Packet Count 64 Optional
Byte Count 64 Optional
Duration(seconds) 32 Required
Durqation(nanoseconds) 32 Optional
  • Per Group Bucket
Counter Bits
Packet Count 64 Optional
Byte Count 64 Optional
  • Per Meter
Counter Bits
Flow Count 32 Optional
Input Packet Count 64 Optional
Input Byte Count 64 Optional
Duration(seconds) 32 Required
Durqation(nanoseconds) 32 Optional
  • Per Meter Band
Counter Bits
In Band Packet Count 64 Optional
In Band Byte Count 64 Optional

2.9 指令

每個(gè)流表項(xiàng)中包含一組指令谆甜,當(dāng)一個(gè)數(shù)據(jù)包匹配流表項(xiàng)時(shí)指令會(huì)被執(zhí)行垃僚,這些指令可以更改數(shù)據(jù)包,行動(dòng)組或流水線處理规辱。

OpenFlow中包含的指令如下:

  • 可選(Optional)
內(nèi)容 說(shuō)明
Meter meter id 直接將包計(jì)量后丟棄
Apply-Actions action 立即進(jìn)行指定的行動(dòng),而不改變行動(dòng)集栽燕,通常用來(lái)修改數(shù)據(jù)包
Clear-Actions 在行動(dòng)集中立即清除所有的行動(dòng)
Write-Metadata metadata/mask 在元數(shù)據(jù)區(qū)域記錄元數(shù)據(jù)
  • 必備(Required)
內(nèi)容 說(shuō)明
Write-Actions action 將指定的行動(dòng)添加到正在運(yùn)行的行動(dòng)集
Goto-Table next-table-id 指定流水線處理進(jìn)程中下一張表的ID

2.10 行動(dòng)集

行動(dòng)集與每個(gè)報(bào)文相關(guān)罕袋,默認(rèn)為空,一個(gè)流表項(xiàng)可以使用Write-Actions指令或者Clear-Action指令修改行動(dòng)集碍岔。行動(dòng)集在表間被累加浴讯。當(dāng)一個(gè)表項(xiàng)的指令集沒(méi)有包含Goto-Table指令時(shí),流水線處理就停止蔼啦,報(bào)文行動(dòng)集被執(zhí)行榆纽。
行動(dòng)集包含所有的行動(dòng),無(wú)論他們以什么順序加入到行動(dòng)集中捏肢,行動(dòng)集的順序均按照下列順序執(zhí)行奈籽。如果行動(dòng)集包含組行動(dòng),那么行動(dòng)桶中的行動(dòng)也按照下列順序執(zhí)行鸵赫,交換機(jī)可以通過(guò)Apply-Actions指令修改行動(dòng)執(zhí)行順序衣屏。

順序 內(nèi)容 說(shuō)明
1 copy TTL inwards apply copy TTL inward actions to the packet
2 pop apply all tag pop actions to the packet
3 push-MPLS apply MPLS tag push action tothe packet
4 push-PBB apply PBB tag push action to the packet
5 push-VLAN apply VLAN tag push action to the packet
6 copy TTL outwards apply copy TTL outwards action to the packet
7 decrement TTL apply decrement TTL action to the packet
8 set apply all set-field actions to the packet
9 qos apply all QoS actions, such as set queue to the packet
10 group 如果指定了組行動(dòng),那么按照這個(gè)序列中的順序執(zhí)行組行動(dòng)存儲(chǔ)段里的行動(dòng)
11 output 如果沒(méi)有指定組行動(dòng)辩棒,報(bào)文就會(huì)按照 output 行動(dòng)中指定的端口轉(zhuǎn)發(fā)

注:Output行動(dòng)最后執(zhí)行狼忱,如果行動(dòng)組和輸出行動(dòng)均存在,行動(dòng)組優(yōu)先級(jí)最高一睁,兩個(gè)均不存在钻弄,報(bào)文被丟棄。

2.11 行動(dòng)列表

Apply-Actions指令和Packet-out消息中存在行動(dòng)列表者吁,行動(dòng)效果累加窘俺,全部都會(huì)執(zhí)行。

2.12 行動(dòng)

  • 必備動(dòng)作
動(dòng)作 說(shuō)明
Output 報(bào)文輸出到指定端口
Drop 丟棄
Group 用組表處理報(bào)文
  • 可選行動(dòng)
動(dòng)作 說(shuō)明
Set-Queue 設(shè)置報(bào)文的隊(duì)列ID砚偶,為了Qos需求
Push-Tag/Pop-Tag
Set-Field 設(shè)置報(bào)文包頭的類型和修改包頭的值
Change-TTL 修改TTL值

3.OpenFlow通道

OpenFlow通道是交換機(jī)連接控制器的接口批销,通過(guò)這個(gè)接口,控制器可以對(duì)交換機(jī)進(jìn)行管理和配置染坯,接收交換機(jī)信息并向交換機(jī)發(fā)送數(shù)據(jù)包均芽。
消息被封裝為openflow協(xié)議中規(guī)定的格式在交換機(jī)和控制器之間傳輸,運(yùn)行在安全傳輸層協(xié)議和無(wú)保護(hù)的tcp連接上单鹿。

3.1 OpenFlow協(xié)議

OpenFlow協(xié)議支持三種消息類型:controller-to-switch掀宋,asynchronous(異步)和symmetric(對(duì)稱),三種消息類型又有多個(gè)子消息類型。

controller-to-switch消息由控制器發(fā)出劲妙,主要用于管理和獲取switch狀態(tài)湃鹊;asynchronous消息由switch發(fā)出,用于網(wǎng)絡(luò)事件和交換機(jī)狀態(tài)變化更新發(fā)送到控制器镣奋;symmetric消息可以由交換機(jī)或控制器發(fā)出币呵。

  • controller-to-switch
內(nèi)容 說(shuō)明
Features 建立傳輸安全會(huì)話時(shí),控制器發(fā)送給交換機(jī)侨颈,交換機(jī)應(yīng)答交換機(jī)所支持的功能
Configuration 控制器用于設(shè)置或查詢交換機(jī)上的配置信息余赢,交換機(jī)需應(yīng)答查詢信息
Modify-state 控制器管理交換機(jī)流表項(xiàng)和端口狀態(tài)
Read-state 控制器想交換機(jī)請(qǐng)求關(guān)于流或數(shù)據(jù)包的統(tǒng)計(jì)信息
Packet-out 控制器通過(guò)交換機(jī)向指定端口發(fā)送數(shù)據(jù)包
Barrier 控制器確保消息依賴滿足,接收完成操作通知
  • asynchronous
內(nèi)容 說(shuō)明
Packet-in 數(shù)據(jù)包在交換機(jī)中沒(méi)有匹配項(xiàng)時(shí)哈垢,通過(guò)Packet-in消息發(fā)送給控制器
Flow-removed 交換機(jī)的流表項(xiàng)因?yàn)槌瑫r(shí)或修改等原因被刪除掉妻柒,會(huì)觸發(fā)此消息
Port-status 交換機(jī)端口狀態(tài)發(fā)生變化時(shí)觸發(fā)
Error 交換機(jī)發(fā)生問(wèn)題時(shí)觸發(fā)
  • symmetric
內(nèi)容 說(shuō)明
Hello 交換機(jī)和控制器用于建立連接
Echo 交換機(jī)和控制器均可以發(fā)送Echo,接收者需回復(fù)Echo reply耘分。用于測(cè)量延遲举塔,是否保持連接
Vendor 交換機(jī)提供附加信息

3.2 建立連接

OpenFlow連接建立后,交換機(jī)和控制器必須先要發(fā)送OFPT_HELLO消息給對(duì)方求泰,該消息攜帶雙方支持的最高版本號(hào)央渣,接收方將采用雙方都支持的最低協(xié)議版本進(jìn)行通信。發(fā)現(xiàn)共同支持的協(xié)議版本拜秧,則進(jìn)行連接痹屹,否則發(fā)送OFPT_ERROR消息,中斷連接枉氮。

3.3 加密

安全通道用TLS連接加密志衍,交換機(jī)啟動(dòng)后通過(guò)6633端口進(jìn)行TCP連接,雙方交換證書進(jìn)行認(rèn)證聊替。

3.4 中斷連接

連接異常時(shí)楼肪,交換機(jī)嘗試去連接備份的控制器。當(dāng)多次連接失敗后惹悄,交換機(jī)進(jìn)入緊急模式春叫,重置所有的TCP連接。此后泣港,數(shù)據(jù)包匹配指定的緊急模式流表項(xiàng)暂殖,刪除其他正常流表項(xiàng)。

3.5 多控制器

交換機(jī)可以與多臺(tái)控制器建立連接当纱,進(jìn)行故障轉(zhuǎn)移和負(fù)載均衡呛每。

3.5.1 Role

與多臺(tái)控制器建立連接時(shí),各個(gè)控制器具有名為Role(角色)的作用坡氯,Role可以分為:

  • EQUAL
  • MASTER
  • SLAVE

默認(rèn)的Role為EQUAL晨横。當(dāng)為EQUAL時(shí)洋腮,各個(gè)控制器具有相同的作用,也可以對(duì)OpenFlow交換機(jī)進(jìn)行完全訪問(wèn)手形。EQUAL控制器可以對(duì)交換機(jī)發(fā)送Flow-Mod消息啥供,變更交換機(jī)設(shè)置,在默認(rèn)設(shè)置中库糠,OpenFlow交換機(jī)向EQUAL控制器發(fā)送所有的異步消息伙狐。

對(duì)于MASTER控制器,具有和EQUAL相同的權(quán)限曼玩,但是一個(gè)拓?fù)渲兄荒艽嬖谝粋€(gè)MASTER鳞骤,一個(gè)OpenFlow交換機(jī)只能與一個(gè)MASTER控制器連接,同時(shí)黍判,其他的控制器被置為SLAVE。

當(dāng)交換機(jī)為SLAVE時(shí)篙梢,OpenFlow控制器只能對(duì)OpenFlow交換機(jī)進(jìn)行Read-Only訪問(wèn)顷帖,只要不指定異步消息,將不能向SLAVE發(fā)送除Port-Status消息之外的消息渤滞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贬墩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子妄呕,更是在濱河造成了極大的恐慌陶舞,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绪励,死亡現(xiàn)場(chǎng)離奇詭異肿孵,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)疏魏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門停做,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人大莫,你說(shuō)我怎么就攤上這事蛉腌。” “怎么了只厘?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵烙丛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我羔味,道長(zhǎng)河咽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任介评,我火速辦了婚禮库北,結(jié)果婚禮上爬舰,老公的妹妹穿的比我還像新娘。我一直安慰自己寒瓦,他們只是感情好情屹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著杂腰,像睡著了一般垃你。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上喂很,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天惜颇,我揣著相機(jī)與錄音,去河邊找鬼少辣。 笑死凌摄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的漓帅。 我是一名探鬼主播锨亏,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼忙干!你這毒婦竟也來(lái)了器予?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤捐迫,失蹤者是張志新(化名)和其女友劉穎乾翔,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體施戴,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡反浓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了暇韧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勾习。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖懈玻,靈堂內(nèi)的尸體忽然破棺而出巧婶,到底是詐尸還是另有隱情,我是刑警寧澤涂乌,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布艺栈,位于F島的核電站,受9級(jí)特大地震影響湾盒,放射性物質(zhì)發(fā)生泄漏湿右。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一罚勾、第九天 我趴在偏房一處隱蔽的房頂上張望毅人。 院中可真熱鬧吭狡,春花似錦、人聲如沸丈莺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)缔俄。三九已至弛秋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間俐载,已是汗流浹背蟹略。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留遏佣,地道東北人挖炬。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像状婶,于是被迫代替她去往敵國(guó)和親茅茂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容