二层三层网络协议-路由协议

配置路由
一张路由表会包含多条规则,每一条规则至少包含下面三项信息
1.目的网络,这个包发往那里的
2.出口设备,这个包从哪个口发出去

3.下一跳网关,下一个路由器的地址

ip route结果

default via 172.17.15.253 dev eth0 
169.254.0.0/16 dev eth0 scope link metric 1002 
172.17.0.0/20 dev eth0 proto kernel scope link src 172.17.6.131 
172.18.0.0/16 dev docker0 proto kernel scope link src 172.18.0.1 

172.17.0.0/20 dev eth0 proto kernel scope link src 172.17.6.131 

这句的意思是,要发往172.17.0.0/20这个网段,就要通过eth0网口发出去,经过172.17.6.131

可以配置多个路由表,分别使用不同的table

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

一条路由规则,也可以走不同的路径

ip route add default scope global nexthop via 100.100.100.1 weight 1 
nexthop via 200.200。200.1 weight 2

运营商1给路由器分配的地址是 183.134.189.34/32,对应的运营商网关是183.134.188.1/32
运营商2给路由器分配的地址是 60.190.27.190/30,对应的运营商网关是 60.190.27.189/30

《二层三层网络协议-路由协议》

对应的路由配置如下

《二层三层网络协议-路由协议》

这个规则定义如下
如果去运营商1,就走 eth2
如果去运营商2,就走 eth3
如果访问内网, 就走 eth1
如果所有规则都不匹配,就默认走运营商1

假设某个用户A不想走默认的运营商1,觉得这样花费多,可以给他单独配置一个路由规则
这样他就可以默认走运营商2了
一般来说网络环境简单的时候,在自己可控的范围之内,就可以配置静态裸游
如果网络很复杂,就需要配置动态路由了

动态路由协议有两种
1.距离矢量路由算法 Bellman-ford算法,比如BGP协议
2.链路状态路由算法 Dijkstra算法,比如OSPF协议

距离矢量路由算法
每个路由器都保存一个路由表,包含多行,每行对应网络中的一个路由器,每一行包含两部分信息
一个是要到目标路由器从那条线出去
一个是到目标路由器的距离
每个路由器都需要保存全局信息,比如自己的一个邻居距离目标路由器的距离是M,而自己距离邻居是x,则自己距离目标路由器是x+M

这种算比较简单,但是好消息传播的快,坏消息传的慢

比如下面这种情况,B -> C的距离是1,现在A来了加入网络,之后A挂了,根据路由算法,需要多次迭代之后,当B和C距离A的路径超过了一定的阈值之后,才会发现A已经挂了

所以这个算法一般规模不会很大,早期的RIP就是这个算法,一般路由规模就是15跳以内

《二层三层网络协议-路由协议》

链路状态路由算法,Dijkstr算法
这个算法会定期的广播更新获得邻居的状态,然后更新网络拓扑,节省了带宽,所以他的规模可以很大

基于链路状态路由算法OSPF open shortest path first 开放式最短路径有限
一般是用在数据中心内部,用于路由决策,也称为内部网关协议Interior Gateway Protocol IGP
在一个组织内部,可能会有多个最短路径,可以在多个路径中进行负载均衡,这也称为等价路由
这一点很关键,有了等价路由,可以实现流浪分摊,可以做高可用
一般应用的接入层会有负载均衡LVS,可以和OSPF一起,实现高吞吐量的接入层设计

《二层三层网络协议-路由协议》

基于距离矢量路由算法BGP
外网路由协议 Border Gateway Protocol BGP
用作自治区之间的通讯
在网络世界中,一个个的地区成为自制系统AS Autonomous System ,自制系统分几种类型
Stub AS,对外只有一个连接,这类AS痐传输其他AS的包,比如个人或者小公司的网络
Multihomed AS,可能有多个连接到其他的AS,但是大多数拒绝帮其他的AS传输包
Transit AS,有多个连接到其他的AS,并可以帮助其他的AS传输包,如主干网

《二层三层网络协议-路由协议》

BGP分成两类,eBGP和 iBGP
自治系统之间,边界路由器之间使用eBGP广播路由
自治系统内部,边界路由器将BGP歇息到的路由导入到内部往来,是通过iBGP协议
BGP使用的是 路径矢量路由协议,他是距离矢量路由协议的升级版
BGP改善了 距离矢量路由协议的缺点(收敛慢)

参考

OSPF原理

BGP简单总结

BGP机房

    原文作者:hixiaoxiaoniao
    原文地址: https://blog.csdn.net/hixiaoxiaoniao/article/details/81055662
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