Anda di halaman 1dari 52

BAB I

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

KONSEP LAYERING TCP/IP


Sekumpulan protocol TCP/IP ini dimodelkan dengan empat layer TCP/IP,

sebagaimana terlihat pada gambar dibawah ini.

Application Layer
(SMTP, FTP, HTTP, dll)
Transport Layer
(TCP, UDP)
Internet Layer
(IP, ARP, ICMP)

TCP/IP
Stack

Network Interface Layer


(Ethernet, X25,SLIP,PPP)

Jaringan Fisik

Gambar layer TCP/IP

TCP/IP terdiri atas empat lapis kumpulan protocol yang bertingkat. Keempat lapis/layer
tersebut adalah :
-

Network Interface Layer

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

KONSEP ENKAPSULASI DALAM TCP/IP


Jika suatu protocol menerima data dari protocol lain di layer atasnya, ia akan

menambahkan informasi tambahan miliknya ke data tersebut. Informasi ini memiliki


fungsi yang sesuai dengan fungsi protocol tersebut. Setelah itu, data ini diteruskan lagi ke
protocol pada layer dibawahnya.
Hal yang sebaliknya terjadi jika suatu protocol menerima data dari protocol lain
yang berada pada layer dibawahnya. Jika data ini dianggap valid, protocol akan melepas
informasi tambahan tersebut, yang berada pada layer di atasnya.

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

Gambar enkapsulasi data dalam layer TCP/IP

Lapisan/layer terbawah, yaitu Network Interface layer bertanggung jawab


mengirim dan menerima data ke dan dari media fisik. Media fisiknya dapat berupa kabel,
serta optik atau gelombang radio. Karena tugasnya ini, protocol pada layer ini harus
mampu menerjemahkan sinyal listrik menjadi data digital yang dimengerti komputer,
yang berasal dari peralatan lain yang sejenis.

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

TOTAL LENGTH OF DATAGRAM


FLAG

PROTOCOL

FRAGMENT OFFSET
HEADER CHECKSUM

SOURCE IP ADDRESS
DESTINATION IP ADDRESS
OPTIONS
STRICT SOURCE ROUTING, LOOSE SOURCE ROUTING
DATA

Gambar format datagram IP

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

mengidentifikasikan dimana objek tersebut berada dan routes mengidentifikasikan


bagaimana untuk bisa sampai di objek tersebut.

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

Bentuk Dotted Desimal


Notasi alamat IP dengan bilangan biner seperti di atas tidaklah mudah dibaca. Untuk
membuatnya lebih mudah dibaca & ditulis, alamat IP sering ditulis sebagai 4 bilangan
desimal yang masing-masing dipisahkan oleh sebuah titik. Format penulisan seperti
ini disebut dotted-decimal notation (notasi desimal bertitik). Setiap bilangan
desimal tersebut merupakan nilai dari satu oktet (delapan bit) alamat IP. Gambar

berikut memperlihatkan bagaimana sebuah alamat IP yang ditulis dengan notasi


dotted-desimal :

11100011.00111001.11110001.00000001

227.57.224.1
gambar Notasi Dotted-Decimal

2.1.3

Pengalamatan untuk Koneksi Jaringan Khusus

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

Pengalamatan Jaringan & Broadcast

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 Broadcast Terbatas

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

sebanyak 32 bit yang digunakan untuk berkomunikasi dengan semua host.


Setiap alamat yang ada terdiri dari sepasang netid & hostid. Netid
mengidentifikasikan jaringan yang dipakai dan hostid mengidentifikasikan host yang
terhubung ke jaringan tersebut. Ada beberapa macam alamat berdasarkan kelas yang ada
:

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

gambar kelas-kelas alamat IP


Keterangan :
Kelas A :
Format
Identifikasi
Panjang NetID
Panjang HostID
Byte pertama
Jumlah jaringan
Range IP
Jumlah IP

: 0nnnnnnn hhhhhhhh hhhhhhhh hhhhhhhh


: bit pertama 0
: 8 bit
: 24 bit
: 0 127
: 126 kelas A (0 dan 127 dicadangkan)
: 1.xxx.xxx.xxx sampai 126.xxx.xxx.xxx
: 16.777.214 alamat IP pada setiap kelas A

