衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

圖解路由器處理報文過程

jf_HnAzBl9o ? 來源:華為運營商客戶服務中心 ? 2023-06-30 09:46 ? 次閱讀

只要有網絡的地方,你很難不看到路由器的身影,各種低、中、高端的,種類繁多,所具備的功能和內部實現不完全一樣。

要知道,路由器不斷的在吞吐通信數據,就像魚吐泡泡一樣,通信數據像是路由器的“食物”。

那么,路由器“吃”進去的數據,上哪去了呢?

“魚兒”吃進去的“食物”,有的會被吸收了,進入血液,最終轉換成能量或變為身體的一部分;沒被吸收的經過腸道排泄到體外。

“魚兒”吞進去的大部分是水,這些水基本都吐出來了,并沒有被吸收。

同樣的,進入路由器的數據,大部分從一個接口進去,從另一個接口出來,它們只是“過路”的業務報文,也有人稱之為“過路”報文。

有一小部分數據被“吸收”了,被上送CPU處理,或者因為各種原因中途被丟棄。

今天,就和你分享一篇關于報文在路由器中的處理全過程,幫助你更好的了解路由器內部的原理。

01在路由器中

報文度過了怎樣的一生?

這張圖,是路由器收到的業務報文和協議報文在轉發層面的處理流程。

7251152e-16d9-11ee-962d-dac502259ad0.jpg

這張圖,是路由器CPU發送的協議報文的在轉發層面的處理流程。

7261f36c-16d9-11ee-962d-dac502259ad0.jpg

是不是覺得上圖太復雜、概念太多,看不懂?

上述圖片只是給一個總的概念,以便下面更好的理解。

下面我們先從“交換”談起:

數據。是通過接口板接收和發送,通信線纜都要插接到接口板的接口上。

那么,把某一個接口來的數據包送到另一個接口發出去,這兩個接口需要連起來。

但實際上,數據包可能從任意接口進來,從任意接口出去,都這么點到點連接的話,則需要N*(N-1)/2根線互聯,太多了。

72b185c6-16d9-11ee-962d-dac502259ad0.jpg

為了解決這種大量連接的問題,接口板和接口板之間需要通過交換網(Switch Fabric)板銜接起來,接口板只要通過若干連線跟交換網板連接,就能完成任意接口的互通。

72bc9b3c-16d9-11ee-962d-dac502259ad0.jpg

交換網屬于“三無”部件,即與設備配置無關、與協議無關、與數據包類型無關。交換網專注于在入接口和出接口之間建立連接,完成數據的交換。

01上行和下行

以交換網為中心,可將報文在路由器的行程一分為二,前半程稱為“上行”,下半程稱為“下行”。

72d2f116-16d9-11ee-962d-dac502259ad0.png

02尋址轉發

可能有人會問,報文從一個接口進來,經過“交換”,從另一個接口出去,這個交換機也會做啊,何必用路由器?

是的,交換機也有交換功能。但是,在互聯網中,從一個節點到另一個節點,有許許多多的路徑。

路由器可以選擇通暢的最短的路徑,從而提高通信速度,減輕網絡負荷,節約網絡資源,這是交換機所不具備的能力。

為數據包選擇一條合適的(通常指最短的)傳輸路徑,然后從對應的接口發送,這個過程就稱為“尋址轉發”。

路由器所在的網絡幾乎都是遵循TCP/IP體系的,路由器是工作在該體系的第三層,即網絡層。

72e23ff4-16d9-11ee-962d-dac502259ad0.jpg

所以,剛才提到的“尋址”的”址“是指根據數據包的網絡層地址——IP地址。為了尋址,路由器需要一張“地圖”,以目的IP地址為索引的“地圖”,也就是路由表。每個路由器中都有一張路由表。

03路由表長什么樣?

這張圖是一張實際的地鐵出口地圖。

實際的路由表跟上圖有些相似。

路由表的索引是目的IP地址/掩碼,每個表項中都有對應的下一跳IP地址和出接口信息,如下圖。

