為什么要學習網路協議
相信大家都聽過通天塔的故事,上帝為了阻止人類聯合起來,讓人類說不同的語言,人類沒法溝通,達不成“協議",通天塔的計劃就失敗了,
但是千年以后,有一-種叫“程式猿”的物種,“敲”著一種這個群體通用的語言,打造著互聯網世界的“通天塔”,如今的世界,正是因為互聯網,才連接在一起,
還記得當"Hello World!"在顯示幕上出現的時候,你激動的心情嗎?

如果你是程式員,一定看得懂上面這一段文字, 這是每一個程式員向計算機世界說“你好,世界”的方式,但是,你不一定知道,這段文字也是一種協議,是人類和計算機溝通的協議,只有通過這種協議,計算機才知道我們想讓它做什么,
為了深入理解‘網路協議’,下面就讓我們一起進入它的‘世界’吧
目錄

第1章通信協議概述

程式是如何作業的



揭秘層與層之間的關系


小結
總結一下本節的內容,理解網路協議的作業模式,有以下兩個小竅門,
- 始終想象自己是一個處理網路包的程式:如何拿到網路包,如何根據規則進行處理,如何發出去,
- 始終牢記一個原則:只要是在網路上跑的包,都是完整的,可以有下層沒上層,絕對不可能有上層沒下層,
第2章從二層到三層

第一層:物理層

第二層: MAC層



拓撲結構是怎么形成的
我們常見到的辦公室內部結構大多是一排排的桌子, 每個桌子上都有一個網口, 一排十幾個座位就有十幾個網口,一個樓層就會有幾十個甚至上百個網口,如果算上所有樓層,這個場景自然比宿舍復雜多了,哪里復雜呢?接下來會具體講解,

如何解決常見的環路問題
這樣看起來,兩個交換機作業得非常好,隨著辦公室越來越大,交換機數目肯定越來越多,整個拓撲結構就會變得復雜,這么多網線,繞來繞去,不可避免地會出現一些意料之 外的情況,比較常見的就是環路問題,
如圖2-7所示,當兩個交換機將兩個物理段同時連接起來時,你可能會覺得,這樣確保了拓撲結構的高可用性,但是卻不幸地出現了環路,出現了環路會有什么結果呢?

STP中那些難以理解的概念

IP頭和MAC頭什么時候變、什么時候不變
對于服務器發送包時IP頭和MAC頭什么時候變、什么時候不變這個問題,可以分兩種型別進行討論,我把它們稱為“歐洲十國游”和“玄奘西行”,
之前我說過,MAC地址是一個在局域網內才有效的地址,因而,MAC地址只要過網關,就必定會改變,因為已經換了局域網,“歐洲十國游”和“玄奘西行”兩者主要的區別在于包的IP地址是否改變,不改變IP地址的網關,我們稱為轉發網關;改變IP 地址的網關,我們稱為NAT ( Network Address Translation )網關,

動態路由的兩種分類

動態路由的兩個實作

第3章最重要的傳輸層

TCP頭格式

TCP的三次握手


由于內容實在太多了,避免影響到大家的閱讀體驗,就不一一展示了,只提取部分內容以供大家參考..........................
TCP四次揮手


TCP狀態機
將連接建立和連接斷開的兩個時序狀態圖綜合起來,就是著名的TCP的狀態機,如圖3-5所示,學習時建議將這個狀態機和時序狀態機對照著看,

流量控制問題


基于UDP的socket程式的函式呼叫程序

第4章最常用的應用層

HTTP請求報文的構建

HTTP回傳報文的構建
HTTP的回傳報文是有一-定格式的,也是基于HTTP1.1的,結構如圖4-3所示,

HTTP 2.0


HTTPS的作業模式
我們知道,非對稱加密在性能上不如對稱加密,那是否能將兩者結合起來呢?例如,使用非對稱加密傳輸對稱加密的密鑰,而雙方大部分的通信都通過對稱加密進行,
這當然是可以的,即HTTPS的總體思路,如圖4-10所示,

DHT

第5章陌生的資料中心

示例:通過DNS服務器訪問資料中心中物件存盤上的靜態資源
假設全國有多個資料中心,托管在多個運營商處,每個資料中心有三個可用區( AvailableZone ),物件存盤通過跨可用區部署實作高可用,在每個資料中心中,至少要部署兩個內部負載均衡器,內部負載均衡器后面對接多個物件存盤的前置服務器( Proxy-server ),下面我們以通過DNS服務器訪問資料中心中物件存盤上的靜態資源為例,看看DNS決議和負載均衡的整個程序,如圖5-3所示,各個步驟含義如下:

IPsec VPN的建立程序


2.5G網路


4G網路協議決議

異地上網問題

第6章云計算中的網路

虛擬網卡的原理
那網路是如何“騙”應用的呢?如何將虛擬機的網路和物理機的網路連接起來呢?
如圖6-1所示,首先,虛擬機要有張網卡, 對于qemu-kvm 來說,這是通過Linux系統上的一種TUN/TAP技術來實作的,

