網(wǎng)絡(luò )工程師需要學(xué)習新技能和使用自動(dòng)化工具才能適應軟件定義網(wǎng)絡(luò )(SDN)的工作環(huán)境。
聽(tīng)起來(lái)似乎很難,但是網(wǎng)絡(luò )工程師都很聰明。我們往往必須處理一些大型復雜網(wǎng)絡(luò ),它們有越來(lái)越多的功能,并且是用數量更多的命令實(shí)現的。因此,千萬(wàn)不要認為我們自己學(xué)不會(huì )其他一些能幫助我們簡(jiǎn)化工作和優(yōu)化網(wǎng)絡(luò )運行的技能。設想一下你還不需要編程呢!看一下復雜的網(wǎng)絡(luò )配置。它是靠編程實(shí)現的,但是它以分布式的形態(tài)存在,因此要比一般的軟件系統更難維護。
要接受這個(gè)挑戰,學(xué)習網(wǎng)絡(luò )工程師技能,然后每天學(xué)習多一點(diǎn),就像你在管理網(wǎng)絡(luò )一樣。
故障修復技能
網(wǎng)絡(luò )工程師的故障修復技能是很優(yōu)秀的,并且仍然會(huì )繼續發(fā)揮重要作用。然而,SDN要求他們提升一下自己的技能。網(wǎng)絡(luò )會(huì )變得越來(lái)越動(dòng)態(tài),因此他們需要自動(dòng)化系統和新工具去實(shí)時(shí)收集和分析必要的數據。由于應用程序驅動(dòng)著(zhù)網(wǎng)絡(luò )的變更,因此工程師必須更熟悉API,檢查SDN日志,將變化與問(wèn)題癥狀相關(guān)聯(lián)。這個(gè)過(guò)程和我們以前知道的故障問(wèn)題修復過(guò)程并沒(méi)有太大的差別。唯一的不同是這些故障修改技術(shù)會(huì )變得越來(lái)越普遍。網(wǎng)絡(luò )工程師應該學(xué)習一些比ping、traceroute和“show configuration”更高級的工具。
基本的軟件工具技能
要學(xué)習如何駕馭一個(gè)好的文本編輯器。許多編輯器的命令多到難以全部記住,因此不要試圖記住所有東西。要關(guān)注于一些基本功能:鼠標在字符、行、單詞和段落間的移動(dòng);文字修改和復制功能;以及文件保存和關(guān)閉功能。一旦熟悉了這些基本功能,就要增加多窗口命令和宏來(lái)提高生產(chǎn)力。只需要學(xué)習幾個(gè)小時(shí),我們就可以用少量的命令實(shí)現較高的生產(chǎn)效率。
要通過(guò)學(xué)習一些Linux操作系統經(jīng)驗來(lái)繼續提升自己的網(wǎng)絡(luò )工程師技能。許多新硬件平臺(思科NX-OS、Arista EOS和Cumulus OS)都使用Linux作為控制系統。要學(xué)習基本的文件系統結構,因為這是系統配置文件所在的地方,并且也要學(xué)習如何修改文件系統結構。首先要關(guān)注于修改網(wǎng)絡(luò )參數,啟用或禁用服務(wù)器進(jìn)程(DHCP客戶(hù)端和服務(wù)器模式),通過(guò)SSH連接Linux命令行接口(CLI),以及執行正確的Linux關(guān)機操作。要學(xué)習如何創(chuàng )建和修改cron作業(yè),這樣就可以編寫(xiě)一些腳本按指定的時(shí)間重復執行。學(xué)習Linux必須掌握基本的Bash腳本編程。
學(xué)習SDN中一種常用編程語(yǔ)言的軟件開(kāi)發(fā),如Java、Python或C/C++等。一種語(yǔ)言的概念和技能通常可以觸類(lèi)旁通地應用到其他語(yǔ)言上。Python是一種很容易學(xué)習的腳本語(yǔ)言。它具有面向對象功能,它可以幫助我們學(xué)習編程方法,但是我們不一定要從這個(gè)語(yǔ)言開(kāi)始著(zhù)手學(xué)習。要學(xué)習如何使用管道命令將多個(gè)小工具和腳本整合在一起來(lái)完成更大的任務(wù)。一個(gè)好例子就是重命名大量的文件,例如刪除“。txt”后綴并添加“。cfg”后綴。
最后,大多數開(kāi)源項目都使用Git來(lái)維護它們的代碼,因此一定要學(xué)習如何它來(lái)存儲、獲取和存檔軟件項目。每一個(gè)項目通常帶有一個(gè)開(kāi)發(fā)者郵件列表,從中可以跟蹤軟件更新,并且通常還有一個(gè)關(guān)于軟件使用的用戶(hù)郵件列表。
自動(dòng)化技能
這是一個(gè)大科目,因為它包含了文化改變。網(wǎng)絡(luò )工程師已經(jīng)學(xué)會(huì )了如何通過(guò)編程一次處理一個(gè)設備的網(wǎng)絡(luò )。現在他們需要改變自己配置、監控和管理網(wǎng)絡(luò )的方式。大多數網(wǎng)絡(luò )團隊似乎都在抵觸自動(dòng)化,因為他們害怕一個(gè)小錯誤就能把網(wǎng)絡(luò )破壞到無(wú)法在逐個(gè)設備上使用CLI將它修復回正常狀態(tài)。
可以從實(shí)現自動(dòng)的設備配置檢查開(kāi)始,使用網(wǎng)絡(luò )變更與配置管理(NCCM)系統自動(dòng)地檢查所有網(wǎng)絡(luò )設備上正確配置的功能。首先,保證所有設備的簡(jiǎn)單網(wǎng)絡(luò )管理協(xié)議(SNMP)和AAA配置與模板相匹配。然后,檢查特定類(lèi)型設備的配置,如核心路由器或接入交換機。(注意:參見(jiàn)《設備與接口標識》中關(guān)于設備與接口的分組方式。)
一旦實(shí)現自動(dòng)的設備與接口配置驗證,就可以使用自動(dòng)化系統推送配置修改。要通過(guò)執行一些簡(jiǎn)單修改(如修改密碼)來(lái)熟悉這個(gè)過(guò)程。使用自動(dòng)配置修改少數設備,然后再確定有效的前提下擴大應用范圍。如果無(wú)效,則要修復問(wèn)題,確定原因,然后再執行。一開(kāi)始時(shí),這個(gè)過(guò)程可能比手工處理還要耗費時(shí)間,但是從中獲得的自動(dòng)化經(jīng)驗可以應用到更多的功能上,然后很快就有能力使用自動(dòng)化部署所有的配置修改。
SDN會(huì )將自動(dòng)化推上一個(gè)新高度。例如,應用程序可以通知SDN控制器它的新需求,然后SDN控制器就會(huì )實(shí)現所需要的修改。理解當前發(fā)生的變化,并且熟悉這個(gè)過(guò)程,這一點(diǎn)非常重要。
在我們獲得新的網(wǎng)絡(luò )工程師技能之后,還會(huì )遇到一些需要進(jìn)一步學(xué)習的陌生詞語(yǔ)和概念。這與學(xué)習其他的新網(wǎng)絡(luò )技術(shù)并無(wú)不同,如前門(mén)虛擬路由與轉發(fā)。但是,不用多長(cháng)時(shí)間,我們就會(huì )熟悉網(wǎng)絡(luò )自動(dòng)化和腳本編寫(xiě),感覺(jué)就像在配置傳統網(wǎng)絡(luò )一樣。