APPLICATION LAYER
MATA KULIAH JARINGAN KOMPUTER
Disusun Oleh:
FAKULTAS TEKNIK
2023
2. APPLICATION LAYER
Application layer adalah antarmuka utama antara aplikasi yang berjalan pada sistem
akhir dan sumber daya jaringan apa pun yang memerlukan akses. Application Layer adalah
lapisan paling atas dari protokol model OSI (Open System Interconnections) yang
menyediakan antarmuka aktual antara aplikasi workstation dan jaringan. Application layer
berfungsi sebagai antarmuka dengan aplikasi dengan fungsionalitas jaringan, mengatur
bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan
kesalahan.
Aplikasi jaringan adalah raison d'être dari jaringan komputer—jika kita tidak dapat
membayangkan aplikasi yang berguna, tidak akan ada kebutuhan infrastruktur dan protokol
jaringan untuk mendukungnya. Sejak dimulainya Internet, banyak aplikasi yang berguna dan
menghibur memang telah dibuat. Aplikasi ini telah menjadi kekuatan pendorong di balik
kesuksesan Internet, memotivasi orang-orang di rumah, sekolah, pemerintah, dan bisnis untuk
menjadikan Internet sebagai bagian integral dari aktivitas sehari-hari mereka.
Aplikasi internet termasuk aplikasi berbasis teks klasik yang menjadi populer pada
tahun 1970-an dan 1980-an: email teks, akses jarak jauh ke komputer, transfer file, dan
newsgroup. Mereka termasuk aplikasi pembunuh pada pertengahan 1990-an, World Wide
Web, yang mencakup penjelajahan Web, pencarian, dan perdagangan elektronik. Itu termasuk
pesan instan dan berbagi file P2P, dua aplikasi pembunuh yang diperkenalkan pada akhir
milenium. Di milenium baru, aplikasi baru dan sangat menarik terus bermunculan, termasuk
voice over IP dan konferensi video seperti Skype, Facetime, dan Google Hangouts; video
buatan pengguna seperti YouTube dan film sesuai permintaan seperti Netflix; game online
multipemain seperti Second Life dan World of Warcraft. Selama periode yang sama, kita
telah melihat munculnya generasi baru aplikasi jejaring sosial—seperti Facebook, Instagram,
Twitter, dan WeChat—yang telah menciptakan jaringan manusia yang menarik di atas
jaringan atau router Internet dan tautan komunikasi. Dan baru-baru ini, seiring dengan
kedatangan smartphone, ada banyak sekali aplikasi seluler berbasis lokasi, termasuk aplikasi
check-in, kencan, dan peramalan lalu lintas jalan yang populer (seperti Yelp, Tinder, Waz,
dan Yik Yak). . Jelas, tidak ada perlambatan aplikasi Internet yang baru dan menarik.
Mungkin beberapa pembaca teks ini akan membuat aplikasi Internet pembunuh generasi
berikutnya! tidak ada perlambatan aplikasi Internet yang baru dan menarik. Mungkin
beberapa pembaca teks ini akan membuat aplikasi Internet pembunuh generasi berikutnya!
tidak ada perlambatan aplikasi Internet yang baru dan menarik. Mungkin beberapa pembaca
teks ini akan membuat aplikasi Internet pembunuh generasi berikutnya!
Dalam bagian ini kita mempelajari aspek konseptual dan implementasi aplikasi
jaringan. Kita mulai dengan mendefinisikan konsep lapisan aplikasi utama, termasuk layanan
jaringan yang dibutuhkan oleh aplikasi, klien dan server, proses, dan antarmuka lapisan
transport. Kami memeriksa beberapa aplikasi jaringan secara rinci, termasuk Web, email,
DNS, distribusi file peer-to-peer (P2P), dan streaming video. Kami kemudian membahas
pengembangan aplikasi jaringan, melalui TCP dan UDP. Secara khusus, kami mempelajari
antarmuka soket dan menelusuri beberapa aplikasi server-klien sederhana dengan Python.
Lapisan aplikasi adalah tempat yang sangat baik untuk memulai studi protokol kami.
Ini tanah yang akrab. Kami mengenal banyak aplikasi yang bergantung pada protokol yang
akan kami pelajari. Ini akan memberi kita pemahaman yang baik tentang semua protokol dan
akan memperkenalkan kita pada banyak masalah yang sama yang akan kita lihat lagi ketika
kita mempelajari protokol lapisan transportasi, jaringan, dan tautan.
Gambar 2.1 Komunikasi untuk aplikasi jaringan terjadi antara sistem akhir pada lapisan
aplikasi
Untuk mengidentifikasi proses penerima, dua informasi perlu ditentukan: (1) alamat host dan
(2) pengidentifikasi yang menentukan proses penerimaan di host tujuan. Di Internet, host
diidentifikasi oleh miliknya alamat IP. Untuk saat ini, yang perlu kita ketahui adalah bahwa
alamat IP adalah kuantitas 32-bit yang dapat kita anggap sebagai mengidentifikasi host secara
unik. Selain mengetahui alamat host tujuan pesan, proses pengiriman juga harus
mengidentifikasi proses penerima (lebih spesifik, soket penerima) yang berjalan di host.
Informasi ini diperlukan karena pada umumnya sebuah host dapat menjalankan banyak
aplikasi jaringan. Sebuah tujuan nomor pelabuhan melayani tujuan ini. Aplikasi populer telah
diberi nomor port tertentu. Misalnya, server Web diidentifikasi dengan nomor port 80. Proses
server email (menggunakan protokol SMTP) diidentifikasi dengan nomor port 25. Daftar
nomor port terkenal untuk semua protokol standar Internet dapat ditemukan di www.iana.org.
Kami akan memeriksa nomor port secara detail dibagian 3.
Gambar 2.4 Persyaratan aplikasi jaringan yang dipilih dari kedua proses tersebut.
Sambungan adalah sambungan full-duplex di mana dua proses dapat mengirim pesan satu
sama lain melalui sambungan pada waktu yang sama. Ketika aplikasi selesai mengirim pesan,
itu harus merobohkan koneksi. Di dalam bagian 3 kita akan membahas layanan berorientasi
koneksi secara detail dan memeriksa bagaimana penerapannya.
Layanan transfer data yang andal: Proses komunikasi dapat mengandalkan TCP
untuk mengirimkan semua data yang dikirim tanpa kesalahan dan dalam urutan yang benar.
Ketika satu sisi aplikasi melewati aliran byte ke soket, itu dapat mengandalkan TCP untuk
mengirimkan aliran byte yang sama ke soket penerima, tanpa byte yang hilang atau duplikat.
TCP juga mencakup mekanisme kontrol kemacetan, layanan untuk kesejahteraan
umum Internet daripada untuk keuntungan langsung dari proses komunikasi. Mekanisme
kontrol kongesti TCP membatasi proses pengiriman (klien atau server) ketika jaringan padat
antara pengirim dan penerima. Seperti yang akan kita lihat
FOKUS PADA KEAMANAN
MENGAMANKAN TCP
Baik TCP maupun UDP tidak menyediakan enkripsi apa pun—data yang diteruskan
proses pengiriman ke soketnya adalah data yang sama yang dikirimkan melalui jaringan ke
proses tujuan. Jadi, misalnya, jika proses pengiriman mengirimkan kata sandi dalam
teks-jelas (yaitu, tidak terenkripsi) ke soketnya, kata sandi teks-jelas akan melewati semua
tautan antara pengirim dan penerima, berpotensi diendus dan ditemukan di salah satu tautan
yang mengintervensi. Karena masalah privasi dan keamanan lainnya menjadi penting untuk
banyak aplikasi, komunitas Internet telah mengembangkan peningkatan untuk TCP, yang
disebut Lapisan Soket Aman (SSL). TCP-ditingkatkan-dengan-SSL tidak hanya melakukan
semua yang dilakukan TCP tradisional tetapi juga menyediakan layanan keamanan
proses-ke-proses yang penting, termasuk enkripsi, integritas data, dan autentikasi titik akhir.
Kami menekankan bahwa SSL bukanlah protokol transport Internet ketiga, pada tingkat yang
sama dengan TCP dan UDP, melainkan merupakan peningkatan dari TCP, dengan
peningkatan yang diterapkan di lapisan aplikasi. Secara khusus, jika sebuah aplikasi ingin
menggunakan layanan SSL, itu perlu menyertakan kode SSL (perpustakaan dan kelas yang
sudah ada dan sangat optimal) di sisi klien dan server aplikasi. SSL memiliki API soketnya
sendiri yang mirip dengan API socket TCP tradisional. Saat aplikasi menggunakan SSL,
proses pengiriman meneruskan data teks-jelas ke soket SSL; SSL di host pengirim kemudian
mengenkripsi data dan meneruskan data terenkripsi ke soket TCP. Data terenkripsi berjalan
melalui Internet ke soket TCP dalam proses penerimaan. Soket penerima meneruskan data
terenkripsi ke SSL, yang mendekripsi data. Terakhir, SSL meneruskan data teks-jelas melalui
socket SSL-nya ke proses penerimaan. Di dalam bagian 3, Kontrol kemacetan TCP juga
berupaya membatasi setiap koneksi TCP ke bagian bandwidth jaringannya yang adil.
Layanan UDP
UDP adalah protokol transport ringan tanpa embel-embel, menyediakan pelayanan
minimal. UDP tidak terhubung, jadi tidak ada jabat tangan sebelum kedua proses mulai
berkomunikasi. UDP menyediakan yang tidak dapat diandalkan layanan transfer data —
yaitu, ketika suatu proses mengirim pesan ke socket UDP, UDP tidak memberikan jaminan
bahwa pesan tersebut akan sampai ke proses penerima. Selain itu, pesan yang tiba di proses
penerimaan mungkin tiba tidak sesuai urutan.
UDP tidak menyertakan mekanisme kontrol kongesti, sehingga sisi pengirim UDP
dapat memompa data ke lapisan di bawahnya (lapisan jaringan) dengan kecepatan berapa pun
yang diinginkan. (Perhatikan, bagaimanapun, bahwa throughput end-to-end yang sebenarnya
mungkin kurang dari tingkat ini karena kapasitas transmisi yang terbatas dari link intervening
atau karena kemacetan).
Layanan yang Tidak Disediakan oleh Protokol Transport Internet
Kami telah mengatur layanan protokol transport dalam empat dimensi: transfer data
yang andal, throughput, pengaturan waktu, dan keamanan. Manakah dari layanan ini yang
disediakan oleh TCP dan UDP? Kami telah mencatat bahwa TCP menyediakan transfer data
end-to-end yang andal. Dan kita juga tahu bahwa TCP dapat dengan mudah ditingkatkan
pada lapisan aplikasi dengan SSL untuk memberikan layanan keamanan. Namun dalam
penjelasan singkat kami tentang TCP dan UDP, yang hilang secara mencolok adalah
penyebutan throughput atau jaminan waktu — layanan yang tidak disediakan oleh protokol
transport Internet saat ini. Apakah ini berarti aplikasi yang sensitif terhadap waktu seperti
telepon Internet tidak dapat berjalan di Internet saat ini? Jawabannya jelas tidak—Internet
telah menghosting aplikasi yang sensitif terhadap waktu selama bertahun-tahun. Aplikasi ini
sering bekerja dengan cukup baik karena mereka telah dirancang untuk mengatasi,
semaksimal mungkin, dengan kurangnya jaminan ini. Namun demikian, desain yang cerdas
memiliki keterbatasan ketika delay berlebihan, atau throughput end-to-end terbatas.
Singkatnya, Internet saat ini seringkali dapat memberikan layanan yang memuaskan untuk
aplikasi yang sensitif terhadap waktu, tetapi tidak dapat memberikan jaminan waktu atau
throughput apa pun.
Gambar 2.5 menunjukkan protokol transport yang digunakan oleh beberapa aplikasi
Internet populer. Kami melihat bahwa email, akses terminal jarak jauh, Web, dan transfer file
semuanya menggunakan TCP. Aplikasi ini memilih TCP terutama karena TCP menyediakan
transfer data yang andal, menjamin bahwa semua data pada akhirnya akan sampai ke
tujuannya. Karena aplikasi telepon Internet (seperti Skype) seringkali dapat mentolerir
beberapa kerugian tetapi memerlukan tingkat minimal agar efektif, pengembang aplikasi
telepon Internet biasanya lebih suka menjalankan aplikasi mereka melalui UDP, sehingga
menghindari mekanisme kontrol kemacetan TCP dan overhead paket. Tetapi karena banyak
firewall dikonfigurasi untuk memblokir (sebagian besar jenis) lalu lintas UDP, aplikasi
telepon Internet sering dirancang untuk menggunakan TCP sebagai cadangan jika komunikasi
UDP gagal.
Gambar 2.5 Aplikasi Internet populer, protokol lapisan aplikasinya, dan protokol transport
yang mendasarinya.
RANGKUMAN
Disini, kita telah mempelajari aspek konseptual dan implementasi aplikasi jaringan.
Belajar tentang arsitektur client-server di mana-mana yang diadopsi oleh banyak aplikasi
Internet dan melihat penggunaannya dalam protokol HTTP, SMTP, POP3, dan DNS. Setelah
mempelajari protokol tingkat aplikasi penting dan aplikasi terkait (Web, transfer file, email,
dan DNS) secara mendetail.
Kita telah belajar tentang arsitektur P2P dan bagaimana penggunaannya di berbagai
aplikasi. memeriksa bagaimana socket API dapat digunakan untuk membangun aplikasi
jaringan. Menelusuri penggunaan soket untuk layanan transportasi end-to-end berorientasi
koneksi (TCP) dan connectionless (UDP).
Di dalam Bagian 2.1 menjelaskan model layanan yang ditawarkan TCP dan UDP ke
aplikasi yang memanggilnya.
Di Bagian 2.7 menjalankan TCP dan UDP. Bagaimana TCP dan UDP menyediakan
model layanan ini. Misalnya bahwa TCP menyediakan layanan data yang andal, tetapi kita
tidak melakukannya.
Dari semua yang telah dipelajari dapat dirangkumkan menjadi seperti berikut:
1. Application layer adalah antarmuka utama antara aplikasi yang berjalan pada sistem
akhir dan sumber daya jaringan apa pun yang memerlukan akses.
2. Application layer berfungsi sebagai antarmuka dengan aplikasi dengan fungsionalitas
jaringan, mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian
membuat pesan-pesan kesalahan.
3. Layanan dalam application layer adalah Network Virtual Terminal, FTAM,
Addressing, Mail Services, Directory Services, Authentication.
4. Arsitektur aplikasi jaringan mencakup pola desain dan teknik-teknik yang digunakan
untuk memastikan aplikasi dapat beroperasi dengan efektif dan efisien pada jaringan
yang berbeda-beda.
5. Ada 3 jenis arsitektur aplikasi jaringan yang umum digunakan, yaitu client-server,
peer-to-peer, dan SOA.
6. Proses komunikasi dalam jaringan aplikasi adalah proses pada dua sistem akhir yang
berbeda berkomunikasi satu sama lain dengan bertukar pesan di jaringan komputer.
7. Soket adalah antarmuka antara lapisan aplikasi dan lapisan transport di dalam host.
8. Alamat soket terdiri dari alamat IP (host) dan nomor port tujuan.
9. Transport services application terdiri dari Reliable Data Transfer, Throughput,
Timing, Security.
10. Protokol application layer terdiri dari DNS, FTP, DHCP, HTTP, SMTP/POP,
TELNET, SNMP, NFS.