zoukankan      html  css  js  c++  java
  • 【WAN笔记No.1】TDI与SPI

    TDITransport  Driver  Interface 传输驱动程序接口

    |应用层|------exe程序,比如IE

    |表示层|-------ws2_32.dll——ws2_32.dllWindows Sockets应用程序接口,用于支持Internet和网络应用程序。在这一层中也存在HOOK API技术抓连接,实现容易功能简单。

    |会话层|-------SPI 是(Service Provider Interface)服务提供者接口,

    ------------------------user model------------------------

    ------------------------kernel model------------------

    |传输层|-------TDI(不能截获ICMP等协议的数据)

    |网络层|-------NDIS(可以截获所有的网络数据)实现起来较复杂。

    |链路层|-------设备驱动      

    |物理层|-------网卡

    TDITransport  Driver  Interface 传输驱动程序接口

    |应用层|------exe程序,比如IE

    |表示层|-------ws2_32.dll——ws2_32.dllWindows Sockets应用程序接口,用于支持Internet和网络应用程序。在这一层中也存在HOOK API技术抓连接,实现容易功能简单。

    |会话层|-------SPI 是(Service Provider Interface)服务提供者接口,

    ------------------------user model------------------------

    ------------------------kernel model------------------

    |传输层|-------TDI(不能截获ICMP等协议的数据)

    |网络层|-------NDIS(可以截获所有的网络数据)实现起来较复杂。

    |链路层|-------设备驱动      

    |物理层|-------网卡

     

    SPI的结构方式

    服务提供者有两种,一种是分层服务提供者,一种是基础服务提供者,我们的分层服务提供者必须调用基础服务提供者或者下面一层的分层服务器提供者,然后把请求提交到他上面的一层(上面的一层可能是另外一个分层服务提供者,也可能是ws2_32.dll)。而我们写的基础服务提供者必须调用系统基础服务提供者,然后把请求提交到ws2_32.dll。请注意,系统里可能不仅仅安装了我们的基础服务提供者,也安装了别人写的基础服务提供者。在安装多个分层服务提供者和多个基础服务提供者的情况下,这两者的组织方式是不同的

    如下图

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

    |                        ws2_32.dll                        |

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

    |我们的分层服务提供者|

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

    |别人的分层服务提供者|

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

    |别人的分层服务提供者|

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

    |别人的分层服务提供者| |别人的基础服务提供者| |我们的基础服务提供者

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

    |                 系统基础服务提供者                          

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

     

  • 相关阅读:
    celery完成简单的定时任务
    看直播软件源码,如何实现直播系统业务以及技术注意点分析
    直播后台开发,php直播源码这样选择才不会出错
    直播平台源代码的基础功能和首屏优化,小白必看点
    开发短视频软件,短视频源码具有无限的开发潜力
    直播带货源码的安全稳定性到底有多重要?
    搭建直播平台,选对视频直播系统源码有多重要?
    提升短视频应用体验,短视频源码要做哪些完善?
    全世界都在用的编程语言,php直播源码你还不知道就out了
    直播带货系统源码如何举稳直播带货风潮下的大旗
  • 原文地址:https://www.cnblogs.com/vman/p/2190309.html
Copyright © 2011-2022 走看看