Difference between revisions of "Konsep Dasar TCP/IP"

From OnnoWiki
Jump to navigation Jump to search
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
Pada bagian ini akan diberikan pengantar tentang konsep dasar dan cara kerja Protokol [[TCP/IP]] yang menjadi dasar bagi terbentuknya jaringan internet Melalui pengantar ini pembaca diharapkan akan memperoleh dasar yang kuat untuk memahami konsep & teknologi yang lebih tinggi.
+
Pada bagian ini akan diberikan pengantar tentang konsep dasar dan cara kerja [[Protokol]] [[TCP/IP]] yang menjadi dasar bagi terbentuknya jaringan internet Melalui pengantar ini pembaca diharapkan akan memperoleh dasar yang kuat untuk memahami konsep & teknologi yang lebih tinggi.
  
[[TCP/IP]] biasanya ada di [[sistem operasi]] [[Unix]] atau turunannya. Walaupun sebetulnya pengembangannya terpisah tapi sejarah keduanya saling terikat erat, terutama sejak 4.2BSD [[Unix]] mulai memasukan protokol [[TCP/IP]] ke dalamnya. Pada hari ini, protokol [[TCP/IP]] tersedia di banyak [[sistem operasi]] dan termasuk bagian integral dari [[sistem operasi]] OS/2, OS/400, dan Windows 9x/NT/2000/XP, maupun berbagai varian Unix.
+
[[TCP/IP]] biasanya ada di [[sistem operasi]] [[Unix]] atau turunannya. Walaupun sebetulnya pengembangannya terpisah tapi sejarah keduanya saling terikat erat, terutama sejak 4.2BSD [[Unix]] mulai memasukan protokol [[TCP/IP]] ke dalamnya. Pada hari ini, protokol [[TCP/IP]] tersedia di banyak [[sistem operasi]] dan termasuk bagian integral dari [[sistem operasi]] OS/2, OS/400, dan Windows 9x/NT/2000/XP, maupun berbagai varian [[Unix]].
  
 
==Dasar Arsitektur TCP/IP==
 
==Dasar Arsitektur TCP/IP==
Line 11: Line 11:
 
Hal lain yang perlu diperhatikan ialah, pada [[komputer]] tujuan transfer data mungkin terdapat lebih dari satu aplikasi yang menunggu datangnya data. Data yang dikirim harus sampai ke aplikasi yang tepat, pada [[komputer]] yang tepat, tanpa kesalahan.
 
Hal lain yang perlu diperhatikan ialah, pada [[komputer]] tujuan transfer data mungkin terdapat lebih dari satu aplikasi yang menunggu datangnya data. Data yang dikirim harus sampai ke aplikasi yang tepat, pada [[komputer]] yang tepat, tanpa kesalahan.
  
Cara alamiah untuk menghadapi setiap masalah yang rumit ialah memecah masalah tersebut menjadi bagian yang lebih kecil. Dalam memecahkan masalah transfer data diatas, para ahli jaringan [[komputer]] pun melakukan hal yang sama. Untuk setiap problem komunikasi data, diciptakan solusi khusus berupa aturan-aturan untuk menangani problem tersebut. Untuk menangani semua masalah komunikasi data, keseluruhan aturan ini harus bekerja sama satu dengan lainnya.  Sekumpulan aturan untuk mengatur proses pengiriman data ini disebut sebagai [[protokol]] komunikasi data. [[Protokol]] ini diimplementasikan dalam bentuk [[program komputer]] ([[software]]) yang terdapat pada komputer dan peralatan komunikasi data lainnya.  
+
Cara alamiah untuk menghadapi setiap masalah yang rumit ialah memecah masalah tersebut menjadi bagian yang lebih kecil. Dalam memecahkan masalah transfer data diatas, para ahli jaringan [[komputer]] pun melakukan hal yang sama. Untuk setiap problem [[komunikasi data]], diciptakan solusi khusus berupa aturan-aturan untuk menangani problem tersebut. Untuk menangani semua masalah [[komunikasi data]], keseluruhan aturan ini harus bekerja sama satu dengan lainnya.  Sekumpulan aturan untuk mengatur proses pengiriman data ini disebut sebagai [[protokol]] komunikasi data. [[Protokol]] ini diimplementasikan dalam bentuk [[program komputer]] ([[software]]) yang terdapat pada komputer dan peralatan komunikasi data lainnya.  
  
