用于仿真以太网网络接口卡的体系结构的制作方法

文档序号:7753229阅读:380来源:国知局
专利名称:用于仿真以太网网络接口卡的体系结构的制作方法
技术领域
本发明一般地涉及用于分布式计算机网络的无线设备,尤其涉及在无线协议网络上利用无线设备与计算机系统进行通信。
背景技术
通常,无线调制解调器可以经由串行端口(也就是,RS232串行端口,也被称为计算机系统的COM端口)连接到计算机系统。甚至在调制解调器包含在计算机系统内的PC卡上的情况下,调制解调器在串行端口与计算机通信,表现为一种串行端口设备。
图1A示出一种典型的现有技术的“连接建立”类型网络系统的构成。发送计算机系统包括具有用于控制网络上通信的应用软件的操作系统(operating system,OS)网络软件。该发送计算机系统的应用软件通常向调制解调器发送命令(例如,Hayes AT命令),使它拨叫远程计算机/调制解调器并建立连接。在连接成功建立后,应用软件提供的数据可以从发送计算机通过网络传送到目的计算机。在互联网系统中,计算机系统可以拨叫互联网服务提供商(ISP),数据以互联网协议(IP)包的形式进行交换。
这种类型的系统被归类为“连接建立”类型系统,这是因为当在网络上进行通信时,需要一些命令和控制的交换,当通过网络进行通信时这种交换或者人工启动(例如,启动拨号程序),或者由操作系统自动启动(例如,当一应用试图发送数据时,操作系统已经事先被配置以自动地启动拨号程序)。
与上述的“连接建立”类型系统相对的是“总是连接”类型的系统或网络。一个“总是连接”类型网络的例子是图1B中示出的局域网(LAN)。该网络利用一个I/O设备或计算机上的网络接口卡(network interface card,NIC)来传送去往和来自网络上的服务器的数据。在这种技术中,用于促进LAN网络上的数据传送的接口协议假定通信介质总是存在/总是连接,准备好在网络和计算机之间通过包进行数据交换。另外,用于促进在“总是连接”类型网络上的数据传送的信息被包含在包头中。因此,在交换数据之前不需要“连接建立”的步骤。驱动软件(应用软件负责把I/O设备连接到计算机OS内的通信模块)负责提供网络的“总是连接”视图。
应该提到,传送“总是连接”类型通信的网络连接线路可以是无线网络或有线网络。在无线介质的情况下,和有线网络中相同的协议(总是在线,总是连接)被用于促进包的传送,使得即使数据被用无线的方式传送,都不再需要用户进行“连接建立”的步骤。
在“总是连接”的网络系统中,假设某些服务在网络上存在且可用。“总是连接”类型网络(和不存在或不需要用于“连接建立”类型通信的网络)所特有的两种基本服务是ARP(AddressResolution Protocol,地址解析协议)服务和DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)服务。
ARP服务允许计算机发现与其它网络中的计算机直接通信所需要的低级地址。例如,连接到LAN的计算机有两个地址一个与计算机相关联的IP(Internet协议)地址以及一个与计算机LANI/O设备相关联的MAC(media access control,介质访问控制)地址。如果两台计算机知道相互的MAC地址,它们能仅仅通过LAN进行交换数据。因为在通信过程中计算机利用它们在网络上的IP地址识别自己,所以需要一种方法来确定计算机的MAC地址。在LAN网络中的一台计算机在给定目标计算机IP地址的情况下使用ARP服务来找到另一计算机的MAC地址。
在LAN系统中利用ARP服务,以致当发送计算机想要把数据发送给目的计算机时,发送计算机广播一个带有目的计算机IP地址的ARP请求包。一旦接收到ARP请求,目的计算机发送带有它的MAC地址的ARP应答。现在,发送计算机可以直接地把信息发送给目的计算机。为了减少广播的次数,发送计算机把IP-MAC地址映射存储到缓存中。这样,当在发送计算机缓存中没有找到IP-MAC地址时,使用ARP服务。如果目的IP地址属于一台没有连接到LAN的计算机(也就是,目的计算机在不同的网络内),数据被传送到LAN上的网关。网关的MAC地址也使用ARP服务来确定。
DHCP服务允许一台新近出现在网络上的计算机发现和向网络服务器询问关于自己和关于网络的配置信息。特别是,一台连接到使用传输控制协议(TCP/IP)协议组件来建立/保持连接和移动数据的LAN的计算机必须由IP地址来识别。IP地址可以被持久地分配,在这种情况下,如果使用另一IP地址,必须手动改变。另外一种方式是,当计算机通过DHCP服务启动时,IP地址可以动态分配。计算机的TCP/IP栈可以利用一IP地址进行动态配置。为了使DHCP运行,必须有一个DHCP服务器连接到LAN。DHCP服务器是一台具有管理有限IP地址池(集合)的专门任务的计算机。
本发明提供了一种仿真器,从而为“连接建立”类型的网络模拟“总是连接”类型的连接。特别是,本发明涉及一种软件体系结构,该体系结构允许远程计算机系统仿真NIC,因此在“连接建立”类型的网络中提供了“总是连接”的网络模型的功能。

