Selasa, 23 Juni 2020

Pengertian dan Cara Kerja Web Server

Web Server adalah suatu perangkat lunak (software) dalam server yang berfungsi untuk menerima permintaan (request) dari client atau browser berupa halaman website melalui protokol HTTP/ HTTPS, lalu merespon permintaan tersebut dalam bentuk halaman website berupa dokumen HTML atau PHP.

Dari penjelasan tersebut maka kita dapat menyimpulkan bahwa web server adalah software yang berfungsi sebagai pemberi layaan kepada web client (browser) seperti Chrome, Mozilla, Opera, Safari, dan lainya, agar browser tersebut dapat menampilkan halaman website yang diminta.


Fungsi Web Server

fungsi web server

Berdasarkan penjelasan pengertian web server di atas, maka kita dapat mengetahui fungsi web server, yaitu memproses berkas yang diminta client.

Fungsi utama web server adalah sebagai alat untuk memproses berbagai berkas yang diminta oleh klien, lalu memberikan respon dalam bentuk halaman web. Halaman website tersebut terdiri dari teks, gambar, dokumen, video, dan lain-lain.

Jadi, setiap kali pengguna internet membuka halaman website, maka terjadi permintaan (request). Selanjutnya, jika alamat IP atau domain website yang diminta benar, maka web server akan memberikan respon dengan menampilkan data atau file yang ada di data base website tersebut kepada pengguna.

Cara Kerja Web Server

Cara Kerja Web Server

Cara kerja web server mengacu pada pengertian web server dan fungsinya, yaitu untuk menerima permintaan dari client dan mengirimkan kembali berkas yang diminta oleh client.

Seperti yang sudah disebutkan di atas, web client adalah pengguna internet yang memakai browser (Chrome, Mozilla, Opera, Safari, dan lainnya) untuk terhubung dengan web server melalui internet. Sedangkan web server adalah software yang melayani permintaan web client.

Ketika web client (browser) melakukan permintaan data halaman website kepada server, maka permintaan tersebut dikemas oleh browser di dalam TCP (Transmission Control Protocol) yang merupakan protokol transport. Lalu permintaan tersebut dikirim ke alamat data, dalam hal ini merupakan protokol HTTP atau HTTPS (baca: pengertian HTTP dan HTTPS)

Selanjutnya, data tersebut akan dicari oleh web server di dalam komputer server. Jika data ditemukan maka data tersebut akan dikemas oleh web server dalam TCP lalu dikirim dan ditampilkan ke browser.

Jika data yang dikirim diminta web client tidak ditemukan, maka web server akan menolak permintan dan menampilkan halaman Error 404 atau Page Not Found di browser.

Contoh Web Server

Setelah memahami pengertian web server, maka berikut ini adalah macam-macam web server, jenis, dan contoh web server yang bisa digunakan sebagai hosting dari sebuah website:

1. Apache

ApacheDari beberapa web server yang tersedia, Apache merupakan web server yang paling populer dan paling banyak digunakan. Web server ini memiliki beberapa dukungan seperti PHP, kontrol akses, dan SSL.

Apache meletakkan kontrol akses sebagai modul dimana yang paling banyak digunakan adalah modul Perl. Sementara fitur PHP merupakan program yang mirip CGI (Common Gateway Interface) untuk memproses teks.

2. IIS (Internet Information Services)

Web server IIS ini digunakan dalam OS Windows (Windows 2000 dan Windows 2003) yang didukung dengan komponen seperti protokol jaringan DNS, TCIP/IP dan software yang digunakan untuk membuat situs web.

IIS juga kompatibel untuk mendukung beberapa protokol seperti FTP, HTTP, NNTP, SMTP dan SSL. Kelebihan dari server ini bisa diakses pada penuh pada Windows dan mendukung platform .NET. Kekurangannya adalah web server ini termasuk jenis yang berbayar.

3. Nginx

