--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
这个页面背景色是从 wlt.ustc.edu.cn 摘的?
关于策略路由,我的经验太少,如果有可能的话让 jameszhang 现身说法当然更好啦。
james 对内核做了什么优化?10年 SFD 的 slides 里似乎没说清楚。
科大网络通如果单纯使用策略路由,每个网络通用户都要有一条 ip rule,线性查找下来,能吃得消吗?优化是不是指的这个?
另外感觉有点奇怪的是,内核有目的路由表,但为什么没有源路由表?难道根据目的IP来路由是天经地义?为什么不搞成 general 的 match-action(就像 iptables 那样),里面怎么优化对用户是透明的?
记得你说学校网络通是到联通走联通,到电信走电信,出口只影响默认路由。我觉得你的多线网络通可以搞得智能一些。首先在每个AS找一个能 ping 通的 IP,然后挂上每个VPN,对上述每个AS ping 几次计时,找出最快的那个VPN,以后到这个AS都走这个VPN。这个方法假定同一个AS内部网络延迟忽略不计。另外,这里只考虑了延迟而忽略了带宽,如果能在每个AS找到一个实际的网站就好了,不过这可能不太容易。
--
赞,这个解释得很清楚啊。我的上个帖子只是吐吐槽,IP网络本来就是目的路由,因为它在设计之初只是把数据尽可能高效送达就行,而不可能想到现实世界中运营商不互联互通之类的破事。我们现在搞这么多策略路由提高效率,本来是运营商该做的事。
--
抱歉,刚才没想清楚,IP目的路由跟运营商互联互通没有关系。使用 ip rule 是为了实行更复杂的 policy,比如开了网络通才能上网。只是 Linux 的 ip rule 和 iptables 实现不够高效,要依次匹配规则。而解决互联互通问题恰恰是通过 ip route(目的路由)实现。
--
某些情况下 iptables 也可以快过线性查找的。
我记得有一个叫 ipset 的东西。这东西可以动态维护管理 ip 和端口的集合。
这个东西可以和 iptables 结合起来用,通过 iptables 来查询 ip 是否在集合中。
既然单独拉出来做集合,我觉得它应该会在数据结构上有优化。
http://ipset.netfilter.org/
http://ipset.netfilter.org/iptables-extensions.man.html set 模块
ipset 是好东西啊,结合 iptables 的 fwmark,应该能完美解决网络通 ip rule 问题。只要DHCP出来的地址在一个B类地址范围内,就可以用 O(1) 的 ipmap(bitmap 实现)。即使IP不在一个B内,也可以用高效的 iphash。
我之前说的根据 IP、port、UDP/TCP 三元组来决定是否走VPN的想法,也可以用 ipset 中的 ipporthash 高效实现(只支持 IP、port 二元组,UDP/TCP 分别建一个 set 就行)。
@Zhang Cheng 想问当时你是如何找出被墙的 IP 地址段的?我用 gfwlist 8.8.8.8 解析结果上取到 /24,还是会有漏网之鱼啊(检测方法是 google 敏感词,然后点击搜索结果)。如果不下载大文件的话,感觉 chnroutes 也挺快的。
另外还有个困扰我很久的问题,下载大文件的时候,OpenVPN 远比 nginx HTTP 代理慢,两级 OpenVPN(其中一级在校内,网络质量应该很好)远比一级慢。我调整了 MTU,也没有效果。有人发现过这个问题吗?
--
@Zhang Cheng 想问当时你是如何找出被墙的 IP 地址段的?我用 gfwlist 8.8.8.8 解析结果上取到 /24,还是会有漏网之鱼啊(检测方法是 google 敏感词,然后点击搜索结果)。如果不下载大文件的话,感觉 chnroutes 也挺快的。
另外还有个困扰我很久的问题,下载大文件的时候,OpenVPN 远比 nginx HTTP 代理慢,两级 OpenVPN(其中一级在校内,网络质量应该很好)远比一级慢。我调整了 MTU,也没有效果。有人发现过这个问题吗?