Minggu, 15 November 2009

Protokol Transport (TCP/UDP)

Tipe Transfer Data :

komunikasi logika pada lapisan Transport dapat berbentuk :

- connectionless atau connection-oriented.

- Reliable atau unreliable : Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim. Pengiriman data Unreliable sangat menggantungkan diri pada lapisan jaringan di bawahnya, sehingga tidakdapat menyakinkan apaah segment data dapat dikirimkan sampai ditujuannya atau tidak.

- Stateful atau stateless. Pengiriman data stateful berarti informasi yang dimasukkan pada satu request, yang dikirimkan dari pengirim ke penerima, dapat dimodifikasi untuk request berikutnya. Sedangkan pengiriman stateless berarti informasi dalam satu request tidak dapat dikaitkan dengan request lainnya, sehingga tidak dapat digunakan untuk request lainnya.

Fungsi :

untuk menyediakan komunikasi logika antar proses aplikasi yang berjalan pada host yang berbeda

untuk protokol transport berjalan pada end systems

untuk Perbedaan dengan Lapisan Network :

• lapisan network : transfer data antar end-system

• lapisan transport : transfer data antar proses

untuk Layanan transport pada Internet :

• reliable, pengiriman dalam suatu urutan dengan model unicast. Contoh : TCP

• unreliable, pengiriman tidak dalam suatu urutan dengan model unicast atau multicast. Contoh : UDP

- untuk Pada layanan transport, satuan data yang dipertukarkan disebut sebagai segment (TPDU = Transprot Protocol Data Unit)

- untuk Layanan transport menyediakan demultiplexing untuk dapat mengirimkan segment ke proses lapisan aplikasi yang sesuai berdasar alamat dan port proses tersebut.

- untuk Selain itu juga melakukan multiplexing, yang akan mengambil data dari beberapa proses aplikasi, dan membungkus data dengan header.

- untuk Multiplexing dan Demultiplexing di dasarkan pada pengirim dan nomor port serta alamat IP penerima.

• Terdapat nomor port sumber dan tujuan pada tiap segment.

Untuk alamat proses, yaitu port, berdasar standarisasi dari IANA, dapat dikelompokkan menjadi 3, yaitu

- Well-known port, yaitu 0 - 1023

- Registered port, yaitu 1024 - 49151

- Dynamic/Private port, 49152 – 65535


UDP (User Datagram Protocol)

· Mengapa ada UDP?

- Tidak perlu adanya setup koneksi terlebih dahulu (hal ini dapat menyebabkan tambahan delay)

- sederhana, artinya antara penerima dan pengirim tidak perlu menjaga session atau status koneksi

- ukuran header segment sederhana

- tidak perlu kontrol kemacetan koneksi, artinya UDP dapat mengirimkan per segment tanpa dipengaruhi oleh kesibukan jaringan

· Didefinisikan dengan RFC 768

· Menerapkan layanan connectionless :

- untuk tidak ada handshaking antara pengirim UDP dan penerimanya

- untuk setiap segment UDP ditangani secara independen dengan segment UDP lainnya

· Kelemahan :

- untuk segment UDP mungkin akan hilang

untuk paket diterima mungkin dalam keadaan yang tidak urut. Jika paket yang diterima tidak urut, paket akan dibuang.

· tidak ada kontrol kemacetan koneksi (congestion control), artinya UDP dapat mengirimkan per segment tanpa dipengaruhi oleh kesibukan jaringan. Secara prinsip lapisan transport harus memberikan congestion control ini selama transmisi terjadi. Congestion dapat terjadi karena terlalu banyak paket data pada jaringan sehingga membuat unjuk kerja jaringan menjadi menurun. Hal ini dapat disebabkan, misalnya karena adanya router terlalu penuh buffernya sehingga memperlambat.

Checksum UDP