nginxWeb server Nginx atau dibaca engine x ini merupakan web server yang open source dan bisa digunakan oleh siapapun secara gratis selain Apache. Keunggulan Nginx dibanding Apache yaitu pada Apache tidak  dapat menangani web server yang memiliki traffic tinggi.

Dengan begitu untuk mendukung web bisnis profesional dengan traffic tinggi, Nginx lebih baik digunakan daripada Apache. Kelebihan lainnya adalah memiliki peforma tinggi, arsitektur event-based dan fiturnya sangat bermanfaat.

4. Lighttpd

Lighttpd atau yang dibaca lightly ini merupakan web server yang juga open source dan dikembangkan oleh programmer berkebangsaan Jerman. Web server ini lebih diutamakan digunakan pada OS Linux atau dari kelompok Unix lainnya.

Kelebihan dari web server ini yaitu memiliki kemampuan untuk mengatur CPU load secara efektif dengan beberapa fitur lainnya seperti FastCGi, SCGI, URL-Writing dan Output-Compression.

Demikianlah penjelasan ringkas mengenai pengertian web server, fungsi, cara kerja, dan beberapa contoh web server. Semoga artikel ini menambah pengetahuan kamu tentang web server sehingga dapat membangun website yang profesional.

Jaringan NIRKABEL

Jaringan NIRKABEL 

Jaringan nirkabel atau wireless network merupakan teknologi komunikasi yang menggunakan media tanpa kabel untuk bisa saling terhubung. Jaringan nirkabel sering digunakan oleh jaringan komputer untuk jarak dekat maupun jarak jauh. Untuk jarak dekat, biasanya digunakan sebagai alat pemancar Bluetooth. Sementara, untuk jarak jauh biasanya digunakan sebagai satelit.

Contoh Jaringan Nirkabel

Keberadaan dari teknologi jaringan nirkabel sangat erat hubunganya dalam bidang teknik komputer, teknologi informasi dan juga telekomunikasi. Sebab, saat ini penggunaan dari jaringan nirkabel populer dan sudah banyak digunakan, karena dianggap lebih praktis dan instan dibandingkan dengan penggunaan jaringan dengan kabel seperti dulu.

Jenis Jaringan Nirkabel

Secara garis besar, terdapat 4 jenis jaringan nirkabel yang mungkin pernah kita baca di buku-buku seputar komputer, yaitu:

  • LANLocal Area Network (LAN) adalah jenis jaringan yang digunakan untuk berbagi data antar perangkat. Jaringan jenis ini biasa digunakan di tempat-tempat dengan cakupan wilayah kecil, seperti kantor, rumah, sekolah, dan lain-lain.
  • WAN: Singkatan dari Wide Area Network. Secara fungsi sama saja dengan LAN, hanya saja cakupan wilayahnya lebih luas. Selain itu, WAN juga biasanya punya kemampuan transmisi data lebih tinggi, dan terdapat suatu perangkat tertentu yang berperan sebagai pengatur jaringannya.
  • MAN: Singkatan dari Metropolitan Area Network. Cakupan area MAN lebih luas lagi dari WAN. Misalnya untuk menghubungkan sekolah A dengan sekolah B. Bahkan jaringannya bisa menjangkau satu kota.
  • PAN: Adalah singkatan dari Personal Area Network. Untuk jaringan jenis ini hanya bisa terhubung dalam jangkauan kecil (jarak dekat) saja.

Manfaat dan Keunggulan Penggunaan Jaringan Nirkabel

