路由基础(Routing)

Posted MKY-技术驿站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了路由基础(Routing)相关的知识,希望对你有一定的参考价值。

查看本机路由表:

[root@controller02 ~]# cat /etc/iproute2/rt_tables
#
# reserved values
#
255     local
254     main
253     default


linux 系统中,可以自定义从 1-252个路由表,其中,linux系统维护了4个路由表:

  1. 0#表: 系统保留表
  2. 253#表: defulte table 没特别指定的默认路由都放在改表
  3. 254#表: main table 没指明路由表的所有路由放在该表
  4. 255#表: locale table 保存本地接口地址,广播地址、NAT地址 由系统维护,用户不得更改


路由表的查看可有以下二种方法:

  1. ip route list table table_number
  2. ip route list table table_name


增加路由表mky_route 路由表200:

[root@controller02 ~]#  echo 200 mky_route >> /etc/iproute2/rt_tables

增加规则

[root@controller02 ~]# ip rule add from 192.168.100.101 table mky_route


查看规则:

[root@controller02 ~]# ip rule ls
0:      from all lookup local
32765:  from 192.168.100.101 lookup mky_route
32766:  from all lookup main
32767:  from all lookup default


在 Linux 系统启动时,内核会为路由策略数据库配置三条缺省的规则:

  1. 0 匹配任何条件 查询路由表local(ID 255) 路由表local是一个特殊的路由表,包含对于本地和广播地址的高优先级控制路由。rule 0非常特殊,不能被删除或者覆盖。 
  2. 32766 匹配任何条件 查询路由表main(ID 254) 路由表main(ID 254)是一个通常的表,包含所有的无策略路由。系统管理员可以删除或者使用另外的规则覆盖这条规则。
  3. 32767 匹配任何条件 查询路由表default(ID 253) 路由表default(ID 253)是一个空表,它是为一些后续处理保留的。对于前面的缺省策略没有匹配到的数据包,系统使用这个策略进行处理。这个规则也可以删除。


根据上面的方法我们就可以实现策略路由:

加入我们有这2个网段

192.168.100.X

192.168.200.X

我们分别创建2个不同的路由表

ip rule add from 192.168.100.101 table route100

ip rule add from 192.168.100.101 table route200


分别在不同的路由表中配置默认路由:

ip route add default via 192.168.100.254 dev eth100 table route100 #默认走eth100 网关地址192.168.100.254

ip route add default via 192.168.200.254 dev eth200 table route200#默认走eth200  网关地址192.168.200.254


也可以按照权重来走:

ip rule add from 192.168.1.0/24 table 10         #192.168.1.0网段都走10表
ip rule add from 192.168.2.0/24 table 20         #192.168.2.0都走20表


设置每个权重,下一跳有2个地址100.100.100.1、200.200.200.1  权重比2:1

ip route add default scope global nexthop via 100.100.100.1 weight 1 nexthop via 200.200.200.1 weight 2





最短路径算法:

  1. Bellman-Ford 算法  距离矢量路由(distance vector routing)
  2. Dijkstra 算法    链路状态路由(link state routing)


动态路由协议:

1. 基于链路状态路由算法的 OSPF

   OSPF(Open Shortest Path First,开放式最短路径优先)就是这样一个基于链路状态路由协议,广泛 应用在数据中心中的协议。由于主要用在数据中心内部,用于路由决策,因而称为内部网关协议(Interior Gateway Protocol,简称IGP)。


2. 基于距离矢量路由算法的 BGP
    称为外网路由协议(Border GatewayProtocol,简称BGP)

    BGP 又分为两类,eBGP 和 iBGP。自治系统间,边界路由器之间使用 eBGP 广播路由。内部网络也需要访问其他的自治系统。

以上是关于路由基础(Routing)的主要内容,如果未能解决你的问题,请参考以下文章

路由基础

.NET/ASP.NET Routing路由(深入解析路由系统架构原理)

HCNA Routing&Switching之vrp基础

网络基础~linux路由与网关路由命令

HuaWei ❀ 路由基础概述与路由表内容梳理

HuaWei ❀ 路由基础概述与路由表内容梳理