sureman
驱动牛犊
驱动牛犊
  • 注册日期2001-08-22
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分63分
  • 威望27点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:2791回复:10

PPPoE实现方案公布

楼主#
更多 发布于:2003-07-11 12:31
PPPoE是我2001年所作的一个项目,近日突然发现有n多人对PPPoE感兴趣,就把由来已久的想法诉诸行动:现在把文章的详细摘要公布给大家,希望能对大家有所帮助。
附件名称/大小 下载次数 最后更新
2003-07-11_PPPoE实现方案.doc (176KB)  90
★人生没有失败,只有粉碎!★
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2003-07-11 12:34
有即时联系方式吗?

QQ:364479
UC: 10091
msnd: ma13910206425@hotmail.com


可以交流一下吗?
msn和uc每天在线.
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
sureman
驱动牛犊
驱动牛犊
  • 注册日期2001-08-22
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分63分
  • 威望27点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-11 12:41
msn:50889
★人生没有失败,只有粉碎!★
sureman
驱动牛犊
驱动牛犊
  • 注册日期2001-08-22
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分63分
  • 威望27点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-11 12:41
qq:50889
★人生没有失败,只有粉碎!★
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-11 14:27
系统的ppp协商过程是如何做的??ras和是如何来处理IPCP协商的Ip还有系统的路由的?他那个IP是如何加到ppp adapter上面的?居然是4个255?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
conglin
驱动牛犊
驱动牛犊
  • 注册日期2001-12-12
  • 最后登录2003-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-12 01:03
sureman:
  文档中提及PPP协议在NDISWAN中实现,其实不然,在win2k上实现PPP/SLIP协议的应用层的RasPPP.dll,NDISWAN只能说是实现了调度接口。
  最近反汇编了众多DLL/SYS,才发现NDISWAN/TAPI/RAS体系原来如此复杂,而且三者间的耦合非常的高,如果我们单纯从Documented的API函数来看,我们甚至无法把这三层分开。
 
Mikeluo:
 RAS的IPCP协商都是在RasPPP.dll中实现的,NDISWAN和这个协商似乎无关。RAS处理路由在RasPPP.dll中实现,其中调度了dhcpcsvc.dll/iphlpapi.dll。  PPP adapter的ip设定也在这里完成。
PPP设定路由的主要函数从Windbg看出应该是IpcpProjectionNotification。我觉得4个255可能是在Hardcode在RasPPP.dll中的,
反汇编调试中,我们发现有这句话,我觉得很有可能就是设定Mask的。
or [ebp-20], 0FFFFFFFFh


sureman
驱动牛犊
驱动牛犊
  • 注册日期2001-08-22
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分63分
  • 威望27点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-12 08:29
conglin可能是对的,因为我们实现pppoe的时候,并没有对ppp的细节考虑过多的考虑,故一并把其他的事情归到ndiswan界面中了。
至于这个界面之后又调用了什么东东,就没有管了。
要向你学习这种认真的态度!
★人生没有失败,只有粉碎!★
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-12 11:07
sureman:
  文档中提及PPP协议在NDISWAN中实现,其实不然,在win2k上实现PPP/SLIP协议的应用层的RasPPP.dll,NDISWAN只能说是实现了调度接口。
  最近反汇编了众多DLL/SYS,才发现NDISWAN/TAPI/RAS体系原来如此复杂,而且三者间的耦合非常的高,如果我们单纯从Documented的API函数来看,我们甚至无法把这三层分开。
 
Mikeluo:
 RAS的IPCP协商都是在RasPPP.dll中实现的,NDISWAN和这个协商似乎无关。RAS处理路由在RasPPP.dll中实现,其中调度了dhcpcsvc.dll/iphlpapi.dll。  PPP adapter的ip设定也在这里完成。
PPP设定路由的主要函数从Windbg看出应该是IpcpProjectionNotification。我觉得4个255可能是在Hardcode在RasPPP.dll中的,
反汇编调试中,我们发现有这句话,我觉得很有可能就是设定Mask的。
or [ebp-20], 0FFFFFFFFh
 

我想ndiswan应该做两件事,一是封装ppp的报文,二是调度wan miniport。
协商过程有ras来做应该是很合理的。ras应该是填充了ppp的payload,然后由ndiswan来封装成ppp的报文,然后调度相应的wan miniport来发送。
ras在添加ip的时候使用的应该不是公开的接口来做的。windows上面有很多的接口是没有公开的。

我现在想如果修改从ndiswan出来的ppp报文应该是可以的。
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
conglin
驱动牛犊
驱动牛犊
  • 注册日期2001-12-12
  • 最后登录2003-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-12 19:51
Mikeluo讲的没错,NDISWAN是封装PPP Frame的。
MSDN中关于NDISWAN的陈述
Before sending packets to the WAN miniport driver’s send function, NDISWAN does simple PPP HDLC framing. Simple PPP HDLC framing is PPP\'s HDLC framing without the FCS, bit or byte stuffing, and any beginning or end flags.

Protocol的声明和解释是在RasPPP.dll中完成的。

有兴趣的话可以跨机跟踪包含Ras Service的某个svchost进程。不过在进程列表中会有多个这样的进程。我是通过Process Explorer来查找的,先排除掉没有rasppp.dll/rasmans.dll的进程,然后选择显示最慢的那个。
Nemesis2k
驱动牛犊
驱动牛犊
  • 注册日期2002-03-29
  • 最后登录2004-10-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-13 14:17
如果我要写一个 Protocol Driver 绑定到 NdisWanIp
上面接发报该注意些什么问题?和绑定到以太网卡上
应该不同吧!

另外楼主的文章该怎么下载?

[编辑 -  7/13/03 by  Nemesis2k]
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
10楼#
发布于:2003-07-15 09:09
 :D :D :D
看了,没看明白,不过可以看出来,研究的不错,好!
琢磨悟真知
游客

返回顶部