OpenFlow協議和Open vSwitch
SDN有很多種實作方式,我們來看一種開源的實作方式,


如何在云計算中使用Open vSwitch
Open vSwitch 這么牛,如何在云計算中使用呢?圖6-21是使用傳統的VLAN模式和使用Open vSwitch的一個對比圖,

控制網路的QoS有哪些方式

云中網路之隔離GRE、VXL AN:雖然住一個小區,也要保護隱私

第7章容器技術中的網路

Calico網路模型的設計思路
我們看圖7-14中的兩臺物理機,它們的物理網卡在同一個二層網路里面,由于兩臺物理機的容器網段不同,完全可以將兩臺物理機配置成為路由器,并按照容器的網段配置路由表,

RPC概述:遠在天邊,近在眼前

服務發現問題

第8章微服務相關協議

資料中心內部是如何相互呼叫的

傳輸協議問題

如何解決Dubbo的協議約定問題
服務發現問題已經通過注冊中心解決了,我們下面就來看一下Dubbo的協議約定問題,


第9章網路協議知識串講

部署一個高可用高并發的電商平臺
首先,要有個電商平臺,假設我們已經有了一個特別大的電商平臺,這個平臺應該部署在哪里呢?如果使用公有云,一般會部署在多個位置,比如華東、華北、華南,我們的電商是要服務全國的,所以部署范圍要廣,同時,我們把主站點放在華東,如圖9-1所示,


大聲告訴全世界,可以到我這里買東西
當電商應用搭建完畢之后,接下來需要將如何訪問到這個電商網站廣播給全網,
圖9-2畫的是一個可用區的情況,對于多個可用區,我們可以隱去計算節點的情況,將外網訪問區域放大,如圖9-3所示,

看上寶貝點下單,雙方開始建連接
如果你瀏覽了很多圖片,發現實在喜歡某個商品,于是決定下單購買,
電商網站針對下單的情況提供了RESTful 的下單介面,而對于下單這種需要保密的操作,要通過HTTPS進行請求,
在進行所有這些操作之前,首先要做的事情是建立連接,程序如圖9-6所示,

從資料中心進網關,公網NAT成私網
網路包從手機端經歷千難萬險,終于到了SLB的公網IP地址所在的公網網口,由于MAC地址和IP地址與之相匹配,因而網口將網路包收了進來,
如圖9-10所示,虛擬網關節點的公網網口上會有一個NAT規則,將公網IP地址轉換為VPC里面的私網IP地址,這個私網IP地址就是SLB的HAProxy所在的虛擬機的私網IP地址,

準備一個Docker的鏡像

Open vSwitch的實驗


筆記三大特點
第一,會從身邊經常見到的事情出發,用講故事的方式來講解各種協議,然后慢慢擴大到不熟悉的領域,
例如,每個人都會使用查看IP地址的命令,我們就從這個命令開始,展開講解一些相關概念,每個人都在大學宿舍組過簡單的網路來打游戲,我們就從宿舍網路涉及的最簡單的網路概念開始講,然后說到辦公室網路,再說到日常常用的與上網、購物、視頻下載等活動相關的網路協議,最后才說到最陌生的資料中心,說到這里的時候,很多概念已經在前面的“宿舍”和“辦公室”的例子中都出現過,因此更容易接受和理解,
第二,講解網路協議時會更加貼近使用場景,將各個層次的關系串連起來,而非孤立地講解某個概念,
常見的計算機網路課程往往會按照網路分層,. 一層一層地講,卻很少講層與層之間的關系,例如,我們在學習路由協議的時候,在真實場景中,這么多的演算法和二層是什么關系呢?和四層又是什么關系呢?再比如,我們在真實的網路通信中訪問一個網站、進行一次支付, 那么在TCP三次握手的時候,IP 層在干什么? MAC層在干什么?這些內容本書都會逐一講解,
第三,在講解完各個層次的協議之后,會講述如何在當前熱門領域(比如云計算、容器和微服務)中使用這些協議,
通過學習本書,讀者一方面可以了解這些網路協議的真實應用場景,另一方面也可以通過上手使用云計算、容器、微服務來進一步 加深對于網路協議的理解,
這份【趣談網路協議】檔案共有435頁,需要完整版的朋友,可以點贊此文關注小編,【見下圖】獲取!!
當然,單單有檔案看是遠遠不夠的,還有視頻和相匹配的課件進行學習提升,努力把計算機網路這一塊兒給搞明白,相信一定會有不凡的人生!!
TCP/IP/網路IO學習視頻

TCP/IP網路協議

網路IO
還有課件分享

IO課件

TCP/IP課件
TCP/IP/IO網路通信視頻和課件獲取,點贊關注小編,【見下圖】獲取!
好了,今天就分享到這里了,希望大家能夠好好學習,把計算機網路這一塊兒給提升上來,也希望本文能夠得到大家的喜歡!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/188020.html
標籤:其他


