Tampilkan postingan dengan label TCP/UDP. Tampilkan semua postingan
Tampilkan postingan dengan label TCP/UDP. Tampilkan semua postingan

Minggu, 07 Desember 2008

Activity 4.1.6 Segmentation & Reassemble CCNA 1

Pada aktifitas ini, kita belajar untuk mengetahui dasar TCP maupun UDP protocol yang dianimasikan melalui Packet Tracer 5. Setelah mengatur event list yang diinginkan (DNS dan HTTP).

Ketika program simulasi kita jalankan dapat dilihat PC client akan meminta servis DNS, diikuti dengan meminta halaman web. Server mengirim halaman web dalam dua segmen dan PC mendapatkan halaman web tersebut. Aplikasi yang diminta oleh PC ialah DNS dan HTTP. Aplikasi DNS menggunakan UDP dan direpresentasikan oleh Port 53, sedangkan aplikasi HTTP menggunakan protocol TCP dan direpresentasikan oleh Port 80. Sedangkan untuk port yang lainnya degenerate oleh PC dengan nomor port yang lebih besar dari 1023.

Pada simulasi kali ini kita hanya akan focus pada layer 4 dan layer 7, dimana akan terlihat pada transport layer, port apa yang digunakan dan berfungsi sebagai addressing aplikasi apa. Dalam hal ini aplikasi DNS dan HTTP digunakan ketika PC mengakses udptcpexample.com.

PClab1-1.jpg picture by Zakiyy_a

Gambar di atas merupakan informasi PDU pada baris ke 2 proses simulasi, dapat diketahui bahwa informasi PDU yang datang ke server memiliki port asal 1027 (PC) dan port tujuan 53 (DNS). Sedangkan pada informasi PDU yang keluar dari server maka memiliki port asal 53 (DNS) dan port tujuan 1027 (PC).

analisalab11.jpg picture by Zakiyy_a

Gambar di atas dilihat pada server yang menunjukkan PC meminta halaman web, dengan menggunakan protocol TCP. Pada PDU yang datang ke server dapat diketahui port asal PC yang digunakan ialah 1027 dan port tujuan 80 (HTTP). Pada PDU yang keluar dari server port asal ialah 80 dan Port tujuan 1027 (PC).

analisalab12.jpg picture by Zakiyy_a

Selain itu, ACK number pada PDU yang akan keluar dari server menunjukkan nilai 2, dimana pada PDU yang datang masih bernilai 1. Hal ini sesuai dengan teori 3 way Handshake dimana nilai ACK yang dikirim oleh server bernilai satu lebih besar dari nilai inisial sequence (dimana nilai sequencenya = 1).

analisalab13.jpg picture by Zakiyy_a

Pada Gambar di atas ini merupakan informasi PDU yang diterima oleh PC, dimana port asalnya ialah 80 (HTTP) yang dikirim oleh server dengan tujuan port PC 1027. Nilai ACK saat ini ialah 2 yang berarti sesi dengan server telah terjalin, sehingga halaman web dikirim ke PC client.

TRANSPORT LAYER OVERVIEW

Layer Transport bertugas melakukan sesi komunikasi antara komputer dalam jaringan. Menentukan bagaimana data ditransmisikan.

Dua Protocol Transport Layer yang dipakai :

§ Transmission Control Protocol (TCP)

  • Connection-oriented dan reliable communication yang artinya data dijamin sampai tujuan
  • Untuk menjamin diperlukan komunikasi awal dengan penerima sebelum transfer data dilakukan
  • Membutuhkan ack setiap penerimaan data
  • Dipakai untuk mentransmisikan data dalam jumlah besar

§ User Datagram Protocol (UDP).

  • UDP merupakan connectionless communication, bekerja tidak menjamin data sampai ditujuan secara utuh.
  • Normalnya untuk mentransmisikan data dalam jumlah kecil pada satu waktu.
  • Reliabilitasnya/penjaminan data sampai pada penerima tergantung dari aplikasi.

Ada dua komponen yang biasa dipakai selama komunikasi pada layer transport yaitu port dan socket.

Port

