Minggu, 07 Desember 2008

Activity 4.2.5 (TCP Session Termination)

Simulasi kali ini berkaitan dengan TCP Session Establishment and TCP Session Termination. Simulasi ini memperlihatkan bagaimana pembentukan TCP session melalui proses three way handshake. Dimulai dari PC meminta request tentang halaman web, kemudian server mengirim halaman web dalam dua segmen. Kemudian dilanjutkan dengan acknowledgement dari PC mengenai halaman web yang direquest, kemudian setelah itu dilakukan terminasi/pemutusan session.

Berikut ini merupakan analisa 4 koneksi TCP pertama:

1) divais PC mencoba melakukan koneksi TCP ke 192.168.1.2 pada port 80 (HTTP), kemudian divais ini mengirim segmen TCP SYN dan mengatur kondisi koneksi ke SYN_SENT.

2) divais pada server menerima segmen TCP SYN pada port 80 kemudian permintaan koneksi tersebut diterima. Divais server mengatur kondisi koneksi menjadi SYN_RECEIVED kemudian server akan mengirim segmen TCP SYN+ACK ke PC Client.

3) Divais pada PC menerima segmen TCP SYN+ACK dalam koneksi 192.168.1.2 pada port 80 kemudian segmen TCP memiliki sequence number yang diharapkan. Divais ini kemudian akan menambah satu sequence number tersebut. Segmem TCP juga memiliki ACK number yang telah diharapkan, divais ini mengeluarkan segmen terakhir yang telah dikirim dari buffer. Dengan ini koneksi TCP akan sukses dan divais menetapkan kondisi koneksi menjadi ESTABISHED. Kemudian Divais pada PC ini akan mengirim segmen TCP ACK.

4) Divais pada Server menerima segmen TCP ACK yang dikirim divais PC. Segmen TCP tersebut memiliki ACK number yang diharapkan sehingga divais PC akan mengeluarkan segmen terakhir yang dikirim dari buffer dengan ini koneksi TCP telah berhasil dan divais mengubah koneksi menjadi ESTBLISHED juga.

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.

Wireshark

Program wireshark merupakan salah satu program networking yang digunakan untuk monitoring traffic networking, sniffing dsb, lebih umum dikenal sebagai sniffing (mengendus) tools. Wireshark secara interaktif dapat mem-browse paket data dari network realtime atau dari file yang telah di capture sebelumnya. User dapat menggunakan ini untuk berbagai macam keperluan seperti instrusion detection, traffic monitoring, debug protocol implementation.

Supaya dapat melihat paket data, kita sebelumnya harus mengcapture dahulu dari sebuah live network atau dengan me-load dari existing capture file. Setiap paket memiliki struktur sendiri tergantung dari protocol yang digunakan. Salah satu kelebihan wireshark adalah program ini mendukung banyak protocol dan dapat digunakan untuk open dan save sebuah format yang besar dari file yg kita capture.

Ketika file telah kita load/capture, user dapat menggunakan berbagai mecam filter yang telah tersedia pada toolbar dan user dapat mengecek detil dari paket tersebut. Tidak hanya itu tepai kita juga dapat mencari paket yang diinginkan dengan memasukkan filter, contoh filter password dsb.

Advanced fitur dari wireshark adalah TCP stream, end with name resolution, dan checksum. Membedah traffic network bukanlah pekerjaan yang mudah tetapi dengan menggunakan wireshark pekerjaan yang sulit ini akan mejadi lebih mudah dibandingakan biasanya. Program ini sangat powerful, high customizable dan juga gratis.

Berikut merupakan snapshot dari wireshark action :

4.jpg picture by Zakiyy_a

Packet Tracer


3.jpg picture by Zakiyy_a




Packet tracer adalah sebuah interaktif software untuk pembelajaran operasi dasar dari berbagai networking devices pada data link layer dan networking layer pada OSI model. Software ini ditujukan untuk pengajaran awal networking sehingga user dapat memahami bagaimana cara kerja suatu networking devices. Bisa dikatakan bahwa packet tracer merupakan program simulasi jaringan, sehingga user dapat membangun jaringan sendiri, mengobservasi “tingkah laku” dari data frame serta paket-paket yang melalui router, switch, dan peralatan lainnya. Tujuan utama kita menggunakan Packet tracer yaitu untuk membantu kita memahami fungsi-fungsi dasar dari berbagai networking devices dan bagaimana peralatan tersebut menghandle frame dan paket-paket.

Salah satu aspek yang paling berharga dari packet tracer ini adalah kemampuan untuk menjalankan simulasi setelah membangun / mendesain jaringan. Uer dapat membuat sebuah jaringan dan membuat beberapa jaringan yang berbeda skenarionya dalam pengiriman paket dari sumber yang berbeda ke tujuan yang berbeda pula. User-pun dapat menyimpan serta membuka file yang telah dibuatnya itu.

Network devices yang dapat didukung oleh packet tracer antara lain :

  1. Router
  2. Cloud
  3. Switch
  4. Bridge
  5. Repeater
  6. Hub
  7. Wireless
  8. Access Point
  9. PC
  10. Server

Interfaces yang dapat didukung oleh packet tracer antara lain:

1. Ethernet (copper)

2. Fast Ethernet (copper and fiber)

3. Gigabit Ethernet (copper and fiber)

4. Serial

5. Modem

6. Wireless

Bandwidth yang dapat didukung oleh packet tracer yaitu :

  1. 56 Kbps
  2. 128 Kbps
  3. 384 Kbps
  4. 786 Kbps
  5. 1.544 Mbps
  6. 2.048 Mbps

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

Encapsulation Process

proses yang membuat satu jenis paket data jaringan menjadi jenis data lainnya. Enkapsulasi terjadi ketika sebuah protokol yang berada pada lapisan yang lebih rendah menerima data dari protokol yang berada pada lapisan yang lebih tinggi dan meletakkan data ke format data yang dipahami oleh protokol tersebut.

Berikut akan dijelaskan bagaimana jalannya data dari host A menuju host B:

1) Pertama-tama data dibuat oleh Host A. Kemudian data tersebut turun dari Application layer sampai ke physical layer (dalam proses ini data akan ditambahkan header setiap turun 1 lapisan kecuali pada Physical layer, sehingga terjadi enkapsulasi sempurna).

2) Data keluar dari host A menuju kabel dalam bentuk bit (kabel bekerja pada Physical layer).

3) Data masuk ke hub, tetapi data dalam bentuk bit tersebut tidak mengalami proses apa-apa karena hub bekerja pada Physical layer.

4) Setelah data keluar dari hub, data masuk ke switch. Karena switch bekerja pada Datalink layer/ layer 2, maka data akan naik sampai layer 2 kemudian dilakukan proses, setelah itu data turun dari layer 2 kembali ke layer 1/ phisycal layer.

5) Setelah data keluar dari switch, data masuk ke router. Karena router bekerja pada layer 3/ Network layer, maka data naik sampai layer 3 kemudian dilakukan proses, setelah itu data turun dari layer 3 kembali ke layer 1 , dan data keluar dari router menuju kabel dalam bentuk bit.

6) Pada akhirnya data sampai pada host B. Data dalam bentuk bit naik dari layer 1 sampai layer 7. Dalam proses ini data yang dibungkus oleh header-header layer OSI mulai dilepas satu persatu sesuai dengan lapisannya (berlawanan dengan proses no 1 ). Setalah data sampai di layer 7 maka data siap dipakai oleh host B.