Karena tanpa kabel, tentunya ada beberapa keunggulan yang bisa kita dapatkan jika menggunakan jaringan jenis nirkabel ini, di antaranya:

  • Praktis: Untuk menggunakan nirkabel, kita hanya perlu menyediakan sebuah alat pemancar, dan pastikan juga komputer penerima punya receiver-nya.
  • Akses dari Mana Saja: Setiap perangkat bisa tersambung ke dalam jaringan nirkabel, asalkan sinyalnya masih bisa diperoleh.
  • Mendukung Banyak Perangkat: Bukan hanya komputer saja, hampir semua smartphone saat ini sudah mendukung fitur jaringan nirkabel, seperti WiFi.
  • Jaringan Mudah Diperluas: Melakukan instalasi jaringan di tempat luas seperti gedung bukan masalah lagi. Karena terdapat perangkat tertentu yang bisa memperluas jangkauan sinyal jaringan.
  • Produktivitas Meningkat: Bayangkan, sebuah perusahaan dengan semua komputer yang terhubung ke dalam satu jaringan. Tentu akan meningkatkan produktivitas, jika bicara soal manfaatnya dalam hal berbagi data.
  • Keamanan: Saat ini, jaringan nirkabel sudah didukung juga oleh provider dengan segudang fitur keamanan yang ada, sehingga keamanan data menjadi lebih terjaga.

Pengertian Routing

Apa Itu Routing ??

Routing adalah proses untuk memilih jalur (path) yang harus dilalui oleh paket. Jalur yang baik tergantung pada beban jaringan, panjang datagram, type of service requested dan pola trafik. Pada umumnya skema routing hanya mempertimbangkan jalur terpendek (the shortest path).

Apabila kita memiliki sebuah destination (tujuan) routing, misal rule routing untuk akses perangkat server. Nah, untuk menjaga kemungkinan adanya permasalahan pada link, maka kita akan membuat beberpa link sebagai gateway ke server tersebut.

Dari contoh kasus diatas kita bisa melakukan beberapa konfigurasi pada tabel routing. Namun sebelum itu kita harus mengetahui bagaimana router menentukan jalur routing (Route Decision).

Route Decision

Sebagai contoh dibawah ini ada sebuah tabel yang berisi beberapa rule routing dengan multiple gateway. Misal, dari tabel tersebut apabila kita ingin menuju ke sebuah perangkat sever dengan IP Address 192.168.0.2. Nah, rule routing mana yang akan diprioritaskan?

Ada beberapa mekanisme bagaimana router memilih jalur routing yaitu antara lain sebaga berikut.

  • Rule routing yang paling spesifik (Misal, 192.168.1.128/26 lebih spesifik dari 192.168.1.1/24).
  • Distance (Router akan memilih nilai distance yang paling kecil).
  • Round Robin (Random. Apabila Rule tersebut sama-sama spesifik dan memiliki nilai distance yang sama. Biasa disebut sebagai Load Balance).

Jadi, apabila melihat contoh tabel diatas bisa dihasilkan prioritas seperti tampilan berikut:

Kembali pada sontoh kasus sebelumnya, dengan memiliki beberapa gateway untuk sebuah destination (tujuan) kita bisa melakukan sebuah mekanisme jalur backup. Hal ini lebih dikenal dengan istilah Failover. Untuk melakukan failover kita bisa memanfaatkan pengaturan pada nilai distance.

Distance

Seperti yang telah disinggung pada contoh tabel sebelumnya, dengan distance ini kita bisa menentukan jalur routing mana yang menjadi prioritas dan yang menjadi sebuah jalur backup. Secara default nilai distance pada MikroTik dari 0 (Nol) - 8 (Delapan). Semakin kecil nilai distance maka rule tersebut akan semakin diprioritaskan.

Nah, oleh karena itu kita harus memberikan nilai distance yang kecil untuk jalur utama dan apabila jalur utama putus maka secara otomatis akan memakai jalur lain dengan nilai distance yang lebih besar.


Routed Protocol dan Routing Protocol

Routing Protocol maksudnya adalah protocol untuk merouting. Routing protocol digunakan oleh router-router untuk memelihara /meng-update isi routing table. Pada dasarnya sebuah routing protocol menentukan jalur (path) yang dilalui oleh sebuah paket melalui sebuah internetwork.
Contoh dari routing protocol adalah RIP, IGRP, EIGRP, dan OSPF.

