網路是用物理鏈路將各個孤立的作業站或主機相連在一起,組成資料鏈路,從而達到資源共享和通信的目的,通信是人與人之間通過某種媒體進行的資訊交流與傳遞,網路通信是通過網路將各個孤立的設備進行連接,通過資訊交換實作人與人,人與計算機,計算機與計算機之間的通信,
網路通信中最重要的就是網路通信協議,當今網路協議有很多,局域網中最常用的有三個網路協議:MICROSOFT的NETBEUI、NOVELL的IPX/SPX和TCP/IP協議,應根據需要來選擇合適的網路協議,
- 第一,會從身邊經常見到的事情出發,用講故事的方式來講解各種協議,然后慢慢擴大到不熟悉的領域,例如,每個人都會使用查看I地址的命令,我們就從這個命令開始,展開講解一些相關概念,每個人都在大學宿舍組過簡單的網路來打游戲,我們就從宿舍網路涉及的最簡單的網路概念開始講,然后說到辦公室網路,再說到日常常用的與上網、購物、視頻下載等活動相關的網路協議,最后才說到最陌生的資料中心,說到這里的時候,很多概念已經在前面的“宿舍”和“辦公室”的例子中都出現過,因此更容易接受和理解,
- 第二,講解網路協議時會更加貼近使用場景,將各個層次的關系串連起來,而非孤立地講解某個概念,
- 常見的計算機網路課程往往會按照網路分層,一層一層地講,卻很少講層與層之間的關系,例如,我們在學習路由協議的時候,在真實場景中,這么多的演算法和二層是什么關系呢?和四層又是什么關系呢?再比如,我們在真實的網路通信中訪問一個網站、進行一次支付,那么在TCP三次握手的時候,IP層在干什么? MAC層在干什么?這些內容本書都會逐一講解,
- 第三,在講解完各個層次的協議之后,會講述如何在當前熱門領域(比如云計算、容器和微服務)中使用這些協議,
- 通過學習本書,讀者一方面可以了解這些網路協議的真實應用場景,另一方面也可以通過上手使用云計算、容器、微服務來進一步加深對于網路協議的理解,
由于文章篇幅太長,無法全部展示出來,需要完整版的朋友添加小助理即可獲取
內容章節
第1章通信協議概述.
1.1為什么要學習網路協議
相信大家都聽過通天塔的故事,上帝為了阻止人類聯合起來,讓人類說不同的語言,人類沒法溝通,達不成“協議”,通天塔的計劃就失敗了,

1.2網路分層的真實含義
由于長時間從事計算機網路相關的作業,我發現計算機網路有一個顯著的特點,就是這是一個不僅需要背誦,而且特別需要將原理爛熟于胸的學科,很多問題看起來懂了,但是就怕細問,一問就發現你懂得沒有那么透徹,

1.3ifconfig:熟悉又陌生的命令列
當面試者聽到這個問題的時候,常常會覺得走錯了房間,我面試的是技術崗位啊,怎么問這么簡單的問題?

1.4 DHCP與PXE:IP地址是怎么來的,又是怎么沒的
上一節,我們講了IP地址的一些基本概念,如果需要和其他機器通信,就需要一個通信地址,我們需要給網卡配置一個IP地址,

第2章︰從二層到三層
2.1從物理層到MAC層:如何在宿舍里自己組網玩聯機游戲
上一章我們見證了IP地址的誕生,或者說是整個作業系統的誕生,一旦機器有了I地址,就可以在網路環境里和其他的機器展開溝通了,

2.2交換機與VLAN:辦公室太復雜,我要回學校
上一節,我們在宿舍里組建了一個本地的局域網,大家可以愉快地一起玩游戲了,宿舍是一個非常簡單的場景,本節讓我們切換到一個稍微復雜一點的場景——辦公室,

2.3ICMP與ping:投石問路的偵察兵
無論是在宿舍,還是在辦公室,或者運維一個資料中心,我們常常會遇到網路不通的問題,那臺機器明明就在那里,你甚至都可以通過機器的終端連上去看,它看著好好的,可是就是連不上網,究竟是哪里出了問題呢?

2.4世界這么大,我想出網關:歐洲十國游與玄奘西行
前幾節主要講了宿舍里和辦公室里用到的網路協議,你已經有了一些基礎,是時候去外網逛逛了!

