專利名稱:智能型服務自動檢測回復方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明有關于一種智能型服務自動檢測回復方法及系統(tǒng),尤指一種應用在網(wǎng)絡環(huán) 境中,可及早發(fā)現(xiàn)所監(jiān)控的裝置是否改變了原有的網(wǎng)絡協(xié)議地址,進而做出重新連接的動 作使服務進早恢復的一種智能型服務自動檢測回復方法及系統(tǒng)。
背景技術:
不論是企業(yè)、機關團體、校園甚至是一般家庭,網(wǎng)絡的建置已經(jīng)漸趨成熟,相對地, 也有為數(shù)眾多用以提供服務的裝置被設置在這些環(huán)境當中。為了方便網(wǎng)絡地址的配置,多 數(shù)都會采以動態(tài)主機設定協(xié)議(Dynamic Host Configuration Protocol ;簡稱DHCP)的方 式來完成,但是當這些提供服務的裝置因為某些原因導致所使用的網(wǎng)絡地址發(fā)生變動時, 那么就將造成服務的中斷。由于現(xiàn)行慣用的網(wǎng)絡地址數(shù)量不敷使用,在許多環(huán)境中常會以網(wǎng)絡地址解析 (Network Address Translation ;簡稱NAT)的方式來增加可以使用的裝置數(shù)量,當這些位 于NAT網(wǎng)絡環(huán)境中的裝置想要提供服務時,則通訊端口轉接(Port Forwarding)的動作勢 必無法避免,但是一旦這些裝置改變了原有的網(wǎng)絡地址時,那么對于提供及使用服務的雙 方來說,都將是一種困擾。為了解決上述的問題,有許多不同的方法被提出,動態(tài)域名服務(Dynamic Domain Name krvice ;簡稱Dynamic DNS)或許是適合部分環(huán)境的一種,但是當遇上使用NAT的網(wǎng) 絡環(huán)境時,似乎就變得毫無用武之地了。以圖1所示的網(wǎng)絡電話(Voice over IP ;簡稱VoIP)通訊環(huán)境為例,由 Microsoft 所提出的Response Point計劃是一項VoIP的應用,目的是改善網(wǎng)絡電話設定 不易的缺點。希望通過人性化的設計以及自動化的服務器、網(wǎng)絡電話話機(VoIP Phone)與 網(wǎng)絡電話網(wǎng)關器(VoIP Gateway)的搭配,能夠免去傳統(tǒng)電話交換機網(wǎng)絡變更設定的麻煩, 藉此降低企業(yè)環(huán)境布建電話網(wǎng)絡的成本,并且善用網(wǎng)絡電話的節(jié)費特性。且由于Response Point電話網(wǎng)絡標榜著易于建構,因此一切使用于該網(wǎng)絡中的裝置皆采取DHCP的方式來進 行自我設定。在Response Point的電話網(wǎng)絡中,會有一部擔任通話起始協(xié)議(Session Initiation Protocol ;簡稱SIP)服務器角色的網(wǎng)絡電話服務器(Base Unit)存在。這一 部Base Unit除了擔任標準的SIP服務器外,還需同時肩負語音辨識、語音信箱以及一些 Response Point特定的服務功能。而欲使用VoIP服務的話機以及網(wǎng)關器皆需要注冊到此 一 Base Unit上,之后才可以透過SIP通訊協(xié)議來進行訊息的交換。這樣的網(wǎng)絡架構看似 合理,但是卻潛藏著危險,因為一旦Base Unit發(fā)生錯誤或死機,那么就意味著整個電話網(wǎng) 絡將無法使用,這一種情形對于企業(yè)來說,將是直接的沖擊。對于這樣的問題,透過某種軟 件程序(例如WatchDog )的功能讓Base Unit進行自我監(jiān)控不失為一個好辦法,但是 一旦Base Unit于發(fā)生錯誤重新開機后,卻可能因為網(wǎng)絡地址變更的關系,使得網(wǎng)絡中的話 機與網(wǎng)關器仍因為不曉得Base Unit已經(jīng)改變地址而無法順利使用電話功能的問題存在,而有待加以改善。以圖2所示的家庭網(wǎng)絡分享(IP Sharing)通訊環(huán)境為例,由于現(xiàn)行慣用的網(wǎng)絡地 址數(shù)量不敷使用,因此一般家庭用戶若是有多部電腦需要同時連網(wǎng)的需求,多半都會購買 網(wǎng)絡分享器(IP Sharing)來達到目的。而市售的家用IP Siaring也多半結合了多樣化的 功能,例如無線路由器(Access Point ;簡稱AP)、動態(tài)域名服務、存取限制...等等。當使 用者想要于這樣的網(wǎng)絡環(huán)境中提供服務時,除了 IP faring本身提供的動態(tài)域名服務可以 讓使用者不需擔心所使用的對外連線網(wǎng)絡地址是否固定的問題,剩下的就是IP Siaring內(nèi) 部網(wǎng)絡中服務裝置的配置了。IP Sharing通常會提供Port Forwarding的功能,讓使用者可以通過連接外部地 址的特定通訊端口來存取內(nèi)部網(wǎng)絡中的指定裝置。但是,這樣的方式一樣存在著提供服務 的裝置可能因為網(wǎng)絡地址改變而導致服務無法正常連接的問題存在,而有待加以改善。
發(fā)明內(nèi)容
本發(fā)明的目的在于,解決現(xiàn)有網(wǎng)絡環(huán)境中,提供服務的裝置可能因為網(wǎng)絡地址改 變而導致服務無法正常連接的問題。為達前述的目的,本發(fā)明提供一種智能型服務自動檢測回復方法,其實施于一 終端裝置中用以檢測一服務主機的狀態(tài),并且,終端裝置預先自該服務主機取得該服務 主機的一當前使用的網(wǎng)絡協(xié)議地址(IP Address)以及一當前使用的網(wǎng)絡實體地址(MAC Address);其中,該自動檢測回復方法包括由該終端裝置所執(zhí)行的下列步驟(a)接收一數(shù)據(jù)報文,于該數(shù)據(jù)報文中至少包含有下列資訊一數(shù)據(jù)報文格式資 訊、一網(wǎng)絡實體地址資訊、以及一網(wǎng)絡協(xié)議地址資訊;(b)判斷該數(shù)據(jù)報文格式資訊是否符合一預定數(shù)據(jù)報文格式,倘若”是”則執(zhí)行步 驟(c),倘若”否”則執(zhí)行步驟(g);(c)判斷該數(shù)據(jù)報文內(nèi)所包含的該網(wǎng)絡實體地址資訊是否和該當前使用的網(wǎng)絡實 體地址相同,倘若”是”則執(zhí)行步驟(d),倘若”否”則執(zhí)行步驟(g);(d)判斷該數(shù)據(jù)報文內(nèi)所包含的該網(wǎng)絡協(xié)議地址是否和該當前使用的網(wǎng)絡協(xié)議地 址相同,倘若”否”則執(zhí)行步驟(e),倘若”是”則執(zhí)行步驟(f);(e)執(zhí)行一地址變更程序,以該數(shù)據(jù)報文內(nèi)所包含的該網(wǎng)絡協(xié)議地址作為一新地 址,并向該新地址進行重新連接或導向的動作;(f)以正常程序繼續(xù)處理所接收的數(shù)據(jù)報文,并回到步驟(a);以及,(g)忽略該數(shù)據(jù)報文,并回到步驟(a)。較佳者,該數(shù)據(jù)報文格式資訊至少包括有一數(shù)據(jù)報文大小、及一 MAC標頭;并且, 于該步驟(b)中更包括有以下步驟(bl)判斷該數(shù)據(jù)報文的大小是否符合一預定大小,倘若”是”則執(zhí)行步驟( ),倘 若”否”則執(zhí)行步驟(g);及(b2)判斷該數(shù)據(jù)報文內(nèi)的訊MAC標頭是否符合一預定格式,倘若”是”則執(zhí)行下一 步驟,倘若”否”則執(zhí)行步驟(g)。較佳者,該MAC標頭更至少包括有一類型欄位;并且,于該步驟(b2)后更包括有 以下步驟
(b3)判斷該MAC標頭內(nèi)所包含的類型欄位是否符合一預定類型格式,倘若”是”則 執(zhí)行步驟(c),倘若”否”則執(zhí)行步驟(g)。較佳者,該數(shù)據(jù)報文格式資訊更包括有一 ARP標頭;并且,于該步驟(b!3)中更包 括了以下判斷動作判斷該數(shù)據(jù)報文內(nèi)所包含的ARP標頭內(nèi)所含的一操作碼欄位是否符合 一預定操作碼格式,倘若”是”則執(zhí)行步驟(c),倘若”否”則執(zhí)行步驟(g)。較佳者,于該步驟( )后更包括有以下步驟(b2a)判斷該數(shù)據(jù)報文內(nèi)所包含的一 IP標頭內(nèi)所含的一下一標頭欄位是否符合 一預定標頭格式,倘若”是”則執(zhí)行步驟(b2b),倘若”否”則執(zhí)行步驟(g);及(b2b)判斷該數(shù)據(jù)報文內(nèi)所包含的一 ICMPv6標頭內(nèi)所含的一類型欄位是否符合 一預定ICMPv6格式,倘若”是”則執(zhí)行步驟(c),倘若”否”則執(zhí)行步驟(g)。為達前述的目的,本發(fā)明提供一種智能型服務自動檢測回復系統(tǒng),其設置于一終 端裝置中且包括有一傳輸接口,用以和外界一服務主機連線并傳輸數(shù)據(jù);一裝置電路,用以提供終端裝置的運作及功能;一注冊模塊,用以透過該傳輸接口向該服務主機提出一建立連線請求,以及取得 該服務主機的一當前使用的網(wǎng)絡協(xié)議地址(IP Address)以及一當前使用的網(wǎng)絡實體地址 (MAC Address);一存儲器,至少可儲存所述的當前使用的網(wǎng)絡協(xié)議地址及所述的當前使用的網(wǎng)絡 實體地址;一數(shù)據(jù)處理模塊,用以透過該傳輸接口接收來自外界的至少一數(shù)據(jù)報文,并判讀 該數(shù)據(jù)報文內(nèi)所含的數(shù)據(jù);以及,一分析模塊,將經(jīng)數(shù)據(jù)處理模塊判讀的數(shù)據(jù)報文數(shù)據(jù)來和該當前使用的網(wǎng)絡協(xié)議 與當前使用的網(wǎng)絡實體地址進行分析,并根據(jù)分析結果來決定是否由該注冊模塊來向該服 務主機重新提出該建立連線請求。本發(fā)明的有益效果在于,不僅能夠自動檢測特定裝置變更了網(wǎng)絡地址的情況,且 可讓使用該服務的設備能夠于發(fā)現(xiàn)變動時自動重新進行連接或導向,讓服務的中斷時間縮 減到最短,進而消除因為無法正確連接而引發(fā)的連線困擾以及可能延伸的損失。
圖1為一典型的習知網(wǎng)絡電話通訊環(huán)境示意圖。圖2為一典型的習知家庭網(wǎng)絡分享通訊環(huán)境示意圖。圖3為本發(fā)明的智能型服務自動檢測回復系統(tǒng)的一網(wǎng)絡架構示意圖。圖4為一典型網(wǎng)絡模塊架構的示意圖。圖5為本發(fā)明的智能型服務自動檢測回復方法的一實施例流程圖。圖6為一標準的地址解釋協(xié)議(Address Resolution Protocol ;簡稱ARP)數(shù)據(jù) 報文的欄位架構圖。圖7為一典型ARP數(shù)據(jù)報文內(nèi)的MAC標頭與ARP標頭實際內(nèi)容的范例。圖8為本發(fā)明的智能型服務自動檢測回復系統(tǒng)的實施例方塊圖。附圖標記說明
11-服務主機;12-若干終端裝置;13-網(wǎng)關裝置;14-外界網(wǎng)絡;21_27_流程步驟; 30-智能型服務自動檢測回復系統(tǒng);31-傳輸接口 ;32-裝置電路;33-注冊模塊;34-存儲 器;35-數(shù)據(jù)處理模塊;36-分析模塊;40-網(wǎng)絡模塊;41-實體層;411-網(wǎng)絡卡模塊;412-固 件;42-數(shù)據(jù)鏈路層;421-網(wǎng)絡驅動程序;422-裝置獨立接口 ;43-網(wǎng)絡層;431-網(wǎng)絡協(xié)議。
具體實施例方式為了能更清楚地描述本發(fā)明所提出的智能型服務自動檢測回復方法及系統(tǒng),以下 將舉出實施例具體說明。如圖3所示,為本發(fā)明的智能型服務自動檢測回復系統(tǒng)的一網(wǎng)絡架構示意圖。本 發(fā)明的智能型服務自動檢測回復系統(tǒng)是架構于一網(wǎng)絡環(huán)境中,其包括有至少一服務主機 11、若干終端裝置12、以及至少一網(wǎng)關裝置13。服務主機11透過網(wǎng)關裝置13連接于一外 界網(wǎng)絡14,例如但不局限于網(wǎng)際網(wǎng)絡(Internet)或電話通訊網(wǎng)絡等等。該些終端裝置12 則是以有線或無線網(wǎng)絡連線的方式與服務主機11相聯(lián)系,并取得服務主機11所提供的服 務。例如,以VoIP通訊環(huán)境為例,該服務主機11可以是一網(wǎng)絡電話服務器,該終端裝置12 可以是網(wǎng)絡電話話機、網(wǎng)絡電話網(wǎng)關器或是具有網(wǎng)絡電話功能的電腦或是手持式網(wǎng)絡裝置 等等,該網(wǎng)關裝置13可以是VoIP網(wǎng)關器,而所連接的網(wǎng)絡14則是電話通訊網(wǎng)絡。又如,若 以家庭網(wǎng)絡分享(IP Sharing)通訊環(huán)境為例,該服務主機11可以是一網(wǎng)絡服務器或是電 腦,該終端裝置12可以是網(wǎng)絡路由器、網(wǎng)絡分享器、無線網(wǎng)絡基地臺、電腦、或是手持式網(wǎng) 絡裝置,該網(wǎng)關裝置13可以是網(wǎng)絡路由器、網(wǎng)絡分享器、或無線網(wǎng)絡基地臺,而所連接的網(wǎng) 絡14則是網(wǎng)際網(wǎng)絡。本發(fā)明所提出的智能型服務自動檢測回復方法及系統(tǒng),不僅能夠讓終端裝置12 自動檢測特定裝置(例如服務主機11)變更了網(wǎng)絡協(xié)議地址的情況,且可讓使用該服務的 終端裝置12能夠于發(fā)現(xiàn)變動時自動重新進行連接或導向,讓服務的中斷時間縮減到最短, 進而消除因為無法正確連接而引發(fā)的連線困擾以及可能延伸的損失。為了有效率的完成檢 測,本發(fā)明提出了一種在終端裝置12的軟件架構底層迅速過濾封包的方法,以此方式來分 析封包。如此一來,不僅可以及早發(fā)現(xiàn)所監(jiān)控的裝置(例如服務主機11)是否改變了原有 的網(wǎng)絡協(xié)議地址,進而做出重新連接或是導向的動作,使服務盡早恢復,也能夠降低因為進 行檢測產(chǎn)生的系統(tǒng)負擔。圖4所示是一典型網(wǎng)絡模塊架構的示意圖。一般具網(wǎng)絡通訊功能的裝置,包括 服務主機及終端裝置等,其網(wǎng)絡模塊大體上都具有類似網(wǎng)絡模塊40架構,也就是由最底 層的實體層41 (PHY Layer)、其上的數(shù)據(jù)鏈路層42 (Link Layer)、以及最上層的網(wǎng)絡層 43 (Network Layer)所構成。實體層41中包括有硬件的網(wǎng)絡卡模塊411 (Network Interface Card Module;簡稱NIC Module)、以及固件412 (Firmware)。數(shù)據(jù)鏈路層42中包括了網(wǎng) 絡驅動程序 421 (Network Device Driver)以及裝置獨立接口 422 (Device Independent Interface)。網(wǎng)絡層43包括了網(wǎng)絡協(xié)議431 (Network Protocol)例如但不局限于IPv4或 IPv6等等。這網(wǎng)絡驅動程序421、裝置獨立接口 422及網(wǎng)絡協(xié)議431的組合實質上構成了 該網(wǎng)絡模塊40的作業(yè)系統(tǒng)和硬件設備連結的核心程序,例如但不局限于Kernel 等。本發(fā)明所提出的智能型服務自動檢測回復方法及系統(tǒng),可以被實做于網(wǎng)絡模塊40 的固件412或是驅動程序421之中。以圖4的架構為例,如果可以在架構的越底層被完成,例如固件,那么所得到的效益就會越明顯。至于固件412及驅動程序421要如何得知欲檢 測的特定條件,則可以透過應用程序例如ioctl的方式,將本發(fā)明智能型服務自動檢測回 復方法啟動后的檢測條件告知底層,藉此讓檢測動作進行。請參閱圖5,為本發(fā)明的智能型服務自動檢測回復方法的一實施例流程圖,其實施 于一終端裝置中用以檢測一服務主機的狀態(tài),其檢測流程如下步驟(21)啟動。首先,終端裝置需預先和服務主機建立連線(例如,完成注冊于服務主機),并 自該服務主機取得該服務主機的一當前使用的網(wǎng)絡協(xié)議地址(IP Address)以及一當前 使用的網(wǎng)絡實體地址(MAC Address),并以LUT表形式將該當前使用的網(wǎng)絡協(xié)議地址以及 當前使用的網(wǎng)絡實體地址儲存于一存儲器內(nèi)。并且,于終端裝置內(nèi)的該存儲器內(nèi)并儲存 有符合該服務主機的硬件格式資訊、以及符合該服務主機的網(wǎng)絡通訊協(xié)議的一數(shù)據(jù)報文 (Datagram)格式資訊。倘若該服務主機是采用標準的地址解釋協(xié)議(Address Resolution Protocol ;簡稱ARP)來進行通訊時,則該數(shù)據(jù)報文格式資訊包括有至少下列其中之一數(shù) 據(jù)報文大小、MAC 標頭(MAC Header)、ARP 標頭(ARP Header)、IP 標頭(IP Header)、以及 數(shù)據(jù)(Data)。其中,MAC標頭更至少包括有一類型(Type)欄位及一來源MAC地址(Source MAC Address)欄位;ARP標頭更至少包括有一操作碼(Opcode)欄位以及一傳送者協(xié)議地址 (Protocol Address Of Sender)欄位;IP標頭更至少包括有下一標頭(Next Header)欄位 以及ICMPv6標頭(ICMPv6Header)欄位等等。之后,再啟動本發(fā)明的智能型服務自動檢測回復方法的檢測流程,并開始接收來 自外界的數(shù)據(jù)數(shù)據(jù)報文(data frame)。步驟02)判斷所接收到的數(shù)據(jù)報文大小是否符合一預定大小,倘若”是”的話則 執(zhí)行步驟03);若”否”則執(zhí)行步驟07)。請參閱圖6及圖7,分別為一標準的地址解釋協(xié)議(ARP)數(shù)據(jù)報文的欄位架構圖、 以及一典型ARP數(shù)據(jù)報文內(nèi)的MAC標頭與ARP標頭實際內(nèi)容的范例。若以如圖6與圖7所 示的ARP數(shù)據(jù)報文為例,其數(shù)據(jù)報文的預定大小是60字節(jié)(Bytes)。所以,倘若終端裝置 所接收到的數(shù)據(jù)報文的大小不是60字節(jié),則表示其并非符合ARP的數(shù)據(jù)報文,也當然不會 是來自服務主機的數(shù)據(jù),所以可以直接忽略該數(shù)據(jù)報文不再繼續(xù)解讀其內(nèi)容。相對地,若以 一 IPv6通訊協(xié)議的數(shù)據(jù)報文為例(換句話說,當該服務主機是采用IPv6通訊協(xié)議來進行 通訊時),其數(shù)據(jù)報文的預定大小是78字節(jié)(Bytes)。所以,倘若終端裝置所接收到的數(shù)據(jù) 報文的大小不是78字節(jié),則表示其并非符合IPv6通訊協(xié)議的數(shù)據(jù)報文,也當然不會是來自 服務主機的數(shù)據(jù),所以可以直接忽略該數(shù)據(jù)報文不再繼續(xù)解讀其內(nèi)容。由于此一步驟僅牽涉到數(shù)據(jù)報文大小的判斷,是最直接、最容易也最快的過濾方 式,所以可以大幅降低終端裝置處理所接收數(shù)據(jù)報文的負擔,進一步達到省電、快速反應與 提高通訊品質的功效。步驟03)判斷數(shù)據(jù)報文內(nèi)所包括的MAC標頭中的內(nèi)容是否符合一預定格式,倘 若”是”的話則執(zhí)行步驟04);若”否”則執(zhí)行步驟07)。若以標準的ARP數(shù)據(jù)報文為例,其MAC標頭中的類型欄位的預定格式是0x0806, ARP標頭內(nèi)的操作碼欄位的預定操作碼格式是0x01。所以,倘若終端裝置所接收到的數(shù)據(jù) 報文內(nèi)所包括的MAC標頭中的內(nèi)容(例如前述的類型欄位)或是ARP標頭內(nèi)的操作碼欄位的內(nèi)容和預定格式不同,則表示其并非符合ARP的數(shù)據(jù)報文,也當然不會是來自服務主機 的數(shù)據(jù),所以可以直接忽略該數(shù)據(jù)報文不再繼續(xù)解讀其內(nèi)容。由于此一步驟僅牽涉到預定 格式的比對判斷,也是很直接、很容易也很快的過濾方式,所以可以有效降低終端裝置處理 所接收數(shù)據(jù)報文的負擔,進而達到省電、快速反應與提高通訊品質的功效。同理,若以IPv6通訊協(xié)議的數(shù)據(jù)報文為例,其MAC標頭中的類型欄位的預定格式 則是OxSdd,IP標頭中的下一標頭欄位的預定標頭格式是0x3a,且其ICMPv6標頭中的類型 欄位的預定格式是0x87。所以,倘若終端裝置所接收到的數(shù)據(jù)報文內(nèi)所包括的MAC標頭、 IP標頭或ICMPv6標頭中任何一項的內(nèi)容和預定格式不同,則表示其并非符合IPv6通訊協(xié) 議的數(shù)據(jù)報文,也當然不會是來自服務主機的數(shù)據(jù),所以可以直接忽略該數(shù)據(jù)報文不再繼 續(xù)解讀其內(nèi)容。步驟04)判斷該數(shù)據(jù)報文內(nèi)地址與預先記錄的地址相同,倘若”否”則執(zhí)行步驟 (25),倘若”是”則執(zhí)行步驟(26) 0一旦前述步驟02)及03)的判斷結果都是”是”,則表示所接收的數(shù)據(jù)報文是符 合服務主機所使用的通訊協(xié)議的相同數(shù)據(jù)報文格式,因此需進一步判斷該數(shù)據(jù)報文是否是 由服務主機所發(fā)出的數(shù)據(jù)報文。此步驟04)牽涉到兩個動作,首先需確認該數(shù)據(jù)報文內(nèi)所 包含的一網(wǎng)絡實體地址(MAC Address)資訊是否就是服務主機當前使用的網(wǎng)絡實體地址, 倘若結果為”否”,表示該數(shù)據(jù)報文并非來自服務主機的數(shù)據(jù),所以可以直接忽略該數(shù)據(jù)報 文不再繼續(xù)解讀其內(nèi)容。倘若結果為”是”的話,則表示該數(shù)據(jù)報文是來自該服務主機的數(shù) 據(jù),因此接著再檢查該數(shù)據(jù)報文內(nèi)所包含的一網(wǎng)絡協(xié)議地址是否就是服務主機當前使用的 網(wǎng)絡協(xié)議地址,以檢測該服務主機的地址是否已有變更。倘若此檢查結果為”否”,則表示該 服務主機的地址已改變,此時便需執(zhí)行步驟05);相對地,倘若此檢查結果為”是”,則表示 該服務主機的地址并無改變,所以便執(zhí)行步驟06)也就是以正常程序來繼續(xù)解讀與處理 該數(shù)據(jù)報文內(nèi)的數(shù)據(jù)。若以圖6及圖7所示的標準的ARP數(shù)據(jù)報文為例,數(shù)據(jù)報文內(nèi)所包含的該網(wǎng)絡實 體地址資訊是記錄在MAC標頭內(nèi)的“來源MAC地址”欄位,且該網(wǎng)絡協(xié)議地址資訊是記錄在 ARP標頭內(nèi)的“傳送者協(xié)議地址”欄位。至于,用來和數(shù)據(jù)報文內(nèi)所包含地址進行比對的相對 應數(shù)據(jù),則是預先儲存在存儲器內(nèi)的該服務主機的“該當前使用的網(wǎng)絡實體地址”以及“該 當前使用的網(wǎng)絡協(xié)議地址”步驟0 地址變更,導向新地址,之后執(zhí)行步驟06)。一旦發(fā)現(xiàn)服務主機的網(wǎng)絡 協(xié)議地址已改變,則執(zhí)行一地址變更程序,以該數(shù)據(jù)報文內(nèi)所包含的該網(wǎng)絡協(xié)議地址作為 一新地址,并向該新地址進行重新連接或導向的動作(例如但不局限于向該服務主機的新 地址重新注冊),以重新獲得該服務主機所提供的服務。之后,再將此重新更新后的網(wǎng)絡協(xié) 議地址儲存回存儲器中作為該當前使用的網(wǎng)絡協(xié)議地址,以提供后續(xù)判斷比對之用。步驟06)以正常程序繼續(xù)處理所接收的數(shù)據(jù)報文,之后再回到步驟0 繼續(xù)接 收其他數(shù)據(jù)報文。這里所述的「正常程序」也就是在正常連線狀況下終端裝置與服務主機 進行通訊與數(shù)據(jù)傳輸、以及終端裝置接受服務主機提供服務的正常通訊程序。步驟(XT)忽略。一旦發(fā)現(xiàn)該數(shù)據(jù)報文并非由該服務主機所發(fā)出,則本發(fā)明的智 能型服務自動檢測回復方法可不必再繼續(xù)判斷該數(shù)據(jù)報文內(nèi)的內(nèi)容是否牽涉到地址變更, 所以可直接忽略該數(shù)據(jù)報文。此一忽略步驟有兩種可能情況,一種是該數(shù)據(jù)報文的目的裝置就是該終端裝置,另一種則不是。這部分可由該數(shù)據(jù)報文內(nèi)的MAC標頭中的“目的MAC地 址”欄位或是ARP標頭內(nèi)的“目標協(xié)議地址”是否符合該終端裝置本身的地址來判斷。倘若 “不是”,則表示該數(shù)據(jù)報文不是發(fā)送給該終端裝置,所以該終端裝置會直接把這數(shù)據(jù)報文 丟棄。倘若”是”,則這可能是從其他網(wǎng)絡裝置(例如另一終端裝置等等)直接傳送給該終 端裝置的數(shù)據(jù)報文,此時終端裝置將以正常程序來處理此數(shù)據(jù)報文,也就是執(zhí)行步驟06)。請參閱圖8,為本發(fā)明的智能型服務自動檢測回復系統(tǒng)30的實施例方塊圖,其可 設置于如前述的一終端裝置中,例如但不局限于網(wǎng)絡電話話機、網(wǎng)絡電話網(wǎng)關器、網(wǎng)絡路 由器、網(wǎng)絡分享器、無線網(wǎng)絡基地臺、電腦、手持式網(wǎng)絡裝置等等。該系統(tǒng)30包括有一傳輸 接口 31、一裝置電路32、一注冊模塊33、一存儲器;34、一數(shù)據(jù)處理模塊35、以及一分析模塊 36。該傳輸接口 31是用以和外界一服務主機連線并傳輸數(shù)據(jù)的硬件接口,例如網(wǎng)絡 接口等等。該裝置電路32是用以提供終端裝置的各項運作及功能,也就是對于終端裝置為 了能夠運作且達到其本身功能所需的內(nèi)部各項硬件電路的廣泛統(tǒng)稱。該注冊模塊33是用 以透過該傳輸接口 31向該服務主機提出一建立連線請求(例如但不局限于注冊于該服務 主機),以及取得該服務主機的一當前使用的網(wǎng)絡協(xié)議地址(IP Address)以及一當前使用 的網(wǎng)絡實體地址(MAC Address),進而能獲得該服務主機所提供的服務。該存儲器34至少 可用于儲存本發(fā)明智能型服務自動檢測回復方法于實施時所需比對的預定數(shù)據(jù),其至少包 括了 該當前使用的網(wǎng)絡協(xié)議地址以及當前使用的網(wǎng)絡實體地址。該數(shù)據(jù)處理模塊35是用 以透過該傳輸接口 31接收來自外界的至少一數(shù)據(jù)報文,并判讀該數(shù)據(jù)報文內(nèi)所含的數(shù)據(jù), 尤其是該數(shù)據(jù)報文中所包含的各標頭或欄位內(nèi)所含資訊。該分析模塊36將經(jīng)數(shù)據(jù)處理模 塊35判讀的數(shù)據(jù)報文數(shù)據(jù)來和該當前使用的網(wǎng)絡協(xié)議與當前使用的網(wǎng)絡實體地址進行分 析,并根據(jù)分析結果來決定是否由該注冊模塊33來向該服務主機重新提出該建立連線請 求。至于,所述的分析方法則請參閱圖5及其相關說明內(nèi)容。以下將以如前述的“網(wǎng)絡電話通訊環(huán)境”與“家庭網(wǎng)絡分享通訊環(huán)境”為例,具體 說明本發(fā)明智能型服務自動檢測回復方法的實施范例。范例 A 以如圖1所示的網(wǎng)絡電話通訊環(huán)境為例,倘若是話機(也就是終端裝置)與網(wǎng)關 器(也就是網(wǎng)關裝置)能夠自動檢測到網(wǎng)絡電話服務器(也就是服務主機)已經(jīng)改變地址, 并且自動重新注冊,那么將會使電話網(wǎng)絡的中斷時間降至最低。關于這樣的作法,我們將其 詳述如下(以話機為例)當話機正確注冊于Response Point網(wǎng)絡,此時話機會將網(wǎng)絡電話服務器當前使用 的網(wǎng)絡協(xié)議地址以及網(wǎng)絡實體地址回報給底層,并啟動本發(fā)明的智能型服務自動檢測回復 方法的功能。于本發(fā)明的智能型服務自動檢測回復方法被啟動后,話機將會把無端的 ARP (Gratuitous ARP)視為所欲檢測的指定數(shù)據(jù)報文,對其進行分析,而每一個被接收到的 數(shù)據(jù)報文都將進行下述判斷。(Al)判斷所接收到的數(shù)據(jù)報文大小是否為60bytes,是的話則繼續(xù)。(A2)判斷MAC標頭中的類型欄位是否為0x0806且ARP標頭中的操作碼欄位是否 為0x01,是的話則繼續(xù)。
(A3)判斷MAC標頭中的來源MAC地址是否與網(wǎng)絡電話服務器相同,是的話則繼續(xù)。(A4)判斷目標協(xié)議地址是否相同,是的話,則此一數(shù)據(jù)報文即為我們所欲檢測的 Gratuitous ARP,此時如果發(fā)現(xiàn)數(shù)據(jù)報文中所指定的網(wǎng)絡協(xié)議地址與預先紀錄的不同,即 表示網(wǎng)絡電話服務器已經(jīng)變更了地址,因此通知話機發(fā)現(xiàn)改變,并且讓此數(shù)據(jù)報文回到正 常處理流程。(A5)若上述動作中,有任一動作沒有繼續(xù),則該數(shù)據(jù)報文將依照正常處理流程處理?!┰挋C發(fā)現(xiàn)網(wǎng)絡電話服務器變更了地址,那么就會對網(wǎng)絡電話服務器的新地址 進行重新注冊的動作,確保后續(xù)的SIP訊息交換可以正確無誤。如此的作法能夠在判斷一不吻合時就立即讓數(shù)據(jù)報文恢復到原有的處理程序,減 少此一檢測方式對系統(tǒng)所造成的負擔。且由于本發(fā)明智能型服務自動檢測回復方法的使 用,能夠讓整個電話網(wǎng)絡在網(wǎng)絡電話服務器重新啟動完成后的數(shù)秒鐘內(nèi)恢復正常運作,且 完全不需要任何額外的操作,讓使用者在未發(fā)現(xiàn)的狀態(tài)下就完成回復動作。比起一般狀態(tài) 下需要等待SIP Registration Expire逾時(最長可能達半個小時)或是因為發(fā)話失敗才 由話機發(fā)起重新注冊,讓來電持續(xù)無法接通至目的地的損失相較,本發(fā)明所提出的方法確 實能將損失降至最低。范例 B 以如圖2所示的家庭網(wǎng)絡分享通訊環(huán)境為例,倘若是個人電腦(也就是終端裝置) 與網(wǎng)絡分享器(也就是網(wǎng)關裝置,也可以是本發(fā)明所述的終端裝置)能夠自動檢測到網(wǎng)絡 服務器(也就是服務主機)已經(jīng)改變地址,并且自動重新注冊,那么將會使網(wǎng)絡服務的中斷 時間降至最低。為了解決這樣的問題,本發(fā)明智能型服務自動檢測回復方法一樣可以派上 用場。當網(wǎng)絡分享器(于此范例中是作為終端裝置)中指定了一組特定的端口轉送 (Port Forwarding)設置,網(wǎng)絡分享器便將該指定裝置(例如網(wǎng)絡服務器)當前使用的網(wǎng)絡 協(xié)議地址以及網(wǎng)絡實體地址回報給底層并儲存于比對表(Looking-Up Table ;簡稱LUT), 并啟動本發(fā)明智能型服務自動檢測回復方法的功能。于本發(fā)明智能型服務自動檢測回復方法功能被啟動后,網(wǎng)絡分享器將會把 Gratuitous ARP視為所欲檢測的指定數(shù)據(jù)報文,對其進行分析,而每一個被接收到的數(shù)據(jù) 報文都將進行下述判斷。(Bi)判斷所接收到的數(shù)據(jù)報文大小是否為60bytes,是的話則繼續(xù)。(B2)判斷MAC標頭中的類型欄位是否為0x0806且ARP標頭中的操作碼欄位是否 為0x01,是的話則繼續(xù)。(B3)判斷MAC標頭中的來源MAC地址是否存在于比對列表中,是的話則繼續(xù)。(B4)判斷目標協(xié)議地址是否相同是否相同,是的話,則此一數(shù)據(jù)報文即為我們所 欲檢測的Gratuitous ARP,此時如果發(fā)現(xiàn)數(shù)據(jù)報文中所指定的網(wǎng)絡協(xié)議地址與紀錄的不 同,即表示所監(jiān)控的服務裝置已經(jīng)變更了地址,因此通知網(wǎng)絡分享器(也就是終端裝置)發(fā) 現(xiàn)改變,并且讓此數(shù)據(jù)報文回到正常處理流程。(B5)若上述動作中,有任一動作沒有繼續(xù),則該數(shù)據(jù)報文將依照正常處理流程處理。
范例C 為了因應使用者可能開啟IPv6地址的功能,本發(fā)明智能型服務自動檢測回復方 法也提供了相應的機制,讓此方式于IPv6的網(wǎng)絡環(huán)境中對ICMPv6 Neighbor Solicitation 進行檢測,對數(shù)據(jù)報文進行下述判斷。(Cl)判斷所接收到的數(shù)據(jù)報文大小是否為78bytes,是的話則繼續(xù)。(C2)判斷MAC標頭中的類型欄位是否為0x86dd的IPv6封包,是的話則繼續(xù)。(C3)判斷IP標頭中指定的下一標頭欄位是否為0x3a的ICMPv6,是的話則繼續(xù)。(C4)判斷ICMPv6標頭中的類型欄位是否為0x87的Neighbor Solicitation,是 的話,則此一數(shù)據(jù)報文即為我們所欲檢測的ICMPv6 Neighbor Solicitation,此時如果發(fā) 現(xiàn)數(shù)據(jù)報文中所指定的網(wǎng)絡協(xié)議地址與紀錄的不同,即表示所監(jiān)控的服務裝置已經(jīng)變更了 地址,因此通知網(wǎng)絡分享器發(fā)現(xiàn)改變,并且讓此數(shù)據(jù)報文回到正常處理流程。(C5)若上述動作中,有任一動作沒有繼續(xù),則該數(shù)據(jù)報文將依照正常處理流程處 理。一旦網(wǎng)絡分享器(也就是終端裝置)發(fā)現(xiàn)所監(jiān)控的裝置變更了地址,那么就會將 相對應的端口轉送(Port Forwarding)設置進行更新,讓該裝置能夠繼續(xù)由外部地址進行 存取,確保服務的正常。綜上所述,本發(fā)明提出了一種智能型的數(shù)據(jù)報文檢測方式,透過此方式,能夠對指 定的裝置進行監(jiān)控。當發(fā)現(xiàn)該裝置因為各種原因改變了網(wǎng)絡地址時,能夠于最短的時間內(nèi) 回復與裝置的連接或是進行重新導向,讓網(wǎng)絡的使用保持順暢,免去因為服務無法正確存 取而造成的損失。而所提出的方式由于利用數(shù)據(jù)報文的特征進行快速分析,藉此降低檢測 所需付出的系統(tǒng)負擔,因此在合理的監(jiān)控范圍中,并不會對網(wǎng)絡效能造成明顯的影響,相當 適合被應用于需要提供服務卻無法保證服務裝置取得固定網(wǎng)絡地址的網(wǎng)絡環(huán)境,有效免去 人工維護的麻煩與成本,確實可解決習知技術的種種缺失。以上對本發(fā)明的描述是說明性的,而非限制性的,本專業(yè)技術人員理解,在權利要 求限定的精神與范圍之內(nèi)可對其進行許多修改、變化或等效,但是它們都將落入本發(fā)明的 保護范圍內(nèi)。
權利要求
1.一種智能型服務自動檢測回復方法,其實施于一終端裝置中用以檢測一服務主機的 狀態(tài),并且,該終端裝置預先自該服務主機取得該服務主機的一當前使用的網(wǎng)絡協(xié)議地址 以及一當前使用的網(wǎng)絡實體地址;其特征在于,該自動檢測回復方法包括由該終端裝置所 執(zhí)行的下列步驟(A)接收一數(shù)據(jù)報文;(B)判斷該數(shù)據(jù)報文的大小是否符合一預定大小,倘若”是”則執(zhí)行步驟(C),倘若”否” 則執(zhí)行步驟(G);(C)判斷該數(shù)據(jù)報文內(nèi)所包含的一MAC標頭是否符合一預定格式,倘若”是”則執(zhí)行步 驟(D),倘若”否”則執(zhí)行步驟(G);(D)判斷該數(shù)據(jù)報文內(nèi)所包含的一網(wǎng)絡協(xié)議地址是否和該當前使用的網(wǎng)絡協(xié)議地址相 同,倘若”否”則執(zhí)行步驟(E),倘若”是”則執(zhí)行步驟(F);(E)執(zhí)行一地址變更程序,以該數(shù)據(jù)報文內(nèi)所包含的網(wǎng)絡協(xié)議地址作為一新地址,并向 該新地址進行重新連接或導向的動作;(F)以正常程序繼續(xù)處理所接收的數(shù)據(jù)報文,并回到步驟(A);以及,(G)忽略該數(shù)據(jù)報文,并回到步驟(A)。
2.如權利要求1所述的智能型服務自動檢測回復方法,其特征在于,于該步驟(C)中更 包括有以下步驟(Cl)判斷該MAC標頭內(nèi)所包含的一類型欄位是否符合一預定類型格式,倘若”是”則執(zhí) 行下一步驟,倘若”否”則執(zhí)行步驟(G);以及,(C2)判斷該MAC標頭內(nèi)所包含的一網(wǎng)絡實體地址是否和該當前使用的網(wǎng)絡實體地址 相同,倘若”是”則執(zhí)行步驟(D),倘若”否”則執(zhí)行步驟(G)。
3.如權利要求2所述的智能型服務自動檢測回復方法,其特征在于,于該步驟(Cl)與 (C2)之間更包括有以下步驟(Cla)判斷該數(shù)據(jù)報文內(nèi)所包含的一 ARP標頭內(nèi)所含的一操作碼欄位是否符合一預定 操作碼格式,倘若”是”則執(zhí)行步驟(C2),倘若”否”則執(zhí)行步驟(G)。
4.如權利要求2所述的智能型服務自動檢測回復方法,其特征在于,于該步驟(Cl)與 (C2)之間更包括有以下步驟(Clb)判斷該數(shù)據(jù)報文內(nèi)所包含的一 IP標頭內(nèi)所含的一下一標頭欄位是否符合一預 定標頭格式,倘若”是”則執(zhí)行步驟(Clc),倘若”否”則執(zhí)行步驟(G);及(Clc)判斷該數(shù)據(jù)報文內(nèi)所包含的一 ICMPv6標頭內(nèi)所含的一類型欄位是否符合一預 定ICMPv6格式,倘若”是”則執(zhí)行步驟(C2),倘若”否”則執(zhí)行步驟(G)。
5.如權利要求1所述的智能型服務自動檢測回復方法,其特征在于,該終端裝置是下 列其中之一網(wǎng)絡電話話機、網(wǎng)絡電話網(wǎng)關器、網(wǎng)絡路由器、網(wǎng)絡分享器、無線網(wǎng)絡基地臺、 電腦、手持式網(wǎng)絡裝置;并且,該服務主機是下列其中之一網(wǎng)絡電話服務器、網(wǎng)絡服務器、 電腦。
6.如權利要求1所述的智能型服務自動檢測回復方法,其特征在于,終端裝置預先取 得的該當前使用的網(wǎng)絡協(xié)議地址及當前使用的網(wǎng)絡實體地址是以LUT表形式儲存于一存 儲器內(nèi)。
7.一種智能型服務自動檢測回復系統(tǒng),設置于一終端裝置中,其特征在于,該系統(tǒng)包括有一傳輸接口,用以和外界一服務主機連線并傳輸數(shù)據(jù);一裝置電路,用以提供終端裝置的運作及功能;一注冊模塊,用以透過該傳輸接口向該服務主機提出一建立連線請求,以及取得該服 務主機的一當前使用的網(wǎng)絡協(xié)議地址以及一當前使用的網(wǎng)絡實體地址;一存儲器,至少可儲存所述的當前使用的網(wǎng)絡協(xié)議地址及所述的當前使用的網(wǎng)絡實體 地址;一數(shù)據(jù)處理模塊,用以透過該傳輸接口接收來自外界的至少一數(shù)據(jù)報文,并判讀該數(shù) 據(jù)報文內(nèi)所含的數(shù)據(jù);以及,一分析模塊,將經(jīng)數(shù)據(jù)處理模塊判讀的數(shù)據(jù)報文數(shù)據(jù)來和該當前使用的網(wǎng)絡協(xié)議與當 前使用的網(wǎng)絡實體地址進行分析,并根據(jù)分析結果來決定是否由該注冊模塊來向該服務主 機重新提出該建立連線請求。
8.如權利要求7所述的智能型服務自動檢測回復系統(tǒng),其特征在于,該分析模塊分析 數(shù)據(jù)報文數(shù)據(jù)的步驟包括有(A)接收一數(shù)據(jù)報文;(B)判斷該數(shù)據(jù)報文的大小是否符合一預定大小,倘若”是”則執(zhí)行步驟(C),倘若”否” 則執(zhí)行步驟(G);(C)判斷該數(shù)據(jù)報文內(nèi)所包含的一MAC標頭是否符合一預定格式,倘若”是”則執(zhí)行步 驟(D),倘若”否”則執(zhí)行步驟(G);(D)判斷該數(shù)據(jù)報文內(nèi)所包含的一網(wǎng)絡協(xié)議地址是否和該當前使用的網(wǎng)絡協(xié)議地址相 同,倘若”否”則執(zhí)行步驟(E),倘若”是”則執(zhí)行步驟(F);(E)執(zhí)行一地址變更程序,以該數(shù)據(jù)報文內(nèi)所包含的網(wǎng)絡協(xié)議地址作為一新地址,并向 該新地址進行重新建立連線的動作;(F)以正常程序繼續(xù)處理所接收的數(shù)據(jù)報文,并回到步驟(A);以及,(G)忽略該數(shù)據(jù)報文,并回到步驟(A)。
9.如權利要求8所述的智能型服務自動檢測回復系統(tǒng),其特征在于,于該步驟(C)中更 包括有以下步驟(Cl)判斷該MAC標頭內(nèi)所包含的一類型欄位是否符合一預定類型格式,倘若”是”則執(zhí) 行步驟下一步驟,倘若”否”則執(zhí)行步驟(G);以及,(C2)判斷該MAC標頭內(nèi)所包含的一網(wǎng)絡實體地址是否和該當前使用的網(wǎng)絡實體地址 相同,倘若”是”則執(zhí)行步驟(D),倘若”否”則執(zhí)行步驟(G)。
10.如權利要求8所述的智能型服務自動檢測回復系統(tǒng),其特征在于,該終端裝置是下 列其中之一網(wǎng)絡電話話機、網(wǎng)絡電話網(wǎng)關器、網(wǎng)絡路由器、網(wǎng)絡分享器、無線網(wǎng)絡基地臺、 電腦、手持式網(wǎng)絡裝置;并且,該服務主機是下列其中之一網(wǎng)絡電話服務器、網(wǎng)絡服務器、 電腦;此外,終端裝置預先取得的該當前使用的網(wǎng)絡協(xié)議地址及當前使用的網(wǎng)絡實體地址 是以LUT表形式儲存于存儲器內(nèi)。
全文摘要
一種智能型服務自動檢測回復方法,實施于一終端裝置中用以檢測一服務主機的狀態(tài),包括下列步驟接收一數(shù)據(jù)報文;判斷該數(shù)據(jù)報文格式資訊是否符合一預定數(shù)據(jù)報文格式,若”是”則繼續(xù)執(zhí)行;判斷該數(shù)據(jù)報文內(nèi)所包含的一網(wǎng)絡實體地址資訊是否和所預存的一當前使用的網(wǎng)絡實體地址相同,若”是”則繼續(xù)執(zhí)行;判斷該數(shù)據(jù)報文內(nèi)所包含的一網(wǎng)絡協(xié)議地址是否和所預存的一當前使用的網(wǎng)絡協(xié)議地址相同,若”否”則以該數(shù)據(jù)報文內(nèi)所包含的該網(wǎng)絡協(xié)議地址作為一新地址并向該新地址進行重新連接或導向的動作,若”是”以正常程序繼續(xù)處理所接收的數(shù)據(jù)報文。藉此可及早發(fā)現(xiàn)服務主機是否改變了原有的網(wǎng)絡協(xié)議地址,進而做出重新連接的動作使服務進早恢復。
文檔編號H04L12/56GK102045208SQ20091018032
公開日2011年5月4日 申請日期2009年10月22日 優(yōu)先權日2009年10月22日
發(fā)明者王國淵, 陳建志 申請人:友勁科技股份有限公司