日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机网络学习--交换机和路由器转发数据原理

發布時間:2025/3/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机网络学习--交换机和路由器转发数据原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自知乎:

作者:網工Fox
鏈接:https://www.zhihu.com/question/20099434/answer/1861866418
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
?

二層轉發原理

交換機有多個網絡端口,它通過識別數據幀的目標 MAC 地址,根據 MAC 地址表決定從哪個端口發送數據。MAC 地址表不需要在交換機上手工設置,而是可以自動生成的。

交換機是如何添加、更新、刪除 MAC 地址表條目的?

在初始狀態下,交換機的 MAC 地址表是空的,不包含任何條目。當交換機的某個端口接收到一個數據幀時,它就會將這個數據幀的源 MAC 地址、接收數據幀的端口號作為一個條目保存在自己的 MAC 地址表中,同時在接收到這個數據幀時重置這個條目的老化計時器時間。這就是交換機自動添加 MAC 地址表條目的方式。

在新增這一條 MAC 地址條目后,如果交換機再次從同一個端口收到相同 MAC 地址為源 MAC 地址的數據幀時,交換機就會更新這個條目的老化計時器,確保活躍的的條目不會老化。但是如果在老化時間內都沒收到匹配這個條目的數據幀,交換機就會將這個老化的條目從自己的 MAC 地址表中刪除

還可以手動在交換機的 MAC 地址表中添加靜態條目。靜態添加的 MAC 地址條目優先動態學習的條目進行轉發,而且靜態條目沒有老化時間,會一直保存在交換機的 MAC 地址表中。

如何使用 MAC 地址表條目進行轉發?