Routed Protocol (protocol yang diroutingkan) maksudnya adalah protokol-protokol yang dapat dirutekan oleh sebuah router. Jadi protocol ini tidak digunakan untuk membuild routing tables, melainkan dipakai untuk addressing (pengalamatan). Karena digunakan untuk addressing, maka yang menggunakan routed protocol ini adalah end devices (laptop, mobile phone, desktop, mac, dll). router akan membaca informasi dari protocol ini sebagai dasar untuk memforward paket.
Contoh routed protocol adalah IP, NetbeUI, IPX, Apple Talk dan DECNet.

Mengenal serta Memahami SSh

Apa itu SSh ?

Secure Shell atau yang sering dikenal dengan sebutan SSH adalah protokol jaringan yang memungkinkan pertukaran data atau komunikasi data  melalui saluran aman antara dua perangkat jaringan. Biasanya SSH itu banyak digunakan pada Operasi System berbasis UNIX dan LINUX untuk mengakses akun Shell. SSH itu dirancang sebagai pengganti Telnet  dan Protokol Remote Shell lainnya yang tidak aman, contohnya yaitu seperti rsh Berkeley dan protokol rexec, yang mengirimkan infomasi berupa teks terutama kata sandi yang membuatnya rentan terhadap intersepsi dan penyingkapan menggunakan penganalisa paket. Maksud dari Enkripsi yang digunakan SSH itu untuk memberikan kerahasiaan dan integritas data melalui jaringan yang tidak aman, seperti Internet. SSH menggunakan kriptografi kunci publik untuk mengotentikasi komputer remote dan biarkan komputer remote untuk mengotentikasi pengguna, jika perlu. SSH itu menggunakan model Server – Client biasanya berupa TCP port 22 telah ditetapkan untuk menghubungi server SSH dari client SSH. SSH Client ini biasanya digunakan untuk membangun koneksi ke SSH daemon untuk dapat diremote. Keduanya biasanya terdapat pada sistem operasi modern, termasuk Mac OS X, Linux, FreeBSD, Solaris dan OpenVMS.

Bagaimana Cara Kerja SSH ?

 

Cara kerja protokol SSH adalah menggunakan model client-server. Jadi koneksi yang terjadi adalah SSH client melakukan koneksi ke SSH server. SSH client melakukan proses koneksi dan menggunakan kunci kriptografi untuk memverifikasi dan mengidentifikasi SSH server. Selama kunci yang dipakai SSH client tidak sama dengan SSH server maka koneksi tidak akan pernah dapat tersambung.

SSH client dan SSH server dapat tersambung menggunakan kunci yang sama serta melalui proses verifikasi. Kemudian koneksi yang tersambung dienkripsi menggunakan symmetric encryption dan hashing algorithm. Proses enkripsi ini bertujuan untuk memastikan kerahasiaan dan keutuhan data yang dipertukarkan antara client dengan server.

Jadi SSH client mengawali koneksi dengan memanggil SSH server menggunakan aplikasi SSH client (PuTTY di Windows). Kemudian SSH server mengirimkan public key ke SSH client. Kemudian SSH client merespon dengan memberikan pasangan kunci yang diberikan oleh SSH server.

Selanjutnya keduanya melakukan negosiasi atau verifikasi koneksi dan memulai membuka koneksi yang aman. Setelah selesai, SSH client sudah dapat masuk ke dalam server dengan pertukaran data yang terus dienkripsi.

Keuntungan Menggunakan SSH

