SDN可以劃分為三層,中間是控制器,用于接收控制指令來操作下面設(shè)備的程序,上層是應(yīng)用App,負(fù)責(zé)調(diào)用控制器提供的接口和數(shù)據(jù)來實現(xiàn)各種功能,間接方式來控制網(wǎng)絡(luò),底層是數(shù)據(jù)交換層。借助SDN,我們就可以直接在控制層面操作網(wǎng)絡(luò)設(shè)備,設(shè)計隨便任何各種轉(zhuǎn)發(fā)和路由的規(guī)則,設(shè)計新的網(wǎng)絡(luò)協(xié)議,提供各種各樣的服務(wù),實現(xiàn)很多的安全方案等等。
P4(Programming Protocol-Independent Packet Processors),意思是“與協(xié)議無關(guān)的數(shù)據(jù)包處理編程語言”,主要用在SDN網(wǎng)絡(luò)的數(shù)據(jù)層開發(fā),采用聲明式的編程方式來下達(dá)指令給數(shù)據(jù)轉(zhuǎn)發(fā)平面的設(shè)備(如交換機、網(wǎng)卡、防火墻、過濾器等)如何進行數(shù)據(jù)包的處理。P4的誕生無論是在軟件設(shè)計(編程、調(diào)試、代碼覆蓋、模塊檢查等)方面,還是在網(wǎng)絡(luò)系統(tǒng)的設(shè)計上都變得更加清晰和簡化。
近日Xilinx在斯坦福大學(xué)舉辦的“P4語言開發(fā)日”活動上發(fā)布了最新版本的SDNet 2017.1開發(fā)工具,兼容最新的P4開發(fā)語言規(guī)范,即通過編譯操作SDNet可以將前端的P4聲明式程序轉(zhuǎn)換為數(shù)據(jù)層的算法IP核,能夠在FPGA器件中運行,主要用于高速(1Gbps~100Gbps)數(shù)據(jù)包的處理操作。