ICMP (Internet Control Message Protocol) 屬於 TCP/IP 協議族網路層協議,主要傳遞錯誤報文與控制訊息。撰寫基於 ICMP 的應用程式須掌握兩大核心觀念:
IP 封包結構 (圖 03) 可分三段:

不同於 HTTP (80)、FTP (21) 等應用層協議,ICMP 工作於網路層,不使用傳輸層埠號。因此在建立 IPEndPoint 時,埠號可任意指定 (本系列採用 30),僅為滿足 API 簽名需求。

圖 04:ICMP 封包結構 — Type(1B) Code(1B) Checksum(2B) Identifier(2B) Sequence(2B) Data
IcmpPacket 類別時,欄位順序與大小嚴格對應圖 04。ProtocolType.Icmp,系統自動處理 IP 標頭封裝/解封裝,應用層只需關注 ICMP 承載。IPEndPoint 埠號填任意未衝突值即可。ICMP 協議細節極豐富 (重導向、時間超過、參數問題、時間戳等),受限篇幅無法盡述。建議參考《TCP/IP 詳解 卷一:協議》或 RFC 792/1122 深入研讀。