LAYER APLIKASI

Application Layer merupakan layer teratas dari standar TCP/IP maupun OSI. Namun pada layer Aplikasi pada TCP/IP dibagi menjadi tiga layer oleh OSI, yaitu layer Sesi, Presentasi dan Aplikasi. Secara umum layer aplikasi pada TCP/IP bertanggung jawab pada aplikasi yang digunakan pada jaringan (software). Namun fungsi ini dapat dikategorikan seperti yang telah dilakukan oleh badan ISO pada standar OSI.
Ketika kita mem-brows halaman web, layer aplikasi mendefinisikan request yang kita lakukan. Misal, request yang kita lakukan adalah GET untuk mendapatkan halaman web. Layer aplikasi kemudian menambahkan informasi yang diperlukan, misal protokol (pada layer aplikasi) yang digunakan oleh penerima agar dapat mengerti data yang diterima. Pada layer presentasi data akan diperiksa apakah data tersebu
t perlu dienkripsi atau data tersebut perlu diubah dulu ke dalam bentuk lain. Misal, ketika kita login ke sebuah web, maka kita akan memasukkan username dan password kita. Agar data tersebut tidak terlalu rentan terhadap aksi sniffing, maka data tersebut akan dienkripsi pada layer ini. Contoh lain adalah ketika mengirimkan sebuah e-mail. Maka email kita akan dienkripsi, karena email merupakan sesuatu yang bersifat private. Sebelum diubah ke dalam bentuk segmen-segmen pada layer transport, pada layer sesi akan diperiksa apakah aplikasi merequest suatu informasi dan memverifikasi layanan yang direquest itu pada server. Layer ini juga bertanggung jawab untuk mengkoordinasi antar sistem-sistem dan menentukan tipe komuniskasinya (simplex, half duplex, full duplex) . Mudahnya, layer sesi menjaga terpisahnya data dari suatu aplikasi dengan data dari aplikasi yang lain. Setelah melewati layer ini barulah data diubah menjadi segmen-segmen dan penentuan bagaimana data ditransmisikan.
Tidak jauh berbeda proses yang terjadi ketika kita menerima data. Setelah melewati transport layer yang menggabungkan segmen-segmen menjadi data hingga selesai, layer sesi akan membuang header-header yang digunakan oleh layer di bawahnya untuk menyampaikan data lalu mempersiapkan data tersebut dalam bentuk utuh. Jika pada data tersebut terdapat informasi yang memberitahukan bahwa data tersebut terenkripsi, maka layer presentasi akan menggunakan kata kunci yang dibawa oleh data untuk mendekripsikannya kembali. Kata kunci ini disertakan oleh pengirim ketika sebuah data dienkripsi. Layer presentasi juga bertanggung jawab terhapap tipe dan ekstensi data tersebut. Layer aplikasi kemudian mengkomunikasikannya dengan software yang digunakan oleh user untuk menampilkan data tersebut.
Setiap data yang akan dilewatkan ditambahkan header setiap turun 1 layer. Namun, pada pemrosesan layer 5, 6 dan 7 (OSI) terkadang tidak diperlukan adanya header. Ini dikarenakan tidak ada informasi baru yang perlu diproses. misal jika hanya request halaman web, maka tidak ada yang perlu dienrkipsi, sehingga layer presentasi tidak perlu mengirim kata kunci.
Ada banyak protokol pada layer aplikasi TCP/IP, namun yang di sini hanya akan dibahas beberapa protokol yang sering digunakan.
o    DHCP (Dynamic Host Control Protocol)     
1.     Client mengirimkan broadcast DHCPDISKCOVER untuk mencari DHCP server
2.     DHCP server yang tersedia mengirimkan DHCPOFFER serta IP dan waktu penyewaan
        (default lease time dan max lease time).