[[TCP/IP]] adalah sekumpulan protokol yang didesain untuk melakukan fungsi-fungi komunikasi data pada Wide Area Network (WAN). [[TCP/IP]] terdiri dari sekumpulan protokol yang masing-masing bertanggung jawab atas bagian-bagian tertentu dari komunikasi data. Dalam bahasa yang lebih formal-nya, disain protokol [[TCP/IP]] sifatnya modular. Berkat prinsip ini, tugas masing-masing protokol menjadi jelas dan sederhana. Protokol yang satu tidak perlu mengetahui cara kerja [[protokol]] yang lain, sepanjang ia masih bisa saling mengirim dan menerima data.  
+
[[TCP/IP]] adalah sekumpulan [[protokol]] yang didesain untuk melakukan fungsi-fungi [[komunikasi data]] pada [[Wide Area Network]] ([[WAN]]). [[TCP/IP]] terdiri dari sekumpulan protokol yang masing-masing bertanggung jawab atas bagian-bagian tertentu dari [[komunikasi data]]. Dalam bahasa yang lebih formal-nya, disain protokol [[TCP/IP]] sifatnya modular. Berkat prinsip ini, tugas masing-masing protokol menjadi jelas dan sederhana. [[Protokol]] yang satu tidak perlu mengetahui cara kerja [[protokol]] yang lain, sepanjang ia masih bisa saling mengirim dan menerima data.  
  
Berkat penggunaan prinsip modular ini, TCP/IP menjadi protokol komunikasi data yang fleksibel. [[Protokol]] [[TCP/IP]] dapat diterapkan dengan mudah di setiap jenis komputer dan interface jaringan, karena sebagian besar isi kumpulan [[protokol]] ini tidak spesifik terhadap satu komputer atau peralatan jaringan tertentu. Agar [[TCP/IP]] dapat berjalan diatas interface jaringan tertentu, hanya perlu dilakukan perubahan pada protokol yang berhubungan dengan interface jaringan saja.
+
Berkat penggunaan prinsip modular ini, [[TCP/IP]] menjadi [[protokol]] [[komunikasi data]] yang fleksibel. [[Protokol]] [[TCP/IP]] dapat diterapkan dengan mudah di setiap jenis [[komputer]] dan interface jaringan, karena sebagian besar isi kumpulan [[protokol]] ini tidak spesifik terhadap satu [[komputer]] atau peralatan jaringan tertentu. Agar [[TCP/IP]] dapat berjalan diatas [[interface jaringan]] tertentu, hanya perlu dilakukan perubahan pada [[protokol]] yang berhubungan dengan [[interface jaringan]] saja.
  
Sekumpulan protokol TCP/IP ini dimodelkan dengan empat (4) lapisan [[TCP/IP]]
+
[[Image:Lapisan-protocol.png|right|200px|thumb|Empat (4) Lapisan [[Protokol]] [[TCP/IP]]]]
 +
Sekumpulan [[protokol]] [[TCP/IP]] ini dimodelkan dengan empat (4) lapisan [[TCP/IP]]
  
 +
Arsitektur jaringan menggunakan [[protokol]] [[TCP/IP]] pada dasarnya terdiri dari 4 lapis kumpulan [[protokol]] yang bertingkat.  Peralatan fisik, [[radio]], kabel, [[modem]], [[card LAN]] seringkali disebut sebagai lapisan terakhir, lapisan ke lima (5). Jadi ke lima (5) lapis/layer tersebut adalah:
  
 +
# [[Application Layer]]
 +
# [[Transport Layer]]
 +
# [[Network Layer]]
 +
# [[Link Layer]]
 +
# [[Physical Layer]]
  
 +
Di bawah dari ke empat lapisan [[protokol]] yang ke semuanya di implementasikan dalam bentuk [[software]] adalah [[lapisan fisik]] ([[physical layer]]) yang dapat berupa [[modem]], [[kabel LAN]], [[radio]], [[antenna]] yang sifatnya fisik untuk menyambungkan jaringan. Karena tugasnya ini, [[protokol]] pada [[layer fisik]] harus mampu menerjemahkan sinyal listrik menjadi data digital yang dimengerti [[komputer]], yang berasal dari peralatan lain yang sejenis.
  
 +
Kadang kala, kita menyebut arsitektur jaringan [[TCP/IP]] sebagai arsitektur dengan lima (5) lapisan, jika physical layer dimasukan. Pada kenyataan di lapangan, jumlah lapisan protokol dapat bervarisasi / berbeda-beda tergantung kepentingan transaksi yang dilakukan. Hal ini akan lebih jelas pada saat kita melakukan sniffing paket data menggunakan [[Wireshark]] / [[Ethereal]] di [[komputer]].
  
 +
[[Image:Passing-data.png|right|300px|thumb|Proses enkapsulasi data antar lapisan [[protokol]]]]
 +
