Protocol Jaringan

 
A. TCP(Transmission Control Protocol)
adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack, Fungsi TCP adalah bertanggung jawab untuk mengadakan komunikasi antara dua host/komputer.
TCP/IP ini mempunyai 5 layer. Berbeda dengan OSI Model yang mempunyai 7 layer. Adapun layer tersebut antara lain Physical Layer, Network Access Layer, Internet Layer, Transport Layer dan Application Layer. Kelima layer tersebut mempunyai fungsi dan tanggungjawabnya masing-masing seperti halnya layer yang ada pada OSI Model tersebut. Berikut penjelasan dari setiap layernya
    • Physical Layer (lapisan fisik) merupakan lapisan terbawah yang mendefinisikan besaran fisik seperti media komunikasi, tegangan, arus, dsb. Lapisan ini dapat bervariasi bergantung pada media komunikasi pada jaringan yang bersangkutan.TCP/IP bersifat fleksibel sehingga dapat mengintegrasikan berbagai jaringan dengan media fisik yang berbeda-beda.
    • Network Access Layer mempunyai fungsi yang mirip dengan Data Link layer pada OSI. Lapisan ini mengatur penyaluran data frame-frame data pada media fisik yang digunakan secara handal. Lapisan ini biasanya memberikan servis untuk deteksi dan koreksi kesalahan dari data yang ditransmisikan. Beberapa contoh protokol yang digunakan pada lapisan ini adalah X.25 jaringan publik, Ethernet untuk jaringan Etehernet, AX.25 untuk jaringan Paket Radio dsb.
    • Internet Layer mendefinisikan bagaimana hubungan dapat terjadi antara dua pihak yang berada pada jaringan yang berbeda seperti Network Layer pada OSI. Pada jaringan Internet yang terdiri atas puluhan juta host dan ratusan ribu jaringan lokal, lapisan ini bertugas untuk menjamin agar suatu paket yang dikirimkan dapat menemukan tujuannya dimana pun berada. Oleh karena itu, lapisan ini memiliki peranan penting terutama dalam mewujudkan internetworking yang meliputi wilayah luas (worldwide Internet).
    • Transport Layer mendefinisikan cara-cara untuk melakukan pengiriman data antara end to end host secara handal. Lapisan ini menjamin bahwa informasi yang diterima pada sisi penerima adalah sama dengan informasi yang dikirimkan pada pengirim.
    • Application Layer merupakan lapisan terakhir dalam arsitektur TCP/IP yang berfungsi mendefinisikan aplikasi-aplikasi yang dijalankan pada jaringan. Karena itu, terdapat banyak protokol pada lapisan ini, sesuai dengan banyaknya aplikasi TCP/IP yang dapat dijalankan. Contohnya adalah SMTP ( Simple Mail Transfer Protocol ) untuk pengiriman e-mail, FTP (File Transfer Protocol) untuk transfer file, HTTP (Hyper Text Transfer Protocol) untuk aplikasi web, NNTP (Network News Transfer Protocol) untuk distribusi news group dan lain-lain. Setiap aplikasi pada umumnya menggunakan protokol TCP dan IP, sehingga keseluruhan keluarga protokol ini dinamai dengan TCP/IP.

Cara Kerja TCP/IP
Setiap lapisan menerima data dari lapisan di atas atau dibawahnya, kemudian memproses data tersebut sesuai fungsi protokol yang dimilikinya dan meneruskannya ke lapisan berikutnya. Ketika dua komputer berkomunikasi, terjadi aliran data antara pengirim dan penerima melalui lapisan-lapisan di atas. Pada pengirim, aliran data adalah dari atas ke bawah. Data dari user maupun suatu aplikasi dikirimkan ke Lapisan Transport dalam bentuk paket-paket dengan panjang tertentu. Protokol menambahkan sejumlah bit pada setiap paket sebagai header yang berisi informasi mengenai urutan segmentasi untuk menjaga integritas data dan bit-bit pariti untuk deteksi dan koreksi kesalahan. Dari Lapisan Transport, data yang telah diberi header tersebut diteruskan ke Lapisan Network / Internet. Pada lapisan ini terjadi penambahan header oleh protokol yang berisi informasi alamat tujuan, alamat pengirim dan informasi lain yang dibutuhkan untuk melakukan routing. Kemudian terjadi pengarahan routing data, yakni ke network dan interface yang mana data akan dikirimkan, jika terdapat lebih dari satu interface pada host. Pada lapisan ini juga dapat terjadi segmentasi data, karena panjang paket yang akan dikirimkan harus disesuaikan dengan kondisi media komunikasi pada network yang akan dilalui. Proses komunikasi data di atas dapat dijelaskan seperti pada gambar dibawah ini :



