Sekilas tentang FTP
FTP menggunakan TCP sebagai protokol transport. FTP server menerima koneksi pada port 20 dan 21.
Diperlukan 2 koneksi, yaitu untuk login dengan menggunakan protokol TELNET, dan yang satunya
digunakan untuk transfer file.
Pada kedua sisi jaringan, aplikasi FTP dilengkapi dengan protocol interpreter (PI), data transfer process
(DTP), dan tampilan antar muka.
Sehingga prinsip kerja protokol FTP adalah, user interface melakukan perintah melalui PI dan dilanjutkan
ke sisi server. Untuk melakukan transfer file PI memberikan perintah kepada DTP untuk mengirimkan file.
Dapat dilihat pada Gambar 11 .91.
Gambar 11.91 FTP – Prinsip kerja FTP
11.1.2 Operasional FTP
Ketika melakukan FTP, pengguna akan melakukan beberapa atau semua operasional yang ada, yaitu :
- Melakukan koneksi ke host lain
99
o Dengan perintah Open dan memasukkan user dan password dengan perintah User dan
Pass.
- Memilah direktori
o Dengan perintah cd dan menunjuk ke direktori yang dituju
- Melihat list dari file
o Dengan perintah dir atau ls
- Memilih cara transfer file
o Dengan perintah bin atau ascii
- Mentransfer file
o Dengan perintah get untuk mengambil file, mget untuk mengambil file dengan jumlah
lebih dari 1, put¸mengirim file, dan mput mengirim file dengan jumlah lebih dari 1.
- Menggunakan mode passive
o Dengan perintah passive client yang berada di balik firewall dapat melakukan FTP
seolah-olah berasal dari luar firewall.
- Menutup koneksi
o Dengan perintah quit, bye, atau logout
11.1.3 Skenario FTP
Seorang pengguna pada jaringan LAN, akan mengirimkan file dengan FTP, yang akan dilakukan adalah
seperti Gambar 11 .92.
User akan mengakses server dengan nama host01, dimana pada host tersebut pengguna terdaftar sebagai
usernama cms01 dengan password cmspw. Kemudian user tersebut akan memilah direktori dan memilih
jenis mode transfer yang akan dipakai. Direktori yang dipakai adalah 191 dan mode yang digunakan
FIXrecfm80. Kemudian pengguna mengirim file dengan perintah PUT. Nama file yang dikirim adalah
file01.tst. Dan terakhir menutup koneksi dengan perintah QUIT.
Gambar 11.92 FTP – Skenario FTP
100
11.1.4 Contoh Penggunaan FTP
Contoh penggunaan FTP dapat dilihat pada Gambar 11 .93.
Gambar 11.93 FTP – Contoh penggunaan FTP
11.1.5 Anonymous FTP
Anonymous FTP adalah model FTP yang tanpa menggunakan authentikasi pada pengguna. Sehingga
pengguna siapa pun bisa melakukan transfer, tapi biasanya hanya diperbolehkan untuk mengambil suatu
file.
11.2 Trivial File Transfer Protocol (TFTP)
TFTP merupakan standar protokol dengan STD nomer 33. Dijelaskan pada RFC 1350 – The TFTP
Protocol. Dan diupdate pada RFC 1785, 2347, 2348, dan 2349.
Transfer TFTP adalah transfer file antar disk (disk-to-disk), dengan menggunakan API SENDFILE.
TFTP menggunkan protokol UDP. TFTP client melakukan inisialisasi dengna mengirim permintaan untuk
read/write melalui port 69, kemudian server dan client melakukan negosiasi tentang port yang akan
digunakan untuk melakukan transfer file.
11.2.1 Penggunaan TFTP
Perintah TFTP <hostname> membawa pengguna pada prompt interaktiv, dimana dapat melanjutkan dengan
sub perintah, antara lain
Connect <host> Menentukan tujuan
Mode <ascii/binary> Menentukan mode pengiriman
Get <nama file remote> [<nama file lokal>] Mengambil file
Put <nama file remote> [<nama file lokal>] Menaruh file
Verbose
Quit Keluar TFTP
11.3 Network File System (NFS)
SUN Microsystems Network File System (NFS) adalah protokol yang dapat membagi sumber daya melalui
jaringan. NFS dibuat untuk dapat independent dari jenis mesin, jenis sistem operasi, dan jenis protokol
transport yang digunakan. Hal ini dilakukan dengan menggunakan RPC.
NFS dijelaskan pada RFC 1813 – NFS: NFS Version 3 Protocol dan RFC 3010 – NFS Version 4 Protocol.
101
11.3.1 Konsep NFS
NFS memperbolehkan user yang telah diijinkan untuk mengakses file-file yang berada di remote host
seperti mengakses file yang berada di lokal. Protokol yang digunakan :
1. Protokol mount menentukan host remote dan jenis file sistem yang akan diakses dan menempatkan
di suatu direktori
2. Protokol NFS melakukan I/O pada remote file sistem
Protokol mount dan protokol NFS bekerja dengan menggunakan RPC dan mengirim dengan protokol TCP
dan UDP.
11.3.1.1 Protokol Mount
Protokol ini digunakan untuk membuat link dengan cara me-mount pada suatu direktori
Perintah yang digunakan adalah mount.
Gambar 11.94 Protokol Mount
Untuk mengakses pengguna harus menjalankan program mount terlebih dahulu, contoh :
# mount //remote/share /mnt
Peritah tersebut digunakan untuk mengakses server dengan nama remote dan memiliki direktori yang
dibagikan dengan nama share, kemudian di mount di direktori /mnt pada komputer lokal.
Setelah selesai menggunakan atau memodifikasi file, pengguna harus melakukan pelepasan dengan
perintah umount, contoh :
# umount /mnt
11.3.1.2 Protokol NFS
NFS adalah program RPC yang memberikan I/O kepada remote host, setelah di lakukan permintaan oleh
program mount.
102
Gambar 11.95 Protokol NFS
11.3.2 NFS versi 4
Merupakan perbaikan dari versi 3, dengan beberapa fitur tambahan antara lain :
- Mengurangi transfer informasi yang dibutuhkan oleh protokol mount
- Keamanan pada layer RPC
- Mendukung RPCSEC_GSS
- Mendukung kerberos
- Bentuk baru dari file handle
- Gabungan perintah lookup dan read
- Mendukung format file 32bit
103
12 Aplikasi Surat (Mail)
Electronic-Mail (E-Mail) merupakan aplikasi TCP/IP yang paling banyak digunakan. Bab ini membahas
protokol yang mendukung aplikasi email.
12.1 Simple Mail Transport Protocol (SMTP)
SMTP merupakan protokol dasar yang bertugas untuk menukarkan email (mail exchange) antar host yang
berbasis TCP/IP. Standar dari protokol ini ada 3 yaitu :
- Standar yang digunakan untuk pertukaran email antar komputer (STD 10/RFC 821), disebut
standar SMTP
- Standar yang digunakan untuk format pesan (STD 11) dengan dijabarkan pada RFC 822 yang
berisi tentang sintak mail dan RFC 1049 yang berisi tentang penggunaan file yang bukan berupa
ASCII text (email menggunakan 7bit ASCII) supaya dapat digunakan pada badan email. Standar
ini disebut MAIL
- Standar yang digunakan untuk menjalurkan email berdasarkan domain name system (DNS),
dijabarkan pada RFC 974 dengan nama DNS-MX
Standar diatas digunakan untuk email yang menggunakan format bahasa Inggris, sedangkan standar
penggunaan email yang mendukung penggunaan bahasa lain antara lain :
- Multipurpose Internet Mail Exchange (MIME) dijabarkan pada RFC 2045 hingga 2049.
- Pelayanan tambahan dari SMTP berupa : pemberitahuan service extension pada SMTP client,
penggunaan 8bit format data, batas ukuran email.
12.1.1 Cara kerja SMTP
SMTP bekerja berdasarkan pengiriman end-to-end, dimana SMTP client akan menghubungi SMTP server
untuk segera mengirimkan email. SMTP server melayani pengguna melalui port 25.
Dimana setiap pesan harus memiliki :
- Header atau amplop, yang dijabarkan pada RFC 822.
- Kontent, yang berisi tentang isi dari surat yang akan dikirimkan.
12.1.1.1 Format mail header
Pengguna tidak perlu kebingungan tentang mail header, karena semuanya sudah diatur oleh SMTP.
Format dari mail header adalah
Bagian-nama : Bagian-isi
Contoh penggunaan mail header :
To: Sukaridhoto <dhoto@eepis-its.edu>
Contoh bagian header yang sering digunakan antara lain
Tabel 12.9 SMTP – Header yang sering digunakan
Kata kunci Nilai
to Tujuan dari email
cc Tujuan kedua dari email (carbon-copy)
from Pengirim email
reply-to Alamat pengembalian email
return-path Alamat host untuk pengembalian email
Subject Subjek tentang email yang diisikan oleh pengguna
104
Gambar 12.96 Envelope, Header, Body
12.1.1.2 Mail Exchange
Model SMTP dapat dilihat pada Gambar 12 .97. Dari hasil pengguna meminta mail. SMTP pengirim
melakukan koneksi 2 arah dengan SMTP penerima. SMTP dapat berupa tujuan akhir atau penerus (mail
gateway). SMTP pengirm akan membangkitkan perintah untuk melakukan reply to pada SMTP penerima.
Gambar 12.97 Model SMTP
Diagram alir pertukaran surat SMTP
Pertukaran email yang terjadi adalah sebagai berikut :
1. SMTP Pengirim melakukan koneksi TCP/IP dengan SMTP penerima dan menunggu server untuk
mengirim pesan 220 yang menandakan pelayanan terhadap pesan sudah siap atau pesan 421
pelayanan tidak siap
2. HELO (kependekan dari hello) dikirim oleh server dengan menunjukkan nama domain.
3. Pengirim akan memulai memberikan perintah kepada SMTP dimana apabila SMTP mendukung
perintah tersebut akan membalas dengan pesan 250 OK
4. Memberikan informasi kepada SMTP tentang tujuan dari email dengan perintah RCPT TO
dilanjutkan dengan alamat email yang dituju.
5. Setelah tujuan diset, dilanjutkan dengan perintah DATA yang menunjukkan bahwa baris
berikutnya adalah isi dari email dengan diakhiri dengan <CRLF>.<CRLF>
6. Client mengisikan data sesuai dengan pesan yang akan dikirimkan hingga mengisikan
<CRLF>.<CRLF>
7. Pengirimkan akan menghentikan kegiatan dengan memberi perintah QUIT.
105
Gambar 12.98 Aliran SMTP
Dapat dicontohkan dengan :
Gambar 12.99 Contoh penggunaan SMTP
12.1.2 SMTP dan Domain Name System
Apabila jaringan menggunakan DNS, maka SMTP tidak dapat hanya dengan mudah mengirimkan suatu
email ke TEST.IBM.COM hanya dengan membuka koneksi TCP ke TEST.IBM.COM. Yang dilakukan
pertama kali adalah melakukan query ke server name dan mendapatkan hasil ke arah mana tujuan tersebut.
106
SMTP akan mencari record pada DNS dengan tanda MX, dan akan mengirimkan ke email ke host yang
tercatat pada host tersebut
Gambar 12.100 Cara kerja Email
12.2 Multipurpose Internet Mail Extensions (MIME)
MIME adalah standar internet yang menyambung format email supaya mendukung format text dengan
format selain US-ASCII, non-text attachment, multi-part pada badan pesan, dan informasi pada header.
Keseluruhan email yang ditulis oleh pengguna akan dikirim melalui SMTP dengan format MIME. Selain
digunakan pada sistem email MIME juga digunakan pada protokol lainnya seperti HTTP pada world wide
web. MIME dijabarkan pada RFC 2045, RFC 2046 dan RFC 2049. Dasar internet untuk protokol email ,
SMTP, hanya mendukung 7bit ASCII, karena itu ditambah dukungan dengan MIME supaya bisa
mendukung yang lainnya.
107
12.2.1 Header yang terdapat pada MIME
Gambar 12.101 Contoh MIME
12.2.1.1 MIME-Version
Versi yang digunakan pada MIME
MIME-Version: 1.0
12.2.1.2 Content-Type
Tipe yang digunakan pada pesan
Content-Type: text/plain
Tabel 12.10 Contoh Content-type
Tipe Subtipe Deskripsi
Text Plain Unformated text
108
Enriched Text yang memiliki format
Image Gif Gambar dengan format GIF
Jpeg Gambar dengan format JPEG
Audio Basic Suara
Video Mpeg Film dengan format MPEG
Application Octet-Stream Sequence yang tidak terinterpreted
Postscript Dokumen for postscript
Message RFC822 MIME RFC 822
Partial Pesan yang dipisah
External-body Pesan yang ditarik dari jaringan
Multipart Mixed Independent
Alternative Pesan yang sama beda format
Parallel Bagian yang harus dilihat secara bersamaan
Digest Tiap bagian merupakan bagian RFC 822
12.2.1.3 Content-Transfer-Encoding
Metode yang digunakan untuk pengiriman pada email, yaitu :
- 7bit
- Quoted-printable
- Base64
12.2.1.4 Encoded-Word
Digunakan bila menggunakan karakter lain
12.2.1.5 Multipart-Messages
Pemisah bagian pesan
Content-type: multipart/mixed; boundary="frontier"
MIME-version: 1.0
This is a multi-part message in MIME format.
--frontier
Content-type: text/plain
This is the body of the message.
--frontier
Content-type: text/html; encoding=UTF-8
Content-transfer-encoding: base64
PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg
Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
--frontier--
12.3 Post-Office-Protocol (POP)
Para pengguna email, akan menggunakan protokol POP untuk mengambil email yang berada di server.
Protokol yang digunakan sekarang adalah versi 3 sehingga disebut POP3.
POP3 berkembang dari protokol sebelumnya yang disebut POP (biasa disebut POP1) dan POP2.
Protokol POP3 didesign untuk pengguna dengan jaringan yang sebentar-bentar harus dimatikan. Sehingga
pengguna dapat menggunakan email tanpa harus terkoneksi secara terus-menerus. Walaupun pada POP3
terdapat pilihan “leave messages on server”, pengguna email biasanya akan mengkoneksikan, mengambil
email dan menyimpan pada PC, menghapus email di server dan memutus koneksi.
109
POP3 server melayani pengguna melalui port 110.
Gambar 12.102 Contoh Penggunaan POP3
12.4 Internet Message Access Protocol version 4 (IMAP4)
IMAP4 adalah protokol yang dapat digunakan oleh pengguna untuk membaca email di suatu server.
IMAP4 dijabarkan pada RFC 3501.
Contoh penggunaan telnet pada IMAP
Gambar 12.103 Telnet IMAP
12.5 Cara kerja Email
110
Gambar 12.104 Cara kerja EMAIL
Client menggunakan MUA (Mail User Agent) untuk membaca email dengan cara POP3 atau IMAP4. Dan
untuk mengirimkan email melalui protokol SMTP.
Antar mail server atau MTA (Mail Transfer Agent) saling bertukar email melalui protokol SMTP, dan
menyimpan email dalam format Mbox atau Maildir.
Mbox adalah tipe penyimpanan email dimana email disimpan dalam 1 file untuk masing-masing user.
Maildir adalah tipe penyimpanan email dimana email disimpan dalam 1 folder untuk masing-masing user.
Gambar 12.105 Maildir
111
Gambar 12.106 Mbox
112
13 World Wide Web
Bab ini menjelaskan beberapa protokol dan aplikasi yang menjadikan internet mudah digunakan dan
populer. Sebagai bukti, trafik world wide web yang menggunakan layanan hypertext transfer protocol
(HTTP), dapat melebihi penggunaan protokol lainnya seperti TELNET dan FTP dalam penggunaan
bandwidth. Dapat dipastikan setiap sistem operasi modern telah dilengkapi dengan aplikasi web browser,
bahkan beberapa dilengkapi dengan web server. Dengan itu akan semakin mudah bagi pengguna dan dunia
bisnis untuk dapat saling bertukar informasi di dunia jaringan komputer.
World wide web pertama kali dikembangkan pada tahun 1989 oleh Tim Berners Lee di European
Laboratory untuk Particle Physic. Digunakan untuk berbagi dokumen dengan para ilmuwan.
Pada tahun 1993, penggunaan web semakin semarak, dengan dikembangkannya web browser berbasis
grafik user interface oleh National Center of Supercomputing Applications (NCSA) yang disebut mosaic.
Sehingga pengguna semakin mudah untuk melakukan akses web.
13.1 Hypertext Transfer Protocol (HTTP)
HTTP adalah suatu metode yang digunakan untuk transfer suatu informasi melalui world wide web.
Didesign untuk memberikan cara untuk mempublikasikan dan mengambil halaman HTML.
Pengembangan HTTP dikoordinir oleh World Wide Web Concortium berkolaborasi dengan Internet
Engineering Task Force, menghasilkan RFC 2616 yang berisikan tentang HTTP/1.1.
HTTP merupakan protokol yang digunakan untuk request/respon antara client dan server. Bentuk dari client
adalah web browser, spider atau bentuk lainnya yang direferensi sebagai user agent. Dan tujuan server,
dimana menyimpan atau membuat sumber daya seperti file HTML dan file gambar, disebut origin server.
Diantara server dan client bisa terdapat penghubung (intermediate) antara lain proxy, gateway atau tunnel.
HTTP client memulai requestnya dengan menggunakan TCP sebagai layer transportnya dengan mengakses
port 80 pada server.
Sumber daya yang diakses melalui HTTP disebut Uniform Resource Identifiers (URI) dengan mengakses
suatu Uniform Resource Locators (URL).
13.1.1 Request Message
Pesan request terdiri dari :
- Request line, seperti GET / images/logo.gif HTTP/1.1, dimana artinya mengakses file logi.gif pada
direktori images.
- Header, seperti Accept-Language : en
- Baris kosong
- Pilihan badan pesan.
Request line dan header diikuti dengan CRLF (Carriage Return yang diikuti dengan Line Feed).
13.1.2 Request Method
HTTP mendifinisikan 8 metode yaitu :
HEAD
Meminta respon yang mirip dengan GET hanya saja tanpa dilanjutkan dengan badan pesan.
Metode ini digunakan untuk mengambil informasi meta.
GET
Meminta sumber daya yang spesifik, dan digunakan untuk mengakses halaman web.
POST
Mensubmit suatu data untuk diproses. Data dimasukkan kedalam badan pesan
113
PUT
Melakukan upload suatu resource ke suatu site
DELETE
Menghapus suatu resource
TRACE
Melakukan echo back terhadap suatu resource, sehingga client dapat melihat intermediate yang
ada.
OPTIONS
Mengembalikan metode HTTP dari server, digunakan untuk melihat resource dari suatu web
server
CONNECT
Digunakan untuk proxy apabila mengakses suatu site yang mendukung SSL
Safe Methods
Metode yang didefiniskan safe antara lain GET dan HEAD, digunakan hanya untuk pengambilan data dan
tanpa melakukan perubahan disisi server. Metode yang didefinisikan unsafe antara lain POST, PUT dan
DELETE, harus ditampilkan kepada pengguna dengan cara yang khusus, biasanya dalam bentuk tombol
dan bukan link, dan dapat membuat pengguna lebih memperhatikan data yang akan dikirimkan.
13.1.3 Versi HTTP
HTTP berkembang mengikuti perkembangan perangkat lunak. Sehingga versi yang pernah digunakan
adalah :
0.9
Kadaluwarsa dan hanya mendukung metode GET
HTTP/1.0
Protokol yang digunakan pertama kali digunakan
HTTP/1.1
Versi yang sekarang digunakan dengan mendukung persistent connection dan bekerja dengan
proxy.
HTTP/1.2
Versi yang akan datang, sedang dikembangkan oleh W3C dan akan digunakan sebagai HTTP
Extension Framework.
13.1.4 Kode Status (Code Status)
Reson pertama kali yang muncul pada saat mengakses suatu web dan digunakan sebagai kode informasi
status yang digunakan pada client. Contoh kode status antara lain :
- Informasional (1xx), informasi yang digunakan untuk mengambil informasi
o 100 Continue
o 101 Switching protocol
- Sukses (2xx), akses yang berhasil
o 200 OK
o 201 Created
o 202 Accepted
o 203 Non-authoritative information
o 204 No-Content
o 205 Reset Content
o 206 Partial Content
- Redirection (3xx), informasi ini memberitahukan kepada user agent untuk melakukan request
tambahan supaya mencapai akses.
o 300 Multiple choices
o 301 Moved permanently
o 302 Moved temporarily
o 303 See Other
o 304 Not Modified
o 305 Use Proxy
114
- Client Error (4xx), terjadi kesalahan pada client
o 400 Bad request
o 401 Unauthorized
o 402 Payment Required
o 403 Forbidden
o 404 Not found
o 405 Method not allowed
o 406 Not acceptable
o 407 Proxy Authentication Required
o 408 Request Timeout
o 409 Conflict
o 410 Gone
o 411 Length Required
o 412 Precondition failed
o 413 Request entity too large
o 414 Request URI too long
o 415 Unsupported media
- Server error (5xx), informasi ini memberitahukan kepada client bahwa terjadi kesalahan di server.
o 500 Internal server error
o 501 Not implemented
o 502 Bad Gateway
o 503 Service unavailable
o 504 Gateway timeout
o 505 HTTP version not supported
13.1.5 Contoh
Berikut ini merupakan contoh komunikasi HTTP antar client dan server. Server berjalan di
www.sample.com, dengan port 80.
Client request
Gambar 13.107 Client mengakses HTTP
Kemudian server akan memberikan respon
Server respon
Gambar 13.108 Respon dari server
13.2 Web Browser
Web browser adalah aplikasi perangkat lunak yang membantu pengguna untuk dapat melakukan interaksi
dengan tulisan, gambar dan informasi lainnya yang terdapat di suatu halaman web pada suatu website pada
World Wide Web. Tulisan dan gambar dapat berupa hyperlink pada halaman lain pada website yang sama
atau berbeda.
115
Web browser terdapat di personal computer dengan aplikasi Microsoft Internet Explorer, Mozilla Firefox,
Appe Safari, Netscape dan Opera (rangking menurut survey 2006). Web browser merupakan HTTP user
agent.
Web Browser berkomunikasi dengan menggunakan protokol HTTP pada suatu URL. Kebanyakan browser
sudah mendukung protokol lainnya seperti FTP (File Transfer Protocol), RTSP (Real Time Sreaming
Protocol) dan HTTPS (Versi HTTP yang mendukung enkripsi SSL).
Gambar 13.109 Contoh dari web browser (Mozilla-Firefox)
13.2.1 Sejarah
Tim Berners-Lee menggunakan NeXTcube sebagai aplikasi web server pertama kali pada tahun 1990, dan
memperkenalkan pada CERN pada tahun 1991. Sehingga semenjak tahun tersebut pengembangan web
browser semakin meningkat.
Web browser pertama adalah Silversmith, diciptakan oleh John Bottoms pada tahun 1987, menggunakan
sistem SGML. Kemudian disusul oleh ViolaWWW yang berbasis HyperCard.
Perkembangan web browser meledak semenjak terciptanya NCSA Mozaic, yang merupakan web browser
dengan GUI pertama kali, dikeluarkan pada September 1993. Marc Andreessen yang merupakan kepala
proyek tersebut keluar dari NCSA dan membuat perusahaan dengan nama Netscape Communications
Corporation.
Netscape mengeluarkan produk dengan nama Navigator pada tahun 1994, dan menguasai pasar dunia.
Kemudian diikuti oleh Microsoft dengan mengeluarkan produk web browser dengan nama Internet
116
Explorer, yang dibeli dari perusahaan Spyglass Inc. Hal ini yang menimbukan perang web browser, perang
antara Microsoft dan Netscape.
Perang berlanjut dengan masing-masing perusahaan memberikan fitur-fitur tambahan seperti Cascading
Style Sheet (CSS) dari Microsoft dan JavaScript Style Sheet(JSSS) dari Netscape. Kemudian Netscape
semakin kalah dibandingkan dengan Microsoft dengan dalih penggunaan web browser yang sudah menjadi
satu dengan sistem operasi OEM.
Akhirnya Netscape membuat produknya menjadi Open Source dengan membuat projek Mozilla.
Perusahaan Netscape kemudian dibeli oleh America Online pada tahun 1998, hal ini manarik developer
sehingga pada tahun 2002 mengeluarkan Mozilla 1.0. Projek ini semakin berkembang dan pada tahun 2004
keluar produk dengan nama Mozilla-Firefox dengan versi 1.0. Pada tahun 2005 keluar versi 1.5, versi 2
dijadwalkan akan keluar pada tahun 2006 dan sudah dipersiapkan produk Firefox 3. Sekarang Firefox
merupakan web browser yang banyak digunakan, hampir 10% dari Traffik Internet.
Opera, web browser yang dapat dijalankan di perangkat genggam dan PC keluar pada tahun 1996.
Lynx merupakan web browser favorit bagi pengguna shell di unix.
Macintosh mengeluarkan Apple Safari yang merupakan web browser yang dikembangkan dari projek
Konqueror. Safari digunakan pada sistem operasi Mac OS X.
13.2.2 Fitur
Standar web browser harus mendukung fasilitas sebagai berikut :
- HTTP dan HTTPS
- HTML, XML dan XHTML
- Format gambar termasuk GIF, PNG, JPEG, dan SVG
- Cascading Style Sheet (CSS)
- Java Script (Dynamic HTML) dan XMLHttpRequest
- Cookie
- Digital Certificate
- Favicons
- RSS, Atom
Sedangkan fitur fundamental yang harus didukung antara lain :
- Bookmark
- Caching dari isi web
- Mendukung media lain melalui plugin, contoh Macromedia Flash
Fasilitas tambahan seperti
- Autocompletition dari URL
- Browsing secara Tabular
- Navigasi spasial
- Navigasi Caret
- Screen Reader
Fasilitas penghilang pengganggu
- Pop-Up advertisement
- Filter iklan
- Pertahanan terhadap phising
13.2.3 Struktur Web Browser
Secara keseluruhan web browser memiliki struktur seperti pada Gambar 13 .110.
117
Gambar 13.110 Struktur Web Browser
13.3 Web Server
Pengertian web server dapat diartikan sebagai berikut :
1. Komputer yang memiliki tanggung jawab untuk menerima HTTP request dari client, yang
biasanya menggunakan web browser dan melayani dalam bentuk halaman web, dimana biasanya
berupa dokumen HTML dan objek link seperti gambar dll.
2. Program komputer yang melayani HTTP.
13.3.1 Fitur
Banyak program web server yang beredar, tetapi pada dasarnya memiliki fitur yang sama yaitu :
1. HTTP: merespon permintaan HTTP dan memberikan jawaban HTTP dengan memberikan
dokumen HTML dan memberikan informasi kesalahan bila terjardi kesalahan.
2. Logging: web server memiliki fasilitas logging tentang informasi client yang melakukan request,
respon yang diberikan oleh server, disimpan pada suatu file log. Dari file log tersebut webmaster
dapat membuat analisa statistik dengan menjalan aplikasi log analyzer.
Pada prakteknya webserver juga memberikan fasilitas lainnya yaitu :
1. Configurability, dapat dilakukan konfigurasi bahkan dengan aplikasi eksternal
2. Authentication, memberikan fasilitas authorisasi (meminta informasi username dan password),
sebelum mengakses suatu atau semua resource
3. Dapat menangani tidak hanya konten static tetapi juga konten dinamik yang diberikan dari
berbagai interface (SSI, CGI, SCGI, FastCGI, PHP, ASP, ASP.NET, ServerAPI, dll)
118
4. Mendukung Modular, memberikan fasilitas diluar program inti, dan ditempatkan dalam bentuk
modular, sehingga server bisa memanggilnya apabila diperlukan.
5. HTTPS protokol HTTP dengan keamanan enkripsi dari SSL maupun TLS. Menggunakan koneksi
pada port 443.
6. Kompresi terhadap konten dengan menggunakan fasilitas gzip, sehingga bisa mengurangi
penggunaan bandwidth
7. Virtual Host, membentuk multi web server walau hanya menggunakan 1 alamat IP
8. Mendukung file dengan ukuran besar
9. Bandwidth Throttling, dapat mengatur penggunaan bandwidth terhadap pengakses
13.3.2 Tipe Konten
Konten yang diberikan oleh webserver dapat dikatakan :
- statik, apabila berasal dari file yang terdapat pada filesistem
- dinamik, apabila berasal dari suatu program atau script yang dipanggil oleh web server.
Memberikan layanan statik dapat diakses lebih cepat dari pada layanan dinamik, terlebih lagi bila konten
tersebut harus mengakses database terlebih dahulu.
13.3.3 Translasi Path
Web server melakukan peralihan jalur dari URL menuju ke filesistem, dimana URL pada web server relatif
terhadap direktori document root.
Contoh client mengakses suatu alamat
http://www.example.com/path/file.html
Web browser akan merubah menjadi HTTP/1.1 request
GET /path/file.html HTTP/1.1
Host : www.example.com
Web server pada www.example.com akan menambahkan path tersebut pada akar direktori. Pada mesin
Unix biasanya terletak di /var/www/htdocs, sehingga menjadi
/var/www/htdocs/path/file.html
Web server akan membaca file tersebut, apabila file tersebut dapat ditemukan maka akan dikirimkan
kepada client sebagai HTTP respon.
13.3.4 Konkuren (concurency)
Aplikasi program web server menggunakan teknik pemrograman konkuren. Bahkan dikombinasikan
dengan finite state machine dan non-blocking I/O, untuk melayani permintaan HTTP.
13.3.5 Sejarah
Pada tahun 1998 Tim Berners-Lee mengusulkan kepada CERN (Pusat penelitian nuklir di Eropa) sebuah
proyek dengan tujuan mempermudah pertukaran informasi antar peneliti dengan menggunakan sistem
hypertext. Hasil dari proyek ini adalah 2 buah program, yaitu browser dengan nama WorldWideWeb dan
Web server, yang jalan di mesin NeXTSTEP.
119
Gambar 13.111 Mesin webserver pertama
13.3.6 Perangkat Lunak
Top rangking program aplikasi web server adalah :
- Apache HTTP Server dari Apache Software Foundation
- Internet Information Services (IIS) dari Microsoft
- Sun Java System Web Server dari Sun Microsystem, dalam bentuk Sun ONE web server, iPlanet
web server, dan Netscape Enterprice Server
- Zeus Web Server dari Zeus Technology
13.4 Konten
Web server melayani statik konten dan dinamik konten.
13.4.1 Konten Statik (Static Content)
Konten yang diambil secara langsung dari suatu file pada filesistem. Contoh dari konten statik antara lain :
- Hypertext Markup Language (HTML)
- Extensible Markup Language (XML)
13.4.2 Client-Side Dynamic Content
Fungsi dinamis dari aplikasi dijalankan disisi client. Contoh :
- Program dan Applet, contoh Java Applet yang berjalan menggunakan Java Virtual Machine
(JVM).
- Java Script, merupakan komponen dinamis dari web browser
13.4.3 Server-Side Dynamic Content
Dengan mengakses fungsi yang terdapat di webserver sehingga memperoleh hasil yang sesuai request
disebut dengan server-side dynamic content. Contoh :
- Common Gateway Interface (CGI), dengan menggunakan pemrogam PERL dapat dibuat aplikasi
yang sesuai dengan keinginan client
- API dari webserver tertentu, contoh Netscape Server API (NSAPI), dan Microsoft internet
Information Server API (ISAPI)
- Servlet, menjalankan aplikasi applet disisi server
120
- Server-Side Includes (SSI), digunakan oleh webserver yang mendukung teknologi JAVA sehingga
dapat merubah beberapa bagian kecil dari HTML
- Java Server Page (JSP), mengenerate halaman HTML dari suatu aplikasi
- PHP Hypertext Preprocessor (PHP), aplikasi modular yang ditambahkan kepada webserver untuk
membentuk suatu halaman HTML yang disesuaikan dengan input.
121
14 Manajemen Jaringan
Dengan berkembangnya jaringan TCP/IP yang sangat pesat, maka diperlukan juga suatu manajemen untuk
mengatur jaringan.
Internet Architecture Board (IAB) merekomendasikan RFC 1052 yang berisikan tentang :
- Simple Network Management Protocol (SNMP)
- ISO Common Management Information Service / Common Management Information Protocol
(CMIS / CMIP)
Dan IAB menyarankan untuk menggunakan SNMP.
14.1 Simple network Management Protocol (SNMP)
SNMP merupakan salah protokol resmi dari Internet Protocol suite yang dibuat oleh Internet Engineering
Task Force (IETF). SNMP merupakan contoh dari layer 7 aplikasi yang digunakan oleh network
management system untuk memonitor perangkat jaringan sehingga dapat memberikan informarsi yang
dibutuhkan bagi pengelolanya.
14.1.1 Management Information Base (MIBs)
MIB merupakan database yang digunakan untuk manajemen perangkat pada jaringan. Database tersebut
berisikan objek entiti dari perangkat jaringan (seperti router atau switch). Objek pada MIB didefinisikan
menggunakan Abstract Syntax Notation One (ASN 1), dan diberi nama “Structure of Management
Information Version 2 (SMIv2). Software yang digunakan untuk parsing disebut MIB compiler.
RFC yang membahas antara lain RFC1155 – Structure and identification of Management Information for
TCP/IP base internets, RFC1213 – Management Information Base for Network Management of TCP/IP-
based internets, dan RFC 1157 – A Simple Network Management Protocol.
SNMP, komunikasi yang terjadi antara management station (contoh: console) dengan management object
(seperti router, gateway dan switch), menggunakan MIB. Component yang berkerja untuk mengambil data
disebut SNMP agent, merupakan software yang dapat berkomunikasi dengan SNMP Manager.
14.1.2 Arsitektur SNMP
Framework dari SNMP terdiri dari :
Master Agent
Master agent merupakan perangkat lunak yang berjalan pada perangkat yang mendukung SNMP, dimana
bertujuan untuk merespon permintaan dari SNMP dari management station. Master agent kemudian
meneruskan kepada subagent untuk memberikan informasi tentang manajemen dengan fungsi tertentu.
Subagent
Subagent merupakan perangkat lunak yang berjalan pada perangkat yang mendukung SNMP dan
mengimplementasikan MIB. Subagent memiliki kemampuan :
- Mengumpulkan informasi dari objek yang dimanaj
- Mengkonfigurasi informasi dari objek yang dimanaj
- Merespon terhadap permintaan manajer
- Membangkitkan alarm atau trap
Management Station
Management station merupakan client dan melakukan permintaan dan mendapakan trap dari SNMP server.
122
14.1.3 Protokol SNMP
PDU dari SNMP (versi 1) antara lain :
1. GET REQUEST – digunakan untuk mendapatkan informasi manajemen
2. GETNEXT REQUEST – digunakan secara iteratif untuk mendapatkan sekuen dari informasi
manajemen
3. GET RESPONSE
4. SET – digunakan untuk melakukan perubahan terhadap subsistem
5. TRAP – digunakan untuk melakukan pelaporan terhadap subsistem manajemen
Untuk versi berikutnya ditambahkan PDU :
1. GETBULK REQUEST – iterasi yang lebih cepat untuk mendapatkan informasi
2. INFORM – acknowledge terhadap TRAP
SNMP menggunakan UDP pada port 161 untuk agent dan 162 untuk manager. Manager mengirimkan
permintaan terhadap agent pada port 161 dan diterima pada manager pada port 162.
14.1.4 Perkembangan dan penggunaan
Version 1
RFC untuk SNMP, dikenal dengan nama Simple Network Management Protocol version 1, pada tahun
1988 :
- RFC 1065 – Structure and identification of management information for TCP/IP-based internets
- RFC 1066 – Management information base for network management of TCP/IP-based internets
- RFC 1067 – A Simple Network Management Protocol
Kemudian menjadi kadaluwarsa dengan digantikan dengan :
- RFC 1155 – Structure and identification of management information for TCP/IP-based internets
- RFC 1156 – Management information base for network management of TCP/IP-based internets
- RFC 1167 – A Simple Network Management Protocol
Versi 1 memiliki kelemahan pada sistem authentifikasi karena mengirimkan password secara plain text.
Version 2
Versi 2 ini banyak yang tidak menggunakan dikarenakan ketidak cocokan framework.
Simple Network Management Protocol version 2 (RFC 1441 – RFC 1452) dan juga dikenal sebagai SNMP
v2. Diperkenalkan GETBULK sebagai alternatif dari GETNEXT. Dikenalkan juga Community-Based
Simple Network Management Protocol version 2 atau yang disebut SNMP v2c sebagai pengganti sistem
authentikasi
User-Based Simple Network Management Protocol version 2, atau SNMP v2u yang digunakan untuk
memperbaiki keamanan dari SNMP v1.
Version 3
Versi ini didefinisikan pada RFC 3411 – RFC 3418 yaitu Simple Network Management Protocol version 3,
dikeluarkan pada tahun 2004.
Pada prakteknya SNMP bisa menggunakan versi SNMPv1, SNMPv2c, atau SNMPv3. Dijabarkan pada
RFC 3584 – Coexistence between Version 1, Version 2, and Version 3 of the Internet-Standard Network
Management Framework.
Contoh Penggunaan
- Memonitoring waktu penggunaan suatu perangkat (sysUpTimeInstance)
- Inventory dari versi sistem operasi (sysDescr)
- Mengkoleksi informasi suatu interface (ifName, ifDescr, ifSpeed, ifType, ifPhysAddr)
- Mengukur throughput interface dari jaringan (ifInOctets, ifOutOctets)
- Menarik informasi cache dari ARP (ipNetToMedia)
123
14.1.5 Mengimplementasikan SNMP
snmpwalk
Gambar 14.112 Keluaran dari snmpwalk
Router Graphing Software
Banyak informasi yang bisa ditampilkan, misal performance, load dan error rate dari suatu jaringan seperti
router atau switch. Kemudian dengan fungsi khusus, informasi yang didapat diolah menjadi dalam bentuk
grafik.
Contoh aplikasi Multi Router Traffic Grapher dan Cacti
14.2 Multi Router Traffic Grapher
Multi Router Traffic Grapher atau yang disingkat MRTG adalah free software yang digunakan untuk
memonitoring traffik load pada link jaringan. Dimana pengguna dapat melihat laporan dalam bentuk grafik.
MRTG ditulis dalam bentuk perl dan berjalan di UNIX/Linux dan juga pada sistem operasi Windows dan
juga pada Netware. MRTG menggunakan lisensi Gnu GPL.
Gambar 14.113 Logo MRTG
Dikembangkan pertama kali oleh Tobias Oetiker dan Dave Rand, pertama kali digunakan untuk
memonitoring router. Sekarang sudah dikembangkan untuk menjadi report berbagai macam. Informasi
lengkap dapat dilihat di http://oss.oetiker.ch/mrtg/
Gambar 14.114 Contoh traffik MRTG
124
MRTG berkembang menjadi RRDTool, yaitu round-robin database tool. Penggunaan RRDTool dapat
dikembangkan menjadi berbagai macam aplikasi contohnya cacti, JFFNms dan masih banyak lainnya.
125


