什么是三層交換機(jī)一次路由多次交換?
什么是三層交換機(jī)一次路由多次交換?
首先講講三層交換機(jī)的結(jié)構(gòu):ASIC芯片和CPU
ASIC芯片用于完成二層和三層的轉(zhuǎn)發(fā),內(nèi)部包含用于二層轉(zhuǎn)發(fā)的MAC地址表和用于IP轉(zhuǎn)發(fā)的三層轉(zhuǎn)發(fā)表。
CPU用于轉(zhuǎn)發(fā)的控制,主要維護(hù)一些軟件表項(xiàng)(包括路由表,ARP表),并根據(jù)軟件表項(xiàng)的轉(zhuǎn)發(fā)信息來配置ASIC的硬件三層轉(zhuǎn)發(fā)表。
真正決定高速轉(zhuǎn)交換轉(zhuǎn)發(fā)的是ASCIC的二三層硬件表項(xiàng),而ASIC的硬件表來源于CPU維護(hù)的軟件表項(xiàng)。
A與B在不同VLAN,中間通過三層交換機(jī)的SVI(Vlanif口)接口進(jìn)行路由轉(zhuǎn)發(fā)。
A ping B過程分析如下:
1.主機(jī)A檢查目標(biāo)B的IP地址,發(fā)現(xiàn)與自己不在同一個(gè)網(wǎng)段,因此需通過網(wǎng)關(guān)轉(zhuǎn)發(fā),首先查詢ARP緩存,沒找到網(wǎng)關(guān)的MAC,所以廣播ARP請(qǐng)求(目標(biāo)MAC為全F,源MAC為A的MAC,源IP為A的IP,目標(biāo)IP為網(wǎng)關(guān)IP),請(qǐng)求網(wǎng)關(guān)的MAC地址;
2.三層交換機(jī)收到后,發(fā)現(xiàn)是廣播幀,進(jìn)行解封裝,發(fā)現(xiàn)目標(biāo)IP是給自己的,所以返回ARP應(yīng)答,通過ARP應(yīng)答把自己的MAC告訴A
3.A收到ARP應(yīng)答后,更新ARP緩存,再重新封裝ICMP(目標(biāo)MAC為網(wǎng)關(guān),源MAC為A,目標(biāo)IP為B,源IP為A),交換機(jī)收到以后,首先根據(jù)報(bào)文的源MAC+VlanID更新到MAC表,根據(jù)報(bào)文的目的MAC+VID進(jìn)行查MAC表,發(fā)現(xiàn)匹配自己的三層接口的MAC表項(xiàng)(說明:三層交換機(jī)給分配SVI的IP地址時(shí),會(huì)在交換機(jī)的MAC表項(xiàng)中添加三層接口的MAC+VID),當(dāng)報(bào)文中的目的MAC與這個(gè)三層接口的MAC表項(xiàng)匹配時(shí),就進(jìn)行三層轉(zhuǎn)發(fā),查找三層表項(xiàng),因?yàn)榈谝淮问强盏模圆檎沂?,于是將?bào)文交給CPU進(jìn)行軟件處理,CPU根據(jù)目標(biāo)IP進(jìn)行查找路由,匹配到一個(gè)直連網(wǎng)段,于是查找ARP表,第一次還是空的,所以查找失敗,則在目標(biāo)網(wǎng)段進(jìn)行廣播ARP請(qǐng)求B的MAC地址,B收到后給出ARP應(yīng)答,
4.交換機(jī)收到應(yīng)答,更新MAC表和ARP表,同時(shí)重新封裝ICMP發(fā)送給B(目標(biāo)MAC為B,源MAC為三層交換接口的MAC,目標(biāo)IP為B,源IP為A)。同時(shí),交換機(jī)的三層表項(xiàng)根據(jù)剛剛得到到三層轉(zhuǎn)發(fā)信息添加表項(xiàng)(包括IP,MAC,VLAM,出接口),這樣后續(xù)的報(bào)文如果匹配三層表項(xiàng),就可以直接進(jìn)行硬件轉(zhuǎn)發(fā)了,這樣就叫做一次路由多次交換。B收到后給出ICMP應(yīng)答,就是以上過程的逆過程,所以PING通了。