B. HTTP (Hypertext Transfer Protocol)
      adalah suatu protokol yang digunakan untuk mentransfer dokumen/halaman dalam WWW (World Wide Web). HTTP mendefinisikan bagaimana suatu pesan dapat diformat dan dikirimkan dari client ke server atau sebaliknya. HTTP mengatur aksi apa saja yang harus dilakukan oleh web server dan web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini. HTTP berkomunikasi melalui TCP / IP. Klien HTTP terhubung ke server HTTP menggunakan TCP. Setelah membuat sambungan, klien dapat mengirim pesan permintaan HTTP ke server. HTTP digunakan untuk mengirimkan permintaan dari klien web (browser) ke web server, dikembali kan ke konten web (halaman web) dari server ke klien. HTTP tidaklah terbatas untuk penggunaan dengan TCP/IP, meskipun HTTP merupakan salah satu protokol aplikasi TCP/IP paling populer melalui Internet. Memang HTTP dapat diimplementasikan di atas protokol yang lain di atas Internet atau di atas jaringan lainnya.
Bagaimana cara kerja dari HTTP tersebut?
          Sebuah client HTTP seperti web browser, biasanya memulai permintaan dengan membuat hubungan TCP/IP ke port tertentu di tuan rumah yang jauh (biasanya port 80). Sebuah server HTTP yang mendengarkan di port tersebut menunggu client mengirim kode permintaan (request), seperti “GET / HTTP/1.1? (yang akan meminta halaman yang sudah ditentukan), diikuti dengan pesan MIME yang memiliki beberapa informasi kode kepala yang menjelaskan aspek dari permintaan tersebut, diikut dengan badan dari data tertentu.Beberapa kepala (header) juga bebas ditulis atau tidak, sementara lainnya (seperti tuan rumah) diperlukan oleh protokol HTTP/1.1. Begitu menerima kode permintaan (dan pesan, bila ada), server mengirim kembali kode jawaban, seperti “200 OK”, dan sebuah pesan yang diminta, atau sebuah pesan error atau pesan lainnya.
Bagaimana proses transaksi data HTTP?
Selama transaksi http, para pemohon atau yang dikenal sebagai klien, meminta file ke server melalui web browser.
Skema normal :
1. Klien terhubung ke host,
2. Server menerima koneksi,
3. Klien permintaan file,
4. Server mengirimkan respon (termasuk file atau tidak).



C. HTTPS (Hypertext Transfer Protocol Secure)

        memiliki pengertian yang sama dengan HTTP hanya saja HTTPS memiliki kelebihan fungsi di bidang keamanan (secure). HTTPS di temukan oleh Netscape Communication Corporation. HTTPS menggunakan Secure Socket Layer (SSL) atau Transport Layer Security(TLS) sebagai sublayer dibawah HTTP aplikasi layer yang biasa. HTTP di enkripsi dan deskripsi dari halaman yang di minta oleh pengguna dan halaman yang di kembalikan oleh web server. Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port yang digunakan HTTPS adalah port 443. Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung oleh algorithma penyandian yang aktual. Oleh karena itu, pada halaman web digunakan HTTPS, dan URL yang digunakan dimulai dengan ‘https://’. Https dapat menjamin keamanan dalam Autentikasi server yaitu memungkinkan peramban dan pengguna memiliki kepercayaan bahwa mereka sedang berbicara kepada server aplikasi sesungguhnya. Https juga mampu dalam menjaga kerahasiaan data dan Integritas data.


Perbedaan utama http dan https

       Beberapa perbedaan utama antara http dan https, dimulai dengan port default, yang 80 untuk http dan 443 untuk https. Https bekerja dengan transmisi interaksi yang normal http melalui sistem terenkripsi, sehingga dalam teori, informasi tidak dapat diakses oleh pihak selain klien dan server akhir. Ada dua jenis umum lapisan enkripsi: Transport Layer Security (TLS) dan Secure Socket Layer (SSL), yang keduanya menyandikan catatan data yang dipertukarkan.


