Internet protocol suite atau 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
Arsitektur TCP/IP
diperbandingkan dengan DARPA Reference Model dan OSI Reference Model
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)).
Pengalamatan
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 Network Identifier (NetID) yang dapat mengidentifikasikan jaringan lokal dalam sebuah internetwork dan Host identifier (HostID) yang dapat mengidentifikasikan host dalam jaringan tersebut. Sebagai contoh, alamat205.116.008.044
dapat dibagi dengan menggunakan subnet mask255.255.255.000
ke dalam Network ID205.116.008.000
dan 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 <nama_host>.<nama_domain>,
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 domainwikipedia.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.
Dalam
protokol jaringan TCP/IP,
sebuah port adalah mekanisme yang mengizinkan sebuah komputer
untuk mendukung beberapa sesi koneksi dengan komputer lainnya dan program di
dalam jaringan. Port dapat mengidentifikasikan aplikasi dan layanan yang
menggunakan koneksi di dalam jaringan TCP/IP. Sehingga, port juga
mengidentifikasikan sebuah proses tertentu di mana sebuah server dapat
memberikan sebuah layanan kepada klien atau bagaimana sebuah klien dapat
mengakses sebuah layanan yang ada dalam server. Port dapat dikenali dengan
angka 16-bit (dua byte) yang disebut
dengan Port Number dan diklasifikasikan dengan jenis protokol transport
apa yang digunakan, ke dalam Port TCP dan Port UDP. Karena
memiliki angka 16-bit, maka total maksimum jumlah port untuk setiap protokol
transport yang digunakan adalah 65536 buah.
Konsep dasar
Layanan
Berikut ini merupakan 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 perintahrsh
danrexec
.) - 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.
Dilihat
dari penomorannya, port UDP dan TCP dibagi menjadi tiga jenis, yakni sebagai
berikut:
- Well-known Port: yang pada awalnya berkisar antara 0 hingga 255 tapi kemudian diperlebar untuk mendukung antara 0 hingga 1023. Port number yang termasuk ke dalam well-known port, selalu merepresentasikan layanan jaringan yang sama, dan ditetapkan oleh Internet Assigned Number Authority (IANA). Beberapa di antara port-port yang berada di dalam range Well-known port masih belum ditetapkan dan direservasikan untuk digunakan oleh layanan yang bakal ada pada masa depan. Well-known port didefinisikan dalam RFC 1060.
- Registered Port: Port-port yang digunakan oleh vendor-vendor komputer atau jaringan yang berbeda untuk mendukung aplikasi dan sistem operasi yang mereka buat. Registered port juga diketahui dan didaftarkan oleh IANA tapi tidak dialokasikan secara permanen, sehingga vendor lainnya dapat menggunakan port number yang sama. Range registered port berkisar dari 1024 hingga 49151 dan beberapa port di antaranya adalah Dynamically Assigned Port.
- Dynamically Assigned Port: merupakan port-port yang ditetapkan oleh sistem operasi atau aplikasi yang digunakan untuk melayani request dari pengguna sesuai dengan kebutuhan. Dynamically Assigned Port berkisar dari 1024 hingga 65536 dan dapat digunakan atau dilepaskan sesuai kebutuhan.
TCP/IP pun mempunyai beberapa layer,
layer-layer itu adalah :
- IP (internet protocol) yang berperan dalam pentransmisian paket data dari node ke node. IP mendahului setiap paket data berdasarkan 4 byte (untuk versi IPv4) alamat tujuan (nomor IP). Internet authorities menciptakan range angka untuk organisasi yang berbeda. Organisasi menciptakan grup dengan nomornya untuk departemen. IP bekerja pada mesin gateaway yang memindahkan data dari departemen ke organisasi kemudian ke region dan kemudian ke seluruh dunia.
- TCP (transmission transfer protocol) berperan didalam memperbaiki pengiriman data yang benar dari suatu klien ke server. Data dapat hilang di tengah-tengah jaringan. TCP dapat mendeteksi error atau data yang hilang dan kemudian melakukan transmisi ulang sampai data diterima dengan benar dan lengkap.
- Sockets yaitu merupakan nama yang diberikan kepada subrutin paket yang menyediakan akses ke TCP/IP pada kebanyakan sistem.
http://id.wikipedia.org/wiki/Port_TCP_dan_UDP