Proses enkapsulasi data antar lapisan [[protokol]] di perlihatkan pada gambar.
  
 +
Data yang akan dikirim akan di enkapsulasi oleh setiap lapisan, mulai dari lapisan aplikasi hingga yang terakhir [[lapisan fisik]]. Pada saat data di terima oleh setiap lapisan, lapisan akan membuang [[header]] data tersebut. Jika data dianggap valid, [[protokol]] akan melepas informasi tambahan tersebut, untuk kemudian meneruskan data itu ke [[protokol]] lain di lapisan selanjutnya.
  
 +
[[Lapisan Network]] akan mengatur supaya alamat mesin sumber dan yang dituju benar. Lapisan network ini yang akan mengidentifikasi supaya datagram mencapai komputer yang benar. Tapi [[lapisan network]] sama sekali tidak menjamin bahwa datagram yang dikirim akan diterima sampai di tujuan dengan selamat.
  
 +
[[Lapisan transport]] mengontrol port sumber dan port tujuan paket, termasuk nomor urut paket  yang dikirim. Oleh karenanya, menggunakan mekanisme lapisan protokol transport file yang besar dapat dikirim dalam potongan paket kecil, yang kemudian digabungkan kembali di bagian penerima. Lapisan transport juga berusaha menjamin supaya paket yang diterima sampai ditujuan dengan selamat, jika ada kesalahan / kerusakan paket di jalan, maka lapisan transport ini yang akan berusaha memperbaikinya.
  
 +
[[Lapisan Link]] biasanya di implementasikan di dalam [[firmware]] di [[LAN card]], akan menentukan bagaimana frame data dikirim. Termasuk bagaimana pemotongan / fragmentasi paket di kabel dengan [[Maximum Transmission Unit]] ([[MTU]]) yang lebih kecil, atau menggabungkan beberapa potongan (fragmen) frame menjadi sebuah frame dengan [[MTU]] yang lebih besar. Lapisan link juga menentukan komputer mana yang harus menerima frame di jaringan [[LAN]] untuk meneruskan frame ke tujuan yang benar.
  
 +
[[Lapisan link]] akan memberikan enkapsulasi datagram dari [[lapisan network]] ke dalam frame yang akan di kirim melalui jaringan. Dalam frame akan dimasuk alamat [[Ethernet]], atau [[MAC address]], dari [[komputer]] sumber dan komputer selanjutnya (next hop) untuk mencapai tujuan. Alamat-alamat ini akan ditulis ulang untuk setiap hop yang dilewati.
  
 +
Ada banyak protokol yang saling berinteraksi dalam jaringan [[komputer]] berbasis [[TCP/IP]]. Sebagian besar protokol yang saling berinteraksi ini diperlihatkan pada tabel. Masing-masing protokol mempunyai kemampuan yang unik dan spesial, oleh karena itu biasanya masing-masing protokol akan menggunakan keluarga protokol yang spesifik.
  
 +
{| border="1" cellpadding=2 style="border-collapse: collapse"
 +
| [[Application Layer]]
 +
| [[HTTP]] [[FTP]] Telnet Finger [[SSH]] [[DNS]] [[POP3]]/[[IMAP]] [[SMTP]] [[BGP]] Time/[[NTP]] Whois TACACS+ [[SSL]]
 +
| [[DNS]] [[SNMP]] [[RIP]] [[RADIUS]] Archie Traceroute [[tftp]]
 +
| [[Ping]]
 +
|
 +
|-
 +
| [[Transport Layer]]
 +
| [[TCP]]
 +
| [[UDP]]
 +
| [[ICMP]]
 +
| [[OSPF]]
 +
|-
 +
| [[Network Layer]]
 +
| [[IP]] / [[ARP]]
 +
|
 +
|
 +
|-
 +
| [[Link Layer]] & [[Physical Layer]]
 +
| Ethernet/802.3 Token Ring (802.5) SNAP/802.2 X.25 FDDI ISDN Frame Relay SMDS ATM Wireless (WAP, CDPD, 802.11) Fibre Channel DDS/DS0/T-carrier/E-carrier SONET/SDH DWDM PPP HDLC SLIP/CSLIP xDSL Cable Modem (DOCSIS)
 +
|
 +
|
 +
|}
  
 +
Untuk mencek apakah sambungan antar [[komputer]] terhubung dengan baik, biasanya kita menggunakan aplikasi ping, yang berjalan di atas [[protokol]] transport [[ICMP]] yang di tumpangkan di atas [[protokol]] network [[IP]].
  
 +