SSH mengijinkan mengenskripsi data sehingga kemungkinan malicious tidak dapat mengakses informasi user dan password. SSH juga mengizinkan untuk menembus protokol lain seperti FTP. Berikut beberapa hal spesifik yang perlindungan yang diberikan SSH :

  1. DNS Spoofing

    Penyerangan hacking jenis ini dilakukan dengan cara memasukkan data dalam Sistem Domain yang dimana Name Server cache database. Hal ini akan menyebabkan Name Server akan kembali ke IP yang salah sehingga dapat mengalihkan lalu lintas ke komputer lain.

  2. Manipulasi Data

    Seperti halnya router disepanjang jaringan, Penyerang memperoleh atau merubah data pada perantara sepanjang rute jaringan. Hal ini sering dilakukan pada router dimana data masuk dari gateway atau pos pemeriksaan di jalan ke tujuan.

  3. IP Address Spoofing

    IP Spoofing bekerja dengan menyembunyikan alamat IP dengan membuat paket IP yang berisi alamat IP palsu dalam upaya untuk meniru koneksi lain dan menyembunyikan identitas ketika Anda mengirim informasi.

  4. SSH Client

    SSH Client adalah software atau aplikasi yang digunakan untuk melakukan request pada server, SSH Client memiliki interface langsung apa client berupa Command Line.

Penjelasan TCP dan UDP

Penjelasan TCP dan UDP 

1. TCP (Transmission Control Protocol)

TCP (Transmission Control Protocol) adalah salah satu jenis protokol yang  memungkinkan sekumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu jaringan.

TCP mempunyai karakteristik sebagai protokol yang berorientasi koneksi (Connection oriented). Protokol TCP menggunakan jalur data full duplex yang berarti antara kedua host terdapat dua buah jalur, jalur masuk dan jalur keluar sehingga data dapat dikirimkan secara simultan.

 

2. Karakteristik TCP/IP

  1. Reliable berarti data ditransfer ke tujuannya dalam suatu urutan seperti ketika dikirim. Memiliki mekanisme pengiriman data yang handal dan efisien.
  2. Berorientasi sambungan (connection-oriented). Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
  3. Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
  4. Memiliki layanan flow control. Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat “macet” jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
  5. Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi (dalam DARPA Reference Model)
    Mengirimkan paket secara “one-to-one“. hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.
  6. Bersifat open platform atau platform independent yaitu tidak terikat oleh jenis perangkat keras atau perangkat lunak tertentu.
  7. Karena sifatnya yang terbuka, TCP/IP bisa mengirimkan data antara sistem-sistem komputer yang berbeda yang menjalankan pada sistem-sistem operasi yang berbeda pula.
  8. TCP/IP terpisah dari perangkat keras yang mendasarinya. Protokol ini dapat dijalankan pada jaringan Ethernet, Token ring, X.25, dan bahkan melalui sambungan telepon.
  9. TCP/IP menggunakan skema pengalamatan yang umum, maka semua sistem dapat mengirimkan data ke alamat sistem yang lain.
  10. Pengiriman file (file transfer). File Transfer Protokol (FTP) memungkinkan pengguna komputer yg satu untuk dapat mengirim ataupun menerima file ke komputer jaringan. Karena masalah keamanan data, maka FTP seringkali memerlukan nama pengguna (username) dan password, meskipun banyak juga FTP yg dapat diakses melalui anonymous, alias tidak berpassword. (lihat RFC 959 untuk spesifikasi FTP).

 3. Contoh Aplikasi yang Menggunakan Protocol TCP

  • TELNET
  • FTP (File Transfer Protocol)
  • SMTP (Simple Mail Transfer Protocol)

 

4. Cara Kerja TCP/IP

  1. Datagram dibagi-bagi ke dalam bagian-bagian kecil yang sesuai dengan ukuran bandwith (lebar frekuensi) dimana data tersebut akan dikirimkan.
  2. Pada lapisan TCP, data tersebut lalu “dibungkus” dengan informasi header yang dibutuhkan. Misalnya seperti cara mengarahkan data tersebut ke tujuannya, cara merangkai kembali kebagian-bagian data tersebut jika sudah sampai pada tujuannya, dan sebagainya.
  3. Setelah datagram dibungkus dengan header TCP, datagram tersebut dikirim kepada lapisan IP.
  4. IP menerima datagram dari TCP dan menambahkan headernya sendiri pada datagram tersebut.
  5. IP lalu mengarahkan datagram tersebut ke tujuannya.

 

