[询问]如何使用内核中的压缩算法
程序需要使用 PPP 的 deflate, bsd_comp等压缩算法模块。 可是不知道如何才能注册上,并使用之。
请有经验的朋友提个醒??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
程序需要使用 PPP 的 deflate, bsd_comp等压缩算法模块。 可是不知道如何才能注册上,并使用之。
请有经验的朋友提个醒??
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
ppp_register_compressor ppp_generic.c
用这个注册压缩协议
应用层协商了一种算法后,通过ioctl向内核通知 ccp_test() ccp.c
内核然后寻找该压缩协议,进行设置 ppp_set_compress ppp_generic.c
大致就这一过程,
谢谢回复,这个差不多的过程和我的差不多
不过网络上传输的数据有点奇怪:
与WIN协商CCP时,算法用MPPE(MPPC),WIN会间隔一段时间发送PPP_COMP数据(但我方客户端收到的是没有解压到数据,这个不是应该是 ppp_generic解压完再发给客户端的吗?)
看了MPPE模块代码,原来是linux下的MPPE不支持没有加密的(40bit or 128bit选一),原本误以为是压缩算法没注册好的问题了。
修改协商参数后:
与WIN协商CCP时,算法用MPPE(MPPC+128bit加密),WIN有一个明文数据包过来(是网络上传输的就是明文,应该没有经过解压处理,奇怪的数据包)。
不懂了。
“看了MPPE模块代码”
看这个的时候是跳过的,感觉加密解密什么的好难,直接看代码太晕,楼主是如何学习这方面的知识的
呵呵,看得不深入,只是看了个大概的逻辑,知道大概处理过程。 加密解密要看太细了,还没接触呢
现在我发现可能是 pppol2tp 模块的BUG,没有处理那个特殊的报文,正在和pppol2tp作者联系讨论这个,未果。
加密是自己实现的吗 你们?
我感觉我们这已经加了好多密了,觉得是否加得过分了:
ipsec 有加密,
ppp中的EAP(PEAP有加密,TLS).
ccp还协商MPPE或者ECP协商个加密.
这些我们使用的都是公共加密方法,某些实现会用上自己加密.