阅读:1684回复:9
请大家多多献策(PPPoE)
老板现在要我写一个PPPoE的软件模块,而且不要使用Windows系统下原有的PPP功能模块,也就是不使用Windows自带的拨号界面,我分析可能就是绕开Windows系统原有的拨号模块,自己重新开发,要求是该软件模块直接和上面的IP接口,下面和网卡接口,同时还和上层的应用软件接口(如拨号界面等),请问这该如何做?
我现在最关系的问题是: 1。能否在Windows系统下撇开原有的拨号软件,重新写一个?该如何做? 2。NDIS驱动程序如何和上次应用程序接口? |
|
沙发#
发布于:2003-07-23 08:30
用TAPI接口,即linexxxx向NDISWAN发命令,你老板不会叫你绕开TAPI
吧 |
|
板凳#
发布于:2003-07-23 08:51
用TAPI接口,即linexxxx向NDISWAN发命令,你老板不会叫你绕开TAPI 为什么不??? 如果是我,我也不要TAPI的那些东西。 做个虚拟网卡,在里面实现ppp和pppoe功能就ok了,当然还有收发包的问题,再简单做个协议,把真实网卡上的ppp和pppoe报文转道虚拟网卡即可。 |
|
|
地板#
发布于:2003-07-23 09:27
我怀疑老板的意思就是和mikeluo的一样,他说是为了将来的扩展性大。
经过分析,我觉得老板的意思是自己写PPP和PPPoE部分,然后上面直接和IP接口(而不是NDISWAN),下面和网卡接口,同时向上还提供一个和应用程序接口(如拨号界面、参数等)。 不过我觉得这样做好难!首先不知道如何和上面的IP接口,同时也不知道中间层驱动如何和应用程序接口。 我都被逼疯了! |
|
地下室#
发布于:2003-07-23 09:34
最麻烦的部分是实现ppp,剩下的都很简单。
一个虚拟网卡加协议就什么都解决了,甚至不用协议也可以。方式很多。你还是先看ppp和pppoe的rfc吧,那些是体力活。 |
|
|
5楼#
发布于:2003-07-23 09:42
请问mikeluo:“虚拟网卡加协议”是怎样的?能讲详细点吗?
我对NDIS也不是特别熟,用中间层能实现你说的“虚拟网卡加协议”吗?它们如何实现? 我读过PPPoE的RFC,PPP的RFC还没读完,感觉PPP好罗嗦! |
|
6楼#
发布于:2003-07-23 09:58
中间层只能起到协议的作用,不能做虚拟网卡,用中间层不是一个好方式,还是单做一个虚拟网卡的驱动,协议部分可以做一个协议驱动。具体的还是慢慢看ddk,对ndis结构有了了解以后才好。
|
|
|
7楼#
发布于:2003-07-23 15:38
请问mikeluo,有这方面的例子程序吗?我感觉你的想法不错,但我还是不大明白具体的做法,比如说如何来做虚拟网卡、如何做协议驱动,还有除了DDK外还有其它的资料吗?老板逼得紧,而DDK又浩如烟海,实在是难呀!
最好是哪位做过类似的工作的给出一些实现的例程,这样可能理解起来快些!先谢谢各位了! |
|
8楼#
发布于:2003-07-28 22:58
苦读了和协议相关的DDK,知道一些协议驱动的写法,到现在还不甚明白mikeluo所说的协议驱动和虚拟网卡的绑
定关系?他们如何绑定? 另外如果仅仅用中间层(简单说用mtpppoe源码,或者接合自己实现PPP协议或者使用系统自带的PPP协议)能否 实现我说的要求(用自己的界面进行参数配置),如果能的话,该如何考虑这个问题? 如果用中间层不行的话?又该如何考虑这个问题? +----------------------------------+ | | | 我们自己写的PPPoE界面 | | | +----------------------------------+ | User mode ------- | ----------- | +----------------------------------+ | | | PPP+PPPoE驱动 | | | +----------------------------------+ Kernel Mode -------------------- [编辑 - 7/28/03 by peakame] |
|
9楼#
发布于:2003-07-28 23:05
恳请大家多多帮助,我的QQ:56984291,恭候大家的指教,谢谢!
|
|