Kelas B
Format
Identifikasi
Panjang NetID
Panjang HostID
Byte pertama
Jumlah jaringan
Range IP
Jumlah IP

: 0nnnnnnn nnnnnnnn hhhhhhhh hhhhhhhh


: 2 bit pertama 10
: 16 bit
: 16 bit
: 128 191
: 16.384 kelas B
: 128.0.xxx.xxx sampai 191.155.xxx.xxx
: 65.532 alamat IP pada setiap kelas B

Kelas C
Format
Identifikasi
Panjang NetID
Panjang HostID
Byte pertama
Jumlah jaringan
Range IP
Jumlah IP

Kelas D

: 0nnnnnnn nnnnnnnn nnnnnnnn hhhhhhhh


: 3 bit pertama bernilai 110
: 24 bit
: 8 bit
: 192 223
: 2.097.152 kelas C
: 192.0.0.xxx sampai 223.255.255.xxx
: 254 alamat IP pada setiap kelas C

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 & Tidak Langsung

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

transmisi yang terhubung langsung. Sedangkan pengiriman yang tidak langsung


mengharuskan suatu datagram untuk melewati gateway.
Untuk pengiriman langsung datagram IP, pengirim akan mengenkapsulasi datagram
dalam suatu frame fisik, memetakan alamat IP tujuan ke alamat fisik dan menggunakan
perangkat keras jaringan untuk pengiriman secara langsung.
Identifikasi bahwa tujuan masih berada dalam satu jaringan dapat dilihat di alamat IP
bagian network-nya, jika ditemukan alamat yang sama maka dapat dilakukan pengiriman
langsung.
Pengiriman tidak langsung terjadi bilamana antar host yang bertukar informasi tidak
terletak pada satu jaringan sehingga perlu melalui beberapa gateway hingga gateway
terakhir dapat dicapat dan pengiriman langsung dapat dilakukan.

2.3.3

Table Routing

Suatu algoritma perutean menggunakan table perutean yang menyimpan informasi


mengenai kemungkinan tujuan yang dapat dicapai & cara pencapaiannya. Karena baik
host maupun gateway merutekan datagram, maka keduanya memiliki table perutean.
Untuk pengefisienan table routing tidak semua informasi mengenai kemungkinan tujuan
akan disimpan. Alamat IP-pun tidak perlu ditulis lengkap
Biasanya tabel routing terdiri dari pasangan Network & Gateway (N,G) dimana N
menunjukkan jaringan tujuan & G merupakan gateway berikutnya untuk sampai di
jaringan N.
Tabel perutean akan selalu menunjuk ke gateway yang dapat ditempuh langsung dalam
satu jaringan. Semua gateway yang terdaftar di mesin tabel perutean mesin M harus
terletak dalam satu jaringan. Ketika suatu datagram akan meninggalkan mesin M makan
perangkat lunak IP akan mencari alamat IP tujuan dan menggunakan bagian networknya
untuk membuat keputusan perutean, pemilihan gateway dan pengiriman secara langsung.
Contoh :
20.0.0.5

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 :

JARINGAN YANG DICAPAI

20.0.0.0
30.0.0.0
10.0.0.0
40.0.0.0

ALAMAT YANG DILEWATI

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 dalam Tabel Routing

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

Membentuk Tabel Routing

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

Routing pada jaringan TCP/IP dibagi menjadi dua macam :


-

Interior Gateway Protocol (IGP)


Adalah protokol routing yang menangani perutean dalam suatu sistem
autonomous.

Exterior Gateway Protocol(EGP)


Merupakan protokol routing yang menangani routing antar sistem
autonomous.

Sistem autonomous adalah suatu sistem jaringan internet yang berada dalam satu kendali
administrasi dan teknis.
Ada beberapa macam Protokol routing yang sering digunakan, diantaranya :
-

Routing Information Protocol (RIP)

Open Shortest Path First (OSPF)

Border Gateway Protocol (BGP)

Berdasarkan pembagian utamanya maka protokol routing yang termasuk dalam IGP
adalah RIP & OSPF, sedangkan yang termasuk dalam EGP adalah BGP.

EGP memiliki kemampuan untuk menentukan policy routing karena sebagian


