Sunday, May 28, 2017

APPLICATION LAYER

APPLICATION LAYER
 1. Peranan Application Layer

 APPLICATION LAYER
Application Layer, Layer tujuh, adalah lapisan paling atas baik di OSI maupun di TCP / IP model. Application layer adalah lapisan yang menyediakan interface antara aplikasi yang digunakan untuk berkomunikasi dan jaringan yang mendasarinya di mana pesan akan dikirim. Protokol Application Layer digunakan untuk pertukaran data antara program yang berjalan pada source dan host tujuan. Ada banyak protokol Application Layer dan protokol terus dikembangkan. Application layer berada pada ujung protocol stack TCP/IP. Application layer pada TCP/IP adalah kumpulan dari beberapa komponen software yang mengirim dan menerima informasi dari port TCP dan UDP. Beberapa komponen pada application layer hanya sebagai alat untuk pengumpul informasi konfigurasi network dan beberapa lainnya
boleh jadi adalah sebuah user interface atau Application Program Interface (API) yang mendukung desktop operating environment.
OSI dan TCP/IP Model
Fungsi yang terkait dengan protokol Application Layer jaringan memungkinkan manusia untuk antarmuka dengan jaringan data yang mendasarinya. Ketika kita membuka web browser atau jendela instant messaging (IM), aplikasi dimulai, dan program ini dimasukkan ke dalam perangkat memori di mana ia dieksekusi. Setiap program yang dieksekusi dimuat pada perangkat yang disebut sebagai suatu proses. Dalam Application Layer, ada dua bentuk program perangkat lunak atau proses yang menyediakan akses ke jaringan: aplikasi dan layanan.
Application Layer menggunakan protokol yang diimplementasikan dalam aplikasi dan layanan. Sedangkan aplikasi menyediakan orang dengan cara untuk membuat pesan dan layanan application layer membentuk sebuah antarmuka untuk jaringan, protokol menyediakan aturan dan format yang mengatur bagaimana data diperlakukan. Ketiga komponen dapat digunakan oleh program executable tunggal dan bahkan dapat menggunakan nama yang sama. Misalnya, ketika membahas "Telnet" kita bisa mengacu pada aplikasi, layanan, atau protokol.
Dalam model OSI, aplikasi yang berinteraksi langsung dengan orang dianggap berada di atas tumpukan, seperti masyarakat sendiri. Seperti semua lapisan dalam model OSI, Application Layer bergantung pada fungsi dari lapisan bawah untuk menyelesaikan proses komunikasi. Dalam Application Layer, protokol menentukan pesan apa yang dipertukarkan antara host sumber dan tujuan, sintaks dari perintah kontrol, jenis dan format data yang dikirim, dan metode yang sesuai untuk pemberitahuan kesalahan dan pemulihan.


Protokol Application Layer digunakan oleh kedua perangkat sumber dan tujuan selama sesi komunikasi. Agar komunikasi berhasil, protokol Application Layer diimplementasikan pada host sumber dan tujuan harus cocok. Protokol menentukan bagaimana data di dalam pesan sudah terstruktur dan jenis pesan yang dikirim antara sumber dan tujuan. Pesan-pesan ini dapat permintaan untuk layanan, pengakuan, pesan data, pesan status, atau pesan kesalahan. Protokol juga mendefinisikan dialog pesan, memastikan bahwa pesan yang dikirimkan adalah dipenuhi oleh respon yang diharapkan dan jasa yang benar dipanggil ketika terjadi transfer data.
Aplikasi dan layanan juga dapat menggunakan beberapa protokol dalam perjalanan percakapan tunggal. Salah satu protokol mungkin menetapkan bagaimana untuk melakukan sambungan jaringan dan lain menggambarkan proses untuk transfer data bila pesan dilewatkan ke lapisan berikutnya yang lebih rendah.
Application Layer merupakan salah satu layer dalam OSI Layer model. Layer ini termasuk ke dalam kategori upper layer atau layer yang berinteraksi dekat dengan pengguna. Secara urutan, layer ini adalah layer yang berada di urutan paling atas, di atas Presentation Layer.
Secara umum layer ini menangani user interface. Lebih spesifik, fungsi-fungsi yang ditangani layer ini adalah:

1. Sebagai layer yang digunakan aplikasi, terutama yang dirancang untuk berjalan di atas jaringan.
2. Membuka peluang akses ke layanan jaringan yang mendukung aplikasi
3. Merepresentasikan layanan yang secara langsung mendukung applikasi user
4. Menangani akses jaringan, pengontrolan alur, dan recovery error

