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