检查及过滤因特网协议包的网络接口长结构及其方法

文档序号:7573719阅读:209来源:国知局
专利名称:检查及过滤因特网协议包的网络接口长结构及其方法
技术领域
本发明涉及一种能自动检查及过滤IP(Intemet Protocol,因特网协议)信息包且直接启动应答程序的网络接口卡结构及其方法,尤指一种在一般网络接口卡上加设自动检查IP信息包及ARP(Address Resolution Protocol,地址裁决协议)信息包的功能,在本发明的网络接口卡发现所接收的信息包属要求的信息包时,可直接启动ARP或PING(信息包网络搜寻程序)的自动应答程序,发送应答信息,且可直接由该网络接口卡过滤逾时、错误或IP地址不符的信息包,并予以丢弃,而不致因信息包使电脑的中央处理器产生中断,因此可有效提高电脑的中央处理器(即CPU)及网络系统的处理效能。
一般乙太网络信息包的框架结构如

图1所示,其前8个字节为前文(Preamble)与框架起始栏(SFD),接着12个字节为目的地址与起始地址栏位,再接着为2个字节的数据类型或长度栏位,其后为数据区段与信息段检测序列(CRC)。
在传统的网络系统中,如图2所示,网络接口卡11主要包含网络控制器112及数据转换器111等单元,这种网络接口卡11的网络数据传输原理为由该数据转换器111接收传输线10所传来的信息包,并通过该数据转换器111将所接收的信息包数据转换成适当格式后,再送至网络控制器112,网络控制器112主要包括网络接口逻辑电路113、中断信号控制逻辑电路114、数据缓冲记忆体115及主系统接口逻辑电路116等单元,网络控制器112的中断信号控制逻辑电路114先检查由数据转换器111所传来的信息包的目的地址是否与来源地址相符,若不相符,则控制器112即不再处理后续数据,若符合,则网络控制器112即通过网络接口逻辑电路113的控制,将该信息包数据依序存至数据缓存器115,待该信息包数据完全存入数据缓存器115后,该中断信号控制逻辑电路114将检查该信息包的信息段检测序列(CRC)是否正确,若正确,则表示已收入一正常信息包,该中断信号控制逻辑电路114即发出中断信号,通过系统接口逻辑电路116,通知主机112的中央处理器处理这些信息包数据。
此外,在传统的网络系统中,网络接口卡11每接收一信息包,无论该信息包属要求信息包或应答信息包,均必须发出一中断信号,通知主机12的中央处理器判断处理该信息包,若主机12的中央处理器判断该信息包为一要求信息包时,中央处理器将启动ARP或PING的自动应答程序,发送应答信息。
此种传统网络系统的中断信号在整个信息包进入该数据缓存器115时,才由网络控制器112发出,意即在一个正常的信息包被完全接收后,才产生中断信号,如图3所示的A点,通知主机12的中央处理器读取该信息包数据。由此可知,在传统网络系统中,网络接口卡11每接收一信息包,即必须发出一中断信号,通知主机12的中央处理器处理该信息包,而由发出中断信号到中央处理器开始处理数据期间,一般均存在一段时间延迟Δt。
目前,电脑网络的传输速度愈来愈快,以高速乙太网络为例,其信息包传输量最快可达每秒传送148,800个信息包数(Gigabit的乙太网络每秒传送的信息包数更将十倍于此),网络接口卡在接收到每一信息包时,均对电脑主机的中央处理器发出一中断信号,以产生中断,而中央处理器对每一中断,又需耗费10微秒的时间来处理,如此,中央处理器在接收网络接口卡每秒所传送的信息包数时,至少另需耗费约1.5秒的时间来处理中断信号,致使这种传统网络接口卡始终无法有效提高电脑的中央处理器及网络系统的处理效能。由此可知,如何有效减少网络接口卡对电脑主机发出中断讯号的次数,是提高网络效率的一重要课题。
此外,理论上,电脑常用的PCI扩充槽的频宽约为133 M Byte,该频宽被其上所有的接口卡所分享,而网络接口卡在传送数量庞大的信息包时,又需耗费大量频宽(高速乙太网络全双功为25M Byte,Gigabit乙太网络则为250M Byte),故欲有效提高电脑中央处理器的整体效率,将有赖于是否能有效减少网络信息包通过扩充槽的数量。
鉴于上述传统网络系统在设计上所产生的中断次数频繁及时间延迟等问题,本发明的目的在于提出一种能自动检查及过滤IP信息包且直接启动应答程序的网络接口卡结构及其方法。
本发明的目的是这样实现的,即利用网络系统中网络层(Network Layer)的IP通信协议特性,在网络接口卡上加设一通信协议检测电路,以在网络信息包进入网络接口卡时,直接检测所收到的信息包是否为标准的IP信息包,如确实是IP信息包,则检查IP标题内的存活时间是否大于零,及其标题检查码是否正确,并比较其目的IP地址是否与一IP地址记录器内预设的IP地址相符,如检查无误且目的IP地址相符,网络接口卡即按照处理一般信息包的方式,发出中断讯号,经电脑扩充槽通知电脑的中央处理器,自网络接口卡提取所收到的信息包,否则,网络接口卡将过滤逾时、错误或IP地址不符的IP信息包,予以丢弃,以避免因这些不符IP通信协议的信息包而使电脑中央处理器产生中断。
根据本发明的一个方面,当该通信协议检测电路进一步检测出该IP信息包的ICMP类栏位表示PING的要求信息时,将启动PING的自动应答程序,直接发送应答信息,而无须发出一中断信号,通知主机的中央处理器处理该信息包,有效减轻电脑扩充槽及中央处理器的负担,大幅提高网络系统数据处理的速度及效率。
根据本发明的另一方面,利用网络系统的ARP通信协议特性,在网络接口卡上加设一通信协议检测电路,以在网络信息包进入网络接口卡时,直接检测所收到的信息包是否为标准的ARP应答信息包,并比较其目的IP地址是否与一IP地址记录器内预设的地IP址相符,如检查无误且目的IP地址相符,则按照一般信息包的传送方式,发出中断讯号,经由电脑的扩充槽,通知电脑的中央处理器,自网络接口卡提领所收到的该信息包;若该ARP信息包为一要求信息包,则启动ARP自动应答程序,直接发送应答信息;否则,将错误的信息包丢弃,以有效减少产生中断的次数,缩短中断讯号所造成的时间延迟。
以下将结合附图详细描述本发明的实施例。附图中图1为乙太网络中信息包的框架结构示意图;图2为传统网络系统的硬件结构方块示意图;图3为传统网络系统在中断信号发出与中央处理器进行数据处理间时间延迟情形的示意图;图4为国际标准组织所建议的OSI开放系统互联网络电脑通信标准模式中七个功能层次的示意图;图5为本发明的硬件结构方块示意图;图6为乙太网络中IP信息包的框架结构示意图7为本发明的操作流程示意图。
在网络系统上,为使所连接的不同电脑之间彼此得以相互连接沟通及传送信息,必需借助一彼此能相互遵循的通信协议,使一电脑所发出的信息,可经由该通信协议正确地传送至网络系统上与其相连的其它电脑,且彼此所发出的信息可相互了解,而达到互通信息的目的。通常,通信协议将通信活动上所应有的一切功能及规格予以结构划分成为若干垂直关连的层次,每一层都有其完成通讯工作所应具备的功能,各层次间彼此联贯分明,分层负责,以依序完成互通信息的各项工作。
根据国际标准组织,建议作为电脑通信标准模式的OSI模式,如图4所示,主要分成下列七个功能层次,(一)实体控制层(The Pyscial Control Layer);(二)数据链控制层(The Data Link Control Layer);(三)网络层(Network Layer);(四)传输层(The Transport Layer);(五)会谈层(The Session Layer);(六)表达层(The Presentation Layer);(七)应用层(The Application Layer)。
在OSI模式的七个功能层次中,较低的三层主要指与数字通信网络有关的功能,较高的四层则指与通信系统及各种应用有关的功能,而其中第一层的实体控制层及第二层的数据链控制层的功能主要由硬件完成。
以一般网络接口卡为例,其中各电子元件主要为实现电子工程师协会(简称IEEE)网络模型中的逻辑连结(简称LLC)及媒体存取控制(简称MAC)的功能,亦即相当于国际标准组织中的实体层和数据链层的功能。OSI模式中第三层的网络层的大部分功能及其它较高四层的功能则完全由软件完成。
由于根据国际标准组织所建议的OSI模式中七个功能层次的协议结构,每一层彼此联贯分明,分层负责,具有独立性及模组化的特性,因此,各研究团体或组织亦各自依其所建立的系统发展每一层次的协议。在诸多通讯协议中,美国国防部高深研究计划署(DARPA)所研订的传输控制协议/因特网协议(简称TCP/IP)为目前被广泛采用的标准,该项协议中IP属ISO的第三层,具有网间网络(Intemetworking)的功能,是一种网间网络协议;TCP属OSI的第四层,具备传送服务功能,是一种端至端传输控制协议;此两者构成传送网络的主要部分,其中IP又为网络层的基本传送协议。
本发明主要针对该IP中IP信息包的特性,利用在网络接口卡上加设一通信协议检测电路,以在网络信息包进入网络接口卡时,使网络接口卡可根据IP及ARP,检测所收到的信息包是否为标准的IP信息包或ARP的应答信息包,并比较其目的IP地址是否与一IP地址记录器内预设的地IP址相符,如检查无误且目的IP地址相符,则按照处理一般信息包的方式,发出中断讯号,经由电脑的扩充槽通知电脑的中央处理器从网络接口卡提取所收到的信息包;若该IP信息包的ICMP类型栏表示PING的要求信息或该ARP信息包为一要求信息包,则本发明将启动ARP或PING的自动应答程序,直接发送应答信息;否则即将信息包丢弃。
因此,本发明可使ISO第三层(网络层)的IP中需通过主机中央处理器借助软件完成的大部分功能,均能直接由本发明的网络接口卡完成,以直接过滤逾时、错误或IP地址不符的IP信息包,并在该IP信息包的ICMP类型栏位表示PING的要求信息或该ARP信息包为一要求信息包时,直接启动ARP或PING的自动应答程序,发送应答信息,以缩短因网络接口卡产生中断讯号所造成的时间延迟,减轻电脑扩充槽及中央处理器的负担,以大幅提高网络系统数据处理的速度及效率。
本发明的网络接口卡21主要包含网络控制器22、数据转换器23及通讯协议检测器24等单元,参阅第5图,其中由传输线10传来的信息包通过数据转换器23转换成适当格式后,再分别送至网络控制器22及通讯协议检测器24,其中网络控制器22主要包括一网络接口逻辑电路221、一中断信号控制逻辑电路222、一数据缓存器223及一主系统接口逻辑电路224等单元,通讯协议检测器24则包含一通讯协议检测电路242及一IP地址记录器244等单元,该网络控制器22的网络接口逻辑电路221在接收到由数据转换器23所传来的信息包后,先将该信息包传送至通讯协议检测电路242。
通讯协议检测电路242将检查该信息包的类型栏位是否为0800,参阅图6及图7,若不是,则该信息包不是一IP信息包,然后再检查该信息包的类型栏位是否为0806,若不是,则该信息包亦不是一ARP信息包,此时,该通讯协议检测电路242将按照一般信息包处理程序,将该信息包交由中断信号控制逻辑电路222检查其目的地址是否与来源地址相符,若不相符,则该控制器22即不再处理后续数据,若符合,则该网络控制器22即将该信息包数据依序存至数据缓存器223,待该信息包数据完全存入数据缓存器223后,中断信号控制逻辑电路222将检查该信息包的信息段检测序列(CRC)是否正确,若正确,则表示已收入一正常信息包,该中断信号控制逻辑电路222即发出中断信号,通过系统接口逻辑电路224通知主机12的中央处理器处理这批信息包数据。
参阅图7,若通讯协议检测电路242检查该信息包的类型栏位确为0800,即表示该信息包为一IP信息包,此时通讯协议检测电路242根据该IP信息包的数据框架结构,参阅图6,依序检查该IP信息包的存活时间(TTL)是否等于零?若是,则丢弃该信息包,而结束处理动作;若大于零,继续检查该IP信息包的标题检查码是否正确?若否,则丢弃该信息包,结束处理动作;若该IP信息包的标题检查码正确,则再检查该IP信息包的目的IP地址是否与该通讯协议检测器24的IP的地址记录器244中预设的目的IP地址相符?若不符合,则丢弃该信息包,结束处理动作;若IP地址符合,该通讯协议检测电路242将检查该IP信息包的ICMP类型栏位是否表示PING的要求信息,若是,即直接启动PING的自动应答程序,直接发送应答信息,否则,即按照一般信息包处理程序,将该信息包交由主机12的中央处理器处理。
若该通讯协议检测电路242检查该信息包的类型栏位为0806时,则表示该信息包为一ARP信息包,此时,通讯协议检测电路242将再检查该信息包是否为一要求信息包,若该信息包为一ARP要求信息包,则再检查该ARP信息包的目的IP地址是否与该通讯协议检测器24的IP地址记录器244中预设的目的IP地址相符?若不符合,则丢弃该信息包,结束处理动作;若目的IP地址符合,即直接启动PING的自动应答程序,直接发送应答信息。若该信息包为一ARP应答信息包,即按照一般信息包处理程序,将该信息包交由主机12的中央处理器处理。
在本发明中,通讯协议检测器24的IP地址记录器244中所记录的IP地址,可由网络系统使用者或管理人通过主机12并经该系统接口逻辑电路224预先设定。
由此可知,本发明的网络接口卡可有效过滤逾时、错误或IP地址不符的IP信息包或ARP信息包,并予以丢弃,若该IP信息包的ICMP类型栏位表示PING的要求信息或该ARP信息包为一要求信息包,则本发明将启动ARP或PING的自动应答程序,直接发送应答信息,以避免网络接口卡对电脑中央处理器发出中断讯号,产生中断,造成中央处理器的负担及处理时间的延迟,且避免这些不符IP通信协议的信息包通过扩充槽,造成电脑扩充槽的负荷,故本发明可大幅提高网络系统数据处理的速度及效率。
权利要求
1.一种能自动检查及过滤IP信息包且直接启动应答程序的网络通信方法,主要利用在网络接口卡上加设一通信协议检测电路,以在网络信息包进入网络接口卡时,使网络接口卡可根据IP协议,检测所收到的信息包是否为标准的IP信息包,并比较其目的IP地址与一IP地址记录器内预设的IP地址是否相符,如检查有误或地址不符,即将该信息包丢弃,否则,该网络接口卡即按照一般信息包的处理程序,发出中断讯号,经由电脑的扩充槽通知电脑的中央处理器,从该网络接口卡提取所收到的信息包。
2.如权利要求1所述的方法,其中若所述通讯协议检测电路检查该信息包的类型栏位为一IP信息包,即依序检查该IP信息包的存活时间是否大于零,或其前文检查码是否正确,或目的IP地址是否与所述IP地址记录器中的IP地址相符,若有任一条件不符合时,即将该信息包丢弃。
3.如权利要求1所述的网络通讯方法,其中若所述通信协议检测电路检查所述IP信息包的ICMP类型栏位表示PING的要求信息,则直接启动PING的自动应答程序,发送应答信息。
4.如权利要求1所述的网络通讯方法,其中所述通信协议检测电路在网络信息包进入网络接口卡时,可根据ARP,检测所收到的信息包是否为ARP的要求信息包,若是,则比较其目的IP地址与一IP地址记录器内预设的IP地址是否相符,如检查有误或地址不符,即将该信息包丢弃,否则,直接启动ARP的自动应答程序,发送应答信息。
5.如权利要求4所述的网络通讯方法,其中所述通信协议检测电路根据ARP检测所收到的信息包为一ARP的应答信息包时,所述网络接口卡将按照一般信息包的处理程序,发出中断讯号,经由电脑的扩充槽通知电脑的中央处理器,从该网络接口卡提取所收到的信息包。
6.如权利要求1所述的网络通讯方法,其中所述IP地址记录器中所记录的IP地址可由网络系统使用者或管理人通过电脑主机预先设定。
7.一种能自动检查及过滤IP信息包且直接启动应答程序的网络接口卡结构,主要包括一数据转换器,用于接收到由传输线传来的信息包;一网络接口逻辑电路,用于接收由一数据转换器所传来的信息包,并将该信息包传送至一通讯协议检测电路;一通讯协议检测电路,用于检查所收到的信息包是否为标准IP信息包及ARP信息包,并比较其目的IP地址是否与一IP地址记录器内的地址相符,如检查有误或地址不符,即将该信息包丢弃,若该IP信息包的ICMP类型栏位表示PING的要求信息或该ARP信息包为一要求信息包,则直接启动ARP或PING的自动应答程序,发送应答信息,否则,即按照一般信息包的处理程序,将其传送到一中断信号控制逻辑电路进行处理;一中断信号控制逻辑电路,用于检查所收到的信息包的目的地址是否与来源地址相符,若不相符,即不再处理后续数据;若符合,则将该信息包数据依序存至一数据缓存器;一系统接口逻辑电路,在该中断信号控制逻辑电路检测该信息包的信息段检测序列正确时,即发出中断信号,通过该系统接口逻辑电路,通知主机的中央处理器处理这批信息包数据。
8.如权利要求7所述的网络接口卡结构,其中所述IP地址记录器中所记录的IP地址可由网络系统使用者或管理人通过电脑主机预先设定。
全文摘要
一种能自动检查及过滤IP信息包且直接启动应答程序的网络接口卡结构及其方法,利用在网络接口卡上加设一通信协议检测电路,以在网络信息包进入网络接口卡时,检测所收到的信息包是否为标准的IP信息包或ARP的应答信息包,并比较其目的IP地址是否与一IP地址记录器内预设的IP地址相符,并根据检测和比较结合或发出中断信号、或启动ARP或PING的自动应答程序或将信息包丢弃,以有效减少产生中断的次数。
文档编号H04L1/00GK1217613SQ97122460
公开日1999年5月26日 申请日期1997年11月7日 优先权日1997年11月7日
发明者李中旺, 张智焜 申请人:友讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1