Cara Kerja

             Https bukan protokol yang terpisah, tetapi mengacu pada kombinasi dari interaksi HTTP normal melalui Socket Layer terenkripsi SSL (Secure) atau Transport Layer Security (TLS) mekanisme transportasi. Hal ini menjamin perlindungan yang wajar dari penyadap dan (asalkan dilaksanakan dengan benar dan otoritas sertifikasi tingkat atas melakukan pekerjaan mereka dengan baik) serangan. Port default TCP https: URL adalah 443 (untuk HTTP tanpa jaminan, defaultnya adalah 80). Untuk mempersiapkan web-server untuk koneksi https penerima harus sebagai administrator dan membuat sertifikat kunci publik untuk server web. Sertifikat ini dapat dibuat untuk server berbasis Linux dengan alat seperti Open SSL yang ssl atau gensslcert SuSE. Sertifikat ini harus ditandatangani oleh otoritas sertifikat satu bentuk atau lain, yang menyatakan bahwa pemegang sertifikat adalah siapa yang mereka ajukan. Web browser pada umumnya didistribusikan dengan penandatanganan sertifikat otoritas sertifikat utama, sehingga mereka dapat memverifikasi sertifikat yang ditandatangani oleh mereka. Bila menggunakan koneksi https, server merespon koneksi awal dengan menawarkan daftar metode enkripsi mendukung. Sebagai tanggapan, klien memilih metode sambungan, dan klien dan sertifikat server pertukaran untuk otentikasi identitas mereka. Setelah ini dilakukan, kedua belah pihak bertukar informasi terenkripsi setelah memastikan bahwa kedua menggunakan tombol yang sama, dan koneksi ditutup. Untuk host koneksi https, server harus memiliki sertifikat kunci publik, yang embeds informasi kunci dengan verifikasi identitas pemilik kunci itu. Sertifikat Kebanyakan diverifikasi oleh pihak ketiga sehingga klien yakin bahwa kuncinya adalah aman.


Keuntungan mengubah HTTP menjadi HTTPS?

        Untuk mengamankan komunikasi antara browser dengan web server. Bagaimana bisa? Ilustrasi singkat berikut akan menjawabnya: Ketika anda mengakses sebuah web server yang menggunakan protokol HTTPS, halaman yang dikirimkan pada anda telah dienkripsi dulu oleh protokol ini. Dan semua informasi yang anda kirimkan ke server (registrasi, identitas, nomor pin, transfer pembayaran) akan dienkripsi juga sehingga tidak ada yg bisa mencuri dengar (eavesdropping) data-data anda ketika proses transaksi sedang berlangsung. Maka transaksi data anda menjadi lebih safe. Protokol HTTPS bisa anda temukan pada situs-situs perbankan, ecommerce, form registrasi, dsb. Karena di area bisnis inilah rentan sekali terjadi eavesdropping oleh pihak ketiga. Untuk itulah anda membutuhkan sertifikat SSL



D. SSH (Secure Shell)

         adalah protokol jaringan yang memungkinkan pertukaran data melalui saluran aman antara dua perangkat jaringan. Terutama banyak digunakan pada sistem berbasis Linux dan Unix untuk mengakses akun shell, SSH dirancang sebagai pengganti Telnet dan shell remote tak aman lainnya, yang mengirim informasi, terutama kata sandi, dalam bentuk teks sederhana yang membuatnya mudah untuk dicegat. Enkripsi yang digunakan oleh SSH menyediakan kerahasiaan dan integritas data melalui jaringan yang tidak aman seperti Internet. Secara sederhana SSH yang sering kita gunakan untuk trik internet gratis adalah sebagai tunneling yaitu mengirimkan dan menerima data melalui koneksi lain. SSH menggunakan kriptografi kunci publik untuk mengotentikasi komputer remote dan biarkan komputer remote untuk mengotentikasi pengguna, jika perlu. SSH biasanya digunakan untuk login ke mesin remote dan mengeksekusi berbagai perintah, tetapi juga mendukung tunneling, forwarding TCP port dan X11 connections; itu dapat mentransfer file menggunakan terkait SFTP atau SCP protocols. SSH menggunakan klien-server model. Yang standar TCP port 22 telah ditetapkan untuk menghubungi server SSH. Sebuah klien program SSH 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. Tersedia versi berpemilik, freeware dan open source untuk berbagai tingkat kerumitan dan kelengkapan.

