Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: "Protokol Internet" – berita · surat kabar · buku · cendekiawan · JSTOR

Protokol Internet (Inggris Internet Protocol, disingkat IP) adalah protokol lapisan jaringan (network layer dalam OSI Reference Model) atau protokol lapisan internetwork (internetwork layer dalam DARPA Reference Model) yang digunakan oleh protokol TCP/IP untuk melakukan pengalamatan dan routing 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 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, tetapi hal ini diserahkan kepada protokol pada lapisan yang lebih tinggi (lapisan transport dalam OSI Reference Model atau lapisan antar host dalam DARPA Reference Model), yakni protokol Transmission Control Protocol (TCP).

Layanan yang ditawarkan oleh Protokol IP

Datagram IP

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:

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

Header IP terdiri atas beberapa field sebagai berikut:

Field Panjang Keterangan
Version 4 bit Digunakan untuk mengindikasikan versi dari header IP yang digunakan. Karena memiliki panjang 4 bit, maka terdapat 24=16 buah jenis nilai yang berbeda-beda, yang berkisar antara 0 hingga 15. 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 situs web IANA untuk informasi mengenai field ini lebih lanjut.
Header length 4 bit Digunakan untuk mengindikasikan ukuran header IP. Karena memiliki panjang 4 bit, maka terdapat 24=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 transmission 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 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.
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.
Pada saat menghitung checksum terhadap semua field di dalam header IP, nilai header checksum akan diset ke nilai 0.
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 ke mana datagram IP tersebut akan disampaikan, atau yang dapat berupa alamat dari host atau NAT.
IP Options and Padding 32 bit [place holder]

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

place holder

ToS dalam RFC 2474

place holder

Protocol

Berikut ini adalah nilai dari field Protocol

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 situs web IANA.

Aplikasi jaringan Windows yang berbasis Windows Sockets API (WinSock) dapat merujuk protokol berdasarkan namanya saja. Nama-nama protokol kemudian akan diterjemahkan ke dalam nomor protokol dengan menggunakan berkas yang disimpan di dalam %systemroot%\System32\Drivers\Etc\Protocol.

Fragmentasi Paket IP

Ketika sebuah host sumber atau router harus mentransmisikan sebuah datagram IP dalam sebuah saluran jaringan di mana nilai Maximum transmission unit (MTU) yang dimilikinya lebih kecil dibandingkan ukuran datagram IP, datagram IP yang akan ditransmisikan tersebut harus dipecah ke dalam beberapa fragmen. Proses ini disebut sebagai Fragmentation (fragmentasi). Ketika fragmentasi terjadi, muatan IP akan dibelah menjadi beberapa segmen, dan setiap segmen akan dikirimkan dengan header IP-nya masing-masing.

Header IP mengandung informasi yang dibutuhkan untuk menyatukan kembali muatan IP yang telah dipecah tersebut menjadi muatan IP yang utuh pada saat datagram IP tersebut telah sampai pada host tujuan. Karena IP merupakan teknologi datagram packet-switching dan juga fragmen dapat sampai ke tujuan dalam kondisi tidak terurut, fragmen-fragmen tersebut harus dikelompokkan (dengan menggunakan field Identification dalam header IP), diurutkan (dengan menggunakan field Fragment Offset dalam header IP), dan diperjelas pembatasannya (dengan menggunakan flag More Fragment dalam header IP).

Teknologi virtual circuit packet-switching seperti halnya X.25 dan Asynchronous Transfer Mode (ATM) hanya membutuhkan pembatasan fragmen/segmen. Sebagai contoh, dengan ATM Adaptation Layer 5, sebuah datagram IP akan dibelah menjadi beberapa segmen berukuran 48 byte yang menjadi muatan setiap sel ATM. ATM selanjutnya mengirimkan sel-sel ATM tersebut yang mengandung datagram IP dan menggunakan bit ketiga dari field Payload Type di dalam header ATM untuk mengindikasikan akhir aliran sel ATM untuk sebuah datagram IP.

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:

Setiap fragmen yang difragmentasi oleh router, header IP akan disalin dan beberapa field ini akan diubah selama fragmentasi oleh router:

Contoh proses fragmentasi

Contoh proses fragmentasi (gambar 1)

Sebagai sebuah contoh bagaimana proses fragmentasi berlangsung, perhatikan skenairo berikut:
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.

Sebelum fragmentasi terjadi, field-field dalam header IP untuk datagram IP yang asli bernilai sebagai berikut:

Field Nilai
Total Length 4482
Identification 9999
flag DF 0
flag MF 0
Fragment Offset 0

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).

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)

Karena fragmentasi terjadi, maka nilai-nilai field datagram IP yang dikirimkan pun akan diubah oleh router menjadi nilai-nilai berikut:

Field Nilai pada fragmen 1 Nilai pada fragmen 2 Nilai pada fragmen 3 Nilai pada fragmen 4
Total Length 1500 1500 1500 42
Identification 9999 9999 9999 9999
flag DF 0 0 0 0
flag MF 1 1 1 0
Fragment Offset 0 185 370 555

Contoh penyatuan kembali (proses reassembly)

[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

Model Pertahanan IP

Terdiri dari 4 lapisan yaitu:

Lihat pula