當交換機的某個端口收到一個單播數據幀時,它會查看這個數據幀的二層頭部信息,并進行兩個操作。一個操作是根據源 MAC 地址和端口信息添加或更新 MAC 地址表。另一個操作是查看數據幀的目的 MAC 地址,并根據數據幀的目的 MAC 地址查找自己的 MAC 地址表。在查找 MAC 地址表后,交換機會根據查找結果對數據幀進行處理,這里有 3 中情況:

  • 交換機沒有在 MAC 地址表中找到這個數據幀的目的 MAC 地址,因此交換機不知道自己的端口是否有連接這個 MAC 地址的設備。于是,交換機將這個數據幀從除了接收端口之外的所有端口泛洪出去。
  • 交換機的 MAC 地址表中有這個數據幀的目的 MAC 地址,且對應端口不是接收到這個數據幀的端口,交換機知道目的設備連接在哪個端口上,因此交換機會根據 MAC 地址表中的條目將數據幀從對應端口單播轉發出去,而其它與交換機相連的設備則不會收到這個數據幀。
  • 交換機的 MAC 地址表中有這個數據幀的目的 MAC 地址,且對應端口就是接收到這個數據幀的端口。這種情況下,交換機會認為數據幀的目的地址就在這個端口所連接的范圍內,因此目的設備應該已經收到數據幀。這個數據幀與其它端口的設備無關,不會將數據幀從其它端口轉發出去。于是,交換機會丟棄數據幀。
  • 單播:主機一對一的發送數據。單播地址是主機的 MAC 地址。 廣播:向局域網內所有設備發送數據。只有全 1 的 MAC 地址為廣播 MAC 地址,即 FF-FF-FF-FF-FF-FF 。 泛洪:將某個端口收到的數據從除該端口之外的所有端口發送出去。泛洪操作廣播的是普通數據幀而不是廣播幀。

    三層轉發原理

    路由器有多個端口,分別連接不同的數據鏈路。它通過識別目的 IP 地址的網絡號,再根據路由表進行轉發,路由表中有匹配的路由條目才會轉發,無匹配的路由條目則直接丟棄。路由條目既可以手動設置靜態路由,也可以通過路由協議自動生成動態路由。

    路由器如何進行三層轉發?

    當一臺路由器收到一個數據包時,會執行如下步驟:

  • 對數據包進行解封裝
  • 通過解封裝,查看網絡層頭部信息的目的 IP 地址

  • 在路由表中查找匹配的路由條目
  • 查找匹配的路由條目,就需要將數據包的目的 IP 地址與各個路由條目的網段地址先進行二進制與( AND )運算,再將運算結果與路由條目的網段地址進行比較,若一致則該條目與目的 IP 地址相匹配。最后,與所有路由條目完成運算和比較,可得到一條或多條相匹配的路由條目。也可能沒有匹配的路由條目,那么丟棄數據包。

  • 從多個匹配項中選擇掩碼最長的路由條目。
  • 如果路由表中有多條路由條目都匹配數據包的目的 IP 地址,則路由器會選擇掩碼長度最長的路由條目,這種匹配方式稱為最長匹配原則

    例如:10.1.3.10 的網絡地址與 10.1.3.0/16 和 10.1.3.0/24 兩項都匹配,這時應該選擇匹配度最長的 10.1.3.0/24 。

  • 將數據包按照相應路由條目進行轉發
  • 路由條目中包含下一跳出接口。當路由器找到相應的路由條目后,它就會根據對應的下一跳和出接口,將數據包從出接口發送數據給下一跳設備。

    ARP

    只要確定了 IP 地址,就可以向這個目標地址發送 IP 數據報文。但是在進行實際通信時,還要知道每個 IP 地址所對應的 MAC 地址。

    地址解析協議,簡稱 ARP 協議。是根據目的設備的 IP 地址來查詢對應 MAC 地址的協議。

    ARP 的工作原理

    當主機 A 向同一個網段內的主機 C 發送數據,但是不知道主機 C 的 MAC 地址。

  • ARP 請求:主機 A 以主機 C 的 IP 地址為目的 IP 地址,以廣播 MAC 地址為目的 MAC 地址,在同網段內發送這個廣播報文,這個報文就叫 ARP 請求報文
  • 二層交換機不查看 IP 地址,根據目的 MAC 地址將報文除接收端口外的所有端口發送。

  • ARP 響應:主機 C 發現目的 IP 地址是自己的 IP 地址,于是主機 C 以自己 MAC 地址和 IP 地址作為源 MAC 地址和源 IP 地址,以主機 A 的 MAC 地址和 IP 地址作為目的 MAC 地址和目的 IP 地址,發送響應報文給主機 A ,這個報文就叫 ARP 響應報文。其它主機收到主機 A 的 ARP 請求報文,因為目的 IP 地址不是自己的 IP 地址,因此不會進行響應。
  • 當主機 A 在發送 ARP 廣播請求報文時,二層交換機已經有主機 A 的 MAC 地址表條目。當收到主機 C 發送的單播 ARP 響應報文時,二層交換機將報文從相應端口發送出去。并將主機 C 的 MAC 地址和對應端口記錄到 MAC 地址表中。

  • 更新 ARP 緩存表:主機 A 收到 ARP 響應報文后,將主機 C 的 IP 地址和 MAC 地址記錄到 ARP 緩存表中。下次再向主機 C 發送數據時,直接將緩存的目的 MAC 地址進行封裝。
  • 當主機 A 向不同網段的主機 C 發送數據,但是不知道主機 C 的 MAC 地址。

  • 主機 A 使用主機 C 的 IP 地址查詢 ARP ,ARP 發現主機 C 不在同一個網段,需要通過默認網關(即默認路由的下一跳地址),但是沒有網關 MAC 地址;
  • 主機 A 先將發送給主機 C 的數據放入緩存中,然后發送 ARP 請求報文,主機 A 以網關 IP 地址為目的 IP 地址發送 ARP 廣播請求報文
  • 路由器收到 ARP 廣播請求報文后,將主機 A 的 MAC 地址和對應端口添加到自己的 MAC 表中,然后查看目的 IP 地址發現是請求自己的 MAC 地址,于是單播發送 ARP 響應報文
  • 主機 A 收到 ARP 響應報文后,將發送給主機 C 的數據封裝網關 MAC 地址為目的 MAC 地址進行發送;
  • 路由器收到報文后,查看目的 IP 地址,是發送給主機 C 的,于是查詢路由表從相應端口發送數據。由于沒有主機 C 的 MAC 地址,路由器發送 ARP 請求報文,源 MAC 地址和源 IP 地址替換為發送端口的MAC 地址和 IP 地址;
  • 主機 C 收到 ARP 請求報文后,添加路由器的端口和 MAC 地址到 MAC 地址表,單播發送 ARP 響應報文
  • 路由器收到主機 C 的 MAC 地址后,將其添加到 MAC 地址表中。將主機 A 發送給主機 C 的報文重新封裝,以自己的 MAC 地址為源 MAC 地址,以主機 C 的 MAC 地址為目的 MAC 地址,發送給主機 C ;
  • 主機 C 收到主機 A 發送的數據,發送過程結束。
  • 當主機 C 向主機 A 發送回復報文時,同主機 A 向主機 C 發送數據的步驟一致

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的计算机网络学习--交换机和路由器转发数据原理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。