Pages

Monday, January 7, 2013

Cisco Fundamental : Transport Layer



OSI Transport Layer
                Secara umum, fungsi layer ini adalah:
1)      Memungkinkan aplikasi berkomunikasi melalui jaringan bersamaan pada suatu perangkat.
2)      Menjamin (bila dibutuhkan) reliabilitas data yang diterima dan diterima oleh aplikasi yang tepat berurutan.
3)      Menangani mekanisme error.



                Tugas Transport Layer
1)      Melakukan “tracking” komunikasi individual antar aplikasi sumber dan tujuan.
2)      Segmentasi data.
3)      Penyusunan (reassembling) segmen menjadi data aplikasi.
4)      Mengidentifikasikan aplikasi yang digunakan.

Tugas Transport Layer
1.       “Tracking”
                Setiap host mungkin memiliki berbagai aplikasi yang memanfaatkan jaringan. Tiap aplikasi ini akan berkomunikasi dengan aplikasi lain atau host lain. Tugas layer 4 adalah mempertahankan berbagai jalur komunikasi diantara aplikasi ini.


2.       Segmentasi dan Reassembly
                Setiap aplikasi membuat stream data untuk dikirim, data ini harus dipecah (disegmentasi) agar bisa dikirim melalui media. (Ingat metode packet switching). Membutuhkan enkapsulasi berupa header transport yang berisi informasi untuk identifikasi potongan. Saat diterima, tugas layer 4 adalah menyusun ulang potongan tersebut dan mengirimkannya ke aplikasi yang tepat.


3.       Identifikasi aplikasi
                Transport layer dapat mengetahui aplikasi pengguna data yang tepat dengan cara memberikan identifier khusus. Pada protokol TCP/IP, identifier ini disebut nomor port (port number). Dengan bantuan layer transport, aplikasi yang memanfaatkan jaringan tidak perlu mengetahui detail operasi jaringan, seperti : jenis host, tipe media, jalur pengiriman dan ukuran jaringan. Layer dibawah transport juga tidak mengetahui ada berbagai aplikasi yang mengirimkan data. Tanggung jawab layer dibawah hanya mengirimkan data ke tujuan.

4.       Conversation control
                Berikut adalah tugas tambahan pada layer 4
1)      Establishing a session
                Menjamin aplikasi siap menerima data dengan cara membuka session dan melakukan manajemen session.
2)      Reliable delivery
                Ada banyak hal yang mempengaruhi keutuhan data dan transmisinya, layer 4 bertanggung jawab menjamin setiap potongan (segmen) mencapai tujuan dan bila diperlukan melakukan transmisi ulang.
3)      Same order delivery
                Karena jalur yang ditempuh dapat berbeda-beda, maka layer 4 harus menjamin bahwa segmen-segmen tersebut dapat disusun ulang dalam urutan yang tepat.
4)      Flow control
                Jaringan memiliki sumber daya terbatas (seperti memory/bandwidth), beberapa jenis protokol layer 4 dapat mengurangi kecepatan kirim bila kondisi kelebihan beban terdeteksi. Hal ini mengurangi kemungkinan hilangnya segmen data karena kondisi jaringan yang penuh.

Protokol
                Karena kebutuhan aplikasi berbeda, detail kerja protokol pada layer ini bisa berbeda. Secara umum ada dua protokol pada layer ini : TCP dan UDP.



Menjamin Reliablitias
                Untuk menjamin reliabilitas data yang dikirim, layer 4 harus melakukan operasi berikut:
1)      Tracking transmitted data.
2)      Acknowledging received data.
3)      Retransmitting any unacknowledged data.
                Untuk melakukan manajemen tersebut, digunakan informasi yang terdapat pada header layer 4, dan pengiriman control data melalui jaringan. Hal ini merupakan beban tambahan bagi bandwidth jaringan, dan tidak selalu dibutuhkan.
                Perbedaan aplikasi dan pemanfaatan data membedakan metode penjaminan reliablitas pengiriman. Ada dua jenis utama, yaitu:
1)      Reliable – ada acknowledgement – pengiriman data ulang – pengiriman berurut.
2)      Cepat – beban kecil – tidak perlu acknowledgment – tidak perlu resent – pengiriman tidak berurut.
                Jenis pertama cocok untuk data sensitive yang harus lengkap seperti data transaksi, email, web dan sebagainya. Jenis kedua cocok untuk data yang bersifat streaming seperti VoIP dan streaming.

Protokol Layer 4
Ada 2 protokol umum pada layer 4 yaitu:
1.       TCP (Transmission Control Protocol)
2.       UDP (User Datagram Protocol)

TCP (Transmission Control Protocol)
                TCP (Transmission Control Protocol) adalah protokol berorientasi koneksi (connection oriented protocol), dinyatakan pada RFC 793. Menambah overhead tambahan untuk fungsionalitas.
