摘要:交換機(jī)一般用于LAN-WAN的連接,交換機(jī)歸于網(wǎng)橋,是數(shù)據(jù)鏈路層的設(shè)備,有些交換機(jī)也可實(shí)現(xiàn)第三層的交換。思科路由器用于WAN-WAN之間的連接,可以解決異性網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)分組,作用于網(wǎng)絡(luò)層。他們只是從一條線路上接受輸入分組,然后向另一條線路轉(zhuǎn)發(fā)。這兩條線路可能分屬于不同的網(wǎng)絡(luò),并采用不同協(xié)議。
三層交換與路由的區(qū)別,這是一個(gè)非常老的話題了,老得不需要討論。不過,ssffzz1這位網(wǎng)友卻有一番新論。
傳統(tǒng)的交換與路由區(qū)別
三層交換機(jī)在對(duì)第一個(gè)數(shù)據(jù)流進(jìn)行路由后,它將會(huì)產(chǎn)生一個(gè)MAC地址與IP地址的映射表,當(dāng)同樣的數(shù)據(jù)流再次通過時(shí),將根據(jù)此表直接從二層通過而不是再次路由,從而消除了路由器進(jìn)行路由選擇而造成網(wǎng)絡(luò)的延遲,提高了數(shù)據(jù)包轉(zhuǎn)發(fā)的效率。
假設(shè)兩個(gè)使用IP協(xié)議的機(jī)器通過第三層交換機(jī)進(jìn)行通信的過程,。。。若兩個(gè)機(jī)器不在同一子網(wǎng)內(nèi),如發(fā)送機(jī)器A要與目的機(jī)器C通信,發(fā)送機(jī)器A要向“缺省網(wǎng)關(guān)”發(fā)出ARP包,而“缺省網(wǎng)關(guān)”的IP地址已經(jīng)在系統(tǒng)軟件中設(shè)置。這個(gè)IP地址實(shí)際上對(duì)應(yīng)第三層交換機(jī)的第三層交換模塊。所以當(dāng)發(fā)送機(jī)器A對(duì)“缺省網(wǎng)關(guān)”的IP地址廣播出一個(gè)ARP請(qǐng)求時(shí),若第三層交換模塊在以往的通信過程中已得到目的機(jī)器C的MAC地址,則向發(fā)送機(jī)器A回復(fù)C的MAC地址;否則第三層交換模塊根據(jù)路由信息向目的機(jī)器廣播一個(gè)ARP請(qǐng)求,目的機(jī)器C得到此ARP請(qǐng)示后向第三層交換模塊回復(fù)其MAC地址,第三層交換模塊保存此地址并回復(fù)給發(fā)送機(jī)器A。以后,當(dāng)再進(jìn)行A與C之間數(shù)據(jù)包轉(zhuǎn)發(fā)進(jìn),將用最終的目的機(jī)器的MAC地址封裝,數(shù)據(jù)轉(zhuǎn)發(fā)過程全部交給第二層交換處理,信息得以高速交換。既所謂的一次選路,多次交換。
問題一:第二段說“則向發(fā)送機(jī)器A回復(fù)C的MAC地址”,我用ethereal抓包看過,L3交換機(jī)回的是自己的IP(默認(rèn)網(wǎng)關(guān))對(duì)應(yīng)的MAC,而且從道理上講,L3交換機(jī)也不可能回C的MAC給A啊,因?yàn)?,A和C不在一個(gè)網(wǎng)段,A保存C的MAC也沒有意義;2,A發(fā)出去的ARP請(qǐng)求中沒有C的IP, L3交換機(jī)怎么可能知道A想和C通信呢?
這么說來這段話說的不對(duì)?可是為啥流行著么廣泛呢?是我的理解有誤?抓包也有誤?
問題二:如果把默認(rèn)網(wǎng)關(guān)看成一個(gè)黑盒子,只從A和C來抓包,能否判斷出來默認(rèn)網(wǎng)關(guān)是router還是L3交換機(jī)么?
問題三:文檔1說“三層交換機(jī)在對(duì)第一個(gè)數(shù)據(jù)流進(jìn)行路由后,它將會(huì)產(chǎn)生一個(gè)MAC地址與IP地址的映射表”,請(qǐng)問這個(gè)表是什么表?難道是目的IP和下一跳 IP對(duì)應(yīng)的MAC的對(duì)應(yīng)關(guān)系?沒見過這樣的表啊,路由器上有arp表和路由表,交換機(jī)上有MAC表,L3交換機(jī)上有mac表,arp表,路由表??墒荓3 交換機(jī)上沒有見過文檔1說的這種表啊?
問題四:“一次選路,多次交換”怎么理解?文檔1說“當(dāng)同樣的數(shù)據(jù)流再次通過時(shí),將根據(jù)此表直接從二層通過而不是再次路由”,我的理解是L3收到同樣的數(shù)據(jù)流后,查看目的IP,然后查到下一跳IP對(duì)應(yīng)的MAC以及接口,然后轉(zhuǎn)出去。
可是這樣的話,如果在L3交換機(jī)上我修改了下一跳,這個(gè)表怎么知道刷新呢?
另眼看的觀點(diǎn)區(qū)別
我的觀點(diǎn):
問題1:上面這段話是有錯(cuò)誤的,交換機(jī)永遠(yuǎn)不可能用主機(jī)C的MAC來回應(yīng)主機(jī)A,而是用自己的和A機(jī)所在網(wǎng)段的虛接口的MAC來回應(yīng)。 也就是說三層交換并沒有改變數(shù)據(jù)的發(fā)送以及接收流程。
問題2:如果把默認(rèn)網(wǎng)關(guān)看成黑盒子,那么的確無法判斷是三層交換還是三層路由。
問題3/4:你說的這個(gè)表聯(lián)系上下文應(yīng)該指的是一個(gè)供硬件轉(zhuǎn)發(fā)使用的轉(zhuǎn)發(fā)表,三層交換的路由過程基本上是靠硬件完成的,當(dāng)?shù)谝粋€(gè)包被轉(zhuǎn)發(fā)后,系統(tǒng)會(huì)形成一個(gè)單獨(dú)的轉(zhuǎn)發(fā)表,后續(xù)的轉(zhuǎn)發(fā)由特殊的ASIC硬件查詢這個(gè)表來完成,不在走軟件查詢的路由過程,從而提高轉(zhuǎn)發(fā)速度,但是這并沒有從本質(zhì)上改變數(shù)據(jù)轉(zhuǎn)發(fā)的流程,這個(gè)就是”一次路由,多次交換“。
我認(rèn)為的三層交換和三層路由的區(qū)別:
1、三層交換機(jī)能夠提供比路由器大的多的轉(zhuǎn)發(fā)速率,而路由器的轉(zhuǎn)發(fā)速率相對(duì)較低。
2、三層交換機(jī)通常僅支持IP協(xié)議的告訴轉(zhuǎn)發(fā),路由器通常支持多種協(xié)議。
3、三層交換機(jī)的接口比較單一,且數(shù)目眾多。路由器有豐富的接口類型,但是一般單一類型的接口數(shù)目較少。
4、三層交換機(jī)能夠連接的網(wǎng)絡(luò)類型較單一。路由器可以實(shí)現(xiàn)多種異種網(wǎng)絡(luò)的互聯(lián)。
另外,我認(rèn)為交換機(jī)和路由器在轉(zhuǎn)發(fā)上沒有本質(zhì)的區(qū)別,無非一個(gè)偏硬件,一個(gè)偏軟件。況且現(xiàn)在的高速路由器也借鑒了交換機(jī)的技術(shù),也實(shí)現(xiàn)了部分的硬件轉(zhuǎn)發(fā),從而也就有了“快速轉(zhuǎn)發(fā),”“極速轉(zhuǎn)發(fā)”等等術(shù)語(yǔ)。
聯(lián)系客服