Port bisa dikatakan internal address yang disediakan untuk aplikasi tertentu pada komputer. Setiap aplikasi mempunyai port yang berbeda. Port bisa TCP atau UDP, tergantung pada pemakaian protocol apa pada layer transport apakah UDP atau TCP. Nomor Port antara 0 and 65,535. Aplikasi TCP/IP biasanya menggunakan nomor port dibawah 1,024, dimana setiap aplikasi biasanya nomornya sudah pasti. Port ini biasa disebut “Well-Known Ports”.

Socket

Merupakan kombinasi dari IP address dan TCP atau UDP port. Aplikasi men-generate socket ketika berkomunikasi dengan komputer lain. IP address menentukan tujuan komputer dan Port menentukan aplikasi yang dipakai.

UDP

UDP merupakan protokol connectionless, artinya tidak ada sesi komunikasi awal ketika data ditransmisikan. UDP merupakan unreliable protokol. Berarti pesan yang dikirim tanpa ada nomor urut dan tanpa acknowledgment dari penerima shg pengirim tidak pernah tahu apakah pesa sudah diterima penuh atau tidak. Untuk masalah ini ditangani oleh aplikasi.Jika terjadi Lost paket data harus di-retrieve oleh layer diatasnya (aplikasi). Biasanya message UDP ditransmisikan secara regular dalam interval waktu tertentu atau setelah ditentukan batas waktu habis. Hanya membutuhkan sedikit resource memori dan processor. Contoh aplikasi yang menggunakan Protocol UDP Domain Name System(DNS) dan Dynamic Host Configuration Protocol(DHCP).

Berikut ini adalah IP datagram UDP

1.jpg picture by Zakiyy_a

Message UDP ditransmisikan dalam bentuk IP datagrams. Message UDP, terdiri dari IP Header, UDP header, dan Payload. IP header terdiri dari Source IP dan Destination IP :

l Source IP berisi IP address host yang mengirim paket

l Destination IP merisi alamat penerima paket, bisa broadcast address atau multicast address.

Berikut ini adalah UDP header struktur:

2.jpg picture by Zakiyy_a

TCP

TCP merupakan protocol connection-oriented, yang artinya data hanya bisa ditransmisikan setelah ada proses negosiasi terlebih dahulu antara pengirim dan penerima. Negosiasi diantaranya berupa : Berapa data yang bisa dikirim dalam satu waktu, nomor urut yang dipakai setiap pengiriman data dll. TCP biasanya merupakan komunikasi fully duplex, yang artinya Setiap host yang berkomunikasi mempunyai dua chanel logical untuk mengirim dan menerima message. TCP Menyediakan transmisi data yang reliable, dengan cara. Setiap paket data diberi sequence number, dan positive acknowledgement oleh receiver is expected, jika tidak harus retransmite data. Receiver akan membuang jika terjadi duplikasi data, dan resequences packets jika kedatangan tidak urut.

Selain itu, TCP mensupport Flow Control untuk menghindari terlalu banyak data yang dikirim pada satu waktu dan overload pada jaringan router. Flow Control artinya harus ada kesepakatan berada besar data yang dikirim dalam satu waktu antara pengirim dan penerima. Flow Control mengindikasikan ukuran buffer penerima yang free yang bisa diisi dalam waktu tertentu.

Struktur TCP:

14.jpg picture by Zakiyy_a

Kesalahan konfigurasi : Request Time Out & Destination Unreachable

Penjelasan kesalahan konfigurasi, jika terjadi dua hal berikut :

a. Request Time Out

b. destination unreachable.

maka,


a. Request Time Out ialah

parameter yang memungkinkan untuk membatasi waktu pengakses untuk mencoba referensi pada halaman web. Nilai timeout ini diaplikasikan pada semua permintaan HTTP/HTTPS yang dikirim ke server. Jika nilai tersebut melebihi referensi ditandai sebagai down dan peringatan akan dikirim ke client.


b. Sedangkan, destination unreachable ialah

