![]() |
| Layer OSI Enkapsulasi |
Pada bab ini akan dijelaskan tentang fungsi dari 2 protokol penting pada layer transport, yaitu :
- User Datagram Protocol (UDP)
- Transmission Control Protocol (TCP)
1. Port dan Socket
Port
Port digunakan untuk melakukan proses komunikasi dengan proses lain pada jaringan TCP/IP. Port menggunakan nomer 16 bit, digunakan untuk komunikasi host-to-host. Tipe port ada 2 macam yaitu:
- Well-known : port yang sudah dimiliki oleh server. Contoh : telnet menggunakan port 23. Well-known port memiliki range dari 1 hingga 1023. Port Well-known diatur oleh Internet Assigned Number Authority (IANA) dan dapat digunakan oleh proses sistem dengan user tertentu yang mendapatkan akses.
- Ephemeral : client tidak menggunakan port well-known karena untuk berkomunikasi dengan server, mereka sudah melakukan perjanjian terlebih dahulu untuk menggunakan port mana. Ephemeral port memiliki range dari 1023 hingga 65535.
Untuk 1 nomer port tidak bisa digunakan oleh 2 aplikasi yang berbeda dalam waktu yang bersamaan.
Socket
Interface socket merupakan bagian dari Application Programming Interface (API) yang digunakan untuk protokol komunikasi.
Terminologi yang digunakan :
- Socket merupakan tipe spesial dari file handle, dimana digunakan oleh sistem operasi untuk mengakses jaringan.
- Alamat soket adalah :
contoh : - Pembicaraan (conversation) : link komunikasi antar 2 proses
- Asosiasi (Association) : kejadian komunikasi antar 2 proses
Contoh : - Setengah Asosiasi (half-association) : < protocol, local-address, local-process> atau
- Half-association disebut juga transport address.
2. User Datagram Protocol (UDP)
UDP merupakan standar protokol dengan STD nomer 6. Spesifikasi UDP dapat dilihat pada RFC 768 – User Datagram Protocol.
UDP pada dasarnya adalah interface untuk aplikasi IP. Dimana UDP tidak memiliki fungis reliabilitas data, flow control, dan error-recovery untuk komunikasi IP. UDP memiliki proses seperti multiplexing/demultiplexing untuk mengirimkan datagram, dari port menuju IP datagram. Karena itu UDP juga disebut sebagai connectionless-oriented protocol.
| Proses Demultiplexing berbasis port pada UDP |
UDP datagram memiliki 16 byte seperti pada gambar di bawah ini:
| Format Datagram UDP |
Dimana :
- Source Port : port yang digunakan untuk mengirimkan data.
- Destination Port : port yang digunakan untuk tujuan data.
- Length : panjang data paket keseluruhan
- Checksum : 16 bit komplemen-1 dari pseudo-ip-header yang merupakan error check dari paket data
| Pseudo IP Header – UDP |
Aplikasi yang menggunakan UDP
Aplikasi yang menggunkan protokol UDP antara lain :
- Trivial File Transfer Protocol (TFTP)
- Domain Name System (DNS) name server
- Remote Procedure Call (RPC) pada Network File System (NFS)
- Simple Network Management Protocol (SNMP)
- Lighweight Directory Access Protocol (LDAP)
3. Transmission Control Protocol (TCP)
TCP merupakan standar protokol dengan STD nomer 7. Spesifikasi TCP dapat dilihat pada RFC 793 – Transmission Control Protocol.
TCP memberikan fasilitas untuk aplikasi dibandingkan UDP, karena TCP memberikan error recovery, flow control, dan reliabilitas. TCP biasa disebut juga sebagai protokol berbasis connection-oriented.
Dua proses komunikasi menggunakan koneksi TCP disebut InterProcess Communication (IPC). IPC diilustrasikan seperti pada gambar di bawah ini:
| InterProcess Communication (IPC) |
Format Segmen TCP
Format TCP dapat dilihat pada gambar di bawah ini:
| Format TCP |
Dimana :
- Source Port : 16 bit nomer port. Digunakan untuk menerima reply
- Destination port : 16 bit nomer port tujuan
- Sequence Number : nomwer awal data pada segmen
- Acknowledge number : apabila ACK diset maka ini menjadi nomer urut data yang akan diterima
- Data offset : nomer dimana bagian data mulai
- Reserved : untuk kegunaan masa depan, diset 0
- URG : mengaktifkan titik yang darurat pada suatu segmen
- ACK : kolom acknowledge
- PSH : fungsi push
- RST : mereset suatu koneksi
- SYN : untuk mensinkronisasi nomer urutan
- FIN : batas akhir data
- Window : nomer window untuk proses windowing
- Checksum : nomer yang digunakan untuk mengecek validitas pengirim dan penerima
- Urgent Pointer : menunjuk pada titik yang darurat pada suatu segmen
- Options : digunakna untuk pilihan lain pada datagram
- Padding : digunakan untuk membulatkan data pada bagian options
Interface Pemrograman pada aplikasi TCP
Fungsi yang digunakan pada komunikasi TCP antara lain :
a. Open : membuka koneksi dengan memasukkan beberapa parameter antara lain :
- Actif / Pasif
- Informasi soket tujuan
- Nomer port lokal
- Nilai timeout
c. Receive : Menerima dan mengcopy data kepada buffer milik pengguna
d. Close : menutup koneksi
e. Status : melihat informasi
f. Abort : membatalkan semua kegiatan send atau receive
Aplikasi yang menggunakan TCP
Hampir keseluruhan aplikasi jaringan menggunakan TCP, standar aplikasi yang menggunakan TCP antara lain :
- Telnet
- File Transfer Protocol (FTP)
- Simple Mail Transfer Protocol (SMTP)
- Hyper-Text Transfer Protocol (HTTP)
