技術(shù)領(lǐng)域
本發(fā)明大體上涉及計算機網(wǎng)絡的領(lǐng)域。更確切地說,本發(fā)明涉及用于為包括多個網(wǎng)絡接口的網(wǎng)絡節(jié)點提供動態(tài)域名系統(tǒng)(DDNS)服務的方法和系統(tǒng)。
背景技術(shù):
動態(tài)DNS(DDNS)是實時更新域名系統(tǒng)(DNS)以指向因特網(wǎng)上的不斷改變的IP地址的方法。所述方法用于為可能在網(wǎng)絡上改變位置的資源提供持久域名。網(wǎng)絡裝置已經(jīng)結(jié)合了DDNS技術(shù)以允許網(wǎng)絡裝置用持久域名與其它主機進行通信。動態(tài)更新域名服務器記錄的標準化方法由因特網(wǎng)工程任務組(IETF)請求注釋(RFC)2136規(guī)定,通常被稱為動態(tài)DNS更新。由RFC 2136描述的方法是與所管理的DNS服務器一起使用的網(wǎng)絡協(xié)議,并且所述方法包含安全機制。RFC 2136支持所有的DNS記錄類型,但是通常其僅作為DHCP系統(tǒng)的擴展來使用,并且其中經(jīng)授權(quán)的DHCP服務器在DNS中登記客戶端記錄。對RFC 2136的此形式的支持由許多客戶端以及服務器軟件提供,所述軟件包含是大部分當前操作系統(tǒng)的組件的那些軟件。對RFC 2136的支持還是許多目錄服務的組成部分,所述目錄服務包含LDAP以及Windows的活動目錄域。
最先進水平的網(wǎng)絡裝置的共同特征是通過使用如dyn.com或no-ip.com等現(xiàn)有DDNS服務或使用由制造商自身代管的定制服務來部署DDNS。大部分基于網(wǎng)絡的DDNS服務使用標準的用戶名以及密碼安全架構(gòu)。這要求用戶首先在DDNS服務器網(wǎng)站處創(chuàng)建帳戶并且隨后配置他們的裝置以便每當檢測到IP地址改變時向DDNS服務器發(fā)送更新。這是被幾乎所有基于網(wǎng)絡的DDNS服務使用的方法。
一些裝置制造商僅允許他們的DDNS服務由他們制造的裝置使用,并且還一起消除了對用戶名以及密碼的需要。這通過使用在DDNS服務器上以及在裝置的固件內(nèi)保密的加密算法對裝置的MAC地址進行加密來實現(xiàn)。所得的解密或解密失敗對應地用以確認或拒絕更新。
然而,為網(wǎng)絡裝置選擇以及分配域名的過程需要時間。另外,當網(wǎng)絡裝置具有多個待分配域名的網(wǎng)絡接口時,最先進水平的DDNS不能夠為網(wǎng)絡裝置的特定網(wǎng)絡接口選擇以及分配域名。
技術(shù)實現(xiàn)要素:
根據(jù)本發(fā)明的實施例中的一者,當網(wǎng)絡節(jié)點能夠通過特定網(wǎng)絡接口連接到第一服務器上或在特定網(wǎng)絡接口處發(fā)生預定義事件時,網(wǎng)絡節(jié)點向第一服務器發(fā)送更新消息。更新消息含有對應于網(wǎng)絡節(jié)點的唯一標識符。唯一標識符不能被用戶更改。唯一標識符是對第一服務器唯一的,使得沒有兩個網(wǎng)絡節(jié)點能用相同的唯一標識符向第一服務器發(fā)送更新消息。唯一標識符遵循域名的規(guī)范。導致網(wǎng)絡節(jié)點發(fā)送更新消息的預定義事件包含在網(wǎng)絡節(jié)點的至少一個網(wǎng)絡接口處的IP地址的改變、在網(wǎng)絡節(jié)點的網(wǎng)絡接口中的一者處IP地址的分配、在網(wǎng)絡節(jié)點的網(wǎng)絡接口中的一者處檢測到的接入鏈路連接、在網(wǎng)絡節(jié)點的網(wǎng)絡接口中的一者處的接入鏈路斷開、DNS資源記錄的更新、以及引起在網(wǎng)絡節(jié)點的事件記錄處的新條目的任何事件。在一個變體中,更新消息被加密。在一個變體中,更新消息還含有對發(fā)送更新消息的網(wǎng)絡接口的標識。在一個變體中,對于網(wǎng)絡節(jié)點能夠連接到第一服務器上的每一網(wǎng)絡接口,網(wǎng)絡節(jié)點通過所述網(wǎng)絡接口中的每一者發(fā)送更新消息。在一個變體中,網(wǎng)絡節(jié)點通過多個網(wǎng)絡接口向第一服務器發(fā)送多個相同的更新消息。在一個變體中,更新消息通過網(wǎng)絡節(jié)點定期發(fā)送。在一個變體中,所發(fā)送的更新消息用以通過第一服務器確定網(wǎng)絡節(jié)點的狀態(tài)。
根據(jù)本發(fā)明的實施例中的一者,當?shù)谝环掌鹘邮蘸芯W(wǎng)絡節(jié)點的唯一標識符的DNS請求時,第一服務器從其計算機可讀存儲媒體中檢索對應于所述唯一標識符的DNS資源記錄并且隨后用所述DNS資源記錄回復DNS請求。在一個變體中,DNS請求含有唯一標識符以及網(wǎng)絡接口標識符,并且第一服務器從其計算機可讀存儲媒體中檢索對應于所述唯一標識符以及所述網(wǎng)絡接口標識符的DNS資源記錄并且隨后用所述DNS資源記錄回復DNS請求。
第一服務器可以實施為動態(tài)域名系統(tǒng)(DDNS)服務器。替代地,第一服務器實施為能夠接收更新消息并且根據(jù)更新消息改變其DNS資源記錄的域名系統(tǒng)(DNS)服務器。替代地,第一服務器是能夠接收更新消息、處理更新消息、根據(jù)更新消息改變其DNS資源記錄并且回復DNS請求的計算裝置。優(yōu)選地,通過定制DDNS服務器以處理本文中所描述的更新消息以及DNS請求來實施第一服務器。
附圖說明
圖1是圖示根據(jù)本發(fā)明的實施例中的一者的網(wǎng)絡環(huán)境的網(wǎng)絡圖。
圖2A圖示根據(jù)本發(fā)明的實施例中的一者的在網(wǎng)絡節(jié)點處創(chuàng)建的更新消息的格式。
圖2B圖示根據(jù)本發(fā)明的實施例中的一者嵌入在DNS請求的DNS數(shù)據(jù)段中的請求的格式。
圖3是圖示根據(jù)實施例中的一者的當網(wǎng)絡節(jié)點向服務器發(fā)送更新消息時的過程的流程圖。
圖4A圖示了根據(jù)本發(fā)明的實施例中的一者當服務器從網(wǎng)絡節(jié)點接收更新消息時將網(wǎng)絡節(jié)點的DNS資源記錄存儲在服務器的計算機可讀存儲媒體中的過程。
圖4B圖示根據(jù)本發(fā)明的實施例中的一者當服務器從網(wǎng)絡節(jié)點接收更新消息時將網(wǎng)絡節(jié)點的DNS資源記錄存儲在服務器的計算機可讀存儲媒體中的過程。
圖5圖示根據(jù)本發(fā)明的實施例中的一者的回復由服務器從主機接收的DNS請求的過程。
圖6A是圖示根據(jù)本發(fā)明的實施例中的一者的網(wǎng)絡節(jié)點的方塊圖。
圖6B是圖示根據(jù)本發(fā)明的實施例中的一者的服務器的方塊圖。
具體實施方式
以下說明僅提供優(yōu)選的示例性實施例并且并不意圖限制本發(fā)明的范圍、實用性或配置。實際上,對優(yōu)選的示例性實施例的以下描述將為所屬領(lǐng)域的技術(shù)人員提供用于實施本發(fā)明的優(yōu)選的示例性實施例的使能描述。應理解,在不脫離如在所附權(quán)利要求書中闡述的本發(fā)明的精神和范圍的情況下可以對元件的功能以及布置進行各種改變。
此外,應注意,實施例可以描述為一個過程,所述過程描繪為流程圖、作業(yè)圖、數(shù)據(jù)流圖、結(jié)構(gòu)圖或方塊圖。盡管流程圖可以將操作描述為順序過程,但是許多操作可以并行或同時執(zhí)行。此外,操作的次序可以重新布置。當操作完成時,過程終止,但是所述過程可以具有圖中不包含的額外步驟。過程可以對應于方法、函數(shù)、步驟、子例程、子程序等。當過程對應于函數(shù)時,其終止對應于所述函數(shù)返回到調(diào)用函數(shù)或主函數(shù)。
此外,如本文中所披露,術(shù)語“二級存儲器”以及“主存儲器”可以表示用于存儲數(shù)據(jù)的一或多個裝置,包含只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁性RAM、磁心存儲器、磁盤存儲媒體、光學存儲媒體、快閃存儲器裝置和/或用于存儲信息的其它機器可讀媒體。術(shù)語“機器可讀媒體”包含但不限于便攜式或固定存儲裝置、光學存儲裝置、無線信道以及能夠存儲、含有或攜帶指令和/或數(shù)據(jù)的各種其它媒體。
此外,實施例可以由硬件、軟件、固件、中間件、微碼、硬件描述語言或其任意組合來實施。當用軟件、固件、中間件或微碼實施時,用以執(zhí)行必要任務的程序代碼或代碼段可以存儲在存儲媒體等機器可讀媒體中。處理單元可以執(zhí)行必要任務。代碼段可以表示步驟、函數(shù)、子程序、程序、例程、子例程、模塊、軟件包、類,或指令、數(shù)據(jù)結(jié)構(gòu)或程序語句的任意組合。一個代碼段可以通過傳遞和/或接收信息、數(shù)據(jù)、變元、參數(shù)或存儲器內(nèi)容耦合到另一代碼段或硬件電路上。信息、變元、參數(shù)、數(shù)據(jù)等可以經(jīng)由包含存儲器共享、消息傳遞、令牌傳遞、網(wǎng)絡傳輸?shù)鹊娜魏魏线m的方式傳遞、轉(zhuǎn)發(fā)或傳輸。
圖1圖示網(wǎng)絡環(huán)境,其中網(wǎng)絡節(jié)點104經(jīng)由網(wǎng)絡接口104a、104b和/或104c連接到互連網(wǎng)絡101上。在實施例中的一者中,每當發(fā)生預定義事件時,網(wǎng)絡節(jié)點104通過互連網(wǎng)絡101向第一服務器102發(fā)送更新消息。在以下情況下時發(fā)生預定義事件:網(wǎng)絡接口中的至少一者的IP地址已經(jīng)改變、IP地址已經(jīng)分配給網(wǎng)絡接口中的至少一者、對應于網(wǎng)絡接口中的至少一者的DNS資源記錄已經(jīng)改變、網(wǎng)絡接口中的至少一者的可用性已經(jīng)改變、或在至少一個網(wǎng)絡接口處觀察到的性能已經(jīng)改變。例如,如果網(wǎng)絡接口104a的IP地址改變,那么更新消息嵌入有對應于網(wǎng)絡節(jié)點104的唯一標識符、對應于網(wǎng)絡接口104a的網(wǎng)絡接口標識符、以及網(wǎng)絡接口104a的經(jīng)更新的IP地址或DNS資源記錄。主機103通過互連網(wǎng)絡101向第一服務器102發(fā)送DNS請求?;ミB網(wǎng)絡101可以是因特網(wǎng)或任何其它網(wǎng)絡。
當請求被第一服務器102接收時,第一服務器102檢查所述請求以確定主機103請求哪個網(wǎng)絡節(jié)點的或網(wǎng)絡接口的DNS資源記錄。當?shù)谝环掌?02已經(jīng)確定網(wǎng)絡節(jié)點或網(wǎng)絡接口的標識時,所述第一服務器從計算機可讀存儲媒體中檢索相對應的DNS資源記錄,并且經(jīng)由互連網(wǎng)絡101在DNS回復中向主機103發(fā)送DNS資源記錄。
根據(jù)本發(fā)明的實施例中的一者,第一服務器102實施為動態(tài)域名系統(tǒng)(DDNS)服務器。替代地,第一服務器102實施為能夠接收更新消息并且根據(jù)更新消息改變其DNS資源記錄的域名系統(tǒng)(DNS)服務器。替代地,第一服務器102是能夠接收更新消息、處理更新消息、根據(jù)更新消息改變其DNS資源記錄并且回復DNS請求的計算裝置。
當?shù)谝环掌鲗嵤镈DNS服務器時,所述DDNS服務器遵循在IETF RFC 2136中描述的機制。
請求包含DNS查詢,出于本發(fā)明的可讀性的目的,DNS查詢被視為請求。
系統(tǒng):
圖6A是根據(jù)本發(fā)明的實施例中的一者的網(wǎng)絡節(jié)點(例如,網(wǎng)絡節(jié)點104)的方塊圖。網(wǎng)絡節(jié)點104包括處理單元602、主存儲器603、系統(tǒng)總線604、二級存儲器605以及網(wǎng)絡接口104a、104b以及104c。處理單元602以及主存儲器603直接連接到彼此上。系統(tǒng)總線604將處理單元602直接或間接地連接到二級存儲器605以及網(wǎng)絡接口104a、104b以及104c上。使用系統(tǒng)總線604允許網(wǎng)絡節(jié)點104具有增加的模塊性。系統(tǒng)總線604將處理單元602耦合到二級存儲器605以及網(wǎng)絡接口104a、104b以及104c上。系統(tǒng)總線604可以是若干類型的總線結(jié)構(gòu)中的任一者,包含使用多種總線架構(gòu)中的任一者的存儲器總線、外圍總線以及局部總線。二級存儲器605存儲用于由處理單元602執(zhí)行的程序指令。二級存儲器605進一步存儲對應于網(wǎng)絡節(jié)點104的唯一標識符以及對應于網(wǎng)絡接口104a、104b以及104c的網(wǎng)絡接口標識符。處理單元602可以執(zhí)行用于本文中所描述的在網(wǎng)絡節(jié)點104處執(zhí)行的方法的各種程序指令。
圖6B是根據(jù)本發(fā)明的實施例中的一者的服務器(例如,第一服務器102)的方塊圖。第一服務器102包括處理單元612、主存儲器613、系統(tǒng)總線614、二級存儲器615以及網(wǎng)絡接口616。處理單元612以及主存儲器613直接連接到彼此上。系統(tǒng)總線614將處理單元612直接或間接地連接到二級存儲器615以及網(wǎng)絡接口616上。使用系統(tǒng)總線614允許第一服務器102具有增加的模塊性。系統(tǒng)總線614將處理單元612耦合到二級存儲器615以及網(wǎng)絡接口616上。系統(tǒng)總線614可以是若干類型的總線結(jié)構(gòu)中的任一者,包含使用多種總線架構(gòu)中的任一者的存儲器總線、外圍總線以及局部總線。二級存儲器615是第一服務器102的計算機可讀存儲媒體。二級存儲器615存儲用于由處理單元612執(zhí)行的程序指令。二級存儲器615進一步存儲嵌入在通過網(wǎng)絡節(jié)點發(fā)送的IP數(shù)據(jù)包中的更新消息的內(nèi)容。所存儲的內(nèi)容包含對應于網(wǎng)絡節(jié)點的唯一標識符、對應于網(wǎng)絡節(jié)點的網(wǎng)絡接口的網(wǎng)絡接口標識符、以及網(wǎng)絡接口的經(jīng)更新的IP地址。除此之外,二級存儲器615還存儲已經(jīng)由網(wǎng)絡節(jié)點在更新消息中提供給第一服務器102的網(wǎng)絡接口的所有類型的DNS資源記錄。處理單元612可以執(zhí)行用于本文中所描述的在第一服務器102處執(zhí)行的方法的各種程序指令。
當?shù)谝环掌?02經(jīng)由網(wǎng)絡接口616從主機接收DNS請求時,處理單元612檢查所述DNS請求以識別網(wǎng)絡接口,主機請求所述網(wǎng)絡接口的DNS資源記錄。在識別網(wǎng)絡接口之后,處理單元612從二級存儲器615中檢索網(wǎng)絡接口的DNS資源記錄,并且經(jīng)由網(wǎng)絡接口616以IP數(shù)據(jù)包形式在DNS回復中向主機發(fā)送DNS資源記錄。
方法
圖2A圖示根據(jù)實施例中的一者在網(wǎng)絡節(jié)點104處創(chuàng)建的更新消息201的格式。為了更好地理解實施例,結(jié)合圖1查看圖2A。當在網(wǎng)絡節(jié)點104的一或多個網(wǎng)絡接口處發(fā)生預定義事件時,通過網(wǎng)絡節(jié)點104等網(wǎng)絡節(jié)點發(fā)送更新消息201。更新消息201可以嵌入在IP數(shù)據(jù)包中。在圖2A中圖示的更新消息201的格式并未示出嵌入有更新消息201的IP數(shù)據(jù)包的格式。更新消息201包括唯一標識符202以及網(wǎng)絡接口標識符203。更新消息201可以進一步包括IP地址字段204、記錄類型205以及選項字段206。
在實施例中的一者中,唯一標識符202是可以包含序列號、MAC地址或?qū)W(wǎng)絡節(jié)點唯一的任何其它值的字符串。不允許兩個網(wǎng)絡節(jié)點發(fā)送在唯一標識符202中含有相同字符串的更新消息。唯一標識符202不能被用戶更改。唯一標識符遵循域名的規(guī)范。例如,唯一標識符表示為字符串“82211s182.device”并且“82211s182”是網(wǎng)絡節(jié)點的序列號。替代地,當唯一標識符包含MAC地址時,唯一標識符可以是“DD-BA-D0-86-BB-F7.manufacturer.com”并且“DD-BA-D0-86-BB-F7”是網(wǎng)絡節(jié)點的網(wǎng)絡接口中的一者的MAC地址。
在實施例中的一者中,網(wǎng)絡接口標識符203是為網(wǎng)絡節(jié)點的網(wǎng)絡接口提供特定標識的字符串。網(wǎng)絡接口標識符203對網(wǎng)絡節(jié)點的每一網(wǎng)絡接口是唯一的,使得網(wǎng)絡節(jié)點的任意兩個網(wǎng)絡接口都不會具有相同的網(wǎng)絡接口標識符203。一個網(wǎng)絡節(jié)點的網(wǎng)絡接口可以具有與另一網(wǎng)絡節(jié)點的網(wǎng)絡接口相同的網(wǎng)絡接口標識符203。從第一服務器102的角度來看,此實施例允許重復使用網(wǎng)絡接口標識符203。
替代地,每一網(wǎng)絡接口具有對第一服務器102唯一的網(wǎng)絡接口標識符203,無論所述網(wǎng)絡接口屬于哪個網(wǎng)絡節(jié)點。從第一服務器102的角度來看,此實施例不允許重復使用網(wǎng)絡接口標識符203。此實施例還消除了對唯一標識符202的需要,因為網(wǎng)絡接口標識符203可以用以標識網(wǎng)絡節(jié)點以及網(wǎng)絡接口。網(wǎng)絡接口標識符203可以視為唯一標識符202以及網(wǎng)絡接口的表示的組合。
在實施例中的一者中,記錄類型205指示由網(wǎng)絡接口標識符指定的網(wǎng)絡接口的經(jīng)更新的DNS資源記錄類型。
例如,如果記錄類型205是“MX”,那么這指示郵件交換器的IP地址已經(jīng)改變,并且在IP地址字段204中指定的IP地址是經(jīng)更新的郵件交換器IP地址。
在實施例中的一者中,選項字段206指示在網(wǎng)絡節(jié)點104處已經(jīng)發(fā)生預定義事件的類型。在一個變體中,選項字段206用以指示由網(wǎng)絡接口標識符203指示的網(wǎng)絡接口的IP地址已經(jīng)改變,其中所述IP地址由IP地址字段203指示。在一個變體中,選項字段206用以指示由網(wǎng)絡接口標識符203指示的網(wǎng)絡接口已經(jīng)分配有IP地址,其中所述IP地址由IP地址字段203指示。在一個變體中,選項字段206用以指示由網(wǎng)絡接口標識符203指示的網(wǎng)絡接口的可用性已經(jīng)改變。
出于說明的目的,當在網(wǎng)絡接口104a處檢測到接入鏈路斷開時,那么通過網(wǎng)絡接口104b或104c向第一服務器102發(fā)送更新消息201,其中選項字段206包括指示在網(wǎng)絡接口104a處的接入鏈路斷開的字符串。網(wǎng)絡接口標識符203指定網(wǎng)絡接口104a。字符串可以是預定義字符串,所述預定義字符串指示在由網(wǎng)絡接口標識符203指示的網(wǎng)絡接口處的接入鏈路斷開。在另一實例中,當在網(wǎng)絡接口104a處檢測到接入鏈路連接時,更新消息201的選項字段206含有指示在網(wǎng)絡接口104a處檢測到接入鏈路連接的預定義字符串,其中更新消息201通過網(wǎng)絡接口104a、104b或104c發(fā)送到第一服務器102。類似地,選項字段206含有對應于在網(wǎng)絡節(jié)點104處發(fā)生的不同類型的預定義事件的不同預定義字符串。需要選項字段206,使得可以正確地通知第一服務器102在由唯一標識符202指示的網(wǎng)絡節(jié)點處和/或在由網(wǎng)絡接口標識符203指示的網(wǎng)絡接口處已經(jīng)發(fā)生的預定義事件的類型。
例如,如果存在IP地址的改變或者網(wǎng)絡接口104a的新的IP地址分配,那么使用在網(wǎng)絡接口104a、104b以及104c之中的至少一個網(wǎng)絡接口向第一服務器102發(fā)送更新消息201。唯一標識符202含有對網(wǎng)絡節(jié)點104唯一的字符串并且網(wǎng)絡接口標識符203是對應于網(wǎng)絡接口104a的字符串。在實施例中的一者中,IP地址字段204含有網(wǎng)絡接口104a的經(jīng)更新的IP地址。在實施例中的一者中,當省略記錄類型205時,IP地址字段204中的IP地址默認地指代網(wǎng)絡接口104a的經(jīng)更新的IP地址。在實施例中的一者中,當記錄類型205是“A”時,IP地址字段204中的IP地址指代網(wǎng)絡接口104a的經(jīng)更新的IP地址。
替代地,如果存在網(wǎng)絡接口104a的IP地址的改變,那么通過網(wǎng)絡接口104a向第一服務器102發(fā)送更新消息201。唯一標識符202含有對網(wǎng)絡節(jié)點104唯一的字符串并且網(wǎng)絡接口標識符203是對應于網(wǎng)絡接口104a的字符串。
在實施例中的一者中,IP地址字段204為空,并且第一服務器102使用更新消息201的源IP地址來確定網(wǎng)絡接口的IP地址。如果更新消息201經(jīng)由網(wǎng)絡接口104a發(fā)送以將網(wǎng)絡接口104a的改變通知給第一服務器102,那么嵌入有更新消息201的IP數(shù)據(jù)包的源IP地址被第一服務器102用以確定網(wǎng)絡接口104a的IP地址。替代地,如果網(wǎng)絡接口104a分配有不可由第一服務器102訪問的IP地址,那么不應省略IP地址字段204,因為第一服務器102無法可靠地使用嵌入有更新消息201的IP數(shù)據(jù)包的源IP地址來確定網(wǎng)絡接口104a的IP地址。
在實施例中的一者中,IP地址字段204由網(wǎng)絡管理員配置。如果網(wǎng)絡節(jié)點的網(wǎng)絡接口的IP地址是私有IP地址,那么IP地址字段204可以含有可由第一服務器102訪問的公共IP地址。因此第一服務器102、其它主機以及節(jié)點可以使用所述公共IP地址來與所述網(wǎng)絡節(jié)點通信。
在另一實例中,如果存在對應于網(wǎng)絡接口104b的郵件交換器的IP地址的改變,那么IP地址字段204是所述郵件交換器的經(jīng)更新的IP地址并且記錄類型205是“MX”。
當更新消息被第一服務器102接收時,第一服務器102將所提供的信息存儲在二級存儲器615中,所述信息例如對應的對應于唯一標識符202和/或網(wǎng)絡接口標識符203的網(wǎng)絡節(jié)點和/或網(wǎng)絡接口的DNS資源記錄。
在本發(fā)明的實施例中的一者中,如果已經(jīng)改變或已經(jīng)分配超過一個網(wǎng)絡接口的IP地址,那么IP地址字段204包括超過一個網(wǎng)絡接口的經(jīng)更新的IP地址。這減少了更新消息的數(shù)目。
在本發(fā)明的實施例中的一者中,如果更新消息通過具有僅一個網(wǎng)絡接口的網(wǎng)絡節(jié)點發(fā)送,那么更新消息201不包括網(wǎng)絡接口標識符203。在另一變體中,當具有多個網(wǎng)絡接口的網(wǎng)絡節(jié)點發(fā)送更新消息201時,IP地址字段204對應地含有多個網(wǎng)絡接口的多個經(jīng)更新的IP地址。網(wǎng)絡接口標識符203含有多個網(wǎng)絡接口的網(wǎng)絡接口標識符。替代地,網(wǎng)絡接口標識符203為空,而IP地址字段204含有多個網(wǎng)絡接口的多個經(jīng)更新的IP地址。因此,任何試圖訪問網(wǎng)絡節(jié)點的裝置可以通過將多個經(jīng)更新的IP地址中的任一者用作目的地址來訪問網(wǎng)絡節(jié)點,無論所述目的地址對應于多個網(wǎng)絡接口中的哪一者。
在本發(fā)明的實施例中的一者中,在將更新消息201發(fā)送到第一服務器102之前對其進行加密。在一個變體中,用共享密鑰對更新消息201進行加密。在一個變體中,使用基于認證的加密對更新消息201進行加密。對更新消息201進行加密使得第一服務器102可以確認更新消息201的真實性。利用加密,網(wǎng)絡節(jié)點的IP地址更加難以被其它裝置識別。除真實性之外,加密還可以用以確認完整性以及機密性。在更新消息中提供的信息的完整性可以維持并且確保嵌入在更新消息201中的IP地址的準確性以及一致性。更新消息201的機密性,以便防止將在更新消息201中提供的信息向未經(jīng)授權(quán)的個人或系統(tǒng)披露。
圖2B圖示根據(jù)本發(fā)明的實施例中的一者的請求211的格式。為了更好地理解,結(jié)合圖1以及圖6B查看圖2B。請求211嵌入在DNS請求的DNS數(shù)據(jù)段中。DNS請求是IP數(shù)據(jù)包。DNS請求可以通過主機(例如,主機103)發(fā)送到第一服務器102。例如,主機103經(jīng)由互連網(wǎng)絡101向第一服務器102發(fā)送DNS請求,以用于接收網(wǎng)絡節(jié)點104的一或多個接口的DNS資源記錄。根據(jù)實施例中的一者,字符串212指定網(wǎng)絡節(jié)點的唯一標識符以及網(wǎng)絡接口的網(wǎng)絡接口標識符。第一服務器102可以解釋字符串212以識別網(wǎng)絡節(jié)點104的唯一標識符以及網(wǎng)絡節(jié)點104的一或多個網(wǎng)絡接口的網(wǎng)絡接口標識符。當主機103經(jīng)由互連網(wǎng)絡101向第一服務器102發(fā)送DNS請求時,第一服務器102經(jīng)由互連網(wǎng)絡101向主機103發(fā)送包括網(wǎng)絡節(jié)點104的一或多個網(wǎng)絡接口的經(jīng)更新的IP地址的DNS回復。
在一個替代方案中,當在請求211中未指定網(wǎng)絡接口標識符時,第一服務器102從字符串212中識別網(wǎng)絡節(jié)點104的唯一標識符并且隨后向主機103發(fā)送包括網(wǎng)絡節(jié)點104的所有網(wǎng)絡接口的IP地址的DNS回復。
在一個替代方案中,字符串212可以指定超過一個網(wǎng)絡接口的網(wǎng)絡接口標識符。DNS回復包括超過一個網(wǎng)絡接口的IP地址。
DNS回復遵循RFC 2629的DNS回復格式。替代地,DNS回復遵循可以被主機103理解的格式。
如果在請求211中指定了網(wǎng)絡接口標識符,例如,指定了網(wǎng)絡接口104a的網(wǎng)絡接口標識符,那么第一服務器102發(fā)送包括網(wǎng)絡接口104a的IP地址的DNS回復。替代地,第一服務器102發(fā)送包括網(wǎng)絡接口104a的其它DNS資源記錄的DNS回復。
根據(jù)實施例中的一者,請求211可以進一步包括記錄類型213。記錄類型213是可選的。記錄類型213是指示主機103想要從第一服務器102接收的網(wǎng)絡節(jié)點104的資源記錄類型的字符串。例如,如果記錄類型213是“MX”,并且字符串212指定網(wǎng)絡節(jié)點104的唯一標識符,那么第一服務器102用包括網(wǎng)絡節(jié)點104的郵件交換器的IP地址的DNS回復來回復請求211。在另一實例中,如果記錄類型213為空,并且字符串212指定網(wǎng)絡節(jié)點104的唯一標識符以及網(wǎng)絡接口104b的網(wǎng)絡接口標識符,那么第一服務器102用網(wǎng)絡接口104b的經(jīng)更新的IP地址回復DNS請求。在另一實例中,如果記錄類型213是“A”,并且字符串212指定網(wǎng)絡節(jié)點104的唯一標識符但不指定網(wǎng)絡接口標識符,那么第一服務器102用網(wǎng)絡節(jié)點104的所有網(wǎng)絡接口的所有DNS資源記錄回復DNS請求。
圖3是圖示根據(jù)實施例中的一者的在網(wǎng)絡節(jié)點向服務器發(fā)送更新消息時的過程的流程圖。為了更好地理解實施例,結(jié)合圖1以及圖6A查看圖3。
在步驟301中,所述過程開始。在步驟302中,處理單元602確定是否已經(jīng)發(fā)生預定義事件。如果已經(jīng)發(fā)生預定義事件,那么在步驟304中,網(wǎng)絡節(jié)點104經(jīng)由能夠與第一服務器102通信的網(wǎng)絡接口104a、104b或104c中的一者向第一服務器102發(fā)送更新消息。在步驟305中,所述過程結(jié)束。
出于說明的目的,當網(wǎng)絡接口104a的IP地址已經(jīng)改變時,在步驟304中,網(wǎng)絡節(jié)點104經(jīng)由網(wǎng)絡接口104a、104b或104c中的任一者向第一服務器102發(fā)送更新消息。更新消息包括指定網(wǎng)絡節(jié)點104的唯一標識符、指定網(wǎng)絡接口104a的網(wǎng)絡接口標識符、以及網(wǎng)絡接口104a的經(jīng)更新的IP地址。更新消息可以進一步包括指定已經(jīng)改變的網(wǎng)絡接口104a的DNS資源記錄的記錄類型。盡管更新消息有可能經(jīng)由至少一個特定網(wǎng)絡接口來發(fā)送,但是此類布置帶來不必要的限制并且可能引起更新消息的延遲傳送。另一方面,如果更新消息經(jīng)由至少一個特定網(wǎng)絡接口來發(fā)送,那么處理單元602不需要確定使用哪個網(wǎng)絡接口來發(fā)送更新消息,并且可能引起更新消息的較快傳送和/或較低的所需處理能力。更新消息可以進一步包括指示在網(wǎng)絡節(jié)點104處已經(jīng)發(fā)生的預定義事件的類型的選項字段。
如果在步驟302中,網(wǎng)絡節(jié)點104確定尚未發(fā)生預定義事件,那么在步驟303中,網(wǎng)絡節(jié)點104確定是否已經(jīng)在預定義時間量內(nèi)經(jīng)由網(wǎng)絡接口104a、104b或104c向第一服務器102發(fā)送更新消息。如果在預定義時間量內(nèi)尚未經(jīng)由網(wǎng)絡接口104a、104b或104c向第一服務器102發(fā)送更新消息,那么在步驟304中,向第一服務器102發(fā)送更新消息。如果在預定義時間量內(nèi)已經(jīng)向第一服務器102發(fā)送更新消息,那么在步驟305中,所述過程結(jié)束。例如,在步驟303中描述的預定義時間量是三十分鐘。預定義時間量可以由網(wǎng)絡節(jié)點104的用戶、制造商或管理員設定。網(wǎng)絡節(jié)點104與第一服務器102之間的連接有時可能失效,并且如果網(wǎng)絡節(jié)點104在連接出故障時嘗試發(fā)送更新消息,那么更新消息將不會到達第一服務器102。因此,定期地向第一服務器102發(fā)送更新消息確保當連接出故障時,第一服務器102關(guān)于在網(wǎng)絡節(jié)點104中發(fā)生的任何預定義事件是最新的。在一個替代方案中,向第一服務器102發(fā)送更新消息是為了執(zhí)行健康檢查。然而,定期地向第一服務器102發(fā)送更新消息可能占用額外的帶寬容量,從而引起網(wǎng)絡性能惡化,并且因此健康檢查的頻率不應太大并且健康檢查所使用的字節(jié)數(shù)目不應太大。
在本發(fā)明的實施例中的一者中,省略步驟303。在步驟302中,如果處理單元602確定網(wǎng)絡接口中的任一者的IP地址尚未改變或尚未分配,那么在步驟305中,所述過程結(jié)束,因為沒有新的信息要發(fā)送。
在本發(fā)明的實施例中的一者中,在步驟304中,網(wǎng)絡節(jié)點104使用在其處已經(jīng)發(fā)生預定義事件的網(wǎng)絡接口向第一服務器102發(fā)送更新消息。例如,如果網(wǎng)絡接口104a的IP地址已經(jīng)改變,或IP地址已經(jīng)分配給網(wǎng)絡接口104a,那么網(wǎng)絡節(jié)點104使用網(wǎng)絡接口104a向第一服務器102發(fā)送更新消息,以使第一服務器102保持知道新的IP地址。
可以使用各種通信協(xié)議向第一服務器102發(fā)送更新消息,所述通信協(xié)議例如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)、因特網(wǎng)控制報文協(xié)議(ICMP)、點對點協(xié)議(PPP)、幀中繼協(xié)議、地址解析協(xié)議(ARP)。所屬領(lǐng)域的技術(shù)人員應了解,只要更新消息可以到達第一服務器102,就可以使用任何協(xié)議發(fā)送更新消息。
導致網(wǎng)絡節(jié)點發(fā)送更新消息的預定義事件包含在網(wǎng)絡節(jié)點的至少一個網(wǎng)絡接口處的IP地址的改變、在網(wǎng)絡節(jié)點的網(wǎng)絡接口中的一者處IP地址的分配、在網(wǎng)絡節(jié)點的網(wǎng)絡接口中的一者處檢測到的接入鏈路連接、在網(wǎng)絡節(jié)點的網(wǎng)絡接口中的一者處的接入鏈路斷開、DNS資源記錄的更新、新的動態(tài)主機配置協(xié)議(DHCP)服務器的檢測、DHCP IP地址租約的到期、狀態(tài)檢查、健康檢查以及引起在事件記錄處的新條目并且可能影響網(wǎng)絡節(jié)點的網(wǎng)絡接口中的任一者的IP地址的任何事件。這允許當在網(wǎng)絡節(jié)點處檢測到狀態(tài)改變或在網(wǎng)絡節(jié)點處將發(fā)生改變時發(fā)送更新消息。隨后可以更加頻繁地刷新或更新在第一服務器102處的DNS資源記錄,而不會對第一服務器102強加沉重的負擔并且減少了不必要的更新消息的數(shù)目。
允許網(wǎng)絡節(jié)點的管理員配置創(chuàng)建、修改、刪除并且存儲預定義事件。替代地,可以通過連接到多個網(wǎng)絡接口中的一者上的接入鏈路遠程地創(chuàng)建并且管理預定義事件。替代地,可以通過因特網(wǎng)或云服務遠程地創(chuàng)建并且管理預定義事件。替代地,可以通過網(wǎng)絡節(jié)點的制造商創(chuàng)建預定義事件并且通過網(wǎng)絡節(jié)點的管理員或通過制造商管理預定義事件。預定義事件的創(chuàng)建和管理的靈活性對允許DDNS具有最新的IP地址以及網(wǎng)絡節(jié)點和網(wǎng)絡節(jié)點的網(wǎng)絡接口的信息來說是重要的。
發(fā)送更新消息的時間段在一分鐘到一個月的范圍內(nèi)。在優(yōu)選實施例中,所述時間段在一小時到一天的范圍內(nèi)。當定期地向第一服務器102發(fā)送更新消息時,可將更新消息用作健康檢查消息以確保網(wǎng)絡節(jié)點仍在工作中。如果所述時間段太短,那么DDNS將接收大量更新消息。如果時間段太長,那么更新消息作為健康檢查消息的有用性會降低。存在無數(shù)種設定所述時間段的方法。例如,所述時間段可以通過網(wǎng)絡節(jié)點的管理員設定、通過云服務器遠程地設定或通過網(wǎng)絡節(jié)點的制造商使以默認值設定。
圖4A圖示根據(jù)實施例中的一者的當?shù)谝环掌?02從網(wǎng)絡節(jié)點接收更新消息時將網(wǎng)絡節(jié)點的DNS資源記錄存儲在所述服務器的計算機可讀存儲媒體中的過程。為了更好地理解實施例,結(jié)合圖1、圖6B以及圖2A查看圖4A。
在步驟401中,所述過程開始。在步驟402中,第一服務器102從網(wǎng)絡節(jié)點104接收更新消息,例如更新消息201。根據(jù)實施例中的一者,更新消息201嵌入在IP數(shù)據(jù)包中并且包括唯一標識符202、網(wǎng)絡接口標識符203、記錄類型205以及IP地址字段204,所述IP地址字段包括由網(wǎng)絡接口標識符203指定的網(wǎng)絡接口的經(jīng)更新的IP地址。
在步驟403中,第一服務器102驗證更新消息201以確認更新消息201是真實的并且是通過網(wǎng)絡節(jié)點104而不是第三方發(fā)送的。
在步驟405中,從更新消息201中檢索唯一標識符202。第一服務器102使用唯一標識符202來識別發(fā)送更新消息201的網(wǎng)絡節(jié)點。
在步驟406中,從更新消息201中檢索網(wǎng)絡接口標識符203。第一服務器102使用網(wǎng)絡接口標識符203來識別其DNS資源記錄在更新消息201中被接收的網(wǎng)絡接口。
在步驟407中,從更新消息201的IP地址字段204中檢索由網(wǎng)絡接口標識符指定的網(wǎng)絡接口的經(jīng)更新的IP地址。在步驟408中,將經(jīng)更新的IP地址存儲在二級存儲器615中以用于以后的檢索,并且在步驟420中,所述過程結(jié)束。
在實施例中的一者中,在步驟403中,如果更新消息201通過網(wǎng)絡節(jié)點104用共享密鑰加密,那么第一服務器102驗證更新消息201,即驗證更新消息201是否可以通過共享密鑰成功被解密。在實施例中的一者中,在步驟403中,如果更新消息201通過網(wǎng)絡節(jié)點104使用證書加密,那么第一服務器102通過認證來驗證更新消息201。所屬領(lǐng)域的技術(shù)人員將明白,存在許多確認更新消息201的真實性的方法。對確保沒有第三方可以發(fā)送具有關(guān)于由唯一標識符指定的網(wǎng)絡節(jié)點的虛假信息的類似更新消息來說,驗證更新消息201是重要的。第一服務器102需要確認更新消息201是真實的并且是通過網(wǎng)絡節(jié)點而不是第三方發(fā)送的。
替代地,使用安全連接通過網(wǎng)絡節(jié)點104向第一服務器102發(fā)送更新消息201。安全連接可以通過使用安全超文本傳輸協(xié)議(HTTPS)、傳輸層安全(TLS)、安全套接層(SSL)以及其它技術(shù)形成。所屬領(lǐng)域的技術(shù)人員將了解存在無數(shù)種在網(wǎng)絡節(jié)點104與第一服務器102之間形成安全連接的方法。
在一個變體中,用以保護更新消息201的安全性的措施是RFC 2137或類似措施。
根據(jù)實施例中的一者,在步驟407中,從更新消息201中檢索對應于網(wǎng)絡接口的DNS資源記錄。例如,如果更新消息201的記錄類型205是“MX”,那么在步驟407中,從更新消息201的IP地址字段204中檢索網(wǎng)絡接口的郵件交換器的IP地址。
在實施例中的一者中,如果更新消息201不包括網(wǎng)絡接口標識符203,那么省略步驟406。其中可以省略步驟406的情境中的一者是當發(fā)送更新消息201的網(wǎng)絡節(jié)點僅包括一個網(wǎng)絡接口時。在此情況下,不需要在更新消息201中包含網(wǎng)絡接口標識符203,并且因此省略步驟406。其中可以省略步驟406的另一情境是當通過具有多個網(wǎng)絡接口的網(wǎng)絡節(jié)點發(fā)送更新消息201,并且IP地址字段204含有多個網(wǎng)絡接口的IP地址,但是網(wǎng)絡接口標識符203未指定對應于所述IP地址的網(wǎng)絡接口時。在此情況下,存儲IP地址并且將IP地址視為對應于由唯一標識符202指定的網(wǎng)絡節(jié)點。任何試圖訪問網(wǎng)絡節(jié)點的裝置可以通過將IP地址中的任一者用作目的地址來訪問網(wǎng)絡節(jié)點,無論所述目的地址對應于網(wǎng)絡節(jié)點的哪個網(wǎng)絡接口。
步驟405、406以及407的次序并不相互依賴,使得這些步驟的次序可以是與圖示的順序不同的順序。
根據(jù)本發(fā)明的實施例中的一者,當使用網(wǎng)絡地址轉(zhuǎn)換(NAT)技術(shù)將源自網(wǎng)絡節(jié)點104的IP數(shù)據(jù)包的源IP地址轉(zhuǎn)換為另一IP地址時,嵌入有更新消息201的IP數(shù)據(jù)包的源IP地址不是用于通過網(wǎng)絡節(jié)點104發(fā)送更新消息201的網(wǎng)絡接口的IP地址。如果更新消息201不含有嵌入在IP地址字段204中的IP地址以指示網(wǎng)絡節(jié)點104的網(wǎng)絡接口的IP地址,那么第一服務器102仍使用所接收的IP數(shù)據(jù)包的源IP地址。另一方面,在步驟407中,如果更新消息201具有指示網(wǎng)絡節(jié)點104的IP地址或指示網(wǎng)絡節(jié)點104的網(wǎng)絡接口中的一者的IP地址的IP地址,那么第一服務器102將嵌入在更新消息201的IP地址字段204中的IP地址用作網(wǎng)絡節(jié)點104的網(wǎng)絡接口的IP地址。第一服務器102不需要檢驗在步驟407中從更新消息201中檢索的或從IP數(shù)據(jù)包的源地址中識別出的IP地址是否可由第一服務器102或由其它主機訪問。這是因為更新消息201被加密并且更新消息201的真實性以及完整性受到保護。
圖4B圖示根據(jù)實施例中的一者的當?shù)谝环掌?02從網(wǎng)絡節(jié)點接收更新消息時將網(wǎng)絡節(jié)點的DNS資源記錄存儲在第一服務器102處的計算機可讀存儲媒體中的過程。為了更好地理解實施例,結(jié)合圖1以及圖2A查看圖4B。圖4A與圖4B之間的差別在于圖4A的過程包括步驟407而圖4B包括步驟404而非步驟407。圖4A進一步包括更新消息201的加密。
于在步驟402中從網(wǎng)絡節(jié)點104接收更新消息201之后,在步驟404中,第一服務器102根據(jù)嵌入有更新消息201的IP數(shù)據(jù)包的標頭識別更新消息201的源IP地址。源IP地址識別為網(wǎng)絡節(jié)點104的網(wǎng)絡接口的IP地址。為了進行比較,在圖4A的過程中,第一服務器102依賴于IP地址字段204而不是依賴于更新消息201的源IP地址來識別相對應的網(wǎng)絡接口的IP地址。在步驟405以及406中,對應地從更新消息201中檢索唯一標識符202以及網(wǎng)絡接口標識符203。在步驟408中,在步驟404中識別的源IP地址存儲在二級存儲器615中。在步驟420中,所述過程結(jié)束。
在一個變體中,如果更新消息201未加密,那么第一服務器102依賴于唯一標識符202的唯一性來確保嵌入在更新消息201中的IP地址或嵌入有更新消息201的IP數(shù)據(jù)包的源IP地址。此變體容易受到中間人攻擊,所述攻擊可能改變更新消息201的內(nèi)容。
圖5圖示根據(jù)實施例中的一者的在DNS資源記錄已經(jīng)存儲在第一服務器102的計算機可讀存儲媒體中之后回復由第一服務器102從主機接收的DNS請求的過程。為了更好地理解實施例,結(jié)合圖1以及圖6B查看圖5。
在步驟501中,所述過程開始。二級存儲器615存儲網(wǎng)絡節(jié)點(例如,網(wǎng)絡節(jié)點104)的DNS資源記錄。在步驟510中,通過第一服務器102接收DNS請求。DNS請求由主機向第一服務器102發(fā)送,請求一或多個網(wǎng)絡節(jié)點的一或多個網(wǎng)絡接口的DNS資源記錄。DNS請求是IP數(shù)據(jù)包。DNS請求可以由主機(例如,主機103)發(fā)送,請求網(wǎng)絡節(jié)點的一或多個網(wǎng)絡接口的DNS資源記錄。在步驟511中,從DNS請求中檢索唯一標識符。唯一標識符指定網(wǎng)絡節(jié)點。例如,當主機103發(fā)送請求網(wǎng)絡節(jié)點104的DNS資源記錄的DNS請求時,唯一標識符指定網(wǎng)絡節(jié)點104。
在步驟512中,處理單元612執(zhí)行指令以從DNS請求中檢索網(wǎng)絡接口標識符。所述網(wǎng)絡接口標識符指定網(wǎng)絡接口,其中網(wǎng)絡接口的DNS資源記錄由主機103請求。
在步驟513中,第一服務器102確定是否在步驟512中成功檢索到網(wǎng)絡接口標識符。如果無法檢索到網(wǎng)絡接口標識符,那么在步驟515中,第一服務器102識別由唯一標識符指定的網(wǎng)絡節(jié)點,并且從二級存儲器615中檢索網(wǎng)絡節(jié)點中所包括的所有網(wǎng)絡接口的DNS資源記錄。
如果檢索到至少一個網(wǎng)絡接口標識符,那么在步驟514中,第一服務器102根據(jù)所述至少一個網(wǎng)絡接口標識符識別網(wǎng)絡節(jié)點的至少一個網(wǎng)絡接口,并且從二級存儲器615中檢索所述至少一個網(wǎng)絡接口的DNS資源記錄。
在步驟516中,第一服務器102確定在步驟514或515中是否在二級存儲器615中找到至少一個DNS資源記錄。如果沒有對應于網(wǎng)絡節(jié)點或至少一個網(wǎng)絡接口的DNS資源記錄,那么在步驟518中,第一服務器102向主機103發(fā)送DNS回復,其中所述DNS回復不包括網(wǎng)絡節(jié)點中所包括的網(wǎng)絡接口或至少一個網(wǎng)絡接口的DNS資源記錄,并且在步驟520中,所述過程結(jié)束。
如果找到對應于至少一個網(wǎng)絡接口或網(wǎng)絡節(jié)點中所包括的網(wǎng)絡接口的至少一個DNS資源記錄,那么在步驟517中,第一服務器102向主機103發(fā)送DNS回復,其中所述DNS回復包括由網(wǎng)絡接口標識符指定的至少一個網(wǎng)絡接口的或由唯一標識符指定的網(wǎng)絡節(jié)點的所有網(wǎng)絡接口的DNS資源記錄,并且在步驟520中,所述過程結(jié)束。
在實施例中的一者中,DNS請求包括記錄類型。例如,如果DNS請求中的記錄類型是“MX”,那么第一服務器102向主機103發(fā)送DNS回復,其中所述DNS回復包括由網(wǎng)絡接口標識符指定的至少一個網(wǎng)絡接口的或由唯一標識符指定的網(wǎng)絡節(jié)點的所有網(wǎng)絡接口的郵件交換器的IP地址。