成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

換個角度理解計算機網絡,搭建計網知識框架

網絡 通信技術
雖然集線器確實有用,但也導致了消息爆炸,原來我只要發給計算機 B 的消息,現在卻要發給連接到集線器上的所有計算機,這樣無論是從經濟還是效率上來說都不是一個很好的選擇。如果把這個集線器弄得更智能一些,只發給目標計算機就好了。

所謂換個角度,就是從三層物理設備(物理層、數據鏈路層、網絡層)開始,串聯起整個網絡的工作原理

可能有些小伙伴看見物理設備天生就犯困,反手就準備關閉文章,且慢!本文只是簡單的介紹這幾個設備的功能,并不會涉及復雜的底層硬件原理,不一定嚴謹,并且摒棄了很多細節,但讀起來一定通俗易懂,幫助你迅速搭建起計網的知識框架。

什么是數據?

首先我們需要知道,網絡上傳輸的東西是什么?所謂數據,什么是數據

假設你要傳輸的數據是 name = "小牛肉",那么經過從應用層開始經過層層封裝,到達物理層進行傳輸的時候,你的數據已經被封裝進了很多東西:

圖片

首部里面具體是什么,不是本文的重點,你只需要知道其中有這么幾個字段很重要:

  • 源 IP 地址
  • 源 MAC 地址
  • 目標 IP 地址
  • 目標 MAC 地址

每一臺計算機都有自己的 IP 地址和 MAC 地址。

物理層設備:集線器

假設一個網絡上有 A B C D E 五臺計算機,A 想要給 C 發送數據包,那么數據包被發送出來后它怎么知道 C 在哪里?

古老的物理層設備 “集線器” 出現了 ??

圖片

A 通過集線器給 C 發送消息

如上圖所示,集線器上面有若干個端口,每個端口都連著一臺計算機,假設 A 計算機對應端口 1, B 計算機對應端口 3,C 計算機對應端口 7......

那么 A 想要給 C 發送消息,消息要經過誰?沒錯,首先要經過集線器

集線器不是很聰明,他其實也不知道 C 到底在哪里,所以他會將 A 的消息廣播給所有的計算機,由各個計算機自己判斷是不是發送給自己的消息。

數據鏈路層設備:交換機

雖然集線器確實有用,但也導致了消息爆炸,原來我只要發給計算機 B 的消息,現在卻要發給連接到集線器上的所有計算機,這樣無論是從經濟還是效率上來說都不是一個很好的選擇。如果把這個集線器弄得更智能一些,只發給目標計算機就好了。

既然只發送給一個計算機,那我們首先需要唯一定位這個計算機。

通過什么來定位?發送出來的數據包中其實已經封裝好了,就是通過目標計算機的 MAC 地址來進行唯一定位。

圖片

A 通過交換機給 C 發送消息

那具體是怎么做到的呢?

事實上,交換機內部維護一張 【MAC 地址表】,記錄著每一個 MAC 地址的設備,連接在哪一個端口上。

  • 如果發來的包首部中包含的目標 MAC 地址在 MAC 地址表中沒有映射關系,交換機就將此包廣播給所有端口,也即發給了所有機器;
  • 如果地址表有映射,那就只發給那一個端口

比如 A 想要給 C 發送消息,一開始交換機的 MAC 地址表是空的,交換機并不知道 C 的端口號,因此 A 發送的消息將會被廣播,同時,A 的 MAC 地址和它對應的端口號會被記錄到 MAC 地址表中。

圖片

A 通過交換機給 C 發送消息,此時 MAC 地址表為空

這樣,C 對 A 的消息進行響應的時候,交換機就不需要進行廣播消息了,因此它已經知道 A 計算機在哪個端口了,并且同樣的,C 的 MAC 地址和它對應的端口號會被記錄到交換機的 MAC 地址表中。

圖片

C 通過交換機給 A 發送消息,此時 MAC 地址表中含有 A 的信息

網絡層設備:路由器