autonomous sistem di internet mempunyai kebijakkan dalam hal routing. Untuk
pelaksanaan routing dalam suatu IGP policy ini tidak diperlukan.
a.

Routing Information Protocol (RIP)


RIP memiliki karakteristik sebagai berikut :

menggunakan algoritma distance-vektor (Bellman-Ford)

dapat menyebabkan routing loop

diameter jaringan terbatas

lambat mengetahui perubahan jaringan

menggunakan metrik tunggal

b. Open Shortest Path First (OSPF)


karakteristik OSPF diantaranya :
-

menggunakan algoritma link-state

membutuhkan waktu CPU dan memori yang besar

tidak menyebabkan routing loop

dapat membentuk hierarki routing menggunakan konsep area

cepat mengetahui perubahan jaringan

dapat menggunakan beberapa macam metrik

2.4

ADDRESS RESOLUTION PROTOCOL (ARP)

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

Dua Tipe Alamat Fisik


Ada dua tipe alamat fisik sebagai contoh : Ethernet yang memiliki alamat fisik
yang besar & fix, serta proNET-10 yang memiliki konfigurasi alamat fisik yang
kecil & mudah.

2.4.2 Resolusi melalui Direct Mapping

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

Resolusi dengan Dynamic Binding


Untuk kasus kesulitan resolusi alamat di suatu teknologi jaringan maka dapat
digunakan suatu mesin ke jaringan tanpa adanya recompiling code dan tidak
mmbutuhkan suatu pemeliharaan dari sebuah database terpusat. Untuk
menghindari pemeliharaan tabel pemetaan, digunakan protocol level rendah yang
dapat secara dinamik mem-binding alamat, yaitu ARP

(a)

X
(b)

Gambar protocol ARP

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

Address Resolution Cache


Cache yanga ada dapat menyimpan pemetaan anatar alamat IP dengan alamat
fisik sehingga pengiriman ARP secara berulang tidak diperlukan lagi. Pangisian
cache dilakukan ketika pengirim menerima reply ARP.

2.4.5 Implementasi ARP


Secara fungsional penggunaan ARP dibagi menjadi 2 bagian :
a.

bagian penentuan alamat fisik ketika mengirimkan sebuah paket

b.

bagian penjawab suatu request dari mesin lain.

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

Enkapsulasi & Identifikasi ARP


Pesan ARP terkirim dalam bentuk frame dengan format :

ARP MESSAGE

FRAME HEADER

FRAME DATA AREA

Gambar enkapsulasi pesan ARP dalam frame jaringan

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.

2.4.7 Format Protokol ARP


paket ARP tidak memiliki format header yang tetap, karena di desain untuk dapat
mendukung berbagai macam teknologi. Field pertama berisi count yang menentukan
panjang field sesuadahnya. Contoh pada gambar :

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)

Gambar format pesan protokol ARP

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

INTERNET CONTROL MESSAGE PROTOCOL (ICMP)

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.

2.5.1 Error & Query Reporting


Secara teknis ICMP adalam mekanisme error reporting untuk gateway sehingga dapat
memberitahu sumber mengenai kesalahan yang terjadi. Sedangkan untuk koreksinya
diserahkan pada program aplikasi yang ada pada pengirim.
Pesan ICMP ini selalu dikirimkan kepada gateway awal. Jika suatu datagram yang
melewati beberapa gateway mengalami kegagalan & kesalahan tujuan di intermediate
gatewaynya maka tidak dapat dideteksi gateway mana yang gagal tersebut.
Ada beberapa jenis pesan error diantaranya :
-

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

jika di tujuan tidak tersedia protokol tersebut


o port is unreachable
jika tidak ada port yang dimaksud pada tujuan
o destination network is unknown
jika network tujuan tidak diketahui
o destination host is unknown
jika host tujuan tidak diketahui
-

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.

Sedangkan untuk pesan query diantarannya adalah :


-

Echo & Echo Reply


Bertujuan untuk memeriksa apakah sistem tujuan dalam keadaan aktif.
Program ping merupakan program pengiriman paket ini. Responder harus
mengembalikan data yang sama dengan data yang dikirimkan

Timestamp & Timestamp Reply


