今天覆習tcp/ip路由技術卷一,再次看到**arp那提到的那個透明子網問題,聯想到那個經典的閘道器問題,於是決定仔細分析和整理一下各種情況到該怎麼去理解.
環境:一台中文xp,一台英文xp,雙機用交叉線直連.起sniffer抓包觀察.
1.無閘道器,a ping b,報destination host unreachable.顯然,a機器發現對方與自己不是同一網段,試圖尋找閘道器,但閘道器不存在,所以報主機不可達,b上的sniffer未抓到任何包,觀察網絡卡也是只發不收.顯然資料沒有出去,也沒有發生卷一上所說的arp廣播過程.
2.閘道器設成對方ip,能正常ping通.為什麼能通?從a計算機sniffer上抓到的包可以看出,a在ping對方過程中,a首先進行了arp廣播,它廣播詢問11.1.1.1的mac是什麼!但這裡有個問題,這個11.1.1.1到底指的是ping中指定的11.1.1.1還是閘道器中的11.1.1.1呢?先不管它,一會實驗就明白了.反正此時的結果是a問11.1.1.1的mac,顯然這個arp廣播是可以被b收到的(為什麼就不用說了吧),而11.1.1.1正好就是b的ip位址,理所當然b要回應這個arp請求.下圖是a上的sniffer,a首先進行了arp廣播,然後收到了b的應答.
這樣a就有了b的mac,而b在接到a的arp廣播時候就學到a的mac,所以雙方可以ping通.
3.閘道器設成自己,a ping 對方一樣是通的,a上抓包如下:
(抓到的結果與第2種情況一樣,所以借用第2種情況的圖),a依然是先廣播詢問11.1.1.1的mac,這個arp廣播被b接到後,b有義務應答,於是雙方知道對方mac,所以能ping通.與第2種情況不同的是,這裡可以明確知道arp中的11.1.1.1指的是ping中所指定的ip位址而不是閘道器(此時a閘道器是10.1.1.1了),那麼第2種情況中的11.1.1.1也指的是ping中所指定的ip ?做個實驗4看看!
4.閘道器設成自己,ping 3個不存在的ip,乙個是和自己在同一網段的,乙個是和閘道器在同一網段的,乙個是和誰都不在同一網段的:
4.1:ping和自己同一網段的ip,ping返回超時,在b上抓包結果如下:
可以看出,a發出了詢問10.1.1.2的arp廣播而不是詢問閘道器(10.1.1.1)的廣播,由於這個ip不存在,所以沒有機器做出回應.
4.2:ping和閘道器同一網段的ip,超時,b上接到的是a發出的關於11.1.1.2的arp廣播,由於不存在11.1.1.2這個位址,所以沒有機器回應.圖略.
4.3:ping和誰都不在乙個網段的ip,超時,b上接到是a發出的關於100.1.1.1的arp廣播,由於不存在100.1.1.1這個位址,所以沒有機器回應.圖略.
從上面的3個付實驗來看,當閘道器設定成自己的時候,不管ping的位址是什麼,計算機發出的arp廣播都是直接詢問ping中所指定ip對應的mac,沒有詢問閘道器的mac,這符合卷一上的描述,其實計算機在廣播詢問ping命令指定的ip之前還是會先問閘道器的mac的,只是這裡由於閘道器是自己所以這一步就被跳過了,到底是不是這樣,繼續做下面的實驗來測試.
5.a計算機閘道器設成b的ip位址,但b的閘道器設定成乙個不存在的ip(且與a/b都不在同一網路),ping實驗4中的三種情況,
5.1:ping與自己同一網段ip,抓包可以看到b上接到詢問10.1.1.2的arp廣播,但10.1.1.2是不存在的ip,所以沒有得到回應.
5.2:ping與閘道器同一網段ip,在a上抓包,可以看到a首先發出了關於閘道器11.1.1.1的arp廣播請求(對應b接到這個廣播請求,圖略),b對這個11.1.1.1進行了arp應答.但這個ip是不存在的所以ping結果超時.
5.3:ping與誰都不在同一網段,超時,結果類似5.2結果,a發出了關於閘道器11.1.1.1的請求,b做了應答.但ping是超時的.
5.4:ping計算機b的位址,結果超時,為什麼這個也不通呢?按說按照上面的測試,ab計算機都能獲得對方mac,乙太網下,有mac應該就有通訊的可能,可這個時候卻不通,檢視sniffer抓到的包可以發現:
a發出了關於11.1.1.1的arp廣播請求,b對11.1.1.1做出應答,但是下面接到了多個b發來的關於100.1.1.1的arp廣播請求,且100.1.1.1的回顯請求沒有得到b的應答.看來b是一直在試圖查詢b的閘道器(100.1.1.1)所對應的mac,在閘道器的mac沒有獲得應答之前,b不會對ping產生回應.
從上面的所有實驗看出,計算機在與非本網段的位址通訊時,計算機首先查詢閘道器的mac,如果閘道器mac得不到回應,是不會對ping作出響應的.因此,實現1和2的情況是屬於特殊情況,正好利用了閘道器與主機ip相同,騙過了計算機.如果ab的閘道器都設定的與abip毫不相干的話,相互肯定不通.
在兩台主機之間接上交換機,效果一樣.
對於卷一上提到的,路由器可以通過**arp實現閘道器與主機不在同一網段通訊,在2514/12.3ios上測試不成功,路由器確實可以接到對閘道器的arp廣播,但是路由器會過濾
*mar 1 00:24:45.063: ip arp req filtered src 21.1.1.2 0016.d30d.1906, dst 10.0.4.5 0000.0000.0000 wrong cable, inte***ce ethernet0.實驗沒有成功.
仔細分析ARP經典
仔細分析arp經典 今天覆習tcp ip路由技術卷一,再次看到 arp那提到的那個透明子網問題,聯想到那個經典的閘道器問題,於是決定仔細分析和整理一下各種情況到該怎麼去理解.環境 一台中文xp,一台英文xp,雙機用交叉線直連.起sniffer抓包觀察.1.無閘道器,a ping b,報destina...
小公尺OJ 燈 仔細分析找規律
乙個屋子有 n nn 個開關控制著 n nn 盞燈,但奇怪的是,每個開關對應的不是一盞燈,而是 n 1 n 1n 1 盞燈,每次按下這個開關,其對應的 n 1 n 1n 1 盞燈就會由亮變滅,或者由滅變亮。保證不會有兩個開關控制同樣的 n 1 n 1n 1 盞燈。現在劉同學想把燈全部開好,但是這些燈...
人像精細分割問題分析
最近參加了乙個oppo舉辦的比賽,做人像精細分割。題目要求是這樣的 隨著手機硬體平台和人工智慧技術的飛速發展,目前的智慧型手機基本都可以實現後置雙攝像頭和前置單攝像頭對人像拍照時的背景虛化。在虛化的方法上,後置通過雙攝像頭來計算景深從而實現前景人像的分割,進而對背景虛化 而前置則直接對單幀影象進行人...