本人現在研一,最近在準備學校的計算機網路考試,感覺自己對資料報選擇路由和資料傳輸過程的實質總是不清楚,今天認真翻閱課本,參考博文,總算有了自己的理解。
本文採用循序漸進的方式今次那個陳述。理解同一廣播域內兩台主機通訊過程是理解跨路由傳輸過程的先決條件,兩者不同之處在於源和目標mac位址的轉換;因此先講從同一廣播域內兩台主機通訊,再將跨路由的資料傳輸過程。
情景一:同一廣播域內,兩台主機通訊過程。
兩主機要通訊傳送資料時,就要把應用資料封裝成ip包(因為我們的網路大多都是tcp/ip的乙太網了),然後再交給下一層資料鏈路層繼續封裝成幀;之後根據mac位址才能把資料從一台主機,準確無誤的傳送到另一台主機。
如圖:當no要和n1通訊時,假如n0知道n1的ip但卻不知道它的mac位址,那no就會傳送乙個arp的廣播請求(裡面源ip是no 目標ip是n1 源mac是n0 目標mac是12個f)給同一廣播域中的所有成員,當交換機sw0從自己的1介面上收到這個廣播包,然後它會讀取這個幀的源mac位址和目標mac位址,由於交換機sw0剛啟動加電時,它的mac表為空的。所以交換機sw0會把no的mac位址與之相對應的介面1放到一張表裡,這張表就是mac位址表。然後他再從別的介面廣播這個資料幀,當別的主機收到這個廣播時,檢視目標ip不是自己的,就會丟棄此包。如果n1接收到這個資料幀,它檢查目標ip和這個的ip是一樣的,就會回應這個arp請求,把自己的ip和mac封裝成源ip和源mac,n0的ip和n0的mac位址為目標ip與目標mac,並記錄no的mac與ip,放進自己的arp快取表中。此時,這個應答包經過交換機swo時,它又會檢查源mac 、 目標mac,把n1的mac和自己介面2放進mac位址表中,再檢視自己的mac位址表,發現存在目標mac與自己的1介面對應(由於剛開始有記錄過n0的mac),那它就會直接把這個應答包從介面1送出去了。主機n0收到這個包後發現目標mac是自己,就會處理這個包。並把n1的mac與ip放進自己的arp快取表中。這時主機n0就知道n1的mac位址了,以後要傳送資料,就直接把n1的ip與mac封裝進幀中進行點對點的傳送了。
情景二:跨路由的資料傳輸過程。
當no要和n2通訊時,此時no會檢查n2的ip位址跟自己是否處在同一網段,圖上得知,兩主機肯定不會是同一網段的。因為n2和自己處在不同網段,所以,n0會把資料報發給它的閘道器,也就是r0上的f0/0介面了。源ip和源mac位址是n0自己的,目標ip是n2的,目標mac是r0上介面f0/0的(如果n0不知道f0/0的mac,就會跟情景一相似,發個arp廣播來得到f0/0的mac位址)。當這個資料報到達r0時,路由器r0會檢視目標ip的是否是自己,由於目標不是自己,所以,會檢視自己的路由表,找出到達n2網段的路由;如果沒有相關條目,就直接丟棄。當檢視路由表後發現到達n2網段的出介面是f0/1。於是,把資料報轉到f0/1介面上,再由介面f0/1傳給r1。這個過程,資料報的源ip是n0 源mac是f0/1 目標ip是n2 目標mac是r1的f0/1介面ip 。
當r1收到這個資料報後,同樣也要檢查包的目標ip是否是自己,它會主動查詢自己的路由表,發現目標ip跟自己f0/0介面處在同一網段,於是就把包傳到f0/0介面上去發給n2 (假如
r1上的arp快取表中沒有n2的mac,則介面f0/0會傳送乙個arp廣播給跟它相連的廣播域中;這個arp廣播包的源ip是介面f0/0的ip 源mac也是f0/0的mac 目標ip是n2 目標mac為12個f),假如n2的mac位址已經在r1的arp快取中了,那就會直接把資料報封裝成:
源ip為n0 源mac為r1的f0/0 目標ip為n2 目標mac為n2了。
到了這裡,包的跨路由傳輸就會結束了,當包到達n2,做反向操作即可把包發給n0了。
總結:同一廣播域中,包的源、目標ip;源、目標mac是真實的兩台主機上的ip與mac位址。
跨路由中,包的源ip與目標ip始終不會發生變化,源和目標mac根據所經過的路由介面不同而發生相應變化。
參考博文:
資料報從源主機到達目標主機的過程
最近把跨路由的資料傳輸過程搞的差不多了,所以特意寫下這篇文章,僅為以後回憶之用。為了便於理解,先從同一廣播域內兩台主機通訊開始敘述吧。只要能理解這些,那也就差不多可以理解跨路由傳輸過程了 兩者不同之處在於源和目標mac位址的轉換 情景一 同一廣播域內,兩台主機通訊過程。我們知道兩主機要通訊傳送資料時...
目標主機不能到達
destination hostunreachable 目標主機不能到達 destination hostunreachable 資訊說明對方主機不存在或者沒有跟對方建立連線。網線沒接好,或者網絡卡有問題!檢查物理連線,重啟機子一般在確定你的 tcp ip 網路屬性的設定正確下 檢查你的網線或者網絡...
網路資料報從主機A傳輸到主機B的流程
主機a需要傳送乙個資料報到主機b,在整個傳輸流程中,源和目的ip位址是保持不變的 不考慮nat 源和目的mac位址是隨著具體鏈路的變化而變化。這裡只考慮三種基本情形 a和b通過網線直連,a和b通過路由器連線,a和b通過交換機連線。真實網路中a和b的連線關係可能很複雜,但無非就是這三種基本情形的組合。...