Sabtu, 16 November 2013

Transport Layer

Lapisan transpor atau transport layer adalah lapisan keempat dari model referensi jaringan OSI. Lapisan transpor bertanggung jawab untuk menyediakan layanan-layanan yang dapat diandalkan kepada protokol-protokol yang terletak di atasnya. Layanan yang dimaksud antara lain:

Mengatur alur (flow control), Mengurutkan paket (packet sequencing), Penanganan kesalahan dan fitur acknowledgmentMultiplexing, Pembentukan sirkuit virtual.

Transport Layer bertanggung jawab untuk menyampaikan data ke proses aplikasi yang sesuai pada komputer host. Hal ini melibatkan multiplexing statistik data dari proses aplikasi yang berbeda, yaitu data paket membentuk, dan menambahkan sumber dan nomor port tujuan dalam header setiap paket data yang Transport Layer. Bersama dengan sumber dan alamat tujuan IP, nomor port merupakan soket jaringan, yaitu alamat identifikasi proses-ke-proses komunikasi. Dalam model OSI, fungsi ini didukung oleh Session Layer.
Protokol yang bekerja pada lapisan transport adalah Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP) yang tersedia dari kumpulan protokol TCP/IP.

Sekarang kita akan membahas sedikit tentang TCP/IP dan UDP. TCP/IP (Transmission Control Protocol) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar menukar data dari satu kompuuter ke komputer lain di dalam jaringan internet. UDP (User Datagram Protocol) adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang unreliable, tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP.
TCP: CONNECTION-ORIENTED TRANSPORT PROTOCOL
TCP mempunyai beberapa fitur penting lain yang perlu diperhatikan :
Stream-oriented processing: TCP memproses data dalam bentuk stream. Dengan kata lain, TCP dapat menerima data dalam bentuk 1 byte sebagai ganti block data yang belum diformat. TCP memformat data menjadi segment-segment yang akan diserahkan pada Internet layer.

Resequencing: Menyusun kembali data-data yang datang secara acak sesuai dengan urutan aslinya.

Flow control: fitur flow control ini memastikan data yang ditransmisikan tidak membanjiri mesin penerima melebihi kemampuannya menerima data dalam satu waktu.

Precedence and security: Banyak software yang mengimplementasikan TCP, namun sedikit yang menyediakan fitur ini. 

Graceful close: TCP selalu menutup koneksi nya secara formal sebagaimana saat membentuk koneksi.

Pembahasan tentang TCP ini juga menunjukkan bahwa sebuah protokol lebih dari sekedar format data; ia adalah keseluruhan sistem proses interaksi dan desain prosedur untuk mencapai tujuan yang diinginkan.
Point penting lain yang perlu kita ketahui adalah, router tidak berhubungan dengan informasi-informasi pada transport layer. Router Cuma menyerahkan data dari transport layer dalam bentuk IP datagram. Informasi Kontrol dan verifikasi  yang di encode dalam segment TCP ditujukan semata-mata untuk software TCP pada mesin tujuan. Hal ini mempercepat routing internetwork karena router tidak ikut berpartisipasi pada proses-proses TCP.
Koneksi TCP
TCP mendukung dua tipe status open :
Passive open: Proses aplikasi (server) tertentu memberitahukan TCP bahwa aplikasi tersebut sudah siap menerima datangnya rekues koneksi melalui TCP port. Karena itu, jalur dari TCP menuju aplikasi dibuka sebagai antisipasi datangnya rekues koneksi.

Active open: Sebuah aplikasi (client) merekues TCP untuk menginisiasi koneksi dengan komputer lain yang berada pada status passive open.
Klien adalah komputer yang melakukan rekues atau menerima servis dari komputer lain dalam network.
Server adalah komputer yang menawarkan servis pada komputer lain dalam network.
Menjalin Koneksi
Agar acknowledgement bisa dijalankan, mesin-mesin harus saling mensinkronkan nomor urut (sequence number) mereka terlebih dahulu. Proses sinkronisasi inilah yang dikenal sebagai three-way handshake. Tiga langkah dalam three-way handshake seperti berikut:
1.    Komputer A mengirim segment data dengan
SYN = 1; ACK = 0
Sequence Number = X , dimana X adalah initial sequence number (ISN) komputer A