Komputer penerima melakukan proses-proses perhitungan, ia memeriksa perhitungan checksum yang sama dengan data yang diterima. Jika kedua perhitungan tersebut tidak cocok berarti ada error sewaktu pengiriman dan datagram akan dikirimkan kembali.

Ilustrasi-Perbedaan-TCP-Dan-UDP

UDP vs TCP

 

5. UDP (User Datagram Protocol)

5. UDP (User Datagram Protocol)

Sedangkan UDP (User Datagram Protocol) adalah transport layer yang tidak handal, unreliable / connectionless dan merupakan kebalikan dari transport layer TCP. Dengan menggunakan UDP, setiap aplikasi socket dapat mengirimkan paket – paket yang berupa datagram. Istilah datagram diperuntukkan terhadap paket dengan koneksi yang tidak handal (unreliable service). Koneksi yang handal selalu memberikan keterangan apabila pengiriman data gagal, sedangkan koneksi yang tidak handal tidak akan mengirimkan keterangan (acknowledgment) meski pengiriman data gagal.

 

Data dalam protokol UDP akan dikirimkan sebagai datagram tanpa adanya nomor identifier. Sehingga sangat besar sekali kemungkinan data sampai tidak berurutan dan sangat mungkin hilang/rusak dalam perjalananan dari host asal ke host tujuan.

 

6. Karakteristik UDP

  1. Protokol yang “ringan” (lightweight). Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan.
  2. Transmisi broadcast. Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras dengan protokol TCP yang hanya dapat mengirimkan transmisi one-to-one.
  3. UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk ataupun data yang keluar. Tugas buffering merupakan tugas yang harus diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP.
  4. UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.
  5. UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
  6. Connectionless (tanpa koneksi). Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
  7. Unreliable (tidak andal). Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan.

7. Contoh Aplikasi yang Menggunakan Protocol UDP

  • DNS (Domain Name System)
  • SNMP (Simple Network Management Protocol)
  • TFTP (Trivial File Transfer Protocol)
  • SunRPC

Perbedaan TCP dan UDP

PerbedaanTCPUDP
Jenis KoneksiConnection-oriented : semua paket data yang dikirimkan akan diperiksa kembali. Jika terdapat informasi yang hilang / tidak sesuai dengan paket yang dikirimkan, maka paket data akan dikirimkan kembali.Connectionless : semua paket data dikirimkan tanpa adanya pengecekan hingga semua data sampai ke tujuan. Hal ini menyebabkan, jika ada informasi yang hilang akan diabaikan.
Basis koneksiConnection based : pengiriman paket data melalui internet dari satu komputer ke komputer lain. (dalam jaringan)Not connection based : paket data akan langsung dikirimkan ke tujuan. (host-to-host tidak dalam jaringan TCP/IP)
PenggunaanCocok untuk aplikasi yang memerlukan keandalan tinggi dengan waktu yang kurang cepat.Cocok untuk aplikasi yang membutuhkan transmisi cepat, efisien dan mengijinkan adanya sedikit informasi yang hilang.
Contoh aplikasi / port*Telnet, FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol)

Game, DNS (Domain Name System), SNMP (Simple Network Management Protocol), Remote Procedure Call (RPC), Lightweight Directory Access Protocol (LDAP)

Overhead*Digunakan untuk memaksimalkan performansi.Membutuhkan overhead yang lebih kecil.
Ukuran header20 byte8 byte
Pembuatan koneksiMembutuhkan three-way-handshake*.Tidak membutuhkan pembuatan koneksi.
Keandalan (reliability)Data terjamin akan sampai sesuai urutannya dan tidak ada data yang hilang (utuh).Tidak terjamin data akan sama persis dengan yang dikirimkan.
Besar paketDapat mengijinkan transfer dengan data yang besar per paketnya.Hanya mengijinkan transfer data untuk data kecil per paketnya.
KeamananMenawarkan keamanan yang lebih baik untuk spoofing attack.Tidak dapat menawarkan keamanan pada data yang dikirimkan.
Data flow control* Memiliki flow control. Tidak memiliki flow control.

