Week11 - PDF by elipldoc

VIEWS: 15 PAGES: 12

									Modul 11
Protokol Aplikasi

Pengantar
Lapisan Aplikasi mendefinisikan pesan yang dipertukarkan antar aplikasi
dan berdasarkan pesan tersebut melakukan suatu tindakan tertentu.
Aplikasi di sini adalah proses yang terdistribusi, baik pada beberapa mesin
yang terpisah ataupun mesin yang sama.
Setiap proses aplikasi akan menggunakan “user address space”, sehingga
untuk dapat berkomunikasi dengan proses lain (yang menggunakan
“address space” berbeda) harus melakukan sinkronisasi dengan cara
mempertukarkan pesan sesuai dengan format dan aturan yang disepakati.
Format dan aturan itulah yang disebut dengan protokol aplikasi. Setiap
proses akan memiliki suatu antarmuka yang digunakan untuk “gerbang”
masuk dan keluarnya data yang terkirim ke atau diterima dari jaringan.



                          P1                               P2


              Address Space                               Address Space




Dari model di atas, biasanya suatu aplikasi jaringan memiliki dua bagian
penting, yaitu proses client dan proses server. Pada model client/server
ini, mekanisme sinkronisasi dilakukan dengan cara menerapkan
request/reply.
Sebuah proses server, menyediakan suatu layanan yang dapat diminta dari
client dengan mengirimkan format request ke proses server. Berdasar
request yang diterima, server akan memproses dan memformat pesan yang
kemudian dikirim kembali ke client.


Protokol Transport seperti apa yang dibutuhkan sebuah protokol aplikasi?
●   Data Loss
    •   beberapa aplikasi (seperti, audio) dapat mentolerir adanya kehilangan
        data
    •   aplikasi lain (seperti, transfer file, telnet) membutuhkan 100%
        pengiriman data yang reliable.
●   Bandwidth

Modul Jaringan Komputer – Budi Susanto, S. Kom.                                 1
    •   beberapa aplikasi (seperti multimedia) membutuhkan jumlah bandwidth
        yang minimum agar efektif
    •   aplikasi lain menggunakan bandwidth berapapun yang didapat
●   Timing
    •   beberapa aplikasi membutuhkan waktu delay yang kecil (contoh : VoIP,
        game di internet)


Pada kesempatan kali ini, kita akan melihat beberapa protokol aplikasi
standard, seperti http, ft, smtp, pop3, dan dns.


HTTP
Pada RFC 2616, HTTP didefinisikan
sebagai :
        “The Hypertext Transfer Protocol
        (HTTP) is an application-level
        protocol for distributed,
        collaborative, hypermedia
        information systems.”
HTTP dimulai digunakan oleh WWW
pada tahun 1990 dengan versi HTTP/0.9.
Kemudian, dikembangkan menjadi
HTTP/1.0 dengan RFC 1945, dimana
pada versi ini, HTTP mendukung
dokumen yang diformat MIME.
HTTP juga merupakan protokol yang digunakan antara user agent dengan
proxy/gateway ke sistem internet lain, misal SMTP, FTP, NNTP, FTP,
Gopher dan WAIS.
HTTP merupakan protokol aplikasi yang menggunakan protokol TCP untuk
layanan transportnya. Di sini HTTP bersifat stateless, artinya pada sisi
server tidak memelihara informasi tentang permintaan client sebelumnya.
Dilihat dari jenis koneksinya, HTTP menerapkan 2 jenis koneksi,
●   Non-persistent
    •   diimplementasikan pada HTTP/1.0
    •   server menerima request, memparsing, memproses dan mengirim hasil
        proses ke client dan terakhir menutup koneksi.
    •   Mekanisme seperti ini membutuhkan waktu tambahan, mengingat
        mekanisme three-way handshake pada protokol TCP seperti pada
        gambar di bawah ini :


Modul Jaringan Komputer – Budi Susanto, S. Kom.                                2
●   Persistent
    •   Untuk menutupi kelemahan non-persistent, pada HTTP/1.1 secara
        default digunakan jenis koneksi persistent
    •   pada koneksi TCP yang sama, server menerima permintaan dari client,
        memparsing dan meresponse ke client, menerima permintaan baru,
        memparsing dan ...(seterusnya)


