本發(fā)明實施涉及一種通過互聯(lián)網訪問局域網內設備的通信方法,屬于互聯(lián)網通信技術領域。
背景技術:
在系統(tǒng)集成實際應用中,經常遇到需要互聯(lián)網訪問局域網內各種類型、各種廠家、各種型號的網絡設備。鑒于國內目前絕大多數(shù)個人與企業(yè)都是動態(tài)ip的現(xiàn)狀,需要設備定時與服務器進行同步,以便服務器了解設備是否在線,同時服務器也獲取了設備的最新公網ip地址,目前多數(shù)是通過ddns來實現(xiàn)。
新購設備的時候,一般可以指定相同類型、相同廠家、相同型號,或者指定必須支持的ddns網絡通信協(xié)議,來方便聯(lián)網通信,但這樣提高了硬件成本;
針對已有設備,需要集成的現(xiàn)有設備可以找到一致性的通信協(xié)議是很困難的,特別是不同廠家、不同種類的設備之間。即使是同一廠家的同系列產品,也可能由于支持的ddns動態(tài)域名協(xié)議或平臺不同,而對整個信息系統(tǒng)的集成造成很大的技術困難。
特別是在需要把不同種類的設備集成到一個統(tǒng)一平臺集中管理的場景下,很難找到一個各種設備都支持的通信協(xié)議或方法,而且由于各廠家的技術封鎖,即使是同一廠家的不同批次設備,可能支持的協(xié)議與平臺(比如ddns)也不盡相同。
ntp是網絡時間協(xié)議(networktimeprotocol),它是用來同步網絡中各個電子設備的時間的協(xié)議。它的用途是把電子設備的時鐘同步到世界協(xié)調時utc,其精度在局域網內可達0.1ms,在互聯(lián)網上絕大多數(shù)的地方其精度可以達到1-50ms。
ntp協(xié)議是由rfc1305定義的時間同步協(xié)議,用來在分布式時間服務器和客戶端之間進行時間同步。ntp基于udp報文進行傳輸,使用的udp端口號為123。使用ntp的目的是對網絡內所有具有時鐘的設備進行時鐘同步,使網絡內所有設備的時鐘保持一致,從而使設備能夠提供基于統(tǒng)一時間的多種應用。對于運行ntp的本地系統(tǒng),既可以接收來自其他時鐘源的同步,又可以作為時鐘源同步其他的時鐘,并且可以和其他設備互相同步。
正是由于ntp協(xié)議的重要性,目前絕大多數(shù)的網絡設備都支持通過ntp協(xié)議進行時鐘同步,比如臺式計算機、筆記本電腦、手機、平板電腦、交換機、路由器、打印機、監(jiān)控攝像機、硬盤錄像機等。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是提供一種兼容性好、方法簡單、運行可靠的利用擴展的ntp協(xié)議代替ddns實現(xiàn)互聯(lián)網與局域網內設備交互的方法。
為解決上述技術問題,本發(fā)明的技術方案是:利用擴展的ntp協(xié)議代替ddns實現(xiàn)互聯(lián)網與局域網內設備交互的方法,包括由時間服務器進行端口擴展構成的擴展時間服務器,所述擴展時間服務器的端口除所述擴展時間服務器自身操作系統(tǒng)運行必須的端口外,其它端口分別設置為用于接收并處理網絡上的網絡設備ntp請求的ntp擴展端口,所述擴展時間服務器的每一個ntp擴展端口對應一臺網絡設備;
分別將網絡設備的ntp協(xié)議訪問時間服務器的端口號123號端口修改為所述擴展時間服務器分配給該網絡設備的唯一的ntp擴展端口號;
各網絡設備分別通過分配的ntp擴展端口號定時與所述擴展時間服務器按照ntp協(xié)議進行通信并完成時間校正;
所述擴展時間服務器根據來訪的ntp擴展端口號將該來訪設備的ntp擴展端口號、公網ip、設備狀態(tài)存儲在數(shù)據庫服務器中,并將原記錄更新;
用戶通過互聯(lián)網連接所述數(shù)據庫服務器獲取網絡設備最新公網ip后便可以訪問到指定網絡設備。
作為優(yōu)選的技術方案,各網絡設備分別通過分配的ntp擴展端口號定時與所述擴展時間服務器按照ntp協(xié)議進行通信時,首先通過安全檢查判斷是合法設備的請求還是假冒設備的請求,如果是假冒設備的請求則不做任何處理;合法設備的請求則立即返回標準的ntp響應數(shù)據包,然后根據來訪的ntp擴展端口號更新數(shù)據庫服務器中對應設備的公網ip與設備狀態(tài)。
作為對上述技術方案的改進,所述安全檢查的步驟如下:
步驟一:基于安全性考慮,為防止匿名設備冒充正常設備向服務器發(fā)送虛假ntp請求,每個指定端口在數(shù)據庫中設置兩個參數(shù):
參數(shù)a:1-1000;參數(shù)b:0-10000;
步驟二:指定網絡設備根據參數(shù)a設置ntp請求定時間隔,范圍為1-1000分鐘;
步驟三:正常的網絡設備第一次向服務器發(fā)送ntp請求后,服務器會根據數(shù)據庫中對應端口的參數(shù)b在服務器當前時間上增加一個0-10000毫秒的時間誤差返回給網絡設備;
服務器后續(xù)收到網絡設備的ntp請求后,首先計算上次請求時間與本次請求的時間間隔是否等于參數(shù)a,如果不符則可以判斷是匿名設備;
然后再計算對應時間戳與服務器當前時間的誤差,如果誤差值與參數(shù)b偏離過大,則可以判斷是匿名設備;如果偏離值很小,則重新根據參數(shù)b在服務器當前時間上增加相應的時間誤差返回給網絡設備。
通過上述雙重驗證,可以有效防止匿名設備的惡意ntp請求。
作為對上述技術方案的改進,所述網絡設備包括但不限于臺式計算機、筆記本電腦、手機、平板電腦、交換機、路由器、打印機、監(jiān)控攝像機、硬盤錄像機。
由于采用了上述技術方案,利用擴展的ntp協(xié)議代替ddns實現(xiàn)互聯(lián)網與局域網內設備交互的方法,包括由時間服務器進行端口擴展構成的擴展時間服務器,所述擴展時間服務器的端口除所述擴展時間服務器自身操作系統(tǒng)運行必須的端口外,其它端口分別設置為用于接收并處理網絡上的網絡設備ntp請求的ntp擴展端口,所述擴展時間服務器的每一個ntp擴展端口對應一臺網絡設備;分別將網絡設備的ntp協(xié)議訪問時間服務器的端口號123號端口修改為所述擴展時間服務器分配給該網絡設備的唯一的ntp擴展端口號;各網絡設備分別通過分配的ntp擴展端口號定時與所述擴展時間服務器按照ntp協(xié)議進行通信并完成時間校正;所述擴展時間服務器根據來訪的ntp擴展端口號將該來訪設備的ntp擴展端口號、公網ip、設備狀態(tài)存儲在數(shù)據庫服務器中,并將原記錄更新;用戶通過互聯(lián)網連接所述數(shù)據庫服務器獲取網絡設備最新公網ip后便可以訪問到指定網絡設備;本發(fā)明通過把ntp端口擴展到除操作系統(tǒng)運行必須的端口外的所有端口,開發(fā)成為專用擴展時間服務器,實現(xiàn)監(jiān)聽所有端口的ntp請求,每一個ntp擴展端口對應一臺網絡設備,所有端口號的范圍為1~65535,能夠實現(xiàn)一臺所述擴展時間服務器管理可以管理65000多臺網絡設備,而且簡單、便捷,極大地方便了技術人員現(xiàn)場對設備的部署配置。
附圖說明
以下附圖僅旨在于對本發(fā)明做示意性說明和解釋,并不限定本發(fā)明的范圍。其中:
圖1是本發(fā)明實施例的網絡架構圖;
圖2是本發(fā)明實施例的數(shù)據通信流程圖;
圖3是ntp時間同步報文的標準格式示意圖。
具體實施方式
下面結合附圖和實施例,進一步闡述本發(fā)明。在下面的詳細描述中,只通過說明的方式描述了本發(fā)明的某些示范性實施例。毋庸置疑,本領域的普通技術人員可以認識到,在不偏離本發(fā)明的精神和范圍的情況下,可以用各種不同的方式對所描述的實施例進行修正。因此,附圖和描述在本質上是說明性的,而不是用于限制權利要求的保護范圍。
如圖1和圖2所示,利用擴展的ntp協(xié)議代替ddns實現(xiàn)互聯(lián)網與局域網內設備交互的方法,包括由時間服務器進行端口擴展構成的擴展時間服務器,所述擴展時間服務器的端口除所述擴展時間服務器自身操作系統(tǒng)運行必須的端口外,其它端口分別設置為用于接收并處理網絡上的網絡設備ntp請求的ntp擴展端口,所述擴展時間服務器的每一個ntp擴展端口對應一臺網絡設備;
分別將網絡設備的ntp協(xié)議訪問時間服務器的端口號123號端口修改為所述擴展時間服務器分配給該網絡設備的唯一的ntp擴展端口號;
各網絡設備分別通過分配的ntp擴展端口號定時與所述擴展時間服務器按照ntp協(xié)議進行通信并完成時間校正;
所述擴展時間服務器根據來訪的ntp擴展端口號將該來訪設備的ntp擴展端口號、公網ip、設備狀態(tài)存儲在數(shù)據庫服務器中,并將原記錄更新;
用戶通過互聯(lián)網連接所述數(shù)據庫服務器獲取網絡設備最新公網ip后便可以訪問到指定網絡設備。
為保證系統(tǒng)的安全,本實施例中的各網絡設備分別通過分配的ntp擴展端口號定時與所述擴展時間服務器按照ntp協(xié)議進行通信時,首先通過安全檢查判斷是合法設備的請求還是假冒設備的請求,如果是假冒設備的請求則不做任何處理;合法設備的請求則立即返回標準的ntp響應數(shù)據包,然后根據來訪的ntp擴展端口號更新數(shù)據庫服務器中對應設備的公網ip與設備狀態(tài)。
所述安全檢查的步驟如下:
步驟一:基于安全性考慮,為防止匿名設備冒充正常設備向服務器發(fā)送虛假ntp請求,每個指定端口在數(shù)據庫中設置兩個參數(shù):
參數(shù)a:1-1000;參數(shù)b:0-10000;
步驟二:指定網絡設備根據參數(shù)a設置ntp請求定時間隔,范圍為1-1000分鐘;
步驟三:正常的網絡設備第一次向服務器發(fā)送ntp請求后,服務器會根據數(shù)據庫中對應端口的參數(shù)b在服務器當前時間上增加一個0-10000毫秒的時間誤差返回給網絡設備;
服務器后續(xù)收到網絡設備的ntp請求后,首先計算上次請求時間與本次請求的時間間隔是否等于參數(shù)a,如果不符則可以判斷是匿名設備;
然后再計算對應時間戳與服務器當前時間的誤差,如果誤差值與參數(shù)b偏離過大,則可以判斷是匿名設備;如果偏離值很小,則重新根據參數(shù)b在服務器當前時間上增加相應的時間誤差返回給網絡設備。
通過上述雙重驗證,可以有效防止匿名設備的惡意ntp請求。
本實施例中,所述網絡設備包括但不限于臺式計算機、筆記本電腦、手機、平板電腦、交換機、路由器、打印機、監(jiān)控攝像機、硬盤錄像機。
ntp協(xié)議的標準端口為123,本實施例在這個基礎上進行擴展,通過定制的專用expandntpserver擴展時間服務器,實現(xiàn)監(jiān)聽所有端口的ntp請求,一個端口對應一臺網絡設備,端口號的范圍為1~65535,除去服務器操作系統(tǒng)所必須使用的系統(tǒng)端口以及本服務器與其它服務器通信需要的少數(shù)端口以外,實際應用上能夠實現(xiàn)一臺服務器管理65000多臺網絡設備。
ntp時間同步報文的標準格式請參考圖3,主要字段的解釋如下:
1、li(leapindicator):長度為2比特,值為“11”時表示告警狀態(tài),時鐘未被同步。為其他值時ntp本身不做處理。
2、vn(versionnumber):長度為3比特,表示ntp的版本號,目前的最新版本為3。
3、mode:長度為3比特,表示ntp的工作模式。不同的值所表示的含義分別是:0未定義、1表示主動對等體模式、2表示被動對等體模式、3表示客戶模式、4表示服務器模式、5表示廣播模式或組播模式、6表示此報文為ntp控制報文、7預留給內部使用。
4、stratum:系統(tǒng)時鐘的層數(shù),取值范圍為1~16,它定義了時鐘的準確度。層數(shù)為1的時鐘準確度最高,準確度從1到16依次遞減,層數(shù)為16的時鐘處于未同步狀態(tài),不能作為參考時鐘。
5、poll:輪詢時間,即兩個連續(xù)ntp報文之間的時間間隔。
6、precision:系統(tǒng)時鐘的精度。
7、rootdelay:本地到主參考時鐘源的往返時間。
8、rootdispersion:系統(tǒng)時鐘相對于主參考時鐘的最大誤差。
9、referenceidentifier:參考時鐘源的標識。
10、referencetimestamp:系統(tǒng)時鐘最后一次被設定或更新的時間。
11、originatetimestamp:ntp請求報文離開發(fā)送端時發(fā)送端的本地時間。
12、receivetimestamp:ntp請求報文到達接收端時接收端的本地時間。
13、transmittimestamp:應答報文離開應答者時應答者的本地時間。
14、authenticator:驗證信息。
如圖2所示,本實施例的工作過程如下:
步驟1:啟動expandntpserver擴展時間服務器,對數(shù)據庫中所有網絡設備的端口號進行ntp監(jiān)聽;
步驟2:設置網絡設備ntp服務器ip地址為expandntpserver擴展時間服務器的ip地址,端口號為服務器分配的指定端口號,定時發(fā)送ntp請求的時間間隔設置為指定的參數(shù)值;如果計算機操作系統(tǒng)或其它智能終端不支持自定義ntp端口號,可以通過安裝客戶端程序實現(xiàn)向服務器指定的端口號定時發(fā)送ntp請求。
步驟3:網絡設備開始定時與擴展時間服務器進行ntp時鐘同步;
步驟4:擴展時間服務器收到網絡設備的ntp請求后,首先判斷是合法設備還是假冒設備的請求,如果是假冒設備的請求則不做任何處理;合法設備則按照標準ntp協(xié)議返回響應數(shù)據包,然后根據來源設備的端口號更新數(shù)據庫對應設備的公網ip地址、狀態(tài)、更新時間等。
這樣就實現(xiàn)了通過互聯(lián)網隨時訪問局域網內設備的需求。在具體應用時,其它功能系統(tǒng)可以隨時從數(shù)據庫中獲取指定設備的公網ip與狀態(tài),便于服務器與客戶端的主動通信,獲取網絡設備的更多信息以及對網絡設備進行實時控制等。
發(fā)明人在進行某個可視化系統(tǒng)建設過程中,通過對十余種技術方案進行分析和驗證,最終發(fā)現(xiàn)只有利用擴展的ntp協(xié)議來實現(xiàn)對全市12000臺不同廠家不同型號的攝像機集中管理的辦法是可行的,而且簡單、便捷,極大的方便了技術人員現(xiàn)場對設備的部署配置。
以上所述僅為本發(fā)明示意性的具體實施方式,并非用以限定本發(fā)明的范圍。任何本領域的技術人員,在不脫離本發(fā)明的構思和原則的前提下所作出的等同變化與修改,均應屬于本發(fā)明保護的范圍。