TCP/IP
TCP/IP (singkatan dari Transmission Control
Protocol/Internet Protocol) adalah standar komunikasi data yang
digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu
komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah
dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol
suite). Protokol ini juga merupakan protokol yang paling banyak digunakan
saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak
(software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini
adalah TCP/IP stack.
Protokol TCP/IP
dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah
protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk
membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar
jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan
fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini
menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP
Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat
saling berhubungan satu sama lainnya di Internet. Protokol ini juga bersifat routable yang
berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti
Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen.
Protokol TCP/IP selalu
berevolusi seiring dengan waktu, mengingat semakin banyaknya kebutuhan terhadap
jaringan komputer dan Internet. Pengembangan ini dilakukan oleh beberapa badan,
seperti halnya Internet Society (ISOC), Internet Architecture Board (IAB), dan
Internet Engineering Task Force (IETF). Macam-macam protokol yang berjalan di
atas TCP/IP, skema pengalamatan, dan konsep TCP/IP didefinisikan dalam dokumen
yang disebut sebagai Request for Comments (RFC) yang dikeluarkan oleh IETF.
Arsitektur TCP/IP
tidaklah berbasis model referensi tujuh lapis OSI, tetapi menggunakan model referensi DARPA. Seperti diperlihatkan dalam diagram, TCP/IP
merngimplemenasikan arsitektur berlapis yang terdiri atas empat lapis. Empat
lapis ini, dapat dipetakan (meski tidak secara langsung) terhadap model
referensi OSI. Empat lapis ini, kadang-kadang disebut sebagai DARPA
Model, Internet Model, atau DoD Model, mengingat
TCP/IP merupakan protokol yang awalnya dikembangkan dari proyek ARPANET yang dimulai oleh Departemen Pertahanan
Amerika Serikat.
Setiap lapisan yang
dimiliki oleh kumpulan protokol (protocol suite) TCP/IP diasosiasikan dengan
protokolnya masing-masing. Protokol utama dalam protokol TCP/IP adalah sebagai
berikut:
- 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).
- 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).
- 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).
- 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)).
Berikut ini adalah
layanan tradisional yang dapat berjalan di atas protokol TCP/IP:
- Pengiriman berkas (file transfer). File Transfer Protocol (FTP)
memungkinkan pengguna komputer yang satu untuk dapat mengirim ataupun
menerima berkas ke sebuah host di dalam jaringan.
Metode otentikasi yang digunakannya adalah penggunaan nama pengguna (user
name) dan password'',
meskipun banyak juga FTP yang dapat diakses secara anonim (anonymous),
alias tidak berpassword. (Keterangan lebih lanjut mengenai FTP
dapat dilihat pada RFC 959.)
- Remote
login. Network terminal Protocol (telnet) memungkinkan pengguna komputer
dapat melakukan log in ke
dalam suatu komputer di dalam suatu jaringan secara jarak jauh. Jadi hal
ini berarti bahwa pengguna menggunakan komputernya sebagai perpanjangan
tangan dari komputer jaringan tersebut. (Keterangan lebih lanjut mengenai
Telnet dapat dilihat pada RFC 854 dan RFC 855.)
- Computer
mail. Digunakan untuk menerapkan sistem surat elektronik. (Keterangan lebih lanjut mengenai e-mail dapat
dilihat pada RFC 821 RFC 822.)
- Network File System (NFS). Pelayanan
akses berkas-berkas yang dapat diakses dari jarak jauh yang memungkinkan
klien-klien untuk mengakses berkas pada komputer jaringan, seolah-olah
berkas tersebut disimpan secara lokal. (Keterangan lebih lanjut mengenai
NFS dapat dilihat RFC 1001 dan RFC 1002.)
- Remote
execution. Memungkinkan pengguna komputer untuk menjalankan
suatu program tertentu di dalam komputer yang berbeda. Biasanya
berguna jika pengguna menggunakan komputer yang terbatas, sedangkan ia
memerlukan sumber yg banyak dalam suatu sistem computer. Ada beberapa
jenis remote execution, ada yang berupa perintah-perintah
dasar saja, yaitu yang dapat dijalankan dalam system komputer yang sama
dan ada pula yg menggunakan sistem Remote Procedure Call (RPC),
yang memungkinkan program untuk memanggil subrutin yang akan dijalankan di
sistem komputer yg berbeda. (sebagai contoh dalam Berkeley UNIX ada perintah rsh dan rexec.)
- Name
server yang berguna sebagai
penyimpanan basis data nama host yang
digunakan pada Internet (Keterangan lebih lanjut
dapat dilihat pada RFC 822 dan RFC 823 yang
menjelaskan mengenai penggunaan protokol name server yang
bertujuan untuk menentukan nama host di Internet.)
Keunggulan
TCP/IP adalah sebagai berikut:
1. Open
Protocol Standard, yaitu tersedia secara bebas dan dikembangkan independen
terhadap komputer hardware ataupun sistem operasi apapun. Karena didukung
secara meluas, TCP/IP sangat ideal untuk menyatukan bermacam hardware dan
software, walaupun tidak berkomunikasi lewat internet.
2. Independen
dari physical network hardware. Ini menyebabkan TCP/IP dapat mengintegrasikan
bermacam network, baik melalui ethernet, token ring, dial-up, X.25/AX.25 dan
media transmisi fisik lainnya.
3. Skema
pengalamatan yang umum menyebabkan device yang menggunakan TCP/IP dapat
menghubungi alamat device-device lain di seluruh network, bahkan Internet
sekalipun.
4. High
level protocol standar, yang dapat melayani user secara luas.
Karena tidak ada perjanjian umum tentang bagaimana
melukiskan TCP/IP dengan model layer, biasanya TCP/IP didefinisikan dalam 3-5
level fungsi dalam arsitektur protokol. Berikut merupakan bagan dari 5 layer
dalam TCP/IP.
a) Physical Layer
Physical layer mendefinisikan karakteristik yang
dibutuhkan hardware untuk membawa sinyal data transmisi. Hal hal seperti level
tegangan, nomor dan lokasi pin interface, didefinisikan pada layer ini.
b) Network Access Layer
Protokol pada layer ini menyediakan media bagi system
untuk mengirimkan data ke device lain yang terhubung secara langsung. Dalam
literatur yang digunakan dalam tulisan ini, Network Access Layer merupakan
gabungan antara Network, Data Link dan Physical layer. Fungsi Network Access
Layer dalam TCP/IP disembunyikan, dan protokol yang lebih umum dikenal (IP,
TCP, UDP, dll) digunakan sebagai protokol-level yang lebih tinggi.
Fungsi dalam layer ini adalah mengubah IP datagram ke
frame yang ditransmisikan oleh network, dan memetakan IP Address ke physical
address yang digunakan dalam jaringan. IP Address ini harus diubah ke alamat
apapun yang diperlukan untuk physical layer untuk mentransmisikan datagram.
c) Internet Layer
Diatas Network Access Layer adalah Internet Layer.
Internet Protocol adalah jantung dari TCP/IP dan protokol paling penting pada
Internet Layer (RFC 791). IP menyediakan layanan pengiriman paket dasar pada
jaringan tempat TCP/IP network dibangun. Seluruh protokol, diatas dan dibawah
Internet layer, menggunakan Internet Protokol untuk mengirimkan data. Semua
data TCP/IP mengalir melalui IP, baik incoming maupun outgoing, dengan
mengabaikan tujuan terakhirnya.
d) Transport Layer
Dua protokol utama pada layer ini adalah Transmission
Control Protocol (TCP) dan User Datagram Protocol (UDP). TCP menyediakan
layanan pengiriman data handal dengan end-to-end deteksi dan koreksi kesalahan.
UDP menyediakan layanan pengiriman datagram tanpa koneksi (connectionless) dan
low-overhead. Kedua protokol ini mengirmkan data diantara Application Layer dan
Internet Layer. Programmer untuk aplikasi dapat memilih layanan mana yang lebih
dibutuhkan untuk aplikasi mereka.
e) Application Layer
Pada sisi paling atas dari arsitektur protokol TCP/IP
adalah Application Layer. Layer ini termasuk seluruh proses yang menggunakan transport
layer untuk mengirimkan data. Banyak sekali application protocol yang digunakan
saat ini. Beberapa diantaranya adalah :
-TELNET,
yaitu Network Terminal Protocol, yang menyediakan remote login dalam jaringan.
-FTP,
File Transfer Protocol, digunakan untuk file transfer.
-SMTP,
Simple Mail Transfer Protocol, dugunakan untuk mengirimkan electronic mail.
-DNS,
Domain Name Service, untuk memetakan IP Address ke dalam nama tertentu.
-RIP,
Routing Information Protocol, protokol routing.
-OSPF,
Open Shortest Path First, protokol routing.
-NFS,
Network File System, untuk sharing file terhadap berbagai host dalam jaringan.
-HTTP,
Hyper Text Transfer Protokol, protokol untuk web browsing.
Protokol adalah sebuah aturan atau standar yang
mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data
antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat
keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang
terendah, protokol mendefinisikan koneksi perangkat keras. Protocol digunakan
untuk menentukan jenis layanan yang akan dilakukan pada internet.