路由协议:西出网关无故人,敢问路在何方

路由协议:西出网关无故人,敢问路在何方

InfoQ  • 2018-06-17  • 前沿技术
配置路由的技术帖

编者按:本文来自InfoQ, 作者 刘超 。36氪经授权发布。

俗话说得好,在家千日好,出门一日难。网络包一旦出了网关,就像玄奘西行一样踏上了江湖漂泊的路。今天来给大家普及一下路由协议。

出了网关之后,只有一条路可以走。但是,网络世界复杂得多,一旦出了网关,会面临着很多路由器,有很多条道路可以选。如何选择一个更快速的道路求取真经呢?这里面还有很多门道可以讲。

如何配置路由?

路由器就是一台网络设备,它有多张网卡。当一个入口的网络包送到路由器时,它会根据一个本地的转发信息库,来决定如何正确地转发流量。这个转发信息库通常被称为 路由表。

一张路由表中会有多条路由规则。每一条规则至少包含这三项信息。

  • 目的网络:这个包想去哪儿?

  • 出口设备:将包从哪个口扔出去?

  • 下一跳网关:下一个路由器的地址。

通过 route命令和 ip route命令都可以进行查询或者配置。

例如,我们设置 ip route add 10.176.48.0/20 via 10.173.32.1 dev eth0,就说明要去 10.176.48.0/20这个目标网络,要从 eth0端口出去,经过 10.173.32.1。

上一节的例子中,网关上的路由策略就是按照这三项配置信息进行配置的。这种配置方式的一个核心思想是:根据目的 IP地址来配置路由。

如何配置策略路由?

当然,在真实的复杂的网络环境中,除了可以根据目的 ip地址配置路由外,还可以根据多个参数来配置路由,这就称为 策略路由。

可以配置多个路由表,可以根据源 IP地址、入口设备、TOS等选择路由表,然后在路由表中查找路由。这样可以使得来自不同来源的包走不同的路由。

例如,我们设置:

ip rule add from 192.168.1.0/24 table 10
ip rule add from 192.168.2.0/24 table 20

表示从 192.168.1.10/24这个网段来的,使用 table 10中的路由表,而从 192.168.2.0/24网段来的,使用 table20的路由表。

在一条路由规则中,也可以走多条路径。例如,在下面的路由规则中:

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

下一跳有两个地方,分别是 100.100.100.1和 200.200.200.1,权重分别为 1比 2。

在什么情况下会用到如此复杂的配置呢?我来举一个现实中的例子。

我是房东,家里从运营商那儿拉了两根网线。这两根网线分别属于两个运行商。一个带宽大一些,一个带宽小一些。这个时候,我就不能买普通的家用路由器了,得买个高级点的,可以接两个外网的。

家里的网络呢,就是普通的家用网段 192.168.1.x/24。家里有两个租户,分别把线连到路由器上。IP地址为 192.168.1.101/24和 192.168.1.102/24,网关都是 192.168.1.1/24,网关在路由器上。

就像上一节说的一样,家里的网段是私有网段,出去的包需要 NAT成公网的 IP地址,因而路由器是一个 NAT路由器。

两个运营商都要为这个网关配置一个公网的 IP地址。如果你去查看你们家路由器里的网段,基本就是我图中画的样子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值