Pertemuan
1-3
Pengenalan
Terminologi Jaringan, Antarmuka dan Protokol
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.
Ada banyak istilah lainnya yang
mungkin Anda temui. Kami hanya akan menjelaskan istilah-istilah lain jika
diperlukan dan sesuai dengan topiknya. Saat ini, Anda sebaiknya memahami
beberapa hal dasar serta konsep tingkat tinggi yang akan memungkinkan
kita untuk membahas lebih dalam topik-topik yang akan datang.
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.
Model OSI
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 layering lain 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
lapisan transport.
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 yang user-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
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.