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)).
Protokol
TCP/IP menggunakan dua buah skema pengalamatan yang dapat digunakan untuk
mengidentifikasikan sebuah komputer dalam sebuah jaringan atau jaringan dalam
sebuah internetwork, yakni sebagai berikut:
Pengalamatan IP:
yang berupa alamat logis yang terdiri atas 32-bit (empat oktet berukuran 8-bit)
yang umumnya ditulis dalam format www.xxx.yyy.zzz. Dengan menggunakan subnet
mask yang diasosiasikan dengannya, sebuah alamat IP pun dapat dibagi menjadi
dua bagian, yakni:
o
Network
Identifier (NetID) yang dapat mengidentifikasikan jaringan lokal dalam sebuah
internetwork dan Host identifier (HostID) yang dapat mengidentifikasikan host
dalam jaringan tersebut. Sebagai contoh, alamat 205.116.008.044 dapat dibagi
dengan menggunakan subnet mask 255.255.255.000 ke dalam Network ID
205.116.008.000
o
Host ID 44.
Alamat IP merupakan kewajiban yang harus ditetapkan untuk sebuah host, yang
dapat dilakukan secara manual (statis) atau menggunakan Dynamic Host
Configuration Protocol (DHCP) (dinamis).
Fully
qualified domain name (FQDN): Alamat ini merupakan alamat yang
direpresentasikan dalam nama alfanumerik yang diekspresikan dalam bentuk
., di mana
mengindentifikasikan jaringan di mana sebuah komputer berada, dan
mengidentifikasikan sebuah komputer dalam jaringan.
Pengalamatan FQDN digunakan oleh skema penamaan domain Domain Name System
(DNS). Sebagai contoh, alamat FQDN id.wikipedia.org merepresentasikan sebuah
host dengan nama "id" yang terdapat di dalam domain jaringan
"wikipedia.org". Nama domain wikipedia.org merupakan second-level
domain yang terdaftar di dalam top-level domain .org, yang terdaftar dalam root
DNS, yang memiliki nama "." (titik). Penggunaan FQDN lebih bersahabat
dan lebih mudah diingat ketimbang dengan menggunakan alamat IP. Akan tetapi,
dalam TCP/IP, agar komunikasi dapat berjalan, FQDN harus diterjemahkan terlebih
dahulu (proses penerjemahan ini disebut sebagai resolusi nama) ke dalam alamat
IP dengan menggunakan server yang menjalankan DNS, yang disebut dengan Name
Server atau dengan menggunakan berkas hosts (/etc/hosts atau
%systemroot%\system32\drivers\etc\hosts) yang disimpan di dalam mesin yang
bersangkutan.
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 komputer.
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.)
Request for Comments
RFC
(Request For Comments) merupakan standar yang digunakan dalam Internet,
meskipun ada juga isinya yg merupakan bahan diskusi ataupun omong kosong
belaka. Diterbitkan oleh IAB yang merupakan komite independen yang terdiri atas
para peneliti dan profesional yang mengerti teknis, kondisi dan evolusi
Internet. Sebuah surat yg mengikuti nomor RFC menunjukan status RFC :
S:
Standard, standar resmi bagi internet
DS: Draft
standard, protokol tahap akhir sebelum disetujui sebagai standar
PS:
Proposed Standard, protokol pertimbangan untuk standar masa depan
I:
Informational, berisikan bahan-bahan diskusi yg sifatnya informasi
E:
Experimental, protokol dalam tahap percobaan tetapi bukan pada jalur standar.
H:
Historic, protokol-protokol yg telah digantikan atau tidak lagi dipertimbankan
utk standardisasi.
Bagaimanakah bentuk arsitektur dari TCP/IP itu ?
Dikarenakan
TCP/IP adalah serangkaian protokol di mana setiap protokol melakukan sebagian
dari keseluruhan tugas komunikasi jaringan, maka tentulah implementasinya tak
lepas dari arsitektur jaringan itu sendiri. Arsitektur rangkaian protokol
TCP/IP mendifinisikan berbagai cara agar TCP/IP dapat saling menyesuaikan.
Karena
TCP/IP merupakan salah satu lapisan protokol Model OSI, berarti bahwa hierarki
TCP/IP merujuk kepada 7 lapisan OSI tersebut. Tiga lapisan teratas biasa
dikenal sebagai "upper level protocol" sedangkan empat lapisan
terbawah dikenal sebagai "lower level protocol". Tiap lapisan berdiri
sendiri tetapi fungsi dari masing-masing lapisan bergantung dari keberhasilan
operasi layer sebelumnya. Sebuah lapisan pengirim hanya perlu berhubungan
dengan lapisan yang sama di penerima (jadi misalnya lapisan data link penerima
hanya berhubungan dengan lapisan data link pengirim) selain dengan satu layer
di atas atau di bawahnya (misalnya lapisan network berhubungan dengan lapisan
transport di atasnya atau dengan lapisan data link di bawahnya).
Model
dengan menggunakan lapisan ini merupakan sebuah konsep yang penting karena
suatu fungsi yang rumit yang berkaitan dengan komunikasi dapat dipecahkan
menjadi sejumlah unit yang lebih kecil. Tiap lapisan bertugas memberikan
layanan tertentu pada lapisan diatasnya dan juga melindungi lapisan diatasnya
dari rincian cara pemberian layanan tersebut. Tiap lapisan harus transparan
sehingga modifikasi yang dilakukan atasnya tidak akan menyebabkan perubahan
pada lapisan yang lain. Lapisan menjalankan perannya dalam pengalihan data
dengan mengikuti peraturan yang berlaku untuknya dan hanya berkomunikasi dengan
lapisan yang setingkat. Akibatnya sebuah layer pada satu sistem tertentu hanya
akan berhubungan dengan lapisan yang sama dari sistem yang lain. Proses ini
dikenal sebagai Peer process. Dalam keadaan sebenarnya tidak ada data yang
langsung dialihkan antar lapisan yang sama dari dua sistem yang berbeda ini.
Lapisan atas akan memberikan data dan kendali ke lapisan dibawahnya sampai
lapisan yang terendah dicapai. Antara dua lapisan yang berdekatan terdapat
interface (antarmuka). Interface ini mendifinisikan operasi dan layanan yang
diberikan olehnya ke lapisan lebih atas. Tiap lapisan harus melaksanakan
sekumpulan fungsi khusus yang dipahami dengan sempurna. Himpunan lapisan dan
protokol dikenal sebagai "arsitektur jaringan".