四、ARP
1、ARP地址解析過程
以太網中,發送IP包前判斷目標主機是否在同一子網,如果是同一子網,請求目標主機MAC,如果是不同子網,請求網關/下一跳MAC。
源主機查看 ARP 緩存,是否存在要解析的IP—MAC的ARP映射表項。如果有,利用該表項對IP包進行封裝併發送以太網幀。如果沒
有,則緩存該IP包,並建立ARP臨時表項。
以廣播方式發送ARP請求報文。ARP請求報文中的Sender IP和Sender MAC爲源主機A的IP地址和MAC地址,Target IP和Target MAC地址
爲被請求節點的IP地址和全 0的MAC地址。
同一個廣播域內的所有主機都可以則接收到該請求,但只有被請求的節點會對該請求進行處理。
被請求節點比較自己的IP地址和請求報文中的Target IP,如果相同將ARP 請求報文中的Sender IP和Sender MAC存入自己的ARP表
中,並以單播方式發送ARP響應報文給源主機,其中Sender IP和Sender MAC是自己的IP和MAC。
源主機 收到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地址與哪個
端口對應,在下次傳送數據時就不再需要對所有端口進行廣播了。