使用者在host_a上ping host_b的ip位址。
icmp生成乙個回應請求——資料字段中的字母
icmp將該請求交給ip,後者建立乙個分組
建立分組後,ip判斷目標ip位址位於本地網路還是遠端網路
ip判斷出這是乙個遠端請求,因此必須將分組傳送到預設閘道器,以便它能夠被路由到遠端網路
在host_a上,配置的預設閘道器為172.16.10.1。因此必須知道ip位址為172.16.10.1的介面e0的硬體位址。只有知道硬體位址後,才能將分組交給資料鏈路層,再由後者將其封裝成幀,併發送到與網路172.16.10.1相連的路由器介面(在lan內,主機只能通過硬體位址進行通訊,因此host_a想要與host_b通訊,必須將分組傳送給本地網路的預設閘道器的介質訪問控制位址)
mac位址只能用於lan內部通訊,而不能用於穿越路由器進行通訊
檢查主機的位址解析協議(arp)快取,看看預設閘道器的ip位址是否已被解析為硬體位址。如果已解析,就可以直接將分組交給資料鏈路層,由它封裝成幀;如果還未解析,將在本地網路中傳送arp廣播,以查詢172.16.10.1對應的硬體位址,路由器將相應該請求,並提供介面e0的硬體位址,而主機將快取該硬體位址
分組和目標硬體位址被交給資料鏈路層,lan驅動程式將根據lan型別,來提供介質訪問。然後生成乙個幀,它使用控制資訊對分組進行封裝
目標mac位址
(路由器介面e0的mac位址)
源mac位址
(host_a的mac位址)
"以太型別字段"
分組fcs
crc
ping host_b時,host_a傳送給lab_a的幀
幀建立好後,被交給物理層,物理層以每次1位元的方式將幀放到物理介質上
當前衝突域中的每台裝置都接收這些位元,並將其封裝成幀。每台裝置都執行crc計算,並且將結果與fcs欄位的值對比,如果不同就丟棄該幀;相同就檢視硬體位址,看指的是不是自己,如果是自己,就檢視「以太型別」字段,來獲悉使用的網路層協議
從幀中提取分組並將其他部分丟棄,將分組交給指定的協議(此處是ip)
ip接收分組並檢查其目標ip位址。因為該目標ip位址與該路由器配置的所有位址都不匹配,因此路由器會在路由選擇表中查詢目標ip網路
路由選擇表必須有前往網路172.16.20.0的路由,否則路由器將立即丟棄分組,並向始發裝置傳送一條icmp訊息,來說明目標網路不可達
如果在路由選擇表中找到了前往目標網路的路由,路由器將分組交換到指定的出站介面(此處是e1)
路由器將分組交換到介面e1的緩衝區
e1的緩衝區需要知道目標主機的硬體位址,因此檢視arp快取。如果host_b的硬體位址以前已經被解析過了,並且包含在路由器的arp快取中,將直接把分組以及該硬體位址交給資料鏈路層以便封裝成幀;如果沒有被解析過,路由器將通過e1傳送arp請求,來查詢172.16.20.2對應的硬體位址,然後host_b將作出響應,並提供自己的硬體位址。然後分組和目標硬體位址交給資料鏈路層,以便將分組封裝成幀
資料鏈路層建立乙個幀,包含目標硬體位址、源硬體位址、「以太型別」欄位和fcs欄位,這個幀被交給物理層,物理層以每次1位元的方式將幀放到物理介質上
host_b接收這個幀,並執行crc計算(相同)→檢視目標硬體位址(相同)→檢視「以太型別」字段→確定是哪乙個網路層協議(ip)
在網路層,ip收到分組後對ip報頭執行crc計算(相同)→檢視目標位址(相同)→檢視「協議」字段→確定將分組的有效負載交給誰
有效負載被交給icmp,後者知道這是乙個回應請求,因此立即對請求進行響應:將分組丟棄並生成乙個回應應答
為封裝回應應答,建立乙個包含源ip位址、目標ip位址、」協議「欄位和有效負載的分組
ip檢查目標ip位址位於本地lan還是遠端網路,由於目標裝置位於遠端網路中,因此需要將分組傳送到預設閘道器
在windows裝置的登錄檔中找到預設閘道器的ip位址,並檢視arp快取,看看是否將預設閘道器的ip位址解析為硬體位址
獲悉預設閘道器的硬體位址後,將其與分組一起交給資料鏈路層,以便將分組封裝成幀
資料鏈路層將分組封裝成幀
這個幀被交給物理層,讓它通過網路介質以每次1位元的方式傳送出去
路由器的介面e1接收這些位元,並將它們組裝成幀。然後執行crc計算,將結果與fcs欄位的值進行比較,看其是否相同
確定crc相同後,檢視目標硬體位址(相同)→從幀中提取分組,檢視「以太型別」字段,確定將其分組交給哪乙個網路層協議(ip)
協議為ip,因此分組被交付給ip。ip首先對ip報頭執行crc檢查,再檢視目標ip位址
由於路由器知道如何前往網路172.16.10.0,出站口為e0,因此分組被交換到介面e0
路由器檢視arp快取,看看是否曾經將172.16.10.2解析為硬體位址
由於在一開始分組前往host_b期間,路由器已經快取了172.16.10.2對應的硬體位址因此將該硬體位址和分組一起交給資料鏈路層
資料鏈路層使用目標硬體位址和源硬體位址建立乙個幀,並且將「以太型別」字段設定為ip,然後對整個幀執行crc計算,並將結果放到fcs欄位中
這個幀被交給物理層,讓它以每次1位元的方式傳送到本地網路上
目標主機接收這個幀,執行crc檢查並檢查目標硬體位址,再檢視「以太型別」欄位來確定將分組交給誰
指定的接收方為ip,因此分組被交給網路層協議ip。ip檢查「協議」字段,來確定將有效負載交給誰。ip發現應該將有效負載交給交給icmp,而icmp判斷出這個分組時icmp回應應答
icmp在使用者介面上顯示乙個 !,以確定它收到了應答。然後icmp試圖再向目標主機傳送4個回應請求
IP路由選擇過程
host1與不同網路host2的icmp通訊過程 host1 1 icmp遞交給網際網路協議ip,ip協議建立乙個分組,至少,源ip位址172.16.10.2 目標ip位址192.168.1.2和值為01的協議欄位將被封裝到此分組中。2 ip協議判斷目標ip位址的位置,判斷此目的ip位於本地網路還是...
IP路由選擇
從概念上說,ip路由選擇是簡單的,特別對於主機來說。如果目的主機與源主機直接相連 如點對點鏈路 或都在乙個共享網路上 乙太網或令牌環網 那麼ip資料報就直接送到目的主機上。否則,主機把資料報發往一預設的路由器上,由路由器來 該資料報。大多數的主機都是採用這種簡單機制。更一般的情況,即ip層既可以配置...
IP路由選擇
我們先上圖,然後再根據圖來說明ip路由的過程。從sbdi到192.48.96.9的過程 1 主機bsdi有乙份i p資料報要傳到192.48.96.9,經過的前三個路由器 sun netb gateway 再一次進入到internet。2 當資料報從bsdi被傳到sun主機上以後,當sun收到資料報...