ICMP sebenarnya ada di "atas" dari layer 3. Ia menggunakan protokol IP untuk mengirimkan data ke host jarak jauh. Dengan kata lain, pesan ICMP harus dienkapsulasi dalam paket IP.
Anggap itu mirip dengan ARP yang dapat dianggap "di atas" lapisan 2, saat menggunakan protokol Ethernet untuk benar-benar mengirim paket.
ICMP diimplementasikan sebagai bagian dari lapisan IP sehingga pemrosesan ICMP dapat dilihat sebagai terjadi paralel atau, sebagai bagian dari, pemrosesan IP. Oleh karena itu, dalam topik jaringan berlapis berbasis TCP / IP, ICMP ditampilkan sebagai protokol layer 3.
@Robbie Mckennie
Dari lapisan mana ICMP menjadi subjek perdebatan sengit. Header ICMP berada pada layer 4, seperti TCP dan UDP sehingga orang berpendapat bahwa itu termasuk dalam layer 4. Namun yang lain berpendapat bahwa ICMP adalah protokol layer 3, karena membantu IP dan tidak memiliki konsep port.
Bagi saya, klasifikasi protokol sebagai milik lapisan tertentu dalam model OSI tergantung pada cara kerja protokol. Sebuah contoh:
BGP digunakan untuk merutekan pada layer 3, tetapi BGP itu sendiri dilakukan oleh TCP (dan tentu saja IP)