menghasilkan informasi waktu yang diperlukan sistem tujuan untuk
memproses suatu paket

Address Mask
Untuk mengetahui berapa netmask yang harus digunakan oleh suatu host
dalam suatu network.

2.5.2 Pengiriman ICMP Message


ICMP memerlukan dua level enkapsulasi seperti pada gambar dibawah ini :

ICMP HEADER

DATAGRAM HEADER

FRAME HEADER

ICMP DATA

DATAGRAM DATA AREA

FRAME DATA AREA

Gambar Enkapsulasi pesan ICMP


Setiap pesan ICMP merupakan bagian dari datagram IP yang juga merupakan bagain dari
suatu frame data. Datagram yang membawa pesan ICMP mendapat perlakuan yang sama
dengan datagram lain dalam hal reliability & priority-nya. Pengecualian prioritas didapat
untuk menghindari masalah : mendapat pesan error mengenai pesan error. Prioritas
tersebut menentukan bahwa pesan tidak dibangkitkan untuk error yang disebabkan oleh
datagram yang membawa pesan error.

2.5.3 Format Pesan ICMP


Format diawali dengan 3 field :
8 bit : field TYPE yang mengidentfikasikan pesan
8 bit : field CODE yang menyediakan informasi lebih jauh tentang tipe pesan
16 bit : field CHECKSUM untuk pengecekkan pesan ICMP
ICMP yang berisi pesan error terdiri dari header dan 64 bit pertamanya berisi penyebab
error yang terjadi.
Type field yang ada :

Type Field

ICMP Message Type

Echo Reply

Destination Unreachable

Source Quench

Redirect (change a route)

Echo Request

11

Time Exceeded for a Datagram

12

Parameter Problem on a Datagram

13

Timestamp Request

14

Timestamp Reply

15

Information Request (obselete)

16

Information Reply (obsolote)

17

Address Mask Request

18

Address Mask Reply

BAB III
TRANSMISSION CONTROL PROTOCOL & USER
DATAGRAM PROTOKOL

3.1 USER DATAGRAM PROTOKOL


UDP menyediakan mekanisme dasar yang digunakan oleh program aplikasi untuk
mengirim datagram ke program aplikasi lain. UDP menyediakan port protokol yang
digunakan untuk membedakan satu program yang sedang dieksekusi dengan yang lain
dalam satu mesin.
UDP menggunakan protokol dibawahnya (IP) untuk menyampaikan pesan dari satu
mesin ke mesin lain dan menyediakan semantic pengiriman datagram yang tidak reliable,
serta connectionless seperti IP. Disini tidak terdapat ACK untuk memastikan sampainya
pesan di tujuan, data yang sampai tidak perlu terurut, dan tidak membutuhkan kontrol
balik terhadap rate aliran informasi antar mesin.
Suatu program aplikasi yang menggunakan UDP menerima tanggung jawab penuh untuk
menangani masalah reliabilitas termasuk kehilangan pesan, duplikasi, delay, pengiriman
yang tidak terurut dan putus koneksi.
Karena sifatnya yang connectionless dan unreliable, UDP digunakan oleh aplikasiaplikasi yang secara periodic melakukan aktivitas tertentu ( misalnya query routing tabel
pada jaringan local), serta hilangnya satu data akan dapat di atasi pada query periode
berikutnya dan melakukan pengiriman data ke jaringan lokal. Pendeknya jarak tempuh
datagram akan mengurangi resiko kerusakan data.
Bersifat broadcasting atau multicasting. Pengiriman datagram ke banyak client sekaligus
akan efisien jika prosesnya menggunakan metode connectionless

3.1.1 Format data UDP


Setiap pesan UDP disebut dengan user datagram. Pesan ini terdiri dari dua bagian yaitu
header UDP dan data UDP, seperti pada gambar dibawah ini :
0

16
UDP SOURCE PORT

31
UDP DESTINATION PORT

UDP MESSAGE LENGTH

UDP CHECKSUM
DATA
...

gambar Format datagram UDP

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.

3.1.2 UDP Pseudo-Header


