智能型服务自动检测回复方法及系统的制作方法

文档序号:7714482阅读:740来源:国知局
专利名称:智能型服务自动检测回复方法及系统的制作方法
技术领域
本发明有关于一种智能型服务自动检测回复方法及系统,尤指一种应用在网络环 境中,可及早发现所监控的装置是否改变了原有的网络协议地址,进而做出重新连接的动 作使服务进早恢复的一种智能型服务自动检测回复方法及系统。
背景技术
不论是企业、机关团体、校园甚至是一般家庭,网络的建置已经渐趋成熟,相对地, 也有为数众多用以提供服务的装置被设置在这些环境当中。为了方便网络地址的配置,多 数都会采以动态主机设定协议(Dynamic Host Configuration Protocol ;简称DHCP)的方 式来完成,但是当这些提供服务的装置因为某些原因导致所使用的网络地址发生变动时, 那么就将造成服务的中断。由于现行惯用的网络地址数量不敷使用,在许多环境中常会以网络地址解析 (Network Address Translation ;简称NAT)的方式来增加可以使用的装置数量,当这些位 于NAT网络环境中的装置想要提供服务时,则通讯端口转接(Port Forwarding)的动作势 必无法避免,但是一旦这些装置改变了原有的网络地址时,那么对于提供及使用服务的双 方来说,都将是一种困扰。为了解决上述的问题,有许多不同的方法被提出,动态域名服务(Dynamic Domain Name krvice ;简称Dynamic DNS)或许是适合部分环境的一种,但是当遇上使用NAT的网 络环境时,似乎就变得毫无用武之地了。以图1所示的网络电话(Voice over IP ;简称VoIP)通讯环境为例,由 Microsoft 所提出的Response Point计划是一项VoIP的应用,目的是改善网络电话设定 不易的缺点。希望通过人性化的设计以及自动化的服务器、网络电话话机(VoIP Phone)与 网络电话网关器(VoIP Gateway)的搭配,能够免去传统电话交换机网络变更设定的麻烦, 藉此降低企业环境布建电话网络的成本,并且善用网络电话的节费特性。且由于Response Point电话网络标榜着易于建构,因此一切使用于该网络中的装置皆采取DHCP的方式来进 行自我设定。在Response Point的电话网络中,会有一部担任通话起始协议(Session Initiation Protocol ;简称SIP)服务器角色的网络电话服务器(Base Unit)存在。这一 部Base Unit除了担任标准的SIP服务器外,还需同时肩负语音辨识、语音信箱以及一些 Response Point特定的服务功能。而欲使用VoIP服务的话机以及网关器皆需要注册到此 一 Base Unit上,之后才可以透过SIP通讯协议来进行讯息的交换。这样的网络架构看似 合理,但是却潜藏着危险,因为一旦Base Unit发生错误或死机,那么就意味着整个电话网 络将无法使用,这一种情形对于企业来说,将是直接的冲击。对于这样的问题,透过某种软 件程序(例如WatchDog )的功能让Base Unit进行自我监控不失为一个好办法,但是 一旦Base Unit于发生错误重新开机后,却可能因为网络地址变更的关系,使得网络中的话 机与网关器仍因为不晓得Base Unit已经改变地址而无法顺利使用电话功能的问题存在,而有待加以改善。以图2所示的家庭网络分享(IP Sharing)通讯环境为例,由于现行惯用的网络地 址数量不敷使用,因此一般家庭用户若是有多部电脑需要同时连网的需求,多半都会购买 网络分享器(IP Sharing)来达到目的。而市售的家用IP Siaring也多半结合了多样化的 功能,例如无线路由器(Access Point ;简称AP)、动态域名服务、存取限制...等等。当使 用者想要于这样的网络环境中提供服务时,除了 IP faring本身提供的动态域名服务可以 让使用者不需担心所使用的对外连线网络地址是否固定的问题,剩下的就是IP Siaring内 部网络中服务装置的配置了。IP Sharing通常会提供Port Forwarding的功能,让使用者可以通过连接外部地 址的特定通讯端口来存取内部网络中的指定装置。但是,这样的方式一样存在着提供服务 的装置可能因为网络地址改变而导致服务无法正常连接的问题存在,而有待加以改善。

发明内容
本发明的目的在于,解决现有网络环境中,提供服务的装置可能因为网络地址改 变而导致服务无法正常连接的问题。为达前述的目的,本发明提供一种智能型服务自动检测回复方法,其实施于一 终端装置中用以检测一服务主机的状态,并且,终端装置预先自该服务主机取得该服务 主机的一当前使用的网络协议地址(IP Address)以及一当前使用的网络实体地址(MAC Address);其中,该自动检测回复方法包括由该终端装置所执行的下列步骤(a)接收一数据报文,于该数据报文中至少包含有下列资讯一数据报文格式资 讯、一网络实体地址资讯、以及一网络协议地址资讯;(b)判断该数据报文格式资讯是否符合一预定数据报文格式,倘若”是”则执行步 骤(c),倘若”否”则执行步骤(g);(c)判断该数据报文内所包含的该网络实体地址资讯是否和该当前使用的网络实 体地址相同,倘若”是”则执行步骤(d),倘若”否”则执行步骤(g);(d)判断该数据报文内所包含的该网络协议地址是否和该当前使用的网络协议地 址相同,倘若”否”则执行步骤(e),倘若”是”则执行步骤(f);(e)执行一地址变更程序,以该数据报文内所包含的该网络协议地址作为一新地 址,并向该新地址进行重新连接或导向的动作;(f)以正常程序继续处理所接收的数据报文,并回到步骤(a);以及,(g)忽略该数据报文,并回到步骤(a)。较佳者,该数据报文格式资讯至少包括有一数据报文大小、及一 MAC标头;并且, 于该步骤(b)中更包括有以下步骤(bl)判断该数据报文的大小是否符合一预定大小,倘若”是”则执行步骤( ),倘 若”否”则执行步骤(g);及(b2)判断该数据报文内的讯MAC标头是否符合一预定格式,倘若”是”则执行下一 步骤,倘若”否”则执行步骤(g)。较佳者,该MAC标头更至少包括有一类型栏位;并且,于该步骤(b2)后更包括有 以下步骤
(b3)判断该MAC标头内所包含的类型栏位是否符合一预定类型格式,倘若”是”则 执行步骤(c),倘若”否”则执行步骤(g)。较佳者,该数据报文格式资讯更包括有一 ARP标头;并且,于该步骤(b!3)中更包 括了以下判断动作判断该数据报文内所包含的ARP标头内所含的一操作码栏位是否符合 一预定操作码格式,倘若”是”则执行步骤(c),倘若”否”则执行步骤(g)。较佳者,于该步骤( )后更包括有以下步骤(b2a)判断该数据报文内所包含的一 IP标头内所含的一下一标头栏位是否符合 一预定标头格式,倘若”是”则执行步骤(b2b),倘若”否”则执行步骤(g);及(b2b)判断该数据报文内所包含的一 ICMPv6标头内所含的一类型栏位是否符合 一预定ICMPv6格式,倘若”是”则执行步骤(c),倘若”否”则执行步骤(g)。为达前述的目的,本发明提供一种智能型服务自动检测回复系统,其设置于一终 端装置中且包括有一传输接口,用以和外界一服务主机连线并传输数据;一装置电路,用以提供终端装置的运作及功能;一注册模块,用以透过该传输接口向该服务主机提出一建立连线请求,以及取得 该服务主机的一当前使用的网络协议地址(IP Address)以及一当前使用的网络实体地址 (MAC Address);一存储器,至少可储存所述的当前使用的网络协议地址及所述的当前使用的网络 实体地址;一数据处理模块,用以透过该传输接口接收来自外界的至少一数据报文,并判读 该数据报文内所含的数据;以及,一分析模块,将经数据处理模块判读的数据报文数据来和该当前使用的网络协议 与当前使用的网络实体地址进行分析,并根据分析结果来决定是否由该注册模块来向该服 务主机重新提出该建立连线请求。本发明的有益效果在于,不仅能够自动检测特定装置变更了网络地址的情况,且 可让使用该服务的设备能够于发现变动时自动重新进行连接或导向,让服务的中断时间缩 减到最短,进而消除因为无法正确连接而引发的连线困扰以及可能延伸的损失。


图1为一典型的习知网络电话通讯环境示意图。图2为一典型的习知家庭网络分享通讯环境示意图。图3为本发明的智能型服务自动检测回复系统的一网络架构示意图。图4为一典型网络模块架构的示意图。图5为本发明的智能型服务自动检测回复方法的一实施例流程图。图6为一标准的地址解释协议(Address Resolution Protocol ;简称ARP)数据 报文的栏位架构图。图7为一典型ARP数据报文内的MAC标头与ARP标头实际内容的范例。图8为本发明的智能型服务自动检测回复系统的实施例方块图。附图标记说明
11-服务主机;12-若干终端装置;13-网关装置;14-外界网络;21_27_流程步骤; 30-智能型服务自动检测回复系统;31-传输接口 ;32-装置电路;33-注册模块;34-存储 器;35-数据处理模块;36-分析模块;40-网络模块;41-实体层;411-网络卡模块;412-固 件;42-数据链路层;421-网络驱动程序;422-装置独立接口 ;43-网络层;431-网络协议。
具体实施例方式为了能更清楚地描述本发明所提出的智能型服务自动检测回复方法及系统,以下 将举出实施例具体说明。如图3所示,为本发明的智能型服务自动检测回复系统的一网络架构示意图。本 发明的智能型服务自动检测回复系统是架构于一网络环境中,其包括有至少一服务主机 11、若干终端装置12、以及至少一网关装置13。服务主机11透过网关装置13连接于一外 界网络14,例如但不局限于网际网络(Internet)或电话通讯网络等等。该些终端装置12 则是以有线或无线网络连线的方式与服务主机11相联系,并取得服务主机11所提供的服 务。例如,以VoIP通讯环境为例,该服务主机11可以是一网络电话服务器,该终端装置12 可以是网络电话话机、网络电话网关器或是具有网络电话功能的电脑或是手持式网络装置 等等,该网关装置13可以是VoIP网关器,而所连接的网络14则是电话通讯网络。又如,若 以家庭网络分享(IP Sharing)通讯环境为例,该服务主机11可以是一网络服务器或是电 脑,该终端装置12可以是网络路由器、网络分享器、无线网络基地台、电脑、或是手持式网 络装置,该网关装置13可以是网络路由器、网络分享器、或无线网络基地台,而所连接的网 络14则是网际网络。本发明所提出的智能型服务自动检测回复方法及系统,不仅能够让终端装置12 自动检测特定装置(例如服务主机11)变更了网络协议地址的情况,且可让使用该服务的 终端装置12能够于发现变动时自动重新进行连接或导向,让服务的中断时间缩减到最短, 进而消除因为无法正确连接而引发的连线困扰以及可能延伸的损失。为了有效率的完成检 测,本发明提出了一种在终端装置12的软件架构底层迅速过滤封包的方法,以此方式来分 析封包。如此一来,不仅可以及早发现所监控的装置(例如服务主机11)是否改变了原有 的网络协议地址,进而做出重新连接或是导向的动作,使服务尽早恢复,也能够降低因为进 行检测产生的系统负担。图4所示是一典型网络模块架构的示意图。一般具网络通讯功能的装置,包括 服务主机及终端装置等,其网络模块大体上都具有类似网络模块40架构,也就是由最底 层的实体层41 (PHY Layer)、其上的数据链路层42 (Link Layer)、以及最上层的网络层 43 (Network Layer)所构成。实体层41中包括有硬件的网络卡模块411 (Network Interface Card Module;简称NIC Module)、以及固件412 (Firmware)。数据链路层42中包括了网 络驱动程序 421 (Network Device Driver)以及装置独立接口 422 (Device Independent Interface)。网络层43包括了网络协议431 (Network Protocol)例如但不局限于IPv4或 IPv6等等。这网络驱动程序421、装置独立接口 422及网络协议431的组合实质上构成了 该网络模块40的作业系统和硬件设备连结的核心程序,例如但不局限于Kernel 等。本发明所提出的智能型服务自动检测回复方法及系统,可以被实做于网络模块40 的固件412或是驱动程序421之中。以图4的架构为例,如果可以在架构的越底层被完成,例如固件,那么所得到的效益就会越明显。至于固件412及驱动程序421要如何得知欲检 测的特定条件,则可以透过应用程序例如ioctl的方式,将本发明智能型服务自动检测回 复方法启动后的检测条件告知底层,藉此让检测动作进行。请参阅图5,为本发明的智能型服务自动检测回复方法的一实施例流程图,其实施 于一终端装置中用以检测一服务主机的状态,其检测流程如下步骤(21)启动。首先,终端装置需预先和服务主机建立连线(例如,完成注册于服务主机),并 自该服务主机取得该服务主机的一当前使用的网络协议地址(IP Address)以及一当前 使用的网络实体地址(MAC Address),并以LUT表形式将该当前使用的网络协议地址以及 当前使用的网络实体地址储存于一存储器内。并且,于终端装置内的该存储器内并储存 有符合该服务主机的硬件格式资讯、以及符合该服务主机的网络通讯协议的一数据报文 (Datagram)格式资讯。倘若该服务主机是采用标准的地址解释协议(Address Resolution Protocol ;简称ARP)来进行通讯时,则该数据报文格式资讯包括有至少下列其中之一数 据报文大小、MAC 标头(MAC Header)、ARP 标头(ARP Header)、IP 标头(IP Header)、以及 数据(Data)。其中,MAC标头更至少包括有一类型(Type)栏位及一来源MAC地址(Source MAC Address)栏位;ARP标头更至少包括有一操作码(Opcode)栏位以及一传送者协议地址 (Protocol Address Of Sender)栏位;IP标头更至少包括有下一标头(Next Header)栏位 以及ICMPv6标头(ICMPv6Header)栏位等等。之后,再启动本发明的智能型服务自动检测回复方法的检测流程,并开始接收来 自外界的数据数据报文(data frame)。步骤02)判断所接收到的数据报文大小是否符合一预定大小,倘若”是”的话则 执行步骤03);若”否”则执行步骤07)。请参阅图6及图7,分别为一标准的地址解释协议(ARP)数据报文的栏位架构图、 以及一典型ARP数据报文内的MAC标头与ARP标头实际内容的范例。若以如图6与图7所 示的ARP数据报文为例,其数据报文的预定大小是60字节(Bytes)。所以,倘若终端装置 所接收到的数据报文的大小不是60字节,则表示其并非符合ARP的数据报文,也当然不会 是来自服务主机的数据,所以可以直接忽略该数据报文不再继续解读其内容。相对地,若以 一 IPv6通讯协议的数据报文为例(换句话说,当该服务主机是采用IPv6通讯协议来进行 通讯时),其数据报文的预定大小是78字节(Bytes)。所以,倘若终端装置所接收到的数据 报文的大小不是78字节,则表示其并非符合IPv6通讯协议的数据报文,也当然不会是来自 服务主机的数据,所以可以直接忽略该数据报文不再继续解读其内容。由于此一步骤仅牵涉到数据报文大小的判断,是最直接、最容易也最快的过滤方 式,所以可以大幅降低终端装置处理所接收数据报文的负担,进一步达到省电、快速反应与 提高通讯品质的功效。步骤03)判断数据报文内所包括的MAC标头中的内容是否符合一预定格式,倘 若”是”的话则执行步骤04);若”否”则执行步骤07)。若以标准的ARP数据报文为例,其MAC标头中的类型栏位的预定格式是0x0806, ARP标头内的操作码栏位的预定操作码格式是0x01。所以,倘若终端装置所接收到的数据 报文内所包括的MAC标头中的内容(例如前述的类型栏位)或是ARP标头内的操作码栏位的内容和预定格式不同,则表示其并非符合ARP的数据报文,也当然不会是来自服务主机 的数据,所以可以直接忽略该数据报文不再继续解读其内容。由于此一步骤仅牵涉到预定 格式的比对判断,也是很直接、很容易也很快的过滤方式,所以可以有效降低终端装置处理 所接收数据报文的负担,进而达到省电、快速反应与提高通讯品质的功效。同理,若以IPv6通讯协议的数据报文为例,其MAC标头中的类型栏位的预定格式 则是OxSdd,IP标头中的下一标头栏位的预定标头格式是0x3a,且其ICMPv6标头中的类型 栏位的预定格式是0x87。所以,倘若终端装置所接收到的数据报文内所包括的MAC标头、 IP标头或ICMPv6标头中任何一项的内容和预定格式不同,则表示其并非符合IPv6通讯协 议的数据报文,也当然不会是来自服务主机的数据,所以可以直接忽略该数据报文不再继 续解读其内容。步骤04)判断该数据报文内地址与预先记录的地址相同,倘若”否”则执行步骤 (25),倘若”是”则执行步骤(26) 0一旦前述步骤02)及03)的判断结果都是”是”,则表示所接收的数据报文是符 合服务主机所使用的通讯协议的相同数据报文格式,因此需进一步判断该数据报文是否是 由服务主机所发出的数据报文。此步骤04)牵涉到两个动作,首先需确认该数据报文内所 包含的一网络实体地址(MAC Address)资讯是否就是服务主机当前使用的网络实体地址, 倘若结果为”否”,表示该数据报文并非来自服务主机的数据,所以可以直接忽略该数据报 文不再继续解读其内容。倘若结果为”是”的话,则表示该数据报文是来自该服务主机的数 据,因此接着再检查该数据报文内所包含的一网络协议地址是否就是服务主机当前使用的 网络协议地址,以检测该服务主机的地址是否已有变更。倘若此检查结果为”否”,则表示该 服务主机的地址已改变,此时便需执行步骤05);相对地,倘若此检查结果为”是”,则表示 该服务主机的地址并无改变,所以便执行步骤06)也就是以正常程序来继续解读与处理 该数据报文内的数据。若以图6及图7所示的标准的ARP数据报文为例,数据报文内所包含的该网络实 体地址资讯是记录在MAC标头内的“来源MAC地址”栏位,且该网络协议地址资讯是记录在 ARP标头内的“传送者协议地址”栏位。至于,用来和数据报文内所包含地址进行比对的相对 应数据,则是预先储存在存储器内的该服务主机的“该当前使用的网络实体地址”以及“该 当前使用的网络协议地址”步骤0 地址变更,导向新地址,之后执行步骤06)。一旦发现服务主机的网络 协议地址已改变,则执行一地址变更程序,以该数据报文内所包含的该网络协议地址作为 一新地址,并向该新地址进行重新连接或导向的动作(例如但不局限于向该服务主机的新 地址重新注册),以重新获得该服务主机所提供的服务。之后,再将此重新更新后的网络协 议地址储存回存储器中作为该当前使用的网络协议地址,以提供后续判断比对之用。步骤06)以正常程序继续处理所接收的数据报文,之后再回到步骤0 继续接 收其他数据报文。这里所述的「正常程序」也就是在正常连线状况下终端装置与服务主机 进行通讯与数据传输、以及终端装置接受服务主机提供服务的正常通讯程序。步骤(XT)忽略。一旦发现该数据报文并非由该服务主机所发出,则本发明的智 能型服务自动检测回复方法可不必再继续判断该数据报文内的内容是否牵涉到地址变更, 所以可直接忽略该数据报文。此一忽略步骤有两种可能情况,一种是该数据报文的目的装置就是该终端装置,另一种则不是。这部分可由该数据报文内的MAC标头中的“目的MAC地 址”栏位或是ARP标头内的“目标协议地址”是否符合该终端装置本身的地址来判断。倘若 “不是”,则表示该数据报文不是发送给该终端装置,所以该终端装置会直接把这数据报文 丢弃。倘若”是”,则这可能是从其他网络装置(例如另一终端装置等等)直接传送给该终 端装置的数据报文,此时终端装置将以正常程序来处理此数据报文,也就是执行步骤06)。请参阅图8,为本发明的智能型服务自动检测回复系统30的实施例方块图,其可 设置于如前述的一终端装置中,例如但不局限于网络电话话机、网络电话网关器、网络路 由器、网络分享器、无线网络基地台、电脑、手持式网络装置等等。该系统30包括有一传输 接口 31、一装置电路32、一注册模块33、一存储器;34、一数据处理模块35、以及一分析模块 36。该传输接口 31是用以和外界一服务主机连线并传输数据的硬件接口,例如网络 接口等等。该装置电路32是用以提供终端装置的各项运作及功能,也就是对于终端装置为 了能够运作且达到其本身功能所需的内部各项硬件电路的广泛统称。该注册模块33是用 以透过该传输接口 31向该服务主机提出一建立连线请求(例如但不局限于注册于该服务 主机),以及取得该服务主机的一当前使用的网络协议地址(IP Address)以及一当前使用 的网络实体地址(MAC Address),进而能获得该服务主机所提供的服务。该存储器34至少 可用于储存本发明智能型服务自动检测回复方法于实施时所需比对的预定数据,其至少包 括了 该当前使用的网络协议地址以及当前使用的网络实体地址。该数据处理模块35是用 以透过该传输接口 31接收来自外界的至少一数据报文,并判读该数据报文内所含的数据, 尤其是该数据报文中所包含的各标头或栏位内所含资讯。该分析模块36将经数据处理模 块35判读的数据报文数据来和该当前使用的网络协议与当前使用的网络实体地址进行分 析,并根据分析结果来决定是否由该注册模块33来向该服务主机重新提出该建立连线请 求。至于,所述的分析方法则请参阅图5及其相关说明内容。以下将以如前述的“网络电话通讯环境”与“家庭网络分享通讯环境”为例,具体 说明本发明智能型服务自动检测回复方法的实施范例。范例 A 以如图1所示的网络电话通讯环境为例,倘若是话机(也就是终端装置)与网关 器(也就是网关装置)能够自动检测到网络电话服务器(也就是服务主机)已经改变地址, 并且自动重新注册,那么将会使电话网络的中断时间降至最低。关于这样的作法,我们将其 详述如下(以话机为例)当话机正确注册于Response Point网络,此时话机会将网络电话服务器当前使用 的网络协议地址以及网络实体地址回报给底层,并启动本发明的智能型服务自动检测回复 方法的功能。于本发明的智能型服务自动检测回复方法被启动后,话机将会把无端的 ARP (Gratuitous ARP)视为所欲检测的指定数据报文,对其进行分析,而每一个被接收到的 数据报文都将进行下述判断。(Al)判断所接收到的数据报文大小是否为60bytes,是的话则继续。(A2)判断MAC标头中的类型栏位是否为0x0806且ARP标头中的操作码栏位是否 为0x01,是的话则继续。
(A3)判断MAC标头中的来源MAC地址是否与网络电话服务器相同,是的话则继续。(A4)判断目标协议地址是否相同,是的话,则此一数据报文即为我们所欲检测的 Gratuitous ARP,此时如果发现数据报文中所指定的网络协议地址与预先纪录的不同,即 表示网络电话服务器已经变更了地址,因此通知话机发现改变,并且让此数据报文回到正 常处理流程。(A5)若上述动作中,有任一动作没有继续,则该数据报文将依照正常处理流程处理。—旦话机发现网络电话服务器变更了地址,那么就会对网络电话服务器的新地址 进行重新注册的动作,确保后续的SIP讯息交换可以正确无误。如此的作法能够在判断一不吻合时就立即让数据报文恢复到原有的处理程序,减 少此一检测方式对系统所造成的负担。且由于本发明智能型服务自动检测回复方法的使 用,能够让整个电话网络在网络电话服务器重新启动完成后的数秒钟内恢复正常运作,且 完全不需要任何额外的操作,让使用者在未发现的状态下就完成回复动作。比起一般状态 下需要等待SIP Registration Expire逾时(最长可能达半个小时)或是因为发话失败才 由话机发起重新注册,让来电持续无法接通至目的地的损失相较,本发明所提出的方法确 实能将损失降至最低。范例 B 以如图2所示的家庭网络分享通讯环境为例,倘若是个人电脑(也就是终端装置) 与网络分享器(也就是网关装置,也可以是本发明所述的终端装置)能够自动检测到网络 服务器(也就是服务主机)已经改变地址,并且自动重新注册,那么将会使网络服务的中断 时间降至最低。为了解决这样的问题,本发明智能型服务自动检测回复方法一样可以派上 用场。当网络分享器(于此范例中是作为终端装置)中指定了一组特定的端口转送 (Port Forwarding)设置,网络分享器便将该指定装置(例如网络服务器)当前使用的网络 协议地址以及网络实体地址回报给底层并储存于比对表(Looking-Up Table ;简称LUT), 并启动本发明智能型服务自动检测回复方法的功能。于本发明智能型服务自动检测回复方法功能被启动后,网络分享器将会把 Gratuitous ARP视为所欲检测的指定数据报文,对其进行分析,而每一个被接收到的数据 报文都将进行下述判断。(Bi)判断所接收到的数据报文大小是否为60bytes,是的话则继续。(B2)判断MAC标头中的类型栏位是否为0x0806且ARP标头中的操作码栏位是否 为0x01,是的话则继续。(B3)判断MAC标头中的来源MAC地址是否存在于比对列表中,是的话则继续。(B4)判断目标协议地址是否相同是否相同,是的话,则此一数据报文即为我们所 欲检测的Gratuitous ARP,此时如果发现数据报文中所指定的网络协议地址与纪录的不 同,即表示所监控的服务装置已经变更了地址,因此通知网络分享器(也就是终端装置)发 现改变,并且让此数据报文回到正常处理流程。(B5)若上述动作中,有任一动作没有继续,则该数据报文将依照正常处理流程处理。
范例C 为了因应使用者可能开启IPv6地址的功能,本发明智能型服务自动检测回复方 法也提供了相应的机制,让此方式于IPv6的网络环境中对ICMPv6 Neighbor Solicitation 进行检测,对数据报文进行下述判断。(Cl)判断所接收到的数据报文大小是否为78bytes,是的话则继续。(C2)判断MAC标头中的类型栏位是否为0x86dd的IPv6封包,是的话则继续。(C3)判断IP标头中指定的下一标头栏位是否为0x3a的ICMPv6,是的话则继续。(C4)判断ICMPv6标头中的类型栏位是否为0x87的Neighbor Solicitation,是 的话,则此一数据报文即为我们所欲检测的ICMPv6 Neighbor Solicitation,此时如果发 现数据报文中所指定的网络协议地址与纪录的不同,即表示所监控的服务装置已经变更了 地址,因此通知网络分享器发现改变,并且让此数据报文回到正常处理流程。(C5)若上述动作中,有任一动作没有继续,则该数据报文将依照正常处理流程处 理。一旦网络分享器(也就是终端装置)发现所监控的装置变更了地址,那么就会将 相对应的端口转送(Port Forwarding)设置进行更新,让该装置能够继续由外部地址进行 存取,确保服务的正常。综上所述,本发明提出了一种智能型的数据报文检测方式,透过此方式,能够对指 定的装置进行监控。当发现该装置因为各种原因改变了网络地址时,能够于最短的时间内 回复与装置的连接或是进行重新导向,让网络的使用保持顺畅,免去因为服务无法正确存 取而造成的损失。而所提出的方式由于利用数据报文的特征进行快速分析,藉此降低检测 所需付出的系统负担,因此在合理的监控范围中,并不会对网络效能造成明显的影响,相当 适合被应用于需要提供服务却无法保证服务装置取得固定网络地址的网络环境,有效免去 人工维护的麻烦与成本,确实可解决习知技术的种种缺失。以上对本发明的描述是说明性的,而非限制性的,本专业技术人员理解,在权利要 求限定的精神与范围之内可对其进行许多修改、变化或等效,但是它们都将落入本发明的 保护范围内。
权利要求
1.一种智能型服务自动检测回复方法,其实施于一终端装置中用以检测一服务主机的 状态,并且,该终端装置预先自该服务主机取得该服务主机的一当前使用的网络协议地址 以及一当前使用的网络实体地址;其特征在于,该自动检测回复方法包括由该终端装置所 执行的下列步骤(A)接收一数据报文;(B)判断该数据报文的大小是否符合一预定大小,倘若”是”则执行步骤(C),倘若”否” 则执行步骤(G);(C)判断该数据报文内所包含的一MAC标头是否符合一预定格式,倘若”是”则执行步 骤(D),倘若”否”则执行步骤(G);(D)判断该数据报文内所包含的一网络协议地址是否和该当前使用的网络协议地址相 同,倘若”否”则执行步骤(E),倘若”是”则执行步骤(F);(E)执行一地址变更程序,以该数据报文内所包含的网络协议地址作为一新地址,并向 该新地址进行重新连接或导向的动作;(F)以正常程序继续处理所接收的数据报文,并回到步骤(A);以及,(G)忽略该数据报文,并回到步骤(A)。
2.如权利要求1所述的智能型服务自动检测回复方法,其特征在于,于该步骤(C)中更 包括有以下步骤(Cl)判断该MAC标头内所包含的一类型栏位是否符合一预定类型格式,倘若”是”则执 行下一步骤,倘若”否”则执行步骤(G);以及,(C2)判断该MAC标头内所包含的一网络实体地址是否和该当前使用的网络实体地址 相同,倘若”是”则执行步骤(D),倘若”否”则执行步骤(G)。
3.如权利要求2所述的智能型服务自动检测回复方法,其特征在于,于该步骤(Cl)与 (C2)之间更包括有以下步骤(Cla)判断该数据报文内所包含的一 ARP标头内所含的一操作码栏位是否符合一预定 操作码格式,倘若”是”则执行步骤(C2),倘若”否”则执行步骤(G)。
4.如权利要求2所述的智能型服务自动检测回复方法,其特征在于,于该步骤(Cl)与 (C2)之间更包括有以下步骤(Clb)判断该数据报文内所包含的一 IP标头内所含的一下一标头栏位是否符合一预 定标头格式,倘若”是”则执行步骤(Clc),倘若”否”则执行步骤(G);及(Clc)判断该数据报文内所包含的一 ICMPv6标头内所含的一类型栏位是否符合一预 定ICMPv6格式,倘若”是”则执行步骤(C2),倘若”否”则执行步骤(G)。
5.如权利要求1所述的智能型服务自动检测回复方法,其特征在于,该终端装置是下 列其中之一网络电话话机、网络电话网关器、网络路由器、网络分享器、无线网络基地台、 电脑、手持式网络装置;并且,该服务主机是下列其中之一网络电话服务器、网络服务器、 电脑。
6.如权利要求1所述的智能型服务自动检测回复方法,其特征在于,终端装置预先取 得的该当前使用的网络协议地址及当前使用的网络实体地址是以LUT表形式储存于一存 储器内。
7.一种智能型服务自动检测回复系统,设置于一终端装置中,其特征在于,该系统包括有一传输接口,用以和外界一服务主机连线并传输数据;一装置电路,用以提供终端装置的运作及功能;一注册模块,用以透过该传输接口向该服务主机提出一建立连线请求,以及取得该服 务主机的一当前使用的网络协议地址以及一当前使用的网络实体地址;一存储器,至少可储存所述的当前使用的网络协议地址及所述的当前使用的网络实体 地址;一数据处理模块,用以透过该传输接口接收来自外界的至少一数据报文,并判读该数 据报文内所含的数据;以及,一分析模块,将经数据处理模块判读的数据报文数据来和该当前使用的网络协议与当 前使用的网络实体地址进行分析,并根据分析结果来决定是否由该注册模块来向该服务主 机重新提出该建立连线请求。
8.如权利要求7所述的智能型服务自动检测回复系统,其特征在于,该分析模块分析 数据报文数据的步骤包括有(A)接收一数据报文;(B)判断该数据报文的大小是否符合一预定大小,倘若”是”则执行步骤(C),倘若”否” 则执行步骤(G);(C)判断该数据报文内所包含的一MAC标头是否符合一预定格式,倘若”是”则执行步 骤(D),倘若”否”则执行步骤(G);(D)判断该数据报文内所包含的一网络协议地址是否和该当前使用的网络协议地址相 同,倘若”否”则执行步骤(E),倘若”是”则执行步骤(F);(E)执行一地址变更程序,以该数据报文内所包含的网络协议地址作为一新地址,并向 该新地址进行重新建立连线的动作;(F)以正常程序继续处理所接收的数据报文,并回到步骤(A);以及,(G)忽略该数据报文,并回到步骤(A)。
9.如权利要求8所述的智能型服务自动检测回复系统,其特征在于,于该步骤(C)中更 包括有以下步骤(Cl)判断该MAC标头内所包含的一类型栏位是否符合一预定类型格式,倘若”是”则执 行步骤下一步骤,倘若”否”则执行步骤(G);以及,(C2)判断该MAC标头内所包含的一网络实体地址是否和该当前使用的网络实体地址 相同,倘若”是”则执行步骤(D),倘若”否”则执行步骤(G)。
10.如权利要求8所述的智能型服务自动检测回复系统,其特征在于,该终端装置是下 列其中之一网络电话话机、网络电话网关器、网络路由器、网络分享器、无线网络基地台、 电脑、手持式网络装置;并且,该服务主机是下列其中之一网络电话服务器、网络服务器、 电脑;此外,终端装置预先取得的该当前使用的网络协议地址及当前使用的网络实体地址 是以LUT表形式储存于存储器内。
全文摘要
一种智能型服务自动检测回复方法,实施于一终端装置中用以检测一服务主机的状态,包括下列步骤接收一数据报文;判断该数据报文格式资讯是否符合一预定数据报文格式,若”是”则继续执行;判断该数据报文内所包含的一网络实体地址资讯是否和所预存的一当前使用的网络实体地址相同,若”是”则继续执行;判断该数据报文内所包含的一网络协议地址是否和所预存的一当前使用的网络协议地址相同,若”否”则以该数据报文内所包含的该网络协议地址作为一新地址并向该新地址进行重新连接或导向的动作,若”是”以正常程序继续处理所接收的数据报文。藉此可及早发现服务主机是否改变了原有的网络协议地址,进而做出重新连接的动作使服务进早恢复。
文档编号H04L12/56GK102045208SQ20091018032
公开日2011年5月4日 申请日期2009年10月22日 优先权日2009年10月22日
发明者王国渊, 陈建志 申请人:友劲科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1