ARSITEKTUR IP
1.1
PENDAHULUAN
Pada dasarnya, komunikasi data merupakan proses mengirimkan data dari satu
komputer ke komputer yang lain. Untuk dapat mengirimkan data, pada komputer harus
ditambahkan alat khusus, yang dikenal sebagai network interface (interface jaringan).
Jenis interface jaringan ini bermacam-macam, bergantung pada media fisik yang
digunakan untuk mentransfer data tersebut.
Dalam proses pengiriman data ini terdapat beberapa masalah yang harus dipecahkan. Pertama data harus dapat dikirimkan ke
komputer yang tepat, sesuai tujuannya. Hal ini akan menjadi rumit jika komputer tujuan transfer data ini tidak berada pada
jaringan lokal, melainkan di tempat yang jauh. Jika lokasi komputer yang saling berkomunikasi jauh (secara jaringan) maka
terdapat kemungkinan data rusak atau hilang. Karenanya perlu ada mekanisme yang mencegah rusaknya data ini.
Hal lain yang perlu diperhatikan ialah, pada komputer tujuan transfer data
mungkin terdapat lebih dari satu aplikasi yang menunggu datangnya data. Data yang
dikirim harus sampai ke aplikasi yang tepat, pada komputer yang tepat tanpa kesalahan.
Untuk setiap problem komunikasi data, diciptakan solusi khusus berupa aturanaturan untuk menangani problem tersebut. Untuk menangani semua masalah komunikasi
data, keseluruhan aturan ini harus bekerja sama satu dengan lainnya. Sekumpulan aturan
untuk mengatur proses pengiriman data ini disebut sebagai protocol komunikasi data.
Protocol ini diimplementasikan dalam bentuk program komputer (software) yang terdapat
pada komputer dan peralatan komunikasi data lainnya.
TCP/IP adalah sekumpulan protocol yang didesain untuk melakukan fungsifungsi komunikasi data pada WAN. TCP/IP terdiri atas sekumpulan protocol yang
masing-masing bertanggung jawabatas bagian-bagian tertentu dari komunikasi data.
Berkat prinsip ini, tugas masing-masing protocol menjadi jelas dan sederhana. Protocol
yang satu tidak perlu mengetahui cara kerja protocol yang lain, sepanjang ia ,masih bisa
saling mengirim dan menerima data.
Berkat penggunaan prinsip ini, TCP/IP menjadi protocol komunikasi data yang
fleksibel. Protocol TCP/IP dapat diterapkan dengan mudah di setiap jenis komputer dan
interface jaringan, karena sebagian besar isi kumpulan protocol ini tidak spesifik terhadap
satu komputer atau peralatan jaringan tertentu. Agar TCP/IP dapat berjalan di atas
interface jaringan tertentu, hanya perlu dilakukan perubahan pada protocol yang
berhubungan dengan interface jaringan saja.
1.2
Application Layer
(SMTP, FTP, HTTP, dll)
Transport Layer
(TCP, UDP)
Internet Layer
(IP, ARP, ICMP)
TCP/IP
Stack
Jaringan Fisik
TCP/IP terdiri atas empat lapis kumpulan protocol yang bertingkat. Keempat lapis/layer
tersebut adalah :
-
Internet Layer
Transport Layer
Application Layer
Dalam TCP/IP terjadi penyampaian data dari protocol yang berada di satu layer ke
protocol yang berada di layer yang lain. Setiap protocol memperlakukan semua informasi
yang diterimanya dari protocol lain sebagai data.
1.3
Network
Interface H.
Data
Application
Layer
IP Header
Data
Transport
Layer
TCP
Header
IP Header
Data
Network
Layer
TCP
Header
IP Header
Data
Network
Interface Layer
Lapisan/layer protocol berikutnya ialah Internet Layer. Protocol yang berada pada
layer ini bertanggung jawab dalam proses pengiriman paket ke alamat yang tepat. Pada
layer ini terdapat tiga macam protocol, yaitu IP, ARP dan ICMP.
IP (Internet Protocol) berfungsi untuk menyampaikan paket data ke lamat yang
tepat. ARP (Address Resolution Protocol) ialah protocol digunakan untuk menemukan
alamat hardware dari host/komputer yang terletak pada network yang sama. Sedangkan
ICMP (Internet Control Message Protocol) ialah protocol yang digunakan untuk
mengirimkan pesan & melaporkan kegagalan pengiriman data
Layer berikutnya yaitu Transport layer berisi protocol yang bertanggung jawab
untuk mengadakan komunikasi antara dua host/komputer. Kedua protocol tersebut ialah
TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol).
Layer teratas, ialah Application Layer. Pada layer inilah terletak semua aplikasi yang
menggunakan protocol TCP/IP ini.
BAB II
INTERNET PROTOCOL
Dalam melakukan pengiriman data protokol IP memiliki sifat yang dikenal sebagai
unreliable, connectionless, datagram delivery servrce.
Unreliable atau ketidakhandalan berarti tidak ada jaminan sampainya data di tempat
tujuan. Connectionless berarti dalam mengirim paket dari tempat asal ke tujuan, tidak
diawali dengan perjanjian (handshake) antara pengirim & penerima. Sedangkan datagram
delivery service berarti setiap paket data yang dikirim adalah independen terhadap paket
data yang lain. Jalur yang ditempuh antara satu data dengan yang lain bisa berbeda.
Sehingga kedatangannya pun bisa tidak terurut seperti urutan pengiriman.
Dalam mengirim data, protokol IP memiliki format datagram khusus sebagai berikut :
VERSION
HEADER
LENGTH
TYPE OF SERVICE
IDENTIFICATION
TIME TO LIVE
PROTOCOL
FRAGMENT OFFSET
HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
OPTIONS
STRICT SOURCE ROUTING, LOOSE SOURCE ROUTING
DATA
Version untuk menunjukkan versi protokol yang dipakai, Header Length menunjukkan
panjang paket header dalam hitungan 32 bit. Type of Service menunjukkan kualitas
layanan, Total Length of datagram menunjukkan total keseluruhan panjang datagram.
Identification, Flags & Fragment Offset digunakan untuk fragmentasi paket, TTL
menunjukkan jumlah hop maksimal yang dilewati paket IP.
Sedangkan Protocol mengandung angka yang mengidentifikasikan protokol layer
atasnya. Header Checksum untuk mengecek kebenaran isi header datagram. Source &
destination IP Address merupakan alamat pengirim dan penerima datagram. Untuk byte
option dapat berisi Strict Source Route, yaitu daftar lengkap alamat IP dari router yang
harus dilalui untuk sampai ke tujuan, dan Loose Source Route.
2.1
PENGALAMATAN
2.1.1
Identifikasi Universal
Suatu sistem komunikasi dikatakan mampu menyediakan layanan komunikasi
universal jika di dalam sistem tersebut setiap host dapat berkomunikasi dengan seluruh
host yang ada dalam sistem tersebut. Untuk dapat berkomunikasi diperlukan suatu
metode global pengenalan host yang dapat diterapkan disemua host yang ada.
Seringkali metode identifikasi host menggunakan name, addresses atau routes.
Dimana
name
mengidentifikasikan
apa
nama
objek
tersebut,
addresses
2.1.2
Format Alamat IP
Bentuk Biner
Alamat IP merupakan bilangan biner 32 bit yang dipisahkan oleh tanda pemisah
berupa tanda titik setiap 8 bitnya. Tiap 8 bit ini disebut sebagai oktet. Bentuk alamat
IP adalah sebagai berikut :
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
setiap symbol x dapat digantikan oleh angka 0 dan 1, misalnya sebagai berikut :
11100011.00111001.11110001.00000001
11100011.00111001.11110001.00000001
227.57.224.1
gambar Notasi Dotted-Decimal
2.1.3
Seperti telah disebutkan sebelumnya, alamat IP digunakan untuk mengidentifikasi suatu host. Kemudian timbul pertanyaan
bagaimana suatu pengalamatan suatu gateway yang terhubung banyak koneksi ?, tentu saja tidak bisa menggunakan satu alamat
IP.
Multi-homed address & gateway memerlukan alamat-alamat IP yang berbeda. Setiap alamat mengidentifikasikan koneksi yang
berbeda. Jadi suatu alamat IP bukan untuk identifikasi suatu host individu melainkan mengidentifikasi suatu koneksi di jaringan
meliputi identifikasi jaringan dan host yang terhubung. Untuk n koneksi, suatu gateway memiliki n alamat IP.
2.1.4
Keuntungan dari pengkodean informasi jaringan di alamat internet adalah untuk mendapatkan perutean yang efisien.
Keuntungan lain yang didapat adalah alamat internet dapat mengacu ke jaringan yang dipakai sebaik pengacuan ke suatu host.
Sebagai contoh semua bit pada hostid bernilai 0 tidak akan pernah digunakan untuk menandai suatu host, melainkan untuk
menandai suatu jaringan.
Contoh lain, jika semua bit pada hostid bernilai 1 maka berarti pengalamatan untuk semua host di jaringan tersebut (broadcast).
2.1.5
Pengalamatan ini menyediakan suatu alamat broadcast untuk jaringan lokal yang tidak tergantung pada alamat IP. Alamat
broardcast local terdiri dari 32 bit dengan nilai 1.
Suatu host dapat menggunakan alamat broadcast terbatas ini sebagai bagian dari prosedure start-up sebelum mempelajari alamat
IP atau
2.2
KLASIFIKASI
Setiap host yang terhubung di jaringan internet memiliki alamat internet unik
01234
Class A
Class B
1 0
Class C
1 1 0
Class D
1 1 1 0
Class E
1 1 1 1 0
16
netid
24
31
hostid
netid
hostid
netid
hostid
multicast address
reserved for future use
Kelas B
Format
Identifikasi
Panjang NetID
Panjang HostID
Byte pertama
Jumlah jaringan
Range IP
Jumlah IP
Kelas C
Format
Identifikasi
Panjang NetID
Panjang HostID
Byte pertama
Jumlah jaringan
Range IP
Jumlah IP
Kelas D
Format
: 1110mmmm mmmmmmmm mmmmmmmm mmmmmmmm
Identifikasi
: 4 bit pertama bernilai 1110
Bit multicast
: 28 bit
Byte Inisial
: 224 - 247 bit
Deskripsi
: Kelas D adalah ruang alamat multicast (RFC 1112)
Kelas E
Format
: 1111rrrr rrrrrrrr rrrrrrrr rrrrrrrr
Identifikasi
: 4 bit pertama 1111
Bit cadangan
: 28 bit
Byte inisial
: 248 255
Deskripsi
: Kelas E adalah ruang alamat yang dicadangkan
untuk keperluaan eksperimental
Dari macam-macam bentuk alamat IP, setiap kelas dapat diidentifikasi dari 3 bit
tertinggi dengan dua bit menjadi pembeda tiga kelas utama. Kelas A digunakan untuk
jaringan besar dengan 216 host terhubung kepadanya. Untuk kelas A, 7 bit untuk netid dan
24 bit untuk hostid. Kelas B untuk jaringan berukuran sedang, dengan daya tampung
antara 28 sampai 216 host. Kelas B mengalokasikan 14 bit untuk netid & 16 bit untuk
hosted. Kelas C mampu menghubungkan kurang dari 28 host dengan mengalokasikan 21
bit untuk netid dan hanya 8 bit untuk hostid.
2.3
ROUTING
2.3.1
Routing di Internet
Dalam suatu sistem packet switching, routing mengacu pada proses pemilihan jalur untuk
pengiriman paket, dan router adalah perangkat yang melakukan tugas tersebut.
Perutean dalam IP melibatkan baik gateway maupun host yang ada. Ketika suatu program
aplikasi dalam suatu host akan berkomunikasi, protocol TCP/IP akan membangkitkannya
dalam bentuk banyak datagram. Host harus membuat keputusan perutean untuk memilih
jalur pengiriman.
2.3.2
Pengiriman langsung (direct delivery) adalah transmisi datagram dari suatu mesin
langsung ke mesin lain, dan hal ini dapat terjadi bila keduanya berada dalam satu media
2.3.3
Table Routing
Network
10.0.0.0
10.0.0.5
30.0.0.6
Network
20.0.0.0
20.0.0.6
40.0.0.7
Network
30.0.0.0
30.0.0.7
Network
40.0.0.0
Ada 4 jaringan dengan 3 gateway yang menghubungkannya. Pada gambar di atas bila
gateway G memiliki tabel perutean maka berisi :
20.0.0.0
30.0.0.0
10.0.0.0
40.0.0.0
DELIVER DIRECTLY
DELIVER DIRECTLY
20.0.0.5
30.0.0.7
Ukuran tabel routing tergantung pada jumlah jaringan yang terhubung. Kapasitasnya
akan bertambah jika jumlah jaringan yang terhubung bertambah tanpa tergantung pada
host yang terhubung.
Metode lain untuk menghemat ukuran tabel routing adalah menjadikan masukkanmasukkan tertentu dalam bentuk default. Prinsip dari metode ini : perangkat lunak IP
akan melihat dahulu isi tabel routing untuk jaringan tujuan, jika tidak ada jalur yang
terlihat dalam tabel maka dikirimkan datagram ke default gateway.
Metode ini sangat berguna untuk jaringan dengan jumlah alamat local tidak terlalu
banyak & hanya satu koneksi menuju internet.
2.3.3.1
Proses pencarian pada tabel routing ini biasanya mengikuti langkah-langkah dibawah ini :
1.
Alamat tujuan datagram di-masking dengan subnet mask host pengirim dan
dibandingkan dengan alamat network host pengirim. Jika sama, maka ini
adalah routing langsung dan frame langsung dikirimkan ke interface jaringan
2.
Jika tujuan datagram tidak terletak dalam satu jaringan, perikasa apakah
terdapat entri routing yang berupa host dan bandingkan dengan alamat IP
tujuan datagram. Jika ada entri yang sama, kirim frame ke router menuju host
tersebut.
3.
jika tidak terdapat entri host yang cocok pada tabel routing, gunakan alamat
tujuan datagram yang telah di-mask pada langkah 1 untuk mencari kesamaan
di tabel routing. Periksa apakah ada network/subnetwork di tabel routing yang
sama dengan alamat network tujuan datagram. Jika ada entri yang sama, kirim
frame ke router menuju network/subnetwork tersebut.
4.
jika tidak terdapat entri host ataupun entri network/subnetwork yang sesuai
dengan tujuan datagram, host mengirimkan frame ke router default dan
menyerahkan proses proses routing selanjutnya kepada router default.
5.
Jika tidak terdapat rute default di tabel routing, semua host diasumsikan dalam
keadaan terhubung langsung. Dengan demikian host pengirim akan mencari
alamat fisik host tujuan menggunakan ARP
2.3.3.2
Ketika suatu host baru dinyalakan, ia belum memiliki cache ARP yang lengkap. Entri
pada cache ARP yang dimilikinya hanya untuk host itu sendiri. Setelah berinteraksi
dengan host lain, barulah host tersebut memiliki entri-entri tambahan pada cache ARP.
Hal yang sama juga terjadi pada tabel routing di host. Pada saat host baru dinyalakan,
host tersebut tidak memiliki informasi di tabel routing kecuali entri untuk jaringan
lokalnya. Tabel routing seperti ini kadang-disebut sebagai tabel routing minimal. Dalam
kondisi hanya memiliki tabel routing minimal, host belum siap untuk melakukan
internetwork karena hanya dapat berkomunikasi dengan host-host yang terletak pada satu
jaringan lokal.
Langkah pertama untuk mempersiapkan host untuk dapat melakukan fungsi internetwork
adalah dengan memberikan entri rute default pada tabel routing. Dari rute default yang
dimiliki pengisian tabel routing dapat dilakukan dengan beberapa metode dibawah ini :
a. Routing Redirect
Router (dalam hal ini router default) dapat menyatakan bahwa dirinya bukan rute terbaik
untuk mencapai host tertentu, melainkan harus melalui router yang lain dalam jaringan
lokal berdasarkan tabel routing yang dimilikinya. Jika demikian, maka router tersebut
mengirimkan pesan kepada host pengirim datagram menggunakan ICMP redirect dan
memberitahukan host pengirim tersebut agar datagram menuju host tertentu dialihkan
melalui router lain. Host pengirim menerima pesan ICMP redirect itu dan menambahkan
entri host pada tabel routing dengan informasi routing yang baru.
b. Routing Statik
metode lain yang dapat dipakai untuk membentuk tabel routing adalah dengan memakai
routing static. Pada metode ini entri-entri rute di host dan di router dimasukkan secara
manual
c. Protokol Routing
protokol routing adalah protokol yang digunakan oleh router-router untuk saling bertukar
informasi routing. Router-router pada jaringan TCP/IP membentuk tabel routing
berdasarkan informasi routing yang dipertukarkan setiap selang waktu tertentu.
2.3.4
Protokol Routing
Sistem autonomous adalah suatu sistem jaringan internet yang berada dalam satu kendali
administrasi dan teknis.
Ada beberapa macam Protokol routing yang sering digunakan, diantaranya :
-
Berdasarkan pembagian utamanya maka protokol routing yang termasuk dalam IGP
adalah RIP & OSPF, sedangkan yang termasuk dalam EGP adalah BGP.
2.4
Protocol TCP/IP menggunakan pemetaan secara dinamik alamat IP ke alamat fisik level
rendah. ARP hanya melalui jaringan tunggal dan terbatas ke jaringan yang mendukung
adanya layanan broadcasting.
2.4.1
Untuk memilih skema yang membuat resolusi alamat yang efisien berarti memilih
fungsi f yang memetakan alamat IP ke alamat fisik. Resolving alamat IP IA berarti
menghitung :
PA = f(IA)
Contoh : penggunaan X.25 yang tidak mengijinkan pemilihan alamat fisik.
Biasanya gateway menyimpan pasangan alamat IP & fisik dalam satu tabel dan
mencari dalam tabel ketika me-resolve suatu alamat IP. Fungsi Hash dapat digunakan
untuk pencarian yang lebih efisien.
2.4.3
(a)
X
(b)
Ide dari metode ini adalah jika suatu host (A) ingin me-resolve suatu alamat (IB)
maka A mem-broadcast paket khusus yang meminta host dengan alamat IP
(IB)untuk meresponnya dengan alamat fisik PB. semua host termasuk B menerima
request tetapi hanya host B yang mengenali alamat IP-nya & kemudian mengirim
balasan(reply) yang berisi alamat fisik host B. ketika A menerim reply, A
menggunakan alamat tersebut untuk mengirim paket internet secara langsung ke
B.
2.4.4
b.
Resolusi alamat untuk paket yang dikirimkan terlihat sederhana, ttetapi memiliki
implementasi yang agak komplek.
Ketika diberikan suatu alamat IP tujuan, host akan mengecek cache ARP-nya
apakah pemetaan alamat tersebut sudah ada. Jika ada maka alamat fisik akan
diproses, membentuk frame dengan alamat fisik yang didapat & mengirimkan
frame tersebut. Tetapi jika alamat IP belum tercantum maka dikirimkan ARP
secara broadcast & menunggu reply yang datang.
Jika reply tidak datang karena mesin tujuan tidak aktif atau tertunda karena sibuk,
maka dapat mengakibatkan request lost.
2.4.6
ARP MESSAGE
FRAME HEADER
Untuk mengidentifikasi frame yang membawa request ARP atau reply ARP,
pengirim harus menambahkan suatu nilai di header frame dan menempatkan
pesan ARP dalam field datanya.
Contoh : frame yang membawa pesan ARP memiliki type field = 080616 yang
merupakan nilai standar yang digunakan di Ethernet.
HARDWARE TYPE
HARDWARE TYPE
HLEN
PLEN
OPERATION
SENDER HA (octet 0-3)
SENDER HA (octet 4-5)
SENDER IP (octet 0-1)
SENDER IP (octet 2-3)
TARGET HA (octet 0-1)
TARGET HA (octet 2-5)
TARGET IP (octet 0-3)
terlihat 28 oktet pesan ARP yang digunakan di perangkat keras Ethernet ( dimana
alamat fisik sepanjang 48 bit atau 6 oktet), ketika melalukan resolving alamat IP(
panjang 4 oktet).
Di gambar juga terlihat pesan ARP dengan panjang 4 oktet per baris, suatu format
yang sesuai dengan standarisasi.
2.5
Dalam suatu sistem connectionless setiap gateway akan melakukan pengiriman, perutean
datagram yang dating tanpa adanya koordinasi dengan pengirim pertama. Tidak semua
sistem berjalan dengan lancar. Kegagalan dapat saja terjadi. misalnya line komunikasi,
prosesor atau dikarenakan mesin tujuan tidak sedang aktif, ttl dari counter habis, atau
ketika terjadi kemacetan sehingga gateway tidak lagi bisa memproses paket yang datang.
Dalam koneksi dengan internet pengirim tidak dapat memberitahukan & tidak tahu sebab
kegagalan suatu koneksi. Untuk mengatasinya diperlukan suatu metode yang
mengijinkan gateway melaporkan error atau menyediakan informasi mengenai kejadian
yang tidak diinginkan sehingga dipakai mekanisme ICMP.
Pesan ICMP merupakan bagian dari datagram IP. Tujuan akhir dari suatu pesan ICMP
bukan merupakan program atau user melainkan software internet-nya. Ketika pesan
ICMP hadir software ICMP akan menanganinya.
ICMP mengijinkan gateway untuk mengirim pesan error ke gateway lain atau host. ICMP
menyediakan komunikasi antar software protocol Internet.
Pada dasarnya terdapat dua macam pesan ICMP : ICMP Error Message & ICMP Query
Message. ICMP error message digunakan pada saat terjadi kesalahan pada jaringan,
sedangkan query message adalah jenis pesan yang dihasilkan oleh protokol ICMP jika
pengirim paket menginginkan informasi tertentu yang berkaitan dengan kondisi jaringan.
destination unreachable
pesan ini dihasilkan oleh router jika pengiriman paket mengalami kegagalan
akibat masalah putusnya jalur, baik fisik maupun lojik. Pesan ini dapat dibagi
menjadi beberapa tipe :
o network unreachable
jika jaringan tujuan tidak dapat dihubungi
o host unreachable
jika host tujuan tidak bisa dihubungi
o protocol at destination is unreachable
time exceeded
dikirimkan jika is field TTL dalam paket IP sudah habis masa aktifnya dan
paket belum juga sampai ke tujuannya
parameter problem
pesan ini dikirim jika terjadi kesalahan parameter pada header paket IP
source quench
jika router atau tujuan mengalami kemacetan, sebagai respon terhadap pesan
ini maka pihak penerima harus memperlambat pengiriman paket
redirect
dikirimkan jika router merasa host mengirimkan paket IP melalui router yang
salah.
Address Mask
Untuk mengetahui berapa netmask yang harus digunakan oleh suatu host
dalam suatu network.
ICMP HEADER
DATAGRAM HEADER
FRAME HEADER
ICMP DATA
Type Field
Echo Reply
Destination Unreachable
Source Quench
Echo Request
11
12
13
Timestamp Request
14
Timestamp Reply
15
16
17
18
BAB III
TRANSMISSION CONTROL PROTOCOL & USER
DATAGRAM PROTOKOL
16
UDP SOURCE PORT
31
UDP DESTINATION PORT
UDP CHECKSUM
DATA
...
Field SOURCE PORT & DESTINATION PORT berisi 16 bit nomor port protocol
UDP yang digunakan untuk men-demultiplex-kan datagram diantara proses-proses yang
menunggu untuk menerimnya. Penggunaan SOURCE PORT adalah opsional. Ketika
digunakan, field tersebut menspesifikasikan port kemana reply seharusnya dikirimkan.
LENGTH berisi jumlah oktet dalam datagram UDP termasuk di dalamnya header UDP
& data user.
UDP CHECKSUM bersifat opsional dan tidak harus digunakan semua. Nilai 0 berarti
checksum tidak harus dikomputasi.
Pseudo-header ini terdiri dari 12 oktet data seperti pada gambar dibawah ini :
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
ZERO
PROTO
UDP LENGTH
3.1.3
UDP terletak di atas layer protokol Internet. Secara konseptual program aplikasi akan
mengakses UDP, dimana dengan menggunakan IP untuk mengirim dan menerima
datagram. Konsep layering UDP dapat digambarkan sebagai berikut :
Application
User Datagram Protokol (UDP)
Internet (IP)
Network Interface
Pesan UDP yang terdiri dari data & header UDP akan dienkapsulasi dalam datagram IP
agar bisa melalui jaringan Internet. Proses enkapsulasi dapat dilihat pada gambar berikut :
UDP
HEADER
IP
HEADER
FRAME
HEADER
IP DATA AREA
Enkapsulasi disini berarti proses penambahan atribut (bisa header maupun trailer) ke
suatu data agar data tersebut dikenali dan dapat dilewatkan pada suatu protokol tertentu.
3.1.4
Sebuah software yang melalui layer-layer dari suatu hirarki protokol harus me-multiplex
atau me-demultiplex-kan banyak objek pada layer berikutnya. UDP software menerima
datagram UDP dari banyak program aplikasi dan melalukannya untuk transmisi protokol
IP. Software UDP juga akan menerima kedatangan datagram UDP dari IP dan
melalukannya ke program aplikasi yang sesuai.
Secara konseptual semua proses multiplexing dan demultiplexing antara software UDP
dan program aplikasi terjadi melalui mekanisme port. Setiap program aplikasi harus
bernegosiasi dengan sistem operasi untuk mendapatkan port protokol dan nomor port
yang bersesuaian sebelum mengirim datagram UDP. Sekali sebuah port sudah dipakai
oleh suatu program aplikasi, maka datargram dari program aplikasi mengirim melalui
port akan memiliki nomor port tersebut dalam field SOURCE PORT.
Ketika memproses input, UDP akan menerima kedatangan datagram dari software IP dan
men-demultiplex-kan berdasarkan port tujuan UDP seperti pada gambar berikut :
Port 1
Port 2
Port 3
UDP : Demultiplexing
Based On Port
IP Layer
cara termudah adalah membayangkan port UDP sebagai sebuah antrian. Di sebagian
besar implementasi, ketika suatu program aplikasi bernegosiasi dengan suatu sistem
operasi untuk penggunaan port, sistem operasi akan membentuk suatu antrian internal
yang dapat menangani kedatangan pesan. Aplikasi dapat menentukan atau mengubah
ukuran antrian.
Ketika suatu datagram tiba, aplikasi akan mengecek untuk melihat apakah destination
port-nya sesuai dengan salah satu port yang sedang digunakan. Jika ada yang sesuai maka
UDP akan mengantrikan datagram tersebut pada port dimana program aplikasi dapat
menngaksesnya. Jika antrian port penuh maka UDP akan membuang datagram tersebut.
3.2
3.2.1
Layanan pengiriman data pada level dibawah level transport seringkali mengabaikan
kehandalan
suatu
layanan.
Kehilangan
paket,
kegagalan
perangkat
jaringan,
stream orientation
untuk layanan data dalam kapasitas besar, data dianggap sebagai aliran
(stream) bit yang dibagi-bagi menjadi oktet atau byte.aliran byte yang masuk
ke mesin tujuan memiliki urutan yang sama pada waktu pengiriman.
buffered transfer
program aplikasi mengirimkan aliran data ke virtuat circuit yang terbentuk
dengan cara mengirim oktet-oktet data ke protocol software secara berulang.
Ketika mentransfer data setiap aplikasi dapat menggunakan beragam ukuram
oktet. Protocol software akan mengirimkan data tersebut sesuai urutan aslinya.
Protocol ini dapat dengan bebas membagi paket
menjadi bagian-bagian
Unstructured Stream
3.2.2
Reliabilitas
Salah satu metode untuk menerapkan layanan transfer reliable di atas layanan tidak
reliable adalah dengan teknik Positive Acknowledgement with Retransmission.
Metode yang dijalankan adalah metode pengiriman jawaban untuk pemberitahuan bahwa
data yang dikirimkan telah diterima. Pengirim akan menyimpan 1 record dari setiap paket
yang dikirimkannya & menunggu datangnya ack sebelum mengirim paket yang
berikutnya. Ketika pengiriman dilakukan pengirim juga mengaktifkan suatu timer untuk
menandai masa aktif suatu paket. Timer ini juga digunakan untuk batasan bilamana perlu
dilakukan retransmisi.
Event At Sender Site
Network Message
Event At Receiver
Site
Send Packet 1
Receive Paket 1
Send ACK 1
Receive ACK 1
Send Packet 2
Receive Packet 2
Send ACK 2
Receive ACK 2
Network Message
Packet lost
Event At Receiver
Site
Packet should arrive
ACK should be sent
Timer Expires
Retransmit Packet 1
Start Timer
Receive ACK 1
Cancel Timer
Receive Packet 2
Send ACK 2
Masalah yang mungkin muncul akibat dari paket yang terlambat adalah adanya duplikasi
data. Untuk menanganinya diperlukan perhatian pada aspek paket & ack-nya. Duplikasi
dapat dideteksi oleh protocol dengan memeriksa sequence number yang terdapat pada
tiap paket & meminta penerima untuk mengingat sequence number yang telah diterima.
Untuk menghindari kesalahan intepretasi antara paket tertunda atau ack yang
terduplikasi, protocol ack positif akan mengirim kembali sequence number dalam paket
ack.
3.2.3
Sliding Windows
Untuk meningkatkan efisiensi pengiriman sehingga jaringan tidak sering idle digunakan
sliding windows.
Sliding windows adalah metode pengiriman banyak paket dalam satu ukuran window
secara kontinyu tanpa harus menunggu kehadiran ack.
Initial Windows
10
. . . .
10
. . . .
Windows Slides
Pada gambar di atas window yang dipakai berukuran delapan paket. Window akan
bergeser sebanyak jumlah ack yang diterimanya yang menandakan boleh dikirimnya
paket yang menjadi anggota dalam windows tersebut. Retransmisi juga akan dilakukan
untuk paket-paket yang tidak dijawab dengan ack.
Performansi protocol sliding window bergantung pada ukuran window yang digunakan &
kecepatan jaringan dalam menerima paket.
3.2.4
TCP merupakan protokol layer transport yang dapat menyediakan layanan connectionoriented, realiable & byte stream orientation .
Protokol TCP menyediakan :
-
spesifikasi format paket data & ack yang dipertukarkan antara 2 host untuk
penyediaan layanan yang reliable
metode komunikasi antar host jika terjadi duplikasi atau lost packet.
Pada dokumentasi protocol yang ada, hanya mendiskusikan mengenai operasi yang dapat
disediakan oleh TCP, tetapi tidak menspesifikasikan prosedur program aplikasi yang
terlibat dalam suatu proses operasi. Alasan dari tidak ditentukannya interface program
aplikasi adalah untuk mendukung fleksibelitas.
3.2.5
Dalam skema dibawah ini protokol TCP terletak di atas protokol IP. Protokol ini
mengijinkan adanya banyak program aplikasi pada suatu mesin untuk berkomunikasi
secara bersamaan. Dimana dilakukan pula demultiplex trafik dari banyak aplikasi
program tersebut.
Application
Reliabel
Stream (TCP)
User
Datagram (UDP)
Internet (IP)
Network Interface
Untuk mengidentifikasi mesin tujuan digunakan nomor port. (berupa bilangan integer
dalam skala kecil ).
Protocol Software akan menempatkan setiap datagram yang baru datang sebagai antrian
pada port-port yang ada sesuai dengan jenis aplikasinya.
Konsep identifikasi layanan yang dipegang oleh TCP adalah connection abstraction,
yaitu identifikasi virtual circuit connection. Satu koneksi terdiri dari sepasang end point.
End point adalah pasangan integer (host,port), dimana host menunjukkan alamat IP yang
digunakan & port menunjukkan nomor port TCP dalam suatu host.
Contoh :
End point (128.10.2.3,25) :
! TCP port =25
! Yang berada di host dengan alamat IP 128.10.2.3
Koneksi antara host (18.26.0.36) di MIT ke host (128.10.2.3) di Purdue
Univercity :
(18.26.0.36,1069) dan (128.10.2.3,25)
secara bersamaan terdapat koneksi dari (123.9.0.32) ke host di Purdue :
(128.9.0.32,1184) dan (128.10.2.3,53)
dilakukan
misal
10
11
...
Pointer pertama menandai bagian kiri sliding window yang memisahkan antara oktet
yang sedang dikirim dan yang belum dikirim. Pointer ke dua manandai batas kanan yang
merupakan tanda untuk oktet tertinggi dalam urutan yang dapat dikirim sebelum ack
datang. Pointer ketiga menandai batas dalam yang memisahkan antara oktet yang telah
tengah dikirim dengan yang tengah belum dikirim.
Protocol software akan mengirim semua oktet tanpa delay sehingga batasan di window
akan berpindah secara cepat dari kiri ke kanan.
3.2.8
DESTINATION PORT
SEQUENCE NUMBER
ACKNOWLEDGEMENT NUMBER
HLEN
RESERVED
CODE BITS
WINDOW
CHECKSUM
URGENT POINTER
PADDING
DATA
...
SOURCE PORT & DESTINATION PORT berisi nomor port TCP yang
mengidentifikasikan program aplikasi pada end koneksi. SEQUENCE NUMBER
mengidentifikasikan
posisi
oktet
data
dalam
segmen
yang
dikirimkan.
PSH
RST
SYN
FIN
Pengirim akan menentukan ukuran data yang dapat diterima setiap pengiriman segment
dengan mengisi field WINDOW dengan panjang 32 bit.
Tidak semua segment yang dipertukarkan antara dua sistem memiliki ukuran yang sama,
namun demikian persetujuan antara ukuran maksimum segment harus ada. Permintaan
ukuran segment maksimum ini dapat dilakukan dengan menggunakan field OPTIONS.
Pemilihan maksimum segment dapat mempengaruhi performansi. Terlalu besar akan
menyebabkan adanya fragmentasi, dan terlalu kecil menyebabkan utilitas jaringan
rendah.
BAB IV
PROTOKOL APLIKASI
4.1
sulit untuk diingat. Penggunaan alamat dengan nama akan lebih mudah diingat. Untuk itu
diperlukan suatu pemetaan alamat IP ke nama host atau end system yang ada dan
sebaliknya.
Pada awalnya digunakan teknik yang dinamakan host table. Masing-masing
host/komputer menyimpan daftar kombinasi nama komputer dan alamat IP, pada file
yang dinamakan HOSTS.TXT. File ini berisi nama dan alamat IP seluruh komputer yang
terkoneksi ke internet. File ini pula yang setiap kali diperbarui melalui FTP ke seluruh
host di Internet, jika terdapat penambahan host baru.
Kemudian dilakukan pendistribusian basis data hostname dan IP address ini.
Dengan pendistribusian ini, masing-masing organisasi hanya bertanggung jawab terhadap
basis data yang berisi informasi jaringan miliknya saja. Karena sifat basis data yang
terdistribusi, maka harus ada suatu mekanisme bagi host lain untuk bisa menemukan host
yang tepat, yang menyimpan data yang dibutuhkan.
Tahun 1984, Paul Mockapetris mengusulkan sistem basis data terdistribusi yang
dinamakan DNS (Domain Name System). Sistem inilah yang digunakan hingga sekarang.
Selain untuk memetakan alamat IP dan nama host, DNS juga digunakan sebagai
sarana bantu penyampaian e-mail (e-mail routing).
4.1.1
unnamed root
com
edu
gov
dec
purdue
nsf
....
us
vs
rest
on
cc
cs
ecn
nri
Domain teratas ialah Root Domain. Domain ini dituliskan dalam bentuk titik (.). Top
Level Domain terdiri atas semua node yang tepat berada di bawah root. Pada gambar di
atas hal ini ditunjukkan dengan node com, edu, gov dan seterusnya.
Subdomain merupakan kumpulan keturunan Top Level Domain. Node yang berada tepat
di bawah Top Level Domain disebut Second Level Domain. Node di bawah Second Level
Domain disebut Third Level Domain dan seterusnya.
Cara pembentukkan serta pembacaan nama host dan domain, sesuai dengan diagram di
atas, dimulai node paling bawah, mengikuti label yang tertera pada masing-masing node
dan berakhir di root.
Sebagai contoh :
xinu.cs.purdue.edu.
tanda titik yang melambangkan root disebut sebagai Fully Qualified Domain Name
(FQDN).
Top level domain digunakan untuk menunjukkan jenis perusahaan, instansi, lembaga atau
negara tempat komputer ini berada. Top Level Domain (TLD) ini dapat dibagi menjadi
3 jenis yaitu :
-
TLD arpa
Pada mulanya TLD yang dipakai ialah TLD generic. TLD generic ini terdiri atas
tujuh jenis domain yang terdiri atas tiga huruf. Domain com digunakan oleh organisasi
bersifat komersial (ibm.com, microsoft.com). Domain edu (Berkeley.edu, purdue.edu,
mit.edu) digunakan untuk lembaga pendidikan (universitas). Domain gov, digunakan
untuk lembaga pemerintahan (whitehouse.gov, odci.gov). domain int digunakan oleh
organisasi internasional (nato.int). domain mil digunakan oleh badan kemiliteran
Amerika Serikat (army.mil, navy.mil, af.mil). Domain net digunakan oleh penyedia
jaringan Internet (ibm.net, mci.net). Sedangkan domain org digunakan oleh organisasi
nonkomersial (greenpeace.org). hingga saat ini sistem pembagian organisasional ini
masih berlaku di Amerika.
Berdasarkan informasi ini kita dapat menyimpulkan bahwa komputer
xinu.cs.purdue.edu adalah komputer milik suatu lembaga pendidikan.
Dengan semakin banyaknya negara-negara yang terhubung ke internet, kemudian
diputuskan untuk menggunakan standar pembagian geografis yang ditetapkan sesuai
standar ISO 3166. inilah yang disebut TLD Negara. Berdasarkan konvensi tersebut
dialokasikan TLD yang merupakan pengenal geografis (negara) dan terdiri atas dua huruf
yang unik
Sebagai contoh negara Indonesi memiliki TLD .id, negara Inggris memiliki TLD
.uk (united kingdom), negara Malaysia memiliki TLD .my dan sebagainya.
Pada umumnya pembagian TLD secara geografis ini kemudian diikuti dengan pembagian
berdasarkan afiliasi organisasi bagi level domain di bawahnya. Ada yang mengadopsi
sistem pembagian di Amerika, seperti edu.au atau com.au, ada juga yang mengikuti
sistem pembagian yang dipelopori Inggris, seperti co.uk (corporation) atau ac.uk
(academic)
Konvensi pembagian nama domain di Indonesia ditetapkan sampai level kedua.
Sedangkan aturan penamaan domainya mengikuti sistem Inggris. Hal ini dapat
ditunjukkan pada tabel berikut :
Domain
go.id
co.id
ac.id
net.id
or.id
Keterangan
Subdomain untuk lembaga pemerintah
Subdomain untuk lembaga konvensional
Institusi akademik
Penyedia jasa network
LSM dan lembaga non komersial
Untuk penamaan third level domain dan seterusnya, hal ini diserahkan pada pengelola
jaringan yang bersangkutan. Misalnya pengelola jaringan di kampus kita digunakan
stttelkom.ac.id.
Selain memetakan nama host ke alamt IP, DNS juga memiliki fasilitas reserve
mapping. Fasilitas ini memetakan alamat IP ke domain-name. Reverse mapping jiga
digunakan untuk menghasilkan keluaran yang lebih manusiawi, mudah dibaca dan
diinterpretasikan, misalnya untuk pembacaan log-file.
Saat suatu organisasi bergabung ke Internet dan mendapatkan otoritas untuk nama
domain tertentu, dia juga mendapat otoritas utnuk nama space in-addr.arpa, yang sesuai
dengan IP address yang dimilikinya.
Keseluruhan domain name space di atas, baik yang biasa maupun yang reverse
mapping, sebagaimana digambarkan di gambar. Dan .. tidak dikelola oleh satu
server. Pengelolaanya dilakukan secara terdistribusi. Untuk itu, domain name space di
atas dibagi dalam zone-zone. Sebuah zone meliputi seluruh host di bawah domain
tertentu, keculai yang didelegasikan ke zona lain.
Zona ini bisa berupa level kedua domain, level ketiga domain, level keempat
domain dan seterusnya. Sebuah domain bisa membagi zonanya menjadi zona-zona yang
lebih kecil.
Saat administrator jaringan memutuskan untuk membentuk zona baru, maka harus
disediakan Name Server untuk zona tersebut. Nama dan alamat IP dari seluruh komputer
di zona ini harus diisikan ke Name Server tersebut. Name Server inilah nanti yang akan
menjawab setiap pertanyaan tentang zona yang bersangkutan.
Jika jumlah komputer di zona yang bersangkutan sedikit, maka tugas
administrator DNS menjadi ringan. Jika sebaliknya, maka sebaiknya dilakukaan
pembentukkan zona baru serta pendelegasian domain.
Jika pada suatu domain ingin dibentuk zona baru, ditugaskan sebuah primary
Name Server dan satu atau lebih Secondary Name Server untuk menangani zona ini.
Dengan demikian, Server DNS induk telah memberikan authority pada name server yang
bersangkutan untuk menangani zona tersebut. Kedua jenis server ini pun menjadi Name
Server yang authoritative untuk zona baru tersebut.
4.2
banyak digunakan untuk memindahkan atau menyalin file dari komputer satu ke
komputer lainnya. Aplikasi ini adalah aplikasi yang telah dikembangkan sejak awal
perkembangan Internet. Hal ini terlihat dari mulai didefinisikannya protocol ini sejak
Internet menggunakan RFC sebagai alat standarisasi. Kata FTP sendiri telah muncul di
RFC 172 yang diterbitkan tahun 1971.
Operasi protocol FTP ini cukup sederhana. Dengan menggunakan client FTP,
seorang pengguna dapat melihat iss direktori, memindahkan file dari dan ke server FTP,
serta membuat dan menghapus direktori di server tersebut. Dalam melakukan operasi
yang berhubungan dengan pengiriman isi file, FTP menggunakan koneksi TCP tambahan
yang khusus untuk mengirim isi file. Sekarang kita akan melihat secara sederhana proses
yang terjadi di dalam FTP sewaktu kita melakukan transfer file.
4.2.1
FTP menggunakan dua jenis hubungan (connection) untuk mentransfer sebuah file, yaitu
:
-
Control Connection; yang digunakan pada pola hubungan antara client server
yang normal. Server membuka diri secara pasif di sebuah port khusus selanjutnya
server menunggu hubungan yang akan dilakukan oleh client. Client segera aktif
membuka port tersebut untuk membangun control connection.
Control connection ini akan dipertahankan sepanjang waktu selama client masih
berkomunikasi dengan server. Hubungan ini digunakan oleh client untuk
mengirim perintah-perintah ke server, dan server menggunakannya untuk
memberi respon.
-
Data Connection yang dibangun setiap kali sebuah file ditransfer antara clientserver. Hubungan ini bersifat
user interface
user protocol
intepreter
file
system
user data
transfer function
data connection
server data
transfer function
file
system
jsagdfd
pada model di atas, pemakai di terminalnya melakukan aktivitas FTP, melalui user
interface baik yang berupa program windows FTP, atau yang command line. User
protocol interpreter selanjutnya yang akan melakukan hubungan control connection ke
server. Perintah-perintah FTP yang standard dikeluarkan oleh intepreter ini kepada server
melalui hubungan control connection.
Gambar tersebut juga memperlihatkan ada dua interpreter protocol yang menangani
kedua fungsi transfer data ketika dibutuhkan.
4.2.2
Interactive Access
Disediakan fasilitas interface interaksi antara client dengan server.
Format Specification
Client diperbolehkan menentukan tipe & format data.
Authentication Control
Ada kontrol autentifikasi untuk client yang meminta pengiriman file dari server
berupa masukkan login dan password dari client.
Perintah
ABORT
LIST filelist
PASS password
QUIT
RETR namafile
STOR namafile
Keterangan
Hentikan (abort) perintah FTP dan transfer data sebelumnya
Sebutkan daftar file atau direktori
Password di server
Keluar dari server
Ambil sebuah file
Kirim sebuah file
4.2.6
prosedur normal untuk mentransfer file atau direktori adalah sebagai berikut :
1.
2.
Client memilih sebuah nomor port di host client sebagai ujung dari
data connection pada sisi client.
Client secara pasif membuka port ini.
3.
Server menerima port tersebut dari control connection, dan mengirim balasan secara aktif
ke port di host client. Nomor port untuk data connection pada sisi server selalu 20.
4.3
Untuk pengiriman pesan, email relatif lebih mudah dan cepat dibandingkan dengan
prosedur transfer file. Protocol standar untuk pengiriman e-mail adalah SMTP.
Protokol SMTP menitikberatkan khususnya pada metode sistem pengiriman pesan
melalui suatu link dari suatu sumber ke tujuan. Protocol ini tidak mendefinisikan cara
sistem mail menerima mail dari suatu user atau cara interface user menampilkan user
yang mendapat mail. Protocol ini juga tidak menspesifikasikan bagaimana suatu mail
disimpan.
SMTP merupakan protocol sederhana dimana komunikasi antara client dengan server
dilakukan dengan pertukaran text yang dapat dibaca. Tahapan-tahapan komunikasi
dengan protocol SMTP :
-
saat inisialisasi client membangun koneksi dengan server dan menunggu server
mengirim pesan 220 REASY FOR MAIL.
Sekali komunikasi terbangun, sender dapat mengirim satu atau lebih pesan mail,
mengakhiri hubungan, atau meminta server bertukar aturan sehingga pesan dapat
mengalir ke arah sebaliknya.
Setiap penerima harus mengirim ACK untuk setiap pesan yang diterimanya.
Transakasi mail diawali dengan command MAIL. Field yang berisi alamat untuk
mengirimkan pesan kesalahan adalah FROM. Penerima menyiapkan struktur data untuk
menerima pesan mail baru dan menyalinnya ke command MAIL dengan mengirim
respon 250. respon 250 berarti segalanya dalam kondisi baik.
Setelah sukses menerima command MAIL, pengirim menuliskan rangkaian command
RCPT yang mengidentifikasikan pesan mail penerima. Penerima harus mengirim ACK
untuk setiap command RCPT dengan mengirim pesan 250 OK atau dengan mengirim
pesan 550 No such user here.
Setelah selesai dengan command RCPT, pengirim mulai dengan command DATA.
Penerima akan merespon dengan pesan 354 Start mail input dan menentukan urutan
karakter yang digunakan untuk mengakhiri pesan mail. Urutan terminasi terdiri dari 5
karakter :, carriage return, line feed, period, carriage return dan line feed.
Contoh :
User Smith di terminal Alpha.EDU mengirim suatu pesan ke user Jones, Green dan
Brown di host Beta.GOV. Software client SMTP di host Alpha.EDU menghubungi
software server SMTP di host Beta.GOV dan mulai pertukaran pesan :
S :
C:
S:
C:
S:
MAIL FROM:<Smith@Alpha.EDU>
250 OK
C:
S:
RCPT TO : <Jones@Beta.GOV>
250 OK
C:
S:
RCPT TO : <Green@Beta.GOV>
550 No such user here
C:
S:
RCPT TO :<Brown@Beta.GOV>
250 OK
C:
S:
C:
C:
C:
S:
DATA
354 Start mail input ; end with <CR><LF>.<CR><LF>
sends body of mail message
continues for as many lines as message contains
<CR><LF>.<CR><LF>
250 OK
C:
QUIT
S:
221 Beta.GOV Service closing transmission channel.
Pada contoh server menolak penerima Green karena tidak mengenal nama tersebut
sebagai tujuan yang valid. Protocol SMTP tidak menentukan detil penanganan error oleh
client.
Sekali client selesai mengirimkan semua pesan mail ke tujuan-tujuan tertentu, client
dapat memberikan command TURN. Penerima kemudian dengan 250 OK.
4.4
TELNET
TELNET merupakan protokol akses remote terminal sederhana. Dengan TELNET suatu
user dapat membangun sebuah koneksi TCP ke server di tempat yang berbeda,
mengaksesnya seolah user berada pada posisi server. TELNET juga dapat membawa
keluaran dari mesin yang berada pada remote ke terminal user.
Biasanya software client TELNET mengijinkan user untuk menentukan mesin yang akan
diremote dengan memberikan nama domain atau alamat IP-nya.
TELNET memberikan tiga layanan dasar :
1.
2.
3.
Ilustrasi mengenai cara program aplikasi mengimplementasikan TELNET untuk client &
server adalah sebagai berikut :
client reads
from
terminal
TELNET
client
user's
terminal
operating
system
client sends
to server
server receives
from client
TELNET
server
server sends
to pseudo
terminal
operating
system
TCP/IP
Internet
pada gambar terlihat, jika suatu user ingin menjalankan aplikasi TELNET ke komputer
lain, maka program aplikasi pada user tersebut berfungsi sebagai client. Client
membangun koneksi TCP ke server, komputer tempat user ingin berkomunikasi. Server
harus menerima koneksi TCP dari client dan kemudian me-relay data antara koneksi TCP
dan sistem operasi lokal.
Pada kenyataanya server mengerjakan sesuatu yang lebih komplek, karena harus
menangani banyak koneksi secara konkuren. Biasanya satu proses server master akan
menunggu koneksi baru dan membentuk slave baru untuk menangani setiap koneksi.
Pada gambar di atas, server TELNET merepresentasikan slave yang menangani satu
koneksi. Di gambar tersebut tidak memperlihatkan master server yang menangani request
baru, juga tidak menunjukan slave yang sedang menangani koneksi.
Pseudo-terminal disini digunakan untuk menerangkan entry point sistem operasi yang
mengijinkan aplikasi misalnya TELNET server berjalan.
Client
Server
Server' s
System
pada gambar di atas terlihat software pada client mentranslasikan rangkaian data &
perintah dari terminal user ke format NVT dan mengirimnya ke server. Software server
mentranslasikan rangkaian data dan perintah yang tiba dari format NVT ke format yang
seseuai dengan sistem remote. Untuk pengiriman kembali data server remote akan
mentranslasi dari format sistem remote ke format NVT untuk kemudian client lokal
mentranslasinya kembali dalam format mesin lokal
yang
4.5
Spesifikasi protokol ini didefinisikan oleh Tim Berners-lee dalam RFC 1945 dan
digunakan di Internet sejak tahun 1990. RFC 1945 mendefinisikan protokol ini untuk
versi 1.0 dimana masih dianggap memiliki kekurangan sehingga dilengkapi dengan versi
1.1 yang tertuang dalam RFC 2068. Perbaikkan dilakukan pada koneksi persistent dan
pipelined serta model cache yang lebih baik.
4.5.1
Model hubungan protokol ini adalah request-response, yaitu client menyampaikan pesan
request ke server dan server kemudian memberikan response yang sesuai dengan request
tersebut. Request & response dalam HTTP disebut sebagai respon chain & request
chain. Hubungan HTTP yang paling sederhana terdiri atas hubungan langsung antara
user agent dengan server asal. Beberapa komponen yang terlibat dalam sebuah hubungan
HTTP adalah : client, user agent, server asal, proxy, gateway dan tunnel. :
-
client
adalah program yang membentuk hubungan HTTP dengan tujuan untuk
mengirimkan request
user agent
client yang melakukan request dapat berupa browser, editor, spider atau perangkat
lain
server asal
server tempat menyimpan atau membuat resouce
proxy
program perantara yang bertindak sebagai server dan client dengan tujuan untuk
membuat request atas nama client yang lain.
Gateway
Server yang bertindak sebagai perantara untuk server lain. Gateway menerima
request seolah-olah ia adalah server asal dan client tidak mengetahui bahwa
gateway yang menerima request yang akan dikirim
Tunnel
Program perantara yang bertindak sebagai perantara buta antara dua hubungan
HTTP. Tunnel tidak dianggap sebagai pihak yang terlibat dalam hubungan HTTP,
walaupun ia dapat membuat HTTP request.
Pada protokol HTTP terdapat 3 jenis hubungan dengan perantara : proxy, gateway dan
tunnel. Proxy bertindak sebagai agen penerus, menerima request dalam bentuk Uniform
Resource Identifier (URI) absolut, mengubah format request, dan mengirimkan request
ke server yang ditunjukkan oleh URI. Gateway bertindak sebagai agen penerima dan
menterjemahkan request ke protokol server yang dilayaninya. Tunnel bertindak sebagai
titik relay antara dua hubungan HTTP tanpa mengubah request & response HTTP.
Tunnel digunakan jika komunikasi perlu melalui sebuah perantara dan perantara tersebut
tidak mengetahui isi dari pesan dalam hubungan tersebut.
Contoh hubungan HTTP yang melibatkan beberapa komponen dapat dilihat pada gambar
berikut :
User
Agent
Proxy
Tunnel
Gateway
Server Asal
Proxy atau gateway dapat menggunakan mekanisme cache untuk memperpendek rantai
hubungan HTTP. Proxy pada gambar di atas dapat menggunakan cache dan memberikan
response cache sehingga request dari UA tidak perlu dilayani oleh server asal karena
proxy telah memberikan response atas request tersebut.
4.5.2
Format HTTP
Kita mengenal protokol HTTP menggunakan format URL (Universal Resource Locator)
HTTP dalam bentuk :
http://host[:port][abs_path]
host adalah nama domain internet yang legal
port adalah bilangan yang menunjukkan port HTTP di host
jika port tidak disebutkan maka port HTTP diasumsikan sebagai 80
abs_path menyatakan lokasi resource di dalam host.
Contoh :
http://www.stttelkom.ac.id/home.html
Jika kita mengisikan URL tersebut ke browser, browser bertugas untuk mengartikan URL
tersebut dan menerjemahkannya dalam komunikasi protokol HTTP. Aturan dalam
mengartikan format URL HTTP mengikuti aturan umum URI, yaitu case sensitive,
kecuali nama dan skema URL case insensitive.
Komunikasi protokol HTTP terdiri atas pesan request yang diberikan oleh user agent dan
response yang dikeluarkan oleh server. Setiap request dan response HTTP menggunakan
format pesan generic seperti yang didefinisikan oleh RFC 822.
Pesan HTTP terdiri atas baris mulai, header pesan dan isi pesan dipisahkan oleh sebuah
baris kosong, yaitu hanya berisi karakter CRLF.
-
Baris mulai
pada pesan request berisi pesan permintaan dari client, sementara pada pesan
response, baris ini berisi status response atas request yang diterima.
Header pesan
dapat terdiri atas beberapa baris, bergantung pada field-field yang perlu disertakan
dalam header tersebut. Terdapat 4 jenis header pesan, yaitu header pesan umum
yang berlaku si setiap jenis pesan, header request, header response dan header
entity.
Header yang umum pada pesan HTTP request dan response adalah sebagai berikut :
Header-umum
Cache-
Control|Connection|Date|Pragma|TransferEncoding|Upgrade|Via
Field Cache-control memberikan aturan yang harus ditaati oleh seluruh
mekanisme cache dalam rantai request/response.
Field Connection mengatur tipe hubungan HTTP, apakah akan menggunakan
hubungan persisten atau tidak.
Field Date memberikan informasi mengenai waktu asal pesan.
Field Transfer-Encoding menentukan jenis transfer yang diberikan kepada isi
pesan agar dapat sampai dengan aman ke client.
Isi Pesan
Digunakan untuk mengirimkan isi entity. Keberadaan isi pesan dalam pesan
Major dan minor adalah bilangan yang menunjukkan versi dari protokol HTTP. Dengan
aturan ini penulisan versi protokol untuk versi 1.0 adalah HTTP/1.0 dan HTTP/1.1 untuk
versi 1.1.
Penyertaan versi protokol ini diperlukan karena dalam sebuah hubungan HTTP, server
dan client menggunakan versi yang berbeda. Untuk penanganannya digunakan versi yang
tertinggi.
4.5.3
REQUEST
Format baris mulai dari pesan request HTTP dimulai dengan metode request, diikuti oleh
URL untuk request, versi protokol yang digunakan dan diakhiri oleh karakter CRLF.
Request = Method SP Request-URI SP HTTP-Version CRLF
Method menunjukkan metode apa yang hendak dilakukan atas resource yang ditunjuk
oleh Request-URI. Ada beberapa metode yang didefinisikan oleh HTTP/1.1, yaitu :
OPTIONS, GET, HEAD, POST, PUT, DELETE dan TRACE. Untuk setiap pesan
request, server harus memberikan kode jawaban untuk memberitahu apakah client
diperbolehkan mengakses menggunakan method yang diinginkan. Jika method tidak
boleh digunakan, server harus menjawab dengan kode 405 (Method Not Allowed).
Diantara metode-metode di atas hanya metode GET & HEAD yang harus
diimplementasikan oleh semua server. Jika server tidak mengimplementasikan sebuah
metode atau tidak mengenal metode yang diminta client, maka server harus memberikan
response 501 (not implemented).
4.5.4
RESPONSE
Setelah menerima request, server harus memberikan response HTTP atas request
tersebut, yang terdiri atas baris status, header-header dan isi pesan. Baris status berisi
kode-status yang berupa kode tiga digit dan frasa-alasan, yaitu penjelasan singkat atas
kode-status tersebut.
Server HTTP dapat mengahasilkan kode-status selain yang didefinisikan dalam RFC
sepanjang digit pertama kode-status tersebut dimengerti oleh aplikasi HTTP.
Format baris-status adalah sebagai berikut :
Baris-status = HTTP-version SP Status-Code SP Reason-Phrase CRLF
4.5.5
Entity
Setiap pesan HTTP baik request maupun response dapat menyertakan isi pesan atau
entity tergantung dari apakah pesan tersebut memungkinkan untuk membawa entity.
Entity HTTP terdiri atas header entity dan isi entity. Header entity berisi informasi
mengenai isi entity atau mengenai resource yang ditunjuk oleh Request-URI.
4.5.6
Cache HTTP
Salah satu cara untuk mempercepat response HTTP di jaringan adalah dengan
menggunakan cache. Dalam protokol HTTP dimungkinkan dalam sebuah rantai
request/response terdapat beberapa proxy yang dapat bertindak sebagai server cache.
Spesifikasi protokol HTTP juga menyertakan elemen-elemen agar cache dapat dilakukan
sebaik mungkin. Tujuan adanya cache adalah mencegah pengiriman request dan
menghilangkan kebutuhan untuk mengirim response lengkap dari server. Cache
mencegah pengiriman request ke server asal dengan menggunakan mekanisme
kadaluwarsa sehingga memperpendek rantai request/response dan round trip.
Menghilangkan kebutuhan untuk mengirim respon lengkap dari server asal dengan
menggunakan mekanisme validasi berarti mengurangi kebutuhan bandwith.