Aplikasi [[Web]] dengan [[protokol]] [[HTTP]] akan membutuhkan sambungan yang reliable menggunakan [[TCP]] yang ditumpangkan di atas [[IP]] untuk mencapai tujuan.
  
 +
Jadi, [[TCP/IP]] bukan hanya sepasang [[protokol]] komunikasi, tapi merupakan sekumpulan protokol, aplikasi dan utiliti. Semakin hari, protokol ini lebih di kenal sebagai keluarga [[protokol]] [[Internet]], tapi nama yang lama keluarga protokol [[TCP/IP]] tidak akan hilang dalam waktu dekat.
  
 +
[[Image:End-to-end.png|center|600px|thumb|Hubungan End-To-End Pada jaringan [[TCP/IP]]]]
  
 +
Pada gambar di perlihatkan hubungan berbagai lapisan [[protokol]] [[TCP/IP]]. Program aplikasi dan utiliti berada di mesin host. TCP memberikan sambungan [[virtual circuit]] yang reliable / andal antara dua host.
  
 +
Terkadang ada aplikasi yang tidak membutuhkan keandalan & keamanan data seketat [[TCP]], tetapi harus cepat / real-time, seperti pengiriman video atau suara di Telepon melalui Internet. Untuk aplikasi jenis ini dapat digunakan [[UDP]] sebagai pengganti [[TCP]] karena lebih effisien. [[UDP]] memberikan sambungan [[connectionless]] / [[datagram]] end-to-end pada [[lapisan transport]].
  
 +
[[IP]] memberikan dukungan transportasi datagram  pada jaringan / subnetwork di bawah termasuk jaringan lokal atau jaringan wide area network. Jaringan paling bawah menggunakan berbagai teknologi jaringan lokal maupun jaringan wide area network. Perhatikan bahwa IP memungkinkan translasi datagram dari subnetwork satu (1) ke subnetwork lainnya (2). Yang berubah terutama hanya header [[Ethernet]]-nya saja.
  
 
+
Perlu dicatat bahwa istilah [[gateway]] atau [[router]] digunakan untuk alat yang menyambungkan dua subnetwork. Di jaringan [[LAN]] biasanya digunakan istilah router dalam [[OSI]] di kenal sebagai intermediate system. Dalam terminologi [[OSI]], [[gateway]] digunakan untuk melakukan konversi protokol antara dua jaringan / aplikasi.
 
 
Arsitektur jaringan menggunakan protokol TCP/IP pada dasarnya terdiri dari 4 lapis kumpulan protokol yang bertingkat.  Peralatan fisik, radio, kabel, modem, card LAN seringkali disebut sebagai lapisan terakhir, lapisan ke lima (5). Jadi ke lima (5) lapis/layer tersebut adalah:
 
 
 
1.Application Layer.
 
2.Transport Layer.
 
3.Network Layer.
 
4.Link Layer.
 
5.Physical Layer.
 
 
 
Di bawah dari ke empat lapisan protokol yang ke semuanya di implementasikan dalam bentruk software adalah lapisan fisik (physical layer) yang dapat berupa modem, kabel LAN, radio, antenna yang sifatnya fisik untuk menyambungkan jaringan. Karena tugasnya ini, protokol pada layer fisik harus mampu menerjemahkan sinyal listrik menjadi data digital yang dimengerti komputer, yang berasal dari peralatan lain yang sejenis.
 
 
 
Kadang kala, kita menyebut arsitektur jaringan TCP/IP sebagai arsitektur dengan lima (5) lapisan, jika physical layer dimasukan. Pada kenyataan di lapangan, jumlah lapisan protokol dapat bervarisasi / berbeda-beda tergantung kepentingan transaksi yang dilakukan. Hal ini akan lebih jelas pada saat kita melakukan sniffing paket data menggunakan Ethereal di komputer.
 
 
 
Proses enkapsulasi data antar lapisan protokol di perlihatkan pada gambar berikut.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Data yang akan dikirim akan di enkapsulasi oleh setiap lapisan, mulai dari lapisan aplikasi hingga yang terakhir lapisan fisik. Pada saat data di terima oleh setiap lapisan, lapisan akan membuang header data tersebut. Jika data dianggap valid, protokol akan melepas informasi tambahan tersebut, untuk kemudian meneruskan data itu ke protokol lain di lapisan selanjutnya.
 
 
 
Lapisan Network akan mengatur supaya alamat mesin sumber dan yang dituju benar. Lapisan network ini yang akan mengidentifikasi supaya datagram mencapai komputer yang benar. Tapi lapisan network sama sekali tidak menjamin bahwa datagram yang dikirim akan diterima sampai di tujuan dengan selamat.
 
 
 