72feafe0-16d9-11ee-962d-dac502259ad0.png

有了這張表,路由器接在收到數據包時就能做到心中有數了。

比如,收到一個目的地址為10.0.0.1的報文,路由器就可以查表得知需要將該報文發送到GE1/0/0這個接口。

04這個路由表怎么得來的?

一種辦法是手工制作,對路由器進行手工設置固定的路由。但是這種路由不能對網絡的改變作出反映,如果網絡拓撲變化了,需要人工去修改設置。

還有一種辦法,就是運行動態路由協議,讓路由器之間相互傳遞路由信息,利用收集到的路由信息進行計算,生成路由表,這樣就可以讓路由表實時跟進網絡拓撲的變化。

在實際應用中,這兩個辦法都用上了,當動態路由與靜態路由發生沖突時,以靜態路由為準。

當然,路由表還有一類路由,不是人工配置的,也不是路由協議的學習,而是由鏈路層協議發現的,稱為直連路由。

05路由表放在哪?

有了路由表,接下來要考慮的是,路由表放哪合適呢?

前面說過,數據包是從某個接口進來,經過交換網,再從另一個接口出去。

那路由表能不能放交換網?答案肯定不行,因為交換網要完成整個設備所有報文的交換,為了讓交換網完成高速交換,不成為瓶頸,不能再讓交換網去運行路由協議、維護路由表、做尋址轉發。

那路由表能不能放下行接口板?

答案也是不行,交換網做交換的時候,就需要知道要送往哪塊目的單板,所以尋址轉發需要在上行完成。然而,如果把路由表放上行接口板,由于報文可能從任意接口板進來,那么所有的接口板都需要放一個路由表。其實,還有更好的辦法,就是將路由表放在一個公共的地方,比如主控板上,由主控板的CPU運行路由協議,計算路由,生成和維護路由表。

06轉發表與路由表

如果路由器采用的是“硬轉發”,業務報文不經過主控板CPU處理,不能直接用主控板上的路由表,接口板上也需要有供尋址轉發的信息。

所以,主控板CPU生成路由表之后,還要將相關信息下發給各個接口板。

這些相關的信息就是轉發信息,存放在各個接口板的轉發信息表FIB(Forwarding Information Base)中。

各個接口板上的轉發信息都是相同的,因為它們具有相同的來源,都來自主控板。

實際上,現代高性能路由器在架構上都是轉發和控制分離:

把轉發層面和控制層面分配在不同的組件,控制層面運行路由協議,維護路由表,并下發轉發表FIB到轉發層面,由轉發層面負責數據包轉發。

這樣做的最基本的好處就是不會相互影響。

如果流量很高導致轉發層面高負荷,但是其不會影響控制層面進行正常的路由學習;相反的,如果控制層面對路由信息的處理比較繁忙,也不會影響轉發層面進行其高速的數據包轉發。

7348dd40-16d9-11ee-962d-dac502259ad0.png

細心的讀者會發現,路由表和轉發表看起來差不多,都有目的IP地址/掩碼、下一跳、出接口這三個信息。

實際上,轉發表是根據路由表生成的。路由表中可能包含到達目的地址的多條路由,但是轉發表里面只取其中的最優路由。

而且,路由表的下一跳是原始的下一跳,不一定是直接可達的,FIB是用于指導轉發的,它的下一跳必須是直接可達。根據“原始下一跳”找到“直接下一跳”的過程就稱為“路由迭代”。

路由器上電啟動之后,就會運行路由協議學習網絡拓撲,生成路由表,如果接口板注冊成功,主控板就可以根據路由表生成轉發表項并下發給接口板,這樣路由器就可以根據轉發表轉發數據包了。

執行數據包轉發的部件是位于接口板上的一個被稱為包轉發引擎PFE(Packet Forwarding Engine)部件,通常是NP或ASIC芯片。

7358282c-16d9-11ee-962d-dac502259ad0.png

