当前位置: 技术问答>linux和unix
请教Linux路由缓存问题
来源: 互联网 发布时间:2016-07-27
本文导语: 我有碰到这样的问题,不知如何解决,请大虾帮忙: 1. 两条电信的PPPoE线路,用设备做负载均衡,均衡路由是这样的: default nexthop via a.a.a.a dev ppp0 weight 1 nexthop via b.b.b.b. d...
我有碰到这样的问题,不知如何解决,请大虾帮忙:
1. 两条电信的PPPoE线路,用设备做负载均衡,均衡路由是这样的:
default
nexthop via a.a.a.a dev ppp0 weight 1
nexthop via b.b.b.b. dev ppp1 weight 1
2. telnet登录到公网的某个服务器,大概10几分钟后就可能断开;
3. Linux内核版本2.6.20
4. 路由缓冲默认每隔10分钟刷新(/proc/sys/net/ipv4/route/secret_interval)
5. telnet第一次登陆时,路由选路假设选择ppp1口;最长10分钟后,路由缓存被清除,此时telnet报文被重新路由,multipath可能选择另外的接口,即PPP0;从ppp0接口抓包,可以看到以ppp1接口地址为源地址的报文从ppp0接口发出,导致telnet断开;
6. 不理解为何每隔几分钟就要清除全部路由缓存,即使该路由一直被用
1. 两条电信的PPPoE线路,用设备做负载均衡,均衡路由是这样的:
default
nexthop via a.a.a.a dev ppp0 weight 1
nexthop via b.b.b.b. dev ppp1 weight 1
2. telnet登录到公网的某个服务器,大概10几分钟后就可能断开;
3. Linux内核版本2.6.20
4. 路由缓冲默认每隔10分钟刷新(/proc/sys/net/ipv4/route/secret_interval)
5. telnet第一次登陆时,路由选路假设选择ppp1口;最长10分钟后,路由缓存被清除,此时telnet报文被重新路由,multipath可能选择另外的接口,即PPP0;从ppp0接口抓包,可以看到以ppp1接口地址为源地址的报文从ppp0接口发出,导致telnet断开;
6. 不理解为何每隔几分钟就要清除全部路由缓存,即使该路由一直被用
|
http://network.51cto.com/art/200911/161779.htm
路由策略由于仅仅在路由发现的时候产生作用,在路由表产生且稳定之后,如果网络不发生变化,路由表通常都不会变化,这时候,路由策略没有应用就不会占用资源。而策略路由是在转发的时候发生作用,路由器在初始产生路由表之后,基本工作量都在数据包转发上,如果没有策略路由,路由器只要分析每一个数据包的目的地址,再按路由表来匹配就可以决定下一跳;但是如果有策略路由,策略路由就一直处于应用状态,如果策略路由特别复杂,路由器要根据规则来判断数据包的源地址、协议或应用等附加信息,这样就会一直占用大量的资源,所以除非不得已,尽量使用路由策略,而不要使用策略路由。
路由策略由于仅仅在路由发现的时候产生作用,在路由表产生且稳定之后,如果网络不发生变化,路由表通常都不会变化,这时候,路由策略没有应用就不会占用资源。而策略路由是在转发的时候发生作用,路由器在初始产生路由表之后,基本工作量都在数据包转发上,如果没有策略路由,路由器只要分析每一个数据包的目的地址,再按路由表来匹配就可以决定下一跳;但是如果有策略路由,策略路由就一直处于应用状态,如果策略路由特别复杂,路由器要根据规则来判断数据包的源地址、协议或应用等附加信息,这样就会一直占用大量的资源,所以除非不得已,尽量使用路由策略,而不要使用策略路由。
|
6. 不理解为何每隔几分钟就要清除全部路由缓存,即使该路由一直被用
----------------------------
路由表也有个有效期,要定期更新路由表。
----------------------------
路由表也有个有效期,要定期更新路由表。
|
忘了说了,上面的一段话是引用上面的链接中该作者的原话.
|
up