TCP/IP協議棧設計—ICMP設計與實現
前言:基於前面兩篇文章,實現的UDPIP以太網通信,其已經實現了ARP通信,再次基礎上,繼續實現ICMP通信。
文中主要目錄:
一、ICMP接收解析;二、ICMP發送組幀準備;二、ICMP發送組幀準備;四、ICMP的測試;五:ICMP可靠性驗證
ICMP設計與實現
20191105 週二
以上版本爲基礎,繼續完善ICMP的接收和回傳設計。這個不要花太多時間,重點還在TCP設計上,加油。
一、ICMP接收解析
模塊文件爲:icmp_rx_parsing.v 頂層接口如下:
二、ICMP發送組幀準備
模塊文件:icmp_tx_framing.v 頂層接口如下:
設計模式同UDP。調通了UDP,再來設計ICMP就覺得很簡單了。
三、ICMP發送仿真結果如下: 如圖中所示,ICMP校驗和計算完好。
四、ICMP的測試
使用cmd控制檯ping命令測試,直接使用[ping [IP地址]],便可對目的地址進行試探查詢。
PING的結果如下:可見PING成功。因爲PC與FPGA是直接相連的,中間沒有路由器,所以其往返時間很短,顯示爲0ms ,嘿嘿。
對應的WireShark抓取數據,可見,我計算的校驗和均是正確的。很完美。
到此,ICMP的測試成功。可以進入下一階段的代碼設計了。
五:ICMP可靠性驗證
爲了驗證PING的可靠性,在UDP發送期間進行PING測試,結果如下,功能正常,完美。
歡迎交流、源碼分享見CSDN資源,筆者扣扣:1021100382