Cara Kerja SSH


       Misalkan suatu client mencoba mengakses suatu linux server melalui SSH. SH daemon yang berjalan baik pada linux server maupun SSH client telah mempunyai pasangan public/private key yang masing-masing menjadi identitas SSH bagi keduanya. Langkah-langkah koneksinya adalah sebagai berikut :
- Langkah 1 - Client bind pada local port nomor besar dan melakukan koneksi ke port 22 pada server.
- Langkah 2 - Client dan server setuju untuk menggunakan sesi SSH tertentu. Hal ini penting karena SSH v.1 dan v.2 tidak kompatibel.
- Langkah 3 - Client meminta public key dan host key milik server.
- Langkah 4 - Client dan server menyetujui algoritma enkripsi yang akan dipakai (misalnya TripleDES atau IDEA).
- Langkah 5 - Client membentuk suatu session key yang didapat dari client dan mengenkripsinya menggunakan public key milik server.
- Langkah 6 - Server men-decrypt session ky yang didapat dari client, meng-re-encrypt-nya dengan public key milik client, dan mengirimkannya kembali ke client untuk verivikasi.
- Langkah 7 - Pemakai mengotentikasi dirinya ke server di dalam aliran data terenkripsi dalam session key tersebut.
Sampai disini koneksi telah terbentuk, dan client dapat selanjutnya bekerja secara interaktif pada server atau mentransfer file ke atau dari server. Langkah ketujuh diatas dapat dilaksanakan dengan berbagai cara (username/password, kerberos, RSA dan lain-lain)



E. FTP (File Transfer Protocol)

      adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. FTP merupakan salah satu protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP. Sebuah Klien FTP merupakan aplikasi yang dapat mengeluarkan perintah-perintah FTP ke sebuah server FTP, sementara server FTP adalah sebuah Windows Service atau daemon yang berjalan di atas sebuah komputer yang merespons perintah-perintah dari sebuah klien FTP. Perintah-perintah FTP dapat digunakan untuk mengubah direktori, mengubah modus transfer antara biner dan ASCII, menggugah berkas komputer ke server FTP, serta mengunduh berkas dari server FTP.


     Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.


Cara kerja protokol FTP

    FTP menggunakan protokol Transmission Control Protocol (TCP) untuk komunikasi data antara klien dan server, sehingga di antara kedua komponen tersebut akan dibuatlah sebuah sesi komunikasi sebelum transfer data dimulai. Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan "mendengarkan" percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk (1) membuat sebuah koneksi antara klien dan server, (2) untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga (3) mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan. FTP hanya menggunakan metode autentikasi standar, yakni menggunakan username dan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuat berkas, membuat direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login, yakni dengan menggunakan nama pengguna anonymous dan password yang diisi dengan menggunakan alamat e-mail.
        Dari pengertian di atas bisa diketahui bahwa ftp adalah sesuatu hal yang pertama dibutuhkan oleh website agar bisa ditampilkan di browser kita. Lalu bagaimana kita bisa menggunakan ftp ini? Untuk bisa mengakses ftp ini di perlukan akun data ftp tentunya, aplikasi untuk mengakses ftp, dan file untuk membentuk website.


F. SFTP(Secure File Transfer Protocol)
         adalah proses transfer file menggunakan protokol SSH. Ini adalah fitur gabungan antara FTP dan SCP. Protokol ini mengkombinasikan fleksibilitas FTP dan keamanan dari SCP. Protokol ini mendukung transfer file dan manipulasi file. Protokol SFTP bisa juga disebut sebagai protokol baru, yang mana bukan hanya menggunakan FTP melalui SSH. Hal ini biasanya digunakan dengan dua versi protokol SSH (TCP port 22) untuk menyediakan transfer file aman, tetapi dimaksudkan untuk digunakan dengan protokol lain juga. Cara kerja SFTP secara keseluruhan sama dengan FTP, akan tetapi SFTP ini merupakan jalur secure dimana data yang dikirimkan 'di bungkus' untuk menghindari 'intruder' snipping.


