以太网端口控制装置及方法

文档序号:7889414阅读:121来源:国知局
专利名称:以太网端口控制装置及方法
技术领域
本发明涉及以太网的数据处理技术,尤其涉及一种以太网端口控制装置及方法。
背景技术
美国电气电子工程师学会(IEEE)802. Ix协议是基于客户端/服务器(Client/ Server)的访问控制和认证协议。它可以限制未经授权的用户/设备通过接入端口(access port)访问局域网(LAN)。在获得交换机或LAN提供的各种业务之前,802. Ix协议对连接到交换机端口上的用户/设备进行认证和端口控制。在认证通过之前,802. Ix协议只允许基于局域网的扩展认证协议(EAPoL)数据即认证报文通过设备连接的以太网端口 ;报文在认证通过以后,才可以顺利地通过以太网端口。这种控制方式被称为IEEE 802. Ix协议的以太网端口控制。目前实现IEEE 802. Ix协议的以太网端口控制是通过硬件来完成的。如图1为现有的支持IEEE 802. Ix协议的以太网端口控制装置的层次结构图。参见图1,所述物理链路层中包括以太交换芯片,用于以太网的数据交换和IEEE 802. Ix协议的以太网端口控制, 属于硬件;所述以太驱动层中包括以太驱动程序,用于驱动以太网协议,所述内核协议栈为应用层和以太驱动层之间各协议的总称,用于传输应用层和以太驱动层之间的交互信息, 所述应用层用于运行各种上层应用程序;所述以太驱动层、内核协议栈、以及应用层中的各种应用程序由设备的中央处理器(CPU)运行,属于软件程序。现有技术中,应用层的认证服务程序用于根据以太网中的客户端发送的认证报文对客户端的MAC地址和/或以太网交换端口信息进行前期认证,将报文认证参数设置在物理链路层的以太交换芯片的寄存器中,当以太交换芯片收到报文后,由该以太交换芯片实现IEEE 802. Ix的以太网端口控制,也就是说,以太交换芯片根据寄存器中设置的报文认证参数决定是否接收并向CPU上传物理链路层所收到的报文,当收到未认证通过的报文时,以太交换芯片会直接丢弃该报文,而不上交给CPU处理。但是,现有技术这种通过以太网交换芯片的硬件实现IEEE 802. Ix协议以太网端口控制的方式有如下缺点IEEE802. Ix认证协议对硬件有直接的依赖性,在设备应用IEEE802. Ix认证协议的过程中需要硬件即以太网交换芯片来实现IEEE 802. Ix协议以太网端口控制,不但硬件的成本高昂,而且扩展性差,在对端口控制方式进行升级或修改时往往需要更换整个以太网交换芯片。另一方面,有相当多的成本低廉的以太交换芯片却不支持这种IEEE 802. Ix 协议的以太网端口控制,因此所以阻碍了 IEEE802. Ix认证协议的广泛应用。