2.5路由協議:“西出網關無故人”“敢問路在何方”
俗話說得好,在家千日好,出門一日難,包一旦出了網關,就像玄奘西行—樣踏上了江湖漂泊的路,
上一節我們描述的是一個相對簡單的情形,跑出了網關之后,只有一條路可以走,但是,網路世界復雜得多,一旦出了網關,會面臨很多路由器,有很多條道路可以選,如何選擇一個最便捷的道路去求取真經呢?這里面還有很多門道可以講,

第3章最重要的傳輸層
3.1UDP:雖然簡單但是可以定制化
講完層以后,接下來我們開始講傳輸層,在1.1節中已經講過,傳輸層里比較重要的兩個協議,一個是TCP,一個是UDP,對不從事底層開發或者應用開發的人來講,最常用的就是這兩個協議,面試時,這兩個協議經常會被放在一起問,因而在本書中也會將兩者結合起來講,
3.2TCP(上):雖然復雜,使用起來卻輕松

3.2Tcp (上):雖然復雜,使用起來卻輕松
3.1節講了UDP,UDP包中基本上包括了傳輸層必需的埠欄位,就像我們小時候一樣簡單,相信“網”之初,性本善,不丟包,不亂序,

3.3TCP(下):西行必定多妖孽,恒心智慧消磨難
我們前面說到玄奘西行,要出網關,既然出了網關,那就要在公網上傳輸資料,公網往往是不可靠的,因此需要很多機制去保證傳輸的可靠性,這時就需要各種重要的策略來堅定西行的恒心,還需要大量的演算法來作為西行的智慧儲備,

3.4 socket:Talk is cheap, show me the code
前面講完了TCP和UDP,還沒有上手實踐過,這一節就講一講基于TCP和UDP的socket(套接字)編程,

第4章最常用的應用層
4.1HTTP:看個新聞原來這么麻煩
前面講述完傳輸層,接下來開始講應用層的協議,就從最常用的HTTP開始講起,
HTTP幾乎是每個人上網用的第一個協議,同時也是很容易被忽略的協議,
既然本節要講看新聞,咱們就先登錄某新聞網站http://www. 決命.com,

4.2HTTPS:點外賣的程序原來這么復雜
用HTTP看個新聞沒有問題,但是換到更加嚴肅的場景中,就存在很多的安全風險,例如你要下單做一次支付,如果還是使用普通的HTTP,那你很可能就會被黑客盯上,

4.3流媒體協議:如何在直播里看到帥哥美女
最近直播比較火,很多人都喜歡看直播,一個直播系統里面都有哪些組成部分,都使用了什么協議呢?
無論是直播還是點播,其實都是對視頻資料的傳輸,一提到視頻,大家都愛看,但是一提到視頻技術,大家都頭疼,因為名詞實在是太多了,

4.4P2P協議:下載電影,分布式協議速度快
如果你想下載一個電影,一般會通過什么方式呢?
當然,最簡單的方式就是通過HTTP進行下載,但是相信你有過這樣的體驗,通過瀏覽器下載的時候,只要檔案稍微大點,下載的速度就奇慢無比,

第5章陌生的資料中心
5.1 DNS:網路世界的地址簿
前面我們講了平時常見的看新聞、支付、直播、下載等場景,現在網站的數量非常多,常用的網站就有二三十個,如果全部通過I地址進行訪問,恐怕很難記住,因此,我們需要一個地址簿,根據網站名稱就可以查看具體的地址,
例如,“西湖邊的‘外婆家’”就是名稱,通過地址簿,我們可以查看它到底位于哪條路,門牌號是多少號,

5.2HTTPDNS:網路世界的地址簿也會指錯路
上一節我們知道了DNS的兩項功能,第一項功能是根據網站名稱查到具體的IP地址,另一項功能是針對多個地址做負載均衡,而且可以在多個地址中選擇一個距離近的地址訪問,

5.3CDN:你去小賣部取過快遞嗎

5.4資料中心:我是開發商,自己拿地蓋別墅
無論是看新聞、下訂單、看視頻,還是下載檔案,最終的訪問目的地都是資料中心,我們前面學了這么多與網路協議相關的知識,你是不是很好奇資料中心究竟長什么樣呢?

5.5VPN:朝中有人好做官
前面我們講到了資料中心,資料中心里面很復雜,有的公司有多個資料中心,需要將多個資料中心連接起來,或將辦公室和資料中心連接起來,此時該怎么辦呢?

5.6移動網路:去巴塞羅那,手機也上不了“臉書”
前面講的都是電腦上網的場景,那使用手機上網有什么不同呢?