Untuk mengkomputasi checksum UDP menyediakan /prepend pseudo-header ke
datagram UDP, menambahkan sebuah oktet bit 0 ke pad datagramnya menjadi tepat
kelipatan 16 bit dan mengkomputasi checksum dari seluruh objek yang ada. Pseudoheader tidak ikut ditransmisikan dalam datagram dan panjangnya pun tidak termasuk
dalam length yang ada.
Untuk mengkomputasi sebuah checksum, pertama kali software akan menyimpan bit nol
dalam field CHECKSUM, kemudian mengakumulasi 16 bit seluruh objek ( pseudoheader, UDP header dan data user) ke dalam bentuk komplement satu.
Penggunaan pseudo header bertujuan untuk menjamin data sampai ke tujuan.

Pseudo-header ini terdiri dari 12 oktet data seperti pada gambar dibawah ini :

SOURCE IP ADDRESS
DESTINATION IP ADDRESS
ZERO

PROTO

UDP LENGTH

gambar format pseudo header

SOURCE ADDRESS & DETSINATION ADDRESS digunakan untuk menentukan


alamat sumber & tujuan yang akan digunakan untuk pengiriman pesan UDP. PROTO
berisi tipe protokol IP dimana code 17 adalah kode untuk UDP. UDP LENGTH berisi
panjang datagram UDP tidak termasuk didalamnya panjang pseudo-headernya. Untuk
verisikasi checksum, penerima harus mengekstrak fiel-field ini dari header IP, dan
membentuknya dalam format pseudo-header dan kemudian mengkomputasi checksum.

3.1.3

Layer-layer Protokol & Enkapsulasi UDP

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

gambar konsep layering protokol UDP

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

UDP DATA AREA

IP DATA AREA

FRAME DATA AREA

gambar enkapsulasi datagram UDP dalam datagram IP

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

Multiplexing, Demultiplexing dan Ports

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

gambar contoh demultiplexing satu layer dia atas IP

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.1.5 Nomor-nomor Port UDP


Pemakaian port memiliki dua metode : central authority & dynamic binding.
Dengan metode Central Authority, semua pemakai harus menyetujui adanya pengaturan
penggunaan port secara terpusat dan menyetujui juga adanya publikasi list seluruh
nomort port yang digunakan. Semua software yang digunakan dibangun berdasarkan list
yang ada. Metode ini juga disebut dengan universal assignment dan port yang digunakan
disebut dengan well-known port assignment.
Dalam metode Dynamic Binding nomor port tidak dipublikasi secara global. Jika sebuah
program membutuhkan port, maka software jaringan akan mengambil satu port &
menomorinya. Untuk mengetahui nomor port komputer lain dilakukan dengan mengirim
request, kemudian menunggu reply yang berisi nomor port yang digunakan.

3.2

LAYANAN RELIABLE STREAM TRANSPORT

3.2.1

Kebutuhan Layanan Pengiriman Stream

Layanan pengiriman data pada level dibawah level transport seringkali mengabaikan
kehandalan

suatu

layanan.

Kehilangan

paket,

kegagalan

perangkat

jaringan,

ketidakterurutan data, duplikasi, delay yang besar merupakan sebab dibutuhkannya


layanan transmisi data yang lebih reliable.
Karakteristik suatu layanan data dikatakan reliable adalah :
-

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.

virtual circuit connection


sebelum pengiriman data dilakukan diawali dengan komunikasi antara
pengirim & tujuan mengenai pembentukkan sebuah koneksi.

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

independen untuk ditransferkan.


-

Unstructured Stream

Full Duplex Connection


Koneksi yang disediakan oleh layanan stream TCP/IP mengijinkan transfer
secara bersamaan di dua arah ( full duplex )

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

gambar Positive ACK with retransmission


Ket :
Sisi kanan & kiri menunjukkan jenis-jenis event yang terjadi baik di sisi pengirim (
sender) maupun disisi penerima (receiver). Sedangkan garis diagonal menunjukkan
transfer pesan melalui jaringan.
Dalam suatu kasus dimana suatu paket lost, maka dilakukan retransmisi pada saat timer
expires ( masih aktif paket habis ). Mekanismenya dapat dilihat pada gambar dibawah ini
:
Event At Sender Site
Send Packet 1
Start Timer

Network Message
Packet lost

ACK would normally


arrive at this time

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