发明内容
有鉴于此,本发明的主要目的在于提供一种以太网端口控制装置及方法,降低实现以太网端口控制的硬件成本,提高扩展性。本发明的技术方案是这样实现的
一种以太网端口控制装置,包括物理链路层的以太交换芯片,用于将接收的报文传给以太驱动层;以太驱动层的以太驱动程序,用于在收到来自以太交换芯片的报文后确定该报文的类型和源介质访问控制层MAC地址、以及接收该报文的以太交换芯片的端口,将所确定的信息输入端口控制模块,根据端口控制模块返回的信息决定是否接收该报文;以太驱动层的端口控制模块,用于根据应用层的认证服务程序的配置命令设置报文认证参数,其中包括认证通过的MAC地址和/或端口认证信息;并根据所述以太驱动程序的输入信息和所述报文认证参数进行端口控制,所述端口控制包括如果以太驱动程序所收到的报文的类型为认证报文,则通知以太驱动程序接收该报文并上传到上层的认证服务程序,如果是非认证报文,则判断该报文的MAC地址或接收该报文的以太交换芯片的端口是否为所述报文认证参数中设置的已认证通过的MAC地址或端口,如果是则通知以太驱动程序接收该报文并上传到相应的上层应用程序,否则丢弃该报文;应用层的认证服务程序,用于根据以太驱动层上传的认证报文对MAC地址和/或端口信息进行认证,向端口控制模块发送设置报文认证参数的配置指令。优选的,所述端口控制模块具体包括两个对外接口 一个为供所述认证服务程序调用的报文认证参数的配置接口,其中包括用于存储所述报文认证参数的数据结构,所述认证服务程序通过该配置接口对该数据结构中的报文认证参数进行访问和修改;另一个为供以太驱动程序调用的认证函数接口,用于根据所述以太驱动程序的输入信息和所述报文认证参数进行所述端口控制。优选的,所述用于存储所述报文认证参数的数据结构为Troc节点树。优选的,所述以太网端口控制装置使用的认证控制协议为IEEE802. Ix协议。一种以太网端口控制方法,包括以太交换芯片将收到的报文上传给以太驱动层;以太驱动层确定来自以太交换芯片的所述报文的类型和源MAC地址,以及接收该报文的以太交换芯片的端口 ;如果所述报文类型为认证报文,则接收并上传到上层的认证服务程序;所述上层的认证服务程序根据认证报文对MAC地址和/或端口信息进行认证,向以太驱动层发送设置报文认证参数的配置指令;所述以太驱动层根据所述认证服务程序的配置命令设置报文认证参数,所设置的报文认证参数中包括认证通过的MAC地址和/或端口认证信息;如果所述以太驱动层收到的来自以太交换芯片的报文的类型是非认证报文,则判断该报文的MAC地址或接收该报文的以太交换芯片的端口是否为所述报文认证参数中设置的已认证通过的MAC地址或端口,如果是则接收该报文并上传到相应的上层应用程序, 否则丢弃该报文。优选的,进一步包括所设置的报文认证参数中包括默认接受的MAC地址表,所述以太驱动层在确定来自以太交换芯片的报文的源MAC地址后,判断该报文的源MAC地址是否在所述默认接受的 MAC地址表中,如果是则接收该报文并上传到相应的上层应用程序;
和/或,所设置的报文认证参数中包括默认拒绝的MAC地址表,所述以太驱动层在确定来自以太交换芯片的报文的源MAC地址后,判断该报文的源MAC地址是否在所述默认拒绝的MAC地址表中,如果是则丢弃该报文。优选的,所述报文认证参数中进一步设置启动标记,用于表示是否启用以太网端口控制;所述以太驱动层收到的来自以太交换芯片的报文后,首先通过该启动标记判断是否启用以太网端口控制,如果是,则执行后续的所述以太网端口控制流程;否则接收该报文并上传到相应的上层应用程序。优选的,所述报文认证参数中进一步设置认证模式标记,用于表示是MAC认证模式或者是端口认证模式;所述以太驱动层收到的来自以太交换芯片的报文后,通过该认证模式标记判断是 MAC认证模式还是端口认证模式;如果是MAC认证模式则判断该报文的MAC地址是否为所述报文认证参数中设置的已认证通过的MAC地址,如果是则接收该报文并上传到相应的上层应用程序,否则丢弃该报文;如果是端口认证模式则判断接收该报文的端口是否为所述报文认证参数中设置的已认证通过的端口,如果是则接收该报文并上传到相应的上层应用程序,否则丢弃该报文。优选的,所述以太驱动层设置报文认证参数的具体方式为以太驱动层在操作系统内核中创建和维护用于存储所述报文认证参数的节点树的数据结构,所述认证服务程序通过配置命令直接对该I^roc节点树中的报文认证参数进行访问和修改。优选的,所述以太网端口控制方法为使用IEEE802. Ix协议进行控制的方法。与现有技术相比,本发明的所述以太交换芯片在收到所有报文后都会发送给以太驱动层,在以太驱动层增加了一个端口控制模块,属于以太驱动层中的软件模块,用于根据所述认证服务程序的配置命令设置报文认证参数,根据设置的报文认证参数决定以太驱动层是否接收并向上层上传来自以太交换芯片的报文,从而不依赖以太交换芯片就可实现以太网端口控制,降低实现以太网端口控制的硬件成本,在对端口控制方式进行升级或修改时只需对以太驱动层中的软件程序进行修改即可,提高了扩展性。本发明很好地解决了 IEEE802. Ix认证协议对硬件的依赖性,采用成本低廉的以太网交换芯片就可以实现IEEE 802. Ix协议的以太网端口控制,降低了实现IEEE 802. Ix 协议的以太网端口控制的硬件成本,同时,在对端口控制方式进行升级或修改时只需对以太驱动层中的软件程序进行修改即可,提高了实现IEEE 802. Ix协议的以太网端口控制的扩展性。所以应用本发明后,支持IEEE802. Ix认证协议的设备,在选择硬件时可以更多的去考虑成本等其它有利的因素而忽略是否支持IEEE802. Ix认证的端口控制这个因素。