Ada dua format HTTP yang harus diikuti oleh client dan server :
Format Request dari client :
    <METHOD> <URL> <HTTPVERSION>\r\n
    <HEADERNAME>: <HEADERVAL>\r\n
    <HEADERNAME>: <HEADERVAL>\r\n
    …
    \r\n
    <DATA, IF POST>

Format Response dari server :
    <HTTPVERSION> <STATUS CODE> <MSG>\r\n
    <HEADERNAME>: <HEADERVAL>\r\n
    <HEADERNAME>: <HEADERVAL>\r\n
    …
    \r\n
    <DATA, IF NECESSARY>

Contoh :
GET / HTTP/1.0
Connection: close
User-Agent: Budsus's Agent
Host: www.google.com
Accept-Language: en

Modul Jaringan Komputer – Budi Susanto, S. Kom.                               3
HTTP/1.0 200 OK
Cache-control: private
Content-Type: text/html
Set-Cookie:
PREF=ID=2de87e283dc3a1f3:TM=1082386606:LM=1082386606:S=IXRelpFUF
pk0BH6H; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/;
domain=.google.com
Server: GWS/2.1
Content-length: 2132
Date: Mon, 19 Apr 2004 14:56:46 GMT
Connection: Keep-Alive

<html>...dipotong...</html>Connection closed by foreign host.


Bentuk representasi dari html yang dihasilkan :




GET / HTTP/1.0
Connection: close
User-Agent: Budsus's Agent
Host: www.google.com
Accept-Language: id

HTTP/1.0 200 OK
Cache-control: private
Content-Type: text/html
Set-Cookie:
PREF=ID=01c974c29afb8b35:TM=1082386673:LM=1082386673:S=HZ_x_VgN-
8_dz1sy; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/;
domain=.google.com
Server: GWS/2.1
Content-length: 2178
Date: Mon, 19 Apr 2004 14:57:53 GMT
Connection: Keep-Alive

<html><head>...dipotong...</body></html>Connection closed by
foreign host.


Bentuk representasi dari html yang dihasilkan :

Modul Jaringan Komputer – Budi Susanto, S. Kom.                 4
Ada beberapa metode request yang dapat diberikan oleh client pada
protokol HTTP :
GET
      •   Mengambil dan menerima sebuah dokumen
      •   URL digunakan untuk mengirimkan data
             GET /foo/bar.html?x=bar&bam=baz
POST
      •   Mengirim sebuah form, dan menerima response
HEAD
      •   Seperti GET, namun hanya menerima header HTTP saja.
          Digunakan untuk caching
PUT, DELETE, LINK, UNLINK
      •   Jarang sekali digunakan


Kode status HTTP yang dihasilkan oleh server dapat dikategorikan sebagai
berikut :
1xx: informational
2xx: successful, e.g. 200 OK
3xx: redirection
      301 Moved Permanently
      304 Not Modified
4xx: Client Error
      400 Bad Request
      401 Unauthorized
      403 Forbidden
      404 Not Found

Modul Jaringan Komputer – Budi Susanto, S. Kom.                            5
5xx: Server Error
      501 Not Implemented
      503 Service Unavailable


Mekanisme Cookie
Pada contoh response dari
www.google.com, kita melihat
ada HTTP Header Set-
Cookie:. Header ini berfungsi
untuk memberitahukan client
ada informasi yang harus
dipelihara (disimpan) untuk
kemudian selalu dikirimkan
ke server tiap kali melakukan
request. Biasanya cookie
digunakan untuk
authentication atau
mengingat user preferences,
pilihan user sebelumnya, dan
sebagainya.


Mekanisme HTTP Authentication
                                                  Peran yang diberikan dengan
                                                  adanya HTTP Authentication
                                                  adalah untuk mengontrol
                                                  pengaksesan suatu resource di
                                                  HTTP Server.
                                                  ● HTTP Authentication bersifat
                                                  stateless, dimana client harus
                                                  mengirimkan informasi
                                                  authorization untuk setiap
                                                  requestnya
                                                  ● Field header yang dikirim
                                                  Server ketika membutuhkan
                                                  authentication dari client adalah
                                                  WWW-Authenticate.
                                          Ketika client menerima header
                                                  ●
                                        tersebut, client akan
                                        mengirimkan authentication
  dengan memberikan header Authorization: <credentials>, dimana
  <credentials> berisi Base64(username:password).