07找不到路怎么辦?

上述這種在轉發報文前,提前準備好轉發表,待收到報文時再查表轉發的方式稱為“預路由”,“先鋪路,后通車”?,F在路由器都采用這種方式進行IP單播轉發。

在這種方式中,查表轉發時,如果沒有匹配上(如果有默認路由,最終會匹配上默認路由,默認路由不存在“不匹配”的情況),意味著這臺路由器沒有到這個目的地址的路由(或者還沒有學習到這個路由),也就是找不到路,迷路了。

數據包迷路了怎么辦,原路返回?

想象下,如果迷路了就被原路返回給源端,那源端重發的還是同樣的目的地址,那這個報文還是會在同一個地方迷路,再原路返回,死循環了。

所以,數據包迷路了只能被丟棄。出于可維護方面的考慮,包轉發引擎PFE會記錄丟棄原因和統計丟棄的報文數。

08預路由與流觸發

剛才說到路由器都采用“先鋪路,后通車”的預路由方式。相對的,“先通車,后鋪路”的方式,被稱為“流觸發”。

流觸發方式中,設備收到報文,查轉發表,如果轉發表中不存在對應的表項,就根據這個報文生成一個轉發表項。

這樣,該用戶流的下一個報文就可以命中轉發表進行轉發了。

目前,路由器和交換機在進行二層轉發時所使用的MAC表,就是采用MAC地址學習方式,類似于“流觸發”方式。

從安全性角度上,流觸發顯然容易造成流量攻擊,為攻擊者提供了一個合理合法的攻擊路徑。

攻擊者可以使用各種未知目的報文對系統進行遍歷掃描攻擊,形成對路由器的流量攻擊。

所以,在高端路由器上,除了有MAC學習方式機制外,為了預防流量攻擊,還提供了限制MAC地址學習的功能,即限制最多允許學習多少個MAC地址,并限制每次學習的時間間隔;

而且還允許去使能MAC地址學習,允許人們像配置靜態路由一樣去手工配置MAC表項。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 網絡
    +關注

    關注

    14

    文章

    7600

    瀏覽量

    89251
  • 路由器
    +關注

    關注

    22

    文章

    3745

    瀏覽量

    114484
  • Mac
    Mac
    +關注

    關注

    0

    文章

    1110

    瀏覽量

    51712
  • 報文
    +關注

    關注

    0

    文章

    38

    瀏覽量

    4068