图1为现有的支持IEEE 802. Ix协议的以太网端口控制装置的层次结构图;图2为本发明所述以太网端口控制装置的层次结构图;图3为本发明所述端口控制模块对外提供的接口示意图4为本发明所述以太网端口控制方法的一种流程图;图5为一种具体实施例中的一种节点树的结构图;图6为所述认证函数接口被调用后的具体处理流程示意图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。图2为本发明所述以太网端口控制装置的层次结构图。参见图2,本发明所述的以太网端口控制装置包括物理链路层的以太交换芯片,与现有技术相区别的是该以太交换芯片不进行以太网端口控制,而是将接收的所有报文都传给以太驱动层。以太驱动层的以太驱动程序,用于在收到来自以太交换芯片的报文后确定该报文的类型和源介质访问控制层(MAC)地址、以及接收该报文的以太交换芯片的端口,将所确定的信息输入端口控制模块,根据端口控制模块返回的信息决定是否接收该报文;以太驱动层的端口控制模块,用于根据应用层的认证服务程序的配置命令设置报文认证参数,其中包括认证通过的MAC地址和/或端口信息;并根据所述以太驱动程序的输入信息和所述报文认证参数进行端口控制,所述端口控制包括如果以太驱动程序所收到的报文的类型为认证报文,则通知以太驱动程序接收该报文并上传到上层的认证服务程序,如果是非认证报文,则判断该报文的MAC地址或接收该报文的以太交换芯片的端口是否为所述报文认证参数中设置的已认证通过的MAC地址或端口,如果是则通知以太驱动程序接收该报文并上传到相应的上层应用程序,否则丢弃该报文;应用层的认证服务程序,用于根据以太驱动层上传的认证报文对MAC地址和/或端口信息进行认证,向端口控制模块发送设置报文认证参数的配置指令。所述内核协议栈为应用层和以太驱动层之间各协议的总称,用于传输应用层和以太驱动层之间的交互信息,和现有的内核协议栈相同,因此本文不再赘述。本发明所述实施例中,所述以太网端口控制装置使用的认证控制协议为 IEEE802. Ix协议。所述端口控制模块具体是一个用于IEEE802. Ix协议的端口控制模块。图3为本发明所述端口控制模块对外提供的接口示意图。参见图3,所述以太驱动层的端口控制模块具体包括两个对外接口一个为供所述认证服务程序调用的报文认证参数的配置接口 301,其中包括用于存储所述报文认证参数的数据结构,所述认证服务程序通过该配置接口 301对该数据结构中的报文认证参数进行访问和修改;在图3所示的实施例中,所述用于存储所述报文认证参数的数据结构具体为在操作系统内核中创建并维护的节点树的数据结构,所述认证服务程序通过配置命令对该节点树中的报文认证参数进行访问和修改,从而可以配置认证参数和收集认证的状态信息,例如可以通过对相应的ftOC节点的写入操作来实现认证参数的配置,通过对相应的节点的读取操作来实现认证信息的收集。另一个为供以太驱动程序调用的认证函数接口 302,用于根据所述以太驱动程序的输入信息和所述报文认证参数进行所述端口控制,即当以太驱动程序收到来自以太交换芯片的报文时,调用该认证函数接口 302判断是否接收该报文。所述以太驱动程序的输入到认证函数接口 302的信息为以太驱动程序当前所收到的报文的类型(通常以以太帧协议来标识,主要包括认证报文类型和非认证报文类型)和源介质访问控制层(即MAC)地址、 以及接收该报文的以太交换芯片的端口。图4为本发明所述以太网端口控制方法的一种流程图。本发明所述的以太网端口控制方法为使用IEEE802. Ix协议进行控制的方法。参见图4,该方法主要包括步骤401、以太交换芯片将收到的报文上传给以太驱动层;步骤402、以太驱动层确定来自以太交换芯片的所述报文的类型和源MAC地址,以及接收该报文的以太交换芯片的端口;步骤403、判断所述报文类型是否为认证报文,如果是则执行步骤404,否则执行步骤406 ;步骤404、接收该报文并上传到上层的认证服务程序,所述上层的认证服务程序根据认证报文对MAC地址和/或端口信息进行认证,向以太驱动层发送设置报文认证参数的配置指令;步骤405、所述以太驱动层根据所述认证服务程序的配置命令设置报文认证参数, 所设置的报文认证参数中包括认证通过的MAC地址和/或端口信息;步骤406、如果所述以太驱动层收到的来自以太交换芯片的报文的类型是非认证报文,则判断该报文的MAC地址或接收该报文的以太交换芯片的端口是否为所述报文认证参数中设置的已认证通过的MAC地址或端口,如果是则接收该报文并上传到相应的上层应用程序,否则丢弃该报文。在一种具体的实施例中,所述根据认证服务程序的配置命令所设置的报文认证参数中包括默认接受的MAC地址表,所述以太驱动层在确定来自以太交换芯片的报文的源 MAC地址后,需要判断该报文的源MAC地址是否在所述默认接受的MAC地址表中,如果是则接收该报文并上传到相应的上层应用程序;和/或,所述根据认证服务程序的配置命令所设置的报文认证参数中还可包括默认拒绝的MAC地址表,所述以太驱动层在确定来自以太交换芯片的报文的源MAC地址后,需要判断该报文的源MAC地址是否在所述默认拒绝的MAC地址表中,如果是则丢弃该报文。在一种具体的实施例中,在所述报文认证参数中还可以进一步设置启动标记,用于表示是否启用以太网端口控制;所述以太驱动层收到的来自以太交换芯片的报文后,首先通过该启动标记判断是否启用以太网端口控制,如果是,则执行后续的所述以太网端口控制流程,即如果所述报文类型为认证报文,则接收并上传到上层的认证服务程序;如果是非认证报文,则判断该报文的MAC地址或接收该报文的以太交换芯片的端口是否为所述报文认证参数中设置的已认证通过的MAC地址或端口,如果是则接收该报文并上传到相应的上层应用程序,否则丢弃该报文;如果通过所述启动标记判定不需启用以太网端口控制, 则接收所述报文并上传到相应的上层应用程序。在另一种具体实施例中,所述报文认证参数中还可以进一步设置认证模式标记, 用于表示是MAC认证模式或者是端口认证模式;所述以太驱动层收到的来自以太交换芯片的报文后,通过该认证模式标记判断是MAC认证模式还是端口认证模式如果是MAC认证模式则判断该报文的MAC地址是否为所述报文认证参数中设置的已认证通过的MAC地址,如果是则接收该报文并上传到相应的上层应用程序,否则丢弃该报文;
如果是端口认证模式则判断接收该报文的端口是否为所述报文认证参数中设置的已认证通过的端口,如果是则接收该报文并上传到相应的上层应用程序,否则丢弃该报文。本发明所述的方法中,所述以太驱动层设置报文认证参数的一种具体方式为以太驱动层在操作系统内核中创建和维护用于存储所述报文认证参数的节点树的数据结构,所述认证服务程序通过配置命令直接对该节点树中的报文认证参数进行访问和修改。所述供上层认证服务程序调用的配置接口的节点树,是一种对应的文件系统的目录结构。该节点树由所述端口控制模块创建,该节点树由上层的认证服务软件来配置,具体是通过写对应的节点来实现对报文认证参数的配置。所述认证服务软件有设置界面,管理员可以根据需要进行设置。图5为一种具体实施例中的一种节点树的结构图。参见图5,其中各个节点的取值和作用如下介绍Enable 是否启用802. Ix协议以太网端口控制的启动标记,可以向该节点写入1 或者0来控制是否启动802. Ix的以太网端口控制。其中为1表示启动802. Ix的以太网端口控制,为0则表示不启动。例如在具体应用中当上层认证服务软件启动时,向该节点写入1,表示开启以太网端口控制。当上层软件退出时向该节点写入0表示停止以太网端口控制,当停止以太端口控制后,便接收所有报文。Mode :802. Ix协议认证模式的标记,可以向该节点写入0或者1来控制802. Ix协议的认证模式。1表示为端口认证模式,0表示是MAC认证模式。该认证模式是由管理员根据具体的业务要求来配置的。AcceptMAC 用于存储默认接受的MAC地址表,可以向该节点写入MAC地址表来默认接受部分MAC地址。对于默认接受的MAC地址可以不通过认证直接通过该端口。该节点的值也是由管理员来配置。DenyMAC 用于存储默认拒绝的MAC地址表,可以向该节点写入MAC地址表来默认拒绝部分MAC地址。对于默认拒绝的MAC地址无法通过认证,数据也无法通过该端口。该节点的值也是由管理员来配置。AuthMAC 用于存储已经认证通过的MAC地址,认证模式为基于MAC模式时,每个通过认证的MAC地址会存在该节点中。当一个客户端发送的认证报文通过了上层认证服务软件的认证后,上层认证服务软件会将该客户端的MAC地址(即该客户端发送的报文的源MAC 地址)写入该节点中。Ports 该目录下存放每个现有的端口对应的一个节点。每张以太交换芯片都有多个端口,此处假设有η个端口,分别是PO Ρη,所述PO Pn的节点存放的是对应的各个以太交换芯片的端口是否认证通过的标识。例如图5中的节点Pl的值是端口 1是否认证通过的标志。1表示该端口已经认证通过,0表示该端口没有认证通过。当一个以太交换芯片的端口通过了上层认证服务软件的认证后,上层认证服务软件会把该标识写入对应的ftOC节点中。此外,本实施例中之所以分节点存已认证的端口,第一是因为一张以太交换芯片的端口数有限,一般需要控制的端口为4个。第二是因为方便扩展,可以方便存储每个端口的私有属性。第三是因为更符合编程逻辑。所述认证函数接口 302供以太驱动程序调用的,具体的调用时机是以太交换芯片每收到一个报文都会将该报文上报给以太驱动层的以太驱动程序,每当以太驱动程序收到一个来自以太交换芯片的报文后,确定该报文的类型(即是否为认证报文)和源MAC地址(即发送该报文的客户端的MAC地址)、以及接收该报文的以太交换芯片的端口,然后调用所述认证函数接口,将前述所确定的信息输入到认证函数接口中,认证函数接口执行具体的处理流程,向以太驱动程序返回是否接收该报文的结果,例如认证函数的返回值为1 或者0。其中1表示接收该报文,0表示丢弃该报文。所述图6为所述认证函数接口被调用后的具体处理流程示意图。参见图6,该流程包括步骤601、首先查询所述ftOC树的Enab 1 e节点的值,判断是否启动802. Ix的以太网端口控制,如果是则执行步骤602,否则认证函数接口返回1,即通知以太驱动程序接收当前报文并上报到相应的上层应用程序。 步骤602、查询所述树的Acc印tMAC节点的值,判断输入的源MAC地址是否在该Acc印tMAC节点所记录的默认接受的MAC地址表中,如果是则返回1,否则执行步骤603。步骤603、查询所述树的DenyMAC节点的值,判断输入的源MAC地址是否在该 DenyMAC节点所记录的默认拒绝的MAC地址表中,如果是则返回0,否则执行步骤604。步骤604、判断输入的报文类型(即以太帧协议标识)是否为EAPOL报文即认证报文,如果是,则执行步骤605,否则执行步骤606。步骤605、判断是否为EAPOL-Mart报文(即认证报文的开始报文),如果是则将接收该报文的以太交换芯片的端口信息隐藏在该报文的尾部,然后返回1 ;否则直接返回 1。此步骤的作用是对于认证报文,上层的认证服务程序通常不知道该报文由哪个以太交换芯片的端口接收的,因此在认证报文的开始报文中需要增加接收该报文的以太交换芯片的端口信息,供上层的认证服务程序进行认证处理,如果该端口被认证通过,则认证服务程序将通过配置命令将所述树的Ports目录的该端口对应的节点的值写为1。步骤606、查询所述树的Mode节点的值,判断当前的802. Ix协议认证模式是端口认证模式还是MAC认证模式,如果是端口认证模式,则查询所述Ports目录下的与输入的端口源信息对应的节点值(即0或1),并返回该节点值;如果是MAC认证模式,则执行步骤 607。步骤607、查询所述树的AuthMAC节点的值,判断输入的源MAC地址是否在该 AuthMAC节点所记录的已认证通过的MAC地址表中,如果是则返回1,否则返回0。通过上述处理,所述认证函数接口向以太驱动程序返回0或1。如果返回的是0, 则表示接收该报文,以太驱动程序则接收该报文并上传到上层该报文对应的相应程序;如果返回的是1,则表示丢弃该报文,则以太驱动程序丢弃所收到的对应报文。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种以太网端口控制装置,其特征在于,包括物理链路层的以太交换芯片,用于将接收的报文传给以太驱动层; 以太驱动层的以太驱动程序,用于在收到来自以太交换芯片的报文后确定该报文的类型和源介质访问控制层MAC地址、以及接收该报文的以太交换芯片的端口,将所确定的信息输入端口控制模块,根据端口控制模块返回的信息决定是否接收该报文;以太驱动层的端口控制模块,用于根据应用层的认证服务程序的配置命令设置报文认证参数,其中包括认证通过的MAC地址和/或端口认证信息;并根据所述以太驱动程序的输入信息和所述报文认证参数进行端口控制,所述端口控制包括如果以太驱动程序所收到的报文的类型为认证报文,则通知以太驱动程序接收该报文并上传到上层的认证服务程序,如果是非认证报文,则判断该报文的MAC地址或接收该报文的以太交换芯片的端口是否为所述报文认证参数中设置的已认证通过的MAC地址或端口,如果是则通知以太驱动程序接收该报文并上传到相应的上层应用程序,否则丢弃该报文;应用层的认证服务程序,用于根据以太驱动层上传的认证报文对MAC地址和/或端口信息进行认证,向端口控制模块发送设置报文认证参数的配置指令。
2.根据权利要求1所述的装置,其特征在于,所述端口控制模块具体包括两个对外接 Π 一个为供所述认证服务程序调用的报文认证参数的配置接口,其中包括用于存储所述报文认证参数的数据结构,所述认证服务程序通过该配置接口对该数据结构中的报文认证参数进行访问和修改;另一个为供以太驱动程序调用的认证函数接口,用于根据所述以太驱动程序的输入信息和所述报文认证参数进行所述端口控制。
3.根据权利要求2所述的装置,其特征在于,所述用于存储所述报文认证参数的数据结构为Jroc节点树。
4.根据权利要求1至3任一项所述的装置,其特征在于,所述以太网端口控制装置使用的认证控制协议为ΙΕΕΕ802. Ix协议。
5.一种以太网端口控制方法,其特征在于,包括 以太交换芯片将收到的报文上传给以太驱动层;以太驱动层确定来自以太交换芯片的所述报文的类型和源MAC地址,以及接收该报文的以太交换芯片的端口 ;如果所述报文类型为认证报文,则接收并上传到上层的认证服务程序;所述上层的认证服务程序根据认证报文对MAC地址和/或端口信息进行认证,向以太驱动层发送设置报文认证参数的配置指令;所述以太驱动层根据所述认证服务程序的配置命令设置报文认证参数,所设置的报文认证参数中包括认证通过的MAC地址和/或端口认证信息;如果所述以太驱动层收到的来自以太交换芯片的报文的类型是非认证报文,则判断该报文的MAC地址或接收该报文的以太交换芯片的端口是否为所述报文认证参数中设置的已认证通过的MAC地址或端口,如果是则接收该报文并上传到相应的上层应用程序,否则丢弃该报文。
6.根据权利要求5所述的方法,其特征在于,进一步包括所设置的报文认证参数中包括默认接受的MAC地址表,所述以太驱动层在确定来自以太交换芯片的报文的源MAC地址后,判断该报文的源MAC地址是否在所述默认接受的MAC 地址表中,如果是则接收该报文并上传到相应的上层应用程序;和/或,所设置的报文认证参数中包括默认拒绝的MAC地址表,所述以太驱动层在确定来自以太交换芯片的报文的源MAC地址后,判断该报文的源MAC地址是否在所述默认拒绝的MAC地址表中,如果是则丢弃该报文。
7.根据权利要求5所述的方法,其特征在于,所述报文认证参数中进一步设置启动标记,用于表示是否启用以太网端口控制;所述以太驱动层收到的来自以太交换芯片的报文后,首先通过该启动标记判断是否启用以太网端口控制,如果是,则执行后续的所述以太网端口控制流程;否则接收该报文并上传到相应的上层应用程序。
8.根据权利要求5所述的方法,其特征在于,所述报文认证参数中进一步设置认证模式标记,用于表示是MAC认证模式或者是端口认证模式;所述以太驱动层收到的来自以太交换芯片的报文后,通过该认证模式标记判断是MAC 认证模式还是端口认证模式;如果是MAC认证模式则判断该报文的MAC地址是否为所述报文认证参数中设置的已认证通过的MAC地址,如果是则接收该报文并上传到相应的上层应用程序,否则丢弃该报文;如果是端口认证模式则判断接收该报文的端口是否为所述报文认证参数中设置的已认证通过的端口,如果是则接收该报文并上传到相应的上层应用程序,否则丢弃该报文。
9.根据权利要求5所述的方法,其特征在于,所述以太驱动层设置报文认证参数的具体方式为以太驱动层在操作系统内核中创建和维护用于存储所述报文认证参数的节点树的数据结构,所述认证服务程序通过配置命令直接对该节点树中的报文认证参数进行访问和修改。
10.根据权利要求5至9任一项所述的方法,其特征在于,所述以太网端口控制方法为使用IEEE802. Ix协议进行控制的方法。
全文摘要
本发明公开了一种以太网端口控制装置和方法。所述装置包括物理链路层的以太交换芯片、以太驱动层的以太驱动程序和端口控制模块、以及应用层的认证服务程序。所述以太交换芯片在收到所有报文后都会发送给以太驱动层,所述以太驱动层的端口控制模块属于以太驱动层中的软件模块,用于根据所述认证服务程序的配置命令设置报文认证参数,根据设置的报文认证参数决定以太驱动层是否接收并向上层上传来自以太交换芯片的报文,从而不依赖以太交换芯片就可实现以太网端口控制,降低实现以太网端口控制的硬件成本,在对端口控制方式进行升级或修改时只需对以太驱动层中的软件程序进行修改即可,提高了扩展性。
文档编号H04L12/28GK102571603SQ201210032478
公开日2012年7月11日 申请日期2012年2月14日 优先权日2012年2月14日
发明者邓海, 黎建 申请人:成都欣点科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1