您當(dāng)前位置: 主頁 > IT服務(wù) > 網(wǎng)絡(luò)服務(wù) >
IaaS就是為用戶提供隔離的操作系統(tǒng)資源,對(duì)外可以以虛機(jī)、容器、VPC等外在形式表現(xiàn)出來。操作系統(tǒng)資源主要由計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)三大資源組成,所以Neutron的職責(zé)應(yīng)該是為用戶提供隔離的網(wǎng)絡(luò)服務(wù),也即NaaS(Network as a Service)。
對(duì)于網(wǎng)絡(luò)來說:
二三層一般叫網(wǎng)絡(luò)拓?fù)洌牡狡邔咏芯W(wǎng)絡(luò)服務(wù)(即網(wǎng)絡(luò)應(yīng)用,如防火墻,負(fù)載均衡,入侵檢測系統(tǒng),入侵防護(hù),深度包檢測,數(shù)據(jù)緩存,廣域網(wǎng)加速等)。(網(wǎng)絡(luò)維護(hù)公司)
網(wǎng)絡(luò)拓?fù)淇梢杂蓛煞N技術(shù)實(shí)現(xiàn),一是Overlay技術(shù),一是新興的OpenFlow流技術(shù)。實(shí)現(xiàn)上二者在控制平面/轉(zhuǎn)發(fā)平面所做的事情的思想是一樣的。我們以O(shè)verlay舉例來控制平面與轉(zhuǎn)發(fā)平面的實(shí)現(xiàn)思想。
轉(zhuǎn)發(fā)平面,NaaS是為每一個(gè)用戶提供用戶隔離的網(wǎng)絡(luò)服務(wù),一般使用標(biāo)簽來隔離,如傳統(tǒng)的vlan,但它需要修改物理交換機(jī),部署麻煩。于是,后來一般使用overlay技術(shù),如gre, vxlan,nvgre, Geneve, stt,mpls over udp/gre等,同樣使用標(biāo)簽segmention id來隔離用戶網(wǎng)絡(luò)流量,即通過自定義二層幀,通過UDP或QUIC或TCP Fast Open或IP或者別的什么上層協(xié)議傳送到遠(yuǎn)端,再由遠(yuǎn)端解析這個(gè)自定義幀。這個(gè)幀是自定義的,所以格式就五花八門,于是,市場上就出現(xiàn)了眾多的SDN產(chǎn)品,但其技術(shù)本質(zhì)都是差不多的。于是,有人就想統(tǒng)一這個(gè)幀的格式,于是就有了Geneve。overlay的本質(zhì)有兩個(gè)頭,一個(gè)是外部管理網(wǎng)段的頭,一個(gè)是內(nèi)部租戶網(wǎng)段的頭,這樣天然為IPv4實(shí)現(xiàn)了NAT之類的網(wǎng)絡(luò)地址轉(zhuǎn)換。
Overlay網(wǎng)絡(luò)可以分為兩層,一是物理網(wǎng)絡(luò),一是構(gòu)建在物理層上的虛擬overlay網(wǎng)絡(luò)。(it外包)
物理網(wǎng)絡(luò)不需要和用戶信息關(guān)聯(lián),它只是負(fù)責(zé)提供一個(gè)IP矩陣實(shí)現(xiàn)所有物理設(shè)備之間的單播IP可達(dá)性,并提供segmention id功能實(shí)現(xiàn)租戶隔離。而虛擬overlay網(wǎng)絡(luò)則會(huì)包含租戶的信息,即類似于VPN為每一個(gè)租戶都生成自己的路由信息,也叫轉(zhuǎn)發(fā)路由實(shí)例(VRF),例如在MPLS主干網(wǎng)上的流量在IP地址前都會(huì)添加一個(gè)全局唯一的路由標(biāo)志符(Route Distinguisher, RD)形成唯一的VPN-IPv4地址來識(shí)別不同租戶的流量。PE路由器不應(yīng)該交換全網(wǎng)所有租戶的路由,所以通過手工設(shè)定路由目標(biāo)(Route Targe, RT)來設(shè)置從CE路由器向PE路由器導(dǎo)入導(dǎo)出哪些路由。只有所帶RT標(biāo)記與VRF表中任意一個(gè)Import RT相符的路由才會(huì)被導(dǎo)入到VRF表中。RT使得PE路由器只包含和其直接相連的VPN的路由,而不是全網(wǎng)所有VPN的路由,從而節(jié)省了PE路由器的資源,提高了網(wǎng)絡(luò)拓展性。
控制平面,那么導(dǎo)入導(dǎo)出哪些路由完全可以由上層控制平面通過規(guī)則來設(shè)定,這種通過路由方式將虛機(jī)流量導(dǎo)流到底層IP隧道矩陣的做法天然將廣播隔離在了一個(gè)節(jié)點(diǎn)上,可以省略像Neutron DRV ARP responser特性。也可以天然地讓計(jì)算節(jié)點(diǎn)也具備三層功能隨意設(shè)置局域隔離的網(wǎng)關(guān)(fan, opencontrail都是這么干的)。這層還要做地址學(xué)習(xí)功能。
對(duì)于openflow來說,控制平面應(yīng)該集中全局的VM, PORT, CONTROL, SWITCH的映射拓?fù)潢P(guān)系,這樣便可以計(jì)算給不同CONTROL上的不同SWITCH上的不同的PORT上的VM下發(fā)合適的流表(dragonflow就是這么干的)。還可以在邊緣出口路由器處運(yùn)行Quagga等動(dòng)態(tài)路由協(xié)議通過BGP或iBGP收集到動(dòng)態(tài)路由結(jié)合ARP路由通過一些規(guī)則轉(zhuǎn)換成流表,如下列是RouteFlow的轉(zhuǎn)換規(guī)則:
Route =IP + MASK [Rede]+IP[Gateway]+Interface
ARP= IP[Host]+MAC[Host]+Interface
路由表轉(zhuǎn)換成流表:
Match: DST_MAC + DST_IP + SUBNET_MASK
Actions:
Re-Write [SRC_MAC (Interface)], Re-Write [DST_MAC (Nexthop)]
Forward [Port-out(Interface)]
在數(shù)據(jù)轉(zhuǎn)發(fā)平面方面的性能方面,可以采用用戶態(tài)協(xié)議棧,通過DPDK在用戶態(tài)直接操作硬件網(wǎng)卡,并且構(gòu)建用戶態(tài)socket供上層調(diào)用。還可以引入Linux 4.x switchdev避免二層交換時(shí)引發(fā)CPU中斷從而為SR-IOV網(wǎng)卡提供交換加速功能。
所有SDN產(chǎn)品的大致思想都脫離不了上面的點(diǎn)。現(xiàn)在對(duì)照它,我們可以發(fā)現(xiàn)Neutron有很多不足之處:
先說nova-network, 它的multi-host功能可以讓每一個(gè)計(jì)算節(jié)點(diǎn)同時(shí)具備網(wǎng)絡(luò)三層功能,我們知道,一個(gè)子網(wǎng)是不能出現(xiàn)相同IP的網(wǎng)關(guān)的,而多個(gè)計(jì)算節(jié)點(diǎn)是可能出現(xiàn)相同子網(wǎng)的虛機(jī)的。所以對(duì)于multi-host而言對(duì)于同一個(gè)子網(wǎng)每一個(gè)計(jì)算節(jié)點(diǎn)上網(wǎng)關(guān)的IP都是不一樣的,這樣簡化了設(shè)計(jì),但是問題是浪費(fèi)了IP地址。
Neutron的DVR可以干同樣的事情,每一個(gè)計(jì)算節(jié)點(diǎn)上相同子網(wǎng)的網(wǎng)關(guān)都是相同的,但是通過流表來確保這個(gè)網(wǎng)關(guān)局部隔離。缺點(diǎn)是這種設(shè)計(jì)實(shí)現(xiàn)復(fù)雜度較高。
kubernetes則是事先假設(shè)每一個(gè)計(jì)算節(jié)點(diǎn)使用不重復(fù)的子網(wǎng),這樣也就避免了計(jì)算節(jié)點(diǎn)上出現(xiàn)相同子網(wǎng)網(wǎng)關(guān)的問題,簡化了設(shè)計(jì)。
Neutron為二層提供了ML2插件來支持不同廠商的二層設(shè)備,在三層沒有提供插件只提供了一個(gè)L3-agent來支持三層設(shè)備,在四到七層提供了高級(jí)服務(wù)框架來支持不同的網(wǎng)絡(luò)服務(wù)。其缺點(diǎn)有:
北向API層做得太爛,如ACL,如QoS,如VPN等高級(jí)服務(wù)的API始終做不好或者因?yàn)橛写倘兜拇a評(píng)審機(jī)制而發(fā)展滯后。
分得層數(shù)太多,尤其是將二層和三層分開了,這樣不利于讓所有節(jié)點(diǎn)同時(shí)具備三層功能。特別對(duì)于一些不分層的新興網(wǎng)絡(luò)技術(shù)如SDN是不適合的。二層和三層插件應(yīng)該合并適應(yīng)于SDN技術(shù)。
三層沒有插件,只有一個(gè)l3-agent。應(yīng)該有插件結(jié)構(gòu),支持不同廠商的三層設(shè)備,特別是一些支持ACL的三層設(shè)備,支持跨廣域網(wǎng)的三層支持如MPLS VPN等.(北京it外包)
四到七層的服務(wù)鏈功能做得不好,同時(shí),它的API只適合傳統(tǒng)的基本iptables服務(wù)鏈插入模型,不適合SDN基于流表的服務(wù)模型。
SDN的本質(zhì)是數(shù)據(jù)轉(zhuǎn)發(fā)平面與集中控制平面相分離,數(shù)據(jù)轉(zhuǎn)發(fā)這塊主要是基于新興的openflow流以及基于overlay隧道技術(shù),但其技術(shù)本質(zhì)也是一樣的。overlay會(huì)對(duì)二層數(shù)據(jù)幀進(jìn)行自定義,我們可以隨心所欲地改寫,添加兩個(gè)包頭,一個(gè)是內(nèi)部包頭對(duì)應(yīng)虛機(jī)網(wǎng)段,一個(gè)是外部包頭對(duì)應(yīng)管理網(wǎng)段,天然進(jìn)行內(nèi)外網(wǎng)的網(wǎng)絡(luò)地址轉(zhuǎn)換。overlay層只負(fù)責(zé)通過隧道進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),另外,其隧道最好是支持segmention id的有利于租戶間的隔離。控制平面首先要是集中的,它會(huì)記錄網(wǎng)絡(luò)和租戶間的對(duì)應(yīng)關(guān)系,通過提供一些規(guī)則容易通過上面控制底層的流量轉(zhuǎn)發(fā),如虛機(jī)出來的流量如何進(jìn)入隧道,如果是經(jīng)過路由那可以通過路由將廣播只限制在一臺(tái)物理機(jī)上,也可以像VPN一樣針對(duì)每個(gè)用戶建立路由轉(zhuǎn)發(fā)實(shí)例,也可以像DVR一樣直接響應(yīng)需機(jī)的ARP請(qǐng)求和地址學(xué)習(xí)等。
艾銻無限是中國領(lǐng)先IT外包服務(wù)商,專業(yè)為企業(yè)提供IT運(yùn)維外包、電腦維護(hù)、網(wǎng)絡(luò)維護(hù)、網(wǎng)絡(luò)布線、辦公設(shè)備維護(hù)、服務(wù)器維護(hù)、數(shù)據(jù)備份恢復(fù)、門禁監(jiān)控、網(wǎng)站建設(shè)等多項(xiàng)IT服務(wù)外包,服務(wù)熱線:400-650-7820 聯(lián)系電話:010-62684652 咨詢QQ1548853602 地址:北京市海淀區(qū)北京科技會(huì)展2號(hào)樓16D,用心服務(wù)每一天,為企業(yè)的發(fā)展提升更高的效率,創(chuàng)造更大的價(jià)值。
更多的IT外包信息盡在艾銻無限http://m.maosdadas.net
相關(guān)文章