IP路由選擇過程_ARP原理
發(fā)表時(shí)間:2023-07-11 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]IP路由選擇, 是思科網(wǎng)絡(luò)工程師必須要了解的一個(gè)基礎(chǔ)知識(shí)。 其實(shí), IP路由并沒有大家想的那么復(fù)雜。 筆者在這篇文章中, 將通過一個(gè)案例, 來幫助大家深入了解IP路由的選擇過程。 希望這篇文章...
IP路由選擇, 是思科網(wǎng)絡(luò)工程師必須要了解的一個(gè)基礎(chǔ)知識(shí)。 其實(shí), IP路由并沒有大家想的那么復(fù)雜。 筆者在這篇文章中, 將通過一個(gè)案例, 來幫助大家深入了解IP路由的選擇過程。 希望這篇文章能夠幫助大家掃清IP路由選擇上的一些誤區(qū)。
如下圖, 現(xiàn)在這么一個(gè)網(wǎng)絡(luò)。 主機(jī)甲與主機(jī)乙分別在兩個(gè)不同的網(wǎng)段上, 中間通過路由器進(jìn)行連接。 現(xiàn)在假設(shè)主機(jī)甲要跟主機(jī)乙進(jìn)行通信, 那么主機(jī)甲如何才能夠找到主機(jī)乙的位置呢?筆者現(xiàn)在就通過這個(gè)例子, 跟大家詳細(xì)解釋IP路由選擇的整個(gè)過程。 在這里, 筆者以Cisco的路由器為例進(jìn)行介紹。
假設(shè)現(xiàn)在主機(jī)甲的用戶利用Ping命令, 來確認(rèn)主機(jī)乙的連通性問題。 這個(gè)網(wǎng)絡(luò)架構(gòu)雖然比較簡(jiǎn)單, 但是其路由選擇過程的步驟則是一步不缺的。 主要通過如下步驟:
第一步:當(dāng)用戶在主機(jī)甲上輸入PING 172.168.80.8之后, 主機(jī)甲中有一個(gè)因特網(wǎng)控制報(bào)文協(xié)議, 英文簡(jiǎn)稱為ICMP。 這個(gè)協(xié)議將創(chuàng)建一個(gè)回應(yīng)請(qǐng)求數(shù)據(jù)包, 在它的數(shù)據(jù)域中只包含有字母。
第二步:英特網(wǎng)控制報(bào)文協(xié)議會(huì)將這個(gè)有效負(fù)荷(即剛創(chuàng)建的數(shù)據(jù)包)交給因特網(wǎng)協(xié)議(英文簡(jiǎn)稱IP)。 然后這個(gè)因特網(wǎng)協(xié)議也會(huì)創(chuàng)建一個(gè)數(shù)據(jù)包。 在這個(gè)英特網(wǎng)協(xié)議創(chuàng)建的數(shù)據(jù)包中, 所包含的內(nèi)容要比因特網(wǎng)控制報(bào)文協(xié)議所創(chuàng)建的數(shù)據(jù)包豐富的多。 在這個(gè)包中包括主機(jī)甲的IP地址、目的地主機(jī)已的IP地址以及值為01h的協(xié)議字段。 當(dāng)數(shù)據(jù)包到達(dá)主機(jī)乙時(shí), 這些內(nèi)容就是告訴對(duì)方, 應(yīng)該將這個(gè)有效負(fù)荷交給因特網(wǎng)控制報(bào)文協(xié)議來處理。
第三步:IP協(xié)議會(huì)判斷目的IP地址是屬于遠(yuǎn)程網(wǎng)絡(luò), 還是在本地網(wǎng)絡(luò)。 由于根據(jù)IP地址規(guī)劃規(guī)則, 主機(jī)甲與主機(jī)已是屬于不同的網(wǎng)絡(luò)。 此時(shí), 剛才英特網(wǎng)協(xié)議(IP)所創(chuàng)建的數(shù)據(jù)包將會(huì)被發(fā)送到默認(rèn)的網(wǎng)關(guān)中去。 在主機(jī)甲的網(wǎng)絡(luò)屬性配置中, 除了有自身的邏輯IP地址, 還有默認(rèn)的網(wǎng)關(guān)地址。 網(wǎng)關(guān)地址就是用來不同網(wǎng)絡(luò)之間的主機(jī)進(jìn)行通信的一扇門。 只有通過網(wǎng)關(guān), 主機(jī)甲的數(shù)據(jù)包才能夠被發(fā)送到不同網(wǎng)絡(luò)的主機(jī)乙中。
第四步:確認(rèn)路由器相應(yīng)接口的MAC地址。 假設(shè)主機(jī)甲(IP地址為172.168.60.6)的默認(rèn)網(wǎng)關(guān)被配置為172.168.60.1。 若主機(jī)甲的數(shù)據(jù)包要發(fā)送到這個(gè)默認(rèn)網(wǎng)關(guān)上, 則就必須知道其對(duì)應(yīng)的路由器接口的物理地址, 即MAC地址。 因?yàn)橹挥腥绱耍?數(shù)據(jù)包才能夠被傳遞到更下一層的數(shù)據(jù)鏈路層并根據(jù)一定的規(guī)則生成幀。 然后主機(jī)甲才能夠把數(shù)據(jù)包發(fā)送給172.168.60.0網(wǎng)絡(luò)連接的路由器接口。 在本地局域網(wǎng)上, 主機(jī)只可以通過硬件地址來相互之間進(jìn)行通信。 所以當(dāng)主機(jī)甲要把數(shù)據(jù)包發(fā)送給特定的網(wǎng)關(guān)時(shí), 必須要知道這個(gè)網(wǎng)關(guān)所對(duì)應(yīng)的MAC地址。 這一個(gè)過程是不可避免的。 為了達(dá)到這個(gè)目的, 主機(jī)甲首先會(huì)檢查自己的ARP緩存, 查看一個(gè)默認(rèn)網(wǎng)關(guān)的IP地址是否已經(jīng)解析為對(duì)應(yīng)接口的硬件地址。 如果在ARP緩存表中已經(jīng)有對(duì)應(yīng)的記錄, 表示已經(jīng)被成功解析。 此時(shí), 數(shù)據(jù)包將會(huì)被釋放并傳遞到數(shù)據(jù)鏈路層并生成幀。 其中目的方的硬件地址也將同數(shù)據(jù)包一起下傳到數(shù)據(jù)鏈路層。 通常情況下, 在主機(jī)甲上, 可以通過ARP命令來查看主機(jī)當(dāng)前的IP地址與MAC地址的對(duì)應(yīng)表。 如下圖。 筆者現(xiàn)在電腦所設(shè)置的默認(rèn)網(wǎng)關(guān)為192.168.0.254, 后面的16位字符就是默認(rèn)網(wǎng)關(guān)所對(duì)應(yīng)的硬件地址。
第五步:生成幀。 當(dāng)這個(gè)數(shù)據(jù)包和目的方的硬件地址被傳遞給數(shù)據(jù)鏈路層之后, 局域網(wǎng)驅(qū)動(dòng)器將用來提供媒體訪問服務(wù), 以通過以太網(wǎng)進(jìn)行數(shù)據(jù)傳輸。 一個(gè)數(shù)據(jù)幀即將產(chǎn)生, 使用一些控制信息來封裝這個(gè)數(shù)據(jù)包。 在這個(gè)數(shù)據(jù)幀中會(huì)包含有目的方和源方的硬件地址。 以及以太網(wǎng)類型字段。 這個(gè)以太網(wǎng)類型字段主要用來描述的是交付這個(gè)數(shù)據(jù)包島數(shù)據(jù)鏈路層的網(wǎng)絡(luò)層協(xié)議。 在這個(gè)幀的結(jié)尾, 是一種被稱作為幀校驗(yàn)序列的字段, 它是裝載循環(huán)冗余校驗(yàn)計(jì)算值的區(qū)域。 也就是說, 在這個(gè)幀中, 主要包括目的MAC地址(對(duì)應(yīng)路由器接口的MAC地址)、源MAC地址(主機(jī)甲的MAC地址)、以太網(wǎng)類型字段、數(shù)據(jù)包、幀校驗(yàn)序列五部分內(nèi)容。 注意, 這里指的目的地址并不是主機(jī)乙的地址, 而是里主機(jī)甲最近的默認(rèn)網(wǎng)關(guān)地址。 在第一次通信時(shí), 主機(jī)甲并不知道主機(jī)乙的MAC地址。 一旦完成幀的封裝, 則這個(gè)幀將會(huì)被交付到物理層。 如果企業(yè)網(wǎng)絡(luò)是利用雙絞線組建的話, 則將會(huì)以一次一位的方式發(fā)往物理媒體。
以上五個(gè)步驟主要都是在主機(jī)甲上完成。 這五個(gè)步驟執(zhí)行完畢之后, IP路由選擇過過程的前期工作就算完成了。 接下來的就要看路由器的表演了。
第六步:在主機(jī)甲所在的沖突域中的每臺(tái)網(wǎng)絡(luò)設(shè)備都將接收這些位并重新合并成數(shù)據(jù)幀。 接收完畢后, 他們會(huì)運(yùn)行CRC過程并核對(duì)保存在幀校驗(yàn)序列字段中的內(nèi)容。 如果這兩個(gè)值不匹配的話, 則這個(gè)幀將會(huì)被丟棄。 如果兩個(gè)值相同(主機(jī)甲的默認(rèn)網(wǎng)關(guān), 即緊鄰主機(jī)甲的路由器接口), 則網(wǎng)絡(luò)設(shè)備會(huì)接收這個(gè)幀, 并核查目的方的硬件地址, 檢查他們是否也匹配。 如果目的方的硬件地址也是匹配的, 那么路由器將會(huì)查看這個(gè)幀的以太網(wǎng)類型字段, 以了解在網(wǎng)絡(luò)層上采用了什么協(xié)議, 然后路由器就會(huì)抽出幀中的數(shù)據(jù)包, 把其余部分內(nèi)容丟棄。 然后把抽出來的數(shù)據(jù)包傳送給以太網(wǎng)類型字段中列出的上層協(xié)議, 如英特網(wǎng)網(wǎng)絡(luò)協(xié)議(IP)等等。
第七步:判斷路由表項(xiàng)目。 英特網(wǎng)網(wǎng)絡(luò)協(xié)議(IP)會(huì)接收這個(gè)數(shù)據(jù)包, 并檢查目的IP地址。 在這個(gè)案例中, 由于數(shù)據(jù)包中的目的地址與接收路由器所配置的任何地址都不相匹配。 此時(shí), 路由器就會(huì)在自己的路由表中, 查看目的IP網(wǎng)絡(luò)的地址。 在這個(gè)案例中, 由于路由器同時(shí)連接著172.16.80.0的網(wǎng)絡(luò)。 所以在這個(gè)路由器的路由表中, 有相關(guān)的紀(jì)錄。 若沒有記錄的話, 則這個(gè)數(shù)據(jù)包會(huì)被直接丟棄。 若路由器丟棄數(shù)據(jù)包的話, 則會(huì)發(fā)送一個(gè)“目標(biāo)地址不可達(dá)”的錯(cuò)誤信息給主機(jī)甲。
第八步:路由器轉(zhuǎn)發(fā)數(shù)據(jù)包。 如果路由器的確在他的路由表中找到了相應(yīng)網(wǎng)絡(luò)的記錄, 則數(shù)據(jù)包就會(huì)被轉(zhuǎn)發(fā)到輸出接口。 在本例中, 就是主機(jī)乙所連接的接口。 路由器會(huì)將這個(gè)數(shù)據(jù)包交換到對(duì)應(yīng)接口的緩沖區(qū)內(nèi)。
第九步:緩沖區(qū)中數(shù)據(jù)的處理。 路由器對(duì)應(yīng)接口的緩沖區(qū)需要了解目的方主機(jī)的硬件地址。 因?yàn)檫@個(gè)數(shù)據(jù)包中已經(jīng)有目的方的IP地址, 所以, 路由器會(huì)先檢查ARP緩存表。 如果主機(jī)甲的硬件地址已經(jīng)被解析并保存在路由器的ARP緩沖中, 則這個(gè)數(shù)據(jù)包和這個(gè)硬件地址將被傳遞到數(shù)據(jù)鏈路層以便重新生成幀。 通常情況下, 若路由器以前跟主機(jī)乙通信過的話, 則這個(gè)IP地址與MAC地址的對(duì)應(yīng)記錄將會(huì)在思科路由器ARP緩沖表中保存四個(gè)小時(shí)。 連續(xù)四個(gè)小時(shí)沒有通信的話, 則這個(gè)對(duì)應(yīng)的記錄將會(huì)被刪除。 如果在路由器的ARP緩沖表中沒有相關(guān)記錄的話, 則路由器接口會(huì)在其連接的網(wǎng)絡(luò)內(nèi)部, 發(fā)送一個(gè)ARP請(qǐng)求。 這個(gè)ARP請(qǐng)求就像一個(gè)廣播, 誰我現(xiàn)在需要知道IP地址為172.12.80.8的MAC地址。 此時(shí)。 其他網(wǎng)絡(luò)設(shè)備發(fā)現(xiàn)自己不是這個(gè)IP地址, 就會(huì)拋棄這個(gè)包。 而主機(jī)乙發(fā)現(xiàn)有人在問自己的MAC地址, 就會(huì)進(jìn)行響應(yīng)。 告訴路由器, 我的IP地址就是這個(gè), 我的MAC地址是多少。 路由器知道目的主機(jī)乙的MAC地址之后, 就會(huì)把數(shù)據(jù)包連同目的方的MAC地址傳遞到下一層的數(shù)據(jù)鏈路中。
第十步:路由器會(huì)重復(fù)上面的第五步操作, 生成數(shù)據(jù)幀。 并傳送到物理層, 以一次一位的方式再發(fā)送到物理媒體上。 在網(wǎng)絡(luò)中進(jìn)行傳輸
在路由器上的工作也完成。 通過以上的分析, 我們可以看到, 路由器的作用主要就是進(jìn)行數(shù)據(jù)交換。 把其收到的數(shù)據(jù)包根據(jù)一定的規(guī)則轉(zhuǎn)發(fā)到另一個(gè)可達(dá)的接口上。 路由器就好像是一個(gè)十字路口, 各個(gè)數(shù)據(jù)包都根據(jù)自己所需要到達(dá)的目的地, 現(xiàn)在合適的出口。
第十一步:主機(jī)乙會(huì)接收到這個(gè)數(shù)據(jù)幀并運(yùn)行CRC過程。 如果運(yùn)算結(jié)果與幀校驗(yàn)序列中字段的內(nèi)容相同, 則這個(gè)幀中目的方的MAC地址將會(huì)被讀取。 主機(jī)乙會(huì)判斷這個(gè)MAC地址是否跟自己的MAC地址相同。 若相同的話, 則會(huì)抽取其中的數(shù)據(jù)包, 并根據(jù)以太網(wǎng)字段類型中指定的協(xié)議, 把數(shù)據(jù)包傳遞給相應(yīng)的協(xié)議處理。 由于這個(gè)案例中, 數(shù)據(jù)包中是一個(gè)回應(yīng)請(qǐng)求。 主機(jī)乙就會(huì)把這個(gè)數(shù)據(jù)包交給ICMP協(xié)議處理。 ICMP協(xié)議會(huì)應(yīng)答這個(gè)請(qǐng)求, 同時(shí)把這個(gè)數(shù)據(jù)包丟棄并迅速生成一個(gè)新的有效負(fù)荷來作為回應(yīng)應(yīng)答。 然后主機(jī)乙會(huì)利用同樣的過程把數(shù)據(jù)包以及目的MAC地址(路由器對(duì)應(yīng)接口的物理地址)傳遞到下一層, 讓其生成幀。 在數(shù)據(jù)幀上, 會(huì)帶有目的MAC地址、源MAC地址、數(shù)據(jù)包、以太網(wǎng)字段類型、幀校驗(yàn)序列字段等內(nèi)容發(fā)送到下一層。 然后再一位位的傳送到物理媒體。
第十二步:路由器再重復(fù)第六步到第十步的過程, 把數(shù)據(jù)包從一個(gè)接口交換傳遞到另一個(gè)接口中。 然后主機(jī)甲就收到一個(gè)回應(yīng)信息, 表示到主機(jī)乙的道路是通的。
以上這個(gè)十二個(gè)步驟就完成了IP路由選擇的全部過程。 再復(fù)雜的網(wǎng)絡(luò), 也只是中間多了幾個(gè)節(jié)點(diǎn), 多重復(fù)了幾個(gè)步驟而已。 網(wǎng)絡(luò)管理員了解了這個(gè)IP路由選擇的過程, 那么在日后網(wǎng)絡(luò)故障的排查中, 會(huì)更加的得心應(yīng)手
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識(shí),學(xué)習(xí)了安全知識(shí),幾乎可以讓你免費(fèi)電腦中毒的煩擾。