Protokol Internet: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k {{gabung|Protokol Internet}}
Willysaef (bicara | kontrib)
Baris 6:
 
==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.
Protokol IP menawarkan beberapa layanan berikut kepada protokol-protokol lapisan yang lebih tinggi:
* 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, tapi 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).
* Protokol yang dapat menghubungkan antar jaringan (internetworking), atau juga dapat disebut sebagai protokol yang bersifat ''routable''. Header IP berisi informasi yang dibutuhkan untuk melakukan routing paket data, termasuk alamat IP sumber (source) dan tujuan (destination). Header IP juga dapat mengandung "link count", yang digunakan untuk membatasi jumlah saluran di mana paket dapat berjalan di jaringan sebelum akhirnya ditinggalkan.
*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, tapi merupakan protokol yang berada pada lapisan yang lebih tinggi, seperti halnya protokol TCP.
* Protokol ini mendukung banyak protokol klien, karena memang IP merupakan pembawa data antar jaringan.
* 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.
* Menawarkan pemecahan paket-paket data (''fragmentation'') ke dalam datagram IP dan penyatuannya kembali ke dalam paket-paket utuh (''reassembly'').
*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==
[[Image:Format-Datagram-IP.png|thumb|right|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==
[[Image:Header-IP.png|thumb|right|200px|Format Header Protokol IP]]
Header IP terdiri atas beberapa field sebagai berikut:
{| class="wikitable"
|-
! Field
! Panjang
! Keterangan
|-
| Version
| 4 bit
| Digunakan untuk mengindikasikan versi dari header IP yang digunakan. Karena memiliki panjang 4 bit, maka terdapat 2<sup>4</sup>=16 buah jenis nilai yang berbeda-beda, yang berkisar antara 0 hingga 16. Meskipun begitu hanya ada dua nilai yang bisa digunakan, yakni 4 dan 6, mengingat versi IP standar yang digunakan saat ini dalam jaringan dan Internet adalah versi 4 dan 6 merupakan singkatan dari versi selanjutnya (IPv6). Lihat http://www.iana.org/assignments/version-numbers untuk informasi mengenai field ini lebih lanjut.
|-
| Header length
| 4 bit
| Digunakan untuk mengindikasikan ukuran header IP. Karena memiliki panjang 4 bit, maka terdapat 2<sup>4</sup>=16 buah jenis nilai yang berbeda-beda. Field header length ini mengindikasikan bilangan double-word 32-bit (blok 4-byte) di dalam header IP. Ukuran terkecilnya adalah 5 (0x05), yang menunjukkan ukuran terkecil dari header IP yakni 20 byte. Dengan jumlah maksimum dari IP Options, ukuran header IP maksimum adalah 60 byte, yang diindikasikan dengan nilai 15 (0x0F).
|-
| Type of Service (TOS)
| 8 bit
| Field ini digunakan untuk menentukan kualitas transmisi dari sebuah datagram IP. Ada dua jenis TOS yang didefinisikan, yakni pada RFC 791 dan RFC 2474. Hal ini akan dibahas pada seksi berikutnya.
|-
| Total Length
| 16 bit
| Merupakan panjang total dari datagram IP, yang mencakup header IP dan muatannya. Dengan menggunakan angka 16 bit, nilai maksimum yang dapat ditampung adalah 65535 byte. Untuk datagram IP yang memiliki ukuran maksimum, field ini memiliki nilai yang sama dengan nilai Maximum transmision unit yang dimiliki oleh teknologi protokol lapisan antarmuka jaringan.
|-
| Identifier
| 16 bit
| Digunakan untuk mengidentifikasikan sebuah paket IP tertentu yang dikirimkan antara node sumber dan node tujuan. Host pengirim akan mengeset nilai dari field ini, dan field ini akan bertambah nilainya untuk datagram IP selanjutnya. Field ini digunakan untuk mengenali fragmen-fragmen sebuah datagram IP.
|-
| Flag
| 3 bit
| Berisi dua buah flag yang berisi apakah sebuah datagram IP mengalami fragmentasi atau tidak. Meski berisi tiga bit, ada dua jenis nilai yang mungkin, yakni apakah hendak memecah datagram IP ke dalam beberapa fragmen atau tidak.
|-
| Fragment Offset
| 13 bit
| Digunakan untuk mengidentifikasikan ofset di mana fragmen yang bersangkutan dimulai, dihitung dari permulaan muatan IP yang belum dipecah.
|-
| Time-to-Live (TTL)
| 8 bit
| Digunakan untuk mengidentifikasikan berapa banyak saluran jaringan di mana sebuah datagram IP dapat berjalan-jalan sebelum sebuah router mengabaikan datagram tersebut. Field ini pada awalnya ditujukan sebagai penghitung waktu, untuk mengidentifikasikan berapa lama (dalam detik) sebuah datagram IP boleh terdapat di dalam jaringan. Adalah router IP yang memantau nilai ini, yang akan berkurang setiap kali hinggap dalam router.
|-
| Protocol
| 8 bit
| Digunakan untuk mengidentifikasikan jenis protokol lapisan yang lebih tinggi yang dikandung oleh muatan IP. Field ini merupakan tanda eksplisit untuk protokol klien. Terdapat beberapa nilai dari field ini, seperti halnya nilai 1 (0x01) untuk ICMP, 6 (0x06) untuk TCP, dan 17 (0x11) untuk UDP (selengkapnya lihat di bawah). Field ini bertindak sebagai penanda multipleks (multiplex identifier), sehingga muatan IP pun dapat diteruskan ke protokol lapisan yang lebih tinggi saat diterima oleh node yang dituju.
|-
| Header Checksum
| 16 bit
| [place holder]
|-
| Source IP Address
| 32 bit
| Mengandung alamat IP dari sumber host yang mengirimkan datagram IP tersebut, atau alamat IP dari Network Address Translator (NAT).
|-
| Destination IP Address
| 32 bit
| Mengandung alamat IP tujuan datagram IP tersebut, atau alamat IP dari NAT.
|-
| IP Options and Padding
| 32 bit
| [place holder]
|-
|}
 
===Type of Service (ToS)===
[place holder]
 
===Time-to-Live (TTL)===
[place holder]
 
===Protocol===
Berikut ini adalah nilai dari field Protocol
{| class="wikitable"
|-
! Nilai
! Protokol
|-
| 0
| Internet Protocol (IP)
|-
| 1
| Internet Control Message Protocol (ICMP)
|-
| 2
| Internet Group Message Protocol (IGMP)
|-
| 3
| Gateway-to-Gatway Protocol (GGP)
|-
| 4
| IP in IP encapsulation
|-
| 6
| Transmission Control Protocol (TCP)
|-
| 8
| Exterior Gateway Protocol (EGP)
|-
| 12
| PARC Universal Packet Protocol (PUP)
|-
| 17
| User Datagram Protocol (UDP)
|-
| 20
| Host Monitoring Protocol (HMP)
|-
| 22
| Xerox NS IDP
|-
| 27
| Reliable Datagram Protocol (RDP)
|-
| 41
| Internet Protocol version 6 (IPv6)
|-
| 47
| Generic Routing Encapsulation (GRE)
|-
| 50
| IP Security Encapsulating Security Payload (IPSec ESP)
|-
| 51
| IP Security Authentication Header (AH)
|-
| 66
| MIT Remote Virtual Disk (RVD)
|-
| 89
| Open Shortest Path First (OSPF)
|-
|}
Untuk beberapa nilai lainnya, kunjungi alamat http://www.iana.org/assignments/protocol-numbers.
 
==Fragmentasi Paket IP==
[[Image:Fragmentasi-IP.png|thumb|right|200px|Proses fragmentasi paket IP]]
[place holder]
 
==Contoh datagram IP==
Berikut ini adalah contoh dari datagram IP (packet capture dari Microsoft Network Monitor, dipantau dengan perintah "Ping 192.168.1.2"):
 
+ Frame: Base frame properties
+ ETHERNET: ETYPE = 0x0800 : Protocol = IP: DOD Internet Protocol
IP: ID = 0x34CD; Proto = ICMP; Len: 60
IP: Version = 4 (0x4)
IP: Header Length = 20 (0x14)
IP: Precedence = Routine
IP: Type of Service = Normal Service
IP: Total Length = 60 (0x3C)
IP: Identification = 13517 (0x34cd)
IP: Flags Summary = 0 (0x0)
IP: .......0 = Last fragment in datagram
IP: ......0. = May fragment datagram if necessary
IP: Fragment Offset = 0 (0x0) bytes
IP: Time to Live = 128 (0x80)
IP: Protocol = ICMP - Internet Control Message
IP: Checksum = 0xB869
IP: Source Address = 192.168.1.1
IP: Destination Address = 192.168.1.2
IP: Data: Number of data bytes remaining = 40 (0x0028)
+ ICMP: Echo: From 192.168.1.1 To 192.168.1.2
 
 
 
 
{{network-stub}}