一:網(wǎng)絡(luò)拓?fù)?br>
pc1——二層交換機(jī)——pc2
二:實(shí)驗(yàn)?zāi)康?br>
PC1能ping通PC2
PC1的ip為:192.168.0.1/24
PC1的網(wǎng)關(guān)為:192.168.1.1
PC2的ip為:192.168.1.1/24
PC2的網(wǎng)關(guān)為:192.168.0.1
三:原理
1. 首先我們需要知道交換的原理。交換機(jī)的轉(zhuǎn)發(fā)是靠的一表轉(zhuǎn)發(fā)表也就是一個MAC表。交換的方式就是當(dāng)從一個接口叫到一個目的MAC地址時會去找MAC表里有沒有這個MAC地址然后找到那個目的MAC相對應(yīng)的接口后轉(zhuǎn)發(fā)出這個幀。(詳細(xì)內(nèi)容可以參考CCNA、CCNP書籍)。
2. 通過上面的原理后也就是說只要PC1能獲得PC2的MAC地址后就能和PC2進(jìn)行通訊地。因?yàn)榻粨Q機(jī)已經(jīng)知道了從PC1的MAC怎么到PC2的MAC了。
3. 其次我們就需要解決怎么才能讓交換機(jī)和PC本自己互相知道對方的MAC地址。說到這大家可能都會想到用ARP來實(shí)現(xiàn)。但是什么時候才會發(fā)ARP呢,還有就是為什么我的拓?fù)鋱D里的兩臺PC的網(wǎng)關(guān)都不是PC自己本網(wǎng)段的ip呢?
原因是:
ARP只會對本網(wǎng)段內(nèi)的IP起作用。當(dāng)PC想訪問另一臺PC時它會先把自己的IP地址和訪問目的PC的IP地址進(jìn)行一個計算來看是不是本網(wǎng)段的,如果是的話它就會發(fā)送一個ARP請求來獲取對方的MAC地址。如果不是本網(wǎng)段的IP的話PC機(jī)就會直接發(fā)送這個訪問包到網(wǎng)關(guān)去以實(shí)現(xiàn)路由。但是現(xiàn)在我們現(xiàn)在就是要實(shí)現(xiàn)不同IP網(wǎng)段的ARP請求。所以我這里每臺PC的網(wǎng)關(guān)都是對方的IP,因?yàn)镻C機(jī)要通過網(wǎng)關(guān)才能實(shí)現(xiàn)路由那怎么獲取網(wǎng)關(guān)呢?PC獲取網(wǎng)關(guān)的方式都是用ARP來實(shí)現(xiàn),而且我現(xiàn)在每臺PC的網(wǎng)關(guān)都是不同網(wǎng)段所以就實(shí)現(xiàn)了對不同網(wǎng)段的ARP請求。但交換機(jī)還是會實(shí)現(xiàn)這個ARP請求的轉(zhuǎn)發(fā)。這樣一來兩臺PC就能分別獲得對方的MAC地址了。只要能獲得對方面的MAC地址后也就是能正常通訊了。
四:缺陷
缺陷就是如果交換機(jī)劃分了VLAN的話ARP請求也就沒有用了,因?yàn)閂LAN是隔離廣播的,所以ARP求也就不能跨網(wǎng)段來實(shí)現(xiàn)了。