Internet Protocol (IP)

1,004 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,004
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Internet Protocol (IP)

  1. 1. Internet Protocol (IP)
  2. 2. <ul><li>IP adalah protokol yang bersifat connectionless </li></ul><ul><ul><li>Unreliable service </li></ul></ul><ul><ul><li>Best effort delivery </li></ul></ul><ul><li>IP mendefinisikan tiga hal </li></ul><ul><ul><li>Mendefinisikan unit dasar dari proses transfer data( basic unit of data transfer) yang digunakan di Internet </li></ul></ul><ul><ul><ul><li>Datagram (dan formatnya) </li></ul></ul></ul><ul><ul><li>Proses routing </li></ul></ul><ul><ul><li>Sekumpulan aturan yang mendefinisikan unreliable packet delivery (pemrosesan paket, error message generation & conditions, discarding packets, etc.) </li></ul></ul>
  3. 3. Format datagram IP secara umum
  4. 4. ET5044 – T2N – Telematics Lab. ITB IP Datagram Header 0 31 24 19 16 8 4 VERS HLEN SERVICE TYPE TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET TIME TO LIVE PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) PADDING DATA . . .
  5. 5. <ul><li>VERS ( 4 bits ): </li></ul><ul><ul><li>Versi protokol IP yang digunakan untuk membentuk datagram </li></ul></ul><ul><ul><li>Software IP harus selalu mencek field VERS </li></ul></ul><ul><ul><li>Dalam hal ini adalah protokol IPv4 </li></ul></ul><ul><li>HLEN ( 4 bits ): </li></ul><ul><ul><li>Panjang header datagram </li></ul></ul><ul><ul><li>Dinyatakan dalam satuan unit 32 bit </li></ul></ul><ul><ul><li>Contoh </li></ul></ul><ul><ul><ul><li>20 octets = HLEN 5 </li></ul></ul></ul><ul><ul><ul><ul><li>20 octets adalah 160 bits, bila dinyatakan dengan satuan unit 32 bit, maka HLEN berisi 160/32 = 5 </li></ul></ul></ul></ul>
  6. 6. <ul><li>SERVICE TYPE (8 bits): </li></ul><ul><ul><li>Menyatakan cara menangani datagram </li></ul></ul><ul><li>PRECEDENCE (3-bits): </li></ul><ul><ul><li>Menyatakan tingkat pentingnya datagram (range is 0..7, normal precedence ... network control) </li></ul></ul><ul><li>D , T , R (1-bit each): </li></ul><ul><ul><li>Jenis penanganan pengiriman yang diperlukan </li></ul></ul><ul><ul><li>Hanya sebagai petunjuk yang digunakan algoritma routing </li></ul></ul><ul><ul><ul><li>D - requests low delay </li></ul></ul></ul><ul><ul><ul><li>T - requests high throughput </li></ul></ul></ul><ul><ul><ul><li>R - requests high reliability </li></ul></ul></ul>PRECEDENCE D T R UNUSED 0 1 3 2 7 6 5 4
  7. 7. <ul><li>TOTAL LENGTH ( 16-bits ): </li></ul><ul><ul><li>Panjang maksimum datagram= 65,535 octets. </li></ul></ul><ul><li>IDENTIFICATION ( 16-bits ): </li></ul><ul><ul><li>Digunakan pada saat penggabungan kembali paket-paket datagram </li></ul></ul><ul><li>FLAGS ( 3-bits ): </li></ul><ul><ul><li>Menentukan cara menangani suatu potongan datagram </li></ul></ul><ul><ul><ul><li>Bit 0 - reserved for future use. </li></ul></ul></ul><ul><ul><ul><li>Bit 1 - ( 0 = may fragment), ( 1 = do not fragment) </li></ul></ul></ul><ul><ul><ul><li>Bit 2 - ( 0 = last fragment), ( 1 = more fragments exist) </li></ul></ul></ul><ul><li>FRAGMENT OFFSET ( 13-bits ): </li></ul><ul><ul><li>Menunjukkan posisi suatu potongan di dalam suatu datagram yang lengkap. Dinyatakan dalam satuan 64-bit (8 octets). </li></ul></ul>Back to page 15
  8. 8. <ul><li>TIME TO LIVE ( 8-bits ): </li></ul><ul><ul><li>Jangka waktu maksimum suatu datagram dapat beredar di jaringan.(Jika TTL = 0, datagram tersebut harus dihilangkan) Max. = 255 sec. </li></ul></ul><ul><li>PROTOCOL ( 8-bits ): </li></ul><ul><ul><li>Menunjukkan protokol layer atas yang harus digunakan ( ICMP = 1 , TCP = 6 , UDP = 17 ) </li></ul></ul><ul><li>HEADER CHECKSUM ( 16-bits ): </li></ul><ul><ul><li>Deteksi kesalahan pada header untuk keperluan error-control </li></ul></ul>
  9. 9. <ul><li>SOURCE IP ADDRESS ( 32-bits ): </li></ul><ul><ul><li>Menunjukkan identitas sumber asli (ultimate source) dari datagram </li></ul></ul><ul><li>DESTINATION IP ADDRESS ( 32-bits ): </li></ul><ul><ul><li>Menunjukkan identitas tujuan akhir (final destination) dari datagram. </li></ul></ul><ul><li>Dalam proses routing, field-field di atas tidak pernah berubah. Penentuan rute baru menghasilkan next-hop hardware address , tetapi tidak pernah merubah IP address pengirim (ultimate source) dan penerima (final destination) </li></ul>
  10. 10. Enkapsulasi Datagram <ul><li>Ingat bahwa ukuran maksimum datagram IP adalah 65,535 octets (IPv4) </li></ul><ul><li>Agar proses pengangkutan datagram di internet dapat dilakukan secara efisien, maka lebih dikekehendaki bahwa datagram dapat dipetakan secara langsung ke dalam satu frame jaringan fisik (data link networks) </li></ul>
  11. 12. Masalah ukuran datagram, MTU, dan fragmentasi <ul><li>Setiap jaringan fisik memiliki tipe dan ukuran frame yang berbeda </li></ul><ul><ul><li>Ada batas maksimum panjang data yang dapat dikirimkan oleh satu frame </li></ul></ul><ul><li>Contoh: </li></ul><ul><ul><li>Ethernet = 1500 octets </li></ul></ul><ul><ul><li>FDDI = 4470 octets </li></ul></ul>
  12. 13. <ul><li>MTU ( Maximum Transfer Unit ) – adalah batas maksimum data yang dapat dibawa oleh satu frame </li></ul><ul><li>Bila ukuran IP datagram melebihi MTU jaringan fisik, maka akan terjadi fragmentasi terhadap datagram tsb </li></ul><ul><li>MTU biasanya berubah dari satu jaringan ke jaringan yang lain </li></ul>
  13. 15. <ul><li>Ukuran hasil potongan dipilih agar dapat dibawa oleh satu frame </li></ul><ul><li>IP menyatakan offset of data dalam kelipatan 8 octets , maka ukuran potongan harus merupakan kelipatan 8 </li></ul><ul><li>Potongan terakhir biasanya lebih pendek daripada potongan yang lain </li></ul><ul><li>IP tidak menjamin bahwa sebuah datagram yang besar tidak akan dipotong </li></ul><ul><li>Hasil potongan memiliki format yang sama dengan datagram yang asli yang berbeda adalah nilai-nilai flag </li></ul><ul><li>Filed IDENTIFICATION dikopi ke seluruh potongan </li></ul><ul><ul><li>Nilai field IDENTIFICATION , dibuat oleh IP’s global counter di dalam memori (untukm menghitung jumlah datagram yang sudah dibangkitkan) </li></ul></ul><ul><li>Fragmentation flag bits digunakan untuk memotong atau mencegah pemotongan </li></ul><ul><ul><li>Jika bit don’t fragment bit bernilai 1, maka datagram akan dibuang oleh router yang harus melakukan fragmentasi </li></ul></ul>
  14. 16. DATAGRAM HEADER data 1 600 octets data 2 600 octets data 3 200 octets FRAGMENT 1 HEADER FRAGMENT 2 HEADER FRAGMENT 3 HEADER data data data Fragment 1 (offset 0) Fragment 2 (offset 600) Fragment 3 (offset 1200) (a) (b)
  15. 17. Contoh Fragmentasi Datagram berukuran 4000 byte
  16. 18. More Details..
  17. 19. Reassembly <ul><li>Reassembly : penyusunan kembali potongan-potongan datagram </li></ul><ul><li>Pada TCP/IP, reassembly dilakukan di final destination ; kelemahan: </li></ul><ul><ul><li>Fragmentasi akibat MTU yang kecil akan menyebabkan pengiriman paket tidak efisien </li></ul></ul><ul><ul><li>Bila ada potongan yang hilang dan reassembly timer telah expire sebelum potongan yang hilang datang, maka seluruh potongan yang lain akan dibuang dan akan mengakibatkan retransmisi keseluruhan datagram </li></ul></ul>
  18. 20. Proses Reassembly <ul><li>Field IDENTIFICATION bersama dengan source IP address digunakan oleh final destination untuk mengidentifikasi setiap potongan </li></ul><ul><li>Jika potongan datang secara tidak berurutan, maka digunakan field FRAGMENT OFFSET dan TOTAL LENGTH untuk menentukan posisi yang benar dari setiap potongan </li></ul>
  19. 21. Mari kita lihat kembali header datagram IP 0 31 24 19 16 8 4 VERS HLEN SERVICE TYPE TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET TIME TO LIVE PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) PADDING DATA . . .
  20. 22. <ul><li>IP OPTIONS adalah suatu field dengan panjang yang variable dan pada umumnya digunakan untuk keperluan testing dan debugging </li></ul><ul><ul><li>Kemampuan ini harus selalu diimplementasikan bersama protokol IP </li></ul></ul><ul><li>Format field IP OPTIONS </li></ul>COPY OPTION CLASS OPTION NUMBER 0 1 2 3 4 7 6 5
  21. 23. <ul><li>COPY (1-bit): </li></ul><ul><ul><li>Menentukan perlakukan router terhadap field options: </li></ul></ul><ul><ul><ul><li>1 => copy option to ALL fragments </li></ul></ul></ul><ul><ul><ul><li>0 => copy options to first fragment only </li></ul></ul></ul><ul><li>OPTION CLASS (2-bits): </li></ul><ul><ul><li>Menentukan kelas option </li></ul></ul><ul><li>OPTION NUMBER (5-bits): </li></ul><ul><ul><li>Menentukan option tertentu nyang ada di dalam suatu kelas </li></ul></ul>Option Class Meaning 0 Datagram or network control. 1 Reserved for future use. 2 Debugging and measurements. 3 Also reserved for future use.
  22. 24. Option Class Option Number Length Description 0 0 End of option list 0 1 Used to align octets in a list of options 0 2 11 Used for Security in IPv4 0 3 variable Loose Source Routing 0 7 variable Record Route (used to trace a route) 0 8 4 Stream Identifier (obsolete) 0 9 variable Strict Source Routing 2 4 variable Internet Timestamp (timestamps along a route)
  23. 25. <ul><li>Record Route Option: </li></ul><ul><ul><li>Memungkinkan sumber membuat suatu daftar IP address yang kosong dan membuat setiap router memasukkan IP address-nya ke dalam daftar tersebut </li></ul></ul>0 8 16 24 31 FIRST IP ADDRESS SECOND IP ADDRESS . . . CODE(7) LENGTH POINTER
  24. 26. <ul><li>CODE ( 8-bits ): </li></ul><ul><ul><li>Harus sama dengan 7 untuk record route option </li></ul></ul><ul><li>LENGTH ( 8-bits ): </li></ul><ul><ul><li>Panjang field option total, termasuk header </li></ul></ul><ul><li>POINTER ( 8-bits ): </li></ul><ul><ul><li>Nilainya bertambah dalam interval 4-octet </li></ul></ul><ul><ul><li>Menunjukkan slot alamat berikutnya pada field option </li></ul></ul><ul><li>IP ADDRESS ( variable length ): </li></ul><ul><ul><li>Digunakan untuk menyimpan IP address setiap router yang dilewati </li></ul></ul><ul><ul><li>Karena header terbatas, maka jumlah IP address yang terekam pun akan terbatas </li></ul></ul><ul><ul><li>Seluruh router yang menangani datagram akan menambahkan IP addresses mereka (outgoing link only) dan jika sudah penuh, datagram di-forward tanpa melakukan perubahan </li></ul></ul>
  25. 29. <ul><li>Source Route Option: </li></ul><ul><ul><li>Memungkinkan pengirim untuk menentukan jalur yang dilalui </li></ul></ul><ul><ul><li>Pengirim dapat memaksa datagram untuk menempuh jalur tertentu </li></ul></ul><ul><ul><li>Bagus untuk keperluan pengujian dan debugging jalur fisik </li></ul></ul>0 8 16 24 31 IP ADDRESS OF FIRST HOP IP ADDRESS OF SECOND HOP . . . CODE(37) LENGTH POINTER
  26. 30. <ul><li>CODE ( 8-bits ): </li></ul><ul><ul><li>Sama dengan 37 untuk record route option </li></ul></ul><ul><li>LENGTH ( 8-bits ): </li></ul><ul><ul><li>Panjang field option total, termasuk header </li></ul></ul><ul><li>POINTER ( 8-bits ): </li></ul><ul><ul><li>Nilainya bertambah dalam interval 4-octet </li></ul></ul><ul><ul><li>Menunjukkan slot alamat berikutnya pada field option </li></ul></ul><ul><li>IP ADDRESS OF NEXT HOP ( variable length ): </li></ul><ul><ul><li>Field untuk menampung IP address yang harus ditempuh oleh datagram </li></ul></ul><ul><ul><li>Karena ukuran header terbatas, maka jumlah hop terbatas pula </li></ul></ul><ul><ul><li>Biasanya jumlah router yang dimasukkan ke dalam next hop address adalah 5 buah atau kurang </li></ul></ul>
  27. 31. <ul><li>Dua macam source routing </li></ul><ul><ul><li>Strict Source Routing – jalur ditentukan dengan cara menyimpan IP address di field option. Datagram harus mengikuti jalur tersebut. Error akan muncul bila ada jalur yang tidak dispesifikasikan. Seluruh alamat harus dicantumkan </li></ul></ul><ul><ul><li>Loose Source Routing – jalur ditentukan pula, tetapi memungkinkan adanya sejumlah hop antar alamat yang sudah ditentukan (lebih flexible) </li></ul></ul>
  28. 32. Strict source route option
  29. 34. Loose source route option
  30. 35. Timestamp Option <ul><li>Merekam IP address setiap router yang dilewati </li></ul><ul><ul><li>Setiap router membangkitkan timestamp yang panjangnya 32 bit </li></ul></ul><ul><li>Serupa dengan Record Route Option , tetapi hanya dapat merekam setengah IP address </li></ul>OFLOW FLAGS 0 8 16 24 31 FIRST IP ADDRESS FIRST TIMESTAMP . . . CODE(68) LENGTH POINTER
  31. 36. <ul><li>CODE ( 8-bits ): </li></ul><ul><ul><li>Sama dengan 68 untuk timestamp option </li></ul></ul><ul><li>LENGTH ( 8-bits ): </li></ul><ul><ul><li>Panjang field option total, termasuk header </li></ul></ul><ul><li>POINTER ( 8-bits ): </li></ul><ul><ul><li>INilainya bertambah dalam interval 4-octet </li></ul></ul><ul><ul><li>Menunjukkan slot alamat berikutnya pada field option </li></ul></ul><ul><li>OFLOW ( 4-bits ): </li></ul><ul><ul><li>Jumlah router (integer) yang tidak dapat memberikan timestamp akibat kekurangan space pada header </li></ul></ul><ul><li>FLAGS ( 4-bits ): </li></ul><ul><ul><li>Menentukan format field timestamp dan field option </li></ul></ul>
  32. 37. Flag Value Meaning 0 Record only timestamps, not IP addr. 1 Record IP addr., then timestamp 3 Record timestamp if IP address is found in the list of addresses specified.
  33. 38. <ul><li>FIRST IP ADDRESS ( 32-bits ): </li></ul><ul><ul><li>IP address router yang diperlukan untuk menghasilkan nilai timestamp </li></ul></ul><ul><li>FIRST TIMESTAMP ( 32-bits ): </li></ul><ul><ul><li>Timestamp yang dihasilkan setiap router yang dilewati </li></ul></ul><ul><li>Timestamps menyatakan waktu dalam satuan milliseconds dan tanggal pada Universal Time - at prime meridian </li></ul>
  34. 39. Penggunaan flag pada timestap
  35. 40. Konsep timestamp
  36. 41. K O M P O N E N IP

×