Pengenalan OSI Layer

Pengenalan OSI Layer


Pada saat kita memulai langkah ke dalam ilmu jaringan komputer, hal yang pertama kali kita pelajari biasanya adalah TCP/IP. TCP/IP bisa di analogikan seperti bahasa. Ketika manusia bertukar informasi, manusia akan berbicara dengan bahasa yang bisa dimengerti oleh pembicara maupun pendengar. Begitu juga halnya dengan komputer atau host dalam sebuah jaringan. Agar komunikasi dan pertukaran informasi bisa terjalin dengan baik, dibutuhkan bahasa sama. Walaupun merek host jaringan tersebut berbeda - beda, host masih bisa berkomunikasi dengan host lain karena menggunakan standart komunikasi yang sama, yakni TCP/IP. Protokol internet pertama kali dirancang pada tahun 1980-an. Akan tetapi di tahun 1990-an dimana internet semakin populer dan host yang semakin banyak, mulai bemunculan protokol yang hanya bisa digunakan oleh kalangan tertentu, atau protokol yang dibuat oleh pabrik tertentu yang belum tentu kompatibel dengan protokol lain dari pabrik yang lain pula. Sehingga pada akhirnya badan International Standart Organization (ISO) membuat standarisasi protokol yang saat ini dikenal dengan protokol model Open System Interconnection atau disingkat OSI. Model OSI ini manjadi referensi dan konsep dasar teori tentang cara kerja sebuah protokol. Dalam perkembangannya TCP/IP digunakan sebagai standart de facto.

OSI Layer
Ketika ISO (International Standart Organization) membuat standarisasi protokol, maka terciptalah sebuah standar model referensi yang berisi cara kerja protokol. Model referensi yang kemudian disebut dengan Open System Interconnection (OSI). Berdasarkan dokumen rekomendasi X.200, standart OSI ini memiliki 7 layer. Tiap layer ini memiliki definisi fungsi yang berbeda.



Layer 7 : Application Layer
Merupakan layer dimana terjadi interaksi antarmuka end user dengan aplikasi yang bekerja menggunakan fungsionalitas jaringan, melakukan pengaturan bagaimana aplikasi bekerja menggunakan resource jaringan, untuk kemudian memberika pesan ketika terjadi kesalahan. Beberapa service dan protokol yang berada di layer ini misalnya HTTP, FTP, SMTP, dll.

Layer 6 : Presentation Layer     
Layer ini bekerja dengan mentranslasikan format data yang hendak ditransmisikan oleh aplikasi melalui jaringan, ke dalam format yang bisa ditransmisikan oleh jaringan. Pada layer ini juga data akan di-enkripsi atau di-deskripsi.

Layer 5 : Session Layer
Session layer akan mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan. Di layer ini ada protocol Name Recognition,NFS & SMB.

Layer 4 : Transport Layer
Layer ini akan melakukan pemecahan data ke dalam paket-paket data serta memberikan nomor urut pada paket-paket data tersebut sehingga dapat disusun kembali  ketika sudah sampai pada sisi tujuan. Selain itu, pada layer ini, akan menentukan protokol yang akan digunakan untuk mentransmisi data, misalkan protokol TCP. Protokol ini akan mengirimkan paket data, sekaligus akan memastikan bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadap paket-paket yang hilang atau rusak di tengah jalan.

Layer 3 : Network Layer

Network layer akan membuat header untuk paket-paket yang berisi informasi IP, baik IP pengirim data maupun IP tujuan data. Pada kondisi tertentu, layer ini juga akan melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3.

Layer 2 : Data-link Layer     
Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer 2 beroperasi. Spesifikasi IEEE 802, membagi level ini menjadi dua level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).

Layer 1 : Physical Layer
Layer Physcal berkerja dengan mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.

