Pemahaman dasar mengenai jaringan adalah sesuatu yang sangat penting bagi seorang admin pengelola server. Bukan saja penting untuk membuat kinerja server yang baik, namun juga penting untuk membuat suatu diagnosa berbagai masalah teknis terkait kinerja server.
Artikel berikut ini akan menyajikan perihal-perihal mendasar mengenai berbagai konsep umum jaringan. Kita akan mendiskusikan terminologi dasar, protokol-protokol umum serta berbagai karakteristik dan tanggung jawab berbeda-beda dari berbagai lapisan jaringan.
Informasi-informasi yang disajikan tidak bergantung pada sistim operasi tertentu, namun tetap dapat membantu Anda untuk mengimplementasikan berbagai fitur dan layanan yang memanfaatkan jaringan pada server Anda.
Istilah-istilah Jaringan
Sebelum kita membicarakan jaringan secara lebih mendalam, berikut ini berbagai istilah yang akan Anda temui dalam artikel ini, juga dalam berbagai tulisan lainnya yang mengulas mengenai jaringan.
Istilah-istilah berikut ini akan banyak digunakan pada informasi-informasi lebih lanjut terkait.
· Koneksi / Sambungan / Connection:
Dalam jaringan, koneksi (connection) mengacu pada potongan-potongan informasi terkait yang ditransfer melalui jaringan. Koneksi dibuat sebelum transfer data (mengikuti prosedur yang tercantum dalam protokol) dan kemudian didekonstruksi pada akhir transfer data.
· Paket / Packet: Sebuah paket adalah, secara umum, unit paling dasar yang ditransfer melalui jaringan. Ketika berkomunikasi melalui jaringan, paket diibaratkan amplop yang membawa data Anda (dalam bentuk potongan-potongan) dari satu titik ke titik yang lain.
Paket memiliki bagian header yang berisi informasi mengenai paket itu sendiri termasuk sumber dan tujuan, timestamps, hop jaringan, dll. Bagian utama dari sebuah paket adalah berisi data aktual yang sedang ditransfer. Hal ini kadang-kadang disebut sebagai tubuh atau payload.
· Antarmuka Jaringan / Network Interface: Sebuah antarmuka jaringan dapat merujuk ke segala jenis antarmuka perangkat lunak hingga ke perangkat keras jaringan. Misalnya, jika Anda memiliki dua kartu jaringan di komputer Anda, Anda dapat mengontrol dan mengkonfigurasi setiap antarmuka jaringan yang terkait dengan mereka secara individu.
Sebuah antarmuka jaringan dapat dihubungkan dengan perangkat fisik, atau mungkin menjadi representasi dari sebuah antarmuka virtual. Contohnya adalah Perangkat "loopback" yang merupakan antarmuka virtual ke mesin lokal.
· LAN: LAN singkatan dari "Local Area Network ~ jaringan area lokal". Ini mengacu pada jaringan atau bagian dari jaringan yang tidak dapat diakses publik dari jaringan internet yang lebih besar. Sebuah jaringan di rumah atau kantor adalah contoh dari sebuah LAN.
· WAN: WAN adalah singkatan dari "Wide Area Network ~ jaringan area yang lebih luas". Ini berarti jaringan yang jauh lebih luas daripada LAN. WAN adalah istilah yang relevan secara umum untuk menggambarkan jaringan yang besar dan tersebar, dan biasanya dimaksudkan sebagai internet secara keseluruhan.
Jika suatu antarmuka terhubung ke dalam WAN, umumnya diasumsikan dapat diakses melalui internet.
· Protokol / Protocol: adalah seperangkat aturan dan standar-standar berupa bahasa yang digunakan suatu perangkat untuk berkomunikasi. Ada sejumlah besar protokol yang digunakan secara luas di jaringan, dan mereka sering diimplementasikan dalam lapisan yang berbeda.
Beberapa protokol tingkat rendah adalah TCP, UDP, IP, dan ICMP. Beberapa contoh akrab protokol lapisan aplikasi - dibangun di atas protokol yang lebih rendah - adalah HTTP (untuk mengakses konten web), SSH, TLS / SSL, dan FTP.
· Port: adalah alamat pada suatu mesin yang dapat dikaitkan dengan bagian tertentu dari perangkat lunak. Ini bukan antarmuka fisik atau lokasi, tetapi memungkinkan server Anda untuk dapat berkomunikasi menggunakan lebih dari satu aplikasi.
· Firewall: adalah sebuah program yang menentukan diijinkan tidaknya lalu lintas yang datang ke dan keluar server. Firewall biasanya bekerja dengan menciptakan aturan untuk jenis lalu lintas dapat diterima pada suatu port. Umumnya, firewall memblokir port yang tidak digunakan oleh aplikasi tertentu pada server.
· NAT: singkatan dari Network Address Translation. Ini adalah cara untuk menerjemahkan permintaan yang masuk ke dalam suatu routing server untuk ke perangkat yang relevan atau server dalam LAN. Hal ini biasanya diterapkan pada LAN fisik sebagai cara untuk meneruskan permintaan melalui satu alamat IP ke server backend yang diperlukan.
· VPN: adalah singkatan dari Virtual Private Network. Ini adalah sarana penghubung pada suatu LAN yang terpisah melalui jaringan internet dan tetap menjaga privasi. Ini digunakan sebagai sarana penghubung sistem remote yang seolah-olah masih berada dalam jaringan lokal, seringkali digunakan untuk alasan keamanan.
Lapisan Jaringan / Network Layers
Sementara jaringan sering dibahas dalam hal topologi secara horisontal di antara host, dalam pelaksanaannya dilapisi dalam bentuk lapisan vertikal di seluruh komputer atau jaringan.
Ada beberapa teknologi dan protokol yang dibangun di atas satu sama lain dalam rangka untuk komunikasi yang berfungsi lebih mudah. Setiap berturut-turut, lapisan yang lebih tinggi menggambarkan data mentah lebih sedikit, dan membuatnya lebih mudah untuk digunakan bagi aplikasi dan pengguna.
Hal ini juga memungkinkan Anda untuk memanfaatkan lapisan bawah dengan cara baru tanpa harus meluangkan waktu dan energi untuk mengembangkan berbagai protokol dan aplikasi yang menangani jenis-jenis lalu lintas data.
Bahasa yang kita gunakan untuk membicarakan tentang masing-masing skema lapisan adalah bervariasi tergantung pada model mana yang digunakan. Dan terlepas dari model yang digunakan untuk membahas lapisan, jalur data selalu sama.
Sebagaimana data dikirim dari suatu mesin, hal ini dimulai dari bagian atas tumpukan / lapisan dan difilter ke bawah. Pada lapisan terendah, transmisi yang sebenarnya ke komputer lain juga terjadi. Pada titik ini, data mengalami perjalanan balik melalui lapisan komputer lain.
Setiap lapisan memiliki kemampuan untuk menambahkan "wrapper" sendiri pada seluruh data yang diterima dari lapisan yang berdekatan, yang akan membantu lapisan yang datang setelah memutuskan apa yang harus dilakukan dengan data bila dilewatkan.
Secara historis, salah satu metode yang membicarakan tentang beberapa lapisan jaringan komunikasi yang berbeda adalah model OSI. OSI singkatan dari Open System Interconnect.
Model ini mendefinisikan tujuh lapisan terpisah, yaitu:
· Aplikasi (application): Lapisan aplikasi adalah lapisan yang paling sering berinteraksi dengan pengguna dan aplikasi-pengguna. Komunikasi jaringan dimaksudkan dalam hal ketersediaan sumber daya, mitra berkomunikasi, dan sinkronisasi data.
· Presentasi (presentation): Lapisan presentasi bertanggung jawab untuk memetakan sumber daya dan mmbuat konten. Hal ini digunakan untuk menerjemahkan data jaringan tingkat yang lebih rendah menjadi data yang diharapkan oleh aplikasi.
· Sesi (session): Lapisan sesi adalah pengendali koneksi. Yaitu membuat, mengelola, dan menghentikan koneksi antar node dengan cara terus-menerus.
· Transport: Lapisan transport bertanggung jawab untuk menangani lapisan di atasnya menjadi suatu koneksi yang dapat diandalkan. Yang dimaksud dengan koneksi yang dapat diandalkan adalah kemampuan untuk memverifikasi dan memastikan bahwa suatu data yang diterima di ujung lain dari koneksi adalah tetap utuh.
Lapisan ini dapat mengirim ulang informasi yang telah berkurang atau rusak dan mendapatkan status penerimaan data ke komputer remote.
· Jaringan / Network: Lapisan jaringan digunakan untuk meneruskan data (route) di antara node yang berbeda pada suatu jaringan. Mereka menggunakan alamat-alamat untuk dapat membedakan ke komputer mana informasi dikirim. Lapisan ini juga dapat memecah pesan dengan ukuran besar menjadi potongan-potongan kecil untuk kemudian disusun kembali di tujuan akhir.
· Data Link: Lapisan ini diimplementasikan sebagai metode membangun dan mempertahankan koneksiyang dapat diandalkan di antara node atau perangkat yang berbeda pada suatu jaringan menggunakan koneksi fisik yang ada.
· Physical: lapisan fisik bertanggung jawab dalam hal menangani perangkat fisik yang sebenarnya yang digunakan untuk membuat koneksi. Lapisan ini melibatkan aplikasi terbuka yang mengelola koneksi fisik sebagaimana halnya perangkat keras itu sendiri (seperti Ethernet).
Seperti yang Anda lihat, ada banyak lapisan yang berbeda yang dapat dibahas berdasarkan kedekatan mereka dengan hardware dan fungsionalitasnya.
TCP/IP Model
Model TCP / IP lebih dikenal sebagai protokol internet, merupakan model yang layeringlain yang lebih sederhana dan telah diadopsi secara luas. Model ini mendefinisikan empat lapisan yang terpisah, beberapa di antaranya tumpang tindih dengan model OSI:
· Aplikasi / Application: dalam model ini, lapisan aplikasi bertanggung jawab untuk menciptakan dan mengirimkan data pengguna di antara aplikasi. Aplikasi tersebut bisa terdapat pada suatu sistem remote, namun akan tampil dan berjalan seolah-olah secara lokal bagi pengguna akhir (end user).
Komunikasi terjadi antara dua peer.
· Transport: lapisan transport bertanggung jawab untuk komunikasi antar proses. Tingkatan jaringan ini menggunakan port untuk menangani berbagai layanan. Hal ini akan menjadi koneksi yang dapat atau tidak dapat diandalkan tergantung pada jenis protokol yang digunakan.
· Internet: lapisan internet digunakan untuk mengangkut data dari suatu node ke node lain dalam suatu jaringan. Lapisan ini mengetahui persis titik akhir dari suatukoneksi, namun tidak mempedulikan mengenai sambungan aktual yang dibutuhkan untuk mencapai suatu titik / node dari titik tertentu. Alamat IP yang didefinisikan dalam lapisan ini adalah sebagai cara untuk mencapai sistem remote sesuai dengan cara pengalamatan.
· Hubungan / Link: lapisan link mengimplementasikan topologi yang sebenarnya dari suatu jaringan lokal yang memungkinkan lapisan internet untuk menyajikan sebuah antarmuka yang dapat diberi suatu alamat. Hal ini menciptakan koneksi di antara node-node berdekatan untuk mengirimkan data.
Seperti yang Anda lihat, model TCP / IP sedikit lebih abstrak dan fleksibel. Hal ini membuatnya lebih mudah untuk diterapkan dan memungkinkan untuk menjadi cara yang dominan mengkategorikan suatu lapisan jaringan.
Antarmuka / Interfaces
Antarmuka adalah titik komunikasi jaringan komputer Anda. Setiap antarmuka dikaitkan dengan perangkat jaringan fisik atau virtual.
Biasanya, server Anda akan memiliki satu antarmuka jaringan yang dapat dikonfigurasi untuk setiap Ethernet atau kartu internet nirkabel yang dimiliki.
Selain itu, akan menentukan pula suatu antarmuka jaringan virtual yang disebut "loopback" atau antarmuka localhost. Ini digunakan sebagai antarmuka untuk menghubungkan berbagai aplikasi dan proses-prosesnya pada suatu komputer pada aplikasi dan proses-proses lainnya. Anda dapat melihatnya yang ditandai sebagai antarmuka "lo"
Seringkali, administrator mengkonfigurasi satu antarmuka untuk layanan lalu lintas ke internet dan antarmuka lainnya untuk LAN atau jaringan pribadi.
Pada layanan VPS yang mendukung 2 jenis antarmuka ini seperti pada DigitalOcean, biasaya antarmuka "eth0" akan dikonfigurasi untuk menangani lalu lintas dari / ke internet, sedangkan antarmuka "eth1" akan beroperasi untuk komunikasi dengan jaringan pribadi Anda.
Protocols
Jaringan bekerja dengan membonceng sejumlah protokol yang berbeda di atas satu sama lain. Dengan cara ini, suatu bagian data dapat dikirim menggunakan beberapa protokol dikemas dalam satu sama lain.
Kita akan membicarakan mengenai beberapa protokol yang lebih umum yang mungkin Anda temui dan akan dijelaskan perbedaannya, disertai contoh bagian proses apa saja protokol-protokol tersebut terlibat.
Kita akan mulai dengan protokol-protokol yang diimplementasikan pada lapisan jaringan yang lebih rendah dan yang lebih tinggi.
Media Access Control (MAC)
Media access control adalah protokol komunikasi yang digunakan untuk membedakan perangkat tertentu. Setiap perangkat harus mendapatkan alamat MAC yang unik selama proses manufakturnya yang menjadi pembeda dari setiap perangkat lain di internet.
Pengalamatan hardware dengan alamat MAC memungkinkan pengaksesan perangkat dengan nilai yang unik bahkan ketika perangkat lunak yang menggunakannya dapat mengubah nama perangkat tertentu selama operasi.
MAC adalah satu-satunya protokol dari lapisan link yang mungkin Anda gunakan untuk berinteraksi pada umumnya.
IP
Protokol IP adalah salah satu protokol dasar yang membuat internet bekerja. Alamat IP adalah unik untuk setiap jaringan dan memungkinkan setiap mesin / perangkat yang terhubung dalam jaringan saling berkomunikasi. IP diimplementasikan pada layer internet dalam model IP/TCP.
Jaringan-jaringan dapat dihubungkan bersama-sama, tapi lalu lintas data harus diteruskan / routed ketika melintasi batas-batas setiap jaringan. Protokol ini mengidentifikasi suatu jaringan yang tidak baik dan beberapa jalur yang mengarah ke tujuan yang sama yang di antaranya dapat berubah-ubah secara dinamis.
Ada beberapa implementasi yang berbeda-beda dari protokol ini. Penggunaan yang paling umum saat ini adalah IPv4, meskipun IPv6 semakin populer sebagai protokol alternatif karena adanya kelangkaan alamat IPv4 yang tersedia serta berbagai perbaikan dalam kemampuan protokol.
ICMP
ICMP singkatan dari Internet Control Message Protocol ~ protokol pesan kontrol internet. Ini digunakan untuk mengirim pesan antar perangkat untuk menunjukkan kondisi ketersediaan atau kesalahan. Paket ini digunakan dalam berbagai alat diagnostik jaringan, seperti ping dan traceroute.
Biasanya paket ICMP ditransmisikan ketika sebuah paket dari jenis yang berbeda menemui beberapa jenis masalah. Pada dasarnya, mereka digunakan sebagai mekanisme umpan balik untuk komunikasi jaringan.
TCP
TCP singkatan dari Transmission Control Protocol ~ protokol kontrol transmisi. Ini diimplementasikan pada lapisan transport dari model IP/TCP dan digunakan untuk membuat suatu koneksi yang baik dan dapat diandalkan.
TCP merupakan salah satu protokol yang mengemas data ke dalam paket. Kemudian paket tersebut ditransfer ke ujung jauh dari koneksi menggunakan metode yang tersedia pada lapisan bawah. Pada ujung yang lain, dapat terjadi proses pemeriksaan kesalahan, permintaan potongan / bagian data tertentu untuk ditolak, dan mengumpulkan kembali potongan-potongan informasi / data tersebut menjadi satu bagian utuh yang logis untuk kemudian dikirim ke lapisan aplikasi.
Protokol ini membangun sebuah koneksi sebelum dilakukan transfer data menggunakan sistem yang disebut three-way handshake. Ini adalah cara bagi kedua ujung / node untuk berkomunikasi untuk saling melakukan permintaan data dan saling menyepakati metode untuk memastikan keabsahan data.
Setelah data dikirim, koneksi diputuskan menggunakan four-way handshake yang sama .
TCP adalah protokol pilihan untuk sebagian besar penggunaan yang paling populer di internet, termasuk WWW, FTP, SSH, dan email. Dapat dikatakan, internet yang kita kenal sekarang ini tidak akan pernah ada tanpa adanya TCP.
UDP
UDP singkatan dari User Datagram Protocol ~ protokol pengguna datagram. Ini adalah protokol pendamping yang populer untuk TCP dan juga diimplementasikan pada lapisantransport.
Perbedaan mendasar antara UDP dan TCP adalah bahwa UDP menawarkan transfer data tanpa pengecekan kualitas pengiriman. UDP tidak memverifikasi apakah suatu data telah diterima di ujung lain dari koneksi atau tidak. Ini mungkin terdengar sebagai hal yang buruk. Namun, hal ini juga sangat penting untuk beberapa fungsi.
Karena tidak perlu menunggu adanya konfirmasi bahwa data telah diterima dan dipaksa untuk mengirim ulang data, UDP menjadi jauh lebih cepat daripada TCP. UDP tidak membuat koneksi dengan suatu host remote, ia langsung melakukan pengiriman data ke host tersebut dan tidak peduli diterima atau tidak data tersebut.
Karena ini merupakan transaksi yang sederhana, maka akan sangat berguna untuk melakuan koneksi sederhana seperti query untuk informasi sumber daya jaringan. UDP juga tidak mempertahankan suatu keadaan (state), yang membuatnya sangat bagus untuk melakukan transmisi data suatu komputer ke banyak klien secara real time. Ini membuatnya ideal untuk VOIP, game, dan aplikasi-aplikasi lainnya yang tidak menghendaki adanya delay.
HTTP
HTTP singkatan dari hypertext transfer protocol. Ini adalah protokol yang didefinisikan dalam lapisan aplikasi yang menjadi dasar untuk komunikasi di web.
HTTP mendefinisikan sejumlah fungsi yang memberitahukan sistem remote mengenai apa yang Anda minta. Misalnya GET, POST, dan DELETE yang semuanya berinteraksi dengan data yang diminta dengan cara yang berbeda.
FTP
FTP singkatan dari file transfer protocol. Ini juga didefinisikan dalam lapisan aplikasi dan menyediakan cara mentransfer file lengkap dari satu host ke host yang lain.
Ini cukup tidak aman, sehingga tidak dianjurkan untuk setiap aktivitas jaringan eksternal yang dihadapi kecuali diimplementasikan hanya sebagai sumber daya bagi publik untuk mengunduhan saja.
DNS
DNS singkatan dari domain name system ~ sistem nama domain. Ini adalah sebuah protokol lapisan aplikasi yang digunakan untuk menyediakan mekanisme penamaan yanguser-friendly untuk sumber daya internet. Ini adalah mengaitkan nama domain pada suatu alamat IP dan memungkinkan Anda untuk mengakses berbagai situs dengan menggunakan nama domain tersebut melalui browser Anda.
SSH singkatan dari secure shell. Ini adalah sebuah protokol terenkripsi yang diimplementasikan dalam lapisan aplikasi dan dapat digunakan untuk berkomunikasi dengan server remote secara aman.
Ada banyak protokol lainnya yang kita belum diungkap yang juga sama pentingnya. Namun, apa yang sudah disampaikan dalam artikel ini setidaknya dapat memberikan gambaran yang cukup bagi Anda mengenai sekilas teknologi dasar bagaimana suatu internet dan jaringan menjadi mungkin.
Tidak ada komentar:
Posting Komentar