发明内容
本发明提供了一种用于促进网络上远程计算机系统和主机服务器之间利用“连接建立”类型的网络进行数据通信的软件体系结构。该体系结构用来仿真“总是连接”类型的设备驱动器的操作,使得远程计算机的操作系统软件察觉一种“总是连接”类型的通信在进行,而不是“连接建立”类型的通信在进行。一个“总是连接”类型的网络可以是LAN或Internet网络。结果是,通信能在“连接建立”类型的网络上与“总是连接”类型的网络上的通信以同样的方式传送,也就是,对计算机系统用户透明,没有用户的干涉。
该体系结构通过截取计算机OS发送的“总是连接”类型的报文和生成“总是连接”类型的报文来仿真“总是连接”类型的设备的操作,使得应用软件察觉正在与另一计算机进行的通信是在一“总是连接”类型的网络上。该体系结构提供给计算机系统截取数据通信并把它们传送到计算机系统I/O设备用于在“连接建立”类型的网络上传送的可能性。
该体系结构用于在具有能仿真传统“总是连接”类型的网络服务的无线接口装置的远程计算机系统上使用。服务包括ARP(Address Resolution Protocol,地址解析协议)服务,使得无线接口装置监控“总是连接”类型的应用软件输出的流量,并截取ARP请求。该软件体系结构允许远程计算机系统通过用对应于无线接口装置并且全球唯一MAC地址来应答ARP请求。一旦接收到ARP应答,“总是连接”类型的应用软件认为目的计算机IP地址处于相同的“总是连接”类型的网络中,并把数据通信发送到无线接口装置。数据通信然后通过无线接口装置发送,被传送到“连接建立”类型的网络上。
根据本发明的体系结构也可以提供“总是连接”类型的DHCP服务,其中,远程计算机系统被编程以用来截取DHCP请求。当一个DHCP Discover报文被截取时,该体系结构允许远程计算机系统创建一个包括IP地址的DHCP Offer,并把它发送给“总是连接”类型的应用软件。因此,为了在计算机系统内适当地配置TCP/IP栈,该体系结构可以仿真DHCP服务器。


