Protokol Internet
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).
[[Berkas:Format-Datagram-IP.png|jmpl|ka|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:
Sebelum dikirimkan di dalam saluran jaringan, datagram IP akan "dibungkus" dengan header protokol lapisan antarmuka jaringan dan trailer-nya, untuk membuat sebuah "frame" jaringan.
[Berkas:Header-IP.png|thumb|right|100px|Format Header Protokol IP
Header IP terdiri atas beberapa field sebagai berikut:
"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.
[p https://en.wikipedia.org/wiki/IPv4#Addressing lace holder]
[place ho https://en.wikipedia.org/wiki/IPv4#Addressing holder]
Berikut ini adalah nilai dari field Protocol
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".
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.
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:
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:
"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).
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:
[place holder]
Berikut ini adalah contoh dari datagram IP (packet capture dari Microsoft Network Monitor, dipantau dengan perintah "Ping 192.168.1.2"):