Fungsinya berupa:
1)      Same order delivery.
2)      Reliable delivery.
3)      Flow control.
                Tiap segmen TCP berukuran 20 byte overhead pada data enkapsulasi. Aplikasi yang menggunakan adalah:
1)      Web browsers
2)      Email
3)      File transfers

Header TCP
Nama Field
Ukuran
keterangan
Source port
2 byte (16 bit)
Mengindikasikan sumber protokol lapisan aplikasi yang mengirimkan segmen TCP yang bersangkutan. Gabungan antara field source IP address dalam header IP dan field source port dalam field header TCP disebut juga sebagai socket number, yang berarti sebuah alamat global dari mana segmen dikirimkan. Lihat juga Port TCP.
Destination port
2 byte (16 bit)
Mengindikasikan tujuan protokol lapisan aplikasi yang menerima segmen TCP yang bersangkutan. Gabungan antara field destination IP address dalam header IP dan field destination port dalam field header TCP disebut juga sebagai socket tujuan, yang berarti sebuah alamat global ke mana segmen akan dikirimkan.
Sequence number
4 byte (32 bit)
Mengindikasikan nomor urut dari octet pertama dari data di dalam sebuah segmen TCP yang hendak dikirimkan. Field ini harus selalu diset, meskipun tidak ada data (payload) dalam segmen. Ketika memulai sebuah sesi koneksi TCP, segmen dengan flag SYN (Synchronization) diset ke nilai 1, field ini akan berisi nilai initial sequence number (ISN). Hal ini berarti, octet pertama dalam aliran byte (byte stream) dalam koneksi adalah ISN + 1.
Acknowledgement number
4 byte (32 bit)
Mengindikasikan nomor urut dari octet selanjutnya dalam aliran byte yang diharapkan  untuk diterima oleh pengirim dari si penerima pada pengiriman selanjutnya. Acknowledgement number sangat dipentingkan bagi segmen-segmen TCP dengan flag ACK diser ke nilai 1.
Data offset
4 bit
Mengindikasikan di mana data dalam segmen TCP dimulai. Field ini juga dapat berarti ukuran dari header TCP. Sperti halnya field Header Length dalam header IP, field ini merupakan angka dari word 32 bit dalam header TCP. Untuk sebuah segmen TCP terkecil (dimana tidak ada opsi TCP tambahan), field ini diatur ke nilai 0x5, yang berarti data dalam segmen TCP dimulai dari octet ke 20 dilihat dari permulaan segmen TCP. Jika field Data Offset diset ke nilai maksimumnya (24 = 16) yakni 15, header TCP dengan ukuran terbesar dapat memiliki panjang hingga 60 byte.
Reserved
6 bit
Direservasikan untuk digunakan pada masa depan. Pengirim segmen TCP akan mengeset bit-bit ini ke dalam nilai 0.
Flags
6 bit
Mengindikasikan flag-flag TCP yang memang ada enam jumlahnya, yang terdiri atas: URG (urgent), ACK (acknowledgement), PSH (push), RST (reset), SYN (synchronize), dan FIN (finish).
Window
2 byte (16 bit)
Mengindikasikan jumlah byte yang tersedia yang dimiliki oleh buffer host penerima segmen yang bersangkutan. Buffer ini disebut sebagai Receive Buffer, digunakan untuk menyimpan byte stream yang datang. Dengan mengimbuhkan ukuran window ke setiap segmen, penerima segmen TCP memberitahukan kepada pengirim segmen berapa banyak data yang dapat dikirimkan dan disangga dengan sukses. Hal ini dilakukan agar si pengirim segmen tidak mengirimkan data lebih banyak dibandingkan ukuran Receive Buffer. Jika tidak ada tempat lagi di dalam Receive Buffer, nilai dari field ini adalah 0. Dengan nilai 0, maka si pengirim tidak akan dapat mengirimkan segmen lagi ke penerima hingga nilai field ini berubah (bukan 0). Tujuan hal ini adalah untuk mengatur lalu lintas data atau flow control.
Checksum
2 byte (16 bit)
Mampu melakukan pengecekan integritas segmen TCP (headernya dan payloadnya). Nilai field checksum akan diatur ke nilai 0 selama proses kalkulasi checksum.
Urgent Pointer
2 byte (16 bit)
Menandakan lokasi data yang dianggap “urgent” dalam segmen.
Options
4 byte (32 bit)
Berfungsi sebagai penampung beberapa opsi tambahan TCP. Setiap opsi TCP akan memakan ruangan 32 bit, sehingga ukuran header TCP dapat diindikasikan dengan menggunakan field Data Offset.