gambar mekanisme retransmisi

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

gambar Proses Sliding Window dengan 8 paket

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

Transmission Control Protocol

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

spesifikasi metode yang digunakan oleh software TCP untuk pengenalan


aplikasi tujuan pada suatu mesin

metode komunikasi antar host jika terjadi duplikasi atau lost packet.

metode komunikasi antar host untuk proses transfer data.

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

Port, Connection & End Point

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

gambar konsep layer UDP & TCP di atas IP

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)

koneksi dengan penggunaan end-point juga dapat


(128.2.254.139) di CMU ke Purdue :
(128.2.254.139,1184) and (128.0.2.3,53)

dilakukan

misal

3.2.6 Pasive & Active Opens


TCP adalah protocol connection oriented yang membutuhkan persetujuan antara 2 endpoints. Satu end-points membentuk fungsi passive open dengan mengotrol operating
system & mengindikasikan bahwa akan menerima koneksi yang akan terbentuk. Pada
waktu itu OS akan menandai suatu port untuk suatu end koneksi.
Program aplikasi pada end-system yang lain (pasangannya ) kemudian mengontak sistem
operasi nya menggunakan request active open untuk membangun suatu koneksi. Sekali
koneksi terbentuk, maka proses pengiriman data dapat berlangsung.

3.2.7 Segments, Streams & Sequence Number


Pada transmisi data level TCP, stream data dianggap sebagai urutan oktet-oktet atau bytebyte yang dibagi-bagi menjadi banyak segment. Biasanya setiap segment terdapat di
dalam satu datagram IP.
Seperti telah disebutkan sebelumnya, mekanisme sliding window dapat digunakan untuk
efisiensi transmisi & flow control. Mekanisme ini bekerja pada level oktet, bukan pada
level segment atau paket. Oktet dari stream data di nomori secara terurut & pengirim
menyimpan 3 pointer di setiap koneksi yang terbentuk.

10

11

...

Contoh Sliding Window dengan Oktet

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

Flow Control & Variabel Window Size

Penggunaan window dapat divariasikan ukurannya. Informasi mengenai ukuran oktet


yang masih dapat diterima oleh receiver buffer disebut dengan window advertisment yang
dikirim melalui paket ack.
Sumber dapat mengirim paket dalam ukuran window yang lebih besar sebagai respon
terhadap peningkatan window advertisement, atau tidak mengirim lagi paket diluar batas
window yang baru.
Mekanisme variasi ukuran window ini dapat digunakan untuk mengontrol aliran paket.
Jika buffer penerima hampir/ sudah penuh maka dapat diminta pengurangan pengiriman
atau bahkan penghentian pengiriman. Untuk jaringan internet yang memiliki kecepatan &
kapasitas yang berbeda-beda, mekanisme flow control ini sangat diperlukan.

3.2.9 Format Segment TCP


Unit data yang ditransferkan antara dua software TCP di dua host yang berbeda disebut
segment. Segment ini dipertukarkan untuk kepentingan pembangunan koneksi, tranfer
data, pengiriman ack, pemberitahuan ukuran window & penutupan koneksi.
SOURCE PORT

DESTINATION PORT
SEQUENCE NUMBER

ACKNOWLEDGEMENT NUMBER
HLEN

RESERVED

CODE BITS

WINDOW

CHECKSUM

URGENT POINTER

OPTIONS (IF ANY)

PADDING

DATA
...

Gambar Format Segment TCP

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.

ACKNOWLEDGEMENT NUMBER mengidentifikasikan nomor oktet berikutnya


yang dapat diterima oleh pengirim. HLEN menandakan panjang header segment yang
dihitung pada kelipatan 32.
Beberapa segment memiliki isi informasi yang beragam seperti membawa ack, membawa
data atau untuk membangun/menutup suatu koneksi. Software TCP menggunakan 6 bit
pada field CODE BITS untuk menentukan tujuan & isi dari suatu segment.
Reperesentasi dari penggunaannya dapat dilihat pada tabel dibawah ini :
Bit ( Left to right)
Meaning if bit set to 1
URG
ACK

Urgent pointer field is valid


Acknowledgement field is valid

PSH

This segment requests a push

RST

Reset the connection

SYN

