查詢IP協(xié)議地址的有效方法
對(duì)于Linux系統(tǒng)下的TCP IP協(xié)議的地址查詢命令我們已經(jīng)在前面的文章中介紹過了?,F(xiàn)在接著前文,我們來(lái)繼續(xù)講解一下相關(guān)內(nèi)容。在查詢到地址之后,我們就必須有一套方法來(lái)對(duì)應(yīng) IP協(xié)議地址和實(shí)體地址了。
在此一過程中﹐關(guān)鍵點(diǎn)是如果將 IP協(xié)議地址對(duì)與實(shí)體地址做對(duì)應(yīng)。有些使用簡(jiǎn)單實(shí)體地址的網(wǎng)路(如 proNET-10 )﹐其實(shí)體地址只占一個(gè) byte 的長(zhǎng)度﹐而且允許使用者在配置網(wǎng)路卡的是選擇自己的實(shí)體地址。
在這樣的網(wǎng)路上進(jìn)行 IP協(xié)議地址和實(shí)體地址的對(duì)應(yīng)﹐是比較簡(jiǎn)單的﹐我們可以把實(shí)體地址設(shè)為和 IP協(xié)議地址設(shè)為一樣。例如﹐假設(shè)某一個(gè)節(jié)點(diǎn)的 IP協(xié)議地址為 192.168.1.17﹐那么我們可以將該實(shí)體地址設(shè)為 17。
這樣﹐在 proNET 就可以輕易的根據(jù) IP協(xié)議地址來(lái)得到實(shí)體地址。這樣的對(duì)應(yīng)非常簡(jiǎn)單﹐而且要維護(hù)起來(lái)也很容易﹐在新機(jī)器假如網(wǎng)路的時(shí)候﹐并不需要修改或重編已存的資料。
然而﹐我們知道在乙太網(wǎng)上﹐每一個(gè)實(shí)體界面都有一個(gè) 48bit(6byte) 的 MAC 地址﹐而 IP (v4)使用的地址則為 32bit(4byte)﹔每各地址格式都只提供相應(yīng)的層級(jí)協(xié)定使用﹐彼此是不能互換使用的。這時(shí)候我們就無(wú)法用簡(jiǎn)單的數(shù)學(xué)關(guān)系來(lái)做 IP協(xié)議地址和實(shí)體地址的對(duì)應(yīng)了。
IP協(xié)議地址和實(shí)體地址的對(duì)應(yīng)方法
建立表格
首先﹐我們想到的最簡(jiǎn)單方法是在每一臺(tái)機(jī)器上建立一個(gè) IP協(xié)議地址和實(shí)體地址的對(duì)應(yīng)表格( table )。不過這個(gè)方法還是沒辦法解決如下的情形:
◆ 網(wǎng)路上的節(jié)點(diǎn)數(shù)量多如恒河沙數(shù)﹐要想將全部節(jié)點(diǎn)的對(duì)應(yīng)關(guān)系列入表格之中幾近不可能任務(wù)。
◆ 如果某一個(gè)節(jié)點(diǎn)產(chǎn)生異動(dòng)情形(例如更換網(wǎng)卡)﹐那么如果讓所有表格正確做出相應(yīng)修改﹐也是個(gè)頭痛的問題。
◆ 對(duì)某無(wú)磁碟工作站來(lái)說﹐因?yàn)闆]有本機(jī)的儲(chǔ)存設(shè)備﹐將無(wú)非建立表格。
寫入高階程式
除了建立表格﹐我們還可以將實(shí)際的網(wǎng)路地址寫死在高階網(wǎng)路程式里面。不過﹐和前一個(gè)方法一樣﹐如果遇到硬體地址變更等異動(dòng)動(dòng)情形﹐那么﹐程式也需要重新編譯過才行。
顯然﹐上述兩個(gè)方法都不怎么高明。