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


配置路由
一张路由表会包含多条规则,每一条规则至少包含下面三项信息
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机房



猜你喜欢

转载自blog.csdn.net/hixiaoxiaoniao/article/details/81055662