主機A打算透過IP地址向主機B傳送資訊,首先在主機A的網路層中對資料進行組裝,其中:
源IP地址:A的IP地址
目的IP地址:B的IP地址
在主機A的網路層,首先判斷主機B的IP地址與主機A是否時屬於同一個字網,具體的做法是:主機A使用自己的字網掩碼與主機B的IP地址進行“與”運算,得到的結果跟主機A的網路地址進行對比,如果相同則表示A和B屬於同一子網,否則屬於不同的字網。
若A和B屬於同一子網,如果A知道B的MAC地址,則在主機A的資料鏈路層把IP資料包封裝成“幀”的形式,其中:
源MAC地址:A的MAC地址
目的MAC地址:B的MAC地址
如果A不知道B的MAC地址,則使用ARP協議,傳送一個數據包來獲取B的MAC地址,獲得之後,在使用同樣的方法來對IP資料包進行封裝。然後直接發給主機B,至此完成資料傳輸。
若A和B屬於不同的子網,A會使用ARP協議傳送一個ARP資料包來獲取與A相連 接的路由器1的MAC地址,之後再在資料鏈路層對IP資料包進行封裝,其中:
目的MAC地址:路由器1的MAC地址
然後再把封裝好的資料幀傳送給與A相連線的閘道器1.
路由器1收到來自內部主機A的資料幀後,知道主機A希望自己轉發這個資料幀,於是它就查詢自己的路由表,路由器的路由表可以有兩種方式進行獲得:一是管理員手動新增,稱為靜態配置,另一種是透過路由器轉發的記錄自動獲得,稱為動態配置。在路由表中查到有與目的IP地址網路地址相對應的下一個路由地址後,這裡假設為路由器2,就會對來自A的資料幀進行重組,重組後:
源MAC地址:路由器1的MAC地址
目的MAC地址:路由器2的MAC地址
如果在路由器1的路由表中沒有找到與主機B的網路地址相關的下一個路由地址,就會把資料傳送到路由表中的預設路由地址,這是重組後的資料幀中:
目的MAC地址:預設路由的MAC地址
路由器2在接收到路由器1發來的資料後,首先進行判斷目的IP地址即主機B的IP地址是不是自己的本地網路內的,如果是自己所在的子網,則不在進行轉發,將接收的資料進行重新封裝:
源MAC地址:路由器2的MAC地址
目的MAC地址:主機B的MAC地址
其中主機B的MAC地址可以透過ARP協議獲得。封裝過後再發給主機B,至此資料傳輸完成。如果不是,所做的事情跟之前路由器1一樣,對其重新進行封裝後再轉發。
接下來的每一跳中,經過的路由器進行轉發的時候所做的工作就跟路由器2所做的工作一樣,直到找到目的IP(主機B)所在的網路。
主機A打算透過IP地址向主機B傳送資訊,首先在主機A的網路層中對資料進行組裝,其中:
源IP地址:A的IP地址
目的IP地址:B的IP地址
在主機A的網路層,首先判斷主機B的IP地址與主機A是否時屬於同一個字網,具體的做法是:主機A使用自己的字網掩碼與主機B的IP地址進行“與”運算,得到的結果跟主機A的網路地址進行對比,如果相同則表示A和B屬於同一子網,否則屬於不同的字網。
若A和B屬於同一子網,如果A知道B的MAC地址,則在主機A的資料鏈路層把IP資料包封裝成“幀”的形式,其中:
源MAC地址:A的MAC地址
目的MAC地址:B的MAC地址
源IP地址:A的IP地址
目的IP地址:B的IP地址
如果A不知道B的MAC地址,則使用ARP協議,傳送一個數據包來獲取B的MAC地址,獲得之後,在使用同樣的方法來對IP資料包進行封裝。然後直接發給主機B,至此完成資料傳輸。
若A和B屬於不同的子網,A會使用ARP協議傳送一個ARP資料包來獲取與A相連 接的路由器1的MAC地址,之後再在資料鏈路層對IP資料包進行封裝,其中:
源MAC地址:A的MAC地址
目的MAC地址:路由器1的MAC地址
源IP地址:A的IP地址
目的IP地址:B的IP地址
然後再把封裝好的資料幀傳送給與A相連線的閘道器1.
路由器1收到來自內部主機A的資料幀後,知道主機A希望自己轉發這個資料幀,於是它就查詢自己的路由表,路由器的路由表可以有兩種方式進行獲得:一是管理員手動新增,稱為靜態配置,另一種是透過路由器轉發的記錄自動獲得,稱為動態配置。在路由表中查到有與目的IP地址網路地址相對應的下一個路由地址後,這裡假設為路由器2,就會對來自A的資料幀進行重組,重組後:
源MAC地址:路由器1的MAC地址
目的MAC地址:路由器2的MAC地址
源IP地址:A的IP地址
目的IP地址:B的IP地址
如果在路由器1的路由表中沒有找到與主機B的網路地址相關的下一個路由地址,就會把資料傳送到路由表中的預設路由地址,這是重組後的資料幀中:
源MAC地址:路由器1的MAC地址
目的MAC地址:預設路由的MAC地址
源IP地址:A的IP地址
目的IP地址:B的IP地址
路由器2在接收到路由器1發來的資料後,首先進行判斷目的IP地址即主機B的IP地址是不是自己的本地網路內的,如果是自己所在的子網,則不在進行轉發,將接收的資料進行重新封裝:
源MAC地址:路由器2的MAC地址
目的MAC地址:主機B的MAC地址
源IP地址:A的IP地址
目的IP地址:B的IP地址
其中主機B的MAC地址可以透過ARP協議獲得。封裝過後再發給主機B,至此資料傳輸完成。如果不是,所做的事情跟之前路由器1一樣,對其重新進行封裝後再轉發。
接下來的每一跳中,經過的路由器進行轉發的時候所做的工作就跟路由器2所做的工作一樣,直到找到目的IP(主機B)所在的網路。