G. ICMP (Internet Control Message Protocol )
         adalah salah satu protokol inti dari keluarga protokol internet. ICMP utamanya digunakan oleh sistem operasi komputer jaringan untuk mengirim pesan kesalahan yang menyatakan, sebagai contoh, bahwa komputer tujuan tidak bisa dijangkau. ICMP berbeda tujuan dengan TCP dan UDP dalam hal ICMP tidak digunakan secara langsung oleh aplikasi jaringan milik pengguna. salah satu pengecualian adalah aplikasi ping yang mengirim pesan ICMP Echo Request (dan menerima Echo Reply) untuk menentukan apakah komputer tujuan dapat dijangkau dan berapa lama paket yang dikirimkan dibalas oleh komputer tujuan. Gambaran Teknis Internet Control Message Protocol (ICMP) adalah bagian dari keluarga protokol Internet dan didefinisikan di dalam RFC 792. Pesan-pesan ICMP umumnya dibuat sebagai jawaban atas kesalahan di datagram IP (seperti yang dispesifikasikan di RFC1122) atau untuk kegunaan pelacakan atau routing. Versi ICMP terkini juga dikenal sebagai ICMPv4, yang merupakan bagian dari Internet Protocol versi 4. Dalam suatu sistem connectionless setiap gateway akan melakukan pengiriman, perutean datagram yang dating tanpa adanya koordinasi dengan pengirim pertama. Tidak semua sistem berjalan dengan lancar. Kegagalan dapat saja terjadi. misalnya line komunikasi, prosesor atau dikarenakan mesin tujuan tidak sedang aktif, ttl dari counter habis, atau ketika terjadi kemacetan sehingga gateway tidak lagi bisa memproses paket yang datang. Dalam koneksi dengan internet pengirim tidak dapat memberitahukan & tidak tahu sebab kegagalan suatu koneksi. Untuk mengatasinya diperlukan suatu metode yang mengijinkan gateway melaporkan error atau menyediakan informasi mengenai kejadian yang tidak diinginkan sehingga dipakai mekanisme ICMP.
            Cara kerja dari ICMP secara singkat adalah sebagai berikut : pesan ICMP akan diberi header IP tujuan dengan melalui interface yang ada. Kemudian setelah pesan tadi diterima oleh IP tujuan maka penerima akan menerima lagi pesan ICMP kepada IP tujuan (asal) bahwa pesan telah diterima (pesan yang dikirim tergantung tipe pesan yang dipesan oleh pengirim pertama). Jika terdapat kerusakan dalam interface yang dilalui sehingga tidak dapat meneruskan pesan, maka pesan akan mengirimkan pesan error kepada pengirim pertama.


H. POP3 (Post Office Protocol 3)
           merupakan protocol yang digunakan untuk pengelolaan e-mail. Dengan adanya fasilitas ini akan mempermudah untuk mendapatkan e-mail dari sebuah mail server tanpa perlu koneksi yang lama dari Internet. POP3 (POP - Version 3) merupakan POP yang standar untuk Internet. Protokol ini akan mengijinkan client untuk mengakses e-mail yang ada di POP server secara dinamis dan juga mengijinkan untuk meninggalkan atau menghapus e-mail yang ada di POP Server melalui POP client. POP3 memungkinkan Anda untuk men-download pesan email pada komputer lokal Anda dan membacanya bahkan ketika Anda sedang offline dan berfungsi untuk menarik atau mengambil email dari server email yang digunakan.

CARA KERJA POP3
              POP atau Post Office Protocol, sesuai dengan namanya merupakan protokol yang digunakan untuk pengelolaan mail. POP yang sekarang lebih umum dikenal dengan POP3 (POP – Version 3), dimaksudkan untuk mengizinkan client untuk mengakses secara dinamis mail yang masih ada diPOP3 server. POP3 menawarkan pada user untuk meninggalkan mail-nya diPOP3 server, dan mengambil mail-nya tersebut dari sejumlah sistem sebarang. Server POP3 menyimpan sementara E-Mail tiap user di dalam mailboxnya masing-masing sebelum akhirnya didownload oleh user bersangkutan menggunakan klien E-Mail seperti Outlook maupun Eudora. Dalam proses pengambilan tersebut klien E-Mail terhubung ke mail server menggunakan protokol POP3 yang berjalan pada TCP port 110. POP3 tidak dimaksudkan untuk menyediakan operasi manipulasi mail yang ada di server secara luas. Pada POP3, mail diambil dari server dan kemudian dihapus (bisa juga tidak dihapus).