Synchronize sequence numbers

FIN

Sender has reached end of its


byte stream
Gambar Field-field CODE BITS dalam header TCP

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

DOMAIN NAME SYSTEM


Pengalamatan di protokol Internet yang menggunakan kombinasi angka cukup

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

Top Level Domain dan Pendelegasian


Format penamaan host di Internet dibuat memiliki hirarki. Skema hirarki tersebut

digambarkan berbentuk tree. Satu node/titik membentuk tree, memiliki beberapa


subnode. Subnode ini membentuk tree yang memiliki beberapa subnode lagi, dan
seterusnya. Pada masing-masing node ini terdapat label. Node berlabel ini disebut
domain. Domain ini bisa berupa nama host, subdomain atau top level domain.

unnamed root

com

edu

gov

dec

purdue

nsf

....

us

vs

rest
on
cc

cs

ecn
nri

gambar model Tree domain

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 . Menunjukkan Root Domain


Edu merupakan Top Level Domain
Purdue merupakan domain level dua ( second level domain)
Cs merupakan domain level tiga (third level domain)
Xinu merupakan nama host/komputer yang bersangkutan.
Sesuai dengan konvensi, label yang menunjukkan domain ditulis dari kiri ke
kanan, dipisahkan dengan tanda titik, dengan domain yang paling jauh dari root ditulis
terlebih dahulu. Penulisan secara lengkap seperti di atas mulai dari nama host hingga

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 generik (generic domain)

TLD negara (country domain)

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

FILE TRANSFER PROTOCOL


FTP atau File Transfer Protocol merupakan salah satu aplikasi TCP/IP yang

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

Model Protokol FTP

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

memaksimalkan ukuran data yang ditransfer

(throughput), karena hubungan ini untuk transfer file.


Gambar berikut ini memperlihatkan susunan client dan server serta dua hubungan
diantara mereka.
client
Pemakai di
terminalnya

user interface

user protocol
intepreter

file
system

user data
transfer function

control connection server


(FTP commands
server protocol
and FTP replies)
interface

data connection

server data
transfer function

file
system

jsagdfd

gambar model sebuah hubungan FTP

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

Fasilitas Fasilitas FTP

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.

4.2.3 Representasi Data


Transfer file hanya dilakukan melalui data connection. Sedangkan control connection
digunakan untuk mentransfer perintah-perintah dan balasan. Bagaimana file ditransfer
dan disimpan telah disebutkan dalam spesifikasi protocol FTP dan ada banyak pilihan
cara.

4.2.4 Perintah-Perintah FTP


Perintah-perintah FTP merupakan karakter ASCII sebanyak 3 sampai 4 byte, dan
menggunakan huruf besar. Keseluruhan ada 30 perintah dan beberapa perintah yang
umum digunakan diperlihatkan oleh Tabel berikut

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

Tipe sistem dari server


SYST
TYPE type
USER namauser

Menentukan tipe file A = ASCII, I = Image


Nama pemakai di server

4.2.5 REPLY FTP


Balasan (reply) FTP berupa bilangan tiga digit dalam ASCII. Software selanjutnya harus
tahu bagaimana cara mengartikan balasan yang berupa bilangan tersebut. Maksud dari
digit pertama dan kedua dari kode balasan ditunjukkan oleh Tabel berikut :

4.2.6

Pengaturan Hubungan (Connection)

Ada tiga jenis pemakaian pada data connection, yaitu :


-

mengirim sebuah file dari client ke server

mengirim sebuah file dari server ke client

mengirim sebuah daftar file atau direktori dari server ke client

prosedur normal untuk mentransfer file atau direktori adalah sebagai berikut :
1.

Client mengatur pembuatan data connection

2.

Client memilih sebuah nomor port di host client sebagai ujung dari
data connection pada sisi client.
Client secara pasif membuka port ini.

3.

Client mengirim nomor port ini ke server melalui control connection


menggunakan perintah PORT

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

SIMPLE MAIL TRANSPORT PROTOCOL (SMTP)

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.

Setelah menerima pesan tersebut client mengirimkan command HELLO

Server merespon dengan mengirimkan identifikasi dirinya.

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:

20 Beta.GOV Simple Mail Transfer Service Ready


