【理論研究】漫談傳統IT基礎設施05-網絡(上)

*#部分如果實在啃不動,可以跳過,先看後面的網絡實戰演練部分,等到有一定感覺了,再回頭回來研究OSI七層模型。

關於網絡的話題,詳細探討起來可以直接寫成一本書,那本書就叫做《計算機網絡》。

叫《計算機網絡》的書籍一抓一大把,都有一個通病就是隻講理論,不說實操,並且還兼備磚家的通病~~不說人話。(所以我推薦CISCO的教程,因爲有實操)

像講解一個VLAN的概念,硬是給他安插箇中文翻譯“虛擬局域網”,如果不知道聽起來還以爲與虛擬化及SDN有什麼關係。

(其實打開個packet tracer,拖拉拽一臺二層交換機,3臺PC,敲幾條命令,配置個VLAN10,VLAN20,將端口1、3放入VLAN端口2放入VLAN20,然後PC1、2、3分別接入端口1,2、3。

PC1、3配置IP地址192.168.10.1/24,192.168.10.2/24,PC2配置IP地址192.168.20.1/24,然後PC1、3互ping能通,PC2與PC1、3互ping不通,你就知道原來VLAN是用來做網段隔離的。一兩章篇幅的文字描述,還不如直接做個實驗來的直接。)

因此,我們儘量以通俗的方式來對網絡知識進行探討,以及通過實際操作的方式來鞏固概念。


OSI七層模型

無論哪一本《計算機網絡》教材,研究網絡,都繞不開OSI七層模型。

個人理解七個層次通俗來說主要實現以下內容:

ISO.jpg

**應用層:**就是應用軟件使用的協議,如郵箱使用的POP3,SMTP、遠程登錄使用的Telnet、獲取IP地址的DHCP、域名解析的DNS、網頁瀏覽的http協議等;這部分協議主要是規定應用軟件如何去進行通信的。


**表示層:**決定數據的展現(編碼)形式,如同一部電影可以採樣、量化、編碼爲RMVB、AVI,一張圖片能夠是JPEG、BMP、PNG等。


**會話層:**爲兩端通信實體建立連接(會話),中間有認證鑑權以及檢查點記錄(供會話意外中斷的時候可以繼續,類似斷點續傳)。


**傳輸層:**將一個數據/文件斬件分成很多小段,標記順序以被對端接收後可以按順序重組數據,另外標記該應用程序使用的端口號及提供QOS。(不同的應用程序使用不同計算機的端口號,同樣的應用程序需要使用一樣的端口號才能正常通信)


**網絡層:**路由選路,選擇本次通信使用的協議(http、ftp等),指定路由策略及訪問控制策略。(IP地址在這一層)


**數據鏈路層:**根據端口與MAC地址,做分組(VLAN)隔離、端口安全、訪問控制。(MAC地址在這一層)處理VLAN內的數據幀轉發,跨VLAN間的訪問,需要上升到網絡層。


**物理層:**將數據最終編碼爲用0、1標識的比特流,然後傳輸。(例如將題主頭像的圖片,變爲一串01100111100這樣的數字來表示)。

-------------------------------------------------------------------------------------------------------------

類比兩個人聊天的過程

如果上述的理論講述還是有點太過學術,那我們嘗試用兩個人的聊天過程,來類比OSI七層模型。


**1、 應用層:**兩個人有兩張嘴(硬件),並且已經學懂了說話,可以用腦袋來組織好語言,來表達自己想表達的意思(相當於軟件),並且能夠通過腦袋產生的電流調動神經細胞,控制嘴巴肌肉張合,把話說出來。(非生物科班出身通信人想表達能夠通過軟件控制底層硬件工作的意思)。


**2、 表現層:**可以通過多種方式表現/表達同一個事情,例如:可以通過笑話、唱歌、唸詩以及正常說話等多種表現形式表達,也可以是使用多種表達方式表達同一句話,例如關於iphone6的bigger than bigger的各種調侃。


**3、 會話層:**這層管認證與檢查點,例如在街上碰到個很臉熟的老同學,你會先來一句:“你……是?韓寒嗎?我是郭敬明啊,小學的時候全班最高那個啊”然後老同學會說:“哦,小郭?譁,真的十幾年沒有見過面了,呃……話說你這麼多年來都沒有長高過麼?”然後經過“身份認證”,會話就建立起來了,否則你隨便找個陌生人,通過不“認證”,就無法建立會話了。至於檢查點,就像中間接了個電話,然後回來繼續“嗯,剛纔我們說到哪?”。


**4、 傳輸層:**在說一個很複雜的東西的時候,你無法很簡單的把它說明白,所以你要將這個東西分段來說,例如先說二戰的背景、過程、結果、總結,分開4個來說,通過將這個東西分段,能夠提高效率、清晰地進行說明。

特別是當你不是按照順序說,而是按照了例如背景(1)、結果(3)、過程(2)、總結(4)的順序,聽衆需要用腦袋對其進行標記,並且按照標記重組1、2、3、4,才能更好地理解整個表達的意思。


**5、 網絡層:**其實兩個人當面聊天,這相當於點對點的通信了,兩個人都在同一個子網內,根本不需要做路由選擇的,用不到三層的通信。關鍵是協議的選擇,我認爲相當於語言,假設兩個人都只有一種共同能夠懂的語言,必須要使用這種語言兩個人才能聊下去。這相當於要選用一樣的協議進行封裝來通信。否則就是牛頭不對馬嘴了。


**6、 數據鏈路層:**兩個人面對面聊天,直接將內容講給對方聽即可,中間也沒有一個交換機似的共享載體,除非改成三個人,其中一個是翻譯,翻譯需要將A的說話翻譯完轉述給B聽,這就像交換機了。而另外關於ACL等安全與訪問控制,粗略可以對應“什麼可以講,什麼不可以講,什麼內容可以講給哪個聽衆知道,不可以講給哪個聽衆知道”的選擇策略。


**7、 物理層:**最後就是最終將內容編碼說出了。與表示層的用什麼話表達不同,這個對應例如“你好”的“你”字,要用第二聲了,“好”字用第三聲;“單”字到底是讀“dan”還是作姓氏的“shan”;“門檻”指的是門口的檻,還是一件事情的難點等的信息編碼。最後經過編碼後輸出,表達話者想表達的意思。


爲什麼要研究OSI模型

其實一開始接觸到OSI七層模型,我也是一臉懵逼,敲幾個命令就能解決的東西,爲什麼一定要研究這個晦澀難懂的模型。


隨着後面對網絡的進一步學習,包括抓包、拆包進行分析,然後才發覺由於理論知識的缺乏,根本沒有弄清楚一個包,從Client A到Client B的傳輸過程中,到底經歷了怎樣的過程。所以即使抓包抓到了,但是根本無從入手進行分析。

OSI模型就像武俠小說中的內功(九陽神功、九陰真經),而思科華爲的模擬器敲命令就是外功(打狗棒法、獨孤九劍),雖然單獨學習外功,也能夠在江湖上混,但是如果有深厚的內功功底,再學習乾坤大挪移、太極拳等功夫的時候,就能夠很快上手、事半功倍。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章