Lapisan transport mengontrol port sumber dan port tujuan paket, termasuk nomor urut paket  yang dikirim. Oleh karenanya, menggunakan mekanisme lapisan protokol transport file yang besar dapat dikirim dalam potongan paket kecil, yang kemudian digabungkan kembali di bagian penerima. Lapisan transport juga berusaha menjamin supaya paket yang diterima sampai ditujuan dengan selamat, jika ada kesalahan / kerusakan paket di jalan, maka lapisan transport ini yang akan berusaha memperbaikinya.
 
 
 
Lapisan Link biasanya di implementasikan di dalam firmware di LAN card, akan menentukan bagaimana frame data dikirim. Termasuk bagaimana pemotongan / fragmentasi paket di kabel dengan Maximum Transmission Unit (MTU) yang lebih kecil, atau menggabungkan beberapa potongan (fragmen) frame menjadi sebuah frame dengan MTU yang lebih besar. Lapisan link juga menentukan komputer mana yang harus menerima frame di jaringan LAN untuk meneruskan frame ke tujuan yang benar.
 
 
 
Lapisan link akan memberikan enkapsulasi datagram dari lapisan network ke dalam frame yang akan di kirim melalui jaringan. Dalam frame akan dimasuk alamat Ethernet, atau MAC address, dari komputer sumber dan komputer selanjutnya (next hop) untuk mencapai tujuan. Alamat-alamat ini akan ditulis ulang untuk setiap hop yang dilewati.
 
 
 
Ada banyak protokol yang saling berinteraksi dalam jaringan komputer berbasis TCP/IP. Sebagian besar protokol yang saling berinteraksi ini diperlihatkan pada tabel. Masing-masing protokol mempunyai kemampuan yang unik dan spesial, oleh karena itu biasanya masing-masing protokol akan menggunakan keluarga protokol yang spesifik.
 
 
 
Application Layer
 
HTTP FTP Telnet Finger SSH DNS
 
POP3/IMAP SMTP Gopher BGP
 
Time/NTP Whois TACACS+ SSL
 
DNS SNMP RIP
 
RADIUS Archie
 
Traceroute tftp
 
Ping
 
 
 
Transport Layer
 
TCP
 
UDP
 
ICMP
 
OSPF
 
Network Layer
 
IP / ARP
 
Link Layer & Physical Layer
 
Ethernet/802.3 Token Ring (802.5) SNAP/802.2 X.25 FDDI ISDN
 
Frame Relay SMDS ATM Wireless (WAP, CDPD, 802.11)
 
Fibre Channel DDS/DS0/T-carrier/E-carrier SONET/SDH DWDM
 
PPP HDLC SLIP/CSLIP xDSL Cable Modem (DOCSIS)
 
 
 
 
 
Untuk mencek apakah sambungan antar komputer terhubung dengan baik, biasanya kita menggunakan aplikasi ping, yang berjalan di atas protokol transport ICMP yang di tumpangkan di atas protokol network IP.
 
 
 
Aplikasi Web dengan protokol HTTP akan membutuhkan sambungan yang reliable menggunakan TCP yang ditumpangkan di atas IP untuk mencapai tujuan.
 
 
 
Jadi, TCP/IP bukan hanya sepasang protokol komunikasi, tapi merupakan sekumpulan protokol, aplikasi dan utiliti. Semakin hari, protokol ini lebih di kenal sebagai keluarga protokol Internet, tapi nama yang lama keluarga protokol TCP/IP tidak akan hilang dalam waktu dekat.
 
 
 
 
 
 
 
 
 
Pada gambar di perlihatkan hubungan berbagai lapisan protokol TCP/IP. Program aplikasi dan utiliti berada di mesin host. TCP memberikan sambungan virtual circuit yang reliable / andal antara dua host.
 
Terkadang ada aplikasi yang tidak membutuhkan keandalan & keamanan data seketat TCP, tetapi harus cepat / real-time, seperti pengiriman video atau suara di Telepon melalui Internet. Untuk aplikasi jenis ini dapat digunakan UDP sebagai pengganti TCP karena lebih effisien. UDP memberikan sambungan connectionless / datagram end-to-end pada lapisan transport.
 
IP memberikan dukungan transportasi datagram  pada jaringan / subnetwork di bawah termasuk jaringan lokal atau jaringan wide area network. Jaringan paling bawah menggunakan berbagai teknologi jaringan lokal maupun jaringan wide area network. Perhatikan bahwa IP memungkinkan translasi datagram dari subnetwork satu (1) ke subnetwork lainnya (2). Yang berubah terutama hanya header Ethernet-nya saja.
 
