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

Internet Protocol (IP)

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