Protokol Komunikasi TCP/IP
Pada TCP/IP terdapat beberapa protokol sub yang
menangani masalah komunikasi antar komputer. TCP/IP merngimplemenasikan
arsitektur berlapis yang terdiri atas empat lapis, diantaranya adalah :
1. Protokol lapisan aplikasi :
bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layanan
jaringan TCP/IP. Protokol ini mencakup protokol Dynamic Host Configuration
Protocol (DHCP), Domain Name System (DNS), Hypertext Transfer Protocol (HTTP),
File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP),
Simple Network Management Protocol (SNMP), dan masih banyak protokol lainnya.
Dalam beberapa implementasi stack protokol, seperti halnya Microsoft TCP/IP,
protokol-protokol lapisan aplikasi berinteraksi dengan menggunakan antarmuka
Windows Sockets (Winsock) atau NetBIOS over TCP/IP (NetBT).
2. Protokol lapisan antar-host :
berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat
connection-oriented atau broadcast yang bersifat connectionless. Protokol dalam
lapisan ini adalah Transmission Control Protocol (TCP) dan User Datagram
Protocol (UDP).
3. Protokol lapisan internetwork :
bertanggung jawab untuk melakukan pemetaan (routing) dan enkapsulasi
paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam
lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP),
Internet Control Message Protocol (ICMP), dan Internet Group Management
Protocol (IGMP).
4. Protokol lapisan antarmuka jaringan
: bertanggung jawab untuk meletakkan frame-frame jaringan di atas media
jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi
transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet
dan Token Ring), MAN dan WAN (seperti halnya dial-up modem yang berjalan di
atas Public Switched Telephone Network (PSTN), Integrated Services Digital
Network (ISDN), serta Asynchronous Transfer Mode (ATM))
UDP ( User Datagram Protokol)
UDP, singkatan dari User Datagram Protocol, adalah
salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang
tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam
jaringan yang menggunakan TCP/IP. Protokol ini didefinisikan dalam RFC 768.
UDP memiliki karakteristik-karakteristik
berikut:
* Connectionless (tanpa koneksi): Pesan-pesan
UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua
host yang hendak berukar informasi.
* Unreliable (tidak andal): Pesan-pesan UDP akan
dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment.
Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan
terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan
aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka
masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan
waktu yang telah didefinisikan.
* UDP menyediakan mekanisme untuk mengirim
pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam
sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field
Source Process Identification dan Destination Process Identification.
* UDP menyediakan penghitungan checksum
berukuran 16-bit terhadap keseluruhan pesan UDP.
UDP tidak menyediakan layanan-layanan antar-host
berikut:
* UDP tidak menyediakan mekanisme penyanggaan
(buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering
merupakan tugas yang harus diimplementasikan oleh protokol lapisan aplikasi
yang berjalan di atas UDP.
* UDP tidak menyediakan mekanisme segmentasi
data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam
protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas
UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai
Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data
tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar
dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi
beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.
* UDP tidak menyediakan mekanisme flow-control,
seperti yang dimiliki oleh TCP.
PENGGUNAAN UDP
UDP sering digunakan dalam beberapa tugas
berikut:
* Protokol yang "ringan" (lightweight):
Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan
aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan
fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang
ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name
System.
* Protokol lapisan aplikasi yang
mengimplementasikan layanan keandalan: Jika protokol lapisan aplikasi
menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan
yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti
ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS)
* Protokol yang tidak membutuhkan keandalan.
Contoh protokol ini adalah protokol Routing Information Protocol (RIP).
* Transmisi broadcast: Karena UDP merupakan
protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host
tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan
aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan
alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya
dapat mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol
NetBIOS Name Service.
PESAN UDP
UDP, berbeda dengan TCP yang memiliki satuan
paket data yang disebut dengan segmen, melakukan pengepakan terhadap data ke
dalam pesan-pesan UDP (UDP Messages). Sebuah pesan UDP berisi header UDP dan akan dikirimkan ke
protokol lapisan selanjutnya (lapisan internetwork) setelah mengepaknya menjadi
datagram IP. Enkapsulasi terhadap pesan-pesan UDP oleh protokol IP dilakukan
dengan menambahkan header IP dengan protokol IP nomor 17 (0x11). Pesan UDP
dapat memiliki besar maksimum 65507 byte: 65535 (216)-20 (ukuran terkecil dari
header IP)-8 (ukuran dari header UDP) byte. Datagram IP yang dihasilkan dari
proses enkapsulasi tersebut, akan dienkapsulasi kembali dengan menggunakan
header dan trailer protokol lapisan Network Interface yang digunakan oleh host
tersebut.
Dalam header IP dari sebuah pesan UDP, field
Source IP Address akan diset ke antarmuka host yang mengirimkan pesan UDP yang
bersangkutan; sementara field Destination IP Address akan diset ke alamat IP
unicast dari sebuah host tertentu, alamat IP broadcast, atau alamat IP
multicast.
PORT UDP
Seperti halnya TCP, UDP juga memiliki saluran
untuk mengirimkan informasi antar host, yang disebut dengan UDP Port. Untuk
menggunakan protokol UDP, sebuah aplikasi harus menyediakan alamat IP dan nomor
UDP Port dari host yang dituju. Sebuah UDP port berfungsi sebagai sebuah
multiplexed message queue, yang berarti bahwa UDP port tersebut dapat menerima
beberapa pesan secara sekaligus. Setiap port diidentifikasi dengan nomor yang
unik, seperti halnya TCP, tetapi meskipun begitu, UDP Port berbeda dengan TCP
Port meskipun memiliki nomor port yang sama. Tabel di bawah ini mendaftarkan
beberapa UDP port yang telah dikenal secara luas.
Domain Name System (DNS)
Domain Name System (DNS) adalah distribute
database system yang digunakan untuk pencarian nama komputer (name resolution)
di jaringan yang mengunakan TCP/IP (Transmission Control Protocol/Internet
Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti
web browser atau e-mail, dimana DNS membantu memetakan host name sebuah
komputer ke IP address. Selain digunakan di Internet, DNS juga dapat di implementasikan
ke private network atau intranet dimana DNS memiliki keunggulan seperti:
1. Mudah, DNS sangat mudah karena user tidak
lagi direpotkan untuk mengingat IP address sebuah komputer cukup host name
(nama Komputer).
2. Konsisten, IP address sebuah komputer bisa
berubah tapi host name tidak berubah.
3. Simple, user hanya menggunakan satu nama
domain untuk mencari baik di Internet maupun di Intranet.
Struktur DNS
Domain Name Space merupakan sebuah hirarki
pengelompokan domain berdasarkan nama, yang terbagi menjadi beberapa bagian
diantaranya:
Root-Level Domains
Domain ditentukan berdasarkan tingkatan
kemampuan yang ada di struktur hirarki yang disebut dengan level. Level paling atas di hirarki disebut
dengan root domain.
Second-Level Domains
Second-level domains dapat berisi host dan
domain lain, yang disebut dengan subdomain. Untuk contoh: Domain Bujangan, bujangan.com terdapat komputer
(host) seperti server1.bujangan.comdansubdomaintraining.bujangan.com.Subdomaintraining.bujangan.com juga terdapat komputer (host) seperti
client1.training.bujangan.com.
Host Names
Domain name yang digunakan dengan host name akan
menciptakan fully qualified domain name (FQDN) untuk setiap komputer. Sebagai
contoh, jika terdapat fileserver1.detik.com, dimana fileserver1 adalah host
name dan detik.com adalah domain name.
Bagaimana DNS Bekerja
Fungsi dari DNS adalah menerjemahkan nama
komputer ke IP address (memetakan). Client DNS disebut dengan resolvers dan DNS
server disebut dengan name servers. Resolvers atau client mengirimkan
permintaan ke name server berupa queries. Name server akan memproses dengan
cara mencek ke local database DNS, menghubungi name server lainnya atau akan
mengirimkan message failure jika ternyata permintaan dari client tidak
ditemukan. Proses tersebut disebut dengan Forward Lookup Query, yaitu
permintaan dari client dengan cara memetakan nama komputer (host) ke IP
address.Point-to-Point Protocol
(sering disingkat
menjadi PPP) adalah sebuah protokol enkapsulasi paket jaringan yang banyak
digunakan pada wide area network (WAN). Protokol ini merupakan standar industri
yang berjalan pada lapisan data-link dan dikembangkan pada awal tahun 1990-an
sebagai respons terhadap masalah-masalah yang terjadi pada protokol Serial Line
Internet Protocol (SLIP), yang hanya mendukung pengalamatan IP statis kepada
para kliennya. Dibandingkan dengan pendahulunya (SLIP), PPP jauh lebih baik,
mengingat kerja protokol ini lebih cepat, menawarkan koreksi kesalahan, dan
negosiasi sesi secara dinamis tanpa adanya intervensi dari pengguna. Selain
itu, protokol ini juga mendukung banyak protokol-protokol jaringan secara
simultan. PPP didefinisikan pada RFC 1661 dan RFC 1662.
Serial Line Internet Protocol
Serial Line Internet Protocol dianggap berkaitan
erat dengan pengertian berikut Disingkat dengan SLIP. Sebuah protokol yang
memungkinkan pemindahan data IP melalui saluran telepon. Alat bantu lainnya
dalam SLIP adalah PPP yang mendeteksi kesalahan dan konfigurasi. Sistem ini memerlukan satu komputer server
sebagai penampungnya, dan secara perlahan lahan akan digantikan oleh standar
PPP yang memiliki kecepatan proses lebih tinggi.
Internet Control Message Protocol
(ICMP)
adalah salah satu protokol inti dari keluarga.
ICMP berbeda tujuan dengan TCP dan UDP dalam hal ICMP tidak digunakan secara
langsung oleh aplikasi jaringan milik pengguna. salah satu pengecualian adalah
aplikasi ping yang mengirim pesan ICMP Echo Request (dan menerima Echo Reply)
untuk menentukan apakah komputer tujuan dapat dijangkau dan berapa lama paket
yang dikirimkan dibalas oleh komputer tujuan. protokol internet. ICMP utamanya
digunakan oleh sistem operasi komputer jaringan untuk mengirim pesan kesalahan
yang menyatakan, sebagai contoh, bahwa komputer tujuan tidak bisa dijangkau.
POP3 adalah kepanjangan dari Post Office
Protocol version 3, yakni protokol yang digunakan untuk mengambil email dari
email server. Protokol POP3 dibuat karena desain dari sistem email yang
mengharuskan adanya email server yang menampung email untuk sementara sampai
email tersebut diambil oleh penerima yang berhak. Kehadiran email server ini
disebabkan kenyataan hanya sebagian kecil dari komputer penerima email yang
terus-menerus melakukan koneksi ke jaringan internet.
IMAP (Internet Message Access Protocol)
IMAP (Internet Message Access Protocol)
adalah protokol standar untuk mengakses/mengambil e-mail dari server. IMAP
memungkinkan pengguna memilih pesan e-mail yang akan ia ambil, membuat folder
di server, mencari pesan e-mail tertentu, bahkan menghapus pesan e-mail yang
ada. Kemampuan ini jauh lebih baik daripada POP (Post Office Protocol) yang
hanya memperbolehkan kita mengambil/download semua pesan yang ada tanpa
kecuali.
SMTP (Simple Mail Transfer Protocol)
adalah suatu protokol yang umum digunakan
untuk pengiriman surat elektronik atau email di Internet. Protokol ini gunakan
untuk mengirimkan data dari komputer pengirim surat elektronik ke server surat
elektronik penerima.
HTTP (Hypertext Transfer Protocol)
suatu
protokol yang digunakan oleh WWW (World Wide Web). HTTP mendefinisikan
bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client. HTTP
juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga
web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP
ini.
Contohnya bila kita mengetikkan suatu alamat
atau URL pada internet browser maka web browser akan mengirimkan perintah HTTP
ke web server. Web server kemudian akan menerima perintah ini dan melakukan
aktivitas sesuai dengan perintah yang diminta oleh web browser. Hasil aktivitas
tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada kita.
HTTPS
https adalah versi aman dari HTTP, protokol
komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications
Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan
penggunaan dalam komersi elektris.
Selain menggunakan komunikasi plain text, HTTPS
menyandikan data sesi menggunakan protokol SSL (Secure Socket layer) atau
protokol TLS (Transport Layer Security). Kedua protokol tersebut memberikan
perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle
attacks. Pada umumnya port HTTPS adalah 443.
Tingkat keamanan tergantung pada ketepatan dalam
mengimplementasikan pada browser web dan perangkat lunak server dan didukung
oleh algorithma penyandian yang aktual.
Kesalahpahaman yang sering terjadi pada pengguna
kartu kredit di web ialah dengan menganggap HTTPS “sepenuhnya” melindungi
transaksi mereka. Sedangkan pada kenyataannya, HTTPS hanya melakukan enkripsi
informasi dari kartu mereka antara browser mereka dengan web server yang
menerima informasi. Pada web server, informasi kartu mereke secara tipikal
tersimpan di database server (terkadang tidak langsung dikirimkan ke pemroses
kartu kredit), dan server database inilah yang paling sering menjadi sasaran
penyerangan oleh pihak-pihak yang tidak berkepen.
SSH (Sucure Shell)
SSH adalah protocol jaringan yang memungkinkan
pertukaran data secara aman antara dua komputer. SSH dapat digunakan untuk
mengendalikan komputer dari jarak jauh mengirim file, membuat Tunnel yang
terrenkripsi dan lain-lain. Protocol ini mempunyai kelebihan disbanding
protocol yang sejenis seperti Telnet, FTP, Danrsh, karena SSH memiliki system
Otentikasi,Otorisasi, dan ekripsinya sendiri. Dengan begitu keamanan sebuah
sesi komunikasi melalui bantuan SSH ini menjadi lebih terjamin. SSH memang
lebih aman dibandingkan dengan protocol sejenis, tetapi protocol SSH tatap
rentan terhadap beberapa jenis serangan tertentu. Pada umumnya serangan ini
ditunjukan Pada SSH versi pertama (SSH-1) yang memang memiliki tingkat keamanan
yang lebih lemah daripada SSH versi kedua (SSH-2). Salah satu serangan pada SSH
versi pertama adalah serangan MAN IN THE MIDDLE pada saat pertukaran kunci.
Protocol SSH serta algoritma yang digunakan pada kedua versi SSH, lalu
serangan-serangan yang terjadi pada SSH dan bagaimana SSH mengatasinya. Untuk
meningkatkan keamanan pada protocol SSH dapat dilakukan dengan cara menggunakan
kartu Kriptografi untuk autentifkasi.Telnet (Telecommunication network) adalah
sebuah protokol jaringan yang digunakan di koneksi Internet atau Local Area
Network. TELNET dikembangkan pada 1969 dan distandarisasi sebagai IETF STD 8,
salah satu standar Internet pertama. TELNET memiliki beberapa keterbatasan yang
dianggap sebagai risiko keamanan.
SSL (Secure Socket Layer)
SSL (Secure Socket Layer) adalah arguably
internet yang paling banyak digunakan untuk enkripsi. Ditambah lagi, SSL
sigunakan tidak hanya keamanan koneksi web, tetapi untuk berbagai aplikasi yang
memerlukan enkripsi jaringan end-to-end. Secure Sockets Layer (SSL) merupakan sistem yang
digunakan untuk mengenkripsi pengiriman informasi pada internet, sehingga
data dapat dikirim dengan aman. Protokol SSL mengatur keamanan dan integritas
menggunakan enkripsi, autentikasi, dan kode autentikasi pesan. SSL protocol
menyedian privasi komunikasi di internet. SSL tidak mendukung fileencryption,
access-control, atau proteksi virus, jadi SSL tidak dapat membantu mengatur
data sensitif setelah dan sebelum pengiriman yang aman. Protokol SSL terdiri dari dua sub-protokol: SSL
record protocol dan SSL handshake protocol. SSL record protocol mendefinisikan
format yang digunakan untuk mentransmisikan data. Sedangkan SSL handshake
protocol melibatkan SSL record protocol untuk menukarkan serangkaian pesan
antara SSL enabled server dan SSL enable client ketika keduanya pertama kali
melakukan koneksi SSL.
Dosen : blog.stikom.edu/anjik