Monday 7 March 2016

Process To Process Delivery (TCP/IP Review)

Process to process delivery atau dalam bahasa Indonesianya, pengiriman proses ke proses merupakan suatu pengiriman paket dari satu proses ke proses lainnya, yang terjadi/ dilakukan oleh transport layer. Sebelum membahas lebih jauh tentang process to process delivery, alangkah lebih baiknya kita mengetahui terlebih dahulu bagian yang bertanggung-jawab atasnya, yaitu transpor layer, serta hal-hal fundamental lain yang terkait dengannya.


Transport Layer

Transport layer merupakan lapisan ke-empat dari 7 layer OSI (Open System Interconnection). Sedangkan OSI sendiri, merupakan salah satu model layer protokol. Sejauh ini, terdapat dua model layer protokol yang paling dikenal, yaitu OSI yang merupakan standar model protokol jaringan dan TCP/IP (Transmission Control Protocol/Internet Protocol) yang merupakan model protokol jaringan yang umum digunakan di masyarakat. OSI memiliki tujuh lapisan layer, sedangkan TCP/ IP hanya empat lapisan layer. Dan perbedaan layer-layer dari kedua model tersebut akan dijelaskan seperti berikut.

OSI Layer :
  • Application Layer : berfungsi sebagai antarmuka aplikasi dengan fungsionalitas jaringan
  • Presentation Layer : untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi
  • Session Layer : berfungsi untuk mengatur penjadwalan
  • Transport Layer : berfungsi mendefinisikan bagaimana data ditransmisikan
  • Network Layer : berfungsi mendefinisikan alamat-alamat IP
  • Data Link Layer :  untuk pengalamatan logic (logical addressing)
  • Physical Layer : untuk mengubah frame menjadi bit (pen-signal-an)
TCP/ IP Layer :
  • Application Layer : mendefinisikan protokol aplikasi TCP/ IP dan bagaimana antarmuka program dengan layanan transport layer menggunakan jaringan
  • Transport Layer : sebagai pengiriman data dan media komunikasi di antara Application Layer dan Internet Layer
  • Internet Layer : untuk melakukan routing dan enkapsulasi
  • Network Access Layer : untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan

Types of Data Deliveries

Dari penjelasan pada masing-masing layer di atas, baik dari OSI maupun TCP/ IP, berfokus kembali pada transport layer yang memiliki tanggung jawab sebagai pengiriman data. Pada pengiriman data itu sendiri, dibedakan menjadi tiga tipe pengiriman data, yaitu :
  • Node to Node : yang terjadi pada Data Link Layer
  • Host to Host : yang terjadi pada Network Layer
  • Process to Process : yang terjadi pada Transport Layer
Tipe-tipe pengiriman data
Dari ketiga tipe pengiriman data ini, kita akan berfokus pada process to process delivery. Dan yang dimaksud pengiriman data dalam transport layer ini, merupakan data dari layer sebelumnya yang di-enkapsulasi (pembungkusan) menjadi segment, selanjutnya segmen tersebut dikirimkan dari proses sumber (source) ke proses tujuan (destination). Dalam pengirimannya, transport layer memiliki penunjuk bagi suatu data agar data tersebut bisa sampai di tempat yang sesuai dengan kemauan dari si pengirim (client). Pada kasus ini, transport layer menggunakan nomor port (Port Numbers) sebagai penunjuk bagi suatu data untuk mengetahui sumber dan tujuan yang akan dituju.
Port Numbers
Nomor-nomor port pada transport layer dibagi dalam tiga jenis, yang pertama adalah well-known port yang berjumlah 1.024 port, dimulai dari port 0 - port 1023. Yang kedua adalah register port, port ini mempunyai rentang nomor port dari 1.024 - 49,151. Dan yang ketiga adalah dynamic port, yang memiliki batas nomor port sampai dengan 65,535. Pembagian nomor port ini sudah diatur oleh sebuah badan yang disebut IANA (Internet Assigned Number Authority).
IANA Ranges

