Jaringan Komputer Menggunakan Protokol TCP/IP
Prinsip kerja jaringan protokol TCP/IP dijelaskan secara garis besar. Beberapa aplikasi yang umum digunakan pada jaringan komputer TCP/IP akan diketengahkan. Kemungkinan mengembangkan Wide Area Network (WAN) menggunakan protokol TCP/IP di Indonesia juga akan diterangkan. Sebagai contoh, pengalaman penulis menjalankan PC di amatir radio yang terkait ke jaringan AMPRNet - InterNet menggunakan TCP/IP di Canada akan dijelaskan.
Pendahuluan.
Banyak protokol komunikasi komputer telah dikembangkan untuk membentuk jaringan komputer. Kompetisi antar perusahaan komputer seperti DEC, IBM dll. menelurkan berbagai standart jaringan komputer. Hal ini menimbulkan kesulitan terutama jika akan dilakukan interkoneksi antar berbagai jenis komputer dalam wilayah yang luas.
Sekitar tahun 70-an Department of Defence (DoD) di Amerika Serikat memelopori pengembangan protokol jaringan komputer yang sama sekali tidak terikat pada jenis komputer maupun media komunikasi yang digunakan. Protokol yang dikembangkan diberi nama InterNet Protocol (pada network layer) [1] dan Transmission Control Protocol (pada transport layer) [2] atau disingkat TCP/IP. Berbagai protokol tambahan kemudian dikembangkan untuk mengatasi berbagai masalah dalam jaringan TCP/IP. Jaringan komputer menggunakan TCP/IP kini lebih dikenal sebagai jaringan InterNet. Tampak bahwa jaringan InterNet berkembang dari kebutuhan dan implementasi di medan sehingga jaringan komputer ini terus disempurnakan. Saat ini TCP/IP merupakan standard pada sistem operasi UNIX dengan disertakan socket library untuk programmer di UNIX mengakes langsung ke TCP socket. Semua standard yang digunakan pada jaringan TCP/IP dapat diperoleh secara cuma-cuma dari berbagai komputer di InterNet.
Selain TCP/IP sebetulnya keluarga protokol yang dikembangkan oleh OSI/ISO seperti X.25/X.75/X.400 juga mulai digunakan oleh beberapa institusi. Sayang segala informasi tentang protokol ini harus dibeli oleh kita ke ISO. Hal ini menyebabkan perkembangan ISO/OSI tersendat tidak seperti TCP/IP. Untuk jangka panjang, kemungkinan TCP/IP akan menjadi standart dunia jaringan komputer. Dalam artikel ini akan dijelaskan prinsip kerja TCP/IP.
Lapisan protokol di jaringan komputer.
Secara umum lapisan protokol dalam jaringan komputer dapat dibagi atas tujuh lapisan. Lapisan ini dapat dilihat pada gambar 1. Dari lapisan terbawah hingga tertinggi dikenal physical layer, link layer, network layer, transport layer, session layer, presentation layer dan application layer. Masing-masing lapisan mempunyai fungsi masing-masing dan tidak tergantung antara satu dengan lainnya.
Dari ketujuh lapisan ini hanya physical layer yang merupakan perangkat keras selebihnya merupakan perangkat lunak. physical layer merupakan media penghubung untuk mengirimkan informasi digital dari satu komputer ke komputer lainnya yang secara fisik dapat kita lihat. Berbagai bentuk perangkat keras telah dikembangkan untuk keperluan ini. Satu diantaranya yang cukup banyak digunakan untuk keperluan jaringan komputer lokal (LAN) di Indonesia adalah ARCnet yang banyak digunakan menggunakan perangkat lunak Novell. Untuk keperluan Wide Area Network (WAN) dapat kita dapat menyambungkan berbagai LAN ini menggunakan media radio atau telepon menjadi satu kesatuan.
Untuk mengatur hubungan antara dua buah komputer melalui physical layer yang ada digunakan protokol link layer. Pada jaringan paket radio di amatir digunakan link layer AX.25 (Amatir X.25) yang merupakan turunan CCITT X.25 yang juga digunakan pada Sistem Komunikasi Data Paket (SKDP) oleh PT. INDOSAT dan Perumtel. Dalam artikel terdahulu dijelaskan tentang
IEEE sebuah organisasi profesi untuk teknik elektro telah mengembangkan beberapa standart protokol physical layer dan link layer untuk LAN. Berdasarkan rekomendasi IEEE pada LAN yang menggunakan ARCnet (IEEE 802.3) atau Ethernet (IEEE 802.3) digunakan link layer (IEEE 802.2). Pada LAN Token Ring digunakan physical layer (IEEE 802.5). Bentuk lain dari LAN yang kurang dikenal adalah Token Bus (IEEE 802.4). Untuk LAN berkecepatan tinggi juga telah dikembangkan sebuah standart yang diturunkan dari IEEE 802.3 yang kemudian dikenal sebagai Fiber Data Distributed Interface (FDDI).
Artikel ini akan memfokuskan pembahasan pada lapisan protokol network layer dan transport layer. Sebetulnya ada beberapa keluarga protokol lainnya dalam TCP/IP. Tampak pada gambar 2 pada network layer selain IP dikenal juga ICMP (InterNet Control Message Protocol) [3], ARP (Address Resolution Protocol) [4] dan RARP (Reverse Address Resolution Protocol). Pada transport layer digunakan UDP (User Datagram Protocol) [5] selain TCP. Untuk sementara pembahasan akan dibatasi pada prinsip kerja protokol IP damn TCP. Hal ini karena TCP/IP merupakan protokol yang paling sering digunakan dalam operasi jaringan, protokol lainnya merupakan pelengkap yang membantu jaringan ini bekerja. Perlu dicatat bahwa pada jaringan komputer menggunakan TCP/IP umumnya tiga lapisan teratas dilakukan oleh sistem operasi dari komputer yang digunakan. Khususnya untuk komputer yang menggunakan UNIX telah tersedia library untuk network programming sehingga kita dapat mengembangkan program sendiri dengan mengakses langsung ke soket-soket TCP yang tersedia. Mungkin dilain kesempatan akan dijelaskan lebih lanjut mengenai cara pemprograman soket TCP di UNIX yang dapat diakses menggunakan bahasa C.
Prinsip kerja InterNet Protokol (IP).
Fungsi dari InterNet Protokol secara sederhana dapat diterangkan seperti cara kerja kantor pos pada proses pengiriman surat. Surat kita masukan ke kotak pos akan diambil oleh petugas pos dan kemudian akan dikirim melalui route yang random, tanpa si pengirim maupun si penerima surat mengetahui jalur perjalanan surat tersebut. Juga jika kita mengirimkan dua surat yang ditujukan pada alamat yang sama pada hari yang sama, belum tentu akan sampai bersamaan karena mungkin surat yang satu akan mengambil route yang berbeda dengan surat yang lain. Di samping itu, tidak ada jaminan bahwa surat akan sampai ditangan tujuan, kecuali jika kita mengirimkannya menggunakan surat tercatat.
Prinsip di atas digunakan oleh InterNet Protokol, "surat" diatas dikenal dengan sebutan datagram. InterNet protokol (IP) berfungsi menyampaikan datagram dari satu komputer ke komputer lain tanpa tergantung pada media kompunikasi yang digunakan. Data transport layer dipotong menjadi datagram-datagram yang dapat dibawa oleh IP. Tiap datagram dilepas dalam jaringan komputer dan akan mencari sendiri secara otomatis rute yang harus ditempuh ke komputer tujuan. Hal ini dikenal sebagai transmisi connectionless. Dengan kata lain, komputer pengirim datagram sama sekali tidak mengetahui apakah datagram akan sampai atau tidak.
Untuk membantu mencapai komputer tujuan, setiap komputer dalam jaringan TCP/IP harus diberikan IP address. IP address harus unik untuk setiap komputer, tetapi tidak menjadi halangan bila sebuah komputer mempunyai beberapa IP address. IP address terdiri atas 8 byte data yang mempunyai nilai dari 0-255 yang sering ditulis dalam bentuk [xx.xx.xx.xx] (xx mempunyai nilai dari 0-255).
Pada header InterNet Protokol selain IP address dari komputer tujuan dan komputer pengirim datagram juga terdapat beberapa informasi lainnya. Informasi ini mencakup jenis dari protokol transport layer yang ditumpangkan diatas IP. Tampak pada gambar 2 ada dua jenis protokol pada transport layer yaitu TCP dan UDP. Informasi penting lainnya adalah Time-To-Live (TTL) yang menentukan berapa lama IP dapat hidup didalam jaringan. Nilai TTL akan dikurangi satu jika IP melalui sebuah komputer. Hal ini penting artinya terutama karena IP dilepas di jaringan komputer. Jika karena satu dan lain hal IP tidak berhasil menemukan alamat tujuan maka dengan adanya TTL IP akan mati dengan sendirinya pada saat TTL bernilai nol. Disamping itu juga tiap IP yang dikirimkan diberikan identifikasi sehingga bersama-sama dengan IP address komputer pengirim data dan komputer tujuan, tiap IP dalam jaringan adalah unik.
Khususnya untuk pemakai jaringan komputer hal yang terpenting untuk dipahami secara benar-benar adalah konsep IP address. Lembaga yang mengatur IP address adalah Network Information Center (NIC) di Department of Defence di US yang beralamat di hostmaster@nic.ddn.mil. Pengaturan IP address penting, terutama pada saat mengatur routing secara otomatis. Sebagai contoh jaringan komputer di amatir radio mempunyai IP address kelas yang mempunyai address [44.xx.xx.xx]. Khusus untuk amatir radio di Indonesia IP address yang digunakan adalah [44.132.xx.xx]. Sedangkan penulis di Canada mempunyai IP address [44.135.84.22]. Hal ini terlihat dengan jelas bahwa IP address di amatir radio sifatnya geografis. Dari IP address penulis dapat dibaca bahwa mesin penulis berada di network 44 di InterNet yang dikenal sabagai AMPRNet (ampr.org). 135 menandakan bahwa penulis berada di Canada. 84 memberitahukan bahwa penulis berada di kota Waterloo di propinsi Ontario, sedang 22 adalah nomor mesin penulis. Dengan konsep IP address, route perjalanan IP dalam jaringan komputer dapat dilakukan secara otomatis. Sebagai contoh, jika sebuah komputer di InterNet akan mengirimkan IP ke [44.135.84.22], pertama-tama IP yang dilepas di network akan berusaha mencari jalan ke network 44.135.84, setelah mesin yang mengubungkan network 44.135.84 tercapai IP tersebut akan mencoba menghubungi mesin 22 di network tersebut. Kesemuanya ini dilakukan secara otomatis oleh program.
Tentunya sukar bagi manusia untuk mengingat sedemikian banyak IP address. Untuk memudahkan, dikembangkan Domain Name System (DNS). Sebagai contoh mesin penulis di AMPRNet dengan IP address [44.135.84.22], penulis beri nama (hostname) ve3.yc1dav.ampr.org. Terlihat bahwa hostname yang digunakan penulis sangat spesifik dan sangat memudahkan untuk mengetahui bahwa penulis berada di AMPRNet dari kata ampr.org. Mesin tersebut berada di Kanada dan propinsi Ontario dari ve3 sedang yc1dav adalah penulis sendiri. Contoh lain dari DNS adalah sun1.vlsi.waterloo.edu yang merupakan sebuah Sun SPARC workstation (sun1) di kelompok peneliti VLSI di University of Waterloo, Kanada (waterloo.edu) tempat penulis bekerja dan belajar. Perlu dicatat bahwa saat ini NIC belum memberikan domain untuk Indonesia. Mudah-mudahan dengan berkembangnya jaringan komputer TCP/IP di Indonesia ada saatnya dimana kita di Indonesia perlu meminta domain tersendiri untuk Indonesia.
Prinsip kerja Transmission Control Protocol (TCP).
Berbeda dengan InterNet Protokol (IP), TCP mempunyai prinsip kerja seperti "virtual circuit" pada jaringan telepon. TCP lebih mementingkan tata-cara dan keandalan dalam pengiriman data antara dua komputer dalam jaringan. TCP tidak perduli dengan apa-apa yang dikerjakan oleh IP, yang penting adalah hubungan komunikasi antara dua komputer berjalan dengan baik. Dalam hal ini, TCP mengatur bagaimana cara membuka hubungan komunikasi, jenis aplikasi apa yang akan dilakukan dalam komunikasi tersebut (misalnya mengirim e-mail, transfer file dsb.) Di samping itu, juga mendeteksi dan mengoreksi jika ada kesalahan data. TCP mengatur seluruh proses koneksi antara satu komputer dengan komputer yang lain dalam sebuah jaringan komputer.
Berbeda dengan IP yang mengandalkan mekanisme connectionless pada TCP mekanisme hubungan adalah connection oriented. Dalam hal ini, hubungan secara logik akan dibangun oleh TCP antara satu komputer dengan komputer yang lain. Dalam waktu yang ditentukan komputer yang sedang berhubungan harus mengirimkan data atau acknowledge agar hubungan tetap berlangsung. Jika hal ini tidak sanggup dilakukan maka dapat diasumsikan bahwa komputer yang sedang berhubungan dengan kita mengalami gangguan dan hubungan secara logik dapat diputus.
TCP mengatur multiplexing dari data yang dikirim/diterima oleh sebuah komputer. Adanya identifikasi pada TCP header memungkinkan multiplexing dilakukan. Hal ini memungkinkan sebuah komputer melakukan beberapa hubungan TCP secara logik. Bentuk hubungan adalah full duplex, hal ini memungkinkan dua buah komputer saling berbicara dalam waktu bersamaan tanpa harus bergantian menggunakan kanal komunikasi. Untuk mengatasi saturasi (congestion) pada kanal komunikasi, pada header TCP dilengkapi informasi tentang flow control.
Hal yang cukup penting untuk dipahami pada TCP adalah port number. Port number menentukan servis yang dilakukan oleh program aplikasi diatas TCP. Nomor-nomor ini telah ditentukan oleh Network Information Center dalam Request For Comment (RFC) 1010 [10]. Sebagai contoh untuk aplikasi File Transfer Protokol (FTP) diatas transport layer TCP digunakan port number 20 dan masih banyak lagi.
Prinsip kerja dari TCP berdasarkan prinsip client-server. Server adalah program pada komputer yang secara pasif akan mendengarkan (listen) port number yang telah ditentukan pada TCP. Sedang client adalah program yang secara aktif akan membuka hubungan TCP ke komputer server untuk meminta servis yang dibutuhkan.
State diagram kerja TCP diperlihatkan pada gambar 3. Pada state diagram gambar 3, client akan secara aktif membuka hubungan (active open) dengan mengirimkan sinyal SYN (state SYN SENT) ke komputer server tujuan. Jika server menerima sinyal SYN maka server yang saat itu berada pada state LISTEN akan mengirimkan sinyal SYN dan ke dua komputer (client & server) akan ke state ESTAB. Jika tidak ada tanggapan dari komputer yang dituju, maka program akan kembali pada state CLOSE. Setelah servis yang dilakukan telah selesai maka salah client akan mengirimkan sinyal FIN dan komputer client akan berada pada state FIN WAIT sampai sinyal FIN dari server diterima. Pada saat menerima sinyal FIN, server akan ke state CLOSE WAIT hingga hubungan diputus. Akhirnya kedua komputer akan kembali pada state CLOSE.
Beberapa contoh aplikasi jaringan InterNet.
Banyak aplikasi yang mungkin dilakukan menggunakan keluarga protokol TCP/IP. Aplikasi yang umum dilakukan adalah pengiriman berita secara elektronik yang dikenal sebagai elektronik mail (e-mail). Untuk ini dikembangkan sebuah protokol Simple Mail Transfer Protocol (SMTP) [6]. Protokol ini mengatur tata cara mengirimkan berita dari seorang user di sebuah komputer ke komputer lain menggunakan alamat yang unik. Sebagai contoh, alamat e-mail penulis di AMPRNet adalah:
yc1dav@ve3.yc1dav.ampr.org
yang berarti bahwa penulis yc1dav berada di (at, @) mesin ve3.yc1dav.ampr.org. Tentunya pada saat pengiriman berita, IP akan melakukan konversi dari hostname ve3.yc1dav.ampr.org ke IP address penulis [44.135.84.22] untuk kemudian mengirimkan informasi SMTP yang dimasukan dalam protokol TCP.
Aplikasi lainnya adalah remote login ke komputer yang berjauhan. Hal ini dilakukan dengan menggunakan fasilitas Telnet [7] yang dijalankan diatas transport layer TCP. Untuk melakukan file transfer digunakan File Transfer Protocol (FTP) [8] yang juga dijalankan diatas TCP. Dengan semakin rumitnya jaringan maka manajemen jaringan menjadi penting artinya. Saat ini dikembangkan protokol yang khusus untuk digunakan mengatur jaringan dengan nama Simple Network Management Protocol (SNMP) [9]. Masih banyak lagi aplikasi yang dijalankan di atas TCP, seperti NNTP, RSPF dsb. Masing-masing aplikasi mempunyai nomor port TCP yang unik.
Satu hal yang cukup menarik dengan digunakannya protokol TCP/IP adalah kemungkinan untuk menyambungkan beberapa jaringan komputer yang menggunakan media komunikasi berbeda. Dengan kata lain, komputer yang terhubung pada jaringan yang menggunakan ARCnet, Ethernet, Token Ring, SKDP, amatir paket radio dll. dapat berbicara satu dengan lainnya tanpa saling mengetahui bahwa media komunikasi yang digunakan secara fisik berbeda. Hal ini memungkinkan dengan mudah membentuk Wide Area Network di Indonesia. Saat ini UNINET yang dipelopori oleh rekan-rekan dari PUSILKOM-UI terasa tersendat-sendat terutama karena tingginya biaya yang harus dikeluarkan untuk komunikasi. Di samping itu, protokol yang digunakan dalam jaringan UNINET saat ini adalah UUCP yang pada dasarnya merupakan protokol yang sangat sederhana. Hal ini tidak memungkinkan UNINET untuk melakukan hal-hal yang hanya mungkin dilakukan oleh TCP/IP seperti manajemen network secara otomatis menggunakan SNMP dan hubungan connectionless seperti yang dilakukan menggunakan IP.
Untuk lebih memperjelas, ada baiknya penulis ketengahkan contoh nyata yang penulis lakukan di jaringan amatir packet radio (AMPRNet) di Canada. Secara garis besar topologi jaringan komputer amatir packet radio di Waterloo terlihat pada gambar 4. Saat ini jaringan AMPRNet di Waterloo bekerja pada Frekuensi 145.09MHz pada kecepatan 1200bps. Kami merencanakan untuk meng-up grade jaringan TCP/IP yang ada ke kecepatan 9600bps. Pada gambar dituliskan beberapa mesin milik teman-teman penulis seperti at.ve3euk.ampr.org dan home.ve3rks.ampr.org.
Disini kami mempunyai sebuah gateway at.ve3uow.ampr.org milik University of Waterloo - Amateur Radio Club (UoW ARC), dimana penulis juga anggotanya, gateway ini menghubungkan jaringan AMPRNet dengan jaringan LAN PC Token Ring di University of Waterloo. Melalui gateway yang ada di jaringan Token Ring, IP yang dikirim oleh mesin di AMPRNet dapat berhubungan dengan mesin-mesin Unix yang ada di jaringan EtherNet di UoW maupun dengan mesin-mesin lain di InterNet. Tidak banyak gateway antara AMPRNet dan InterNet yang beroperasi di dunia saat ini. Hal ini dapat dilihat pada artikel penulis terdahulu tentang pengalaman penulis bekerja di jaringan amatir packet radio di luar negeri.
Di AMPRNet Waterloo kami menggunakan sunee.waterloo.edu dan watserv1.waterloo.edu sebagai domain name server (DNS). Dengan kata lain, dengan menggunakan protokol UDP/IP mesin-mesin AMPRNet di Waterloo jika akan berhubungan dengan mesin lain di AMPRNet atau InterNet yang hostnamenya diketahui dapat menanyakan IP address mesin yang dituju tersebut ke DNS. Semua ini dilakukan secara otomatis tanpa perlu operator mesin mengetahui proses terjadi.
Dengan adanya teknologi amatir paket radio di dunia amatir radio. Kemungkinan mengembangkan WAN dengan biaya murah di Indonesia menjadi mungkin. UNINET tidak mungkin menggunakan AMPRNet karena amatir paket radio tidak mengenal UUCP. Kalaupun dipaksakan amatir radio harus mengembangkan perangkat lunak yang dibutuhkan dari awal. Penggunaan TCP/IP akan memudahkan internetwoking dengan berbagai network seperti AMPRNet yang pada akhirnya membuka kemungkinan pengembangan WAN biaya mudah, tetapi dengan fasilitas yang jauh lebih baik daripada UUCP.
Prinsip kerja jaringan protokol TCP/IP dijelaskan secara garis besar. Beberapa aplikasi yang umum digunakan pada jaringan komputer TCP/IP akan diketengahkan. Kemungkinan mengembangkan Wide Area Network (WAN) menggunakan protokol TCP/IP di Indonesia juga akan diterangkan. Sebagai contoh, pengalaman penulis menjalankan PC di amatir radio yang terkait ke jaringan AMPRNet - InterNet menggunakan TCP/IP di Canada akan dijelaskan.
Pendahuluan.
Banyak protokol komunikasi komputer telah dikembangkan untuk membentuk jaringan komputer. Kompetisi antar perusahaan komputer seperti DEC, IBM dll. menelurkan berbagai standart jaringan komputer. Hal ini menimbulkan kesulitan terutama jika akan dilakukan interkoneksi antar berbagai jenis komputer dalam wilayah yang luas.
Sekitar tahun 70-an Department of Defence (DoD) di Amerika Serikat memelopori pengembangan protokol jaringan komputer yang sama sekali tidak terikat pada jenis komputer maupun media komunikasi yang digunakan. Protokol yang dikembangkan diberi nama InterNet Protocol (pada network layer) [1] dan Transmission Control Protocol (pada transport layer) [2] atau disingkat TCP/IP. Berbagai protokol tambahan kemudian dikembangkan untuk mengatasi berbagai masalah dalam jaringan TCP/IP. Jaringan komputer menggunakan TCP/IP kini lebih dikenal sebagai jaringan InterNet. Tampak bahwa jaringan InterNet berkembang dari kebutuhan dan implementasi di medan sehingga jaringan komputer ini terus disempurnakan. Saat ini TCP/IP merupakan standard pada sistem operasi UNIX dengan disertakan socket library untuk programmer di UNIX mengakes langsung ke TCP socket. Semua standard yang digunakan pada jaringan TCP/IP dapat diperoleh secara cuma-cuma dari berbagai komputer di InterNet.
Selain TCP/IP sebetulnya keluarga protokol yang dikembangkan oleh OSI/ISO seperti X.25/X.75/X.400 juga mulai digunakan oleh beberapa institusi. Sayang segala informasi tentang protokol ini harus dibeli oleh kita ke ISO. Hal ini menyebabkan perkembangan ISO/OSI tersendat tidak seperti TCP/IP. Untuk jangka panjang, kemungkinan TCP/IP akan menjadi standart dunia jaringan komputer. Dalam artikel ini akan dijelaskan prinsip kerja TCP/IP.
Lapisan protokol di jaringan komputer.
Secara umum lapisan protokol dalam jaringan komputer dapat dibagi atas tujuh lapisan. Lapisan ini dapat dilihat pada gambar 1. Dari lapisan terbawah hingga tertinggi dikenal physical layer, link layer, network layer, transport layer, session layer, presentation layer dan application layer. Masing-masing lapisan mempunyai fungsi masing-masing dan tidak tergantung antara satu dengan lainnya.
Dari ketujuh lapisan ini hanya physical layer yang merupakan perangkat keras selebihnya merupakan perangkat lunak. physical layer merupakan media penghubung untuk mengirimkan informasi digital dari satu komputer ke komputer lainnya yang secara fisik dapat kita lihat. Berbagai bentuk perangkat keras telah dikembangkan untuk keperluan ini. Satu diantaranya yang cukup banyak digunakan untuk keperluan jaringan komputer lokal (LAN) di Indonesia adalah ARCnet yang banyak digunakan menggunakan perangkat lunak Novell. Untuk keperluan Wide Area Network (WAN) dapat kita dapat menyambungkan berbagai LAN ini menggunakan media radio atau telepon menjadi satu kesatuan.
Untuk mengatur hubungan antara dua buah komputer melalui physical layer yang ada digunakan protokol link layer. Pada jaringan paket radio di amatir digunakan link layer AX.25 (Amatir X.25) yang merupakan turunan CCITT X.25 yang juga digunakan pada Sistem Komunikasi Data Paket (SKDP) oleh PT. INDOSAT dan Perumtel. Dalam artikel terdahulu dijelaskan tentang
IEEE sebuah organisasi profesi untuk teknik elektro telah mengembangkan beberapa standart protokol physical layer dan link layer untuk LAN. Berdasarkan rekomendasi IEEE pada LAN yang menggunakan ARCnet (IEEE 802.3) atau Ethernet (IEEE 802.3) digunakan link layer (IEEE 802.2). Pada LAN Token Ring digunakan physical layer (IEEE 802.5). Bentuk lain dari LAN yang kurang dikenal adalah Token Bus (IEEE 802.4). Untuk LAN berkecepatan tinggi juga telah dikembangkan sebuah standart yang diturunkan dari IEEE 802.3 yang kemudian dikenal sebagai Fiber Data Distributed Interface (FDDI).
Artikel ini akan memfokuskan pembahasan pada lapisan protokol network layer dan transport layer. Sebetulnya ada beberapa keluarga protokol lainnya dalam TCP/IP. Tampak pada gambar 2 pada network layer selain IP dikenal juga ICMP (InterNet Control Message Protocol) [3], ARP (Address Resolution Protocol) [4] dan RARP (Reverse Address Resolution Protocol). Pada transport layer digunakan UDP (User Datagram Protocol) [5] selain TCP. Untuk sementara pembahasan akan dibatasi pada prinsip kerja protokol IP damn TCP. Hal ini karena TCP/IP merupakan protokol yang paling sering digunakan dalam operasi jaringan, protokol lainnya merupakan pelengkap yang membantu jaringan ini bekerja. Perlu dicatat bahwa pada jaringan komputer menggunakan TCP/IP umumnya tiga lapisan teratas dilakukan oleh sistem operasi dari komputer yang digunakan. Khususnya untuk komputer yang menggunakan UNIX telah tersedia library untuk network programming sehingga kita dapat mengembangkan program sendiri dengan mengakses langsung ke soket-soket TCP yang tersedia. Mungkin dilain kesempatan akan dijelaskan lebih lanjut mengenai cara pemprograman soket TCP di UNIX yang dapat diakses menggunakan bahasa C.
Prinsip kerja InterNet Protokol (IP).
Fungsi dari InterNet Protokol secara sederhana dapat diterangkan seperti cara kerja kantor pos pada proses pengiriman surat. Surat kita masukan ke kotak pos akan diambil oleh petugas pos dan kemudian akan dikirim melalui route yang random, tanpa si pengirim maupun si penerima surat mengetahui jalur perjalanan surat tersebut. Juga jika kita mengirimkan dua surat yang ditujukan pada alamat yang sama pada hari yang sama, belum tentu akan sampai bersamaan karena mungkin surat yang satu akan mengambil route yang berbeda dengan surat yang lain. Di samping itu, tidak ada jaminan bahwa surat akan sampai ditangan tujuan, kecuali jika kita mengirimkannya menggunakan surat tercatat.
Prinsip di atas digunakan oleh InterNet Protokol, "surat" diatas dikenal dengan sebutan datagram. InterNet protokol (IP) berfungsi menyampaikan datagram dari satu komputer ke komputer lain tanpa tergantung pada media kompunikasi yang digunakan. Data transport layer dipotong menjadi datagram-datagram yang dapat dibawa oleh IP. Tiap datagram dilepas dalam jaringan komputer dan akan mencari sendiri secara otomatis rute yang harus ditempuh ke komputer tujuan. Hal ini dikenal sebagai transmisi connectionless. Dengan kata lain, komputer pengirim datagram sama sekali tidak mengetahui apakah datagram akan sampai atau tidak.
Untuk membantu mencapai komputer tujuan, setiap komputer dalam jaringan TCP/IP harus diberikan IP address. IP address harus unik untuk setiap komputer, tetapi tidak menjadi halangan bila sebuah komputer mempunyai beberapa IP address. IP address terdiri atas 8 byte data yang mempunyai nilai dari 0-255 yang sering ditulis dalam bentuk [xx.xx.xx.xx] (xx mempunyai nilai dari 0-255).
Pada header InterNet Protokol selain IP address dari komputer tujuan dan komputer pengirim datagram juga terdapat beberapa informasi lainnya. Informasi ini mencakup jenis dari protokol transport layer yang ditumpangkan diatas IP. Tampak pada gambar 2 ada dua jenis protokol pada transport layer yaitu TCP dan UDP. Informasi penting lainnya adalah Time-To-Live (TTL) yang menentukan berapa lama IP dapat hidup didalam jaringan. Nilai TTL akan dikurangi satu jika IP melalui sebuah komputer. Hal ini penting artinya terutama karena IP dilepas di jaringan komputer. Jika karena satu dan lain hal IP tidak berhasil menemukan alamat tujuan maka dengan adanya TTL IP akan mati dengan sendirinya pada saat TTL bernilai nol. Disamping itu juga tiap IP yang dikirimkan diberikan identifikasi sehingga bersama-sama dengan IP address komputer pengirim data dan komputer tujuan, tiap IP dalam jaringan adalah unik.
Khususnya untuk pemakai jaringan komputer hal yang terpenting untuk dipahami secara benar-benar adalah konsep IP address. Lembaga yang mengatur IP address adalah Network Information Center (NIC) di Department of Defence di US yang beralamat di hostmaster@nic.ddn.mil. Pengaturan IP address penting, terutama pada saat mengatur routing secara otomatis. Sebagai contoh jaringan komputer di amatir radio mempunyai IP address kelas yang mempunyai address [44.xx.xx.xx]. Khusus untuk amatir radio di Indonesia IP address yang digunakan adalah [44.132.xx.xx]. Sedangkan penulis di Canada mempunyai IP address [44.135.84.22]. Hal ini terlihat dengan jelas bahwa IP address di amatir radio sifatnya geografis. Dari IP address penulis dapat dibaca bahwa mesin penulis berada di network 44 di InterNet yang dikenal sabagai AMPRNet (ampr.org). 135 menandakan bahwa penulis berada di Canada. 84 memberitahukan bahwa penulis berada di kota Waterloo di propinsi Ontario, sedang 22 adalah nomor mesin penulis. Dengan konsep IP address, route perjalanan IP dalam jaringan komputer dapat dilakukan secara otomatis. Sebagai contoh, jika sebuah komputer di InterNet akan mengirimkan IP ke [44.135.84.22], pertama-tama IP yang dilepas di network akan berusaha mencari jalan ke network 44.135.84, setelah mesin yang mengubungkan network 44.135.84 tercapai IP tersebut akan mencoba menghubungi mesin 22 di network tersebut. Kesemuanya ini dilakukan secara otomatis oleh program.
Tentunya sukar bagi manusia untuk mengingat sedemikian banyak IP address. Untuk memudahkan, dikembangkan Domain Name System (DNS). Sebagai contoh mesin penulis di AMPRNet dengan IP address [44.135.84.22], penulis beri nama (hostname) ve3.yc1dav.ampr.org. Terlihat bahwa hostname yang digunakan penulis sangat spesifik dan sangat memudahkan untuk mengetahui bahwa penulis berada di AMPRNet dari kata ampr.org. Mesin tersebut berada di Kanada dan propinsi Ontario dari ve3 sedang yc1dav adalah penulis sendiri. Contoh lain dari DNS adalah sun1.vlsi.waterloo.edu yang merupakan sebuah Sun SPARC workstation (sun1) di kelompok peneliti VLSI di University of Waterloo, Kanada (waterloo.edu) tempat penulis bekerja dan belajar. Perlu dicatat bahwa saat ini NIC belum memberikan domain untuk Indonesia. Mudah-mudahan dengan berkembangnya jaringan komputer TCP/IP di Indonesia ada saatnya dimana kita di Indonesia perlu meminta domain tersendiri untuk Indonesia.
Prinsip kerja Transmission Control Protocol (TCP).
Berbeda dengan InterNet Protokol (IP), TCP mempunyai prinsip kerja seperti "virtual circuit" pada jaringan telepon. TCP lebih mementingkan tata-cara dan keandalan dalam pengiriman data antara dua komputer dalam jaringan. TCP tidak perduli dengan apa-apa yang dikerjakan oleh IP, yang penting adalah hubungan komunikasi antara dua komputer berjalan dengan baik. Dalam hal ini, TCP mengatur bagaimana cara membuka hubungan komunikasi, jenis aplikasi apa yang akan dilakukan dalam komunikasi tersebut (misalnya mengirim e-mail, transfer file dsb.) Di samping itu, juga mendeteksi dan mengoreksi jika ada kesalahan data. TCP mengatur seluruh proses koneksi antara satu komputer dengan komputer yang lain dalam sebuah jaringan komputer.
Berbeda dengan IP yang mengandalkan mekanisme connectionless pada TCP mekanisme hubungan adalah connection oriented. Dalam hal ini, hubungan secara logik akan dibangun oleh TCP antara satu komputer dengan komputer yang lain. Dalam waktu yang ditentukan komputer yang sedang berhubungan harus mengirimkan data atau acknowledge agar hubungan tetap berlangsung. Jika hal ini tidak sanggup dilakukan maka dapat diasumsikan bahwa komputer yang sedang berhubungan dengan kita mengalami gangguan dan hubungan secara logik dapat diputus.
TCP mengatur multiplexing dari data yang dikirim/diterima oleh sebuah komputer. Adanya identifikasi pada TCP header memungkinkan multiplexing dilakukan. Hal ini memungkinkan sebuah komputer melakukan beberapa hubungan TCP secara logik. Bentuk hubungan adalah full duplex, hal ini memungkinkan dua buah komputer saling berbicara dalam waktu bersamaan tanpa harus bergantian menggunakan kanal komunikasi. Untuk mengatasi saturasi (congestion) pada kanal komunikasi, pada header TCP dilengkapi informasi tentang flow control.
Hal yang cukup penting untuk dipahami pada TCP adalah port number. Port number menentukan servis yang dilakukan oleh program aplikasi diatas TCP. Nomor-nomor ini telah ditentukan oleh Network Information Center dalam Request For Comment (RFC) 1010 [10]. Sebagai contoh untuk aplikasi File Transfer Protokol (FTP) diatas transport layer TCP digunakan port number 20 dan masih banyak lagi.
Prinsip kerja dari TCP berdasarkan prinsip client-server. Server adalah program pada komputer yang secara pasif akan mendengarkan (listen) port number yang telah ditentukan pada TCP. Sedang client adalah program yang secara aktif akan membuka hubungan TCP ke komputer server untuk meminta servis yang dibutuhkan.
State diagram kerja TCP diperlihatkan pada gambar 3. Pada state diagram gambar 3, client akan secara aktif membuka hubungan (active open) dengan mengirimkan sinyal SYN (state SYN SENT) ke komputer server tujuan. Jika server menerima sinyal SYN maka server yang saat itu berada pada state LISTEN akan mengirimkan sinyal SYN dan ke dua komputer (client & server) akan ke state ESTAB. Jika tidak ada tanggapan dari komputer yang dituju, maka program akan kembali pada state CLOSE. Setelah servis yang dilakukan telah selesai maka salah client akan mengirimkan sinyal FIN dan komputer client akan berada pada state FIN WAIT sampai sinyal FIN dari server diterima. Pada saat menerima sinyal FIN, server akan ke state CLOSE WAIT hingga hubungan diputus. Akhirnya kedua komputer akan kembali pada state CLOSE.
Beberapa contoh aplikasi jaringan InterNet.
Banyak aplikasi yang mungkin dilakukan menggunakan keluarga protokol TCP/IP. Aplikasi yang umum dilakukan adalah pengiriman berita secara elektronik yang dikenal sebagai elektronik mail (e-mail). Untuk ini dikembangkan sebuah protokol Simple Mail Transfer Protocol (SMTP) [6]. Protokol ini mengatur tata cara mengirimkan berita dari seorang user di sebuah komputer ke komputer lain menggunakan alamat yang unik. Sebagai contoh, alamat e-mail penulis di AMPRNet adalah:
yc1dav@ve3.yc1dav.ampr.org
yang berarti bahwa penulis yc1dav berada di (at, @) mesin ve3.yc1dav.ampr.org. Tentunya pada saat pengiriman berita, IP akan melakukan konversi dari hostname ve3.yc1dav.ampr.org ke IP address penulis [44.135.84.22] untuk kemudian mengirimkan informasi SMTP yang dimasukan dalam protokol TCP.
Aplikasi lainnya adalah remote login ke komputer yang berjauhan. Hal ini dilakukan dengan menggunakan fasilitas Telnet [7] yang dijalankan diatas transport layer TCP. Untuk melakukan file transfer digunakan File Transfer Protocol (FTP) [8] yang juga dijalankan diatas TCP. Dengan semakin rumitnya jaringan maka manajemen jaringan menjadi penting artinya. Saat ini dikembangkan protokol yang khusus untuk digunakan mengatur jaringan dengan nama Simple Network Management Protocol (SNMP) [9]. Masih banyak lagi aplikasi yang dijalankan di atas TCP, seperti NNTP, RSPF dsb. Masing-masing aplikasi mempunyai nomor port TCP yang unik.
Satu hal yang cukup menarik dengan digunakannya protokol TCP/IP adalah kemungkinan untuk menyambungkan beberapa jaringan komputer yang menggunakan media komunikasi berbeda. Dengan kata lain, komputer yang terhubung pada jaringan yang menggunakan ARCnet, Ethernet, Token Ring, SKDP, amatir paket radio dll. dapat berbicara satu dengan lainnya tanpa saling mengetahui bahwa media komunikasi yang digunakan secara fisik berbeda. Hal ini memungkinkan dengan mudah membentuk Wide Area Network di Indonesia. Saat ini UNINET yang dipelopori oleh rekan-rekan dari PUSILKOM-UI terasa tersendat-sendat terutama karena tingginya biaya yang harus dikeluarkan untuk komunikasi. Di samping itu, protokol yang digunakan dalam jaringan UNINET saat ini adalah UUCP yang pada dasarnya merupakan protokol yang sangat sederhana. Hal ini tidak memungkinkan UNINET untuk melakukan hal-hal yang hanya mungkin dilakukan oleh TCP/IP seperti manajemen network secara otomatis menggunakan SNMP dan hubungan connectionless seperti yang dilakukan menggunakan IP.
Untuk lebih memperjelas, ada baiknya penulis ketengahkan contoh nyata yang penulis lakukan di jaringan amatir packet radio (AMPRNet) di Canada. Secara garis besar topologi jaringan komputer amatir packet radio di Waterloo terlihat pada gambar 4. Saat ini jaringan AMPRNet di Waterloo bekerja pada Frekuensi 145.09MHz pada kecepatan 1200bps. Kami merencanakan untuk meng-up grade jaringan TCP/IP yang ada ke kecepatan 9600bps. Pada gambar dituliskan beberapa mesin milik teman-teman penulis seperti at.ve3euk.ampr.org dan home.ve3rks.ampr.org.
Disini kami mempunyai sebuah gateway at.ve3uow.ampr.org milik University of Waterloo - Amateur Radio Club (UoW ARC), dimana penulis juga anggotanya, gateway ini menghubungkan jaringan AMPRNet dengan jaringan LAN PC Token Ring di University of Waterloo. Melalui gateway yang ada di jaringan Token Ring, IP yang dikirim oleh mesin di AMPRNet dapat berhubungan dengan mesin-mesin Unix yang ada di jaringan EtherNet di UoW maupun dengan mesin-mesin lain di InterNet. Tidak banyak gateway antara AMPRNet dan InterNet yang beroperasi di dunia saat ini. Hal ini dapat dilihat pada artikel penulis terdahulu tentang pengalaman penulis bekerja di jaringan amatir packet radio di luar negeri.
Di AMPRNet Waterloo kami menggunakan sunee.waterloo.edu dan watserv1.waterloo.edu sebagai domain name server (DNS). Dengan kata lain, dengan menggunakan protokol UDP/IP mesin-mesin AMPRNet di Waterloo jika akan berhubungan dengan mesin lain di AMPRNet atau InterNet yang hostnamenya diketahui dapat menanyakan IP address mesin yang dituju tersebut ke DNS. Semua ini dilakukan secara otomatis tanpa perlu operator mesin mengetahui proses terjadi.
Dengan adanya teknologi amatir paket radio di dunia amatir radio. Kemungkinan mengembangkan WAN dengan biaya murah di Indonesia menjadi mungkin. UNINET tidak mungkin menggunakan AMPRNet karena amatir paket radio tidak mengenal UUCP. Kalaupun dipaksakan amatir radio harus mengembangkan perangkat lunak yang dibutuhkan dari awal. Penggunaan TCP/IP akan memudahkan internetwoking dengan berbagai network seperti AMPRNet yang pada akhirnya membuka kemungkinan pengembangan WAN biaya mudah, tetapi dengan fasilitas yang jauh lebih baik daripada UUCP.