免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 独孤九贱
打印 上一主题 下一主题

Linux路由缓存实现浅析 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2010-12-09 21:13 |只看该作者
乱序根本就不用解决,为什么要”保持连接不被乱序“?这对路由网络根本不成立。

面向连接的四层协议自然会解决这个问题,比如TCP。

论坛徽章:
0
22 [报告]
发表于 2010-12-09 23:54 |只看该作者
正在看这方面的东西。unstanding  linux netowrk internal路由部分讲的也很清晰啦。

论坛徽章:
0
23 [报告]
发表于 2010-12-10 07:17 |只看该作者
支持下

论坛徽章:
0
24 [报告]
发表于 2010-12-10 11:24 |只看该作者
乱序根本就不用解决,为什么要”保持连接不被乱序“?这对路由网络根本不成立。

面向连接的四层协议自然 ...
picktracy 发表于 2010-12-09 21:13


原因很简单,对中转设备来说,还是应该尽力保持顺序性,如果乱序太严重,会对接收端造成很大的重组压力,特别是对服务器来讲,完全是一个灾难。

论坛徽章:
0
25 [报告]
发表于 2010-12-10 13:49 |只看该作者
最近正在看《Linux网络技术内幕》,应该很快就看到路由部分了。这块还是很重要的,九贱兄的文章应该对于理解路由有很大的帮助。
================================================
哎,实在令人沮丧啊,我已经看到路由部分啦。

论坛徽章:
0
26 [报告]
发表于 2010-12-10 14:01 |只看该作者
如果按照你的说法,即使针对每个nexthop建一个dst也只选第一个,这与不支持multipath caching又有什么区别?
何必建立多个dst占用更多的内存,还使gc更加复杂?
换句话说,从你的结论可以推出Linux在multipath caching上造假。

论坛徽章:
0
27 [报告]
发表于 2010-12-10 14:14 |只看该作者
如果按照你的说法,即使针对每个nexthop建一个dst也只选第一个,这与不支持multipath caching又有什么区别? ...
picktracy 发表于 2010-12-10 14:01



你没有仔细看我的回贴,是中转的时候没有用,但是本地发出的却用了的。。。。。。

论坛徽章:
0
28 [报告]
发表于 2010-12-10 21:56 |只看该作者
前段时间小弟也看了《linux网络内幕》的基本路由实现部分,但由于小弟才疏学浅,感觉只看基本路由,不看路由协议,还是很难理解路由子系统

论坛徽章:
0
29 [报告]
发表于 2010-12-12 00:40 |只看该作者
因为缓存是独立于协议的,所以net_eq比较当前缓存对应的协议是否匹备,例如是否都是ipv4。
独孤九贱 发表于 2010-12-09 09:59

这句是错的

在引入network name space之后,Routing Cache是在network name space之间共享的,而Routing Tables是在network name space之间独立的。
net_eq是在比较Cached Entry是不是属于当前的Network Name Space

关于dst_use的解释前后冲突。

LZ写了这么多,赞一下。

BTW:
multipath cached routing support在2.6.31的kernel里边已经不存在了,它在kernel-2.6.23中由David S. Miller移除了。

commit e06e7c615877026544ad7f8b309d1a3706410383
Author: David S. Miller <davem@sunset.davemloft.net>
Date:   Sun Jun 10 17:22:39 2007 -0700

    [IPV4]: The scheduled removal of multipath cached routing support.
   
    With help from Chris Wedgwood.
   
    Signed-off-by: David S. Miller <davem@davemloft.net>

论坛徽章:
0
30 [报告]
发表于 2010-12-12 09:54 |只看该作者
对多路径支持是在查询路由表的时候支持的,缓存只是保存一下查询结果,待缓存失效后,再次查询路由表,会选择下一个出口。
楼主可以尝试把route cache功能删除,其实从效率上来看,缓存并不一定会提高存取速度,尤其在缓存表非常大的时候,bucket挂的东西很多,会严重影响性能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP