检测主机联机状态的方法与系统的制作方法

文档序号:7975641阅读:322来源:国知局
专利名称:检测主机联机状态的方法与系统的制作方法
检测主机联机状态的方法与系统絲领域本发明涉及一种检测方法,特别涉及一种检测主机联机状态 的方法与系统。若想要测试互联网的联机状态,现有方法通常直接使用"ping 〃这个指令来检査互联网上的服务器(Server)是否有响应。如利 用"ping"指令来査询对应"tw.yahoo.com"这个网址的服务器是 否可正常联机(C: \ping tw.yahoo.com),且该服务器会响应正常 联机或无法联机的信息。此外,也可利用"wininet.dli"动态链接 库中的"InternetGetConnectedStateEx"函数式来判断是否连上互 联网上的服务器。若可联机,则会回应一个非零的值。然而,当利用"ping"指令来判断是否连上互联网上的服务 器时,若服务器的联机状态不稳定,容易造成实际连上互联网却 显示为断线状态。而利用"InternetGetConnectedStateEx"函数式 来判断是否连上互联网上的服务器时,若检测到的服务器仅连上 局域网(Local Area Network) LAN的状态,仍会回应一个非零的 值,但其实际上并非连上互联网。因此,如何能提供一种检测主机联机状态的方法与系统,可 不受服务器运行状态的影响,而能正确判断出是否连上互联网上 的服务器,成为研究人员亟待解决的问题之--。发稱内審本发明的目的是提供一种检测主机联机状态的方法与系统,能 正确判断出主机是否连上互联网上的服务器。克服了利用"ping" 指令来检查是否连上互联网的服务器时,因服务器运行状态不稳 定导致显示错误;也克服了利用"InternetGetConnectedStateEx"函数式来判断是否连上互联网上的服务器时,因检测到的服务器仅连上局域网而显示为连接上互联网的错误信息。本发明提供一种检测主机联机状态的方法。所述方法包括 传送一 TTL值为k的封包,并且判断所述TTL值是否小于n。若 所述TTL值不小于n,表示所述封包已经由一本机与互联网上-目的服务器间的路由器而被正确传送至所述目的服务器,则回传 一连上互联网的信息。若所述TTL值小于n,则判断所述封包是否正确传送到一路 由器。若所述封包未被正确传送到所述本机与所述目的服务器间 的一路由器,则响应一错误信息并回传一未连上互联网的信息。 若所述封包被正确传送到所述本机与所述目的服务器间的一路由 器,则响应一正确信息,并且将k加l。本发明还提供一种检测主机联机状态的系统。所述系统包括 一存储介质、 一处理单元与一判断单元。所述存储介质储存预先 定义的k值与n值。所述处理单元根据一用户操作执行一封包监 控程序,用以监控一 TTL值为k的传送封包,并且从所述存储介 质取得所述k值与n值。所述判断单元判断所述传送封包的k是 否小于n。当k不小于n,表示所述封包已经由一本机与互联网上 一目的服务器间的路由器而被正确传送至所述目的服务器,则回 传并在一用户界面中显示一连上互联网的信息,当k小于n,则判 断所述封包是否正确传送到本机与所述目的服务器间的 一 路由 器,若所述封包未被正确传送到本机与所述目的服务器间的路由 器,则响应一错误信息与回传未连上互联网的信息,并且显示在 所述用户界面中,若所述封包被正确传送到本机与所述目的服务 器间的路由器,则依次将k加1。本发明的技术效果在于本发明提供的一种检测主机联机状 态的方法与系统,可不受服务器运行状态的影响,而能正确判断 出是否连上互联网上的服务器,并且可以縮短封包超时(Timeout)
时间及缩短检测时间。 附闺说明

