計算機網路四種幀介紹,廣播幀、未知幀、同網幀、異網幀
這是我參與11月更文挑戰的第2天,活動詳情檢視:2021最後一次更文挑戰
前言:
- (1)網上這一部分總結感覺比較少,或者說找起來不是很好找。
- (2)然後又因為自己之前在驗收的時候腦袋突然就空白了。不知道啥是啥,最後還是讓別的同學講了,真的是尷尬死了。
- (3)然後就下決心將這個總結一下,可能也不是很準確,但入門來說足夠了。
- (4)若有問題,歡迎指出,若覺得對你也有所幫助,請點贊支援,我會繼續努力的。
正文
未知幀和廣播幀的異同
- 未知幀:
- 第一,Switch的轉發表中沒有該幀的目的Mac地址
- 第二,DEST ADDR(目的地址)不是全F(十六進位制數)
- 廣播幀:我們把目標地址為全F的幀叫做廣播幀,對應成二進位制數字就是全為1
- 注:一位十六進位制數字對應4位二進位制數
- ARP包就是一個廣播幀
- ARP(地址解析協議)
- 百度百科解釋:
自己對ARP協議的理解
- 看到這個可能有點不好理解,我來解釋一下:
- 比方說我們要向一個主機發送一個包,那我們肯定知道源和目的的IP地址,ARP的作用就是將目的IP的Mac地址找到並返回,之後才能傳送我們想要傳送的包。
- 問:那為什麼要找Mac地址呢,有IP不就夠了嗎?(敲黑板)
-
答:我們常說的知道某一個IP地址後也就是知道了它,但是實際上,我們知道的是Mac地址,這個轉化的過程就是由ARP協議幫我們操作的,所以如果我們不深入的瞭解,那我們就是認為是知道IP就知道了這個裝置的位置。
-
網路通電之後我們要發包首先發送的就是ARP包,它的作用就是學習地址,比方說我們從主機pc3->主機pc4發一個ICMP包,從圖中我們可以看出ARP包會先於我們自定的ICMP包之前發,從上邊圖我們可以知道,ARP是一個廣播幀。
發包的詳細過程
我們點單步執行,也就是點一下進行一步
-
1.ARP包先發送
-
2.ARP包到達集線器(Hub)
Hub的特性:簡要概述:就是不管是什麼幀,只要你來我就統統廣播,如果還是不理解,你可以把他理解成廣播站,不管是什麼他都會廣播,因為他是廣播站啊!效果如下:
* 3.該幀到達交換機(Switch),那麼Switch將會學習該幀的源地址並且轉發該幀。 * 因為該幀是一個廣播幀所以交換機(Switch)會將幀廣播出去。
Switch的特性:丟棄同網幀、轉發異網幀、廣播廣播幀、廣播未知幀 * 注: * 1.這裡再說一下什麼是未知幀(因為比較重要)? * 未知幀有兩個條件: * 第一,Switch的轉發表中沒有該幀的目的Mac地址 * 第二,DEST ADDR(目的地址)不是全F(十六進位制數) * 2.這裡的同網異網說的是一個包的來源埠和去往埠是不是一樣的(這裡的埠說的是交換機上的),一樣的話,那麼就認為是同網,則丟棄。 * 檢視轉發表:
- 整體展示:
- 整體展示:
-
問:仔細看上圖,你發現了什麼呢?
- 答:你會發現左邊部分主機上的包上邊有(X)叉號,這又是為什麼呢?是包出錯了?
- 其實不然,
- 這是ARP協議的工作工程: 當發現IP地址不是自己所要找的目標地址,那麼就會將該包丟棄(換句話說就是不是自己想要的,那麼我就直接扔了,不管了)。對於匹配成功的,則會返回ARP包並把自己的Mac地址寫到返回的包中。
- 如下圖:
- 4.Hub廣播從pc4傳送的包。
- 當包到達交換機時,交換機學習源地址並且轉發該幀,因為他們可以認為是連線在同一個埠上(交換機上的),根據Switch的特性,那麼將丟棄同網幀:
-
檢視轉發表(確實是同一個埠上的):
-
同時,該包也傳送到了傳送ARP包的pc3主機上,至此,主機pc3就知道了主機pc4的Mac地址,也就是知道了他在那裡,現在就可以正常發包啦!
整體展示:
* 5.傳送ICMP包
-
6.Hub廣播該幀(前邊已經介紹過Hub,這裡不再做贅述)
直接上圖:
-
7.收到後傳送響應:
直接上圖:
-
8.完成
上邊發包內容的小結
- 總結:上邊講解了哪些呢?
- 對於交換機我們演示了:學習源地址、丟棄同網幀、廣播廣播幀(ARP使我們舉的例子)
- 對於Hub:我們瞭解了Hub的工作過程,不管是誰,都需要廣播,(管他是神還是魔,都要一視同仁,平等對待,哈哈哈這裡說這句話就是想幫助大家能更好的理解)
-
接下來,我們來學習轉發異網幀和廣播未知幀
注:這兩種都是對Switch來講的,Hub到此就講完啦!
接著講解,堅持就是勝利,加油!!!
- 一.轉發異網幀
- 1.我們從主機pc3->主機pc5發包,按照上邊講的一樣,先要傳送ARP包,知道目的主機的Mac地址是多少。
-
2.主機pc5返回一個ARP包,其中包含著自己的Mac地址,當該包到達交換機的時候(敲黑板),Switch學習源地址,並把該包轉發出去(重點:轉發的話先查表,一查,發現來源埠和去往埠是不一樣的,那麼這個就叫做轉發異網幀)
- 如下圖所示:
-
該包到達交換機(學習源地址):
-
整體展示:
-
3.至此,知道了目的主機的Mac地址,可以發包啦,上邊已有發包過程,就不寫啦(偷個懶)!!!
-
二、廣播未知幀 未知幀(再囉嗦一遍):
- Switch的轉發表中沒有該幀的目的Mac地址
- 並且目標地址(DEST ADDR)不是全F(對應二進位制就是全1)
- 1.還是舉主機pc3->主機pc4發包
- 上邊我們已經知道,主機pc3->pc4主機可以正常發包了
- 而且轉發表中也已經記錄了主機pc3和主機pc4
-
如下圖:
-
現在我們清空轉發表,有兩種情況
- 第一種是直接重啟轉發表.但是不建議使用這個.所以具體的我就不講啦!若你想學怎樣操作的話.可以下方留言
- 第二種是命令列操作
-
如下,若有問題,歡迎下方留言。
-
轉發表狀態:現在什麼都沒有
-
1.現在我們讓主機pc3->主機pc4發包,我們發一個ICMP的包
-
2.到達Switch和主機pc4
-
3.主機pc4返回一個響應,Switch會將該幀廣播出去,該幀是一個未知幀,轉發表中沒有,並且目的地址不是全F(十六進位制,符合未知幀的條件)
該幀資訊如下:
整體展示:
* 4.丟棄不需要的包,返回需要的包
結語
- 到此,演示完畢,若對你有所幫助,歡迎點贊支援
- 這個東西今天做了能有一整天。
- 你的支援是我堅持下去的動力。
- 注:若有不對的地方,歡迎留言提出,我們共同進步,謝謝!