Materi 1 Rancang Bangun Jaringan
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.
No comments:
Post a Comment