Protokol Internet: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
PipepBot (bicara | kontrib)
Wadaihangit (bicara | kontrib)
k Menambahkan foto ke halaman #WPWP
 
(108 revisi perantara oleh 60 pengguna tidak ditampilkan)
Baris 1:
{{Rujukan|date=September 2023}}
'''Protokol Internet''' ([[Bahasa Inggris|Inggris]] ''Internet Protocol'' disingkat IP) adalah [[protokol jaringan|protokol]] lapisan jaringan ([[OSI Reference Model|''network layer'' dalam ''OSI Reference Model'']]) atau protokol lapisan ''internetwork'' ([[DARPA Reference Model|''internetwork layer'' dalam ''DARPA Reference Model'']]) yang digunakan oleh protokol [[TCP/IP]] untuk melakukan pengalamatan dan ''routing'' [[paket jaringan|paket data]] antar ''host-host'' di [[jaringan komputer]] berbasis [[TCP/IP]]. Versi IP yang banyak digunakan adalah IP versi 4 (IPv4) yang didefinisikan pada RFC 791 dan dipublikasikan pada tahun [[1981]], tetapi akan digantikan oleh [[IPv6|IP versi 6]] pada beberapa waktu yang akan datang.
[[Berkas:InternetProtocolStack.png|jmpl|Representasi grafis dari Internet Protocol Stack menurut <nowiki>RFC 1122</nowiki>, dengan beberapa protokol penting terlihat.]]
'''Protokol Internet''' ([[Bahasa Inggris|Inggris]] ''Internet Protocol'', disingkat '''IP''') adalah [[protokol jaringan|protokol]] lapisan jaringan ([[OSI Reference Model|''network layer'' dalam ''OSI Reference Model'']]) atau protokol lapisan ''internetwork'' ([[DARPA Reference Model|''internetwork layer'' dalam ''DARPA Reference Model'']]) yang digunakan oleh protokol [[TCP/IP]] untuk melakukan pengalamatan dan ''routing'' [[paket jaringan|paket data]] antar ''host-host'' di [[jaringan komputer]] berbasis [[TCP/IP]]. Versi IP yang banyak digunakan adalah IP versi 4 (IPv4) yang didefinisikan pada RFC 791 dan dipublikasikan pada tahun [[1981]], tetapi akan digantikan oleh [[IPv6|IP versi 6]] pada beberapa waktu yang akan datang.
 
Protokol IP merupakan salah satu protokol kunci di dalam kumpulan protokol TCP/IP. Sebuah paket IP akan membawa data aktual yang dikirimkan melalui jaringan dari satu titik ke titik lainnya. Metode yang digunakannya adalah ''connectionless'' yang berarti ia tidak perlu membuat dan memelihara sebuah sesi koneksi. Selain itu, protokol ini juga tidak menjamin penyampaian data, tapitetapi hal ini diserahkan kepada protokol pada lapisan yang lebih tinggi ([[OSI Reference Model|lapisan transport dalam OSI Reference Model]] atau [[DARPA Reference Model|lapisan antar host dalam DARPA Reference Model]]), yakni protokol [[Transmission Control Protocol]] (TCP).
 
