1. Pengertian
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 olehIP 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, tapi 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).
2. Datagram 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.
3. 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 20byte. Dengan jumlah
maksimum dari IP Options, ukuran header IP maksimum
adalah 60byte, 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 fieldini 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. Adalahrouter 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
IPyang 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 datagramtersebut 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]
|
4. 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-switchingdan 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:
- Field identification: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).
- Field Flag, yang memiliki dua buah nilai:
- Don't fragment (DF):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):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: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.Mengingat ukuran muatan IP terbesar adalah 65515 byte (216-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.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.
0 komentar:
Posting Komentar