資源描述:
《路由器轉(zhuǎn)發(fā)數(shù)據(jù)包過程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、主機(jī)PC1向主機(jī)PC2發(fā)個(gè)數(shù)據(jù)包,中間經(jīng)過B路由器,請問源地址和源MAC是怎么變化的?答:就假設(shè)拓?fù)鋱D是這個(gè)樣子吧:PC1-----(B1-B2)-------PC2? B1和B2是路由器B上的兩個(gè)接口,PC1和PC2是PC,由主機(jī)PC1向主機(jī)PC2發(fā)送數(shù)據(jù)包,那么在主機(jī)PC1形成的數(shù)據(jù)包的目的IP就是PC2的IP,源IP就是主機(jī)PC1的IP地址,目標(biāo)MAC地址就是B1的MAC地址,源MAC地址就是PC1的MAC地址。轉(zhuǎn)發(fā)過程:假如是第一次通信PC1沒有PC2的ARP映射表PC1在本網(wǎng)段廣播一個(gè)數(shù)據(jù)幀(
2、目的MAC地址為:FFFF:FFFF:FFFF:FFFF)幀格式為:源MAC地址(PC1)源IP地址(PC1)FFFF:FFFF:FFFF:FFFF目的IP地址(PC2)由于PC2和PC1不在同一網(wǎng)段,路由器不轉(zhuǎn)發(fā)廣播幀。假設(shè)路由器B、C配置了到達(dá)PC2網(wǎng)段的路由。此時(shí)路由器給PC1回復(fù)一個(gè)應(yīng)答數(shù)據(jù)包,告訴PC1自己的MAC地址就是PC1要通信的PC2主機(jī)的MAC地址。而此時(shí)PC1建立ARP映射表,將該MAC地址(即路由器的B1接口)與PC2的IP地址建立映射關(guān)系。實(shí)際上是路由器對其進(jìn)行了“欺騙”。其應(yīng)
3、答數(shù)據(jù)幀格式為:源MAC地址(路由器B1)源IP地址(PC2)目的MAC地址(PC1)目的IP地址(PC1)而數(shù)據(jù)包在B1接口的時(shí)候其數(shù)據(jù)包的幀格式為:源MAC地址(PC1)源IP地址(PC1)FFFF:FFFF:FFFF:FFFF目的IP地址(PC2)?對于路由器B同樣建立了自己的ARP映射表:將PC1的MAC地址與PC1的IP地址映射。數(shù)據(jù)包在流出B2接口的時(shí)候其數(shù)據(jù)包的幀格式為:源MAC地址(路由器B2)源IP地址(PC1)FFFF:FFFF:FFFF:FFFF目的IP地址(PC2)?PC2所在的
4、網(wǎng)段各主機(jī)將自己的IP地址與數(shù)據(jù)包中的目的IP地址比對。若符合則將自己的MAC地址替換上廣播MAC地址,并回復(fù)該數(shù)據(jù)幀:源MAC地址(PC2)源IP地址(PC2)目的MAC地址(路由器B2)目的IP地址(PC1)路由器收到該數(shù)據(jù)包的時(shí)候,由于已經(jīng)建立了ARP映射表,一方面路由器將儲(chǔ)存在映射表中的對應(yīng)關(guān)系調(diào)出來。將PC1的MAC地址覆蓋路由器B2接口的MAC地址。另一方面路由器更新ARP映射表,將PC2的MAC地址與PC2的IP地址映射。此時(shí)流出路由器B1接口的數(shù)據(jù)包的幀格式為:源MAC地址(PC2)源I
5、P地址(PC2)目的MAC地址(PC1)目的IP地址(PC1)之后PC1收到該數(shù)據(jù)幀。通信建立。同時(shí)更新ARP映射表,將PC2的MAC地址與PC2的IP地址建立對應(yīng)關(guān)系。此后每次通信時(shí)由于PC1要與PC2通信時(shí)。由于PC1已經(jīng)建立了到PC2IP地址的ARP映射,所以下次要通信時(shí)直接從本地ARP調(diào)用。在路由器接收到數(shù)據(jù)包之后,路由器將去掉數(shù)據(jù)鏈路幀的報(bào)頭,以便找到第三層目的地址。一旦讀到目的地址,路由器將察看路由表,以找到去往目的地址的路由。一般數(shù)據(jù)包轉(zhuǎn)發(fā)到目的地的整個(gè)過程分為五步:1:隨著幀的報(bào)頭到達(dá)路
6、由器入站接口,MAC過程就根據(jù)接口燒錄的MAC地址,廣播地址和接口所監(jiān)聽的任意組播地址來檢查硬件目的地址。如果MAC過程發(fā)現(xiàn)硬件目的地址可用,就對幀執(zhí)行循環(huán)冗余檢驗(yàn)以確信幀沒有被破壞。如果幀通過了這些CRC,就從幀中取出數(shù)據(jù)包。然后丟棄幀,將數(shù)據(jù)包存儲(chǔ)在路由器的主存儲(chǔ)器中。2:路由器搜索路由表,找出數(shù)據(jù)包報(bào)頭中所發(fā)現(xiàn)的目的地址最長的匹配,如果路由器未找到匹配,且沒有默認(rèn)網(wǎng)關(guān),路由器就丟棄數(shù)據(jù)包,并給源設(shè)備發(fā)送一項(xiàng)ICMP目的不可達(dá)消息。如果路由器找到匹配項(xiàng),路由器將為此路由找到下一跳地址或直連接口,如果
7、路由指向一個(gè)直連接口,就無需執(zhí)行遞歸查找,可以跳過下一步。3:一旦知道了下一跳地址,路由器就執(zhí)行遞歸查找。這是為了在路由器上地位直連的接口,以將數(shù)據(jù)包轉(zhuǎn)發(fā)出去,找到帶有流出接口的表項(xiàng)前可能要進(jìn)行多次迭代。如果所有遞歸接口查找都指向路由表沒有表項(xiàng)的IP地址,并且未設(shè)置默認(rèn)網(wǎng)關(guān),那么路由器將丟失該數(shù)據(jù)包并通過ICMP通知數(shù)據(jù)包源。4:數(shù)據(jù)包被交換到出站口緩沖器。假設(shè)出站接口使用第二層尋址,路由器試圖學(xué)習(xí)下一跳接口的MAC地址或第二層標(biāo)識(shí),從而將第三層地址映射到第二層地址。路由器查找像ARP高速緩存這樣適當(dāng)?shù)?/p>
8、本地表。在使用ARP的情況下,如果未找到第三層映射,路由器將通過出站接口向本地連接的網(wǎng)段廣播一個(gè)ARP請求,以請求與下一跳設(shè)備的本地網(wǎng)段相關(guān)的接口的MAC地址,該設(shè)備可能是另一臺(tái)路由器或最終目的地。正常情況下,下一跳設(shè)備發(fā)送一個(gè)帶有其MAC地址的ARP應(yīng)答。所有聽到這個(gè)廣播的其他設(shè)備都會(huì)根據(jù)ARP報(bào)頭中的第三層地址信息意識(shí)到該ARP請求不是給它們的,它們不會(huì)回答這個(gè)請求,而是悄悄丟棄該ARP請求數(shù)據(jù)包。許多點(diǎn)到點(diǎn)媒體不需要第二層信息。因?yàn)轭A(yù)