P2P的流控问题
时间:2010-07-12
来源:互联网
一起研究一下

作者: 瀚海书香 发布时间: 2010-07-12

作者: Godbach 发布时间: 2010-07-12

作者: Godbach 发布时间: 2010-07-12
还没开始做呢?呵呵
我现在的思路想通过分析数据包的特点然后打mark实现,但是很多p2p的数据流只在连接建立的时候有特点,之后就没特点了,那这些数据包就不能正确的打上mark,导致流控失效。所以先出来看看大虾们都是怎么做的?

作者: 瀚海书香 发布时间: 2010-07-12
作者: Godbach 发布时间: 2010-07-12
还没开始做呢?呵呵
我现在的思路想通过分析数据包的特点然后打mark实现,但是很多p2p的数 ...
瀚海书香 发表于 2010-07-12 10:50
- if (mark = p2p_match(skb))
- ct->mark = mark;
作者: platinum 发布时间: 2010-07-12
Godbach 发表于 2010-07-12 11:15
好像没有这么简单吧??一般来讲p2p传输的协商和数据是分开的,同服务器和超级点之间的也是分开的。
作者: 独孤九贱 发布时间: 2010-07-12
独孤九贱 发表于 2010-07-12 14:12
九贱兄是不是分析出了 command channel 和 data channel,并自己编写了 helper 来辅助 conntrack?
作者: platinum 发布时间: 2010-07-12
作者: Godbach 发布时间: 2010-07-12
作者: Godbach 发布时间: 2010-07-12
有很多链接好像是只能通过helper来实现的,但是这些helper的特点有不像ftp那样的有规律。
作者: 瀚海书香 发布时间: 2010-07-12
作者: Godbach 发布时间: 2010-07-12
这两个都已经看过了,但还是没事思路

以前看到过一个基于freebsd的p2p流控,但是没找到源码。。。
作者: 瀚海书香 发布时间: 2010-07-12
作者: Godbach 发布时间: 2010-07-12
platinum 发表于 2010-07-12 14:13
没有呀,一个p2p应用一个helper,好像会使Netfilter变得更加肥大喔!!哈哈!P2P识别一个难题,可能基于会话的特征识别还是王道,像panabit就做得很好,可惜开放出来的文档太少。
作者: 独孤九贱 发布时间: 2010-07-14
独孤九贱 发表于 2010-07-14 10:17
我觉得 panabit 最牛的地方不是协议识别率,而是性能
去年我和同事一起做了一个实验
在纯 Linux 网桥(不开 conntrack)、纯 FreeBSD 网桥,以及 panabit 上做 64 字节小包单向千兆线速转发测试
硬件都是一样的,intel 的 82571 网卡,PCI-E 接口
Linux 38%
FreeBSD 42%
panabit 99.98%
不知道是怎么做到的……
作者: platinum 发布时间: 2010-07-14
绕过协议栈,只做自己想做的事,然后直接转发。不知是不是这样,另外,FB的dev polling方式性能本身就要大大高于Linux,在处理小包时。
作者: 独孤九贱 发布时间: 2010-07-14
独孤九贱 发表于 2010-07-14 10:38
应该不仅是这样,panabit 使用了自己的 em.ko 网卡驱动,可能实现了零拷贝
另外,我在 Linux 里也做国实验,在 dev.c 里直接把从 A 网卡收到的数据从 B 网卡 xmit 出去,然后 kfree_skb,结果吞吐量有上升,却也没达到 50%
作者: platinum 发布时间: 2010-07-14
另外,我在 Linux 里也做国 ...
platinum 发表于 2010-07-14 10:56
1、首先,我讨论是转发情况,不是服务器本身收包那种。
像常用的e1000e,本身就是“零拷贝”吧??我觉得像PCI-E解决了总线性能瓶颈后,Linux想要在小包上性能有所突破,估计还是要改善NAPI机制,进一步降低中断频率,另外,发送的中断性能消耗也不容小视!
作者: 独孤九贱 发布时间: 2010-07-14
嗯,p2p识别中panabit做的确实挺好
作者: Godbach 发布时间: 2010-07-14
Godbach 发表于 2010-07-14 12:00
我们的协议识别率也非常高,不低于 panabit,也是通过分析会话的特征来实现的
不仅如此,为了提高效率,我们还使用了一个特有的 match cache 机制,实现快速匹配已匹配会话的其他同类特征会话流,呵呵
但美中不足就是 panabit 的性能非常好,千兆单向线速,这个不佩服不行
作者: platinum 发布时间: 2010-07-14
去年我和同事一起做了一个实验
在纯 Linux 网桥( ...
platinum 发表于 2010-07-14 10:35
Linux的网桥性能超烂的,比路由还烂。FreeBSD没测试过。OpenBSD测试过,性能超烂。
PanaBit是采用透明方式,类似于网桥,但是据我所知,仅支持两个口,也就是说,其实不是网桥方式,而是口对口直发。
PanaBit的性能确实不错,但是他们建议采用的平台也比较特殊,应该是新汉的工控平台,这个平台和普通的差别貌似是:网卡的PCI-E接口是从北桥直接抛出来的;而普通的平台都是从南桥走的。
作者: ShadowStar 发布时间: 2010-07-14
哦,端口到端口啊。那确实速度发挥到最大了吧。
作者: Godbach 发布时间: 2010-07-14
作者: Godbach 发布时间: 2010-07-14
Godbach 发表于 2010-07-14 13:45
目前很多流控产品都是这个样子的,透明模式,甚至面板上只有2个接口,更甚者连IN/OUT都标注好的。
作者: ShadowStar 发布时间: 2010-07-14
ShadowStar兄对流控产品很熟悉啊。

作者: Godbach 发布时间: 2010-07-14
ShadowStar兄对流控产品很熟悉啊。
Godbach 发表于 2010-07-14 13:55
虽然不是做流控的,但是,其实网络产品都是差不多的。
看看就知道大概了。
作者: ShadowStar 发布时间: 2010-07-14
不仅如此,为了提高效率, ...
platinum 发表于 2010-07-14 12:04
请教一下,加密的P2P协议如何进行识别呢? 通过会话流的特征一般是指他们的协商以及数据的传输的方式这种吗?
谢谢!
作者: szh1105 发布时间: 2010-07-14
skyjump 发表于 2010-07-15 10:03
加密数据通过传统的 DPI 是无法识别的,因为内容完全随机(知道加密算法除外)
那么就需要通过 DFI 的方式来识别,也就是针对 FLOW 进行规律性分析
每一种协议都有其自身的流特征,就好比两个人打电话,你虽然不知道他们的暗语是什么意思,但你却深知他们的嗓音、口音及说话特点,你还是可以知道他们是谁的
这就有点像电视剧《暗算》里面王宝强演的那个听风者
作者: skyjump 发布时间: 2010-07-15
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28