大家都知道 windows 可以在网卡上设共享,也叫 Internet 连接共享,
实际就是做了一个 NAT 。
我想知道它实现的一些细节,
比如,提供服务的进程名(如果有的话),在协议栈中的位置,是否用 ndis 驱动……等等,
任何提供有关信息者均有分。
多谢!

解决方案 »

  1.   

    网关上可以支持NAT,属于第七层
    路由器也可以开启,属于第三层。^_^
      

  2.   

    ft! 你们你们都给我打住!俺可不是来讨论 NAT 工作在第几层上的!
    我想知道的是 windows 的 NAT 是在哪里实现的?
    是C:\WINNT\System32\svchost.exe -k netsvcs 吗?
    和 msafd.dll 是否有关?
    如果是在应用层实现的,那它难道用套接字了?
    如果在驱动层,是什么驱动?btw: NAT 显然工作在第三层,搞网络的要是连这个都不知道就别搞了,
    所谓的第七层纯粹是偷换概念!
      

  3.   

    http://www.yesky.com/20021204/1642790.shtml
      

  4.   

    to kingzai(stevenzhu)
    不错!可是缺少我想知道一些实现细节
      

  5.   

    http://www.6to23.com/s15/s15d1/s15d1d1/s15d1d1d2/2002527103255.htm
      

  6.   

    http://www.axin.net/article/ShowArticle.asp?ArticleID=455
      

  7.   

    ……无语……
    难道我的问题表述的还不够清楚吗?我不可是来问 NAT 原理的!
    ……俺还是去别处看吧……
      

  8.   

    NAT是核心驱动程序system32\DRIVERS\ipnat.sys实现的,我以前也很写个控制WINDOWS NAT的程序,可是没有找到接口。
      

  9.   

    辛苦敲了10分钟,结果一提交,告诉我网页错误,
    后退,敲的东西都没了,我靠!!!那还是
    建议你看看tcp/ip进行网际互联第一卷(douglas E.Comer),273页 NAT,讲的很详细
      

  10.   

    不好意思,看错主题了 >_<!
      

  11.   

    IM层可以实现。理论上说TDI层应该也是可以实现的。不过不如IM标准。
      

  12.   

    用tdi hook啦,所有的包从自己这里走一下,自己做个tdiclient转发掉。:)
    纯属猜测。