· Untuk membantu pengecekan kondisi paket segment UDP yang diterima, pada header UDP terdapat field checksum (16 bit). Checksum dihitung dari Pseudo-header yang di dalamnya terdapat alamat IP sumber dan tujuan, plus field protocol dari header IP. (untuk calculator checksum Ipv4.

Aplikasi UDP

· Digunakan untuk multimedia streaming, yang sangat memberikan toleransi kehilangan segment cukup baik dan yang sangat tidak sensitive terhadap kerusakan atau kehilangan segment

· Contoh protokol aplikasi yang menggunakan UDP :

- DNS (Domain Name System) 53

- SNMP, (Simple Network Management Protocol) 161, 162

- TFTP (Trivial File Transfer Protocol) 69

- SunRPC port 111.

- dsb. (tolong sebutkan contoh lain! Wajib untuk diketahui!)

· Untuk membuat pengiriman yang reliable dengan protokol UDP, maka pada lapisan protokol aplikasinya harus menyediakan penanganan kesalahan tersendiri.

TCP (Transmission Control Protocol)

· Didefinisikan dengan RFC: 793, 1122, 1323, 2018, 2581

· Berikut beberapa karakteristik TCP :

- untuk point-to-point

- untuk reliable dan stateful

- untuk pipeline, menerapkan flow control window sliding untuk mengontrol kemacetan dan aliran datanya

- untuk terdapat buffer pengirim dan penerima

- untuk full-duplex

- untuk connection-oriented

- untuk aliran data yang dikontrol

Struktur paket segment TCP lebih komplek daripada UDP :

Pada header TCP tersebut terlihat bahwa TCP menerapkan flow control sliding window, yaitu pada rcvr windows size, yang berisi jumlah buffer (byte) penerima. Berdasar informasi field tersebut, pengirim akan selalu mempertahankan untuk tidak mengirim data dengan ukuran yang melebihi ukuran yang tersebut pada field rcvr windows size tersebut.

Oleh karena TCP menerapkan model koneksi connection oriented, maka ketika setup data sudah terbentuk, antara pengirim dan penerima dapat saling mempertukarkan data secara full duplex dengan tetap menjaga session koneksi diantara penerima dan pengirim (stateful). Untuk dapat melaksanakan mekanisme tersebut

Manajemen Koneksi TCP

Pada saat Setup Koneksi

1.client mengirimkan kontrol TCP SYN ke server, dengan memberikan sequence number inisial

2.server menerima TCP SYN, dan membalasnya dengan kontrol SYNACK

• ACK yang menyatakan telah menerima SYN

• mengalokasikan buffer

• menghasilkan sequence number untuk ke client

Pada saat Menutup Koneksi

1.client mengirim kontrol TCP FIN ke server

2.server menerima FIN, dan membalas dengan ACK. Menutup koneksi dan mengirimkan FIN ke client.

3.Client menerima FIN dan membalas ACK

• masuk pada masa menunggu balasan ACK terhadap dari server

4.Server menerima ACK dan koneksi tertutup.

Tugas Jarkom

1. Alasan mengapa sistem komunikasi dibuat dengan model layer berlapis.

Beberapa tahun yang lelu telah menjadi kejelasan bahwa banyak cara atau metode menyediakan pelindung (sheild) atau sesuatu yang dapat menyembunyikan programmer dari kekomplekan perangkat keras.Cara yang telah berangsur-angsur berkembang adalah dengan menentukan atau membuat sebuah lapis (layer)
Dan juga layer tersebut memiliki fungsi tersendiri yang telah ditentukan, sehingga dapat memudahkan dalam menganalisi sistem keamanan.

2. Perbedaan antara OSI dan TCP/IP.

• OSI
Model Open Systems Interconnection (OSI)
Terdiri dari 7 layer yaitu :
- Application : Layer application yg berhubungan langsung dengan user
- Presentation : Menangani sintaks dan semantik dari infromasi yang ditransmisi
- Session : Dialog control, token management, sinkronisasi
- Transport : Menerima data dari upper layer à dan menyampaikan ke tujuan dengan benar
- Network : Control operasi network End for end
- Data Link : Penanganan frame (kumpulan bit)
Flow control + error control
- Physical : Berkaitan dengan raw bit I/O

• TCP/IP
Transmission Control Protocol/Internet Protocol (TCP/IP)

adalah srtandar komunikasi data yang digunakan oelh komunikasi internet dan proses tukar menukar data dari satu computer ke computer lain di dalam jaringan internet.Protokol ini tidak dapat berdiri sendiri, karena memang protoko ini berupa kumpulan protocol (Protocol Suite). Protokol ini juga protocol yagn paling nayak digunakan saata ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak(Soft ware) di system operasi. Istilah diberiakn kepada perangkat lunak in adalah TCP/IP stack.
Terdiri dari 4 layer yaitu :
- Application : layer application yg berhubungan langsung dengan user
- Transport : Menerima data dari upper layer à dan menyampaikan ke tujuan dengan benar
- Internet : Untuk addressing + routing
- Network access : Bertanggung jawab dalam proses pengiriman dan penerimaan data dan ke media fisik.
3 Layer teratas pada OSI layer, yaitu application, presentation, dan session direpresentasikan kedalam 1 lapisan Layer TCP/IP, yaitu layer application.
Layer Network pada OSI Layer direpresentasikan sebagai Layer Internet pada TCP/IP Layer, namun fungsi keduanya masih tetap sama.
Layer Network Access pada TCP/IP menggabungkan fungsi dari Layer DataLink dan Physical pada OSI Layer, dengan kata lain, Layer Network Acces merupakan representasi dari kedua layer paling bawah dari OSI Layer, yaitu DataLink dan Physical.
TCP/IP layer merupakan “Protocol Spesific”, sedangkan OSI Layer adalah “Protocol Independen”

3. Tugas masing - masing layer pada OSI dan TCP/IP.

• Layer pada OSI
Layer 1 : Physical
Berfungsi menangani koneksi fisik jaringan dan prosedur-prosedur teknis yang berhubungan langsung dengan media transmisi fisik.

Layer 2 : Data Link
Berfungsi untuk mengendalikan lapisan fisik, mendeteksi serta mengkoreksi kesalahan yang berupa gangguan sinyal pada media transmisi fisik.

Layer 3 : Network
Berfungsi untuk menyediakan routing fisik, menentukan rute yang akan ditempuh.

Layer 4 : Transport
Berfungsi menginisialisasi, memelihara, serta mengakhiri komunikasi antar komputer,selain itu juga memastikan data yang dikirim benar serta memperbaiki apabila terjadi kesalahan.

Layer 5 : Session
Berfungsi mensinkronisasikan pertukaran data antar proses aplikasi dan mengkoordinasikan komunikasi antar aplikasi yang berbeda.

Layer 6 : Presentation
Berfungsi mengubah data dari layer diatasnya menjadi data yang bisa dipahami oleh semua jenis hardware dalam jaringan.

Layer 7 : Application
Merupakan interface pengguna dengan Layer OSI lainnya di layer inilah aplikasi-aplikasi jaringan berada seperti e-mail,ftp, http,danlain sebagainya. Tujuan dari layer ini adalah menampilkan data dari layer dibawahnya kepada pengguna.
• Layer pada TCP/IP
Layer 1 : Network interface
Sama halnya dengan layer Data link dan Physical layer Pada OSI yang mengurusi banyak hal yang berhubungan dengan prosedur mekanis dan elektris dalam transmisi bit-bit.
Layer 2 : Internet
berfungsi untuk memberikan layanan dasar pengantaran data. salah satu protokol yang bekerja pada layer ini adlah IP (internet protokol) yang diantaranya berfungsi:
- mentransfer data dari Network access layer ke transport layer dan sebaliknya
- menangani datagaram termasuk fragmentasi dan defragmentasi
- menangani skema pengalamatan yang diguankan dalam pertukaran data- menangani proses routing
Layer 3 : Transport
Sama seperti pada model protokol OSI yaitu berfungsi menghubungkan antara aplication layer dan internet layer contohnya : UDP, TCP, SNMP (apliccation) menggunakan UDP, Telnet, FTP, SMTP (apliccation) menggunakan TCP
Layer 4 : Application
Adalah seperti seperti gabungan dari layer application, presentation dan session pada protokol model OSI,pada model protokol tcp/ip maka aplikasi yang dibuat dan berhubungan langsung dengan pemakai akan diletakkan di sini.contohnya : FTP, SMTP, HTTP, SNMP, RPC, DNs, dll.

Sedikit penjelasan :

1. Telnet
Telnet (Telecommunication Network) berguna untuk melakukan remote komputer lain menggunakan port 23. Port dipergunakan oleh lapisan atas untuk akses ke lapisan transport, yaitu setiap layanan mempunyai port masing-masing.
Gabungan antara port dan Ip Address disebut sebagai Socket yang berguna agar aplikasi ganda dapat menggunakan TCP/IP yang sama.

2. FTP
FTP (file transfer protocol) berfungsi memindahkan file dari suatu komputer kekomputer yang lain. Diman menggunakan sistem server-client. Jika mengambil file dari server disbut get, kalo mengirim ke server disebut put. FTP membutuhkan autentifikasi untuk dapat login yaitu berupa user dan password. FTP menggunakan port 21.

3. SMTP
SMTP (simple mail transfer protocol) berfungsi untuk pengaturan dan pengiriman email. SMTP menggunakan port 25. cara kerjanya sama dengan FTP yaitu menggunakan protocol TCP.

4. TFTP
TFTP (trivial file transfer protocol) adalah FTP dengan menggunakan port yang disederhakan dan menggunakan port 69. TFTP bekerja dengan protocol UDP yang connectionless oriented yang tidak mengontrol hasil perpindahan file. TFTP tidak membutuhkan user dan password.

5. Karberos
Karberos adalah protocol untuk keamanan (security) yang menggunakan peralatan yang disebut authentication server untuk memeriksa password dan enkripsi yang digunakan. Karberos banyak digunakan pada sistem operasi UNIX.

6. DNS
DNS (domain name server) berguna untuk menterjemahkan dari ip menjadi domain dan dari domain menjadi ip. Kita membutuhkan DNS, karena kita lebih mudah mengingat nama (domain) daripada kita mengingat IP.