Modul Jaringan Komputer – Budi Susanto, S. Kom.                                       6
FTP
FTP (File Transfer Protocol) berfungsi untuk mengirimkan file ke/dari ftp
server. FTP di sepakati bersama dengan RFC 959 dan menggunakan port
20 dan 21.




FTP Client berhubungan dengan FTP server pada port 21 dengan
menggunakan protokol TCP. Dua koneksi TCP paralel terbentuk pada FTP,
yaitu
●   Control (port 21) : untuk
    mempertukarkan perintah, respone
    antara client dan server
●   Data (port 20) : untuk pertukaran file
    ke/dari server


Server FTP bersifat stateful, karena perlu mengingat lokasi direktori yang
aktif saat ini.




Modul Jaringan Komputer – Budi Susanto, S. Kom.                              7
Electronic Mail (E-Mail)
Untuk layanan E-mail, paling tidak ada 3 komponen yang harus tersedia,
antara lain :
●   User Agent
    •   Mail client (Mail reader)
    •   melakukan composing,
        editing, reading mail
    •   Contoh : Outlook, Netscape
        Messenger, Evolution, KMail,
        dsb.


●   Mail Server (Mail Transfer
    Agent - MTA)
    •   mailbox berisi pesan mail
        yang masuk (diterima) untuk
        user (belum terbaca user)
    •   pesan mail yang dalam
        susunan antrian untuk siap
        dikirimkan
    •   menggunakan protokol
        SMTP antar mail server untuk mengirimkan mail


●   SMTP (Simple Mail Transfer Protocol)
    •   disepakati dengan RFC 821
    •   menggunakan TCP untuk pengiriman mail yang reliable dari client ke
        server dengan menggunakan port 25
    •   pesan yang dikirimkan harus dalam format ASCII 7-bit
    •   Contoh perintah SMTP :


$ telnet ns1.ukdw.ac.id 25
Trying 202.155.16.130...
Connected to www2.ukdw.ac.id.
Escape character is '^]'.
220 www2.ukdw.ac.id ESMTP Sendmail 8.12.5/8.12.5; Mon, 19
Apr 2004 22:49:13 +0700 (JAVT)
HELO ukdw.ac.id
250 www2.ukdw.ac.id Hello www2.ukdw.ac.id [202.155.16.130],
pleased to meet you
MAIL FROM: <budsus@ukdw.ac.id>


Modul Jaringan Komputer – Budi Susanto, S. Kom.                              8
250 2.1.0 <budsus@ukdw.ac.id>... Sender ok
RCPT TO: <budsus@yahoo.com>
250 2.1.5 <budsus@yahoo.com>... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Ini percobaan saja ya ...

salam

budsus
.
250 2.0.0 i3JFnDIq037992 Message accepted for delivery
QUIT
221 2.0.0 www2.ukdw.ac.id closing connection
Connection closed by foreign host.

Hasil dari mail.yahoo.com :




Sebuah mail, memiliki format standard sebagai berikut (RFC 822) :
Return-Path:      <Nd7o0AIBAQAGovQACQAAAAAENaUMIQ@developerworks.b.tep1.com>
Delivered-To:     budsus@ukdw.ac.id
Received:   (qmail 91771 invoked from network); 27 Feb 2004 14:21:32 -0000
Received:   from out002.tpcopt.com (HELO out002.tpcopt.comm) (38.113.201.22) by
mail.ukdw.ac.id with SMTP; 27 Feb 2004 14:21:32 -0000
Mime-Version:     1.0
Content-Type:     multipart/alternative; boundary="330532205.1463793406.1077886812"
To:   budsus@ukdw.ac.id
From:       IBM developerWorks <dwnews2@us.ibm.com>
Subject:    IBM developerWorks technology, Issue 8 - 2004 Feb 27
Date:       Fri, 27 Feb 2004 05:00:00 -0800
Message-ID:       <1787100499-1463792638-1077886984@developerworks.b.tep1.com>
Errors-To: <Nd7o0AIBAQAGovQACQAAAAAENaUMIQ@developerworks.b.tep1.com>
Reply-To:   <customersupport@ibmdw.email-publisher.com>