收藏 人收藏

    評論

    相關推薦

    騰達路由器設置圖解

    主要給大家介紹下騰達路由器設置的過程,騰達路由器設置為圖解過程,便于大家理解和掌握。
    發表于 12-15 14:14 ?34.1w次閱讀
    騰達<b class='flag-5'>路由器</b>設置<b class='flag-5'>圖解</b>

    TC39x的can報文過濾規則怎么設置?

    TC39x的can報文過濾規則怎么設置
    發表于 02-19 06:12

    交換機和路由器

    報的轉發,包括數據報的尋徑和傳送; 2.子網隔離,抑制廣播風暴; 3.維護路由表,并與其他路由器交換路由信息,這是IP報文轉發的基礎。 4.IP數據報的差錯
    發表于 01-08 17:42

    路由器基礎知識問答(二)

    的時間內收斂。但在大型網絡中,發現一個故障路由器的時延可能很大。知道毗鄰路由器可以加速收斂,因為路由器能夠更快地知道故障路由器,因為hello報文
    發表于 11-12 21:10

    解析路由器的工作原理

    。網絡中的每個路由器按照這一規則動態地更新它所保持的路由表,以便保持有效的路由信息。(3)路由器在轉發報文
    發表于 01-28 13:04

    圖解路由器,你究竟把數據怎么了?

    了。路由器由輸入接口、輸出接口、交換結構、路由選擇處理器四個部分組成。執行兩個最重要的基本功能:路由功能和交換(轉發)功能。相應的路由器內部
    發表于 05-25 08:23

    路由器的種類

    。通常情況下,高端路由器是模塊化結構,低端路由器是非模塊化結構的。3、按所處網絡位置劃分為“邊界路由器”和“中間節點路由器”。在廣域網范圍內的路由器
    發表于 03-17 12:16

    路由器處理器

    路由器處理器              與計算機一樣,路由器也包含
    發表于 01-06 11:24 ?586次閱讀

    路由器,路由器原理,路由器協議,路由器算法

    路由器,路由器原理,路由器協議,路由器算法 路由器:連接因特網中各局域網、廣域網的設備,它會根據信道的情況自動選擇和設定路
    發表于 03-29 17:44 ?1411次閱讀

    無線路由器設置圖解

    無線路由器設置圖解,值得收藏!
    發表于 11-10 17:39 ?835次下載
    無線<b class='flag-5'>路由器</b>設置<b class='flag-5'>圖解</b>

    讓筆記本變身路由器釋放wifi的步驟圖解

    本文檔內容介紹了基于讓筆記本變身路由器釋放wifi的步驟圖解
    發表于 09-20 17:57 ?7次下載
    讓筆記本變身<b class='flag-5'>路由器</b>釋放wifi的步驟<b class='flag-5'>圖解</b>

    華碩路由器中繼設置圖解

    在對華碩路由器進行無線中繼設置之前,需要先弄清楚主路由器上的無線信號名、無線信號密碼,以及主路由器的LAN口IP地址信息。這些信息在華碩路由器中設置中繼的時候需要用到。
    發表于 01-04 14:49 ?7.7w次閱讀
    華碩<b class='flag-5'>路由器</b>中繼設置<b class='flag-5'>圖解</b>

    圖解無線路由器天線制作,Router Antenna DIY

    圖解無線路由器天線制作,Router Antenna DIY 關鍵字:圖解無線路由器天線制作 刻錄光盤盒用完了就沒什么用了,
    的頭像 發表于 09-20 18:31 ?3735次閱讀

    可重構路由器報文轉發引擎設計與實現

    網絡處理功能的時空演化特性要求可重構路由器報文轉發引擎除具有基本報文分組交換能力外,還應具有可重構能力。針對上述需求,構建了面向可重構路由器
    發表于 01-07 08:00 ?3次下載
    可重構<b class='flag-5'>路由器</b><b class='flag-5'>報文</b>轉發引擎設計與實現

    路由器處理器有什么用

    路由器處理器的作用 路由器處理器路由器中最重要的部分之一,也是路由器的核心部分。它用來
    的頭像 發表于 08-27 17:08 ?1940次閱讀
    百家乐真人游戏网| 百家乐官网拍是什么| 赌百家乐官网的计划跟策略| 大发888登陆| 百家乐牌机的破解法| 百家乐官网游戏奥秘| 大发888娱乐城技巧| 百家乐官网博彩破解论坛 | 百家乐平台注册| 国美百家乐官网的玩法技巧和规则 | 如何玩百家乐的玩法技巧和规则| 百家乐官网网上真钱赌场娱乐网规则| 皇冠赌球| 全讯网168268| 百家乐赌场导航| 电子百家乐官网规则| 壹贰博百家乐官网娱乐城| 立即博最新网址| 大发888娱乐城官方| A8百家乐娱乐网| 百家乐怎么看门路| 澳门百家乐官网哪家信誉最好| 现金娱乐城| 大发888 打法888| 威尼斯人娱乐城购物| 金殿百家乐的玩法技巧和规则| 百家乐百家乐群| 百家乐官网最新破| 百家乐官网玩法皇冠现金网| 和林格尔县| 长垣县| 万豪娱乐开户| 网络棋牌室| 太阳城广场| 澳门葡京赌场美女| 百家乐官网桌布小| 百家乐官网试玩| 九州百家乐的玩法技巧和规则| 网上赌博网站| 百家乐官网发脾机| 定24山尺寸深浅土色|