1. 程式人生 > >網路中兩臺主機通訊

網路中兩臺主機通訊

主機A和主機B通訊報文的轉發過程

    1、主機A和主機B在同一個二層網路中,直接走二層交換

主機A檢視自己的ARP快取,檢查是否有主機B的IP到MAC的對映,如果有對映,構造報文,目的IP為主機B的IP,源IP為主機A的IP,目的MAC為主機B的MAC,源MAC為主機A的MAC,將報文傳送給交換機C,交換機C進行MAC地址表學習,將主機A的MAC和報文入埠號記錄下來,然後交換機C檢視自己的MAC轉發表,檢查是否有主機B的MAC到埠的對映,如果有對映,獲取對應的埠,將報文從此埠轉發出去,報文到達主機B。如果交換機C沒有主機B的MAC轉發表對映,採用洪泛的形式廣播報文,主機B收到報文後向主機A回覆,交換機C進行MAC表學習,將主機B的MAC和報文入埠號記錄下來。

        如果主機A沒有主機B的ARP對映,主機A需要傳送ARP請求,以獲取主機B的MAC,將報文發往交換機C,交換機C採用洪泛的形式廣播報文,主機B收到廣播報文後,在自己的ARP快取表中寫入主機A的IP到MAC的對映,將自己的MAC封裝到ARP回覆報文中,單播給主機A,主機A獲取到主機B的MAC後,在自己的ARP快取表中寫入主機B的IP到MAC的對映,構造報文傳送給主機B,過程同上。

    主機B向主機A回覆報文的過程類似。

    2、主機A和主機B不在同一個網路中,走三層路由

    主機A檢視自己的ARP快取表,檢查是否有路由器E的IP到MAC的對映,如果有對映,獲取路由器E的MAC,構造報文,目的IP為主機B的IP,源IP為主機A的IP,目的MAC為路由器E的MAC,源MAC為主機A的MAC,將報文通過交換機C發往路由器E,過程同上。 如果主機A沒有路由器E的IP到MAC的對映,需要傳送ARP請求,獲取路由器E的MAC,過程同上。路由器E收到主機A的報文後,剝離報文的MAC幀頭,查詢路由表,發現目標主機B所在的網路是直連的,檢視自己的ARP快取表,如果有主機B的IP到MAC的對映關係,獲取主機B的MAC,封裝報文MAC幀頭,目的MAC為主機B的MAC,源MAC為路由器E的MAC,將報文通過交換機D發往主機B,如果路由器E沒有主機B的IP到MAC的對映關係,需要傳送ARP請求,獲取主機B的MAC,過程同上。

    主機B向主機A回覆報文的過程類似。

注:路由器上的路由表一般是配置靜態路由或者通過路由協議自動學習的。

轉載連結:https://www.cnblogs.com/lolau/p/8137541.html