交換機似乎看起來已經是最優解了,但事實上,隨著計算機設備越來越多,交換機的端口都不夠用了,當然你肯定能想到可以用將多個交換機互相連接起來,然后每個交換機之間都互相共享他們的 MAC 地址表。但隨著計算機數量的增長,比如 10 億臺設備,100 萬個交換機,那這 100 萬個交換機都需要各自維護包含 10 億條記錄的 MAC 地址表,無論是從經濟還是效率上來說這也都不是一個很好的選擇。

所以將交換機連接在一起這個思路確實沒有錯,但不能粗暴的直接連接在一起,得想個辦法,讓每個交換機仍然只需要維護和自己連接的設備的 MAC 地址表,同時還能和其他交換機進行共享

路由器應用而生。

路由器同樣有很多端口,每一個端口都擁有一個 MAC 地址和一個 IP 地址,每一個端口都連著一個局域網(或者說子網或者說 IP 地址段也行,本文就不過多區分子網和局域網的含義了)或者另一個路由器

舉個簡單的例子,有兩個子網,每個子網內都只有一個交換機,交換機上連接著若干個計算機設備,用路由器把這兩個交換機連接起來,當兩個子網之間需要進行通信的時候,通過路由器就可以實現了。

圖片

那具體是怎么做到的呢?

事實上,路由器內部同樣維護著一張表,這張表稱為【路由表】,記錄著每一個局域網(IP 地址段)和它對應的端口。

比如某個路由器的端口 0 上連接著 192.168.0.x? 的 IP 地址段,端口 1 上連接著 192.168.1.x 的 IP 地址段,那么路由表就是下面這樣:

目的地址

端口

下一跳

192.168.0.0/24

0


192.168.0.1/24

1


大伙一定發現了上面路由表中還有 ”下一跳“ 這個字段,很簡單,一個路由器的端口畢竟是有限的,不可能一個路由器連接所有的 IP 地址段,因此,如果該路由器發現目標計算機的 IP 地址不在自己管轄的 IP 地址段之內,就會通過下一跳地址轉發給其他的管轄這個 IP 地址的路由器

路由器具體是怎么工作的呢?比如 A 給 C 發送數據,A 在子網號為 192.168.0.x? 的子網,而 C 在子網號為 192.168.1.x 的子網,那么 A 首先需要知道 C 和自己是不是在同一個子網:

  • 如果是同一個子網,那么直接把數據發送給交換機就可以了
  • 如果不是同一個子網,那么需要經過路由器的轉發,A 需要把數據通過交換機發送給路由器,然后由路由器決定該發送給哪個子網

圖片

A 通過路由器給 C 發送消息

這里有兩個問題:

1)A 如何判斷是否和 C 在同一個子網?

答案:這個簡單,也不是本文重點,不過多介紹了,就是將源 IP 與目的 IP 分別同子網掩碼進行與運算,結果相等就是在同一個子網

2)A 如何知道哪個設備是路由器?

答案:每個計算機上都要設置【默認網關】

其實說發給路由器不準確,應該說 A 會把數據包發給默認網關。

對 A 來說,A 只能直接把數據包發給同處于一個子網下的某個 IP 上,所以其實發給路由器還是發給某個計算機設備,對 A 來說并沒有什么區別,反正它只認得 IP 地址。

所以默認網關,其實就是 A 在自己電腦里配置的一個 IP 地址,以便在發給不同子網的設備時,發給這個 IP 地址。

總結

如下圖 A 給 F 發送一個數據包,我們來梳理下整個通信過程:

圖片

A 給不同子網的 F 發送消息

1)首先 A(192.168.0.1?)通過子網掩碼(255.255.255.0?)計算出自己與 F(192.168.3.2?)并不在同一個子網內,于是決定發送給默認網關(192.168.0.222)

2)A 通過 ARP 協議找到 默認網關 192.168.0.222 的 MAC 地址(數據鏈路層需要知道 MAC 地址才能傳輸數據)

