fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
阅读:2979回复:28

在PASSTHRU中加解密的方法讨论

楼主#
更多 发布于:2002-11-18 17:39
现在我在passthru中加入了idea算法,对固定端口的数据进行加解密,
现在我担心以下几个问题:
1. 系统允许passthur调用的内核堆栈16k,在驱动内加入算法,
是否影响系统的性能,
2. passthru中接到数据,处理后是否直接送到协议层?
同时是否释放掉所占用的内存?

希望有经验的高人指点.
谢谢!!!!!!!!!!!!!!

最新喜欢:

baoyibao99baoyib...
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-18 17:47
 

. 系统允许passthur调用的内核堆栈16k,


这个是怎么知道的???
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-18 17:53
引用:
--------------------------------------------------------------------------------
 
. 系统允许passthur调用的内核堆栈16k,

--------------------------------------------------------------------------------



这个是怎么知道的???


《windowsNT 设备驱动程序设计指南》的5.3驱动程序内存分配里面已经说过PowerPC系统上,内核堆栈大小为16K,

所以我们自己驱动可用的空间是非常小的。
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-04 15:26
在NDIS里面谁分配的内存要由谁来释放,这是一个基本的原则

在驱动里面加入加密算法一般应该不会有太明显的影响,我用的3des,

何时交到协议层,取决于你的处理方式,可以处理完了就交,也可以过一段时间在交
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-04 16:21
 
《windowsNT 设备驱动程序设计指南》的5.3驱动程序内存分配里面已经说过PowerPC系统上,内核堆栈大小为16K,

所以我们自己驱动可用的空间是非常小的。


不是吧!那我想在驱动里使用一个 40K 的数据结构该怎么做?
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-04 16:33
干吗要用这么大的数组?
windows下应该没有问题的,
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-04 17:32
 
干吗要用这么大的数组?


呵呵,要实现一个 Hash,所以要多占点内存:)


 
windows下应该没有问题的


我把这 40K 内存都弄成“非 Page”可行吗?是不是所有的全局变量都是“非 Page”内存?
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-04 17:35
 
不是吧!那我想在驱动里使用一个 40K 的数据结构该怎么做


驱动是用来处理数据的,不是存放数据的,
并且在内存中开如此大的空间是比较危险的,
最好的办法就是在没有送到驱动层之前就,就对数据进行分段,

否则,吃不了兜着走吧
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-04 17:41
没有这么严重吧,我一个哥们开了60k的数组好像也没有什么问题,
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-04 17:55
 
没有这么严重吧,我一个哥们开了60k的数组好像也没有什么问题,


系统在启动的过程中,将内存分成几个区域,分别运行在不同的级别,
核心态的就是我说的16K,也就是系统最基本最核心的,也就是内核堆栈,
其他的内存分配不在这一个层次,所以可以分配的很大,

所以现在我有一个问题和大家讨论,就是我另外一个帖子里提到的问题:
ndis函数中的局部变量的内存分配方式和动态内存分配的内存分配方式有什么不同?
也就是下面两种方式有什么不同?

1. UCHAR t[32];
2. UCHAR *t;
NDIS_PHYSICAL_ADDRESS npa = NDIS_PHYSICAL_ADDRESS_CONST(-1,-1);
NdisAllocateMemory(t, 32, 0, npa);

同时NDIS_PHYSICAL_ADDRESS这个结构起到什么作用?
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-12-04 18:01
还应该有第三种分配方式:
就是PASSTHRU中的先分配内存池,然后再从内存池中分配内存,

这几种方法真的很值得我们仔细的讨论分析,
现在是在PC机做NDIS,在Windows CE下可供利用内存会更小。

真希望有明白人的指点?
可惜我原先的那个帖子就是没有人理我,

morose!!!!!!!!!!!!!!!!!!!!!!!!!
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
edust
驱动中牛
驱动中牛
  • 注册日期2002-04-02
  • 最后登录2003-06-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-12-04 18:04
fuq_dddd,我对你提出的这些问题也很感兴趣,不过我水平有限,只好关注了:)
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-12-04 18:30
我现在在PASSTHRU中胡乱用分配内存的函数,总是感觉心理虚虚的,

没有办法只好先应眼前的紧急需要。
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
november
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2005-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-12-04 23:29
我想问问

加密算法你们是直接在驱动里写还是怎么的》?


或者是写成一个DLL
用驱动来调用?
如何调用?
nicol
驱动大牛
驱动大牛
  • 注册日期2001-11-28
  • 最后登录2009-07-30
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-12-05 01:35
我想问问

加密算法你们是直接在驱动里写还是怎么的》?


或者是写成一个DLL
用驱动来调用?
如何调用?

非常关注
==寂寞骆驼==
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-12-05 09:04
应该另外写一个驱动程序来做加密解密这些事情,方便调试和升级
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-12-05 09:10
这样如果想移植的话也方便很多,
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-12-05 10:06
 
应该另外写一个驱动程序来做加密解密这些事情,方便调试和升级


mikeluo,
另写一个驱动,你写成什么类型的?
驱动之间调用你是采用的什么方法?
我只是简单的把算法代码直接放进了驱动里面
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-12-05 10:14
如果你的加密算法程序很少,完成的功能也不复杂,那就放到一起也没有什么,如果要做很复杂的事情,还是另做一个驱动的好一点(我的看法),做成一个sys,通过ioctl来完成通信工作
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
fuq_dddd
驱动老牛
驱动老牛
  • 注册日期2002-10-15
  • 最后登录2009-10-09
  • 粉丝0
  • 关注0
  • 积分331分
  • 威望57点
  • 贡献值0点
  • 好评度28点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-12-05 10:35
 
做成一个sys,通过ioctl来完成通信工作


什么地方能找到相关的代码?我跟着学习一下
星星之火 可以燎原 每一个光亮 都可能是黎明 [img]http://joke.tom.com/img/assets/1/gaoxiao_80_910.gif[/img]
上一页
游客

返回顶部