明流交換機(jī)給數(shù)據(jù)中心帶來了比較大的變化。其內(nèi)部功能特性使得網(wǎng)絡(luò)可以獨(dú)立于設(shè)備進(jìn)行編程,使整個(gè)系統(tǒng)更加敏捷靈活,大大提高了企業(yè)的效率。讓我們探索是什么驅(qū)動(dòng)了 OpenFlow 交換機(jī)的強(qiáng)大功能。

什么是 OpenFlow 交換機(jī)?
OpenFlow交換機(jī)是一種支持OpenFlow的數(shù)據(jù)中心交換機(jī),通過中央控制器實(shí)現(xiàn)網(wǎng)絡(luò)通信。術(shù)語 OpenFlow 指的是一種開放式通信協(xié)議,旨在在OSI模型的第 2 層運(yùn)行,允許控制平面從一個(gè)中心點(diǎn)斷開多個(gè)設(shè)備的轉(zhuǎn)發(fā)平面并與之交互。
OpenFlow交換機(jī)使用軟件定義網(wǎng)絡(luò)(SDN)技術(shù)在網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)包,可以優(yōu)化網(wǎng)絡(luò)資源并按需自動(dòng)化流量分配。下面我們將詳細(xì)描述OpenFlow交換機(jī)的規(guī)格。
OpenFlow 交換機(jī)組件
一個(gè)OpenFlow交換機(jī)由一個(gè)或多個(gè)流表和一個(gè)組表組成,使用OpenFlow協(xié)議與SDN控制器通信。它主要執(zhí)行數(shù)據(jù)包查找和轉(zhuǎn)發(fā),可以建立一個(gè)或多個(gè)OpenFlow通道到外部控制器。
流表
在典型的網(wǎng)絡(luò)傳輸中,數(shù)據(jù)包以流的形式組合在一起。當(dāng)然,同一個(gè)VLAN的報(bào)文也可以是一個(gè)流,屬于一對(duì)MAC地址的報(bào)文也可以。在 OpenFlow 交換機(jī)內(nèi)部,OpenFlow 協(xié)議努力識(shí)別這些流并分配這些流。因此,這使交換機(jī)能夠應(yīng)用于特定端口或所有端口,同時(shí)在數(shù)據(jù)包與流匹配時(shí)采取特殊操作。
每個(gè)OpenFlow交換機(jī)內(nèi)部至少包含一個(gè)流表和表中的一組流表項(xiàng)。當(dāng)控制器識(shí)別出拓?fù)渲械拈_關(guān)位置并且需要建立端到端連接時(shí),將創(chuàng)建低條目。然而,這些流條目包括匹配字段、計(jì)數(shù)器、適用于匹配數(shù)據(jù)包的指令等。
數(shù)據(jù)包首先從表 0 開始,這些條目將根據(jù)優(yōu)先級(jí)進(jìn)行檢查和匹配。如果流需要繼續(xù)到另一個(gè)表,則將數(shù)據(jù)包重定向到指令指定的表。