图1是IP的封包格式示意图; 图2是ICMP的封包格式示意图;图3是本发明的一个检测主机联机状态方法的实施例的步骤 流程图;以及图4是本发明的一个检测主机联机状态系统的实施例的结构 示意图。具鄉施诚为了让本发明的Jd^和其它目的、特征、和优点能更明显易懂,下面将结合附 图对本发明的较佳实施例详细说明。本发明检测主机联机状态的方法与系统的实施例是利用互联 网协议(Internet Protocol ,以下简称为IP )封包中的存活时间(Time to Live,以下简称为TTL)来达到检测主机联机状态的目的,IP 封包的格式如图1所示。当一个IP封包被赋予TTL值后就会进行倒数计时。在IP协 定中,TTL是以跳站数目(Hop)为单位,IP封包每经过一个路 由器(Router),即将IP封包的TTL值减1 , IP封包的TTL值被 减为0时即会被丢弃。因此,当IP封包在传递过程中由于某些原 因而未能抵达目的地的时候,就可以避免其--直存在于网络上面 而导致网络拥塞。此外,可利用互联网控制消息协议(Internet Control Message Protocol,以下简称为ICMP)来判断IP封包是因为TTL归0而被 丢弃,还是因为其它原因而无法送达。ICMP为一 "错误检测与回 报机制",可用来检测网络的联机状况,也能确保联机的准确性。 ICMP的封包格式如图2所示当Type字段的值为11且Code字段的值为0时,则通知主机 被检测的IP封包在第TTL个路由器被丢弃,即该IP封包被安全 的送达到第TTL个路由器。因此,本发明设计一个定时器以定时 启动循环去发送封包。TTL值的初始值设定为1,即第一次发送封 包时TTL字段为l,则第二次发送封包时TTL字段为2,第三次 发送封包时TTL字段为1。只要其中有一次封包不是因为TTL = 0 而被丢弃,即代表传送失败而跳出窗口,并显示无法连上互联网。 图3是本发明一个检测主机联机状态方法的实施例的步骤流 程图。在本发明实施例中,先定义k与n的值。k表示封包被传送 经过的第k个路由器,其初始值预设为1。 n表示封包被传送至一 目的服务器时会经过的路由器数目,其值预设为4,即表示封包被 传送至一目的服务器时会经过3个路由器(因为TTL<n)。注意 到,在本发明实施例中,n的值设定为4但并不以此为限,"TTL <n"判断式也可改写为"TTLSn〃 。首先,传送一 TTL值为k (k=l)的封包(步骤Sl)。接着, 判断TTL值是否小于n (TTL<4 )(步骤S2)。在一开始监控 传送出去的封包时,TTL ( = 1) 一定小于n,故接着判断该封包 是否传送到一路由器(第一路由器)(步骤S3)。若封包未被正 确传送到第一路由器,则ICMP响应一错误信息,并且回传未连 上互联网的信息。若封包被正确传送到第一路由器,则ICMP响 应一正确信息,并且将k加1 (k=k+l)(步骤S4),此时TTL 等于2。接着,继续传送该TTL值为k (k = 2)的封包(步骤Sl), 然后判断TTL值是否小于n (TTL<4 )(步骤S2) 。 TTL (= 2)小于n,故接着判断该封包是否传送到一路由器(第二路由器) (步骤S3)。若封包未被正确传送到第一路由器,则ICMP响应 一错误信息,并且回传未连上互联网的信息。若封包被正确传送 到第一路由器,则ICMP响应一正确信息,并且将k加1 (k=k + 1)(步骤S4),此时TTL等于3。重复步骤S1 S4,当TTL等于4时,传送该TTL值为k(k =4)的封包(步骤Sl),然后判断TTL值是否小于n(TTL<4 )
(步骤S2)。此时TTL值不小于4,表示该封包已经由第一、第 二与第三路由器而被正确传送至互联网上的一目的服务器,故回 传连上互联网的信息。需要注意的是,除了可利用ICMP来判断封包是否传送失败, 也可根据一客户端(Client)预设的封包超时(Timeout)来判断 封包是否传送失败。当封包送出去后,客户端会启动一定时器 (Timer),且当达到超时值却还没收到有关封包的信息时,即代 表封包传送失败。图4是本发明检测主机联机状态系统的实施例的结构示意图。本发明实施例的检测主机联机状态的系统200包括一处理单 元210与一判断单元230。处理单元210根据一用户操作执行一封 包监控程序,用以监控一 TTL值为k的传送封包,并且从一存储 介质(未显示)中取得预先定义的TTL值(k)与n值。判断单元230判断该传送封包的k是否小于n (TTL<4 )。 当TTL值不小于4,表示该封包已经由第一、第二与第三路由器 而被正确传送至互联网上的一 目的服务器,故回传并在用户界面 250中显示连上互联网的信息。当TTL值小于4,则接着判断该封 包是否传送到本机与该目的服务器间的一路由器。若该封包未被 正确传送到本机与该目的服务器间的路由器,则ICMP响应一错 误信息与回传一未连上互联网的信息,并且显示在用户界面250 中。若该封包被正确传送到本机与该目的服务器间的路由器,则 依序将封包的TTL值加1 (k=k+l)。因此本发明检测主机联机 状态的方法与系统的实施例利用设定封包的TTL值来确认封包可 以到达的路由器,可不受服务器运作状态的影响,能正确判断出 是否连上互联网上的服务器,并且可以缩短封包超时(Timeout) 时间及縮短检测时间。本发明还提供一种记录介质(例如光盘、磁盘与移动硬盘等 等),用来记录一计算机可读取的权限签核程序,以便执行上述 检测主机联机状态的方法。在此,储存在记录介质上的权限签核
程序,基本上是由多个程序代码片段所组成(例如建立组织图程 序代码片段、签核窗体程序代码片段、设定程序代码片段、以及 部署程序代码片段),并且这些程序代码片段的功能对应于上述 方法的步骤与上述系统的功能方块图。
权利要求
1. 一种检测主机联机状态的方法,其特征在于,包括下列步骤传送一TTL值为k的封包;判断所述TTL值是否小于n;若所述TTL值不小于n,表示所述封包已经由一本机与互联网上一目的服务器间的路由器被正确传送至所述目的服务器,则回传一连上互联网的信息;若所述TTL值小于n,则判断所述封包是否正确传送到一路由器;若所述封包未被正确传送到所述本机与所述目的服务器间的一路由器,则响应一错误信息同时回传一未连上互联网的信息;以及若所述封包被正确传送到所述本机与所述目的服务器间的一路由器,则响应一正确信息,并且将k加1。
2. 如权利要求1所述的检测主机联机状态的方法,其特征在于所 述TTL值初始设定为1。
3. 如权利要求1所述的检测主机联机状态的方法,其特征在于 若所述封包未被正确传送到所述本机与所述目的服务器间的一路由 器,则利用ICMP响应所述错误信息。
4. 如权利要求1所述的检测主机联机状态的方法,其特征在于 若所述封包被正确传送到所述本机与所述目的服务器间的一路由器, 则利用ICMP响应所述正确信息。
5. 如权利要求4所述的检测主机联机状态的方法,其特征在于所述封包被传送至第k个路由器。
6. 如权利要求4所述的检测主机联机状态的方法,其特征在于,还包括下列步骤设定一定时器与一超时值; 当传送所述封包后启动所述定时器;以及若在达到所述超对值时未收到有关所述封包的信息时,则响应所 述错误信息。
7. —种检测主机联机状态的系统,其特征在于,包括一存储介质,其储存预先定义的k值与n值;一处理单元,耦接于所述存储介质,其根据一用户操作执行一封包监控程序,用以监控一 TTL值为k的传送封包,并且自所述存储介 质取得所述k值与n值;以及一判断单元,耦接于所述处理单元,其判断所述传送封包的k是 否小于n,当k不小于n,表示所述封包已经由一本机与互联网上一目 的服务器间的路由器被正确传送至所述目的服务器,则回传并在一用 户界面中显示一连上互联网的信息,当k小于n,则判断所述封包是 否正确传送到本机与所述目的服务器间的一路由器,若所述封包未被 正确传送到本机与所述目的服务器间的路由器,则响应一错误信息同 时回传未连上互联网的信息,并且显示在所述用户界面中,若所述封 包被正确传送到本机与使用者目的服务器间的路由器,则依次将k加1 c
8. 如权利要求7所述的检测主机联机状态的系统,其特征在于所述TTL值初始设定为1。
9. 如权利要求7所述的检测主机联机状态的系统,其特征在于 若所述封包未被正确传送到该本机与所述目的服务器间的一路由器, 则所述判断单元利用ICMP响应所述错误信息。
10. 如权利要求7所述的检测主机联机状态的系统,其特征在于 若所述封包被正确传送到所述本机与所述目的服务器间的一路由器, 则所述判断单元利用ICMP响应所述正确信息。
11. 如权利要求10所述的检测主机联机状态的系统,其特征在于所述判断单元将所述封包传送至第k个路由器。
12. —种存储介质,用以储存一计算机程序,所述计算机程序包括 数个程序代码,用以加载至一计算机系统中并且使得所述计算机系统 执行一种检测主机联机状态的方法,其特征在于,包括下列步骤传送一 TTL值为k的封包; 判断所述TTL值是否小于n;若所述TTL值不小于n,表示所述封包已经由一本机与互联网上 之一目的服务器间的路由器而被正确传送至所述目的服务器,则回传 一连上互联网的信息;若所述TTL值小于n,则判断所述封包是否正确传送到一路由器;若所述封包未被正确传送到所述本机与所述目的服务器间的--路由器,则响应一错误信息与回传一未连上互联网的信息;以及若所述封包被正确传送到所述本机与所述目的服务器间的一路 由器,则响应一正确信息,并且将k加l。
13.如权利要求12所述的存储介质,其特征在于所述TTL值初始设定为1。
14.如权利要求12所述的存储介质,其特征在于若所述封包未被正确传送到所述本机与所述目的服务器间的一路由器,则利用ICMP响应所述错误信息。
15. 如权利要求12所述的存储介质,其特征在于若所述封包被正确传送到所述本机与所述目的服务器间的一路由器,则利用ICMP响应所述正确信息。
16. 如权利要求15戶脱的存储介质,其特征在于所述封包被传送至第k个路由器。
全文摘要
本发明提供一种检测主机联机状态的方法和系统。所述方法包括传送一TTL值为k的封包;及以判断所述TTL值是否小于n。所述系统包括一存储介质、一处理单元与一判断单元。利用本发明提供的检测主机联机状态的方法和系统,可不受服务器运行状态的影响,而能正确判断出是否连上互联网上的服务器,并且可以缩短封包超时时间及缩短检测时间。
文档编号H04L12/26GK101212364SQ20061017206
公开日2008年7月2日 申请日期2006年12月30日 优先权日2006年12月30日
发明者刘峰哲, 胡郁升 申请人:技嘉科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1