Perlu dicatat bahwa istilah gateway atau router digunakan untuk alat yang menyambungkan dua subnetwork. Di jaringan LAN biasanya digunakan istilah router dalam OSI di kenal sebagai intermediate system. Dalam terminologi OSI, gateway digunakan untuk melakukan konversi protokol antara dua jaringan / aplikasi.
 
  
 
==Referensi==
 
==Referensi==
  
Banyak sekali buku dan paper yang telah ditulis untuk menjelaskan berbagai aspek tentang TCP/IP, termasuk informasi detail tentang cara pembuatan dan implementasi TCP/IP. Beberapa diantara-nya bahkan dapat di ambil secara gratis di Internet. Beberapa referensi yang baik tentang TCP/IP, antara lain adalah:
+
Banyak sekali buku dan paper yang telah ditulis untuk menjelaskan berbagai aspek tentang [[TCP/IP]], termasuk informasi detail tentang cara pembuatan dan implementasi [[TCP/IP]]. Beberapa diantara-nya bahkan dapat di ambil secara gratis di [[Internet]]. Beberapa referensi yang baik tentang [[TCP/IP]], antara lain adalah:
  
 
* TCP/IP Illustrated, Volume I: The Protocols oleh W.R. Stevens (Addison-Wesley, 1994)  
 
* TCP/IP Illustrated, Volume I: The Protocols oleh W.R. Stevens (Addison-Wesley, 1994)  

Latest revision as of 09:50, 27 May 2010

Pada bagian ini akan diberikan pengantar tentang konsep dasar dan cara kerja Protokol TCP/IP yang menjadi dasar bagi terbentuknya jaringan internet Melalui pengantar ini pembaca diharapkan akan memperoleh dasar yang kuat untuk memahami konsep & teknologi yang lebih tinggi.

TCP/IP biasanya ada di sistem operasi Unix atau turunannya. Walaupun sebetulnya pengembangannya terpisah tapi sejarah keduanya saling terikat erat, terutama sejak 4.2BSD Unix mulai memasukan protokol TCP/IP ke dalamnya. Pada hari ini, protokol TCP/IP tersedia di banyak sistem operasi dan termasuk bagian integral dari sistem operasi OS/2, OS/400, dan Windows 9x/NT/2000/XP, maupun berbagai varian Unix.

Dasar Arsitektur TCP/IP

Komunikasi data merupakan proses mengirimkan data dari satu komputer ke komputer yang lain. Melalui peralatan Network Interface Card (NIC) atau LAN card, komunikasi data antar komputer biasanya dilakukan. NIC / LAN card yang digunakan sangat bervarisasi tergantung jenis saluran fisik yang digunakan.

Ada beberapa masalah yang harus dipecahkan dalam mengiriman data. Pertama, data harus dapat dikirimkan ke komputer yang tepat, sesuai tujuannya. Hal ini akan menjadi rumit jika komputer tujuan transfer data ini tidak berada pada jaringan lokal, melainkan di tempat yang jauh. Jika lokasi komputer yang saling berkomunikasi "jauh" (secara jaringan) maka terdapat kemungkinan data rusak atau hilang. Karenanya, perlu ada mekanisme yang mencegah rusaknya data ini.

Hal lain yang perlu diperhatikan ialah, pada komputer tujuan transfer data mungkin terdapat lebih dari satu aplikasi yang menunggu datangnya data. Data yang dikirim harus sampai ke aplikasi yang tepat, pada komputer yang tepat, tanpa kesalahan.

Cara alamiah untuk menghadapi setiap masalah yang rumit ialah memecah masalah tersebut menjadi bagian yang lebih kecil. Dalam memecahkan masalah transfer data diatas, para ahli jaringan komputer pun melakukan hal yang sama. Untuk setiap problem komunikasi data, diciptakan solusi khusus berupa aturan-aturan untuk menangani problem tersebut. Untuk menangani semua masalah komunikasi data, keseluruhan aturan ini harus bekerja sama satu dengan lainnya. Sekumpulan aturan untuk mengatur proses pengiriman data ini disebut sebagai protokol komunikasi data. Protokol ini diimplementasikan dalam bentuk program komputer (software) yang terdapat pada komputer dan peralatan komunikasi data lainnya.

TCP/IP adalah sekumpulan protokol yang didesain untuk melakukan fungsi-fungi komunikasi data pada Wide Area Network (WAN). TCP/IP terdiri dari sekumpulan protokol yang masing-masing bertanggung jawab atas bagian-bagian tertentu dari komunikasi data. Dalam bahasa yang lebih formal-nya, disain protokol TCP/IP sifatnya modular. Berkat prinsip ini, tugas masing-masing protokol menjadi jelas dan sederhana. Protokol yang satu tidak perlu mengetahui cara kerja protokol yang lain, sepanjang ia masih bisa saling mengirim dan menerima data.

Berkat penggunaan prinsip modular ini, TCP/IP menjadi protokol komunikasi data yang fleksibel. Protokol TCP/IP dapat diterapkan dengan mudah di setiap jenis komputer dan interface jaringan, karena sebagian besar isi kumpulan protokol ini tidak spesifik terhadap satu komputer atau peralatan jaringan tertentu. Agar TCP/IP dapat berjalan diatas interface jaringan tertentu, hanya perlu dilakukan perubahan pada protokol yang berhubungan dengan interface jaringan saja.

Empat (4) Lapisan Protokol TCP/IP

Sekumpulan protokol TCP/IP ini dimodelkan dengan empat (4) lapisan TCP/IP

Arsitektur jaringan menggunakan protokol TCP/IP pada dasarnya terdiri dari 4 lapis kumpulan protokol yang bertingkat. Peralatan fisik, radio, kabel, modem, card LAN seringkali disebut sebagai lapisan terakhir, lapisan ke lima (5). Jadi ke lima (5) lapis/layer tersebut adalah:

  1. Application Layer
  2. Transport Layer
  3. Network Layer
  4. Link Layer
  5. Physical Layer

Di bawah dari ke empat lapisan protokol yang ke semuanya di implementasikan dalam bentuk software adalah lapisan fisik (physical layer) yang dapat berupa modem, kabel LAN, radio, antenna yang sifatnya fisik untuk menyambungkan jaringan. Karena tugasnya ini, protokol pada layer fisik harus mampu menerjemahkan sinyal listrik menjadi data digital yang dimengerti komputer, yang berasal dari peralatan lain yang sejenis.

Kadang kala, kita menyebut arsitektur jaringan TCP/IP sebagai arsitektur dengan lima (5) lapisan, jika physical layer dimasukan. Pada kenyataan di lapangan, jumlah lapisan protokol dapat bervarisasi / berbeda-beda tergantung kepentingan transaksi yang dilakukan. Hal ini akan lebih jelas pada saat kita melakukan sniffing paket data menggunakan Wireshark / Ethereal di komputer.

Proses enkapsulasi data antar lapisan protokol

Proses enkapsulasi data antar lapisan protokol di perlihatkan pada gambar.

Data yang akan dikirim akan di enkapsulasi oleh setiap lapisan, mulai dari lapisan aplikasi hingga yang terakhir lapisan fisik. Pada saat data di terima oleh setiap lapisan, lapisan akan membuang header data tersebut. Jika data dianggap valid, protokol akan melepas informasi tambahan tersebut, untuk kemudian meneruskan data itu ke protokol lain di lapisan selanjutnya.

Lapisan Network akan mengatur supaya alamat mesin sumber dan yang dituju benar. Lapisan network ini yang akan mengidentifikasi supaya datagram mencapai komputer yang benar. Tapi lapisan network sama sekali tidak menjamin bahwa datagram yang dikirim akan diterima sampai di tujuan dengan selamat.

Lapisan transport mengontrol port sumber dan port tujuan paket, termasuk nomor urut paket yang dikirim. Oleh karenanya, menggunakan mekanisme lapisan protokol transport file yang besar dapat dikirim dalam potongan paket kecil, yang kemudian digabungkan kembali di bagian penerima. Lapisan transport juga berusaha menjamin supaya paket yang diterima sampai ditujuan dengan selamat, jika ada kesalahan / kerusakan paket di jalan, maka lapisan transport ini yang akan berusaha memperbaikinya.

Lapisan Link biasanya di implementasikan di dalam firmware di LAN card, akan menentukan bagaimana frame data dikirim. Termasuk bagaimana pemotongan / fragmentasi paket di kabel dengan Maximum Transmission Unit (MTU) yang lebih kecil, atau menggabungkan beberapa potongan (fragmen) frame menjadi sebuah frame dengan MTU yang lebih besar. Lapisan link juga menentukan komputer mana yang harus menerima frame di jaringan LAN untuk meneruskan frame ke tujuan yang benar.

Lapisan link akan memberikan enkapsulasi datagram dari lapisan network ke dalam frame yang akan di kirim melalui jaringan. Dalam frame akan dimasuk alamat Ethernet, atau MAC address, dari komputer sumber dan komputer selanjutnya (next hop) untuk mencapai tujuan. Alamat-alamat ini akan ditulis ulang untuk setiap hop yang dilewati.

Ada banyak protokol yang saling berinteraksi dalam jaringan komputer berbasis TCP/IP. Sebagian besar protokol yang saling berinteraksi ini diperlihatkan pada tabel. Masing-masing protokol mempunyai kemampuan yang unik dan spesial, oleh karena itu biasanya masing-masing protokol akan menggunakan keluarga protokol yang spesifik.

Application Layer HTTP FTP Telnet Finger SSH DNS POP3/IMAP SMTP BGP Time/NTP Whois TACACS+ SSL DNS SNMP RIP RADIUS Archie Traceroute tftp Ping
Transport Layer TCP UDP ICMP OSPF
Network Layer IP / ARP
Link Layer & Physical Layer Ethernet/802.3 Token Ring (802.5) SNAP/802.2 X.25 FDDI ISDN Frame Relay SMDS ATM Wireless (WAP, CDPD, 802.11) Fibre Channel DDS/DS0/T-carrier/E-carrier SONET/SDH DWDM PPP HDLC SLIP/CSLIP xDSL Cable Modem (DOCSIS)

Untuk mencek apakah sambungan antar komputer terhubung dengan baik, biasanya kita menggunakan aplikasi ping, yang berjalan di atas protokol transport ICMP yang di tumpangkan di atas protokol network IP.

Aplikasi Web dengan protokol HTTP akan membutuhkan sambungan yang reliable menggunakan TCP yang ditumpangkan di atas IP untuk mencapai tujuan.

Jadi, TCP/IP bukan hanya sepasang protokol komunikasi, tapi merupakan sekumpulan protokol, aplikasi dan utiliti. Semakin hari, protokol ini lebih di kenal sebagai keluarga protokol Internet, tapi nama yang lama keluarga protokol TCP/IP tidak akan hilang dalam waktu dekat.

Hubungan End-To-End Pada jaringan TCP/IP

Pada gambar di perlihatkan hubungan berbagai lapisan protokol TCP/IP. Program aplikasi dan utiliti berada di mesin host. TCP memberikan sambungan virtual circuit yang reliable / andal antara dua host.

Terkadang ada aplikasi yang tidak membutuhkan keandalan & keamanan data seketat TCP, tetapi harus cepat / real-time, seperti pengiriman video atau suara di Telepon melalui Internet. Untuk aplikasi jenis ini dapat digunakan UDP sebagai pengganti TCP karena lebih effisien. UDP memberikan sambungan connectionless / datagram end-to-end pada lapisan transport.

IP memberikan dukungan transportasi datagram pada jaringan / subnetwork di bawah termasuk jaringan lokal atau jaringan wide area network. Jaringan paling bawah menggunakan berbagai teknologi jaringan lokal maupun jaringan wide area network. Perhatikan bahwa IP memungkinkan translasi datagram dari subnetwork satu (1) ke subnetwork lainnya (2). Yang berubah terutama hanya header Ethernet-nya saja.

Perlu dicatat bahwa istilah gateway atau router digunakan untuk alat yang menyambungkan dua subnetwork. Di jaringan LAN biasanya digunakan istilah router dalam OSI di kenal sebagai intermediate system. Dalam terminologi OSI, gateway digunakan untuk melakukan konversi protokol antara dua jaringan / aplikasi.

Referensi

Banyak sekali buku dan paper yang telah ditulis untuk menjelaskan berbagai aspek tentang TCP/IP, termasuk informasi detail tentang cara pembuatan dan implementasi TCP/IP. Beberapa diantara-nya bahkan dapat di ambil secara gratis di Internet. Beberapa referensi yang baik tentang TCP/IP, antara lain adalah:

  • TCP/IP Illustrated, Volume I: The Protocols oleh W.R. Stevens (Addison-Wesley, 1994)
  • Troubleshooting TCP/IP oleh Mark Miller (John Wiley & Sons, 1999)
  • Guide to TCP/IP, 2/e oleh Laura A. Cappell and Ed Tittel (Thomson Course Technology, 2004)
  • TCP/IP: Architecture, Protocols, and Implementation with IPv6 and IP Security oleh S. Feit (McGraw-Hill, 2000)
  • Internetworking with TCP/IP, Vol. I: Principles, Protocols, and Architecture, 2/e, oleh D. Comer (Prentice-Hall, 1991)
  • "TCP/IP Tutorial" oleh J. Socolofsky and C.J. Kale (RFC 1180, Jan. 1991) (http://www.isi.edu/in-notes/rfc1180.txt)
  • "TCP/IP and tcpdump Pocket Reference Guide", (http://networking.champlain.edu/download/tcpip/tcpip_prg.pdf) oleh The SANS Institute.

Pranala Menarik