2.    Komputer B menerima segment dari komputer A dan mengembalikan segment dengan
SYN=1;ACK=1
Sequence number = Y, dimana Y adalah ISN dari komputer B
Acknowledgment number = M+1, dimana M adalah nilai sequence number yang terakhir diterima dari komputer A.

3.    Komputer A mengirimkan segment pada komputer B yang berupa acknowledge atas ISN dari komputer B.
SYN = 0; ACK=1
Sequence number = sequence number selanjutnya (M+1)
acknowledgment number = N +1, dimana N adalah nilai sequence number terakhir yang diterima dari komputer B.

Setelah three-way handshake, koneksi terjalin, dan modul-modul TCP mengirim dan menerima data menggunakan sequence dan acknowledgment.
TCP Flow Control
Field window pada TCP header berfungsi untuk mekanisme flow control koneksi. Tujuan dari field window tersebut adalah memastikan komputer pengirim tidak mengirim data terlalu banyak dan terlalu cepat yang bisa menyebabkan hilangnya data pada komputer penerima karena tidak terproses. Metode flow control yang digunakan TCP ini biasa disebut sliding window.
Closing a Connection
Saat tiba memutuskan koneksi, komputer yang menginginkan pemutusan koneksi, komputer A, menempatkan segment pada antrian dengan variable FIN di isi dengan angkat 1. Aplikasi kemudian memasuki status fin-wait. Dalam status fin-wait, software TCP komputer A tetap menerima segment dan memproses segment yang sudah berada pada antrian, tetapi tidak ada tambahan data yang diterima dari aplikasi. Ketika komputer B menerima segment FIN, ia akan memberikan acknowledgment, mengirimkan segment yang tersisa, dan membertahukan aplikasi lokal bahwa segment FIN telah diterima. Komputer B kemudian mengirimkan segment FIN ke komputer A, komputer A memberikan acknowledgment, dan koneksi dihentikan..
UDP: CONNECTIONLESS TRANSPORT PROTOCOL

UDP jauh lebih sederhana dibandingkan dengan TCP, UDP tidak menyediakan fungsi-fungsi seperti yang disebutkan diatas. Namun, ada beberapa hal yang perlu diperhatikan tentang UDP ini.
Pertama, walaupun UDP dikatakan tidak punya kemampuan error-checking, faktanya, UDP mampu melakukan error-checking sederhana. Jadi akan lebih benar jika menyebut UDP sebagai protokol yang memiliki fungsi error-checking yang terbatas.
Kedua, UDP tidak menawarkan resequencing (pengurutan kembali) data seperti pada TCP.
Kemudian, UDP tidak melakukan transmisi ulang jika ada data yang korup atau hilang, tidak mengurutkan datagram yang diterima, tidak mengeliminasi duplikasi datagram, tidak memberikan acknowledgmnet atas segment yang diterima, juga tidak menjalin dan memutus koneksi. UDP pada dasarnya adalah mekanisme yang dibuat untuk aplikasi yang ingin mentransfer data tanpa kelebihan-kelebihan yang ditawarkan TCP.
Karena UDP header yang sebenarnya tidak menyertakan IP address sumber dan tujuan, maka mungkin saja, datagram disampaikan pada komputer yang tidak dituju. Bagian data yang digunakan untuk kalkulasi checksum adalah sebuah string yang diextract dari IP header yang dikenal sebagai pseudo-heder. Pseudo-header inilah yang menyediakan informasi IP address tujuan sehingga komputer penerima bisa menentukan apakah datagram UDP tersebut salah kirim atau tidak.
Firewalls

Firewall adalah sistem yang melindungi jaringan lokal dari serangan-serangan dari user-user tidak berkepentingan yang berusaha mengakses LAN dari internet. Firewalls melaksanakan beberapa fungsi. Namun, fitur dasar dari firewall bersinggungan dengan pembahasan kita diatas.
Fitur tersebut adalah kemampuan firewall untuk mem-block akses pada port-port TCP dan UDP tertentu. Kata firewall kadang-kadang digunakan sebagai sebuah usaha untuk menutup akses pada port.