这些特征和该发明的其它特征将参照附图而变得更加明显,其中图1A示出现有技术中的“连接建立”类型的系统的例子;图1B示出现有技术中的“总是连接”类型的系统的例子;图2示出利用本发明的软件体系结构的无线接口装置,它位于连接到“连接建立”类型的网络的远程计算机系统内,用于利用一套“总是连接”类型的方法进行数据通信;图3示出图2的无线接口装置;以及图4说明本发明的核心体系结构(bullet architecture)。
具体实施例方式
现在参照附图,其中,附图仅仅用来说明本发明的优选实施例,而非用于限定本发明,图2说明了远程计算机系统内的无线接口,该无线接口仿真了计算机内“总是连接”类型的网络接口卡(networkinterface card,NIC)或I/O设备的操作。结果是,远程计算机察觉它处于连接到其它计算机系统的“总是连接”类型的环境下,而实际上远程计算机通过“连接建立”通信网络连接到主机服务器。
无线接口可以响应从OS接收到的“总是连接”类型的服务报文,通过向远程计算机操作系统(operating system,OS)发送“总是连接”类型的服务报文来仿真“总是连接”类型的NIC或I/O设备。结果是,计算机的OS把数据传送到接口装置,然后数据被传送到网络上。
图2示出无线接口装置接收由计算机系统应用软件发送的“总是连接”类型的通信报文和数据,把被仿真的“总是连接”类型的报文和接收的数据发送回应用软件。
在操作中,无线接口装置监控“总是连接”类型的应用软件流出的信号。当检测到“总是连接”类型的服务报文时,无线接口通过生成一个相应的“总是连接”类型的服务报文发回应用软件来响应。特别是,当截取到一个ARP请求时,无线接口通过生成一个ARP应答并把它发送回应用软件来响应被截取的报文。ARP应答包括一个MAC地址,应用软件觉察该地址是目的计算机的MAC地址。然而,ARP应答中的MAC地址实际上对应于无线接口的全球唯一IP(Internet协议)地址。一旦接收到ARP应答,因为计算机觉察目的IP地址属于处于相同“总是连接”类型的网络上的计算机系统,所以计算机系统通过无线接口装置发送数据。因为在传统的“总是连接”类型网络中,所有流出到网络的数据都通过网络接口卡(NIC)设备,无线接口装置能在把数据发送到网络上之前截取所有由主机计算机发送的数据。
而且,无线接口装置监控来自“总是连接”类型的应用软件的信号以截取DHCP请求。特别是,如果在主机计算机的TCP/IP栈内能够执行DHCP功能,主机计算机将假定在“总是连接”类型的网络上存在DHCP服务器并向它发送DHCP报文。当DHCPDiscover报文被从计算机系统的“总是连接”类型的应用软件发送以动态分配一个IP地址时,Discover报文被无线接口装置截取。作为响应,无线接口装置可以通过创建DHCP Offer来仿真DHCP服务器,该DHCP Offer包括IP地址并把这个IP地址发送到计算机系统的LAN应用软件。然而,IP地址对应于无线接口装置的IP地址。觉察自己正在与DHCP服务器通信,响应于DHCP Offer,计算机系统的应用软件下一步将发送DHCP请求报文。无线接口装置截取DHCP请求报文,并通过向计算机系统的应用软件发送DHCP ACK报文来应答。无线接口的IP地址用来在主机计算机系统内配置TCP/IP栈。所以无线接口装置仿真DHCP服务器以在计算机系统内适当地配置TCP/IP栈。
另外,在传统的“总是连接”类型的系统中,包含在PC卡上的I/O设备一经插入就被自动检测,网络通信软件模块(也就是,应用软件)被自动启动。然而,这对于传统的“连接建立”类型的调制解调器PC卡来说就不是这种情况了。因此,通过仿真“总是连接”类型的设备驱动器,无线接口装置将自动地被计算机系统的通信软件检测,OS中的“总是连接”类型的通信模块将被主机计算机自动启动。
参照图3,接口装置20包括仿真器30,该仿真器具有报文截取器31和“总是连接”类型的服务报文生成器32。从OS应用软件截取到的信号30A包括从“总是连接”类型的应用软件发送的“总是连接”类型的服务报文和数据。信号30A中检测到的任何服务报文都被报文截取器31截取并被传送到服务报文生成器32。“总是连接”类型的服务报文生成器32生成适当的“总是连接”类型的报文响应并将其传送到网络软件。由于被仿真的报文,来自网络软件的数据包也被发送到无线接口。当无线接口检测到信号30A中的数据包时,数据包通过无线接口设备20被传送到总线33和计算机系统的I/O设备以便在网络上传送。另外,通过I/O设备从网络接收的数据包通过总线33上的无线接口装置被没有更改地传送回来。
“总是连接”类型的服务报文生成器32包括ARP报文生成器32A和/或DHCP报文生成器32B。在这一实例中,被截取器31截取的ARP报文被传送到ARP报文生成器32A,ARP报文生成器32A反过来生成被仿真的ARP报文。类似地,被截取的DHCP报文被传送到DHCP报文生成器32B,DHCP报文生成器32B反过来生成被仿真的DHCP报文。
如前面所提到的,无线接口设备20可以采用一种允许“总是连接”类型的通信的方法与计算机系统通信。无线接口设备20是诸如PCMCIA调制解调器这样基于拨号上网工作的无线调制解调器。因此,为了使调制解调器能够访问互联网,调制解调器经由PPP(点到点协议)连接连接到无线网络。然而,PPP连接是“连接建立”类型的网络,使得调制解调器通常利用远程计算机OS拨号上网特征。
除了用接口卡20仿真ARP报文和DHCP报文外,本发明提供了一种远程计算机系统仿真“总是连接”类型的报文的体系结构。该体系结构允许远程计算机系统仿真NIC,使得远程计算机系统将认为它连接到以太网LAN。这样,该体系结构允许远程计算机系统通过使用安装在远程计算机上的NDIS小型端口驱动器模仿LAN操作。参照图4,NDIS小型端口驱动器允许远程计算机系统过滤掉并内部处理ARP包和DHCP包,这是因为没有评估TCP服务器要访问。这样,远程计算机将被配置有以太网PAD、DHCP服务器、和ARP服务模块。连接建立类型的网络通过PPP连接分配IP地址和DNS服务器。NDIS小型端口驱动器的实现包括连接管理状态机拨号和保持与PPP服务器的连接。这样,NDIS小型端口驱动器将包含用于协商的整个PPP栈,如图4所示。因此,NDIS小型端口驱动器具有一些OS拨号上网的功能并实施它们。如果连接中断,NDIS小型端口驱动器可以重新建立连接,而不用用户干涉。
应当意识到,IP地址由PPP服务器分配,如果PPP连接中断并重新建立,IP地址可以改变。这样,NDIS小型端口驱动器包含一个可以监控IP地址分配变化的DHCP服务器。DHCP服务器的功能类似于报文生成器32的DHCP报文生成器32B。DHCP服务器不能把变化直接显示给上面的TCP/IP栈,因为DHCP协议仅仅允许DHCP客户启动租赁更新。IP地址被定期地监控以确定IP地址是否已经变化。如果IP地址已经变化,NDIS小型端口驱动器将迫使DHCP客户释放和更新DHCP租赁(lease)以获取PPP服务器分配的最新IP地址。
另外,如图4所示,体系结构为ARP服务模块提供了地址解析服务。如上面所提到的,ARP服务将提供通常可在LAN(也就是,“总是连接”)类型的连接中发现的地址解析。ARP服务模块的功能类似于报文生成器32的ARP报文生成器32A。
本发明的一个好处是它允许被设计在“连接建立”类型的环境中工作的计算机系统工作就好像它在“总是连接”类型的环境中那样总是在线,这样就消除了“连接建立”的步骤。而且,根据本发明的体系结构绕过了商业OS系统中的某些限制,其中,当计算机设置在待机模式和在从待机模式重新开始手动重新建立时,“连接”必须被终止。例如,使用那些连接的应用在每次电力暂停/继续周期也必须被停止和重新开始。因为根据本发明的体系结构欺骗了计算机系统,使其认为它处于“总是已连接”类型的网络中,使用连接的应用可以独立于计算机系统工作。
因此,本发明提供了安装在远程计算机系统上的LAN卡的软件仿真。如图4中所示,根据本发明的体系结构提供了一种仿真NIC卡的软件解决方案。这样,无线接口卡20不需要利用前面所述的ARP报文生成器32A和DHCP报文生成器32B提供ARP服务和DHCP服务。
本发明的其它修改和改进对于本领域技术人员而言是显而易见的。这样,在此描述和说明的部分的特定结合目的仅仅是为了描述该发明的某些实施例,而不是为了限制本发明的精神和范围内的可选设备。
权利要求
1.一种通过“连接建立”类型的网络在远程计算机系统和主机服务器之间进行通信的体系结构,所述体系结构包括用于启动所述远程计算机系统和所述主机服务器之间的点到点协议(Point-to-Point Protocol,PPP)连接的装置;用于通过所述远程计算机系统处理和过滤ARP包和DHCP包的装置;以及用于通过所述远程计算机系统释放和更新DHCP租赁以经由最新的IP地址进行连接的装置;其中所述主机服务器和所述远程计算机系统之间的所述连接将表现为到所述远程计算机系统的“总是连接”类型的连接。
2.根据权利要求1所述的体系结构,其中用于启动所述PPP连接的装置用于给所述远程计算机系统配置PPP栈。
3.根据权利要求2所述的体系结构,其中所述PPP栈由安装在所述远程计算机系统上的驱动器配置。
4.根据权利要求1所述的体系结构,其中用于处理和过滤ARP包和DHCP包的装置用于给所述远程计算机系统配置DHCP服务器和ARP服务模块。
5.根据权利要求4所述的体系结构,其中所述DHCP服务器和所述ARP服务模块由安装在所述远程计算机系统上的驱动器配置。
6.根据权利要求1所述的体系结构,其中用于释放和更新所述DHCP租赁的装置用于给所述远程计算机系统配置DHCP服务器。
7.根据权利要求6所述的体系结构,其中所述DHCP服务器由安装在所述远程计算机系统上的驱动器配置。
8.一种用于通过“连接建立”类型的网络在远程计算机系统和主机服务器之间进行通信的体系结构,所述体系结构包括配置在所述远程计算机系统上的点到点协议(Point-to-Point Protocol,PPP)栈;配置在所述远程计算机系统上的提供地址解析的ARP服务模块;配置在所述远程计算机系统上的提供DHCP租赁更新的DHCP服务器;其中在所述远程计算机系统上配置所述PPP栈、所述ARP服务模块、以及所述DHCP服务器,使得所述远程计算机系统和所述主机服务器之间的连接将表现为到所述远程计算机系统的“总是连接”类型的连接。
9.根据权利要求8所述的体系结构,其中所述PPP栈保持所述远程计算机系统和所述主机服务器之间的拨号连接,而不用来自所述远程计算机系统的用户的干涉。
10.根据权利要求9所述的体系结构,其中所述远程计算机系统包括用于提供所述远程计算机系统和所述主机服务器之间的连接的无线接口装置。
11.一种通过“连接建立”类型的网络提供远程计算机系统和主机服务器之间的连接的方法,所述方法包括以下步骤a)给所述远程计算机系统配置点到点协议(Point-to-PointProtocol,PPP)栈;b)给所述远程计算机系统配置地址解析协议(AddressResolution Protocol,ARP)服务模块;c)给所述远程计算机系统配置动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)服务器;以及d)经由“连接建立”类型的网络在所述远程计算机系统和所述主机系统之间进行通信,而所述PPP栈、所述ARP服务模块、和所述DHCP服务器使所述连接表现为到所述远程计算机系统的“总是连接”类型的连接。
12.根据权利要求11所述的方法,进一步包括给连接协商提供所述PPP栈的步骤。
13.根据权利要求12所述的方法,进一步包括分别利用所述ARP服务模块和所述DHCP服务器处理和过滤ARP包和DHCP包的步骤。
14.根据权利要求11所述的方法,其中所述PPP栈、所述ARP服务模块、以及所述DHCP服务器是驱动器模块,所述方法进一步包括安装驱动器以给所述远程计算机系统配置所述PPP栈、所述ARP服务模块、和所述DHCP服务器的步骤。
全文摘要
本发明提供了一种通过“连接建立”类型的网络(也就是,拨号网络)在远程计算机系统和主机服务器之间进行通信的体系结构。该体系结构包含给远程计算机系统配置点到点协议(PPP)栈。类似地,在远程计算机系统上也配置有地址解析协议(ARP)服务模块和动态主机配置协议(DHCP)服务器。PPP栈提供了拨号上网能力,而DHCP服务器和ARP服务模块提供了“总是连接”类型的网络(也就是,LAN)报文传送功能。PPP栈、ARP服务模块和DHCP服务器被配置为安装在远程计算机系统上的驱动器。这样,驱动器使得通过“连接建立”类型的网络建立表现为到远程计算机系统的“总是连接”类型的连接。
文档编号H04L12/28GK1663221SQ02825791
公开日2005年8月31日 申请日期2002年12月18日 优先权日2001年12月20日
发明者何子涛 申请人:施克莱无线公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1