Protokol UDP dan TCP

Pada transport layer, memiliki protokol-protokol atau aturan-aturan yang ada. Secara umum, dikenal dua macam protokol, yaitu UDP (User Diagram Protocol) dan TCP (Transmission Control Protocol). Karakteristik dari UDP adalah connectionless dan unreliable. Maksud dari connectionless adalah sumber akan mengirimkan segment ke tujuan tanpa terlebih dahulu menciptakan koneksi antara kedua host tersebut. Dan maksud dari unreliable adalah pesan-pesan dari UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgement, artinya tidak ada dalam mekanisme flow control dalam protokol UDP. Jika diandaikan, protokol ini seperti mengirimkan surat dimana data yang dikirimkan belum tentu sampai. Protokol ini sering digunakan untuk panggilan VOIP atau video streaming yang apabila datanya ada yang hilang sedikit, maka bukan menjadi masalah serius.
User Datagram Format

Sedangkan TCP memiliki karakteristik yang berkebalikan dengan UDP, yaitu connection oriented dan reliable. Yang dimaksud dengan connection oriented adalah sumber akan menciptakan suatu koneksi dengan tujuan host terlebih dahulu sebelum mengirimkan segmen pada tujuan. Dan yang dimaksudkan reliable pada protokol TCP adalah data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan nomor urut (sequence number) paket dan mengharapkan paket tersebut memberikan acknowledgement dari penerima, artinya pada protokol TCP ini terdapat mekanisme flow control. Flow control pada transport layer bersifat end-to-end, berbeda dengan flow control pada datalink layer yang bersifat node-to-node. Sequence number pada protokol ini digunakan untuk mengecek apakah ada data yang hilang atau tidak. Nilai sequence number sendiri mendefinisikan nomer dari data byte pertama yang ada pada segmen tersebut.
TCP Segment Format

Three Ways Handshake

Terdapat tiga tahapan komunikasi pada TCP/ IP, yaitu :
  • Connection Establishment, merupakan tahapan dimana client akan mengecek apakah port telah terbuka dan tersedia atau tidak. Tahapan ini berakhir ketika server memberi informasi pada client bahwa port tersedia.
  • Keterangan :
    -SYN tidak membawa data apapun namun ia mengkonsumsi 1 sequnce number. Segmen ini mengecek apakah port terbuka atau tidak.
    -SYN + ACK tidak membawa data apapun namun ia mengkonsumsi 1 sequnce number. Segmen ini memberi tahu bahwa ada port yang terbuka.
    -ACK tidak membawa data dan tidak mengkonsumsi sequence number. Segmen ini memberi tahu server bahwa ia setuju dan data exhchange bisa segera dilakukan.
    Connection Establishment
  • Data Transfer, merupakan tahapan yang akan terjadi ketika koneksi telah terbentuk. Pertukaran data yang telah di-enkapsulasi terjadi pada tahap ini.
  • Keterangan :
    Proses pertukaran data terjadi. Perhatikan perubahan sequence number tiap pengiriman byte data. Data mungkin datang tidak sesuai urutan. Namun oleh TCP akan disimpan dulu secara temporary dan ketika diberikan ke user maka data sudah dalam urutan yang benar.
    Data Transfer
  • Connection Termination, merupakan tahapan yang akan dijalankan ketika pertukaran data selesai dan terdapat permintaan untuk memutuskan koneksi.

  • Keterangan :
    -FIN mengkonsumsi 1 sequence number jika ia tidak membawa data apapun. Segmen ini digunakan untuk mengakhiri koneksi.
    -FIN + ACK tidak mengkonsumsi sequence number
    Connection Termination
Dari 3 proses tersebut, terdapat tahapan yang menggunakan teori 3 ways handshake, yaitu saat connection establishment dan termination.

0 comments:

Post a Comment