Proses pengiriman data melewati tiap layer ini bisa kita analogikan seperti ketika kita mengirim surat. Isi surat adalah data yang akan kita kirim (layer 7 -> 5). Kemudian sesuai standart pengiriman, isi surat tersebut kita masukkan kedalam sebuah amplop (layer - 4). Agar surat kita bisa terkirim, kita perlu menambahkan alamat kemana surat tersebut akan dikirim, juga siapa pengirim surat tadi (layer - 3). Selanjutnya surat tersebut kita serahkan ke pihak ekspedisi, dan pihak ekspedisi yang nanti akan mengirimkan surat kita tadi (layer -  2&1).

Packet Header
Pada ulasan sebelumnya kita membahas bagaimana proses sebuah data ditransmisi, sekarang kita akan mencoba membongkar sebuah data. Apa isi sebiah data sehingga data tersebut bisa di transmisikan. ketika kita analogikan mengirim data di internet itu seperti mengirim POS, bisa dikatakan data adalah isi surat tersebut, kemudian paket header adalah amplop, perangko, alamat, dan kelengkapan lainnya. Paket header ini memberikan beberapa informasi tambahan. Jika kita bedah sebuah paket data yang ditrasnmisikan menggunakan ipv4, maka isi dari paket data tersebut bisa kita lihat seperti gambar berikut :


 

IPVer : Menyimpan informasi versi IP yang digunakan (IPv4 atau IPv6).
IHL (IP Header Leght) : Informasi panjang keseluruhan header paket data. Minimum panjang IP header adalah 20 bits, dan maximum panjang adalah 24 bits.
TOS : Adalah sebuah field dalam header IPv4 yang memiliki panjang 8 bit dan digunakan untuk menandakan jenis Quality of Service (QoS) yang digunakan oleh datagram yang bersangkutan untuk disampaikan ke router-router internetwork. Implementasi TOS ini biasanya saat kita melakukan limitasi HIT di web proxy mikrotik atau service VOIP.
16 Bit Total Length : Isian 16 bits ini memberikan informasi ukuran keseluruhan paket(fragment)termasuk header dan data. Informasi ditampilkan dalam format bytes
16 Bit Identification, Fragment Offset Flag/Length : Pada saat ip packet berjalan di internet, paket ini mungkin akan melewati beberapa router yang tidak bisa menghandle ukuran packet, misalnya nilai Maximum transmission unit (MTU) yang dimilikinya lebih kecil dibandingkan ukuran datagram IP, maka paket akan di pecah atau di fragmentasi menjadi paket - paket yang lebih kecil untuk kemudian akan disusun kembali setelahnya. Parameter ini yang akan digunakan untuk fragmentasi dan penyusunan kembali.
TTL : Ada kemungkinan sebuah IP packet berjalan tanpa tujuan di jaringan Internet. Contoh kasus misalnya adanya kesalahan routing atau routing loop. Agar paket ini tidak berputar-putar di jaringan internet selamanya, nilai TTL ini akan dikurangi setiap kali paket data melewati router. Ketika nilai TTL sebuah paket data sudah habis atau memiliki nilai 0, maka paket tersebut akan di drop atau dibuang.
Protocol : Berisi informasi protokol apa yang digunakan untuk melakukan transmisi data.
16 Bit Header Checksum : informasi nilai yang dihitung berdasarkan kalkulasi content IP header. Digunakan untuk menentukan apakah ada error pada saat dilakukannya transmissi data.
32 Bit Source IP Address : 32 bits informasi sumber IP paket data.
32 Bit Destination IP Address : 32 bits informasi IP yang dituju paket data.
Options (if any) : Parameter ini termasuk jarang digunakan, memiliki panjang yang bervariasi, dari 0 sampai kelipatan 32 bits. Parameter ini bisa digunakan untuk menyimpan sebuah nilai untuk opsi security, Record Route, Time Stamp, dll.
Data : Berisi data yang ditransmisikan.

Dari informasi paket header diatas, pada akhirnya sebuah data bisa dikirim dari satu host ke host yang lain.