HELO Alpha.EDU
250 Beta.GOV

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.

penentuan network virtual terminal yang menyediakan interface standar untuk


sistem remote.

2.

mekanisme yang mengijinkan client dan server bernegosiasi mengenai option


dan menyediakan option standar seperti option mengenai format data yang
digunakan : 7 bit karakter ASCII atau 8 bit karakter .

3.

TELNET dapat treat dua koneksi secara simetris

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

gambar ilustrasi aplikasi TELNET untuk client & server

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.

4.4.1 Mengakomodasi Heterogenitas


Untuk bisa membuat aplikasi TELNET dapat berjalan diantara banyak sistem, aplikasi
TELNET harus mampu mengakomodasi keanekaragaman komputer dan sistem operasi.
Untuk mengatasi keanekaragaman TELNET menentukan format data & perintah yang
dikirimkan melalui Internet. Definisi ini disebut dengan network virtual terminal (NVT).
TCP connection accross Internet
user's
terminal

Client

Client System format used

Server

NVT format used

Server' s
System

Server System format used

ambar format NVT yang digunakan dalam TELNET

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

4.4.2 Melewatkan Perintah untuk Mengontrol Sistem Remote


TELNET NVT mengakomodasi fungsi kontrol dengan menentukan cara control tersebut
dilewatkan dari client ke server. Secara konsep kita memandang NVT sebagai
penerimaan input dari terminal yang dapat membangkitkan lebih dari 128 karakter. Kita
mengasumsikan terminal user memiliki virtual key yang sesuai dengan fungsi-fungsi
untuk mengontrol proses. Contoh NVT menentukan key interrupt konseptual

yang

merupakan request untuk mengakhiri program.


Untuk melewatkan fungsi-fungsi kontrol melalui koneksi TCP, TELNET mengencode
fungsi-fungsi tersebut menggunakan escape sequence. Escape sequence menggunakan
reserved oktet yang mengindikasikan ada suatu oktet kode kontrol yang sedang
mengikuti. Dalam TELNET sebuah reserved oktet yang mengawali suatu escape
sequence dikenal sebagai interpret as command (IAC).

4.5

HYPERTEXT TRANSFER PROTOCOL (HTTP)

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 HTTP

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

gambar komponen-komponen dalam rantai request/response HTTP

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.

Field Upgrade digunakan untuk mengganti protokol yang hendak digunakan.


Field Via digunakan oleh proxy dan gateway untuk memeberitahu jalur yang
digunakan dalam sebuah rantai request /response
-

Isi Pesan
Digunakan untuk mengirimkan isi entity. Keberadaan isi pesan dalam pesan

request ditandai dengan adanya hader ContentLength. Dalam pesan response,


keberadaan isi pesan ini tergantung atas kode status yang diberikan. Dalam sebuah pesan
HTTP header Content-Length & Transfer-Encoding tidak bolah muncul bersama-sama.
Kedua header ini menunjukkan hal yang berlawanan, adanya header Transfer-Encoding
menunjukkan bahwa panjang isi pesan tidak diketahui sementara header Content-Length
menunjukkan panjang isi pesan dalam byte. Jika dalam sebuah pesan terdapat kedua
header ini, maka header Content-Length harus diabaikan.
Setipa request & response dalam komunikasi HTTP harus menyertakan versi protokol
yang digunakan. Format penulisan versi protokol ini adalah :
HTTP/<major>.<minor>

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.

Digit pertama kode-status menentukan kelas dari response. Protokol HTTP/1.1


mendefinisikan 5 nilai untuk digit pertama :
1xx
2xx
3xx
4xx
5xx

: Informational request diterima, dan proses berlanjut


: Success request diterima dan dimengerti
: Redirection request membutuhkan tindakan lebih lanjut
: Client Error request mengandung sintaks yang salah
: Server Error server gagal melakukan tindakan sesuai server

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

Setelah baris response, server HTTP mengirimkan header-header response ke client.


Header ini memberikan informasi mengenai server serta mengenai akses llanjut ke URI.
Header-response = Age|Location|Procy-Authenticate
|Public|Retry-After|Server|Vary
|Warning|WWW-Authenticate

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.

Anda mungkin juga menyukai