Mengapa ICMP dikategorikan sebagai protokol layer 3? [Tutup]

11

ICMP dikategorikan sebagai protokol lapisan 3 dalam model OSI, tetapi sejauh yang saya tahu itu tidak memenuhi definisi protokol lapisan jaringan.

Itu tidak menyediakan pengalamatan atau perutean paket (menggunakan IP untuk ini), jadi yang dilakukannya hanyalah mengirim informasi dari satu node ke node lain, seperti protokol transport. Jadi, mengingat itu, mengapa ICMP dikategorikan sebagai protokol layer 3?

Robbie Mckennie
sumber
Ini juga dapat memberi tahu Anda ke mana lalu lintas berjalan, mengonfirmasi keberadaan host, memberi tahu pengirim masalah, dan yang terpenting, agar berfungsi, diperlukan alamat IP
NickW
semua hal yang Anda sebutkan saya percaya hanya sebagai bentuk informasi bergerak. Saya setuju itu perlu IP, tapi pasti ini adalah alasan untuk itu ditempatkan di lapisan di atas IP dalam tumpukan.
Robbie Mckennie
1
Lagipula
1
Saya kira saya salah bicara ketika saya mengatakan itu HARUS berada di lapisan transport. Maksud saya tampaknya tidak pada tempatnya di lapisan jaringan, jadi apa penjelasan untuk itu mengatakan di sana? Tentu saja saya berasumsi bahwa semuanya memiliki alasan, terkadang saya salah.
Robbie Mckennie
7
Penting bagi Anda untuk menyadari bahwa Internet tidak cocok dibersihkan ke dalam model OSI. Faktanya RFC (3439 2.4) menyebutkan bahwa mereka menganggap layering berbahaya jika orang mencoba terlalu ketat terhadapnya. ICMP pada dasarnya diperlukan untuk IP, sehingga orang dapat berargumen bahwa itu adalah bagian dari IP. ICMP pada dasarnya adalah fitur notifikasi kesalahan IP. TCP / UDP menggunakan IP untuk pesan kesalahan (port unreachable). PMTU dilakukan oleh ICMP. Jadi ICMP tentu menurunkan TCP / UDP. Anda hanya perlu menerima bahwa dalam TCP / IP tidak ada batas yang kaku antara lapisan . Yang penting hanya sesuatu yang bekerja.
Zoredache

Jawaban:

15

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)

cuonglm
sumber
Jadi Anda mengatakan itu diklasifikasikan sebagai protokol layer 3 karena cara itu diproses dalam stack, bukan karena fungsinya?
Robbie Mckennie
3
Tidak, ini bekerja pada layer 3. Untuk semua yang dilakukannya, itu pada layer 3. Yang penting Anda harus bertanya pada diri sendiri,What is the "data unit of layer 4 protocol"?
cuonglm
Saya bahkan tidak tahu apa artinya pertanyaan itu. Saya hanya berpikir di sepanjang baris definisi yang saya baca untuk lapisan yang berbeda, mungkin ide saya tentang bagaimana model lapisan osi bekerja tidak benar
Robbie Mckennie
1
Ops, hanya sebuah petunjuk. data unit of layer 1 is bits, data unit of layer 2 is frames, data unit of layer 3 is packets. Bagaimana dengan layer 4?
cuonglm
Untuk menjawab cuonglm: PDU layer 4 adalah "segmen"
lobi
6

ICMP (dan ICMPv6, IGMP, dll) semuanya mengelola koneksi Network Layer. Mereka tidak (biasanya) digunakan oleh pengguna akhir, tetapi oleh Sistem Operasi. Karena alasan itu, ia termasuk dalam Lapisan 3 (Jaringan) meskipun ia bergantung pada IP untuk pengalamatan dan penentuan jalur (perutean).

Model OSI sebagian besar ditulis dari calon pengguna yang menghubungkan (orang-orang yang sebenarnya, atau server aplikasi). Semua protokol manajemen dan yang lainnya masih sesuai dengan model OSI, tetapi sepertinya tidak akan cocok dengan bahasa karena mereka (biasanya) tidak melayani pengguna secara langsung.

Chris S
sumber