首先，Ping命令會構建一個固定格式的ICMP請求資料包，然後由ICMP協議將這個資料包連同地址“192.168.1.2”一起交給IP層協議(和ICMP一樣，實際上是一組後台啟動並執行進程)，IP層協議將以地址“192.168.1.2”作為目的地址，本機IP地址作為源地址，加上一些其他的控制資訊，構建一個IP資料包，並在一個映射表中尋找出IP地址192.168.1.2所對應的物理地址(也叫MAC地址，熟悉網卡配置的朋友不會陌生，這是資料連結層協議構建資料連結層的傳輸單元——幀所必需的)，一併交給資料連結層。後者構建一個資料幀，目的地址是IP層傳過來的物理地址，源地址則是原生物理地址，還要附加上一些控制資訊，依據乙太網路的介質訪問規則，將它們傳送出去。
主機B收到這個資料幀後，先檢查它的目的地址，並和原生物理地址對比，如符合，則接收;否則丟棄。接收後檢查該資料幀，將IP資料包從幀中提取出來，交給原生IP層協議。同樣，IP層檢查後，將有用的資訊提取後交給ICMP協議，後者處理後，馬上構建一個ICMP應答包，發送給主機A，其過程和主機A發送ICMP請求包到主機B一模一樣。
在共用上網的機器中，出於安全考慮，大部分作為伺服器的主機都安裝了個人防火牆軟體，而其他作為客戶機的機器則一般不安裝。幾乎所有的個人防火牆軟體，預設情況下是不允許其他機器Ping原生。一般的做法是將來自外部的ICMP請求報文濾掉，但它卻對本機出去的ICMP請求報文，以及來自外部的ICMP應答報文不加任何限制。這樣，從本機Ping其他機器時，如果網路正常，就沒有問題。但如果從其他機器Ping這台機器，即使網路一切正常，也會出現“逾時無應答”的錯誤。大部分的單方向Ping通現象源於此。解決的辦法也很簡單，根據你自己所用的不同類型的防火牆，調整相應的設定即可。
正常情況下，一台主機應該有一個網卡，一個IP地址，或多個網卡，多個IP地址(這些地址一定要處於不同的IP子網)。但對於在公用場所使用的電腦，特別是網吧，人多手雜，其中不泛有“探索者”。曾有一次兩台電腦也出現了這種單方向Ping通的情況，經過仔細檢查，發現其中一台電腦的“撥號網路適配器”(相當於一塊軟網卡)的TCP/IP設定中，設定了一個與網卡IP地址處於同一子網的IP地址，這樣，在IP層協議看來，這台主機就有兩個不同的介面處於同一網段內。當從這台主機Ping其他的機器時，會存在這樣的問題：
(2)主機不知道用哪個地址作為資料包的源地址。因此，從這台主機去Ping其他機器，IP層協議會無法處理　，逾時後，Ping 就會給出一個“逾時無應答”的錯誤資訊提示。但從其他主機Ping這台主機時，請求包從特定的網卡來，ICMP只須簡單地將目的、源地址互換，並更改一些標誌即可，ICMP應答包能順利發出，其他主機也就能成功Ping通這台機器了。