Protokol Internet: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan
Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler
Tidak ada ringkasan suntingan
Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler
Baris 12:
 
== Datagram IP ==
 
[[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:
* 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.
Baris 23 ⟶ 21:
 
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 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 [http://www.iana.org/assignments/version-numbers 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 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 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.{{br}}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.{{br}}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 translation|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 ====
<br />
[https://en.wikipedia.org/wiki/IPv4#Addressing place holder]
 
==== ToS dalam RFC 2474 ====
<br />
[https://en.wikipedia.org/wiki/IPv4#Addressing place holder]
 
=== Protocol ===
Berikut ini adalah nilai dari field Protocol
 
Untuk beberapa nilai lainnya, kunjungi alamat .
{| class="wikitable"
|-wikitable
! Nilai
! Protokol
|-4
| 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
| [[IPv6|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
| [[Massachusetts Institute of Technology|MIT]] [[Remote Virtual Disk]] (RVD)
|-
| 89
| [[Open Shortest Path First]] (OSPF)
|-
|}
 
Aplikasi jaringan yang berbasis (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''.
Untuk beberapa nilai lainnya, kunjungi alamat [http://www.iana.org/assignments/protocol-numbers situs web IANA].
 
Aplikasi jaringan [[Microsoft Windows|Windows]] yang berbasis [[Windows Sockets|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 ==
Baris 165 ⟶ 42:
''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|''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 ===
Baris 176 ⟶ 53:
* ''Field''' '''Fragment Offset''':{{br}}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.{{br}}Mengingat ukuran muatan IP terbesar adalah 65515 byte (2<sup>16</sup>-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'''''.{{br}}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.
Baris 186 ⟶ 63:
 
=== Contoh proses fragmentasi ===
[[Berkas:Berkas-Fragmentasi-PaketJaringan-Hierarki.png|jmpl|kiri|200px|Contoh proses fragmentasi (gambar 1)]]
Sebagai sebuah contoh bagaimana proses fragmentasi berlangsung, perhatikan skenairo berikut:{{br}}
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:
{| class="wikitable"
|-
! ''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).
 
[[Berkas:Fragmentasi-IP.png|jmpl|ka|180px|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:
{| class="wikitable"
|-
! ''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]
Baris 263 ⟶ 78:
== Contoh datagram IP ==
Berikut ini adalah contoh dari datagram IP (packet capture dari Microsoft Network Monitor, dipantau dengan perintah "Ping 192.168.1.2"):
 
<pre>
+ 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
</pre>
 
== Model Pertahanan IP ==
Baris 295 ⟶ 87:
 
== Lihat pula ==
* [[alamat IP]] (sering disebut "IP")
 
{{network-stub}}
 
[[Kategori:Protokol Internet| ]]