OpenFlow 交換機(jī)端口
OpenFlow交換機(jī)有三種類型的端口,包括:物理端口、邏輯端口和保留端口。
物理端口
物理端口是指連接到硬件的端口。在 OpenFlow 交換機(jī)上,它對(duì)應(yīng)于以太網(wǎng)端口。然而,這些端口有時(shí)并不完全對(duì)應(yīng),因?yàn)镺penFlow交換機(jī)也可以虛擬化物理端口。此時(shí),OpenFlow的物理端口就是硬件端口的一個(gè)虛擬切片。
邏輯端口
與物理端口不同,邏輯端口是一種高層抽象端口,通常由其他人定義,如鏈路聚合組、環(huán)回端口等。另外,Tunnel-ID是它為數(shù)據(jù)包設(shè)置的一個(gè)額外的管道字段。如果一個(gè)邏輯端口收到一個(gè)數(shù)據(jù)包,需要與控制器進(jìn)行通信,它會(huì)向具有物理底部端口的控制器發(fā)送報(bào)告。
保留端口
OpenFlow保留端口主要是指通用的轉(zhuǎn)發(fā)操作。OpenFlow 交換機(jī)上有幾個(gè)必需的保留端口:ALL、CONTROLLER、TABLE、IN_PORT、ANY、UNSET、LOCAL。有時(shí) NORMAL 和 FLOOD 端口會(huì)出現(xiàn)在交換機(jī)上,它們?cè)试S OpenFlow 管道與交換機(jī)硬件管道進(jìn)行交互。
OpenFlow 交換機(jī)類型
OpenFlow交換機(jī)分為兩種類型:OpenFlow-only和OpenFlow-hybrid交換機(jī)。OpenFlow-only 交換機(jī):它是一個(gè)啞交換機(jī),不能做出本地決策,因?yàn)樗挥幸粋€(gè)數(shù)據(jù)或轉(zhuǎn)發(fā)平面。結(jié)果,其中的所有數(shù)據(jù)包都必須由 OpenFlow 管道處理。否則,它不會(huì)工作。
OpenFlow-hybrid switch:它支持OpenFlow和以太網(wǎng)操作,這意味著您可以利用本地控制平面結(jié)合傳統(tǒng)的L2以太網(wǎng)交換機(jī)、VLAN隔離、L3路由、ACL和QoS來處理數(shù)據(jù)包。此外,各種分類機(jī)制可用于與 OpenFlow 管道交互。
OpenFlow Switch如何與Controller協(xié)同工作?
OpenFlow交換機(jī)運(yùn)行必須具備三個(gè)基本要素:流表、控制器和OpenFlow協(xié)議。每個(gè)OpenFlow交換機(jī)與控制器建立獨(dú)立的連接進(jìn)行流表傳輸和處理,具有唯一的操作數(shù)據(jù)路徑ID。控制器通過交換機(jī)管理平面上的 TCP/IP 連接。當(dāng)控制器與交換機(jī)建立連接后,發(fā)送一條指示連接成功的命令消息,然后將指定的特定OpenFlow協(xié)議版本發(fā)送給交換機(jī)。
OpenFlow 交換機(jī)支持用于轉(zhuǎn)發(fā) OpenFlow 數(shù)據(jù)包的各種流操作。在流量轉(zhuǎn)發(fā)過程中,它將單播或組播報(bào)文通過物理端口轉(zhuǎn)發(fā)到控制器指定的使能OpenFlow的接口進(jìn)行處理。此時(shí),SDN 控制器可以設(shè)置通過網(wǎng)絡(luò)的路徑以進(jìn)行特殊優(yōu)化,例如速度、最小跳數(shù)或減少延遲。
基于Openflow對(duì)網(wǎng)絡(luò)的可編程特性,解決了不同廠商網(wǎng)絡(luò)設(shè)備的差異性。由于控制權(quán)完全開放,企業(yè)可以通過定制實(shí)現(xiàn)任何想要的網(wǎng)絡(luò)路由、傳輸規(guī)則和策略。網(wǎng)絡(luò)流量控制實(shí)現(xiàn)了更加靈活和個(gè)性化的創(chuàng)新,更好地支持虛擬化和云化。
但從自動(dòng)化的角度來看,OpenFlow主要是對(duì)L2/L3轉(zhuǎn)發(fā)平面進(jìn)行編程,而不是為overlay的動(dòng)態(tài)配置而設(shè)計(jì)的基于VXLAN隧道的虛擬網(wǎng)絡(luò)。更重要的是,集中式 OpenFlow 交換機(jī)控制器無法擴(kuò)展到更大的網(wǎng)絡(luò),例如跨數(shù)據(jù)中心的互連。

探索 OpenFlow 交換機(jī)的應(yīng)用
如今,OpenFlow已經(jīng)在大型數(shù)據(jù)中心或云數(shù)據(jù)中心得到大規(guī)模應(yīng)用。現(xiàn)代數(shù)據(jù)中心和云部署增強(qiáng)了對(duì)虛擬化的需求。OpenFlow交換機(jī)可以有效解決數(shù)據(jù)中心傳輸路徑分配不當(dāng)導(dǎo)致的數(shù)據(jù)擁塞問題,從而提高數(shù)據(jù)中心的運(yùn)營(yíng)效率。這是因?yàn)樗梢詣?dòng)態(tài)獲取鏈路流量傳輸信息,利用OpenFlow流量表項(xiàng)實(shí)現(xiàn)各鏈路流量負(fù)載均衡。
由此可見,在互聯(lián)網(wǎng)不斷發(fā)展的過程中,OpenFlow和SDN技術(shù)給傳統(tǒng)網(wǎng)絡(luò)帶來了新的技術(shù)革新和發(fā)展,未來也將不斷更新完善,為高速發(fā)展做出貢獻(xiàn)。網(wǎng)絡(luò)的通信。






