REVIEW of 路由器原理與設計

路由器原理與設計

李韜

第一講

一、課程介紹
課程關注點:互聯網基礎設施(router switch…)
課件中關於路由器的定義:路由器又稱網關(Q:二者是否等同?),是互聯網基礎設施的最關鍵設備,一般用於連接不同IP網絡

  這裏概念定義不準確。首先‘網關’一個大概念,不具體特指一類產品,只要連接兩個不同的網絡的設備都可以叫網關;而‘路由器’一般特指能夠實現路由尋找及轉發功能的特定類產品,顯然路由器能夠實現網關的功能。
  另外,電信行業所說的‘路由器’又和家用的‘路由器’兩個概念(電信路由器都是自己有路由表能指導轉發的,而且每個端口都不能在同一個網段;家用路由器實際上是一個帶有三層轉發功能的交換機,主要實現的是DHCP,PPPOE這類的功能)。
  關於默認網關,默認網關事實上不是一個產品而是一個網絡層的概念,PC本身不具備路由尋址能力,所以PC要把所有的IP包發送到一個默認的中轉地址上面進行轉發,也就是默認網關。這個網關可以在路由器上,可以在三層交換機上,可以在防火牆上,可以在服務器上,所以和物理的設備無關。
->轉自知乎網關和路由器的區別是什麼?呂小星的回答

ppt示例:互聯網中路由器交換原理(第二次上課抽人講)

Alt text
Alt text
1.路由器與交換機的區別:->詳細可見
2.圖中可以看出:AB屬於同一網段,AB,C,D分別屬於不同網段, 也就是說,AB間的訪問不需要網關,其餘任意之間的訪問均需要通過網關。下面分兩種情形介紹同網段及不同網段間通信流程(下述主機A、B表示網絡中任意兩臺主機,區別於圖中標識):
  主機A、B同網段:根據目標IP,上本機的ARP緩存表中查找有沒有這個IP,如果有,則查找與這個IP對應的MAC地址,然後將MAC地址寫入幀裏面發送出去。如果沒有,則以廣播的形式(目的MAC全F)向本網段內的主機發送請求信息,收到信息的主機會比對自己的MAC,如果是自己的就回應,如果不是就丟棄。找到對應的主機迴應了請求信息後,就會與主機A建立連接,並將主機A和主機B都會將對方的IP與MAC對應的關係加入到本機的ARP表中,然後進行通信。
  主機A、B不同網段:主機A在數據包中封裝好自己的IP地址和MAC地址,同時也封裝好目標主機B的IP地址和網關的MAC地址,把數據包從網卡發出去,因爲目標MAC是網關的,所以網關收到這個數據包後,發現目標MAC是自己,而目標IP卻是別人,所以它不可以再往上打開這個數據包,它要做的工作就是把這些數據包發給下一跳路由器(如果網關自身就是一臺路由器的話),如果網關是一臺普通PC,那麼它就發給路由器,讓路由器把這些數據包正確傳輸到遠程目標網絡,到達遠程網絡後,它們的網關再將數據包發給數據包中的目標IP,即源主機A苦苦尋找的目標主機B,從而真正結束不同網絡之間的通信,迴應的數據包也是用同樣的方法到達目的地,在這裏,還需要注意的是,當網關把數據包發給下一跳路由器時,這個數據包必須由網關把目標MAC改成下一跳路由器的MAC地址(通過ARP得到),否則下一跳路由器收到目標MAC不是自己的數據包,會丟棄不予理睬,下一跳路由器再發給下一跳路由器同樣要把目標MAC地址改爲下一跳路由器的MAC地址再發出去。
  總結:同網段通信時,數據包中的地址就是源IP,目標IP,源MAC,目標MAC,根本用不到網關,而當檢測到需要把數據包發到遠程網絡時,這時,目標MAC就必須改變了,在還沒有出內網時,目標MAC必須寫成網關的MAC地址發出去,當網關收到時,再把目標MAC地址改成下一跳的MAC地址發出去,同時源MAC地址要始終保持爲發出端口的MAC地址(迴應報文可以依靠它路由回去),而網絡層IP地址始終不變(用於接收方判斷本機IP和數據包目的IP是否一致,若一致不轉發),就算到達了公網上(Q:環路時如何選擇?是通過AS1還是AS2發?),目標MAC仍然在不斷改變着,直到最後,這個數據包到達目標IP的網絡,最終通信結束。->詳細可見

PS:

AR接入路由器 CR核心路由器 S(Switch)交換機 AS(自治系統(Autonomous System))
三層交換機:具有部分路由器功能的交換機,目的是加快大型局域網內部的數據交換


二、課程內容:

主要針對路由器系統設計,講授並討論路由器的 工作原理、體系結構、核心算法和實現技術等;
對網絡基礎設施(路由器、交換機等)發展涉及的關鍵技術問題進行研討 ;
通過實驗進一步提高對網絡設備原理的理解,鍛鍊動手實踐能力。
選題及實驗方向:
- 路由查表及加速技術
- 數據中心網絡傳輸優化技術
- 集中控制分佈式路由技術
- 可編程網絡數據平面與加速技術

第三週完成選題 第五週提交翻譯論文word版


三、報告:

– 論文內容報告(課程中討論)
– 實驗方案報告or綜述論文(課程中討論,結束時提交)


四、實驗流程:
1. 實現
- 原則上在FAST開源平臺進行軟硬件實現,也可採用模擬仿真或其他方法及平臺進行
- 在github上建立自己的開源項目,提交源代碼和報告(學期末最終提交,課程中滾動版本)
2. 成績評定
- 論文翻譯與PPT報告30%(必須)
- 實驗方案報告ppt報告與文檔 or 綜述論文40%(必 須)
- 實驗實現30%(運行、移植、創新)(可選)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章