Beberapa protokol yang menggunakan layer ini adalah:
1. DNS (Domain Name Service)
2. FTP (File Transfer protocol)
3. TFTP (Trivial File Transfer Protocol)
4. BOOTP (BOOTstrap Protocol)
5. SNMP (Simple Network Management Protocol)
6. RLOGIN
7. SMTP (Simple Mail Transfer Protocol)
8. MIME
9. NFS (Netfork File System)
10. FINGER

11. TELNET 


2. Penyediaan Layanan di internet dan protocol
  
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras. Protocol digunakan untuk menentukan jenis layanan yang akan dilakukan pada internet.

TCP/IP (singkatan dari Transmission Control Protocol/Internet 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

Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamatan yang sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di Internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen.

 UDP ( User Datagram Protokol)
UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP. Protokol ini didefinisikan dalam RFC 768.

Domain Name System (DNS)
Domain Name System (DNS) adalah distribute database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang mengunakan TCP/IP (Transmission Control Protocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address.

Point-to-Point Protocol

Point-to-Point Protocol (sering disingkat menjadi PPP) adalah sebuah protokol enkapsulasi paket jaringan yang banyak digunakan pada wide area network (WAN). Protokol ini merupakan standar industri yang berjalan pada lapisan data-link dan dikembangkan pada awal tahun 1990-an sebagai respons terhadap masalah-masalah yang terjadi pada protokol Serial Line Internet Protocol (SLIP), yang hanya mendukung pengalamatan IP statis kepada para kliennya. Dibandingkan dengan pendahulunya (SLIP), PPP jauh lebih baik, mengingat kerja protokol ini lebih cepat, menawarkan koreksi kesalahan, dan negosiasi sesi secara dinamis tanpa adanya intervensi dari pengguna. Selain itu, protokol ini juga mendukung banyak protokol-protokol jaringan secara simultan. PPP didefinisikan pada RFC 1661 dan RFC 1662.

Serial Line Internet Protocol

Serial Line Internet Protocol dianggap berkaitan erat dengan pengertian berikut
Disingkat dengan SLIP. Sebuah protokol yang memungkinkan pemindahan data IP melalui saluran telepon. Alat bantu lainnya dalam SLIP adalah PPP yang mendeteksi kesalahan dan konfigurasi. Sistem ini memerlukan satu komputer server sebagai penampungnya, dan secara perlahan-lahan akan digantikan oleh standar PPP yang memiliki kecepatan proses lebih tinggi.

 Internet Control Message Protocol (ICMP) 

adalah salah satu protokol inti dari keluarga. 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. protokol internet. ICMP utamanya digunakan oleh sistem operasi komputer jaringan untuk mengirim pesan kesalahan yang menyatakan, sebagai contoh, bahwa komputer tujuan tidak bisa dijangkau.

POP3 (Post Office Protocol)
POP3 adalah kepanjangan dari Post Office Protocol version 3, yakni protokol yang digunakan untuk mengambil email dari email server. Protokol POP3 dibuat karena desain dari sistem email yang mengharuskan adanya email server yang menampung email untuk sementara sampai email tersebut diambil oleh penerima yang berhak. Kehadiran email server ini disebabkan kenyataan hanya sebagian kecil dari komputer penerima email yang terus-menerus melakukan koneksi ke jaringan internet.

IMAP (Internet Message Access Protocol)

 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.

 SMTP (Simple Mail Transfer Protocol)

adalah suatu  protokol yang umum digunakan untuk pengiriman surat elektronik atau email di Internet. Protokol ini gunakan untuk mengirimkan data dari komputer pengirim surat elektronik ke server surat elektronik penerima.

HTTP (Hypertext Transfer Protocol)

HTTP (Hypertext Transfer Protocol) suatu protokol yang digunakan oleh WWW (World Wide Web). HTTP mendefinisikan bagaimana suatu pesan bisa diformat dan dikirimkan dari server ke client. HTTP juga mengatur aksi-aksi apa saja yang harus dilakukan oleh web server dan juga web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini.

Contohnya bila kita mengetikkan suatu alamat atau URL pada internet browser maka web browser akan mengirimkan perintah HTTP ke web server. Web server kemudian akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser. Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada kita.

HTTPS 
HTTPS adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web. Ditemukan oleh Netscape Communications Corporation untuk menyediakan autentikasi dan komunikasi tersandi dan penggunaan dalam komersi elektris.
Selain menggunakan komunikasi plain text, HTTPS menyandikan data sesi menggunakan protokol SSL (Secure Socket layer) atau protokol TLS (Transport Layer Security). Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port HTTPS adalah 443.

SSH (Sucure Shell)

SSH adalah protocol jaringan yang memungkinkan pertukaran data secara aman antara dua komputer. SSH dapat digunakan untuk mengendalikan komputer dari jarak jauh mengirim file, membuat Tunnel yang terrenkripsi dan lain-lain. Protocol ini mempunyai kelebihan disbanding protocol yang sejenis seperti Telnet, FTP, Danrsh, karena SSH memiliki system Otentikasi,Otorisasi, dan ekripsinya sendiri. Dengan begitu keamanan sebuah sesi komunikasi melalui bantuan SSH ini menjadi lebih terjamin. SSH memang lebih aman dibandingkan dengan protocol sejenis, tetapi protocol SSH tatap rentan terhadap beberapa jenis serangan tertentu. Pada umumnya serangan ini ditunjukan Pada SSH versi pertama (SSH-1) yang memang memiliki tingkat keamanan yang lebih lemah daripada SSH versi kedua (SSH-2). Salah satu serangan pada SSH versi pertama adalah serangan MAN IN THE MIDDLE pada saat pertukaran kunci. Protocol SSH serta algoritma yang digunakan pada kedua versi SSH, lalu serangan-serangan yang terjadi pada SSH dan bagaimana SSH mengatasinya. Untuk meningkatkan keamanan pada protocol SSH dapat dilakukan dengan cara menggunakan kartu Kriptografi untuk autentifkasi.

Telnet (Telecommunication network)

 Adalah sebuah protokol jaringan yang digunakan di koneksi Internet atau Local Area Network. TELNET dikembangkan pada 1969 dan distandarisasi sebagai IETF STD 8, salah satu standar Internet pertama. TELNET memiliki beberapa keterbatasan yang dianggap sebagai risiko keamanan.

 FTP ( File Transfer Protocol )

FTP ( File Transfer Protocol ) adalah sebuah protocol internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) computer antar mesin-mesin dalam sebuah internetwork. FTP atau protocol Transmission Control Protocol (TCP) untuk komunikasi data antara klien dan server, sehingga diantara kedua komponen tersebut akan dibuatlah sebuah sesi komunikasi sebelum transfer data dimulai. FTP hanya menggunakan metode autentikasi standar, yakni menggunakan User name dan paswordnya yang dikirim dalam bentuk tidak terenkripsi. Pengguana terdaftar dapat menggunakan username dan password-nya untuk mengakses ,men-dawnload ,dan meng- updlot berkas- berkas yang ia kehenaki. Umumnya, para pengguna daftar memiliki akses penuh terdapat berapa direkotri , sehingga mereka dapat berkas , memuat dikotri dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login,yakni dengan menggunakan nama pengguna anonymous & password yang diisi dengan menggunakan alamat e-mail. 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.


LDAP
LDAP (Lightweight Directory Access Protocol) adalah protokol perangkat lunak untuk memungkinkan semua orang mencari resource organisasi, perorangan dan lainnya, seperti file atau printer di dalam jaringan baik di internet atau intranet. Protokol LDAP membentuk sebuah direktori yang berisi hirarki pohon yang memiliki cabang, mulai dari negara (countries), organisasi, departemen sampai dengan perorangan. Dengan menggunakan LDAP, seseorang dapat mencari informasi mengenai orang lain tanpa mengetahui lokasi orang yang akan dicari itu.

SSL (Secure Socket Layer)

SSL (Secure Socket Layer) adalah arguably internet yang paling banyak digunakan untuk enkripsi. Ditambah lagi, SSL sigunakan tidak hanya keamanan koneksi web, tetapi untuk berbagai aplikasi yang memerlukan enkripsi jaringan end-to-end.
Secure Sockets Layer (SSL) merupakan sistem yang digunakan untuk mengenkripsi
pengiriman informasi pada internet, sehingga data dapat dikirim dengan aman. Protokol SSL mengatur keamanan dan integritas menggunakan enkripsi, autentikasi, dan kode autentikasi pesan. SSL protocol menyedian privasi komunikasi di internet. SSL tidak mendukung fileencryption, access-control, atau proteksi virus, jadi SSL tidak dapat membantu mengatur data sensitif setelah dan sebelum pengiriman yang aman.
Protokol SSL terdiri dari dua sub-protokol: SSL record protocol dan SSL handshake
protocol. SSL record protocol mendefinisikan format yang digunakan untuk mentransmisikan data. Sedangkan SSL handshake protocol melibatkan SSL record protocol untuk menukarkan serangkaian pesan antara SSL enabled server dan SSL enable client ketika keduanya pertama kali melakukan koneksi SSL.

3. Paradigma Jaringan computer pada Application Layer
·  Client server
·  Peer to Peer (P2P)
·  Campuran
The Client/Server model
Dalam klien / server model, perangkat yang meminta informasi disebut klien dan perangkat menanggapi permintaan disebut server. Client dan server proses berada dalam Application Layer. Klien mulai pertukaran dengan meminta data dari server, yang merespon dengan mengirimkan satu atau lebih aliran data ke klien. Protokol Application Layer menggambarkan format dari permintaan dan respon antara klien dan server. Selain transfer data aktual, pertukaran ini juga mungkin membutuhkan informasi kontrol, seperti otentikasi pengguna dan identifikasi file data yang ditransfer.
Salah satu contoh klien / server jaringan adalah lingkungan perusahaan dimana karyawan menggunakan sebuah perusahaan e-mail server untuk mengirim, menerima dan menyimpan e-mail. Klien e-mail pada isu-isu karyawan komputer permintaan ke server e-mail untuk setiap mail yang belum dibaca. Server merespon dengan mengirim e-mail yang meminta kepada klien.
Meskipun data biasanya digambarkan sebagai mengalir dari server ke client, beberapa data selalu mengalir dari client ke server. Aliran data dapat sama di kedua arah, atau bahkan mungkin lebih besar pada arah pergi dari klien ke server. Sebagai contoh, klien dapat
mentransfer file ke server untuk tujuan penyimpanan. Transfer data dari client ke server disebut sebagai meng-upload dan data dari server ke klien sebagai download.




Dalam konteks jaringan umum, setiap perangkat yang menanggapi permintaan dari aplikasi 
client berfungsi sebagai server. Sebuah server biasanya merupakan komputer yang berisi informasi untuk dibagikan dengan sistem klien banyak. Misalnya, halaman web, dokumen, database, gambar, video, dan file audio semua dapat disimpan pada server dan dikirimkan ke meminta klien. Dalam kasus lain, seperti printer jaringan, print server memberikan permintaan klien cetak ke printer tertentu. Selain itu, server biasanya memiliki beberapa klien meminta informasi pada saat yang sama. Sebagai contoh, server Telnet mungkin memiliki banyak klien yang meminta koneksi untuk itu. Permintaan ini klien harus ditangani secara bersamaan dan secara terpisah untuk jaringan untuk berhasil. Proses Application Layer dan layanan yang mengandalkan dukungan dari fungsi lapisan bawah untuk berhasil mengelola beberapa percakapan.





The Peer-to-Peer Model
Selain client / server model untuk jaringan, ada juga model peer-to-peer. Peer-to-peer jaringan melibatkan dua bentuk yang berbeda: desain peer-to-peer jaringan dan aplikasi peer-to-peer (P2P). Kedua bentuk memiliki fitur yang sama tetapi dalam praktik kerja yang sangat berbeda.
Dalam sebuah jaringan peer-to-peer, dua atau lebih komputer yang terhubung melalui jaringan dan dapat berbagi sumber daya (seperti printer dan file) tanpa harus memiliki dedicated server. Setiap perangkat dihubungkan akhir (dikenal sebagai peer) dapat berfungsi baik sebagai server atau klien. Satu komputer bisa berperan sebagai server untuk satu transaksi sekaligus berfungsi sebagai klien bagi orang lain. Peran klien dan server ditetapkan pada basis per permintaan.
Sebuah jaringan rumah sederhana dengan dua komputer yang terhubung berbagi printer adalah contoh dari suatu jaringan peer-to-peer. Setiap orang dapat mengatur komputer nya untuk berbagi file, memungkinkan game jaringan, atau berbagi koneksi Internet. Contoh lain dari fungsionalitas jaringan peer-to-peer adalah dua komputer yang terhubung ke jaringan besar yang menggunakan aplikasi software untuk berbagi sumber daya antara satu sama lain melalui jaringan.
Sebuah aplikasi peer-to-peer (P2P), tidak seperti jaringan peer-to-peer, memungkinkan sebuah perangkat untuk bertindak sebagai klien dan server dalam komunikasi yang sama. Dalam model ini, setiap client adalah server dan setiap server klien. Keduanya dapat memulai komunikasi dan dianggap setara dalam proses komunikasi. Namun, peer-to-peer aplikasi mengharuskan setiap perangkat akhir menyediakan antarmuka pengguna dan menjalankan layanan latar belakang. Ketika Anda meluncurkan spesifik aplikasi peer-to-peer itu memanggil antarmuka pengguna jasa yang dibutuhkan dan latar belakang. Setelah itu perangkat dapat berkomunikasi secara langsung.
Beberapa aplikasi P2P menggunakan sistem hibrida dimana pembagian sumber daya yang terdesentralisasi tetapi indeks yang menunjukkan lokasi sumber disimpan dalam direktori terpusat. Dalam sistem hibrida, setiap peer mengakses server indeks untuk mendapatkan lokasi sumber daya yang tersimpan pada rekan lain. Server indeks juga dapat membantu menghubungkan dua teman sebaya, tapi begitu terhubung, komunikasi terjadi antara dua peer tanpa komunikasi tambahan ke server indeks.
Gambar1

4. Application Programming Interface.

Definisi
Definisi API (Application Programming Interface)
API (Application Programming Interface) adalah sekumpulan perintah, fungsi, komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa pemrograman tertentu yang dapat digunakan oleh programmer saat membangun perangkat lunak.

Manfaat

. Probabilitas
API dapat digunakan untuk bahasa pemrograman ataupun untuk sistem operasi mana saja asalkan paket-paket API sudah terpasang.

· Lebih mudah di mengerti
API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti daripada bahasa system call. Hal ini sangat penting dalam hal editing dan pengembangan.

· Mudah di kembangkan
Dengan adanya API, memudahkan programmer untuk mengembangkan suatu system.


    5. Aplikasi-aplikasi standart client – Server

·  Www dan http
WWW (WORLD WIDE WEB)
World wide web adalah sebuah sistem informasi yang mengelola jaringan internet dengan menggunakan suatu set protokol tertentu. world wide web atau yang biasa disingkat dengan WWW ini diciptakan pada bulan Maret 1989 disaat sekelompok peneliti dan para ahli bermaksud untuk menciptakan sebuah protokol baru untuk keperluan distribusi informasi pada internet.Para peneliti ini kemudian menetapkan sebuah standar baru yang merupakan cikal bakal terbentuknya sebuah consortium yang lazim dikenal dengan nama W3C atau World Wide Web Consortium yang bertugas untuk melanjutkan pengembangan standart tersebut. Dibawah naungan W3C inilah para ahli dan peneliti berhasil melahirkan bahasa pemrograman yag dikenal sebagai HTML (Hyper Text Markup Language).
Dengan sifatnya yang menjaring data-data yang ada di internet. WWW bukan sekedar jaringan tetapi di dalamnya terdapat suatu set aplikasi komunikasi dan sistem perangkat lunak yang memiliki karakteristik sebagai berikut:
 Umumnya teletak pada internet host dan client.
 Umumnya menggunakan protocol TCP/IP.
 Menggunakan HTML.
 Mengikuti model client atau server untuk komunikasi dua arah.
 Memungkinkan client untuk mengakses server dengan berbagai protocol seperti HTTP, FTP, Telnet dan Gopher.
 Memungkinkan client untuk mengakses informasi dalam berbagai media seperti teks, audio dan video.
 Menggunakan model alamat Uniform Resource Locators (URL).

HTTP Protocol
Ketika sebuah alamat web (atau URL) yang diketik ke dalam web browser, web browser melakukan koneksi ke web service yang berjalan pada server menggunakan protokol HTTP. URL (atau Uniform Resource Locator) dan URI (Uniform Resource Identifier) adalah nama kebanyakan orang mengasosiasikan dengan alamat web. Web browser adalah aplikasi klien komputer kita gunakan untuk terhubung ke World Wide Web dan sumber daya akses disimpan pada server web. Sebagaimana dengan proses server yang paling, web server berjalan sebagai sebuah layanan latar belakang dan membuat berbagai jenis file yang tersedia.
Browser dapat menafsirkan dan menyajikan berbagai jenis data, seperti teks biasa atau Hypertext Markup Language (HTML, bahasa di mana halaman web dibangun). Data jenis lain, bagaimanapun, mungkin memerlukan layanan lain atau program, biasanya disebut sebagai plug-in atau add-ons. Untuk membantu browser menentukan jenis file itu adalah menerima, server menentukan jenis data yang berisi file.
Hypertext Transfer Protocol (HTTP), salah satu protokol dalam suite TCP / IP, pada awalnya dikembangkan untuk mempublikasikan dan mengambil halaman HTML dan sekarang digunakan terdistribusi, sistem informasi kolaboratif. HTTP digunakan di World Wide Web untuk transfer data dan merupakan salah satu protokol aplikasi yang paling sering digunakan. GET permintaan klien untuk data. Sebuah web browser mengirimkan pesan GET untuk meminta halaman dari server web. Seperti ditunjukkan dalam gambar, setelah server menerima permintaan GET, akan meresponnya dengan baris status, seperti HTTP/1.1 200 OK, dan pesan sendiri, tubuh yang mungkin merupakan file yang diminta, pesan kesalahan, atau beberapa informasi lainnya.
POST dan PUT digunakan untuk mengirim pesan yang meng-upload data ke web server. Sebagai contoh, ketika pengguna memasukkan data ke dalam bentuk tertanam dalam suatu halaman web, POST meliputi data dalam pesan yang dikirim ke server.




HTTPS adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web.
HTTPS menyandikan data sesi menggunakan protokol SSL (Secure Socket
layer) atau protokol TLS (Transport Layer Security). Pada umumnya port HTTPS
adalah 443.
Fungsi : HTTPS melakukan enkripsi informasi antara browser dengan web server
yang menerima informasi. Memberikan perlindungan yang memadai dari
serangan eavesdroppers (penguping), dan man in the middle attacks.

·  Telnet dan SSH
Telnet Protocol
Setelah jaringan yang tersedia, orang membutuhkan cara akses jarak jauh ke sistem komputer dengan cara yang sama yang mereka lakukan dengan terminal langsung terpasang. Telnet dikembangkan untuk memenuhi kebutuhan itu. Telnet tanggal kembali ke awal 1970-an dan merupakan salah satu yang tertua dari protokol Application Layer dan layanan di TCP / IP suite. Telnet menyediakan metode standar meniru perangkat terminal berbasis teks melalui jaringan data. Kedua protokol itu sendiri dan perangkat lunak client yang mengimplementasikan protokol yang sering disebut sebagai Telnet. oneksi menggunakan Telnet disebut Virtual Terminal (vty) sesi, atau koneksi. Alih-alih menggunakan perangkat fisik untuk terhubung ke server, Telnet menggunakan perangkat lunak untuk membuat perangkat virtual yang menyediakan fitur yang sama dari sesi terminal dengan akses ke server antarmuka baris perintah (CLI).

SSH

SSH adalah program yang menyediakan koneksi terenkripsi pada saat
melakukan login ke suatu remote system. SSH merupakan suatu set program
yang digunakan sebagai pengganti rlogin, rsh, dan rcp dalam segi keamanan.
SSH menggunakan kriptografi kunci public untuk mengenkrip komunikasi
antara dua host, sehingga juga melakukan autentikasi terhadap user. SSH
dapat digunakan untuk mengamankan proses login ke suatu remote system
atau menyalin data antar host, karena mencegah terjadinya pembajakan sesi.
SSH melakukan kompresi data [ada koneksi yang terjadi, dan mengamankan
komunikasi X11 (untuk sistem berbasis Unix) antar host.
SSH dapat digunakan dari workstation dengan sistem windows dengan server
berbasis unix.
Berikut ini adalah cara-cara yang dapat dilakukan dalam mengenkripsi sebuah file di
sistem operasi Microsoft Windows:
1. Klik kanan pada file yang ingin dienkripsi
2. Klik Properties
3. Klik tab General
4. Tekan tombol Advanced
5. Beri tanda check pada Encrypt contents to secure data
6. Kemudian tekan tombol OK

Jika file hasil enkripsi tersebut disalin dan dibuka oleh user lain, maka akan muncul
pesan error seperti “Username does not have access privileges, atau
Error copying file or folder”

·  DHCP
DHCP Protocol
Dynamic Host Configuration Protocol (DHCP) layanan memungkinkan perangkat pada jaringan untuk memperoleh alamat IP dan informasi lainnya dari server DHCP. Layanan ini secara otomatis penugasan alamat IP, subnet mask, gateway dan lain parameter jaringan IP. DHCP memungkinkan sebuah host untuk mendapatkan alamat IP secara dinamis ketika terhubung ke jaringan. Server DHCP dihubungi dan alamat diminta. Server DHCP memilih alamat dari berbagai dikonfigurasi alamat.
Pada jaringan lokal yang lebih besar, atau di mana perubahan populasi pengguna sering, DHCP lebih disukai. Pengguna baru mungkin datang dengan laptop dan memerlukan suatu koneksi. Orang lain telah workstation baru yang perlu dihubungkan. Daripada memiliki administrator jaringan memberikan alamat IP untuk setiap workstation, lebih efisien untuk memiliki alamat IP yang ditetapkan secara otomatis menggunakan DHCP. Alamat DHCP didistribusikan tidak secara permanen ditugaskan untuk host tetapi hanya disewa untuk jangka waktu tertentu.
DHCP bisa menimbulkan risiko keamanan karena setiap alat yang terhubung ke jaringan dapat menerima alamat. Risiko ini membuat keamanan fisik merupakan faktor penting ketika menentukan apakah akan menggunakan alamat dinamis atau manual. Tanpa DHCP, pengguna
13
harus secara manual memasukkan alamat IP, subnet mask dan pengaturan jaringan lain untuk bergabung dengan jaringan.






·  DNS
DNS Protocol

Dalam jaringan data, peralatan diberi label dengan alamat IP numerik, sehingga mereka dapat berpartisipasi dalam mengirim dan menerima pesan melalui jaringan. Namun, kebanyakan orang sulit mengingat alamat numerik. Oleh karena itu, nama domain diciptakan untuk mengkonversi alamat numerik menjadi nama, sederhana dikenali. Di internet nama domain ini, seperti www.cisco.com, jauh lebih mudah bagi orang untuk diingat daripada 198.133.219.25, yang adalah alamat numerik sebenarnya untuk server ini. Juga, jika Cisco memutuskan untuk mengubah alamat numerik, adalah transparan kepada pengguna, karena nama domain akan tetap www.cisco.com. Alamat baru hanya akan dihubungkan ke nama domain yang ada dan konektivitas dipertahankan. Ketika jaringan masih kecil, itu adalah tugas sederhana untuk menjaga pemetaan antara nama domain dan alamat mereka mewakili. Namun, karena jaringan mulai tumbuh dan jumlah perangkat meningkat, ini sistem manual menjadi tidak bisa dijalankan.
Domain Name System (DNS) adalah diciptakan untuk nama domain untuk alamat resolusi jaringan ini. DNS didistribusikan menggunakan satu set server untuk menyelesaikan nama-nama yang terkait dengan alamat nomor. Protokol DNS mendefinisikan sebuah layanan otomatis yang cocok dengan nama sumber daya dengan alamat jaringan yang dibutuhkan numerik. Hal ini termasuk format untuk pertanyaan, tanggapan, dan format data. Komunikasi protokol DNS menggunakan format tunggal yang disebut pesan. Format pesan ini digunakan untuk semua jenis permintaan klien dan respon server, pesan kesalahan, dan transfer informasi sumber daya catatan antara server.

Sistem operasi komputer juga memiliki utilitas yang disebut nslookup yang memungkinkan pengguna untuk secara manual query server nama untuk menyelesaikan nama host yang diberikan. Utilitas ini juga dapat digunakan untuk memecahkan masalah resolusi nama dan untuk memastikan status saat ini dari server nama. 
·  Socket
Socket adalah sebuah Class yang disediakan oleh beberapa bahasa pemrograman. Dengan socket, sebuah aplikasi di suatu komputer dapat Tentu saja aplikasi di komputer yang dihubungi menerima koneksi juga
menggunakan socket. Dengan kata lain socket adalah suatu Class yang digunakan oleh aplikasi untuk saling berhubungan. berikut ini menunjukkan bagaimana suatu aplikasi berhubungan dengan aplikasi lainnya.






Paradigma pada aplikasi jaringan berlaku model client-server. Aplikasi yang menginisialisasi koneksi, disebut aplikasi client. Sedangkan aplikasi yang menerima inisialisasi disebut sebagai aplikasi server. Oleh karena itu, jika kita membangun suatu aplikasi jaringan yang lengkap, maka kita harus membuat aplikasi client maupun aplikasi server.
Lebih lanjut mengenai socket, ada dua jenis socket yang bisa digunakan untuk membangun aplikasi, yakni TCP Socket dan UDP Socket. Perbedaan utamanya adalah, di model TCP digunakan konsep connection oriented dan reliable data transfer, sedangkan di model UDP digunakan konsep connectionless oriented dan unreliable data transfer. Sebuah aplikasi dapat menggunakan salah satu dari jenis Socket tersebut disesuaikan dengan peruntukan aplikasi tersebut. Aplikasi berbasis TCP biasanya adalah aplikasi yang membutuhkan ketepatan data hingga 100% tapi tidak memperdulikan
lama pengiriman, sedangkan aplikasi berbasis UDP biasanya adalah aplikasi yang tidak terlalu mempedulikan ketepatan data tapi sangat peduli dengan delay pengiriman. Contoh aplikasi TCP adalah web browser, sedangkan UDP adalah Video Converence.
     Untuk membangun aplikasi hal pertama yang perlu dilakukan adalah menganalisa jenis aplikasi kita, kebutuhan bandwidth, kebutuhan ketersampaian data dan sensitifitas terhadap delay. Berdasarkan hal ini kita bisa menentukan protokol apa yang kita gunakan, entah TCP atau UDP.

2. Pemrograman Socket Menggunakan TCP

Cara kerja aplikasi yang menggunakan TCP dapat digambarkan oleh di bawah ini :

Detail dari proses tersebut adalah :
Untuk bisa melakukan koneksi client server, program server harus berjalan terlebih dahulu
Di sisi server disediakan sebuah socket, yang disebut welcoming socket yang fungsinya untuk mendeteksi adanya permintaan koneksi dari sisi client. 
Di sisi client terdapat client socket. Jika ingin menghubungi server, maka melalui client socket-nya, client membuat inisialisai koneksi ke welcoming socket milik server, dengan mode three-way handshake.
Setelah welcoming socket menerima inisialisasi koneksi dari client socket, aplikasi server akan membuat connection socket di sisi server. Dengan connection socket ini, client socket dan connection socket berinteraksi satu sama lain untuk mengirim dan menerima data.

Client membaca data yang dikirim oleh server dari client socket-nya. Kemudian menampilkan data tersebut di monitor.

         3. Pemrograman Socket Menggunakan UDP

Contoh aplikasi untuk UDP socket berikut ini menggunakan kasus yang sama dengan kasus yang digunakan oleh TCP socket, yaitu :

Client membaca inputan dari keyboard, kemudian mengirimkan hasilnya ke server melalui socket-nya.
Server membaca data yang dikirim oleh client di connection socket
Server mengubah data menjadi huruf besar
Server mengirimkan data yang telah diubah menuju client melalui socket-nya.
Client membaca data yang dikirim oleh server dari client socket-nya. Kemudian menampilkan data tersebut di monitor

Perbedaan utama antara aplikasi berbasis TCP dengan aplikasi berbasis UDP adalah di aplikasi UDP tidak ada welcoming socket. Pada UDP tidak ada socket khusus untuk permintaan inisialisai koneksi. Setiap data yang datang ditangani lansung oleh server socket.


·  FTP
FTP (File Transfer Protocol) Protocol
File Transfer Protocol (FTP) adalah protokol lain Application Layer umum digunakan. FTP dikembangkan untuk memungkinkan untuk transfer file antara klien dan server. Sebuah klien FTP adalah sebuah aplikasi yang berjalan pada komputer yang digunakan untuk mendorong dan menarik file dari dari server yang menjalankan daemon FTP (ftpd).
Untuk berhasil mentransfer file, FTP membutuhkan dua koneksi antara klien dan server: satu untuk perintah dan jawaban, yang lain untuk transfer file yang sebenarnya. Klien menetapkan koneksi pertama ke server pada port TCP 21. Koneksi ini digunakan untuk lalu lintas, yang terdiri dari perintah client dan server balasan. Klien menetapkan kedua sambungan ke server melalui port TCP 20. Koneksi ini adalah untuk transfer file aktual dan dibuat setiap kali ada file yang ditransfer. Transfer file dapat terjadi dalam arah baik. Klien dapat men-download (tarik) file dari server atau client dapat meng-upload (push) file ke server.




SUMBER : 
http://mzsay.blogspot.co.id/2012/04/pengertian-socket-dan-pemrogramman.html
http://dinda-rompas.blogspot.co.id/2012/11/pengertian-dan-jenis-jenis-protokol.html

https://joanmathilda.wordpress.com/2009/11/29/application-programming-interface-api/

Previous Post
Next Post

Nama saya Syamsul Yadi, saya adalah seorang Programmer, khususnya Backend Developer. saya pun sedang meningkatkan kemampuan atau skill programming saya. ini adalah salah satu karya saya ydprog.com.

1 comment: