Apa itu WWW? Pengertian WWW atau World Wide Web adalah suatu ruang informasi di internet yang digunakan oleh pengenal global yang disebut dengan Pengidentifikasi Sumber Ragam/ URI untuk mengenali sumber daya berguna. World Wide Web berisi kumpulan peladen web dari berbagai seluruh bagian dunia untuk menyediakan informasi dan data yang bisa digunakan bersama.
World Wide Web sebagai bagian dari internet mengandung informasi-informasi seperti suara, video, gambar, dan video. Singkatnya, WWW adalah sistem untuk mengirimkan dan menyebarkan data melalui jaringan internet pada skala yang besar di seluruh penjuru dunia.
Menurut masyarakat awam, WWW adalah keseluruhan dari internet itu sendiri untuk mencari apapun di mesin pencari Google, kenyatannya WWW hanya sebagian saja. Dalam artikel ini akan dibahas apa pengertian WWW, fungsi, manfaat, sejarah, contoh, serta kelebihan WWW.
Pengertian WWW Menurut Para Ahli
Agar lebih mengerti apa arti WWW, maka kita bisa merujuk pada pendapat beberapa ahli tentang definisi WWW. Berikut ini adalah pengertian World Wide Web menurut para ahli:
1. MCLeod (Pearson)
Pengertian Www menurut MCLeod adalah informasi yang dapat diakses melalui internet di mana berbagai dokumen hypermedia/ file-file komputer disimpan dan kemudian diambil dengan cara-cara yang menggunakan metode penentuan alamat yang unik.
2. V. Djong
Definisi WWW menurut V. Djong adalah fasilitas di internet untuk layanan website yang menggunakan protocol http, sering kita lihat sebuah nama domain ditulis secara lengkap, misalnya www.google.co.id.
3. Akbar Kaelola
Pengertian WWW menurut Akbar Kaelola adalah media bagi manusia dalam kegiatan berbagi dokumen, gambar, film, musik dan informasi, serta menjual barang dan jasa di internet.
4. Lisa Kuswayatno
Pengertian WWW / World Wide Web menurut Lisa Kuswayatno adalah suatu layanan internet dengan menggunakan konsep hypertext antar dokumen yang saling berkaitan.
5. Yuhefizar
Definisi WWW menurut Yuhefizar adalah metode untuk menampilkan informasi di internet yang dapat diakses melalui sebuah paladen/ browser.
6. F. Budi Hardiman
Menurut F. Budi Hardiman, pengertian World Wide Web adalah fasilitas internet yang menghubungkan dokumen dalam lingkup lokal maupun jarak jauh.
Sesuai dari pengertian WWW diatas, maka WWW ini berfungsi untuk menyediakan data dan informasi apapun dan dari manapun agar dapat diakses orang lain dari seluruh bagian dunia. Dengan adanya WWW di internet dapat memberikan kemudahan dan kecanggihan pengguna internet secara lebih cepat dan mudah.
WWW memungkinkan pengguna untuk berselancar dengan mudah hanya melalui sebuah alamat URL (baca: pengertian URL) atau link. Untuk mengakses WWW perlu menggunakan koneksi internet.
Secara umum, ada empat layanan dan manfaat World Wide Web, diantaranya adalah:
1. Web Mail Service
Web mail service digunakan untuk mengirimkan surat elektronik kepada orang lain. Layanan ini bisa didapatkan secara gratis maupun berbayar.
Layanan email gratis misalnya dari Gmail.com, Yahoo.com, dan hotmail.com. Sedangkan email berbayar ini biasanya untuk keperluan perusahaan dengan menggunakan domain sendiri.
2. Search Engine
Search engine atau mesin pencari merupakan layanan gratis untuk mencari informasi berdasarkan kata kunci tertentu. Search engine yang cukup populer saat ini adalah Google, dan Bing.
3. Web Hosting
Ini adalah tempat untuk menyimpan data base sebuah website. Sebuah website hanya bisa diakses jika domain website tersebut terhubung dengan web hosting tempat menyimpan data base (baca: pengertian database).
4. Portal
Portal merupakan sebuah layanan di internet dimana terdapat beberapa layanan sekaligus, misalnya email, news, chatting, tanya jawab. Salah satu portal yang cukup populer adalah Yahoo.com.
Contoh WWW / World Wide Web
Tentunya para pengguna internet sudah tidak asing lagi dengan istilah World Wide Web. Sebagian besar website yang ada di internet menggunakan WWW pada awal nama domainnya.
Berikut ini adalah beberapa contoh WWW:
www.google.com
www.maxmanroe.com
www.yahoo.com
www.facebook.com
www.twitter.com
www.youtube.com
Dan lain-lain
Sejarah WWW dan Perkembangannya
Istilah WWW pertamakali ditemukan oleh Tim Berners-Lee, pada tahun 1991. Pada perkembangannya, World Wide Web telah melewati sejarah yang cukup panjang hingga saat ini. Berikut penjelasannya:
Tahun 1989; Tim Berners Lee pertamakali mengungkapkan idenya membuat sebuah protokol di internet yang berfungsi sebagai sistem distribusi informasi.
Tahun 1990: Tim Berners Lee menemukan tiga teknologi dasar yang menjadi basis website, yaitu HTML (Hypertext Markup Language), URL (Uniform Resource Identifier), dan HTTP (Hypertext Transfer Protocol).
Tahun 1991: Tim Berners Lee menemukan World Wide Web (WWW) yang berawal dari kebutuhan untuk menyusun arsip dari riset-riset miliknya.
Tahun 1993: Marc Andersen dan timnya dari NCSA menciptakan web browser yang diberinama Mosaic dan berbasis grafik untuk OS X-Windows.
Tahun 1994: Andersen bekerjasama dengan Jim Clark membuat Netscape yang kemudian menggantikan ketenaran Mosaic sebagai web browser.
Tahun 1995: Ada sekitar 300.000 website di internet dimana pada tahun sebelumnya hanya 50 website.
Tahun 2009: Tim Berners-Lee mendirikan World Wide Web Foundation, dimana tujuannya adalah untuk membagikan open web kepada masyarakat dunia.
WAP adalah singkatan dari Wireless Application Protocol, merupakan sebuah protocol komunikasi yang memungkinkan pengguna untuk mengakses informasi secara instan melalui handheld wireless devices seperti telephone seluler, pagers, radio dua arah, smartphone dan communicator. Didefinisikan oleh WAP forum (http://www.WAPForum.org), WAP menjadi open global standard untuk komunikasi antara sebuah mobile handset dan internet atau applikasi komputer lainnya. Karena merupakan suatu open protocol untuk wireless messaging, WAP menyediakan teknologi yang sama bagi semua penyedia dari berbagai jaringan WAP mendukung sebagian besar jaringan wireless, termasuk diantaranya CDPD, CDMA, GSM, PDC, PHS, TDMA, FLEX, ReFLEX, iDEN, TETRA, DETC, DataTAC, and Mobitex dan didukung oleh sebagian besar sistem operasi, terutama sistem operasi yang dibangun untuk handheld mobile devices termasuk PalmOS, EPOC, Windows CE, FLEXOS, OS/9, and JavaOS.
Ada 3 alasan mengapa internet di wireless device membutuhkan WAP:
1. Kecepatan transfer
Kebanyakan mobile phone dan PDA yang web-enabled memiliki rate transfer data hanya sekitar 14,4 Kbps atau kurang. Sebagian besar halaman web saat ini sangat padat dengan grafik yang akan memakan waktu yang sangat lama jika di download dengan rate 14,4 Kbps.
2. Ukuran dan readability
Halaman web tidak akan dapat ditampilkan dengan baik pada LCD di handheld mobile devices (relatif resolusi layar handheld mobile device jauh lebih kecil daripada PC atau laptop)
3. Navigasi
Pada handheld mobile device, kebanyakan navigasi dilakukan dengan menggunakan satu tangan pada sebuah scroll keys. WAP dibangun menggunakan bahasa WML (sebuah aplikasi XML), yang dibuat khusus untuk tampilan pada layar yang kecil dan navigasi dengan satu tanggan tanpa menggunakan mouse dan keyboard. WML dapat membuat display yang terdiri dari 2 baris text sampai sebuah layar grafik yang biasa ditemukan pada smartphone dan communicator. WML mirip dengan JavaScript, tapi hanya membutuhkan memory dan power CPU lebih sedikit karena WML tidak mengandung fungsi– fungsi yang tidak diperlukan yang ditemukan pada bahasa scripting yang lain. WAP juga menggunakan internet protokol standard seperti UDP, IP dan XML.
Sedangkan untuk membuat WAP Website, suatu site membuat versi yang hanya terdiri dari text atau text dan graphic tingkat rendah dalam format HTTP file. Web Server kemudian mengirimkan file tersebut ke WAP Gateway. WAP Gateway memiliki WAP Encoder, Script compiler dan protocol adapters untuk mengubah informasi dalam bentuk HTTP menjadi WML. Gateway kemudian mengirimkan data yang telah di konversi ke client WAP di wireless device.
Cara Kerja WAP
Saat sebuah handheld mobile device tersambungkan ke jaringan wireless dan meminta akses sebuah site web yang mendukung WAP, handheld mobile device anda akan mengirimkan permintaan tersebut via gelombang radio ke sel terdekat, dimana langsung dirutekan ke internet melalui sebuah server gateway. Server gateway tersebut akan menerjemahkan permintaan ke format standar HTTP dan meneruskannya ke site web. Bila site tersebut meresponsnya, ia akan mengirimkan dokumen HTML ke server gateway, kemudian dikonversi menjadi WML dan merutekannya ke antena terdekat. Antena tersebut akan mengirimkan data via gelombang ke piranti WAP anda dan akhirnya microbrowser –aplikasi kecil yang dibuat didalam wireless device sebagai navigator yang menyediakan interface antara user dan wireless internet- menampilkan halaman tersebut.
*Cara kerja wap
Proses yang terjadi antara gateway dan client WAP tergantung pada fitur dari beberapa bagian WAP protocol stack.
*WAP protocol stack
• WAE – The Wireless Application Environment, merupakan stack developer dimana WML dan WML script termasuk didalamnya.
• WSP – The Wireless Session Protocol, menentukan apakah sesi antara handheld mobile device dan jaringan adalah connection- oriented atau connectionless. Dengan kata lain WSP menentukan apakah handheld mobile device perlu berhubungan bolak balik ke jaringan selama sesi berlangsung. Pada sesi connection-oriented, transfer data berlangsung dua arah antara handheld mobile device dan jaringan, WSP kemudian mengirimkan paket ke layer WTP. Sesi connectionless umum digunakan ketika transfer data berlangsung satu arah dari jaringan ke handheld mobile device. Pada sesi connectionless WSP mengarahkan paket ke WDP.
• WTP – The Wireless Transaction Protocol berperan sebagai pengatur arus, menjaga arus data berjalan dengan baik dan lancar. Layer WSP dan WTP berhubungan dengan The WSP and WTP layers serupa dengan Hypertext Transfer Protocol (HTTP) dalam protocol suite TCP/IP
• WTLS – Wireless Transport Layer Security menyediakan fitur keamanan yang serupa dengan Transport Layer Security (TLS) di TCP/IP. WTLS memeriksa integritas data, melakukan enkripsi dan melakukan otentikasi antara client dan server.
• WDP – The Wireless Datagram Protocol bekerja bersama dengan Network Carrier layer untuk memudahkan pengadaptasian WAP ke berbagai bearer
• Network carriers – disebut juga bearers, adalah teknologi-teknologi yang digunakan oleh provider wireless.
Sekedar mengingatkan, ini adalah Bab 2 dari materi networking model. Jika kamu belum paham mengenai networking model secara keseluruhan, saya sarankan untuk memahami bab sebelumnya terlebih dahulu.
Dulu, belum ada networking model, termasuk TCP/IP. Setiap vendor membuat standar proprietary mereka sendiri, misalnya IBM dengan networking modelnya yang dikenal dengan Systems Network Architecture (SNA) di tahun 1974.
Begitu juga vendor yang lain. Bisa dikatakan, mereka saling bersaing menciptakan networking model terbaik agar yang lain menggunakannya.
Tentu ini keadaan yang buruk. Sehingga International Organization for Standardization (ISO) mengambil peran untuk mengatasi hal ini, dengan membuat standar yang kita kenal dengan OSI.
Disamping itu, ada juga organisasi lain yang mengembangkan standar dengan tujuan yang sama dan dengan arsitektur yang mirip-mirip, yaitu Department of Defense (DoD). Model ini kita kenal dengan TCP/IP atau kadang disebut dengan Dod Model.
TCP/IP Sebagai Networking Model Saat Ini
Saat ini, dunia jaringan komputer sudah mengacu ke standar yang sama, yakni TCP/IP. Yup, bukan OSI.
Kenapa? Penjelasannya ada di materi berikutnya tentang OSI Model.
Kira-kira tahapannya seperti ini:
Sejarah antara TCP/IP dan OSI sebenarnya sangat panjang. Saya juga sedang mempelajarinya dan masih bingung, misalnya dengan pertanyaan “yang mana pertama kali ada, TCP/IP atau OSI?”
Kamu bisa memberikan komentar dibawah jika mengetahui tentang ini.
Sehingga perbandingan TCP/IP dan OSI secara mendalam tidak kita bahas saat ini, tapi berikut ini bisa kamu jadikan referensi:
Buku: Computer Networking – Kurose Ross atau Computer Network – Andrew S Tanenbaum
… atau yang menjelaskan sejarah dan perbandingan antara OSI dan TCP/IP secara lebih rinci: Open Systems Networking – Piscitello and Chapin
Manfaat Adanya TCP/IP
Saya sudah menjelaskan manfaat networking model secara umum di materi sebelumnya. Kali ini kita akan fokus ke TCP/IP.
Karena networking model yang digunakan sekarang adalah TCP/IP, maka produk-produk internet sekarang sudah mengadopsi TCP/IP.
Contohnya, jika saat ini kamu membeli sebuah flash drive, maka flash drive tersebut sudah menerapkan TCP/IP. Ini artinya kamu bisa mengunakannya di laptop, komputer, di semua perangkat yang berbeda.
… atau misalnya. Saat kita ingin membangun sebuah infrastruktur yang baru. Sebelum ada TCP/IP, kita harus membeli perangkat yang satu merk, dari router, switch, firewall, server, semuanya.
Sekarang, tidak lagi.
Karena vendor saat ini bisa saja unggul di perangkat router, namun tidak begitu dengan firewall. Misalnya kita ingin menggunakan router dan switch cisco, namun lebih memilih menggunakan Palo Alto firewall.
Tidak masalah. Kita bisa mengimplementasikan routing protocol, link aggregation, dll tanpa ada kendala kompatibilitas. Karena semuanya sudah menggunakan TCP/IP.
Beberapa Hal yang ‘Mungkin’ Menjadi Penyebab Dipilihnya TCP/IP Menjadi Standar Networking Model
Bagi beberapa orang, termasuk saya, mengetahui TCP/IP adalah standar networking model yang dipilih adalah hal yang menarik.
Faktanya, OSI yang sekarang cenderung lebih familiar untuk sebagian dari kita, sebenarnya tidak pernah menjadi standar networking model. Aneh ya?
Sebaliknya, yang digunakan adalah TCP/IP. Ini beberapa penyebabnya:
OSI bersifat lebih formal, lambat pengembangannya, karena dilakukan oleh orang-orang tertentu saja.
TCP/IP dikembangkan oleh voluntir-voluntir seluruh dunia, tentu keadaannya berbalik dibanding OSI
Singkatnya seperti itu.
Sebelum TCP/IP benar-benar dipakai, setiap vendor masih ada yang menggunakan protocol proprietary mereka sendiri, dan kala itu TCP/IP masih sebatas menjadi ‘gateway’nya saja.
Mulai era 1990 hingga sekarang, setiap perangkat sekarang sudah menerapkan TCP/IP. Sekali lagi, bukan OSI. (Lihat gambar 1 diatas).
TCP/IP Menggunakan Dokumen RFC
Apakah kamu sering mendengar istilah RFC?
RFC atau Request for Comment adalah sebuah dokumen resmi yang digunakan Internet Engineering Task Force (IETF), isinya merupakan draft, tinjauan, yang nantinya akan di review oleh pihak-pihak yang berkepentingan.
Usulan-usulan di RFC inilah nantinya yang akan menjadi standar internet, contohnya Internet Protocol di definisikan dalam RFC791 dan OSPF di definisikan di RFC 1247.
RFC bersifat numbered. Isi dokumennya sangat detil tentang sebuah protokol, bagaimana cara kerjanya, prosedur penggunaan, konsepnya, dan seterusnya.
Tidak hanya tinjauan formal, bahkan RFC bisa saja berisi humor karena setiap orang bisa saja mengajukan apapun ke RFC, kamu juga bisa melakukannya melalui RFC Editor.
Ini juga salah satu faktor yang menjadikan TCP/IP lebih berkembang dibanding OSI.
TCP/IP Layer
Seperti penjelasan saya diatas, begitu banyak protokol yang didefinisikan di RFC, kamu bisa membukanya di laman https://www.ietf.org/rfc.html.
Tapi tidak semua protocol didefinisikan di RFC. Hal ini tidak berlaku untuk protocol yang sudah exist deluan.
Contohnya Ethernet LAN.
Ethernet LAN sudah didefinisikan oleh IEEE (Institute of Electrical and Electronic Engineers (IEEE), maka TCP/IP tidak lagi mendefinisikannya di RFC, melainkan merujuknya ke IEEE.
Tapi.. Tetap saja kan, banyak, kompleks.
Ini beberapa contoh protocol yang mainstream: HTTP, TCP, UDP, OSPF, EIGRP, BGP, OSPF, IPv4, RIP, dan masih banyak lagi.
Itu semua akan membuat kita pusing.
Ini berarti, bukan cara yang baik untuk memahami TCP/IP dimulai dengan protocolnya.
Nah, ada cara yang lebih mudah untuk memahami TCP/IP.
Disinilah fungsi lapisan, atau yang kita kenal sebagai layer.
TCP/IP sekarang sudah memiliki 5 layer, perbedaannya terletak pada pembagian layer 1 (link) TCP/IP original menjadi Data Link dan Physical di TCP/IP updated.
Tapi untuk saat ini, anggap saja kita mengacu TCP/IP layer original dengan 4 layer.
Studi Kasus TCP/IP
Dengan adanya lapisan TCP/IP ini, protocol yang banyak tadi akan dikategorikan berdasarkan fungsinya.
Ada yang di layer 1, layer 2, layer 3, dan layer 4. Sehingga kita lebih mudah memahaminya.
Jadi seperti ini:
Ada banyak sekali protocol. Tapi yang kita bicarakan sekarang hanya seperti pada kolom sebelah kanan seperti tertera pada gambar, yakni HTTP, TCP, UDP, IP, dan Ethernet.
Mungkin kamu sudah bisa menebak, kita akan menggunakan sampel umum: “Ketika seseorang membuka browser, dan mengakses suatu halaman web”. Yup, ini studi kasusnya.
Saya harap menjadi lebih mudah untuk dipahami.
Oh ya, sebelum kita mulai. Jangan salah paham mengenai TCP, IP, dan TCP/IP.
TCP, dan IP, adalah 2 protocol yang berbeda yang akan saya jelaskan dibawah. Sedangkan TCP/IP adalah sebuah networking model. Karena berisi banyak protocol maka disebut juga protocol suite.
Mari kita mulai.
#1. TCP/IP Application Layer
Fungsi application layer hanya menyediakan layanan terhadap aplikasi yang berjalan di komputer. Ingat, hanya layanannya, bukan aplikasinya.
Misalnya, application protocol FTP adalah Filezilla.
… atau application protocol HTTP adalah web browser, yang paling kita kenal saat ini. Meskipun faktanya browser tidak hanya bisa dilakukan dengan aplikasi seperti itu, bisa juga dengan terminal misalnya di linux.
Nah tugas application layer disini adalah untuk mendefinisikan bagaimana sebuah browser bisa mengambil konten dari sebuah web server hingga akhirnya tampil di web browser.
Berikut penjelasan mekanisme HTTP lebih detil.
Proses Komunikasi HTTP Secara Umum
Bayangkan seseorang membuka web browser dan mengakses suatu web. Proses sederhananya kira-kira akan seperti ini.
Misalnya saat kamu membuka situs ini, kamu akan mendapatkan laman dari https://ngonfig.net yang merupakan homepagenya.
Mengenai https atau Hypertext Transfer Protocol Secure merupakan versi secure dari HTTP, karena menggunakan SSL atau Secure Socket Layer. Kadang disebut juga sebagai SHTTP atau S-HTTP.
Tujuannya agar komunikasi terjadi dengan aman karena data yang terkirim akan terenkripsi. Ini penting terutama pada situs-situs jual beli dimana pengguna menginputkan data confidential seperti credit card.
Mekanisme HTTP
Diatas itu contoh yang paling sederhana atau kita sebut basic logic proses HTTP. Secara teknis tidak seperti itu.
Di pertengahan 1990, Barner Lee menciptakan HTTP, web browser dan web server. HTTP disini memberikan kemampuan ke web browser untuk meminta isi konten dari web server.
Begitu juga dengan web server, dengan HTTP dia bisa memberikan isi konten yang diminta oleh client.
Prosesnya seperti ini:
Protocol menggunakan header untuk menyimpan informasi. Dari mekanisme HTTP diatas kita bisa melihat 3 proses yang terjadi saat client merequest laman web dari server.
GET Header: Anggap client mengakses https://ngonfig.net, berarti server akan mengirimkan homepagenya. Begitu juga jika mengakses URL spesifik.
GET Reply: server menanggapi header dari client, dan membalasnya terlebih dahulu dengan HTTP Header “OK” dilanjutkan mengirim sebagian isi homepage. Ini jika berhasil, maka headernya akan bernilai “200”, selain itu misalnya “404” yang kita kenal dengan not found.
HTTP Data: karena komunikasi sudah terinisialisasi, maka server tetap lanjut mengirim isi konten home.html, lebih efektif daripada mengirimkan header berulang-ulang.
Jika kita melihat proses dari application layer, maka sekilas prosesnya selesai dan sederhana. Padahal ada sekian proses lagi yang terjadi, yaitu di layer-layer bawahnya.
Materi ini masih panjang, so let’s keep reading 🙂
#2. TCP/IP Transport Layer
Transport layer di TCP/IP disebut juga sebagai Host-to-Host, fungsinya untuk membangun koneksi antar host. Misal antara komputer satu dengan yang lain, client dengan server.
Ada banyak protocol yang berada di tranport layer, tapi yang paling kita kenal secara umum yaitu TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol).
Kembali ke proses HTTP diatas, kita mengakses situs web tentunya menginginkan data yang reliable.
Reliable seperti apa maksudnya?
Faktanya, pengiriman data dari satu komputer ke komputer lain itu prosesnya cukup kompleks, dan banyak prosedurnya. Ada beberapa faktor yang menyebabkan data gagal terkirim.
Bayangkan saat ini kamu membaca situs ini dengan jaringan yang sering terganggu, sehingga menyebabkan ada paragraf yang hilang, ada judul yang hanya setengah, atau huruf kata-kata yang hilang ditengah paragraf.
Buruk kan?
Disinilah dibutuhkan TCP.
Transmission Control Protocol
Sampai disini kita setuju bahwa komunikasi HTTP diatas berjalan dengan menggunakan TCP. Artinya HTTP membutuhkan jaminan agar data-data bisa dikirim secara sempurna.
Ketika data ada yang gagal terkirim, si penerima harus sadar bahwa hal itu terjadi, dan meminta pengiriman ulang.
Caranya seperti ini: TCP memecah data-data tersebut (segment) lalu mengirimkannya berdasarkan Sequence number (SEQ).
TCP juga memiliki banyak fungsi, tapi fokus kita hanya pada satu fungsi utama yang paling dikenal, yaitu TCP Error Recovery.
Seperti ini prosesnya:
Server sedang mengirim segment-segment dengan beberapa sequence number client.
Namun pada seq 2, segment gagal terkirim.
Setelah client menerima semua data, ternyata ada yang lost. Maka client meminta server untuk mengirimkan kembali segment yang lost pada seq 2.
Begitulah proses TCP error recovery.
Sebelum kita lanjut, sebenarnya ada hal lain yang terjadi sebelum sampai pada proses ini. Yaitu pembentukan koneksi.
Three-Way Handshake TCP
Jangan berfikir bahwa ketika kamu menginputkan alamat situs ini dibrowser, laptop yang kamu gunakan akan langsung menerima konten situs ini. Tidak.
Saat client menginputkan alamat url di web browser, maka client melakukan request ke server untuk membentuk koneksi, disebut establishing connection. Inilah kenapa komunikasi TCP disebut connection oriented.
Pembentukan koneksi ini akan membentuk sebuah virtual link. Jalur virtual yang digunakan untuk pengiriman segment.
Dengan kata lain, pengirim dan penerima melakukan persetujuan dulu untuk melakukan transmisi. Setelah keduanya setuju, maka dilakukan pembentukan koneksi, dilanjutkan dengan pengiriman data.
Dalam proses pengiriman data inilah dibutuhkan TCP Error Recovery yang sudah saya jelaskan diatas.
Jadi alurnya: Pembentukan Koneksi –> Pengiriman Data (dengan error recovery).
User Datagram Protocol (UDP)
Pertanyannya, apakah semua host-to-host menggunakan TCP?
Tidak selalu. Karena tidak semua komunikasi membutuhkan pengiriman data yang reliable. Contohnya: komunikasi suara.
“Saat kita menelfon, adalah hal biasa kalau suara kita tidak sampai ke lawan bicara karena gangguan koneksi. Bayangkan jika beberapa detik kemudian, suara tersebut sampai ke lawan bicara.”
Tentunya ini mengganggu bukan?
Jadi ada pertimbangan kenapa menggunakan UDP dibanding TCP:
Butuh komunikasi yang cepat
Tidak perlu membentuk koneksi terlebih dahulu
Tidak butuh error recovery
Semua diatas adalah kebalikan kriteria TCP.
Kita kembali ke studi kasus. Apa yang sebenarnya terjadi ketika client menginputkan alamat URL di browser? Apakah langsung terjadi koneksi TCP, lalu pengiriman data HTTP?
Jawabannya, tidak.
Ternyata masih ada satu proses lagi.
URL yang diinput misalnya: https://ngonfig.net, ini adalah domain. Komputer tidak bisa mengenali nama ini. Maka untuk mengenalinya dibutuhkan DNS atau Domain Name System.
Domain Name System adalah sebuah protocol yang digunakan untuk menerjemahkan alamat domain (contoh: ngonfig.net) menjadi alamat IP.
DNS server sudah memiliki sejumlah daftar domain-domain beserta alamat IP nya.
Jika suatu saat ada yang menanyakan, maka dia tinggal mengirimkan, dan tanpa ada proses untuk memastikan pesan tersebut diterima oleh client. Juga tidak ada pembentukan koneksi sebelum data tersebut dikirimkan.
Sampai disini saya harap kamu sudah memahami perbedaan antara TCP dengan UDP.
Nah, setelah alamat IP nya diketahui oleh client, maka client melakukan request koneksi ke IP tersebut.
Jadi pada proses-proses yang telah saya jelaskan diatas, komunikasinya tidak lagi diarahkan ke alamat domain, melainkan alamat IP.
Rangkuman alurnya: Input URL –> Menanyakan alamat IP dari sebuah domain –> Melakukan request koneksi ke IP yang sudah didapat –> Melakukan pengiriman data.
Alamat IP ini yang akan kita bahas pada network layer dibawah.
Note: VoIP tidak sepenuhnya UDP, tapi juga menggunakan RTP untuk sequencing. DNS juga membutuhkan TCP apabila besar data melebihi tampungan UDP. More: When DNS uses TCP instead UDP.
#3. TCP/IP Internet Layer
Oh ya, semakin kebawah, pembahasan kita berarti semakin spesifik. Dari protocol yang banyak di application layer, menjadi semakin kerucut kebawah, hingga ke nilai-nilai bits di fisik.
Dibawah akan saya berikan gambarannya.
Sekarang kita bahas layer 3, atau sering disebut dengan Network Layer.
Di layer network atau internet layer juga terdapat banyak protocol. Tapi, satu-satunya, yang paling dikenal dan digunakan saat ini, yakni: IP atau Internet Protocol.
Disini saya tidak akan menjabarkan jenis-jenis IP address, kelasnya, apa itu network, dan apa itu host.
Melainkan kita hanya akan membahas konsepnya saja.
Analogi Internet Protokol dan Kantor Pos
Bayangkan saat ini kamu ingin mengirimkan surat ke 2 tujuan yang berbeda, lokal dan internasional, yaitu Jakarta dan Singapore.
… yang perlu kamu lakukan hanyalah menulis alamat tujuan dari surat tersebut dan meletakkannya di kotak pos atau bisa langsung mengantarkannya ke kantor pos.
Kita tidak perlu memikirkan dan tidak perlu mengatur bagaimana dan jalur mana yang harus ditempuh oleh pengantar surat agar sampai tujuan.
Betul bukan?
Kita ketahui, kantor pos memiliki banyak cabang di setiap kota dan setiap daerah-daerah yang sering terjadi pengiriman.
Seperti gambar, ternyata jalur yang ditempuh oleh kedua surat itu berbeda.
Karena, yang pertama: surat yang tadi dikirimkan akan dibedakan alamat tujuannya.
Lalu dipisahkan berdasarkan kantor yang terdekat, disana juga dilakukan pemisahan berdasarkan tujuan pengiriman masing-masing. Ada yang harus dikirim terlebih dahulu ke kantor daerah, ada yang langsung dikirim ke alamat tujuan.
Lalu, apa kaitannya dengan IP?
Ingat saya katakan terhadap dua surat tersebut, ada yang dikirimkan ke kantor terlebih dahulu, ada yang langsung dikirim ke tujuan?
Ini karena di kantor pos sudah ada daftar alamat-alamat dan rute nya. Maka tak mungkin surat tersebut sampai jika kita tidak menyertakan alamatnya.
Pembagian alamat ini, kita bedakan menjadi 2:
Network address: misalnya, daerah Jakarta. Ini bisa dianggap seperti kode pos.
Host address: ternyata ada Jakarta Barat, Jakarta Timur, dan seterusnya. Ini bisa dianggap seperti alamat detil pengiriman, contohnya nomor rumah.
Packet Dikirim Berdasarkan Alamat IP
Setelah memahami analoginya, kita lanjut ke studi kasus. Kali ini saya membedakan DNS server dengan HTTP server.
Ingat baik-baik analoginya tadi, Internet Protocol mendefinisikan dua hal di IP Address. Perhatikan gambar diatas:
Setiap IP yang dimiliki oleh host harus unik, 2.2.2.2, 3.3.3.3, dan 1.1.1.1
Selain itu, IP address ini juga harus bisa dikelompokkan, contohnya 2.0.0.0, 3.0.0.0, dan 1.0.0.0
Maka jadinya seperti ini:
Client ingin mengetahui alamat IP dari domain https://ngonfig.net, maka mengirimkan query terlebih dahulu ke DNS Server, sampai di layer network, komunikasi IP terjadi antara 1.1.1.1 dengan 2.2.2.2 (DNS Server).
Setelah alamat IP didapat, client 1.1.1.1 membentuk koneksi TCP untuk proses pengiriman data HTTP ke server 3.3.3.3 (HTTP Server).
Nah router disitulah yang menentukan arah-arah tersebut. Ini ibaratkan kantor pos tadi. Kalau networknya berbeda, packet akan diteruskan ke router sebelahnya yang terhubung ke alamat tersebut.
Kita ulang lagi proses yang sudah terjadi diatas: pertama, client mencari IP web server, setelah itu akan dilakukan komunikasi HTTP diawali dengan pembentukan koneksi.
Saat proses komunikasi HTTP, tentulah disini pesan yang dikirim sudah memiliki header. Nah di header ini terdapat informasi alamat IP, yaitu IP sumber dan IP tujuan.
Gambar diatas kita sebut sebagai ip routing (routing), agar jaringan memiliki daftar rute untuk mencapai wilayah tertentu. Disini kita bahas dasarnya saja.
Saat packet itu dikirim, inilah yang terjadi:
Client akan membandingkan terlebih dahulu, apakah 3.3.3.3 satu wilayah dengannya atau tidak. Dalam kasus ini, tidak. Sehingga dia mengirimkannya ke R1.
Peran R1 disinilah kita sebut sebagai gateway. R1 mengetahui kalau 3.3.3.3 adalah wilayah yang terhubung dengan R2, maka packet diteruskan ke R2.
Sampai R2, packet pun dikirimkan langsung ke 3.3.3.3 (server).
Intinya, yang dilihat pertama kali adalah wilayahnya (network addressnya), kemudian alamat spesifiknya (host address).
#4. TCP/IP Link Layer (Data Link dan Physical)
Baik, diatas kita sudah membahas setengah materi kali ini.
Dari application layer (HTTP), lalu ke transport layer. Saat di transport layer kita kenal dengan host-to-host layer dengan jargonnya “Just give me your data stream, with any instructions, and I’ll begin the process of getting your information ready to send.”
Lalu di header TCP atau UDP tersebut terdapat source IP dan destination IP yang digunakan di layer network atau internet layer.
… belum selesai. Karena setiap perangkat terhubung dengan media bukan? Baik wireless maupun wired.
Kini giliran Link Layer (Data Link dan Physical) untuk melakukan tugasnya.
Di TCP/IP original, data link dan physical masih digabung, berarti protocol dan hardware keduanya ada disini. Sedangkan di TCP/IP updated sudah dibedakan.
Sederhananya, link itu istilah yang digunakan untuk menyebutkan jalur antar node yang saling terhubung. Data yang dikirim adalah nilai bits, pada physical, dan frame pada data link.
Maka IP packet yang dibentuk di layer network tadi akan dibungkus lagi seperti ini:
Client mengenkapsulasi IP packet dan berada diantara Ethernet header dan Ethernet trailer, ini akan menciptakan Ethernet frame.
Ethernet frame ini ditransmisikan menggunakan sinyal bit melalui media penghubung.
R1 menerima sinyal bits tersebut dan mengartikannya menjadi ethernet frame.
Setelah ethernet frame terbentuk, maka ethernet header dan ethernet trailer tadi dibuang, menyisakan IP packet.
Selesai..
Mengenai jenis enkapsulasi ini akan kita banyak dibahas jika sudah sampai ke materi WAN, seperti HDLC, Frame-Relay, atau PPP.
… dan juga switching.
Ingat kalau switch tidak mengenal IP address, dia melakukan switching frame berdasarkan mac address yang sudah ada di tabelnya.
Nah untuk mencari tau IP address dari suatu perangkat, digunakan protocol ARP (Address Resolution Protocol). [Kita bahas di lain kesempatan]
Baiklah, sebenarnya diatas saya sudah menjelaskan proses enkapsulasi dan deenkapsulasi ini. Untuk memudahkan pemahamannya, mari kita rangkum kembali prosesnya.
Diatas saya sudah menjelaskan bagaimana HTTP, TCP – UDP, IP, dan Ethernet melakukan tugasnya. Setiap layer ini akan menambahkan headernya (di data-link, ada trailer) dari data yang diterima dari layer yang diatasnya.
Server mengenkapsulasi isi konten di dalam HTTP header. Kemudian TCP layer mengenkapsulasi HTTP header tadi kedalam TCP header. Lalu IP mengenkapsulasi TCP header kedalam IP header.
… dan akhirnya di Ethernet link layer, dienkapsulasi IP packet kedalam header dan trailer. Ini kita sebut frame.
Sampai kemudian dikirimkan berupa sinyal bit melalui media penghubung.
Rangkuman Studi Kasus TCP/IP – Enkapsulasi dan Deenkapsulasinya (5 Tahap)
Tahap 1:Membentuk dan mengenkapsulasi application data dengan header layer application yang dibutuhkan. Misalnya pesan 200 (OK) di HTTP yang dibalas oleh HTTP header, dan diikuti oleh sebagian konten web.
Tahap 2: Mengenkapsulasi data dari application layer ke header transport layer. Disini menggunakan TCP untuk HTTP atau UDP untuk DNS.
Tahap 3: Data dari transport layer dienkapsulasi kedalam IP header.
Tahap 4: IP Header kemudian dienkapsulasi dengan membungkusnya dengan ethernet header dan ethernet trailer.
Tahap 5: Mengirim sinyal bit, yang nantinya akan diterjemahkan oleh perangkat penerima, dan menghasilkan ethernet frame kembali, dan deenkapsulasi pun dilakukan.