3.     Client yang menerima penawaran IP dari DHCP server mengirimkan DHCPREQUEST.
4.     Terakhir, DHCP server mengirimkan DHCPPACK.
DHCP merupakan protokol yang digunakan untuk pemberian alamat IP secara otomatis pada suatu jaringan. Pemberian alamat IP otomatis ini dilakukan oleh DHCP server. Pada DHCP server kita dapat mengatur alamat network dari suatu jaringan dan range IP yang akan diberikan oleh DHCP server tersebut.
Sebuah komputer ketika dihidupkan akan mencek konfigurasi interface yang ada. Jika ternyata interface-nya dikonfigurasi dynamic maka komputer tersebut akan mencari DHCP server di dalam jaringan dengan mem-broadcast seluruh isi jaringan. Jika ada salah satu DHCP server yang mendengar permintaan komputer tersebut, maka DHCP server tersebut akan menjawab, lalu menawarkan beberapa IP address yang dapat digunakan oleh komputer tersebut. Lalu komputer tersebut memilih salah satu yang IP address yang disediakan oleh DHCP server dan meminta persetujuan dari DHCP server. DHCP server kemudian menyetujuinya lalu memberikan IP address tersebut kepada komputer tersebut.
Secara teknis prosesnya adalah sebagai berikut:

