&esmp;?本文是一篇科普文章,主要是幫助大家理解清楚網路通信底層的根本原因,

一、網路通信模型
??為了更好地促進互聯網的研究和發展,國際標準化組織ISO在1985 年指定了網路互聯模型,OSI 參考模型(Open System Interconnect Reference Model),具有 7 層結構

??而且在訊息通信的程序中具體的執行流程為:


??網路傳輸的資料其實會通過這七層協議來進行資料的封裝和拆解,具體每層的作用后面詳細介紹,先清楚這些大概流程即可,
二、計算機通信
1.計算機通信的基礎
??首先我們需要清楚的知道,要實作兩臺計算機之間的相互通信,前提是需要指定對方的IP地址,但是最終是通過MAC地址(網卡地址),輸送資料到網卡,然后被對方網卡接受,那么其中的發現程序到底是怎么樣的呢?接下來我們一一的拆解
1.1 網線直連
??計算機與計算機直接要實作相互連接,最直接的方式就是通過網線直連的方式,

??通過Packet Tracer模擬為:

??為什么說網路通信訪問的其實是網關呢?在這兒我們同樣可以演示出來,(歡迎+V: boge_java),獲取相關的資料哦!
??在192.168.1.20 直連 192.168.1.21 是會首先通過ARP 操作來獲取MAC地址,在獲取了MAC地址后才通過ICMP協議來完成相關的通信操作,

??第二個ARP廣播


??到這兒192.168.1.20就已經獲取到192.168.1.21的MAC地址,然后就可以完成通信操作了,因為快取的作用,第二次再訪問的時候就不需要在通過ARP來獲取器MAC地址了,(歡迎+V: boge_java),獲取相關的資料哦!

??查看具體的協議資訊可以看到對應的MAC資訊

1.2 同軸電纜
??直連的方式首先必須是在同一個網段才可以,第二就是如果節點比較多會很麻煩,這時我們可以通過同軸電纜來處理,(歡迎+V: boge_java),獲取相關的資料哦!


??這種方式是很早以前使用的方式,特點是:
- 半雙工通信
- 容易沖突
- 不完全
- 中間斷了,整個就都癱瘓了
1.3 集線器(Hub)
??集線器的英文稱為“Hub”,“Hub”是“中心”的意思,相比于同軸電纜的T型結構,集線器會更高效些,如圖:

??同樣的在集線器中也是需要尋找MAC地址的,
??在上面的動態圖中我們可以看到 40 節點要連接 42 節點,那么需要先通過ARP廣播獲取到 42的MAC地址,這個程序中也會廣播到41,只是會失效,40獲取到42的MAC地址后會通過集線器來發送資訊,會發送到當前拓撲圖中的其他節點,只是會校驗如果要接收的節點的MAC地址不是我的就不會接收,這也意味著通過抓包工具是可以竊取到對應的資訊的,所以不安全,同時因為集線器同樣還是半雙工通信所以容易沖突,而且和同軸電纜一樣也是沒有智商的,所以效率不高,
- 半雙工通信
- 容易沖突
- 資料不安全
- 和同軸電纜一樣沒有智商
1.4 網橋(Bridge)
??針對集線器所具有的缺點,我們可以通過網橋來完善,(歡迎+V: boge_java),獲取相關的資料哦!

??網橋可以通過自學的方式快取記錄每個介面那側的MAC地址,從而起到隔絕沖突域的作用

??首先在獲取41的MAC地址時,ARP廣告還是會廣告整個區域的,但是在獲取到了41的MAC地址后,在發送訊息的時候攜帶了41的MAC地址,在經過網橋時,網橋之前已經記錄了41是在左側的,所以就中斷了鏈路,

1.5 交換機(Switch)
??其實集線器加網橋的這種方式已經過時了,我們現在使用的都是交換器,可以把交換器看成是集線器加網橋的組合,(歡迎+V: boge_java),獲取相關的資料哦!

??結構可以為:

??也可以多個交換機直連

??我們來看下通信的流程圖

??通過上面的動圖我們可以看到使用了交換機后,在獲取MAC地址的時候還是會ARP廣告尋址,但是在獲取到了MAC地址后再發送資訊的會就只會發送到準確的機器上了,相比之前更安全了,而且交換機是全雙工通信效率更高,
??但是交換機同樣只能處理同一個網段的節點,而且如果全世界的機器都是通過交換器來實作互聯的話,在ARP廣播的時候就會產生廣播風暴.這時引入了路由器的概念,(歡迎+V: boge_java),獲取相關的資料哦!
1.6 路由器(Router)
網線直連,同軸電纜,集線器,網橋,交換機的特點:
- 連接的設備必須在同一網段
- 連接的設備處在同一廣播域
路由器:
- 可以在不同網段之間轉發資料
- 隔絕廣播域
可以路由器單獨使用:
也可以和交換器一起使用

在路由器的兩側我們需要分別配置網關:


然后計算機要能找到路由器,我們也需要設定網關

配置好路由器之后我們就也可以來看下效果了,首先192.168.2.10 訪問 192.168.2.12

然后我們再跨網段訪問看看:

最后來看下跨域訪問的效果吧

好了,本文就介紹到這里了,感覺有幫助的一鍵三連吧!!!(歡迎+V: boge_java),獲取相關的資料哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301690.html
標籤:其他
上一篇:程式員練手必看:基于SpringCloud的電商專案
下一篇:程式員的自我修養之精神內耗
