資料在同網段和跨網段通訊流程
阿新 • • 發佈:2019-02-14
情景一:同一廣播域內,兩臺主機通訊過程。 我們知道兩主機要通訊傳送資料時,就要把應用資料封裝成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表為空的。所以它會把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封裝進幀中進行點對點的傳送了。