路由器
路由器转发数据包是根据路由器内部的路由表进行转发,当数据包到达路由器时,查询路由表,获取下一站的地址,然后进行转发,与之对应的每个公交站点都有一个站牌,告诉你下一站是哪里。
以华为路由器为例,说一下路由表的结构,其他型号的路由器大致也差不多。
华为路由表主要包含以下几个字段
destination/mask:用于描述目标网段,当前往目标网段有多个路径时,选择掩码最长的一条路径转发。
Protocol:表示路由运行的协议,路由表根据路由协议生成,包含三类路由
直连路由:有链路层协议发现,开销小,表示与该路由器直连的路由,只能发现本接口所属网段的路由
静态路由:由人工手动配置,IP router 129.1.0.0 16 10.0.0.2, 129.1.0.0表示目标网段,16表示掩码长度,10.0.0.2表示去往目标网段的下一个路由IP地址
动态路由:根据各种路由协议算法发现,无需人工维护,但是开销较大,这也是生成路由表的主要方式
Preference:表示优先级,数值越小,优先级越高
Metric(Cost):开销,到达目标网络的代价,值越小,越优先
Interface:本端接口,表示数据包从本端那个接口转发出去
Nexthop:下一跳地址,互联网对端路由器的端口
当数据包到达路由器时,会进行下面几个操作
读取目标地址的网络部分
找到路由表中对应的地址的路由条目,将包转发到相应的路由器接口
如