========================================================================
IBM developerWorks Newsletter - Technology edition
2004 Feb 27
Vol 5, Issue 8

IBM's resource for developers.
http://www-136.ibm.com/developerworks/?ca=dnt-58
========================================================================


Modul Jaringan Komputer – Budi Susanto, S. Kom.                                       9
Greetings, developerWorks readers,

Well, this is what I get for talking about moving furniture in last
week's newsletter. Now we're moving our whole house -- or at least
everything in it -- to another town, even though we did this just six ...


Dalam satu pesan mail, ada dua bagian penting, yaitu Mail Header dan Mail
Body. Pada Mail Header, selain informasi tentang mail secara keseluruhan,
ada informasi tentang format dokumen yang berada pada Mail Body.
Informasi tentang format dokumen ini dinyatakan dengan MIME –
Multipurpose Internet Mail Extention (RFC 2045, 2056), dengan header-
header sebagai berikut :
Mime-Version:
Content-Transfer-Encoding:
Content-Type:


Tipe dokumen yang dinyatakan dengan MIME, dikelompokkan dalam :
●   Text
    •   Contoh : text/plain, text/html
●   Image
    •   Contoh : image/gif, image/jpeg, image/png
●   Video
    •   Contoh : video/mpeg, video/quicktime
●   Audio
    •   Contoh : audio/basic, audio/wav
●   Application
    •   Contoh : application/msword, application/octet-stream


Untuk lebih lengkapnya, silahkan Anda cek di browser Anda. Contoh pada
Opera dapat dilihat di File – Preferences




Modul Jaringan Komputer – Budi Susanto, S. Kom.                             10
Protokol Pengaksesan Mail




Untuk mengakses mail pada mailbox, kita memerlukan suatu protokol
●   POP : Post Office Protocol (RFC 1939)
    •   authorization (agent <--> server) dan mail di download ke client
●   IMAP : Internet Mail Access Protocol (RFC 1730)
    •   memanipulasi mail yang masih berada di server


Protokol POP3 memiliki 2 fase, yaitu :
Fase Authorization
•   Perintah dari client adalah user (untuk username) dan pass (untuk
    password)
•   Response dari server adalah +OK dan -ERR


Fase Transaksi
•   list      :     daftar nomor pesan mail
•   retr      :     mengambil mail berdasar nomor
•   dele      :     menghapus mail berdasar nomor

Modul Jaringan Komputer – Budi Susanto, S. Kom.                            11
•   quit     :      keluar


Contoh transaksi protokol POP3 :


$ telnet students.ukdw.ac.id 110
Trying 202.155.16.132...
Connected to students.ukdw.ac.id.
Escape character is '^]'.
+OK Qpopper (version 4.0.3) at students.ukdw.ac.id starting.
<70103.1082393897@students.ukdw.ac.id>
user simbah
+OK Password required for simbah.
pass passwordnya
+OK simbah has 1124 visible messages (0 hidden) in 20488347
octets.
list 2
+OK 2 688
retr 2
+OK 688 octets
Return-Path: <simbah>
Received: (from simbah@localhost)
        by students.ukdw.ac.id (8.11.1/8.11.1) id f05FWDs88119;
        Fri, 5 Jan 2001 22:32:13 +0700 (JAVT)
        (envelope-from simbah)
Date: Fri, 5 Jan 2001 22:32:13 +0700 (JAVT)
Message-Id: <200101051532.f05FWDs88119@students.ukdw.ac.id>
From: simbah (Cron Daemon)
To: simbah
Subject: Cron <simbah@students> ftp ftp.borland.com
...
Status: RO
X-Status:
X-Keywords:
X-UID: 1

Interactive mode off.
Local directory now /home/simbah

.
dele 200
+OK Message 200 has been deleted.
quit
+OK Pop server at students.ukdw.ac.id signing off.
Connection closed by foreign host.



                                                  oOo

Modul Jaringan Komputer – Budi Susanto, S. Kom.               12

								
To top