I. SMTP (Simple Mail Transfer Protocol)


         Merupakan salah satu protokol yang umum digunakan untuk pengiriman surat elektronik di Internet. Protokol ini dipergunakan untuk mengirimkan data dari komputer pengirim surat elektronik ke server surat elektronik penerima. Protokol ini timbul karena desain sistem surat elektronik yang mengharuskan adanya server surat elektronik yang menampung sementara sampai surat elektronik diambil oleh penerima yang berhak. SMTP bisa dianalogikan sebagai kantor pos. Ketika kita mengirim sebuah e-mail, komputer kita akan mengarahkan e-mail tersebut ke sebuah SMTP server, untuk diteruskan ke mail-server tujuan.Mail-server tujuan ini bisa dianalogikan sebagai kotak pos di pagar depan rumah, atau kotak PO BOX di kantor pos. Email-email yang terkirim akan menempati di tempat tersebut hingga si pemiliknya mengambilnya. Urusan pengambilan e-mail tersebut tergantung kapan di penerima memeriksa account e-mailnya.

Cara Kerja SMTP

         Simple Mail Transfer Protocol (SMTP) didefinisikan dan digunakan dalam Internet untuk mengirimkan electonic mail (E-mail). Cara kerja SMTP mirip yang dilakukan oleh FTP.SMTP menggunakan beberapa spool dan queue. Pesan yang dikirim oleh SMTP akan dikirimkan dalam queue. SMTP akan menghindari membalas pesan dari queue jika dihubungkan ke remote machine. Jika pesan tidak dapat dibalas dengan waktu yang telah ditentukan maka pesan akan dikembalikan ke pengirim atau dipindahkan. Interaksi antara message ke User Agent dan ke Message Transfer Agent hingga diterima oleh Penerima. SMTP bekerja berdasarkan pengiriman end-to-end, dimana SMTP client (pengirim) akan menghubungi SMTP server (penerima) untuk segera mengirimkan email. SMTP server melayani pengguna melalui port 25. Dimana setiap pesan yang dikirimkan melaui SMTP harus memiliki :

  1. Header atau amplop, yang dijabarkan pada RFC 822.
  2. Konten atau isi, yang berisi tentang isi dari surat yang akan dikirimkan



J. IMAP (Internet Message Access Protocol)

         adalah protokol standar untuk mengakses/mengambil e-mail dari server. IMAP memungkinkan pengguna memilih pesan e-mail yang akan ia ambil, membuat folder di server, mencari pesan e-mail tertentu, bahkan menghapus pesan e-mail yang ada. Kemampuan ini jauh lebih baik daripada POP (Post Office Protocol) yang hanya memperbolehkan kita mengambil/download semua pesan yang ada tanpa kecuali.
         Internet Message Access Protocol merupakan salah satu dari dua protokol penerimaan email (email retrieval protocol). Juga dikenal dengan singkatan IMAP, Internet Message Access Protocol merupakan Internet protocol yang beroperasi pada Application layer. Dengan IMAP, mailbox dapat dibaca dan dikelola secara simultan (bersamaan) oleh sejumlah email client berbeda. IMAP seringkali digunakan oleh sebagian besar pengguna Internet untuk mendownload email dari web mail server.
      Awalnya disebut sebagai Interim Mail Access Protocol, versi IMAP pertama telah menjalani beberapa revisi sejak dibuat pada tahun 1986. Saat ini disebut sebagai Internet Message Access Protocol, versi IMAP ini merupakan versi IMAP keempat yang telah menjadi standar pada tahun 1994, dan dipublikasikan pada RFC 1730. Pop Office Protocol (POP) merupakan Internet protocol umum lainnya untuk email retrieval. Sebagian besar email server dan email client mendukung baik IMAP dan POP sebagai pilihan lain terhadap protokol unik mereka sendiri. Dibandingkan dengan POP, IMAP memiliki beberapa keunggulan termasuk kemampuan untuk memuat bagian dari email ketimbang menunggu semua attachment di dalamnya. IMAP juga dapat juga menerima konten pesan menggunakan mekanisme MIME. IMAP client juga cenderung tetap dapat terhubung dengan mail server dalam periode waktu yang lebih lama, yang dapat meningkatkan response time secara keseluruhan.

      Cara kerja IMAP adalah email client melakukan koneksi ke server email, lalu melakukan sinkronisasi folder. Apabila kita mengklik/ mengakses sebuah folder, maka daftar email berikut isinya (?) juga didownload. Apabila kita menghapus sebuah email, maka email pada server juga dihapus. Dengan kata lain, protokol IMAP seakan-akan memindahkan semua isi mailbox kita ke e-mail clent kita sendiri.


