一、IP地址與IP地址的動態分配
1. IP 地址基本概念
Internet依靠TCP/IP協議,在全球范圍內實現不同硬件結構、不同操作系統、不同網絡系統的互聯。在Internet上,每一個節點都依靠唯一的IP地址互相區分和相互聯系。IP地址是一個32位二進制數的地址, 由4 個8 位字段組成,每個字段之間用點號隔開, 用於標識TCP/IP宿主機。
每個IP地址都包含兩部分: 網絡ID和主機ID。網絡ID標識在同一個物理網絡上的所有宿主機,主機ID標識該物理網絡上的每一個宿主機,於是整個Internet上的每個計算機都依靠各自唯一的IP地址來標識。
IP地址構成了整個Internet的基礎,它是如此重要,每一台聯網的計算機無權自行設定IP地址,有一個統一的機構—IANA負責對申請的組織分配唯一的網絡ID, 而該組織可以對自己的網絡中的每一個主機分配一個唯一的主機ID,正如一個單位無權決定自己在所屬城市的街道名稱和門牌號,但可以自主決定本單位內部的各個辦公室編號一樣。
2. 靜態IP與動態IP
IP地址是一個32位二進制數的地址,理論上講, 有大約40億(2 的32次方)個可能的地址組合,這似乎是一個很大的地址空間。tW.WiNgWit.cOM實際上,根據網絡ID和主機ID的不同位數規則,可以將IP地址分為A (7 位網絡ID和24位主機ID)、B (14位網絡ID和16位主機ID)、C (21位網絡ID和8 位主機ID)三類,由於歷史原因和技術發展的差異,A 類地址和B 類地址幾乎分配殆盡,目前能夠供全球各國各組織分配的只有C 類地址。所以說IP地址是一種非常重要的網絡資源。
對於一個設立了因特網服務的組織機構,由於其主機對外開放了諸如WWW 、FTP 、E-mail等訪問服務,通常要對外公布一個固定的IP地址,以方便用戶訪問。當然,數字IP不便記憶和識別,人們更習慣於通過域名來訪問主機,而域名實際上仍然需要被域名服務器(DNS )翻譯為IP地址。例如,你的主頁地址是www.myhost.com,用戶可以方便地記憶和使用,而域名服務器會將這個域名翻譯為101.12.123.234,這才是你在網上的真正地址。
而對於大多數撥號上網的用戶,由於其上網時間和空間的離散性,為每個用戶分配一個固定的IP地址(靜態IP)是非常不可取的,這將造成IP地址資源的極大浪費。因此這些用戶通常會在每次撥通ISP 的主機後,自動獲得一個動態的IP地址,該地址當然不是任意的,而是該ISP 申請的網絡ID和主機ID的合法區間中的某個地址。撥號用戶任意兩次連接時的IP地址很可能不同,但是在每次連接時間內IP地址不變。
二、點對點TCP/IP連接
1. 點對點TCP/IP連接與IP地址
一個運行TCP/IP協議接入因特網的計算機必須擁有一個唯一的IP地址,才能與網上的其他計算機進行網絡通訊。實際上,在任何時刻Internet連接都能由4個要素來描述: 源IP 地址、源地址端口號、目的IP 地址和目的地址端口號。
2. 點對點TCP/IP連接的間接實現
由於大多數上網用戶每次上網都自動獲得一個動態的IP地址,這就使兩台計算機之間建立直接、方便的點對點TCP/IP連接存在一定障礙。解決的辦法是通過間接的方式進行連接,即通信雙方同時登錄到某個提供服務的主機上,由該主機建立雙方的間接連接,網絡電話、網絡尋呼、網絡游戲大都使用這一方法。隨著技術的成熟和發展,這種網絡連接服務可以提供諸如網絡會議、多方通話、多方游戲等服務,已經突破了雙機連接的局限。
3. 點對點TCP/IP連接的直接實現
支持直接TCP/IP連接的軟件很多,例如微軟的網絡電話軟件NetMeeting,唯一的前提就是雙方必須在聯網時相互獲得對方的動態IP地址,或者更簡單地,只要知道被呼叫方的IP地址即可,這類似於知道被叫方的電話號碼即可建立電話聯系。於是關鍵問題就是捕捉和交換各自的動態IP地址,或者捕捉和發布自己的動態IP地址以等待呼叫進而建立連接。
三、動態IP地址的捕捉與發布
1. 動態IP地址的捕捉
有許多方法和工具來實現動態IP地址的捕捉,Windows 95/98 提供了一個IP配置 (WINIPCFG) 實用程序,使用方法是單擊“開始- 運行”,在“打開”框中鍵入:winipcfg,出現程序窗口後,可以單擊“詳細信息”進行查看。IP配置實用程序允許用戶或管理員查看當前IP地址和其他與網絡配置有關的有用信息,有關配置信息包括主機名、DNS 服務器、IP地址、網絡掩碼等。可以重置一個或多個IP地址。“釋放”或“更新”按鈕分別釋放或更新一個IP地址。如果希望釋放或更新所有IP 地址,請單擊“全部釋放”或“全部更新”。其他工具也可以實現本機IP地址的查詢。
2.動態IP地址的發布
可以將得到的動態IP地址更新到自己的主頁上,這樣所有訪問者都可以通過該地址呼叫主頁的所有者,建立點對點的TCP/IP連接。
四、動態IP地址捕捉發布工具—DynamIP
知道了原理,就可以借助工具來完成這一過程。DynamIP 就是一個很好的動態捕捉與發布工具。DynamIP 的主要功能有:
1. DUN/RAS Dialer with Event Driven Program Launcher:具有事件驅動功能的撥號工具,可根據用戶要求或者自動定時進行撥號,並且可以在諸如“新連接建立”或“連接終止”等事件的驅動下運行/ 關閉其他應用程序,當網絡流量低於設定值時可以自動終止聯結,這對於無人值守下載大軟件時特別有用。
2. Uploader(Dynamic IP address poster):文件上載工具(動態IP地址發布)。DynamIP 可以將你的動態IP地址發布在指定的Web 頁面上,並自動地將該頁面上載到服務器。當然也可以用來更新和上載任意文件,例如用來定期上載圖形文件,而該文件是利用數碼相機自動定期拍攝的,於是該主頁就成了一個現場直播的頁面。
3. DIPS Client:DIPS客戶端軟件,DIPS(Dynamic IP Server )是動態IP服務器的簡稱,在申請了一個免費賬戶後,動態IP服務器可以在主頁中顯示一個指向你的動態IP的URL ,形式為:postmodem.com/dips/< 你的賬戶名> 。
這一功能允許網上用戶通過該URL 訪問你的本地主頁,這是指在本地主機安裝的Web 服務器(例如個人Web 服務器)。當你要調試主頁或者無法找到一個提供滿意的免費主頁服務器,或者你認為上載主頁太浪費時間時,這項功能就顯得尤為重要,目前的虛擬域名服務與此不同的是,虛擬域名服務要求你的主頁必須安放在具有固定域名的主頁服務器上,然後才能提供轉移訪問,而動態IP服務器則可以隨時跟蹤你的動態IP,並將訪問者轉移到你的本地Web 服務器上。只要你聯網並且你的本地Web 服務器正在運行,DynamIP 可以自動地確定你的DIPS信息是否需要更新到動態IP服務器。配合DIPS,用戶可以在不上載任何文件的情況下進行Web 聊天。
4. POP mail checker :電子信箱檢查,可最多檢查5 個不同的POP3賬戶,並在新郵件到來後以可視或聲音信號進行提示,自動運行E-mail客戶端軟件取信。
5. IP chat:點對點IP聊天,類似IRC ,但是不需要任何IRC 服務器,DynamIP可以在用戶指定IP地址區間內掃描,你可以向所有聊天成員或者特定IP地址廣播消息,你可以向其他聊天成員打招呼以引起對方注意並建立一個私人聊天。DynamIP支持微軟網絡電話軟件MS NetMeeting 。
6. WEBchat:Web 聊天。你的主頁訪問者可以利用浏覽器直接與你對話,即使對方沒有安裝DynamIP ,該頁面將被DynamIP 動態更新,浏覽器必須支持forms ,Netscape和Internet Explorer ,毫無疑問都支持forms 。訪問者可以在forms 中填寫語句,然後按submit按鈕,該語句被發送到你的計算機(利用DynamIP 捕獲的動態IP)。可以與功能3 配合實現本地Web 聊天,則不必上載主頁到任何服務器。
7. HTTPscan :HTTP掃描。DynamIP 可以在用戶指定IP地址區間內掃描,並以超文本文件格式生成一個包含所有被搜索到的HTTP服務器的清單。用途之一是當你與某人進行點對點IP聊天時,你可以立即訪問對方的主頁。
8. PC Clock Synchronizer:時鐘同步。DynamIP 可以從NTP 服務器獲得精確的日期和時間以校准你的機器時鐘,另外也可以用來部分地解決“千年蟲”問題。
五、DynamIP 的安裝、設置
1. DynamIP的安裝
DynamIP 的安裝只有一個條件,那就是你的Windows 系統中必須有VB6.0 的運行庫—MSVBVM60.DLL。該文件沒有包含在DynamIP 的軟件包中,用戶必須從微軟公司VB官方站點下載,文件名是Vbrun60new.exe,它是自動安裝文件,文件長度為1MB 。
2. DynamIP的設置
DynamIP 的基本原理是很簡單的,DynamIP 將利用模板文件(Template)中的各項形式參數來更新一個本地文件,該文件包含了你的當前動態IP地址,然後DynamIP 自動上載該文件到你的個人主頁服務器,於是其他訪問你的主頁的用戶可以利用該頁面上的動態IP地址信息與你建立連接,實現各種網絡應用;或者DynamIPS更新你的DIPS信息到動態IP服務器,所有訪問該服務器的用戶可以被轉移到你的本地Web 服務器上。所以在設置和准備DynamIP 的時候,一切工作都是圍繞這個模板文件和你的動態IP地址進行的。
DynamIP 的主要功能是Uploader文件上載工具(動態IP地址發布),本文將以此為例介紹DynamIP 的設置,其他各項功能的設置類似。運行DynamIP ,選擇setup-uploader,則進入設置窗口,各項參數如下:
Active:打開/ 關閉此項服務;
Remote Host :你的主頁所在的FTP 主機地址,注意不要填寫主機上的路徑;
Login :你的FTP 賬戶名;
Password:你的FTP 賬戶口令;這三項參數使得DynamIP 可以登錄到你的FTP主機,自動上載更新的文件,通常填寫的是存放主頁的主機地址。
Template Online :聯機模板文件,該文件將用來生成包含你的IP地址的動態本地文件(LocalFile ),模板文件不會被更新。本地文件和模板文件名字不能相同,否則DynamIP 不會正常工作。如果此項填寫“”,則DynamIP 將上載未更新的本地文件,可以用來上載數碼相機拍攝的圖片進行動態直播,參看“refresh every ”。
Template OFFline:脫機模板文件,通常與聯機模板相同,如果你想在脫機之前上載一個不同的頁面,你可以選擇一個不同的模板文件,此項可以填寫“”,功能同上。
Local File:本地動態文件的路徑和文件名,以聯機或者脫機模板文件為樣式更新的文件,包含用戶當前動態IP地址等信息。
Remote File :存放在FTP 服務器上的遠程動態文件的路徑和文件名,本地動態文件將上載和覆蓋該文件,不要填寫服務器的域名或者IP地址。
IP:聯機模板文件中的IP地址形式參數,該參數將在聯機時被用戶當前的動態IP地址所替換,DynamIP 默認的形式參數是NOT.ON.LINE.NOW ,通常沒有必要改動,若改動,則此項內容必須與模板文件中的形式參數名完全相同。模板文件中還包含了其他形式參數,如IP、DateTime、WEBchat 、HTTP Server 、FTP Server,這些形式參數都將在聯機時被DynamIP 自動替換,因此最好不要隨便改動,即使改動,也要注意每個形式參數的名稱不得相同 ,並且各項內容必須與模板文件中的形式參數名完全相同。
post last IP(OFFline) :張貼上次IP地址,脫機模板文件中代表上次IP地址的形式參數,默認值為( is the default value) 。此項內容必須與模板文件中的形式參數名完全相同。
DateTime:聯機模板文件中的日期時間形式參數。
HTTP Server/Port:聯機模板文件中的HTTP服務器/ 端口形式參數,這裡的HTTP服務器系建立在本地主機上的HTTP服務器(例如個人Web 服務器),DynamIP用你的當前動態IP地址替換該參數,以便將訪問者轉移到你的本地Web 服務器。默認值為:“default value is HTTP Server NOT available. ”默認端口值為:80。
FTP Server/Port :聯機模板文件中的FTP 服務器/ 端口形式參數,含義同上,只是服務器為本地FTP 服務器。默認值為:“FTP Server NOT available”,默認端口值為:21。
FTP UserID:聯機模板文件中的FTP 用戶ID形式參數,默認值為:“anonymous”,可以改變為其他賬戶名。
六、DynamIP 應用實例
假如網上任意兩個用戶(實際上是計算機)能夠相互知道對方的IP地址,則雙方就能利用TCP/IP建立直接的點對點網上連接,進行信息溝通。更進一步,主叫方只要獲得了被叫方的IP地址,就可以發出呼叫、建立連接、實現應用,如利用網絡電話直接通話或者發送文件。DynamIP 正是抓住了建立點對點IP連接的關鍵環節,捕捉並發布用戶的當前動態IP地址,以便接收其他用戶的呼叫。以下為DynamIP 應用舉例。
1. 點對點網絡電話
在主頁中添加下面一行語句:我正在網上,請給我打電話
若訪問者通過IE浏覽器訪問該頁面,點擊該超鏈接將會運行網絡電話軟件NetMeeting呼叫IP地址為111.222.123.123 的計算機,如果對方的NetMeeting處於等待狀態,則可以接收到呼叫,並進行通話。
微軟公司的浏覽器支持callto協議,可以用NetMeeting呼叫該超鏈接指定的IP地址。但是Netscape的浏覽器不支持callto,解決的辦法是改為一個指向快速撥號文件的超鏈接,這樣無論是在IE還是在Netscape中,打開該撥號文件都會運行網絡電話軟件NetMeeting。
語句如下:我正在網上,請給我打電話
這裡ls.cnf是一個NetMeeting的快速撥號文件,記錄了被叫方的IP地址,內容如下:
[ConferenceShortcut]
ConfName=111.222.123.123
Address=111.222.123.123
CallFlags=65543
Transport=1
類似的語句還有:click here to call me ,可以激活Vocaltech Iphone。
以上工作可以直接利用DynamIP 的聯機模板文件來實現,DynamIP 將利用模板文件更新本地動態文件,上載並覆蓋遠程動態文件,主頁的訪問者看到的是包含當前IP地址的超鏈接,點擊超鏈接將會激活網絡電話軟件,建立點對點網絡電話連接服務。網絡電話NetMeeting支持利用服務器實現的間接連接和呼叫對方IP地址的直接點對點連接,這裡使用的是後者。如果你上載了脫機文件,訪問者將得知你不在網上。
2. IP chat:點對點IP聊天,類似IRC ,但是不需要任何IRC 服務器,因為雙方已經知道IP地址。注意要在Setuppchat中打開Active。工具欄中有用於呼叫、掃描、睡眠/ 喚醒的各項功能按鈕。
3. WEBchat:Web 聊天,你的主頁訪問者可以利用浏覽器直接與你對話,即使對方沒有安裝DynamIP,前提是你在主頁中安裝了頁面,該頁面將被DynamIP 動態更新。
用戶可以決定上載聯機文件或者脫機文件,以便及時通知訪問者自己是否聯網。
4. 動態IP的個人Web 服務器:若已經在本地主機安裝了個人Web 服務器,可以利用DIPS服務,將訪問者轉移到你的本地主機。這需要申請一個免費賬戶。網址是:http://www.postmodem.com/dips-admin/。
七、總結與提示
DynamIP 可以捕獲和發布用戶的當前動態IP地址,從而使點對點的IP連接成為可能,這些是網絡傳呼軟件無法做到的。另外,對於每一種基本功能,如果能夠巧妙地結合其他方法,往往能實現更復雜的應用。例如,你是否想過在運行TCP/IP的局域網上使用DynamIP 的強大功能呢?
同時應該注意到,DynamIP 更像是為高級網絡用戶准備的發燒級工具。在網上公布自己的動態IP地址固然有利於溝通,但同時也帶來了相當大的風險,因為黑客用以搜索和攻擊目標的坐標就是IP地址,許多流行黑客工具甚至只需要一個輸入參數—你的IP地址。因此,最好不要在存放重要資料的計算機上進行這些高級網絡應用試驗。
From:http://tw.wingwit.com/Article/Network/201309/3737.html