同VLAN不同網段能否ping通ping三個不存在的Ip地址,深入瞭解網絡通信原理A的網關設置成B的IP,B的網關設置中不存在的IP地址
原標題:同VLAN不同網段能否ping通
同一個vlan同一個網段的ip地址能夠直接互通,那麼同一個vlan不同的網段能不能互通呢?本期我們推薦一篇文章,可以解決大家在網絡中遇到的一些奇怪的問題,也是加深對網絡的理解。
前面我們已經熟悉了同vlan與同網段間如何互訪,不同vlan間如何互訪,而獨獨對於同vlan不同網段互通沒有細說,今天我們來看下。
實例一:
現在有兩臺電腦,他們同處於一個vlan,
pcA IP地址:10.1.1.1/8
pcB IP地址:11.1.1.1/8
無網關,A ping B
報出的Destination host unreachable
顯然,A機器發現對方與自己不是同一網段,試圖尋找網關,但網關不存在,所以報主機不可達,B上的Sniffer未抓到任何包,觀察網卡也是隻發不收,顯然數據沒有出去。
網關設成對方IP,A ping B
能正常PING通,爲什麼能通?
從A計算機Sniffer上抓到的包可以看出,A在PING對方過程中,A首先進行了ARP廣播,它廣播詢問11.1.1.1的MAC是什麼。
顯然這個ARP廣播是可以被B收到的(因爲他們同處一個vlan),而11.1.1.1正好就是B的IP地址,理所當然B要回應這個ARP請求。下圖是A上的抓包情況,A首先進行了ARP廣播,然後收到了B的應答。
這樣A就有了B的MAC,而B在接到A的ARP廣播時候就學到A的MAC,所以雙方可以PING通。
網關設成自己,A ping B
一樣是可以ping的通的,A上抓包如下:
抓到的結果與第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 ?我們再來看下面。
ping三個不存在的Ip地址,深入瞭解網絡通信原理
網關設成自己,PING 3個不存在的IP:
一個是和自己在同一網段的;
一個是和網關在同一網段的;
一個是和誰都不在同一網段的;
PING和自己同一網段的IP,PING返回超時,在B上抓包結果如下:
可以看出,A發出了詢問10.1.1.2的ARP廣播而不是詢問網關(10.1.1.1)的廣播,由於這個IP不存在,所以沒有機器做出回應。
PING和網關同一網段的IP
超時,B上接到的是A發出的關於11.1.1.2的ARP廣播,由於不存在11.1.1.2這個地址,所以沒有機器回應。
PING和誰都不在一個網段的IP
超時,B上接到是A發出的關於100.1.1.1的ARP廣播,由於不存在100.1.1.1這個地址,所以沒有機器回應。
從上面的3個實驗來看,當網關設置成自己的時候,不管PING的地址是什麼,計算機發出的ARP廣播都是直接詢問PING中所指定IP對應的MAC,沒有詢問網關的MAC,這符合卷一上的描述,其實計算機在廣播詢問PING命令指定的IP之前還是會先問網關的MAC的,只是這裏由於網關是自己所以這一步就被跳過了。
那到底是不是這樣的呢?我們再驗證下。
A的網關設置成B的IP,B的網關設置中不存在的IP地址
A計算機網關設成B的IP地址,但B的網關設置成一個不存在的IP(且與A/B都不在同一網絡),PING三種情況。
PING與網關同一網段IP
在A上抓包,可以看到A首先發出了關於網關11.1.1.1的ARP廣播請求(對應B接到這個廣播請求),B對這個11.1.1.1進行了ARP應答.但這個IP是不存在的所以PING結果超時。
PING與誰都不在同一網段
超時,結果類似上面結果,A發出了關於網關11.1.1.1的請求,B做了應答.但PING是超時的.
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的網關都設置的與AB ip毫不相干的話,相互肯定不通。