3)A 將源 MAC 地址(AA-AA-AA-AA?)與網關 MAC 地址(MM-MM-MM-MM?)封裝在數據鏈路層頭部,又將源 IP 地址(192.168.0.1?)和目的 IP 地址(192.168.3.2)(注意這里千萬不要以為填寫的是默認網關的 IP 地址,從始至終這個數據包的兩個 IP 地址都是不變的,只有 MAC 地址在不斷變化)封裝在網絡層頭部,然后發送數據包

圖片

報文格式

4)第一個交換機收到數據包后,發現目標 MAC 地址是 MM-MM-MM-MM,轉發給第一個路由器

5)數據包來到了第一個路由器,發現其目標 IP 地址是 192.168.3.2?,查看其路由表,發現了下一跳的地址是 192.168.100.21

6)所以此時該路由器需要做兩件事,一是再次匹配路由表,找到下一跳 192.168.100.21 匹配的端口號,二是從這個端口把數據包轉發出去

7)此時第二個路由器收到了數據包,看到其目的地址是 192.168.3.2,查詢其路由表找到匹配的端口號,并準備從該端口把數據包轉發出去

8)但此時路由器需要知道 192.168.3.2? 的 MAC 地址才行,于是查看其 ARP 緩存,找到其 MAC 地址為 FF-FF-FF-FF,并將其封裝在數據鏈路層頭部,從上個步驟確定的端口將包轉發出去。

9)如上圖所示,對應的交換機收到了數據包,發現目的 MAC 地址為FF-FF-FF-FF,查詢其 MAC 地址表,從對應的端口把數據包發出去。

10)數據包最終成功抵達計算機 F,F 發現目的 MAC 地址就是自己,于是收下了這個數據包。

責任編輯:武曉燕 來源: 飛天小牛肉
相關推薦

2015-04-09 10:21:23

ASCII碼表IP地址分類以太網幀

2017-11-22 15:46:00

Web網絡知識

2013-03-08 12:51:03

計算機網絡基礎協議DHCP

2013-05-14 13:02:17

計算機網絡基礎協議

2024-03-28 11:32:38

計算機網絡集線器連接設備

2010-09-02 16:02:45

計算機網絡協議

2010-09-08 20:45:31

計算機網絡協議

2010-09-08 20:42:09

計算機網絡協議

2010-06-12 16:56:37

2010-06-13 15:08:07

計算機網絡協議

2015-05-28 11:09:00

2010-09-08 20:53:14

WinPCap計算機網絡協議

2010-06-14 18:58:52

VoIP計算機網絡協議

2010-09-08 21:01:44

計算機網絡協議

2024-09-27 10:11:59

2010-06-14 18:54:57

計算機網絡協議

2024-09-10 08:24:24

2011-07-27 21:53:12

2023-08-14 15:46:55

2010-06-14 18:51:05

計算機網絡協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区视频免费观看 | 欧美一区二区三区视频 | 午夜av免费 | 国产精品久久久久久久久久三级 | 99热.com| 国产 欧美 日韩 一区 | 夜夜操天天操 | 日韩中文字幕免费 | 中文久久| 日韩综合网 | 国产超碰人人爽人人做人人爱 | 欧美国产激情二区三区 | 国产精久久久久久久 | 91精品久久久久 | 91素人 | a免费视频 | 91视频在线看 | 日韩精品一区二区三区中文字幕 | 亚洲综合色视频在线观看 | 日韩精品在线播放 | 国产专区视频 | 免费精品| 91资源在线播放 | 色www精品视频在线观看 | 美女三区| 看黄在线| 一级欧美日韩 | 在线观看国产91 | 91色视频在线| 美女久久视频 | 韩日在线 | 亚洲第一天堂无码专区 | 国产乱码精品一区二区三区中文 | www.狠狠干| 国产精品久久久久久久7电影 | 国产视频h | 99久久婷婷国产综合精品电影 | 99r在线 | 先锋av资源在线 | 97人人澡人人爽91综合色 | 欧美日韩久久精品 |