UDP (User Datagram Protocol)
                UDP (User Datagram Protocol) adalah protokol sederhana yang tidak berorientasi koneksi (connectionless protocol), dinyatakan pada RFC 768. Keuntungannya adalah overhead yang rendah. Tiap potongan data dari UDP disebut datagram. Dikirim dengan metode usaha terbaik (best effort). Aplikasi yang menggunakan UDP : Domain Name System (DNS), Video Streaming, Voice over IP (VoIP).

Header UDP
Field
Panjang
Keterangan
Source port
16 bit (2 byte)
Digunakan untuk mengidentifikasikan sumber protokol lapisan aplikasi yang mengirimkan pesan UDP yang bersangkutan. Penggunaan field ini adalah opsional, dan jika tidak digunakan, akan diset ke angka 0. Beberapa protokol lapisan aplikasi dapat menggunakan nilai field ini dari pesan UDP yang masuk sebagai nilai field port tujuan (Destination Port, lihat baris selanjutnya) sebagai balasan untuk pesan tersebut.
Destination Port
16 bit (2 byte)
Digunakan untuk mengidentifikasikan tujuan protokol lapisan aplikasi yang menjadi tujuan pesan UDP yang bersangkutan. Dengan menggunakan kombinasi antara alamat IP dengan nilai dari field ini untuk membuat sebuah alamat yang signifikan untuk mengidentifikasikan proses yang berjalan dalam sebuah host tertentu yang dituju oleh pesan UDP yang bersangkutan.
Length
16 bit (2 byte)
Digunakan untuk mengindikasikan panjang pesan UDP (pesan UDP ditambah dengan header UDP) dalam satuan byte. Ukuran paling kecil adalah 8 byte (ukuran header UDP, ketika tidak ada isi pesan UDP), dan ukuran paling besar adalah 65515 bytes (65535 [216] -20 [ukuran header protokol IP]). Panjang maksimum actual dari pesan UDP akan disesuaikan dengan menggunakan nilai Maximum Transmission Unit (MTU) dari saluran di mana pesan UDP dikirimkan. Field ini bersifat redundan (terulang-ulang). Panjang pesan UDP dapat dihitung dari field Length dalam header UDP dan field IP Header Length dalam header IP.
Checksum
16 bit (2 byte)
Berisi informasi pengecekan integritas dari pesan UDP yang dikirimkan (header UDP dan pesan UDP). Penggunaan field ini adalah opsional. Jika tidak digunakan, field ini akan bernilai 0.

Port Addressing
                Untuk mengetahui aplikasi mana yang menggunakan, tiap segmen atau datagram dilengkapi dengan nomor port. Server memiliki static port number yang telah ditentukan, misalnya, port untuk web server ialah 80. Client akan menggunakan alamat port yang dinamis acak. 


                Contoh, jika sebuah client dengan IP 192.168.5.5 membuka browser dan mengakses halaman pada IP 192.168.5.100. Browser akan memilih nomor port secara dinamis (di luar port standar), yang dipakai sebagai host tersebut. Misalnya 49152. Segmen akan dikirim ke alamat 192.168.5.100:80. Sedangkan balasan dari server akan berupa segmen dengan tujuan 192.168.5.5:49152.
                Berikut adalah pembagian jatah nomor port oleh IANA (Internet Assigned Numbers Authority).
1)      Well known ports (numbers 0 – 1023) – Reservasi oleh aplikasi dan layanan umum seperti web server, email, telnet dan sebagainya.
2)      Registered ports (numbers 1024 to 49151) – Untuk proses user atau aplikasi, umumnya berupa aplikasi individual yang diinstall pada host, juga dapat digunakan secara dinamis.
3)      Diynamic or private ports (numbers 49152 to 65535) – juga disebut sebagai Ephemeral ports. Umumnya digunakan secara dinamis oleh aplikasi client.

                Data port number yang distandarisasi saat ini dapat dilihat pada http://www.iana.org/assignments/port-numbers


Contoh TCP

Contoh UDP

Contoh TCP dan UDP

Tool
                Untuk memonitor koneksi dan port yang digunakan, dapat digunakan aplikasi netstat. Dapat diketahui protokol, alamat local, tujuan, port dan status koneksi.

Segmentasi dan Reassembly
                Membagi data aplikasi menjadi segment atau datagram, menjamin data tersebut dikirim dalam batasan (kemampuan) media, dan data dari aplikasi berbeda dapat dimultiplex menggunakan media yang sama.

                Pada dasarnya UDP tidak memberikan nomor pengurutan, sehingga sebuah datagram dapat sampai pada urutan yang berbeda-beda. Hal ini harus diantisipasi oleh aplikasi yang menggunakan. 

sumber : Cisco Fundamental 1, Joko Christian, M.Kom

No comments:

Post a Comment