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 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
·
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 sumber(source IP address) dan 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, tetapi 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, tetapi 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 lapisan fisik, seperti
halnya pengabelan, pensinyalan, dan bit rate. Selain itu, IP juga bersifat
independen terhadap atribut lapisan data link seperti
halnya mekanisme Media access control (MAC),
pengalamatan MAC, serta ukuran frame terbesar. IP menggunakan skema
pengalamatannya sendiri, yang disebut sebagai "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.
HEADER IP
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
|
|
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, fieldini 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. Fieldini
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]
|
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[sunting | sunting sumber]
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.
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.
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
SUMBER : https://id.wikipedia.org/wiki/Protokol_Internet#Fragmentasi_Paket_IP
0 komentar:
Posting Komentar