K. NTP (Network Time Protocol)

        adalah sebuah protocol yang digunakan untuk melakukan sinkronisasi terhadap penunjuk waktu dalam sebuah jaringan komputer. Proses sinkronisasi ini dilakukan di dalam jalur komunikasi data yang biasanya menggunakan protokol komunikasi TCP/IP. Sehingga proses ini sendiri dapat dilihat sebagai proses komunikasi data biasa yang hanya melakukan pertukaran paket-paket data saja. NTP menggunakan port komunikasi UDP dengan nomor 123. Protokol ini didesain untuk dapat bekerja dengan baik meskipun media komunikasinya bervariasi, mulai dari yang wakt latensinya tinggi hingga yang rendah, mulai dari media kabel sampai dengan media udara. Protokol ini memungkinkan perangkat-perangkat komputer kita untuk tetap dapat melakukan sinkronisasi waktu dengan sangat tepat dalam berbagai media tersebut. NTP menggunakan sistem hirarki dalam bekerja dan melakukan sinkronisasinya. Sistem hirarki ini menggunakan istilah Clock stratum atau strata untuk menggambarkan tingkatan-tingkatannya. Di mana clock strata tingkat pertama merupakan perangkat komputer yang melakukan sinkronisasi dengan penghitung waktu eksternal seperti misalnya GPS clock, atomic clock atau radio clock yang sangat akurat. Perangkat berstatus stratum 2 merupakan perangkat yang dikirimi perhitungan waktu oleh stratum 1 secara langsung dengan menggunakan protokol NTP. Begitu seterusnya sistem hirarki berjalan. Parameter kedua, NTP akan melakukan proses komparasi terhadap beberapa perhitungan waktu dari beberapa server. Sebuah perangkat NTP yang memiliki pencatatan waktu yang paling berbeda dengan yang lainnya pasti akan dihindari oleh perangkat- perangkat lainnya, meskipun nilai stratumnya paling rendah daripada mesin yang lain. NTP versi 4 biasanya dapat menjaga ketepatan waktu hingga 10 millisecond 1/100 detik dalam media komunikasi publik atau Internet. Di dalam jaringan lokal yang kondisinya ideal, NTP dapat menjaga ketepatan perhitungannya hingga 20 microsecond atau 1/5000 detik. Timestamp atau pencatatan waktu yang digunakan oleh protokol NTP adalah sepanjang 64-bit yang terdiri dari 32-bit pertama untuk perhitungan detik, dan 32-bit berikutnya untuk perhitungan pecahan dari satuan detik. Dari spesifikasi ini, maka NTP akan memiliki skala waktu sebesar 2/32 detik atau sebesar 136 tahun dengan berdasarkan perhitungan menggunakan teori resolusi 2-32 detik (sekitar 0.233 nanosecond). Meskipun perhitungan waktu NTP akan kembali berulang ketika sudah mencapai 2-32 , implementasinya dibuat sedemikian rupa sehingga waktu NTP tidak akan terganggu dengan program program penyesuaian waktu lainnya.

Cara Kerja NTP

    NTP bekerja dengan menggunakan algoritma Marzullo dengan menggunakan referensi skala waktu UTC. Sebuah jaringan NTP biasanya mendapatkan perhitungan waktunya dari sumber waktu yang terpercaya seperti misalnya radio clock atau atomic clock yang terhubung dengan sebuah time server. Kemudian jaringan NTP ini akan mendistribusikan perhitungan waktu akurat ini ke dalam jaringan lain. Sebuah NTP client akan melakukan sinkronisasi dengan NTP server dalam sebuah interval pooling yang biasanya berkisar antara 64 sampai 1024 detik. Namun, waktu sinkronisasi ini bisa berubah secara dramatis bergantung kepada kondisi dan keadaan jaringan yang akan digunakannya.