以前在公司做了多年的路由器。。。現在自己沒事兒,也寫一個玩,主要是複習一下。
一個建一個路由器,至少要能實現報文的三層轉發。按照控制、轉發平面分離的思想,模塊大致如下:
+--------------------------+
| |
| 路由協議 (RPAs) | +--------+
| | | |
+--------------------------+ | |
| 控 |
+-------------------+ | 制 |
| | | 管 |
| 路由管理(RM ) | | 理 |
| | | 平 |
+--------------------+ | 面 |
| |
+-------------------------+ | |
| | | |
| 接口管理( IFNET) | | |
| | +---------
+-------------------------+
控制平面
==========================
轉發平面
+----------------------------+
| |
| 轉發訊息表(FIB) |
| |
+----------------------------+
+----------------+
| |
| lan switch |
| |
+-----------------+
很顯然,這個路由器很傻,不理解組播和MPLS。這些東西以後可以擴展,慢慢來吧~
圖中的控制管理平面就是命令行(Shell),或者Web UI之類。
我們還是從命令行開始做起,因為這是所有控制的入口。以後我們做路由協議,就做RIP,它最簡單。當然,靜態路由也是要做的,它放在路由管理(RM)裡面。