使用子網時的分組轉發算法

  1. 從收到的數據報的首部提取目的IP地址D。
  2. 判斷是否直接交付。對與路由器直接相連的各個網絡進行檢查:用各個網絡的子網掩碼與D進行操作,看是否與網絡地址匹配。如果匹配則把分組直接交付。若不匹配則進行間接交付。
  3. 若路由表中有特定地址爲D的特定主機路由,則把數據報傳送給路由表中所指的嚇一跳路由器;否則執行4;
  4. 對路由表中的每一行(目的網絡地址,子網掩碼,下一跳地址),用其中的掩碼與D進行與運算,其結果爲N.若N與改行的目的網路地址匹配,則把數據報傳送剛給改行指明的下一跳路由器。否則執行5;
  5. 若路由表中有一個默認路由則把數據報傳送給所指明的默認路由器。否則,執行6
  6. 報告轉發分組出錯。

例題:

如圖所示有三個子網,兩個路由器,以及路由器1的部分路由表。現在源主機H1向目的主機H2發送分組。試着討論R1收到H1向H2發送的分組後查找路由表的過程。
撒就是在這裏插入圖片描述
解:

  1. H1首先進行判斷:分送的這個分組,是在本子網上進行交付還是要通過本子網上的路由器進行間接交付。H1把本網絡的子網掩碼“255.255.255.128”與目標地址“128.30.33.138"進行運算,得出 128.30.33.128,它不等於H1的網絡地址。這說明H1和H2不在同一個子網上。因此,H1不能把分組直接交給H2,而必須交給子網上的默認路由器R1來轉發。
  2. 路由器在收到分組後,就在其路由表中逐行尋找有無匹配的網絡地址:
    (1)先看第一行,用H2的IP地址與第一行的子網掩碼地址進行運算,得到網絡地址:128.30.33.128與表中第一行的網絡地址128.30.33.0不匹配。
    (2)用同樣的方法找第二行。用H2的IP地址與第一行的子網掩碼地址進行運算,得到網絡地址:128.30.33.128與表中第一行的網絡地址128.30.33.128匹配.說明這個網絡就是收到的分組正在尋找的網絡。於是不再繼續查找下去。R1把分組從接口1交付給H2(H2和接口1都在一個子網上)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章