《TCP-IP詳解 卷1:協議》學習筆記(三)

四、ARP

1、ARP地址解析過程

以太網中,發送IP包前判斷目標主機是否在同一子網,如果是同一子網,請求目標主機MAC,如果是不同子網,請求網關/下一跳MAC。

源主機查看 ARP 緩存,是否存在要解析的IP—MAC的ARP映射表項。如果有,利用該表項對IP包進行封裝併發送以太網幀。如果沒

有,則緩存該IP包,並建立ARP臨時表項。

以廣播方式發送ARP請求報文ARP請求報文中的Sender IPSender MAC爲源主機AIP地址和MAC地址,Target IPTarget MAC地址

爲被請求節點的IP地址和全 0MAC地址。

同一個廣播域內的所有主機都可以則接收到該請求,但只有被請求的節點會對該請求進行處理。

被請求節點比較自己的IP地址和請求報文中的Target IP,如果相同將ARP 請求報文中的Sender IPSender MAC存入自己的ARP

中,並以單播方式發送ARP響應報文給源主機,其中Sender IPSender MAC是自己的IPMAC

源主機 收到ARP響應報文後,將被請求節點的MAC地址加入到自己的 ARP緩存中,同時將 IP包進行封裝後發送出去。

處理流程如下圖所示:

2、免費ARP

免費ARP報文是一種特殊的ARP報文,該報文攜帶的發送端IP地址和目標IP的地址都是本機的IP地址報文的源MAC地址是本機的MAC

地址,目的MAC地址是廣播地址。

功能:

(1)確定其他設備IP地址是否與本機的IP地址衝突

(2)設備改變了硬件地址,通過發送免費ARP報文通知其他設備更新ARP表項

 

五、交換機

1、交換機的三種轉發方式

(1)cut-Through(直通式):交換機收到目的地址即開始轉發

優點:不需要存儲,延遲非常小,交換非常快

缺點:由於數據包內容沒有被交換機存儲下來,所以無法檢查所傳送的數據包是否有誤,不能提供錯誤檢測能力。由於沒有緩存,

不能將具有不同速率的輸入/輸出端口直接接通,而且容易丟包。

(2)store-and-Forward(存儲轉發):交換機將全部的內容接收才轉發,是計算機網絡領域中應用最爲廣泛的方式。

它把輸入端的數據包檢查,在對錯誤包處理後才取出數據包的目的地址,通過查找錶轉換成輸出端口送出包,正因爲如此,存儲轉

發方式在數據處理時延時大,這是它的不足,但是它可以對進入交換機的數據包進行錯誤檢測,有效的改善網絡性能。尤其重要的

是它可以支持不同端口間的切換,保持高速端口與低速端口之間的協同工作。

(3)Frag-free(碎片隔離):交換機接收完數據包的前64個字節(一個最短幀長),然後根據頭信息查錶轉發。

它是介於前兩者之間的一種解決方案,它檢查數據包的長度是否夠64個字節,如果小於64個字節,說明是假包,則丟棄該包,如果

大於64個字節,則發送該包,這種方式也不提供數據檢查,它的數據處理速度比存儲轉發方式快,但比直通式慢。

附加一個問題:爲啥最小幀長是64字節?

最小數據幀的設計原因和以太網電纜長度有關,爲的是讓兩個相距最遠的站點能夠感知到雙方的數據發生了碰撞;最遠兩端數據的往

返時間就是爭用期,以太網的爭用期是51.2微妙,正好發送64byte數據。

2、交換機工作流程

(1)當交換機從某個端口收到一個數據包,它先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機器是連在哪個端口上的;

(2)再去讀取包頭中的目的MAC地址,並在地址表中查找相應的端口;

(3)如表中有與這目的MAC地址對應的端口,把數據包直接複製到這端口上;

(4)如表中找不到相應的端口則把數據包廣播到所有端口上,當目的機器對源機器迴應時,交換機又可以學習一目的MAC地址與哪個

端口對應,在下次傳送數據時就不再需要對所有端口進行廣播了。

 

發佈了39 篇原創文章 · 獲贊 25 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章