Pembaruan Alamat IP
Sebenarnya ketika DHCP Server menyewakan IP ke komputer client, DHCP Server akan mengatakan, OK, saya akan menyewakan IP ini untuk Anda selama sekian hari. Agar komputer client bisa tetap aktif dan berkomunikasi dalam jaringan, maka penyewaan IP perlu dilakukan penyewaan kembali sebelum masa akhir penyewaan IP habis.
Komputer client akan secara otomatis memperbaharui penyewaan IP ketika mencapai 50% dari masa waktu penyewaan dengan mengirimkan DHCPREQUEST ke DHCP Server. Jadi misalkan saja penyewaan IP adalah 8 hari, maka pada hari ke 4, komputer client akan mencoba memperbaharui penyewaan IP ini secara otomatis. Andaikan saja pada saat penyewaan mencapai 50% dan penyewaan IP kembali gagal dilakukan karena DHCP server sedang diperbaiki, maka komputer secara otomatis akan mencoba lagi memperbaharui penyewaan IP pada saat masa sewa mencapai 87.5%. Bagaimana jika komputer client tetap tidak dapat memperbaharui masa penyewaan IP tersebut? Maka tidak seperti hukum di Indonesia yang bisa seenaknya dimainkan, komputer client harus melepaskan IP yang telah disewa dan mencari DHCP server yang lain atau tidak mendapatkan alamat IP yang baru.
o    DNS (Domain Name Server)
DNS adalah protokol yang digunakan untuk menterjemahkan sebuah alamat situs menjadi alamat IP. Server yang menyediakan layanan ini disebut DNS server. DNS server dapat digambarkan seperti sebuah buku telepon pada HP. Ketika kita ingin menelpon seseorang, kita tidak perlu hafal nomor tujuan, yang kita perlukan hanyalah nama yang akan dituju sesuai dengan buku telpon. Ini merupakan salah satu yang melatarbelakangi adanya protokol DNS, karena pada dasarnya manusia lebih mudah mengingat nama daripada angka-angka, sedangkan komputer hanya mengerti alamat-alamat IP saja. Saat kita mengakses alamat sebuah situs web, sebenarnya yang kita akses adalah alamat IP public dari sebuah host. Untuk mendapatkan alamat IP tujuan, digunakan DNS server untuk menterjemahkannya.
Pertama-tama kita melakukan request untuk mengakses alamat sebuah web, kemudian pesan itu kita kirim kepada switch. Switch kemudian membroadcast pesan tersebut ke semua jaringan. Jika dalam jaringan tersebut terdapat DNS server, maka DNS server tersebut melihat ke dalam tabelnya apakah alamat web yang diminta ada dalam tabelnya. Jika ada, dia akan mengirimkan pesan balasan kepada switch berisi alamat IP yang diminta. Switch kemudian mengirimkannya kepada host yang melakukan request tadi. Namun, jika dalam jaringan ataupun dalam DNS server tadi tidak ditemukan alamat web yang dituju, maka permintaan ini akan dilempar kepada router atau gateway untuk mencarikan alamat web yang dimaksud pada jaringan yang lain. Jika masih belum ditemukan maka permintaan ini akan terus dilakukan hingga mencapai jaringan internet. Pada ISP biasanya terdapat DNS server yang mencatat semua domain dan IP yang pernah diakses oleh pengguna ISP. Jika pada DNS server ISP tidak ditemukan, maka permintaan tersebut diteruskan ke gateway sebuah negara. Jika masih belum ditemukan, maka request diteruskan ke root DNS server yang mengurusi masalah manajemen IP dan DNS yang ada di Amerika Serikat (IANA). IANA tidak akan memberitahu alamat IP dari domain yang dimaksud. Ia hanya menunjuk salah satu dari 4 server besar yang menghandle 4 bagian dunia untuk ditanyai (APNIC – untuk Asia Fasifik). Server yang ditunjuki tadi kemudian menunjuki DNS server lokal untuk ditanyai. Barulah pada DNS server lokal ini alamat web tersebut dicari. Setelah ditemukan barulah alamat IP tersebut dikirimkan kembali kepada host yang melakukan request. Host ini kemudian menanyai jaringan lagi tentang alamat IP. Switch kemudian melihat pada tabel yang dia punyai, jika tidak ada switch akan melakukan request lagi ke jaringan atas dan seterusnya.
o    HTTP (Hyper Text Transfer Protocol)
Protokol HTTP timbul seiring dengan berkembangnya teknologi World Wide Web (WWW) yang berasal dari Pusat Penelitian Nuklir Eropa (CERN) pada Maret 1989. Kurang lebih 18 bulan kemudian, prototipe berbasis teks pertama berfungsi. Pada Desember 1991 peragaan publik pertama dilakukan di San Antonio, Texas. Pada Februari 1993, antarmuka pengguna grafik pertama yang disebut Mosaic diluncurkan. Mosaic menjadi begitu populer sehingga si pengembang yang bekerja di Pusat Aplikasi Super Komputing Nasional (NCSA) keluar dari lembaga itu dan membentuk perusahaannya sendiri yang disebut Netscape. Pada tahun 1994 Konsorium WWW didirikan (W3C) untuk mengembangkan standar dan mendorong peran serta di antara situs internet. Sejak awal penggunaannya pada 1989, web ini telah berubah secara dramatis dan sedang terus meluas dan berkembang.
HTTP merupakan protokol yang digunakan untuk melakukan request (HTTP GET) halaman web pada sebuah web server. Alamat yang kita ketikkan disebut URL (Uniform Resource Locator). Sebuah klien HTTP (seperti web browser atau robot dan lain sebagainya), biasanya memulai permintaan dengan membuat hubungan ke port tertentu di sebuah server Web hosting tertentu (biasanya port 80). Klien yang mengirimkan permintaan HTTP juga dikenal dengan user agent. Server yang meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai origin server. Di antara user agent dan juga origin server, bisa saja ada penghubung, seperti halnya proxy, gateway, dan juga tunnel.
Seperti yang telah dibahas di atas, ketika kita mengakses web sebenarnya yang kita akses adalah alamat IP. Ketika host yang kita tuju mendapat pesan request dari kita, dia akan memabalas request tersebut dengan mengirimkan halaman web default (default web page/home page). Nama file yang digunakan untuk homepage ada beberapa macam, tergantung konfigurasinya. Namun, nama yang umum adalah index.html, index.php, home.html, dll. Jika dalam web server tersebut terdapat beberapa situs, dia akan mencari web sesuai dengan domain yang kita ketikkan.
Apa yang dikirimkan oleh web server sebenarnya hanya berupa teks (ASCII) yang pada web browser diterjemahkan menjadi seperti yang kita lihat ketika mengakses sebuah situs. Teks-teks tersebut memberi tahu web browser apa saja yang harus ditampilkan. Teks tersebut juga berisi alamat media yang harus ditampilkan oleh web browser seperti alamat sebuah gambar, audio, dan media-media lain. Dapat dikatakan web browser sebagai interpreter untuk pemrograman web.
o    SMTP (Simple Mail Transfer Protocol) dan POP (Post Office Protocol)
TCP/IP memasukkan ribuan protokol dan standar berbeda, yang ditetapkan dalam dokumen yang disebut RFC (Request For Comments). Ada tiga protokol umum yang digunakan, yaitu SMTP, POP, dan IMF (Internet Message Format). Namun di sini hanya akan dibahas dua protokol saja. SMTP merupakan protokol yang digunakan ketika kita mengirim dan menerima email. Prinsip kerja SMTP dapat diuraikan sebagai berikut : pertama-tama pengirim mengidentifikasikan dirinya ke SMTP server. Setelah itu, SMTP server menjawab pesan tersebut (ACK / acknowledgement). Kemudian pengirim menyatakan bahwa dia ingin mengirim email kepada SMTP server, lalu SMTP server menjawab ACK lagi. Namun sebelum mengirim email, pengirim mengindentifikasi alamat penerima lagi. Jika SMTP server menjawab ACK lagi, barulah email dikirim.
Ketika email dikirim, sebenarnya yang dikirim tidak hanya teks yang diketikkan oleh pengirim saja, tetapi ada header yang diikut sertakan. Header ini berisi penerima, pengirim, tanggal, waktu, cc list dan lain-lain (ini diatur oleh IMF).
Ketika mengirim sebuah email, kita tidak langsung mengirim email tersebut kepada penerima. Awalnya kita mengirim email kita ke mail server sesuai dengan akun email yang kita punya. Sebuah penyedia layanan email tentunya mempunyai beberapa mail server yang meng-handle beberapa daerahnya masing-masing. Mail server yang kita untuk mengirim email kita kemudian melihat alamat tujuan. Jika masih dalam satu penyedia layanan, maka mail server akan melihat lagi alamat tersebut. Jika diketahui bahwa penerima berada di daerah lain (misal Arab Saudi), maka email tersebut dikirim ke mail server yang menghandle negara Arab Saudi untuk penyedia layanan yang sama. Namun jika penyedia layanan email yang dituju berbeda, mail server yang menerima email kita akan mengirimkan email tersebut ke mail server penyedia layanan yang dimaksud (yang terdekat dengannnya). Proses yang sama terjadi pada mail server penyedia layanan email yang lain.
Jika sudah sampai ke mail server terdekat dengan penerima sesuai dengan akunnya, email tersebut akan disimpan dalam diskdrive mail tersebut. Jadi, untuk memeriksa emailnya penerima cukup hanya mengakses akunnya pada mail server terdekat.
Untuk mengakses akunnya penerima harus melewati protokol yang disebut POP. POP memungkinkan beberapa opsi untuk otentikasi, dan beberapa fitur berguna lainnya untuk klien email – fitur-fitur yang tidak dimasukkan dalam SMTP. Salah satu fitur POP yang penting adalah otentikasi. Untuk dapat mengakses akunnya penerima harus menggunakan username dan password. Proses yang terjadi dapat digambarkan sebagai berikut : ketika penerima meminta untuk mengakses akunnya, maka mail server meminta username dan password penerima. Penerima kemudian mengirimkan username dan password-nya. Mail server kemudian mencocokkannya pada database, jika sesuai maka penerima dapat mengakses akunnya.
Protokol lain yang lebih baik dari POP adalah IMAP (Interactive Mail Access Protocol). Jika dengan POP email yang sudah diakses akan dihapus oleh mail server dari diskdrive-nya, maka pada protokol IMAP email sudah diakses tidak akan dihapus kecuali user menghapusnya dengan sengaja.
o    FTP (File Transfer Protocol) dan TFTP (Trivial FTP)
Protokol merupakan salah protokol tertua yang pernah ada. FTP merupakan protokol yang paling populer pada internet untuk mentransfer file di antara sistem yang berlainan. FTP sebelumya merupakan bagian dari protokol ARPANET dan telah digunakan sebelum IP dan TCP dikembangkan. Seteleh protokol seperti IP dikembangkan FTP kemudian dirombak ulang untuk disesuaikan agar dapat beroperasi bersama protokol IP. Sebelum elemen-elemen grafis diperkenalkan, kurang lebih sepertiga dari seluruh trafik internet adalah trafik yang terkait dengan FTP.
FTP merupakan protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. Sebuah komputer yang digunakan untuk menyimpan file-file agar dapat diakses disebut FTP server. Proses yang terjadi saat kita ingin mendownload sebuah file dari FTP server tidak jauh berbeda dengan proses yang terjadi pada saat kita akan mengakses email dari mail server.
Pertama-tama client mengindentifikasikan dirinya kepada FTP server dengan mengirimkan username dan password. (FTP USER & FTP PASS). FTP server kemudian memvalidasi user dan password tersebut. Jika valid, FTP server mengirimkan pesan FTP OK yang berarti bahwa client sudah diotentikasi. Client kemudian mengirimkan perintah PUT, SEND, dan MPUT (untuk mengupload file) atau GET dan MGET (untuk mendownload file). FTP server kemudian membalas dengan pesan FTP OK. Barulah proses meng-copy file dilakukan (upload atau download). Perintah PUT dan SEND hampir sama fungsinya yaitu mentransfer sebuah file dari client ke server. MPUT berfungsi untuk memindahkan beberapa file sekaligus. Begitu juga dengan GET dan MGET.
Sekarang FTP sudah mendukung akses melewati web browser. Namun, hal-hal yang dapat dilakukan hanya terbatas pada download file. Kita tidak dapat mengupload file kecuali kita login ke dalam FTP sever tersebut.
Karena FTP menggunakan protokol TCP untuk koneksi, maka 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
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 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.
TFTP sama dengan FTP, yaitu protokol untuk transfer file. Perbedaan keduanya adalah protokol yang digunakan pada layer transport. Jika FTP menggunakan TCP, maka TFTP menggunakan protokol UDP. Diketahui bahwa TCP merupakan protokol yang berorientasi koneksi yang handal. Sedangkan UDP tidak. TFTP tidak memungkinkan untuk melakukan otentikasi, isi direktori di tempat lain tidak dapat ditampilkan, dan hanya transfer file saja yang didukung untuk file-file yang memungkinkan akses global. Sebagai contoh adalah komputer yang booting lewat jaringan dengan BOOTP. TFTP dapat menyediakan tipe layanan transfer file ini dengan sangat bagus tanpa memerlukan banyak konfigurasi.
o    TELNET
TELNET adalah protokol untuk remote login terminal-oriented, seperti yang telah didokumentasikan pada RFC 854. TELNET dioperasikan di atas protokol TCP. Agar dapat menggunkan koneksi telnet, maka telnet daemon (telnetd) harus dijalankan. Biasanya telnet menggunakan port 23 untuk koneksinya. Jika pada host yang akan diremote port 23 tidak dibuka maka kita tidak bisa menggunakan koneksi ini. NVT (Network Virtual Terminal) digunakan untuk remote jarak jauh ini (di sisi klien). Perintah-perintah yang diketikkan pada terminal diterjemahkan ke 8 bit data untuk menggantikan 7 bit data ASCII. Sayangnya, semua perintah TELNET yang dikirimkan melalui jaringan tidak dienkripsi, sehingga sangat rawan akan sniffing. Untuk mengatasi hal ini dibuatlah SSH (Secure Shell) yang berjalan di port 22.
Telnet mulai di-develop tahun 1969 (RFC 15) dan dikembangkan lagi sehingga menjadi salah satu protokol yang digunakan pada TCP/IP suite.
o    RTP (Reliable/Real-Time Transport Protocol)
RTP merupakan protokol yang digunakan untuk melakukan streaming sebuah data. Protokol ini biasa digunakan untuk streaming audio dan video di internet (RFC 1889 & 3550). RTP juga digunakan untuk video conference. Karena protokol ini mengutamakan ke-reliable-an data, maka koneksi yang digunakan diharapkan cepat. Untuk koneksi RTP menggunakan protokol UDP (User datagram Protocol).
Pertama-tama host A melakukan stream video ke host B. Seperti transfer data biasanya, data yang dikirimkan akan dipecah menjadi beberapa frame atau paket yang diberi nomor urut (pada header) sehingga video dapat dimainkan dengan baik. Tidak seperti menggunakan TCP, UDP tidak mengharuskan untuk mengumpulkan semua data dulu untuk digabung. Data kemudian dikirim sesuai dengan urutannya. Ketika sebuah paket lost di tengah jalan lalu data dengan nomor urut setelahnya mendahuluinya, maka RTP akan menunggu paket tersebut. Paket-paket yang tiba terlebih dahulu kemudian disimpan dibuffer untuk disesuaikan setelah paket yang ditunggu datang.
Fungsi dari Protocol RTP secara spesifik adalah sebagai berikut :
- Segmentasi / reassembly dilakukan oleh UDP (atau serupa)
- Resequencing (jika diperlukan)
- Deteksi kehilangan kualitas estimasi, pemulihan
- Intra-media sinkronisasi: menghapus delay jitter melalui playout penyangga
- Intra-media sinkronisasi: Drifting sampling jam
- Sinkronisasi antar-media (lip sync antara audio dan video)
- Kualitas pelayanan dari umpan balik dan tingkat adaptasi
- Identifikasi sumber
Namun perlu diketahui, bahwa dalam men-setup koneksi (sebelum streaming) RTP menggunakan protokol TCP.

No comments:

Post a Comment

KOMENTAR ANDA AKAN SANGAT KAMI HARGAI
MAKA BERKOMENTARLAH DEMI KEMAJUAN BLOG INI