發表於2024-11-13
1)網絡運維自動化資深專傢撰寫,8位專傢聯袂推薦,網絡工程師轉型必備指南
2)以場景與實踐驅動,涵蓋NetDevOps理念、常用工具、編程基礎、網絡運維常用Python模塊與網絡設備的數據處理等
網絡運維自動化資深專傢撰寫,8位專傢聯袂推薦,網絡工程師轉型必備指南。以場景與實踐驅動,涵蓋NetDevOps理念、常用工具、編程基礎、網絡運維常用Python模塊與網絡設備的數據處理等,注重實用性與友好性,全書分為5篇,共計14章內容。
概念篇(第1~2章),闡述NetDevOps是什麼、怎麼做、技術框架,使讀者能清晰瞭解NetDevOps能給他們帶來什麼,從何入手,如何開展NetDevOps工作。
基礎篇(第3~6章),介紹如何構建NetDevOps的工作環境以及在這些環境中的常用工具,提高讀者日常維護工作的效率與準確度。
提高篇(第7~9章),講解Linux環境編程、Python腳本編程、常用數據結構,學習開發一些在運維或者網絡規劃中能夠使用的關鍵技能。
實踐篇(第10~12章),采用案例的形式,帶領讀者掌握網絡自動化運維、網絡設計與規劃中應對高頻場景的技術與技巧,主要是網絡數據的批處理,提高處理效率。
案例篇(第13~14章),通過3個典型案例來鞏固提高NetDevOps相關知識和技能,更具體、更實用。
餘欣
思科中國資深係統工程師,近20年網絡規劃設計與運維經驗,曾先後就職於瞻博網絡、阿裏巴巴、京東金融以及博科等公司。有豐富的互聯網一綫公司的實踐經驗。擅長大規模運營商級網絡、大型園區網以及IDC網絡的規劃設計與實施。擁有CCIE、JNCIE等認證。
隨著通信技術近年來顛覆性的發展和變化,對傳統網絡技術工程師們的挑戰越來越大。作者以傳統網工成功轉型的親身經驗撰寫瞭本書,它直擊傳統網絡工程師們的痛點,是難得的兼具實用價值和實踐意義的"驚艷"之作,令人耳目一新!
--方芳,思科大中華區副總裁兼運營商&媒體廣電事業技術部總經理
網絡運維和係統運維本不是一個世界。技術棧、操作任務甚至運維價值觀都是截然不同的,一直以來涇渭分明,各自精彩。
近年來虛擬網絡的發展、SDN的興起,網絡與IT係統逐漸開始跨界融閤,而結閤部分的故障定位、全局性的問題跟蹤和優化成瞭傳統運維的新盲區;雲計算規模化的環境下,海量操作變更、復雜的關聯定位,對傳統人肉運維來說更是不可承受之痛。新的形勢下,傳統網絡運維工程師的自我救贖之路,就是本書所倡導的NetDevOps理念:補齊IT係統技術棧,掌握必要的開發語言,熟悉主流的批量運維工具和基礎服務,將自動化運維的理念延伸到網絡領域,將研發的思維模式嵌入到傳統的網絡運維動作中,將網絡運維標準化、自動化、智能化。
本書深入淺齣展示瞭NetDevOps的理念、基礎知識和*佳實踐,值得有意轉型的網絡工程師深入研究學習。
--林恩華,中國移動蘇州研發中心廣州支持中心總經理助理
網絡運維可視化、自動化和智能化的快速發展背後的本質訴求是能同時兼顧大型互聯網公司的巨大網絡規模增速和高效高質運維要求,具體又體現在人均運維效率和穩定性指標的極*追求上。每一位互聯網企業的網絡工程師都恰逢其時,有幸在網絡運維領域*領技術發展的潮頭並對各行各業中網絡技術的發展産生一定的影響。網絡運維DevOps就是網絡工程師發展的方嚮,已在大型互聯網公司深深紮根、蓬勃發展。餘欣在阿裏巴巴工作期間經曆瞭網絡工程師隊伍轉型的劇痛,並錶現齣瞭優秀的DevOps思路和能力。這本書作為網絡DevOps入門指南寫得深入淺齣,非常符閤網絡DevOps的實際工作,各種細化的小場景、小步驟非常接地氣,同時又富含DevOps的深層思想,我相信對傳統網絡工程師或初入行的網絡工程師來說深具價值,推薦給大傢研讀學習。
--劉洋,阿裏巴巴網絡係統事業部總經理
伴隨互聯網業務的高速發展,網絡規模持續快速增長,數量龐大的網絡設備産生海量的運營數據,傳統的人機交互的運維方式麵臨巨大的挑戰。NetDevOps利用DevOps的理念,推進網絡運維的自動化與智能化,給網絡運維帶來瞭轉機。本書介紹瞭NetDevOps産生的背景、發展曆程,同時係統闡述瞭NetDevOps的框架體係、工具、軟件以及基本的軟件編碼的知識,是國內難得的一本專業而又全麵講解NetDevOps技術的學習資料和參考手冊,相信希望瞭解NetDevOps的網絡同行們,能從本書中找到你們想要的。
--邵華,騰訊網絡平颱部網絡架構中心總監
在軟件工程領域中,DevOps已經由一種文化演變成廣泛落地的業務思維,將組織內的各個角色更緊密地聯係在一起以提高生産力。但是在網絡工程領域,受限於網絡工程師技術棧及運維管理定勢,如何理解NetDevOps思想進而在實際工作中更好地解決運維管理問題和新技術部署帶來的挑戰,仍存在不小的睏難。
很高興看到餘欣用簡明的語言和具體的場景將NetDevOps的方法論和實踐進行瞭係統全麵的呈現,是網絡工程師、網絡平颱開發工程師不可錯過的參考讀物。
--宋磊,百度網絡運維部技術經理
本書作者是網絡行業的資深老兵,在Cisco、Juniper這樣的網絡設備製造商工作多年,也在阿裏巴巴、京東金融的網絡部門從事實際運維工作,擁有豐富的經驗,親身經曆瞭IP網絡的爆發式增長時代。麵對*新的網絡自動化運維的趨勢,大量的傳統運維工作必須轉嚮軟件自動化的方式,新的SDN、NFV等理念,也要求網絡工程師具備軟件編程能力。很多老網工在新的挑戰麵前,會有些眼花繚亂,不知從何入手。本書分享瞭作者自身的轉型經驗及豐富的實際案例,指齣瞭一條切實可行的轉型道路,對廣大網工有非常好的參考意義。尤其是對沒有軟件編程基礎的網工,由淺入深地介紹瞭基本的概念和常用的工具,可以讓大傢少走彎路,節省很多自己去摸索試錯的時間和精力。
--王衛,原瞻博網絡大中國區總裁
由淺入深,有料清晰!作者結閤自身在多傢國際網絡設備製造商和互聯網公司的豐富經驗,為讀者指明瞭一條從網工嚮Net-Dev-Ops結閤的轉型之路。純乾貨!值得一讀!
--徐誌駿,思科大中國華東區運營商事業部技術總監
本人與作者在Brocade共事期間,我們就意識到讓老網工們快速轉型SDN工程師是不現實的,因為機器對機器的軟件接口(API)不是網工們熟知的。找到一條有實戰價值,門檻相對閤理,容易啓動的"工農結閤"的路徑就顯得格外有吸引力。當前,作為一名新一代雲網融閤服務商的CTO,團隊建設的一個重要挑戰和機會就是賦能老網工們,把建設運維實戰經驗與智慧總結形成清晰套路(算法),與專業碼農們緊密配閤,迅速實現運維排障經驗軟件化、自動化。與此同時,給網工們提供現實的發展演進路徑,在實戰項目中以商業價值目標為導嚮培養編程思維,接觸機器接口,在一個個自動化的小任務中一步步實現自己的想法,獲得真實成就感,成為新一代高度軟件化的網絡工程師、架構師和産品經理。針對這一目標,本書對NetDevOps相關的各個基礎技術領域的功能、結構和過程維度的闡述簡單直觀而又高度實戰。實驗代碼完整,注解清晰,實操容易上手,結果可以立竿見影。對數字化轉型大潮中的網工們和相關技術團隊的管理者們來說,本書不可不察。
--張宇峰,互聯港灣CTO
目錄 Contents
本書贊譽
前言
第一篇 概念篇
第1章 NetDevOps理念與要義2
1.1 從SDN開始說起2
1.1.1 OpenFlow打開瞭新的一扇窗3
1.1.2 簡單聊聊SDN控製器4
1.1.3 NFV5
1.1.4 雲和SDN6
1.1.5 SD-WAN8
1.2 NetDevOps,你需要知道的事8
1.2.1 什麼是NetDevOps8
1.2.2 NetDevOps適用環境9
1.2.3 為什麼我們需要NetDevOps10
1.2.4 NetDevOps需要什麼樣的人10
1.3 小結11
第2章 如何開始NetDevOps12
2.1 文檔內容與版本管理12
2.1.1 版本管理的重要性13
2.1.2 需要管理哪些文檔 13
2.1.3 如何實施版本管理14
2.1.4 版本管理的工具16
2.2 編程語言的選擇17
2.2.1 程序語言的選擇17
2.2.2 數據描述語言的選擇18
2.3 自動化工具的選擇22
2.3.1 Ansible22
2.3.2 Puppet23
2.3.3 Chef23
2.3.4 SaltStack24
2.3.5 如何選擇24
2.4 網絡設備的編程接口25
2.4.1 網絡設備接口的分類25
2.4.2 網絡設備編程接口的特徵27
2.5 小結29
第二篇 基礎篇
第3章 認識命令行工具32
3.1 用screen實現終端的會話管理33
3.1.1 安裝screen34
3.1.2 screen基本語法34
3.1.3 screen基本操作35
3.1.4 定製你的screen36
3.1.5 用screen連接串口36
3.1.6 管理screen的日誌38
3.1.7 多人共享一個會話38
3.2 用Telnet和SSH管理設備39
3.2.1 Telnet39
3.2.2 SSH介紹40
3.2.3 SSH的基本使用40
3.2.4 利用SSH遠程執行命令42
3.2.5 SSH客戶端常用配置44
3.2.6 使用密鑰登錄設備45
3.2.7 使用scp進行文件傳輸47
3.2.8 利用SSH 端口隧道轉發功能48
3.2.9 利用SSH做Socket代理50
3.3 小結50
第4章 Linux下的一些常用工具52
4.1 SNMP53
4.1.1 SNMP簡介53
4.1.2 常見設備的SNMP配置54
4.1.3 SNMP工具56
4.2 網絡可達性檢測工具58
4.2.1 Nmap59
4.2.2 Nping62
4.2.3 iPerf63
4.2.4 Fping64
4.3 MTR65
4.4 其他工具66
4.4.1 watch66
4.4.2 Wget68
4.4.3 CURL68
4.5 小結69
第5章 處理網絡設備輸齣的文本70
5.1 正則錶達式基礎70
5.1.1 正則錶達式到底是什麼71
5.1.2 單字符的匹配71
5.1.3 多字符的匹配與次數匹配75
5.1.4 在網絡設備上的正則錶達式77
5.2 使用grep進行搜索與獲取信息78
5.2.1 什麼是grep78
5.2.2 命令選項的解釋78
5.2.3 匹配控製80
5.2.4 輸齣結果控製81
5.2.5 輸入控製83
5.3 使用awk進行文本處理84
5.3.1 認識一下awk84
5.3.2 awk的執行方式與語法84
5.3.3 截取部分信息85
5.3.4 使用內置變量86
5.3.5 對特定內容進行統計分析86
5.3.6 多文件操作88
5.4 使用sed 進行文本編輯89
5.4.1 什麼是sed89
5.4.2 sed語法簡介89
5.4.3 刪除文件中的指定信息90
5.4.4 在文件中進行查找替換91
5.4.5 在文件中插入內容92
5.5 文本編輯工具vi和vim92
5.5.1 vi和vim簡介92
5.5.2 vim編輯器的模式93
5.6 小結97
第6章 常用基礎服務搭建99
6.1 Docker基礎100
6.1.1 什麼是Docker100
6.1.2 Docker的基本概念101
6.1.3 Docker的運行環境104
6.1.4 啓動Docker鏡像105
6.1.5 構建Docker鏡像106
6.2 TFTP服務器110
6.2.1 定製一個TFTP服務鏡像111
6.2.2 啓動一個TFTP服務器的容器112
6.2.3 服務的檢查112
6.3 DNS 服務器113
6.3.1 構建DNS鏡像113
6.3.2 啓動和配置DNS114
6.3.3 用DNS記錄設備的接口與IP的對應關係115
6.4 搭建DHCP服務器118
6.4.1 構建DHCP鏡像119
6.4.2 啓動和配置DHCP服務120
6.5 小結121
第三篇 提高篇
第7章 Linux編程基礎124
7.1 Bash編程基礎124
7.2 第一個Bash程序125
7.3 變量126
7.4 數組128
7.4.1 定義數組128
7.4.2 數組取值129
7.4.3 獲取數組的長度129
7.4.4 截取數組的內容130
7.4.5 替換元素中的內容130
7.4.6 刪除數組中的元素或者數組130
7.5 運算符131
7.5.1 算術運算符131
7.5.2 位運算符132
7.5.3 自增/自減運算136
7.6 測試136
......
前 言 Preface
為什麼要寫這本書
清晨,我們做的第一件事是什麼?睜開眼。睜開眼看手機裏的朋友圈是否有更新,昨晚下的單是否已經安排送貨,今天的天氣是否依舊晴朗。而這些信息的更新都是通過互聯網傳遞到你的手機上。在很多人眼裏,手機有電而沒有網絡是一件非常痛苦的事情。互聯網在中國的發展也就是20來年的事,但它已經滲透到瞭我們工作、學習和生活的方方麵麵。網絡是新時代的基礎設施,無論上麵有多麼豐富多彩的應用軟件,它們都離不開網絡。這些年,應用軟件的迭代速度非常快。而網絡在這幾十年中卻沒有發生多大的變化(雖然網絡帶寬一直在指數級增長)。特彆是網絡工程師們日常的工作似乎還是和10年前甚至20年前一樣。雖然,這幾年SDN(Software Defined Networks)在快速發展,但是物理網絡仍然沒有發生多大的變化。大量的網絡工程師還是通過Telnet或SSH登錄到網絡設備上,然後一條一條地敲擊各種各樣的命令。應用軟件越來越多,應用軟件生命周期越來越短。這對網絡提齣瞭很多的挑戰,網絡工程師的工作壓力也是直綫上升。這幾年隨著上層應用DevOps思想的發展,網絡自動化的需求也在不斷提升。那些安分守己的傳統網絡工程師麵臨著轉型的痛苦。
我是一個和網絡打交道20來年的傳統網絡工程師,但我一直是一個不安分守己且會偷懶的人。早在我大學期間,為瞭和同寢室的同學一起玩一款叫“紅色警戒”的遊戲而接觸瞭網絡。從兩颱電腦之間使用串口互聯進行對戰,到使用同軸電纜後8個同學可以在一個地圖中互相廝殺,再到1999年通過雙絞綫接入互聯網。那個時候,幾個寢室的雙絞綫都匯聚到瞭我們寢室,我不知不覺也成瞭96級化學係的網絡管理員。日常的“工作”就是幫同學看看網絡怎麼不通瞭;誰的IP地址又和誰衝突瞭;如何從其他同學的電腦裏復製一些電腦遊戲等。活脫脫就是一個小型網吧的工作人員。隨著1999年學校寢室接入瞭互聯網,齣於對“工作”的熱情,我開始用Linux自己搭建一些服務,比如DHCP、DNS、FTP、BBS等。慢慢又乾起瞭係統管理員的“工作”。
在韆禧年(2000年)的畢業季,我的第一份工作是在一傢大型的紡織公司做係統管理員和DBA。這份工作和化學沒有任何的關係。而日常的工作就是幫助新員工開賬號,每天備份那些數據庫的數據到磁帶中。為瞭減少自己日常的工作就開始寫一些自動化的腳本。其實,當時就是為瞭每天能偷點懶。開一個賬號,懶得去點那麼多次的鼠標。每天的備份任務,懶得去一個個地核對和比較,而是讓腳本自己去核對,自己去比較,然後把檢查後的結果發送E-mail給我。
2003年考完CCIE後到一傢為中國電信服務的係統集成公司。在這傢公司有幸參與瞭中國電信CN2(ChinaNet2)的建設工作。在網絡建設的初期有大量的設備配置需要增加和修改。純手工的操作讓我覺得痛苦不堪,此時又萌生瞭“偷懶”的思想。我開始用Python、Perl等語言寫瞭一些腳本用於設備配置的生成和修改。當時設備並沒有豐富的API接口,大部分都是用Telnet模擬登錄來操作設備。
2007年我進入瞭Juniper工作,在這裏接觸瞭更多的網絡自動化的內容,也寫瞭很多自動化腳本來操作網絡設備。比如,2008年考完JNCIE後,有幸做瞭一年多的中國區JNCIE考官。JNCIE的考官除瞭要發捲子外,還需要負責給考生判捲。也是為瞭“偷點懶”寫瞭一些自己用的腳本提高判捲的效率。2009年開始學習JUNOScript(一種可以運行在JUNOS上的腳本語言),用JUNOScript來實現一些特殊的功能或者對命令進行重新格式化的輸齣。2010年後由於需要經常參加設備的測試,開始使用Python等語言對JUNOS設備基於NETCONF協議進行操作。
2014年到2016年,我先後在兩傢互聯網公司做網絡工程師,負責網絡的規劃與運維工作。由於互聯網公司自身的産品迭代速度很快,對網絡的適配性也提齣瞭更多的需求。雖然在互聯網公司有很多的程序員,但大部分的程序員對網絡和網絡設備的理解遠遜於網絡工程師。這就導緻瞭網絡自動化的開發工作比較難推進。因此,我結閤自己的編程能力和對網絡的理解開始用代碼去實現網絡自動化的任務。
從2016年到現在,我一直在Cisco工作。在這裏我接觸到瞭DevNet(https://developer.cisco.com)。在DevNet的網站上我看到和學習瞭很多關於基礎網絡設備的編程知識。在2016年,Cisco發布瞭思科全數字化網絡架構(思科DNA),這個平颱不僅提供瞭實現全數字化的路綫圖,而且為網絡工程師提供瞭網絡自動化和網絡安全的途徑。這個平颱的很多理念和架構為我寫這本書提供瞭很多的幫助。
在這20來年的時間裏,我積纍瞭一些使用程序來操作網絡設備的經驗。一方麵是想把這些經驗分享給大傢;另一方麵也是想幫助那些想轉型的傳統網絡工程師。這就是我寫這本書的初衷。另外,我還想告訴廣大的網絡工程師們開發一個小工具用來管理設備其實並沒有那麼難。對於我這樣一個非軟件專業的人而言並沒有覺得吃力,反而在開發中獲得瞭更多的自信,也偷瞭“懶”。
最後,希望這本書能給廣大的網絡工程師在轉型過程中帶來一些幫助,也希望大傢能少走彎路。
本書特色
首先,本書是專門針對網絡工程師而寫的。書中關於Bash和Python的基本語法部分使用瞭網絡工程師更加熟悉的內容,並且提供瞭一些網絡設備上的運行情況。
其次,本書的重點是如何編寫和網絡設備相關的代碼。因此,在書中提供瞭很多關於如何處理網絡設備輸齣的文本的例子,以及處理網絡 NetDevOps入門與實踐 下載 mobi epub pdf txt 電子書 格式
NetDevOps入門與實踐 下載 mobi pdf epub txt 電子書 格式 2024
NetDevOps入門與實踐 下載 mobi epub pdf 電子書NetDevOps入門與實踐 mobi epub pdf txt 電子書 格式下載 2024