== Layanan yang ditawarkan oleh Protokol IP ==
* IP menawarkan layanan sebagai protokol antar jaringan (inter-network), karena itulah IP juga sering disebut sebagai protokol yang bersifat ''routable''. Header IP mengandung informasi yang dibutuhkan untuk menentukan rute paket, yang mencakup [[alamat IP|alamat IP sumber]] (source IP address) dan [[alamat IP|alamat IP tujuan]] (destination IP address). Anatomi alamat IP terbagi menjadi dua bagian, yakni alamat jaringan (''network address'') dan alamat node (''node address''/''host address''). Penyampaian paket antar jaringan (umumnya disebut sebagai proses ''routing''), dimungkinkan karena adanya alamat jaringan tujuan dalam alamat IP. Selain itu, IP juga mengizinkan pembuatan sebuah jaringan yang cukup besar, yang disebut sebagai IP internetwork, yang terdiri atas dua atau lebih jaringan yang dihubungkan dengan menggunakan router berbasis IP.
* IP mendukung banyak protokol klien, karena memang IP merupakan "kurir" pembawa data yang dikirimkan oleh protokol-protokol lapisan yang lebih tinggi dibandingkan dengannya. Protokol IP dapat membawa beberapa protokol lapisan tinggi yang berbeda-beda, tapitetapi setiap paket IP hanya dapat mengandung data dari satu buah protokol dari banyak protokol tersebut dalam satu waktu. Karena setiap paket dapat membawa satu buah paket dari beberapa paket data, maka harus ada cara yang digunakan untuk mengidikasikan protokol lapisan tinggi dari paket data yang dikirimkan sehingga dapat diteruskan kepada protokol lapisan tinggi yang sesuai pada sisi penerima. Mengingat klien dan server selalu menggunakan protokol yang sama untuk sebuah data yang saling dipertukarkan, maka setiap paket tidak harus mengindikasikan sumber dan tujuan yang terpisah. Contoh dari protokol-protokol lapisan yang lebih tinggi dibandingkan IP adalah Internet Control Management Protocol (ICMP), Internet Group Management Protocol (IGMP), User Datagram Protocol (UDP), dan Transmission Control Protocol (TCP).
* IP mengirimkan data dalam bentuk datagram, karena memang IP hanya menyediakan layanan pengiriman data secara connectionless serta tidak andal (unreliable) kepada protokol-protokol yang berada lebih tinggi dibandingkan dengan protokol IP. Pengirimkan connectionless, berarti tidak perlu ada negosiasi koneksi (''handshaking'') sebelum mengirimkan data dan tidak ada koneksi yang harus dibuat atau dipelihara dalam lapisan ini. Unreliable, berarti IP akan mengirimkan paket tanpa proses pengurutan dan tanpa [[acknowledgment]] ketika pihak yang dituju telah dapat diraih. IP hanya akan melakukan pengiriman sekali kirim saja untuk menyampaikan paket-paket kepada hop selanjutnya atau tujuan akhir (teknik seperti ini disebut sebagai "best effort delivery"). Keandalan data bukan merupakan tugas dari protokol IP, tapitetapi merupakan protokol yang berada pada lapisan yang lebih tinggi, seperti halnya protokol TCP.
* Bersifat independen dari lapisan antarmuka jaringan (lapisan pertama dalam DARPA Reference Model), karena memang IP didesain agar mendukung banyak komputer dan antarmuka jaringan. IP bersifat independen terhadap atribut [[OSI Reference Model|lapisan fisik]], seperti halnya pengabelan, pensinyalan, dan bit rate. Selain itu, IP juga bersifat independen terhadap atribut [[OSI Reference Model|lapisan data link]] seperti halnya mekanisme [[Media access control]] (MAC), pengalamatan MAC, serta ukuran frame terbesar. IP menggunakan skema pengalamatannya sendiri, yang disebut sebagai "[[alamat IP|IP address]]", yang merupakan bilangan 32-bit dan independen terhadap skema pengalamatan yang digunakan dalam lapisan antarmuka jaringan.
* Untuk mendukung ukuran frame terbesar yang dimiliki oleh teknologi lapisan antarmuka jaringan yang berbeda-beda, IP dapat melakukan pemecahan terhadap paket data ke dalam beberapa fragmen sebelum diletakkan di atas sebuah saluran jaringan. Paket data tersebut akan dipecah ke dalam fragmen-fragmen yang memiliki ukuran [[maximum transmission unit]] (MTU) yang lebih rendah dibandingkan dengan ukuran datagram IP. Proses ini dinamakan dengan fragmentasi (''[[Fragmentasi paket jaringan|fragmentation''). Router atau host yang mengirimkan data akan memecah data yang hendak ditransmisikan, dan proses fragmentasi dapat berlangsung beberapa kali. Selanjutnya host yang dituju akan menyatukan kembali fragmen-fragmen tersebut menjadi paket data utuh, seperti halnya sebelum dipecah.
* Dapat diperluas dengan menggunakan fitur IP Options dalam ''header'' IP. Fitur yang dapat ditambahkan contohnya adalah kemampuan untuk menentukan jalur yang harus diikuti oleh datagram IP melalui sebuah ''internetwork'' IP.
 
== Datagram IP ==
 
[[Berkas:Format-Datagram-IP.png|thumbjmpl|rightka|200px|Format datagram Protokol IP]]
Paket-paket data dalam protokol IP dikirimkan dalam bentuk datagram. Sebuah datagram IP terdiri atas header IP dan muatan IP (payload), sebagai berikut:
* Header IP: Ukuran header IP bervariasi, yakni berukuran 20 hingga 60 byte, dalam penambahan 4-byte. Header IP menyediakan dukungan untuk memetakan jaringan (routing), identifikasi muatan IP, ukuran header IP dan datagram IP, dukungan fragmentasi, dan juga IP Options.
* Muatan IP: Ukuran muatan IP juga bervariasi, yang berkisar dari 8 byte hingga 65515 byte.
 
Sebelum dikirimkan di dalam saluran jaringan, datagram IP akan "dibungkus" dengan header protokol lapisan antarmuka jaringan dan trailer-nya, untuk membuat sebuah ''frame'' jaringan.
 
== Header IP ==
 
[[Berkas:Header-IP.png|thumb|right|100px|Format Header Protokol IP]]
Header IP terdiri atas beberapa field sebagai berikut:
{| class="wikitable"
Baris 66 ⟶ 69:
| Header Checksum
| 16 bit
| ''Field'' ini berguna hanya untuk melakukan pengecekan integritas terhadap ''header IP'', sementara muatan IP sendiri tidak dimasukkan ke dalamnya, sehingga muatan IP harus memiliki ''checksum'' mereka sendiri untuk melakukan pengecekan integritas terhadap muatan IP. ''Host'' pengirim akan melakukan pengecekan ''checksum'' terhadap ''datagram IP'' yang dikirimkan. Setiap ''router'' yang berada di dalam jalur transmisi antara sumber dan tujuan akan melakukan verifikasi terhadap ''field'' ini sebelum memproses paket. Jika verifikasi dianggap gagal, ''router'' pun akan mengabaikan ''datagram IP'' tersebut.<{{br />}}Karena setiap ''router'' yang berada di dalam jalur transmisi antara sumber dan tujuan akan mengurangi nilai TTL, maka ''header checksum'' pun akan berubah setiap kali ''datagram'' tersebut hinggap di setiap ''router'' yang dilewati.<{{br />}}Pada saat menghitung ''checksum'' terhadap semua ''field'' di dalam ''header IP'', nilai ''header checksum'' akan diset ke nilai 0.
|-
| Source IP Address
Baris 83 ⟶ 86:
 
=== Type of Service (ToS) ===
''Field'' ''Type of Service'' (ToS) adalah sebuah ''field'' dalam ''header'' IPv4 yang memiliki panjang 8 bit dan digunakan untuk menandakan jenis [[Quality of Service]] (QoS) yang digunakan oleh ''datagram'' yang bersangkutan untuk disampaikan ke ''router-router'' internetwork. ToS didefinisikan di dalam dua buah standar, yakni RFC 791 dan RFC 2474.
 
==== ToS dalam RFC 791 ====
[https://en.wiki-indonesia.club/wiki/IPv4#Addressing place holder]
 
==== ToS dalam RFC 2474 ====
[https://en.wiki-indonesia.club/wiki/IPv4#Addressing place holder]
 
=== Time-to-Live (TTL) ===
[place holder]
 
=== Protocol ===
Berikut ini adalah nilai dari field Protocol
 
{| class="wikitable"
|-wikitable
|-
! Nilai
! Protokol
|-4
| 0
| [[Internet Protocol]] (IP)
Baris 155 ⟶ 157:
|-
|}
 
Untuk beberapa nilai lainnya, kunjungi alamat [http://www.iana.org/assignments/protocol-numbers situs web IANA].
 
Baris 169 ⟶ 171:
=== ''Field-field'' dalam ''header'' IP yang berguna untuk fragmentasi ===
Ada tiga buah ''field'' yang berguna untuk menunjukkan apakah sebuah datagram IP harus difragmentasi atau tidak, yakni sebagai berikut:
* ''Field'' '''identification''':<{{br />}}Digunakan untuk mengelompokkan semua fragmen dari sebuah datagram IP dalam sebuah kelompok. Host pengirim akan mengeset nilai field ini, dan nilai ini tidak akan beruba selama proses fragmentasi berlangsung. Field ini selalu diset (memiliki nilai) meskipun datagram IP tidak boleh diset dengan menggunakan bit flag Dont Fragment (DF).
<!--[[ImageBerkas:Header-IP-Flag-Fragmentasi-detailed.png|thumb|right|200px|Struktur field "Fragmentation dalam header IP"]]-->
* ''Field'' '''Flag''', yang memiliki dua buah nilai:
** '''Don't fragment''' (DF):<{{br />}}Flag ini akan diset ke nilai "0" untuk mengizinkan fragmentasi dilakukan, atau nilai "1" untuk mencegah fragmentasi dilakukan terhadap datagram IP. Dengan kata lain, fragmentasi akan terjadi jika flag DF ini bernilai "0". Jika fragmentasi dibutuhkan untuk meneruskan datagram IP (akibat ukuran datagram IP yang lebih besar dibandingkan dengan ukuran maximum transmission unit (MTU)) dan flag DF ini diset ke nilai "1", maka router akan mengirimkan pesan "'''ICMP Destination Unreachable-Fragmentation Needed And DF Set'''" kepada host pengirim, sebelum router tersebut akan mengabaikan datagram IP tersebut.
** '''More Fragments''' (MF):<{{br />}}Flag ini akan diset ke nilai "0" jika tidak ada fragmen lainnya yang mengikuti fragmen yang bersangkutan (berarti tanda bahwa fragmen tersebut merupakan fragmen terakhir), atau diset ke nilai "1" jika ada tambahan fragmen yang mengikuti fragmen tersebut (berarti tanda bahwa fragmen tersebut bukanlah fragmen terakhir).
* ''Field''' '''Fragment Offset''':<{{br />}}Field ini akan diset untuk mengindikasikan posisi fragmen yang bersangkutan terhadap muatan IP yang belum difragmentasikan. ''Field'' ini akan digunakan untuk mengurutkan kembali semua fragmen pada saat proses penyatuan kembali menjadi sebuah datagram IP yang utuh di pihak penerima. Ukurannya adalah 13 bit, sehingga mendukung nilai hingga 8191 saja.<{{br />}}Mengingat ukuran muatan IP terbesar adalah 65515 byte (2<sup>16</sup>-20), sedangkan ukuran field ini adalah 13 bit, maka field ini tidak dapat digunakan untuk mengindikasikan ''byte offset''. Karenanya setiap nilai field ''fragment offset'' harus merepresentasikan nilai 3 bit. Dengan demikian, field Fragment Offset pun dapat didefinisikan dalam blok-blok berukuran 8 byte yang disebut sebagai '''''Fragment block'''''.<{{br />}}Selama fragmentasi dilakukan, muatan IP akan dipecah ke dalam fragmen-fragmen dengan menggunakan batasan 8 byte dan nilai maksimum fragment block (8 byte) diletakkan pada setiap fragmen. Field ''Fragment Offset'' pun diset untuk mengindikasikan permulaan ''fragment block'' untuk fragmen tersebut dibandingkan dengan muatan IP yang belum difragmentasi.
 
Setiap fragmen yang difragmentasi oleh ''[[router]]'', ''header'' IP akan disalin dan beberapa field ini akan diubah selama fragmentasi oleh router:
* '''''Header length''''': Bisa berubah atau tidak bergantung pada keberadaan IP Options, dan juga apakah IP Options tersebut disalin ke semua fragmen atau hanya fragmen pertama saja.
* '''''Time-to-Live''''' (TTL): selalu dikurangi 1.
* '''''Total Length''''': Diubah untuk merefleksikan perubahan pada header IP yang baru dan tentunya muatan IP yang baru.
* ''Flag'' '''''More Fragment''''' akan diset ke angka 1 untuk fragmen pertama atau fragmen pertengahan, atau nilai 0 untuk fragmen terakhir.
* '''''Fragment Offset''''': Diset untuk mengindikasikan posisi fragmen di dalam fragment block relatif terhadap muatan IP yang belum difragmentasi.
* '''''Header Checksum''''': dihitung ulang berdasarkan field yang berubah di dalam header IP.
* Field "''identification''": tidak berubah untuk setiap fragmen.
 
=== Contoh proses fragmentasi ===
[[Berkas:Berkas-Fragmentasi-PaketJaringan-Hierarki.png|thumbjmpl|leftkiri|200px|Contoh proses fragmentasi (gambar 1)]]
Sebagai sebuah contoh bagaimana proses fragmentasi berlangsung, perhatikan skenairo berikut:<{{br />}}
Sebuah node yang berada di dalam jaringan Token Ring mengirimkan sebuah datagram IP yang dapat difragmentasikan dengan nilai field Identification (dalam header IP) diset ke nilai 9999 ke sebuah node dalam jaringan Ethernet, seperti terlukis dalam gambar. Anggaplah jaringan Token Ring tersebut memiliki pengaturan sebagai berikut: kepemilikan token selama 9 milidetik, kecepatan 4 megabit per detik, dan tidak ada header routing Token Ring, serta MTU 4482 byte. Sementara itu, jaringan Ethernet memiliki MTU 1500 byte, yang menggunakan skema enkapsulasi frame [[Ethernet II]].
 
Baris 214 ⟶ 216:
 
''Router'' yang menghubungkan dua jenis jaringan tersebut akan menerima datagram IP dari komputer pengirim dalam jaringan Token Ring. Router pun mengecek tabel routing yang ada di dalam dirinya dan menentukan antarmuka mana yang hendak digunakan untuk meneruskan pesan tersebut dan kemudian router mengetahui bahwa datagram IP yang dikirimkan lebih besar daripada nilai MTU, mengingat jaringan yang dituju merupakan jaringan Ethernet. Selanjutnya, router melihat flag DF dalam header IP: jika diset ke angka 1, router akan mengabaikan datagram yang bersangkutan dan mengirimkan pesan balasan "ICMP Destination Unreachable-Fragmentation Needed And DF Set" kepada pengirim datagram IP; dan karena memiliki nilai "0", router pun melakukan fragmentasi terhadap muatan datagram IP tersebut, yakni sebesar 4462 ''byte'' (dengan anggapan bahwa datagram tersebut tidak memiliki IP Options) ke dalam empat buah fragmen, yang setiap fragmennya memiliki ukuran 1500 byte (yang merupakan nilai MTU dari jaringan Ethernet).
[[Berkas:Fragmentasi-IP.png|thumbjmpl|rightka|180px|Proses fragmentasi paket IP]]
Muatan IP maksimum yang dapat ditampung dalam MTU 1500 byte milik Ethernet adalah 1480 byte (20 byte digunakan sebagai header IP, dan dengan anggapan bahwa datagram tersebut tidak memiliki IP Options). Setiap muatan yang berukuran 1480 byte tesebut dipecah ke dalam 185 fragment block (185x8=1480). Karenanya router akan mengirimkan empat fragmen dengan ukuran muatan 1480 byte dan fragmen terakhir berukuran 22 byte (4462=1480+1480+1480+22)
 
Baris 264 ⟶ 266:
Berikut ini adalah contoh dari datagram IP (packet capture dari Microsoft Network Monitor, dipantau dengan perintah "Ping 192.168.1.2"):
 
<pre>
+ Frame: Base frame properties
+ ETHERNET: ETYPE = 0x0800 : Protocol = IP: DOD Internet Protocol
IP: ID = 0x34CD; Proto = ICMP; Len: 60
IP: Version = 4 (0x4)
Baris 284 ⟶ 287:
IP: Data: Number of data bytes remaining = 40 (0x0028)
+ ICMP: Echo: From 192.168.1.1 To 192.168.1.2
</pre>
 
== LihatModel pulaPertahanan IP ==
Terdiri dari 4 lapisan yaitu:
*[[alamat IP]] (sering disebut "IP")
* Lapisan aplikasi.
{{network-stub}}
* Lapisan transport.
* Lapisan internet.
* Lapisan jaringan antarmuka.
 
== Lihat pula ==
[[Kategori:Protokol Internet|*]]
* [[alamatAlamat IP]] (sering disebut "IP" saja)
 
[[Kategori:Protokol Internet|* ]]
[[af:Internetprotokol]]
[[ar:بروتوكول الإنترنت]]
[[bg:Internet Protocol]]
[[cs:Internet Protocol]]
[[da:Internetprotokol]]
[[de:Internet Protocol]]
[[en:Internet Protocol]]
[[eo:IP]]
[[es:Protocolo de Internet]]
[[fa:پروتکل اینترنت]]
[[fi:IP]]
[[fr:Internet Protocol]]
[[gl:Protocolo de Internet]]
[[he:Internet Protocol]]
[[hr:Internet protokol]]
[[hu:Internetprotokoll]]
[[is:Internet Protocol]]
[[it:Internet Protocol]]
[[ja:Internet Protocol]]
[[ka:ინტერნეტ ოქმი]]
[[ko:IP]]
[[la:Interretalis Protocollum]]
[[lv:IP]]
[[mk:Интернет Протокол]]
[[nl:Internetprotocol]]
[[nn:Internet Protocol]]
[[no:Internet Protocol]]
[[pl:IP]]
[[pt:Protocolo de Internet]]
[[ro:Protocol pentru Internet]]
[[ru:IP]]
[[si:අන්තර්ජාල ප්‍රොටෝකෝලය]]
[[simple:Internet Protocol]]
[[sk:Internet Protocol]]
[[so:Internet protocol]]
[[sv:Internetprotokoll]]
[[ta:இணைய நெறிமுறை]]
[[th:โพรโทคอลอินเทอร์เน็ต]]
[[uk:Міжмережевий протокол]]
[[vi:IP]]
[[yi:אינטערנעט פראטאקאל]]
[[zh:网际协议]]