Peringatan ini merupakan ISMP message yang dikeluarkan oleh host atau gateway untuk memberitau client bahwa tujuan data tak terjangkau karena beberapa alas an. Destination unreachable bisa tejadi pada setiap pentransmisian TCP, UDP ataupun ICMP lainnya. Error ini tidak akan terjadi jika datagram asli memiliki alamat tujuan multicast. Peringatan Destination Unreachable bisa terjadi jika koneksi fisik ke host tidak ada, port yang tidak aktif, data terfragmentasi namun ‘don’t fragment’ flag diatur on

Three Way Handshake & Acknowledgment with windowing

3 way handshake

Langkah 1

TCP client memulai dengan mengirimkan sebuah segmen dengan bentuk control flag SYN (Synchronize Sequence Number), mengindikasikan sebuah nilai awal header dari sequence number. Nilai awal yang disebut ISN (Initial Sequence Number) ini secara acak dipilih dan digunakan untuk memulai memantau aliran data dari clien ke server pada sesi tersebut. Nilai ISN pada header dari tiap segmen akan dinaikkan satu setiap data yang dikirim dari client ke server ketika percakapan data.

Langkah 2

TCP server membutuhkan untuk mengetahui isi segmen SYN dari client untuk membangun sesi dari client ke server. Untuk mencapai hal itu, server mengirim sebuah segmen kembali ke client dengan bentuk ACK flag mengindikasikan bahwa nilai acknowledgment tersebut signifikan. Dengan diaturnya flag pada segmen, client mengetahui bahwa server menerima SYN dari TCP client.

Langkah 3

Akhirnya, TCP client merespon dengan sebuah segmen yang mengandung sebuah ACK yang merupakan respon atas TCP SYN dari server. Pada segmen ini tidak ada data dari user. Nilai pada acknowledgment number ini mengandung lebih besar satu dari initial sequence number yang diterima dari server. Ketika kedua sesi terbangun antara client dan server, semua pergantian segmen pada komunikasi ini akan memiliki ACK flag yang telah teratur.

Acknowledgment with windowing pada TCP

Header segmen sequence number dan acknowledgement number digunakan secara bersama untuk mengkonfirmasi byte yang terkandung dalam segmen. Sequence number mengindikasikan jumlah relative dari byte yang telah ditransmisi pada sesi ini termasuk byte yang terkandung dalam segmen. TCP menggunakan acknowledgement number di segments yang dikirm balik ke sumber untuk mengindikasikan byte berikutnya pada sesi ini yang penerima akan mendapatkannya. Ini disebut expectational acknowledgement.

Namun selama sesi tersebut dilakukan, ada pembatasan pengiriman jumlah byte dengan windowing (window size). Window size sendiri adalah banyaknya data yang dapat ditransmisikan oleh pengirim sebelum menerima sinyal acknowledgement.

Perbedaan antara congestion control dengan flow control

Perbedaan antara congestion control dengan flow control

Flow control merupakan mekanisme atau kemampuan untuk mencegah data membanjiri penerima. Flow control mendukung kehandalan dari transmisi TCP dengan mengatur kecepatan efektif dari aliran data antara dua layanan dalam suatu session. Ketika sumber telah diinformasikan bahwa beberapa jumlah data dalam segmen telah diterima, maka sumber dapat mengirimkan lebih untuk session tersebut. Flow Control untuk menghindari terlalu banyak data yang dikirim pada satu waktu dan overload pada jaringan router. Flow Control artinya harus ada kesepakatan berada besar data yang dikirim dalam satu waktu antara pengirim dan penerima. Flow Control mengindikasikan ukuran buffer penerima yang free yang bisa diisi dalam waktu tertentu

Congestion control merupakan mekanisme untuk mencegah data membanjiri jaringan. Dengan flow control dan mengatur window size dapat mencegah terjadinya congestion pada jaringan.

Perbedaan antara congestion control dengan flow control

- Congestion Control :
o Penanganan pada traffic pada subnet
o Masalah global melibatkan :
+ Tingkah laku host
+ Router
+ Pengolahan store and forward pada router

- Flow Control :
o Traffic point to point
o Perbedaan kecepatan antara pengirim dan penerima