Route的资源模型如下表:
Route可以简单地抽象为三部分:端口、路由表、路由协议处理单元,如下图:
如果不看内部实现细节,单从外部人们能感受到的内容来看,Router最关键的两个概念就是端口和路由表。
Router中使用routes字段表示路由表,这是一个数组,每个元组的类型是[destination,nexthop],其中destination表示目的的网段(CIDR),nexthop表示下一跳的IP。
Router并没有使用某个字段来标识它的端口,而是提供了两个API以增加或删除接口:
#add interface to router
/v2.0/routers/{router_id}/add_router_interface
#remove interface from router
/v2.0/routers/{router_id}/remove_router_interface
虽然从功能上来说,Router只要有了路由表以及对应端口就可以进行路由转发。但对于外部网络(Neutron管理范围之外的网络)路由转发,尤其是公网,Router还是用了一个特殊的字段来表示:external_gateway_info(外部网关信息)。