第6章是云計算中的網路
6.1云中網路:自己拿地成本高,購買公寓更靈活
在5.4 節中,我們知道了資料中心里面堆著一大片一大片的機器,相互之間用網路連接,如果機器數量非常多,那么維護起來還是挺麻煩的,有好多不靈活的地方,比如以下幾點,

6.2軟體定義網路:共享基礎設施的小區物業管理辦法
上一節我們了解了使用原生的VLAN和Linux網橋的方式來進行云平臺的管理,但是這種方式在靈活性、隔離性方面都略顯不足,而且整個網路缺少統一的視圖、統一的管理,

6.3云中網路之安全:雖然不是土豪,也需要基本保障
上一節我們看到,做一個小區物業維護一個大家共享的環境,還是挺不容易的,如果大家都是自覺遵守規則的住戶還好,如果遇上不自覺的住戶就會很麻煩,

6.4云中網路之QoS:室友瘋狂下電影,我該怎么辦

6.5云中網路之隔離GRE、VXLAN:雖然住一個小區,也要保護隱私
對于云平臺中的隔離問題,前面用的策略-直都是VLAN,但是我們也說過這種策略的問題:VLAN只有12位,4096個,雖然當時設計時看起來夠用,但是現在已經絕對不夠用了,那么該怎么辦呢?

第7章容器技術中的網路
7.1容器網路:來去自由的日子,不買公寓去合租

7.2容器網路之Flannel:每人一畝三分地

7.3容器網路之Calico:為了高效說出善意的謊言
7.2節我們講了Flannel如何解決容器跨主機互通的問題,這個解決方式其實和虛擬機的網路互通模式是差不多的,都是通過隧道進行的,但是Flannel有一個非常好的模式,就是給不同的物理機設定不同的網段,這一點和虛擬機的Overlay模式完全不一樣,在虛擬機的場景下,整個網段在所有的物理機之間都是可以“飄來飄去”的,網段不同,就給了我們做路由策略的可能,

7.4 RPC概述:遠在天邊,近在眼前
前面我們講了容器網路如何實作跨主機互通,以及微服務之間的相互呼叫,

第8章有微服務相關協議
8.1基于XML的SOAP:不要說NBA,請說美國職業籃球聯賽
7.4節我們講了RPC 的經典模型和設計要點,并以早期的ONC RPC為例,詳述了具體的實作,

8.2基于JSON的RESTful介面協議:我不關心程序,請給我結果
8.1節我們講了基于XML的SOAP,SOAP中S的意思是Simple,但是好像一點兒都不簡單啊!
你會發現,對于SOAP來講,無論XML中呼叫的是什么函式,多是通過HTTP 的POST方法發送的,但是之前學習HTTP時,我們知道HTTP除了POST,還有PUT、DELETE、GET等方法,這些也可以是一個個動作,而且基本滿足增刪查改的需求——增POST、刪DELETE、查GET、改PUT,

8.3二進制類RPC協議:還是叫NBA吧,總說全稱多費勁
前面講了兩個常用文本類的RPC協議,陌生人之間的溝通,用NBA、CBA這樣的縮略語,會使協議約定非常不方便,

8.4跨語言類RPC協議:交流之前,雙方先交換一下專業術語表
到目前為止,我們已經講解了4種RPC協議,分別是ONC RPC、基于XML的SOAP、基于JSON的RESTful和Hessian2,

第9章網路協議知識串講
9.1知識串講:用“雙11”的故事串起網路協議的碎片知識(上)
基本的網路知識都講完了,還記得最初舉的那個“雙11”下單的例子嗎?本章會詳細地講解這個程序,用這個程序將我們講過的網路協議知識連貫起來,

9.2知識串講:用“雙11”的故事串起網路協議的碎片知識(中)
上一節我們講到,手機App經過了一個復雜的程序,終于拿到了電商網站的SLB的IP地址,是不是該下單了?

9.3知識串講:用“雙11”的故事串起網路協議的碎片知識(下)
上—節我們封裝了一個長長的網路包,“大炮”準備完畢,開始發送,

9.4搭建一個網路實驗環境:授人以魚不如授人以漁.
網路是一門實驗性很強的學科,就像我經常說的一樣:一看覺得懂,一問就打鼓,一用就糊涂,在本書寫作程序中,我自己也深深體會到了,這個時候,我常常會拿一個現實的環境上手操作一下,抓個包看看,這樣心里就會有定論,

因為這本書內容實在是太多了!沒有辦法給大家全部展示出來了,需要獲取的小伙伴可以直接點贊+關注后添加小助理即可免費獲取以上筆記

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/144165.html
標籤:其他

