You are on page 1of 71

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 aturan-
aturan 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 fungsi-
fungsi 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.

Jaringan Fisik
Network Interface Layer
(Ethernet, X25,SLIP,PPP)
Internet Layer
(IP, ARP, ICMP)
Transport Layer
(TCP, UDP)
Application Layer
(SMTP, FTP, HTTP, dll)
TCP/IP
Stack

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.

Data
Data IP Header
Data IP Header
TCP
Header
Data IP Header
TCP
Header
Network
Interface H.
Application
Layer
Transport
Layer
Network
Layer
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 :

TOTAL LENGTH OF DATAGRAM TYPE OF SERVICE
HEADER
LENGTH
VERSION
IDENTIFICATION FLAG FRAGMENT OFFSET
TIME TO LIVE PROTOCOL 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
:


hostid netid 0
multicast address 1 1 1 0
reserved for future use 1 1 1 1 0
0 1 2 3 4 8 16 24 31
Class A
Class B
Class C
Class D
Class E
hostid netid 0 1
hostid netid 1 1 0

gambar kelas-kelas alamat IP
Keterangan :
Kelas A :
Format : 0nnnnnnn hhhhhhhh hhhhhhhh hhhhhhhh
Identifikasi : bit pertama 0
Panjang NetID : 8 bit
Panjang HostID : 24 bit
Byte pertama : 0 127
Jumlah jaringan : 126 kelas A (0 dan 127 dicadangkan)
Range IP : 1.xxx.xxx.xxx sampai 126.xxx.xxx.xxx
Jumlah IP : 16.777.214 alamat IP pada setiap kelas A
Kelas B
Format : 0nnnnnnn nnnnnnnn hhhhhhhh hhhhhhhh
Identifikasi : 2 bit pertama 10
Panjang NetID : 16 bit
Panjang HostID : 16 bit
Byte pertama : 128 191
Jumlah jaringan : 16.384 kelas B
Range IP : 128.0.xxx.xxx sampai 191.155.xxx.xxx
Jumlah IP : 65.532 alamat IP pada setiap kelas B
Kelas C
Format : 0nnnnnnn nnnnnnnn nnnnnnnn hhhhhhhh
Identifikasi : 3 bit pertama bernilai 110
Panjang NetID : 24 bit
Panjang HostID : 8 bit
Byte pertama : 192 223
Jumlah jaringan : 2.097.152 kelas C
Range IP : 192.0.0.xxx sampai 223.255.255.xxx
Jumlah IP : 254 alamat IP pada setiap kelas C

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 2
16
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 2
8
sampai 2
16
host. Kelas B mengalokasikan 14 bit untuk netid & 16 bit untuk
hosted. Kelas C mampu menghubungkan kurang dari 2
8
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 :
Network
10.0.0.0
F
Network
20.0.0.0
G
Network
30.0.0.0
H
Network
40.0.0.0
10.0.0.5
20.0.0.5
20.0.0.6
30.0.0.6
30.0.0.7
40.0.0.7




Ada 4 jaringan dengan 3 gateway yang menghubungkannya. Pada gambar di atas bila
gateway G memiliki tabel perutean maka berisi :

JARINGAN YANG DICAPAI ALAMAT YANG DILEWATI
20.0.0.0 DELIVER DIRECTLY
30.0.0.0 DELIVER DIRECTLY
10.0.0.0 20.0.0.5
40.0.0.0 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 masukkan-
masukkan 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 :
- I nterior Gateway Protocol (I GP)
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 I nformation Protocol (RI P)
- 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 I
A
berarti
menghitung :
P
A
= f(I
A
)
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 Y
(a)
A X B Y
(b)

Gambar protocol ARP

Ide dari metode ini adalah jika suatu host (A) ingin me-resolve suatu alamat (I
B
)
maka A mem-broadcast paket khusus yang meminta host dengan alamat IP
(I
B
)untuk meresponnya dengan alamat fisik P
B
. 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 DATA AREA FRAME HEADER

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 = 0806
16
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 : I CMP Error Message& I CMP 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 DATA
DATAGRAM DATA AREA DATAGRAM HEADER
ICMP HEADER
FRAME DATA AREA FRAME HEADER

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
0 Echo Reply
3 Destination Unreachable
4 Source Quench
5 Redirect (change a route)
8 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 aplikasi-
aplikasi 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 :
UDP SOURCE PORT UDP DESTINATION PORT
UDP MESSAGE LENGTH UDP CHECKSUM
DATA
. . .
0 16 31

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. Pseudo-
header 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 ( pseudo-
header, 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 DATA AREA
UDP
HEADER
IP DATA AREA
IP
HEADER
FRAME DATA AREA
FRAME
HEADER

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 ACK 1
Send Packet 2
Receive ACK 2
Receive Paket 1
Send ACK 1
Receive Packet 2
Send 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 Network Message
Event At Receiver
Site
Send Packet 1
ACK would normally
arrive at this time
Receive ACK 1
Packet should arrive
ACK should be sent
Receive Packet 2
Send ACK 2
Timer Expires
Retransmit Packet 1
Start Timer
Start Timer
Cancel Timer
Packet lost

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.



1 2 3 4 5 6 7 8 9 10
. . . .
Initial Windows
1 2 3 4 5 6 7 8 9 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 connection-
oriented, 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 Softwareakan 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 dilakukan misal
(128.2.254.139) di CMU ke Purdue :
(128.2.254.139,1184) and (128.0.2.3,53)


3.2.6 Pasive & Active Opens
TCP adalah protocol connection oriented yang membutuhkan persetujuan antara 2 end-
points. 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 byte-
byte 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.

1 2 3 4 5 6 7 8 9 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
WINDOW CODE BITS RESERVED HLEN
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 Urgent pointer field is valid
ACK 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.


com edu
gov
us
dec
pur-
due
cc cs ecn
nsf
vs
rest
on
nri
unnamed root
. . . .


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 I nternet (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 Keterangan
go.id Subdomain untuk lembaga pemerintah
co.id Subdomain untuk lembaga konvensional
ac.id Institusi akademik
net.id Penyedia jasa network
or.id 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 client-
server. 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.
Pemakai di
terminalnya
user interface
user protocol
intepreter
user data
transfer function
file
system
control connection
(FTP commands
and FTP replies) server protocol
interface
server data
transfer function
file
system
data connection
client
server
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
- I nteractive 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 Keterangan
ABORT
Hentikan (abort) perintah FTP dan transfer data sebelumnya
LIST filelist Sebutkan daftar file atau direktori
PASS password Password di server
QUIT
Keluar dari server
RETR namafile Ambil sebuah file
STOR namafile Kirim sebuah file
SYST
Tipe sistem dari server
TYPE type Menentukan tipe file A = ASCII, I = Image
USER namauser 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 : 20 Beta.GOV Simple Mail Transfer Service Ready
C: HELO Alpha.EDU
S: 250 Beta.GOV

C: MAIL FROM:<Smith@Alpha.EDU>
S: 250 OK

C: RCPT TO : <Jones@Beta.GOV>
S: 250 OK

C: RCPT TO : <Green@Beta.GOV>
S: 550 No such user here

C: RCPT TO :<Brown@Beta.GOV>
S: 250 OK

C: DATA
S: 354 Start mail input ; end with <CR><LF>.<CR><LF>
C: sends body of mail message
C: continues for as many lines as message contains
C: <CR><LF>.<CR><LF>
S: 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 :

TELNET
client
operating
system
user's
terminal
client reads
from
terminal
TELNET
server
operating
system
TCP/IP
Internet
client sends
to server
server receives
from client
server sends
to pseudo
terminal

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).
user's
terminal
Client Server
Server' s
System
TCP connection accross Internet
Client System format used NVT format used Server System format used
g
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 I dentifier (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|Transfer-
Encoding|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 Datememberikan informasi mengenai waktu asal pesan.
Field Transfer-Encoding menentukan jenis transfer yang diberikan kepada isi
pesan agar dapat sampai dengan aman ke client.
Field Upgradedigunakan 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 : Informational request diterima, dan proses berlanjut
2xx : Success request diterima dan dimengerti
3xx : Redirection request membutuhkan tindakan lebih lanjut
4xx : Client Error request mengandung sintaks yang salah
5xx : 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.



BAB V
PENGAMANAN PADA PROTOKOL TCP/IP


5.1 KONSEP PENGAMANAN JARINGAN (NETWORK SECURI TY)
5.1.1 Perencanaan Pengamanan
Salah satu problem network security yang paling penting, dan mungkin salah satu yang
paling tidak enak, adalah menentukan kebijakan dalam network security. Kebanyakan
orang menginginkan solusi teknis untuk setiap masalah, berupa program yang dapat
memperbaiki masalah-masalah network security. Padahal, perencanaan keamanan yang
matang berdasarkan prosedur dan kebijakan dalam network security akan membantu
menentukan apa-apa yang harus dilindungi, berapa besar biaya yang harus ditanamkan
dalam melindunginya, dan siapa yang bertanggungjawab untuk menjalankan langkah-
langkah yang diperlukan untuk melindungi bagian tersebut.
5.1.2 Mengenali ancaman terhadap network security
Langkah awal dalam mengembangkan rencana network security yang efektif adalah
dengan mengenali ancaman yang mungkin datang. Dalam RFC 1244
1
, Site security
Handbook, dibedakan tiga tipe ancaman :
Akses tidak sah, oleh orang yang tidak mempunyai wewenang.
Kesalahan informasi, segala masalah yang dapat menyebabkan diberikannya
informasi yang penting atau sensitif kepada orang yang salah, yang seharusnya
tidak boleh mendapatkan informasi tersebut.
Penolakan terhadap service, segala masalah mengenai security yang menyebabkan
sistem mengganggu pekerjaan-pekerjaan yang produktif.

1
RFC : Request For Comment, definisi-definisi standar yang menjadi dasar
perencanaan dan implementasi dalam networking
Disini ditekankan network security dari segi perangkat lunak, namun network security
sebenarnya hanyalah sebagian dari rencana keamanan yang lebih besar, termasuk rencana
keamanan fisik dan penanggulangan bencana.
5.1.3 Kontrol terdistribusi
Salah satu pendekatan dalam network security adalah dengan mendistribusikan tanggung
jawab kontrol terhadap segmen-segmen dari jaringan yang besar ke grup kecil dalam
organisasi. Pendekatan ini melibatkan banyak orang dalam keamanan, dan berjalan
berlawanan dengan prinsip kontrol terpusat.
Pada prinsipnya, tanggung jawab dan kontrol yang terdistribusi dalam grup-grup kecil
menciptakan lingkungan jaringan kecil yang terdiri dari trusted hosts. Meminjam analogi
keamanan kota, maka hal ini sesuai dengan sistem keamanan tingkat RT, dimana terjadi
kerjasama antar RT untuk menjaga lingkungan yang lebih besar. Jadi keamanan suatu
segmen dipercayakan kepada manajer jaringan pada segmen tersebut. Dengan terjaganya
keamanan tiap segmen, maka secara keseluruhan keamanan jaringan akan terjaga.
Dalam mendistribusikan kontrol network, digunakan berbagai cara. Salah satunya adalah
dengan memanfaatkan pembagian subnet. Di setiap subnet terdapat subnet administrator
(admin subnet) yang bertanggungjawab untuk keamanan network dan mempunyai
kekuasaan untuk mengalokasikan / menetapkan IP address untuk device yang terhubung
pada network. Penetapan IP address memberi admin subnet suatu kontrol terhadap siapa
yang terhubung ke subnet. Sewaktu admin subnet menetapkan IP address untuk suatu
sistem, dia juga menetapkan tanggungjawab keamanan tertentu ke admin sistem tersebut.
Demikian juga, bila admin sistem menetapkan suatu account bagi user, maka ia
memberikan tanggungjawab keamanan tertentu kepada user. Hirarki ini mengalir dari
admin network, ke admin subnet, admin sistem, dan ke user. Mereka mendapat
tanggungjawab, dan juga wewenang untuk menurunkan tanggungjawabnya. Untuk itu,
setiap user harus mengetahui tanggungjawabnya.
Dalam kontrol terdistribusi, informasi dari luar disaring dahulu oleh admin network,
kemudian disaring lagi oleh admin subnet, demikian seterusnya, sehingga user tidak perlu
menerima terlalu banyak informasi yang tidak berguna. Bila informasi ke user
berlebihan, maka user akan mulai mengabaikan semua yang mereka terima.
5.1.4 Menentukan security policy
2

Dalam network security, peranan manusia yang memegang tanggungjawab keamanan
sangat berperan. Network security tidak akan efektif kecuali orang-orangnya mengetahui
tanggung jawabnya masing-masing. Dalam menentukan network security policy, perlu
ditegaskan apa-apa yang diharapkan, dan dari siapa hal tersebut diharapkan. Selain itu,
kebijakan ini harus mencakup :
Tanggung jawab keamanan network user, meliputi antara lain keharusan user
untuk mengganti passwordnya dalam periode tertentu, dengan aturan tertentu,
atau memeriksa kemungkinan terjadinya pengaksesan oleh orang lain, dll.
Tanggung jawab keamanan system administrator, misalnya perhitungan
keamanan tertentu, memantau prosedur-prosedur yang digunakan pada host.
Penggunaan yang benar sumber-sumber network, dengan menentukan siapa yang
dapat menggunakan sumber-sumber tersebut, apa yang dapat dan tidak boleh
mereka lakukan.
Langkah-langkah yang harus diperbuat bila terdeteksi masalah keamanan, siapa
yang harus diberitahu. Hal ini harus dijelaskan dengan lengkap, bahkan hal-hal
yang sederhana seperti menyuruh user untuk tidak mencoba melakukan apa-apa
atau mengatasi sendiri bila masalah terjadi, dan segera memberitahu system
administrator.
5.2 METODA-METODA NETWORK SECURITY
5.2.1 Pembatasan akses pada network
Internal password authentification (password pada login system)

2
security policy : kebijakan yang diambil berkaitan dengan keamanan
jaringan
Password yang baik menjadi bagian yang paling penting namun sederhana dalam
keamanan jaringan. Sebagian besar dari masalah network security disebabkan password
yang buruk. Biasanya pembobolan account bisa terjadi hanya dengan menduga-duga
passwordnya. Sedangkan bentuk yang lebih canggih lagi adalah dictionary guessing,
yang menggunakan program dengan kamus ter-enkripsi, dibandingkan dengan password
ter-enkripsi yang ada. Untuk itu, file /etc/passwd harus dilindungi, agar tidak dapat
diambil dengan ftp atau tftp (berkaitan dengan file-mode). Bila hal itu bisa terjadi, maka
tftp harus dinonaktifkan. Ada juga sistem yang menggunakan shadow password, agar
password yang ter-enkripsi tidak dapat dibaca. Sering mengganti password dapat menjadi
salah satu cara menghindari pembobolan password. Namun, untuk password yang bagus
tidak perlu terlalu sering diganti, karena akan sulit mengingatnya. Sebaiknya password
diganti setiap 3-6 bulan.
Algoritma enkripsi password tidak dapat ditembus, dalam arti password yang ter-enkripsi
tidak dapat didekripsikan. Yang paling mungkin adalah bila kata-kata dalam kamus di-
enkripsi, dan dibandingkan dengan password ter-enkripsi. Bila password yang digunakan
buruk, mudah ditemukan dalam kamus, maka akan mudah terbongkar.
Beberapa hal yang sebaiknya diperhatikan dalam memilih password :
Jangan memakai nama login.
Jangan memakai nama siapapun atau apapun.
Jangan memakai kata-kata singkatan.
Jangan memakai informasi pribadi yang berhubungan dengan pemilik account.
Misalnya, inisial, nomor telepon, jabatan, unit organisasi, dll.
Jangan memakai deretan kunci keyboard, seperti qwerty.
Jangan memakai semua yang disebut di atas walaupun dibalik urutannya, atau
kombinasi huruf besar kecil.
Jangan memakai password serba numerik.
Jangan memakai contoh password yang ada di buku keamanan jaringan, sebaik
apapun password tersebut.
Gunakan kombinasi angka dan campuran huruf besar kecil.
Gunakan minimal 6 karakter
Gunakan pilihan angka dan huruf yang kelihatannya acak.
Namun password sebaiknya yang gampang diingat. Hindari password yang sukar
diingat, sehingga harus ditulis dahulu untuk mengingatnya. Selain itu, password
jangan terlalu panjang. Ada juga software yang dapat menjaga agar user mematuhi
peraturan-peraturan yang dibuat. Sehingga dalam memasukan password, user dipaksa
untuk memasukkan password yang unik, dan sesuai dengan peraturan-peraturan
tertentu.
server-based password authentification
Termasuk dalam metoda ini misalnya sistem Kerberos server, TCP-wrapper, dimana
setiap service yang disediakan oleh server tertentu dibatasi dengan suatu daftar host dan
user yang boleh dan tidak boleh menggunakan service tersebut.

Server
WorkStation
User
Auth Svr
TGS
DB
TGS : Ticket Granting Server DB : Data Base system
Auth Svr : Authentification Server

Kerberos System

Kerberos server diimplementasikan pada setiap service, dan dimulai ketika seorang user
melakukan login pada suatu sistem. Pada prinsipnya, saat seorang user melakukan login,
maka program login akan menghubungi Kerberos system untuk mendapatkan ticket
untuk akses pada sistem yang disediakan. User sendiri tidak merasakan perbedaan (tidak
perlu memberikan password tambahan). Bila user akan menggunakan service-service
pada server lainnya, maka sistem dimana user tersebut login akan kembali menghubungi
Kerberos system untuk mendapatkan ticket baru untuk service pada server tersebut.
Dengan cara ini, dapat dihindari penyusupan melalui methoda protocol spoofing,
dimana user dari sistem lain yang berusaha menggunakan service-service yang dilindungi
pada sistem tersebut, tidak akan melalui Kerberos system lebih dahulu, sehingga
permintaan servicenya akan ditolak oleh server. Disini setiap server (penyedia service)
hanya akan melayani permintaan yang disertai ticket dari Kerberos. Tentu saja Kerberos
system ini tidak berpengaruh bila si penyusup sudah berhasil memasuki salah satu local
account.

User
Login Telnet Server Telnet Client
Log-File Telnet Client
Telnet Client
INETD
User
TCP-Wrapper
User


TCP-wrapper adalah sistem yang menggunakan metoda access control dimana akses
terhadap suatu service ke server dibelokkan, dilakukan pengecekan terlebih dahulu asal
dari permintaan service tersebut, bila ada dalam daftar yang diperbolehkan, maka
diteruskan ke server yang sebenarnya.
server-based token authentification
Metoda ini menggunakan authentification system yang lebih ketat, yaitu dengan
penggunaan token / smart card, sehingga untuk akses tertentu hanya bisa dilakukan oleh
login tertentu dengan menggunakan token khusus.
Firewall dan Routing Control
Komputer dengan firewall menyediakan kontrol akses ketat antara sistem dengan sistem
lain. Konsepnya, firewall mengganti IP router dengan sistem host multi-home, sehingga
IP forwarding
3
tidak terjadi antara sistem dengan sistem lain yang dihubungkan melalui

3
IP Forwarding : lihat Configuring routing.
firewall tsb. Agar jaringan internal dapat berhubungan dengan jaringan diluarnya dalam
tingkat konektifitas tertentu, firewall menyediakan fingsi-fungsi tertentu.
Firewall
Router

Firewall mencegah paket IP diteruskan melalui layer IP. Namun, seperti host multi-home,
firewall menerima paket dan memprosesnya melalui layer aplikasi. Sebetulnya ada juga
router yang mempunyai fasilitas keamanan khusus seperti firewall, dan biasanya disebut
secure router atau secure gateway. Namun firewall bukan router, karena tidak
meneruskan (forwarding) paket IP. Firewall sebaiknya tidak digunakan untuk
memisahkan seluruh jaringan internal dari jaringan luar. Firewall dapat dipakai untuk
memisahkan beberapa bagian dari jaringan internal yang sensitif terhadap jaringan non
sensitif dan jaringan luar, sedangkan antara jaringan non sensitif dengan jaringan luar
digunakan router. Firewall seperti ini disebut firewall internal. Memisahkan sistem
bagian yang sensitif dengan yang non sensitif biasanya sulit, sehingga umumnya
digunakan firewall external, atau kombinasi keduanya. Namun bila bagian yang sensitif
dapat dipisahkan, dan digunakan firewall internal, maka akan lebih baik, sebab tidak
seluruh jaringan terisolasi dari jaringan luar.

router
F
F
InternalNet
InternalNet
Sensitive
InternalNet
Non-
sensitive
ExternalNet
ExternalNet

Dengan adanya firewall, semua paket ke sistem di belakang firewall dari jaringan luar
tidak dapat dilakukan langsung. Semua hubungan harus dilakukan dengan mesin firewall.
Karena itu sistem keamanan di mesin firewall harus sangat ketat. Dengan demikian lebih
mudah untuk membuat sistem keamanan yang sangat ketat untuk satu mesin firewall,
daripada harus membuat sistem keamanan yang ketat untuk semua mesin di jaringan
lokal (internal).
Kerugiannya, host lokal tidak dapat mengakses jaringan luar. Untuk itu, firewall harus
menyediakan beberapa fungsi yang tidak ada di router :
DNS, name service untuk dunia luar. Name service untuk host lokal ditangani sistem
internal. Firewall menyediakan name service terbatas untuk jaringan luar. Name server
ini tidak menyediakan nama atau informasi tentang host lokal.
E-mail forwarding. Pada sistem firewall, sendmail dikonfigurasi untuk meneruskan
mail ke tiap user pada semua sistem internal. Setiap user dikenali melalui alias. Mail
keluar di-rewrite sehingga user internal seakan-akan ada pada sistem firewall. Nama
login dengan nama host internal tidak dikenal dari luar.
Service ftp. Semua transfer dengan ftp harus melalui firewall. Jadi dari luar hanya bisa
ftp ke sistem firewall. Anonymous ftp hanya ada di firewall. Dari dalam, untuk ftp
keluar, harus login dahulu ke firewall, baru bisa ftp keluar.
Telnet atau rlogin. Untuk bisa telnet atau rlogin dari atau keluar, maka harus rlogin
atau telnet dahulu ke firewall.

Hanya fasilitas tersebut diatas saja yang disediakan oleh firewall. Fasilitas lainnya,
seperti NIS, NFS, rsh, rcp, finger dll tidak boleh ada pada firewall. Pada sistem firewall,
keamanan lebih penting daripada fasilitas.
Sistem firewall bekerja dengan cara menginterupsi proses routing antara sistem yang
dilindungi dengan sistem luar. Jadi menggunakan metoda control routing. Dengan routing
table statis hal ini dapat dilakukan. Dalam routing table, ditentukan network mana saja
yang dapat berkomunikasi, dan lewat mana hubungan dilakukan. Jadi routing table-nya
tidak mempunyai default route, dan hanya mempunyai routing untuk host luar tertentu
saja, selain routing lokal. Misalnya, beberapa host ee.itb.ac.id pada subnet
167.205.8.64 (4 bit untuk host address) dengan routernya 167.205.8.80, dilindungi
dengan sistem routing control seperti firewall, untuk subnet tersebut. Host-host tersebut
hanya berhubungan dengan host lokal, dan host luar tertentu, yaitu dns.paume.itb.ac.id
pada address 167.205.22.120 dan maingtw.paume.itb.ac.id pada 167.205.31.131. Maka
routing table pada host hampton.ee.itb.ac.id dengan address 167.205.8.79 sebagai berikut
:

Destination Gateway Interface
127.0.0.1 127.0.0.1 lo0
167.205.8.64 167.205.8.79 ed0
167.205.22.120 167.205.8.80 ed0
167.205.31.131 167.205.8.80 ed0

Disini tidak ada default route. Selain itu tidak boleh ada program dynamic routing
protocol yang sedang dijalankan atau yang dijalankan sewaktu startup sistem. Default
routing pun tidak boleh didefinisikan saat startup. Yang ada hanya route static tertentu
saja yang didefinisikan saat startup.
Cara seperti ini tingkat keamanannya tidak sekeras firewall, tidak membutuhkan
program-program khusus. Namun konfigurasi sistem harus dilakukan pada semua host
pada sistem tersebut, sedangkan pada firewall, konfigurasi sistem cukup dilakukan pada
mesin firewall saja. Namun cara di atas dapat menjadi alternatif yang mungkin dilakukan.

5.2.2 Metoda enkripsi
Salah satu cara pembatasan akses adalah dengan enkripsi. Proses enkripsi meng-encode
data dalam bentuk yang hanya dapat dibaca oleh sistem yang mempunyai kunci untuk
membaca data. Proses enkripsi dapat dengan menggunakan software atau hardware. Hasil
enkripsi disebut cipher. Cipher kemudian didekripsi dengan device dan kunci yang sama
tipenya (sama hardware/softwarenya, sama kuncinya). Dalam jaringan, sistem enkripsi
harus sama antara dua host yang berkomunikasi. Jadi diperlukan kontrol terhadap kedua
sistem yang berkomunikasi. Biasanya enkripsi digunakan untuk suatu sistem yang
seluruhnya dikontrol oleh satu otoritas.
Beberapa alasan penggunaan enkripsi :
mencegah orang yang tidak berwenang melihat data-data sensitif
mengurangi kemungkinan terbukanya data rahasia tanpa sengaja
mencegah orang-orang yang mempunyai akses istimewa (mis: sistem admin) agar
tidak dapat melihat data pribadi
untuk mempersulit usaha intruder memasuki sistem

Metoda enkripsi bukan solusi terbaik keamanan jaringan, karena ada enkripsi yang bisa
menyebabkan hilangnya data. Selain itu, enkripsi juga masih bisa dipecahkan. Pada
sistem unix, biasanya digunakan standar enkripsi crypt dan/atau des. Data encryption
standard, des, teknik enkripsi modern yang dibentuk tahun 70-an. Sedangkan crypt
berdasar dari teknik enkripsi mesin Enigma Jerman (perang dunia dua). Dari keduanya,
des lebih bagus.
Program crypt dan des membaca data dari standar input, menghasilkan keluaran di
standar output, membutuhkan kunci untuk enkripsi. Kunci ini , seperti password harus
sukar untuk diduga, namun mudah untuk diingat. Hal-hal untuk password berlaku juga
untuk kunci ini. Penggunaan des dan crypt ini dapat dilihat dari manual perintah tersebut
pada sistem.
Bila file yang di-enkripsi adalah file teks, maka kemungkinan file tersebut dapat di-
dekripsi oleh program pemecah enkripsi lebih besar, dibanding bila file data yang di-
enkripsi tersebut adalah file binary. Karena itu sebaiknya file-file data penting yang akan
di-enkripsi sebaiknya digabungkan dahulu dengan program tar, lalu di-compress atau
dengan program gzip. Hasilnya baru di-enkripsi.
Metoda enkripsi dalam pengiriman data yang dapat dilakukan ada bermacam-macam,
antara lain :
Data Encryption Standard, des
Diperlukan satu kunci untuk meng-encode dan men-decode data.


RSA Public/Private key concept
Pengirim data memerlukan satu Public key untuk meng-encode data, si penerima
data akan men-decode data dengan satu kunci khusus Private key yang hanya
dimiliki olehnya saja. Sistem ini lebih baik keamanannya daripada des, namun
kurang cepat. Misal : PGP
Digital Envelope
Merupakan gabungan des dengan Public/Private key concept. Data dikirimkan
dengan ter-enkripsi des, dengan kunci tertentu. Kunci des tersebut kemudian
dienkripsi dengan Public key milik si penerima, dan digabungkan dengan data
yang sudah ter-enkripsi. Penerima data akan membuka kunci des yang ter-
enkripsi dengan Private key yang dimilikinya. Lalu kunci des yang dihasilkan
digunakan untuk membuka data. Disini digunakan des sebagai enkriptor data,
karena kecepatannya yang lebih baik dibandingkan penggunaan Public/Private
key. Sedangkan keamanannya terjamin oleh penggunaan Public/Private key
terhadap kunci des yang dipakai.
Compare
Public/Private key concept
Digital Envelope
Digital Signature

Digital Signature
Digunakan untuk data yang terbuka untuk umum (public accessible) namun dijaga
kebenarannya (seperti penggunaan checksum pada sistem kompresi file, sistem
transmisi data). Untuk itu pada data tersebut ditambahkan signature. Signature
ini dibuat dari data yang akan dikirimkan, yang diproses dengan algoritme
tertentu (hashing algorithm) menjadi message digest, lalu message digest
tersebut di-encode dengan Private key si pengirim, menjadi digital signature
untuk data tersebut. Si penerima dapat memastikan kebenaran (authentification)
data yang dikirimkan dengan men-decode digital signature menjadi message
digest dengan menggunakan Public key, lalu membandingkannya dengan
message digest yang dibuat dari data yang diproses dengan algoritme tertentu
(dalam hal ini hashing algorithm).

BAB VI
IP NEXT GENERATION

Tujuan dibuatnya IP versi baru :
- mendukung milyaran host, walaupun dengan penggunaan alokasi ruang
alamat yang tidak efisien sekalipun
- mengurangi ukuran tabel routing
- menyederhanakan protokol, untuk mengijinkan router memproses paket lebih
cepat
- menyediakan keamanan yang lebih baik ( autentisasi dan privacy) dibanding
IP saat ini
- lebih memperhatikan jenis layanan, khususnya untuk data real time
- membantu multicasting dengan mengijinkan scope untuk dispesifikasikan
- memungkinkan sebuah host untuk berpindah-pindah tempat tanpa harus
mengubah alamatnya.
- Mengijinkan protokol untuk dikembangkan di masa yang akan datang
- Mengijinkan protokol baru dan protokol lama untuk bisa berdampingan dalam
beberapa tahun mendatang

Dalam suatu diskusi yang diajukan oleh IETF, yaitu tertuang dalam RFC 1550 diperoleh
beberapa proposal serius pada desember 1992. Dari beberapa proposal tersebut muncul
tiga proposal yang diterbitkan oleh IEEE Network, yaitu Seering, 1993, Francis 1993,
dan Katz & Ford 1993. Setelah dilakukan diskusi & revisi, maka versi proposal Deering
& Francis yang dikombinasikan yang kemudian disebut SIPP (Simple Internet Protocol
Plus), dipilih dan diberi nama IPv6.
IPv6 memenuhi persyaratan yang cukup baik, diantaranya :
- IPv6 memiliki alamat IP yang lebih panjang yaitu 16 byte.
- IPv6 memiliki header yang lebih sederhana, yaitu 7 field (versus 13 pada
IPv4).
- IPv6 memiliki dukungan yang baik bagi option. Field-field yang dulu
diperlukan sekarang berubah menjadi optimal. Option juga direpresentasikan
secara berbeda, sehingga mudah bagi router utnuk melewatkan option yang
tidak ditujukan untuknya
- IPv6 memberikan kemajuan yang besar dalam hal keamanan

Header IPv6 Utama
Version Priority Flowlabel
Panjang Payload
32 Bits
Header berikutnya Batas Hop
Alamat Sumber
Alamat Tujuan
(16 bytes)

Gambar Format Header IPv6

Field version selalu bernilai 6. Field Priority digunakan untuk membedakan antara paket-
paket yang sumbernya dapat dialirkan secara terkontrol dengan sumber yang tidak dapat
dialirkan. Nilai-nilai 0-7 dimaksudkan untuk transmisi yang mampu menurunkan
kecepatannya bila terjadi kemacetan. Nilai 8-15 digunakan untuk lalu-lintas data real time
yang mengirim dalam laju konstan, walaupun semua paketnya hilang. Audio & video
termasuk dalam dalam kategori terakhir. Penomoran menunjukkan tingkat kepentingan
data. Semakin tinggi nomor semakin penting nilai datanya, sehingga bila terjadi
kemacetan nomor tertinggi yang didahulukan. Contoh ! untuk news, 4 untuk FTP dan 6
untuk TELNET. Delay beberapa detik untuk news tidak menjadi soal, tetapi masalah
penting untuk Telnet.
Filed Flow label masih bersifat percobaan tapi akan digunakan untuk mengijinkan
sumber dan tujuan menyusun pseudoconnection dengan sifat-sifat dan persyaratan
khusus. Misalkan suatu aliran paket yang berasal dari sebuah proses pada host sumber
tertentu ke proses di host lain tertentu dapat memilih persyaratan delay yang ketat dan
sehingga memerlukan badwith yang dicadangkan. Aliran dapat dibentuk terlebih dahulu
dan diberi sebuah identitas. Ketika suatu paket dengan Flow Label tidak nol muncul,
semua router dapat mencarinya di tabel internal untuk mengetahui jenis perlakuan khusus
yang diperlukannya.
Field Payload Length untuk menyatakan panjang byte yang mengikuti header 40 byte.
Field Header Berikutnya (Next Header) adalah untuk mengetahui bila ada extension
header, diantara 6 extension header yang ada, header manakah yang mengikuti field ini.
Bila header ini adalah header terakhir, maka field ini akan memberitahukan protokol
transportnya.
Field Batas Hop (Hop Limit) digunakan untuk menjaga paket agar tidak hidup terus
menerus. Atau dalam IPv4 sama fungsinya dengan field Time to Live.
Field Source Address & Destination Address, dengan panjang 16 byte diperkirakan tidak
akan habis untuk penyediaan alamat sampai decade yang akan datang.

Untuk ruang alamat IPv6 dibagi ke dalam bentuk-bentuk sebagai berikut :
Prefix (binary) Pemakaian Fraksi
0000 0000 Dicadangkan (termasuk IPv4) 1/256
0000 0001 Tidak dipakai 1/256
0000 001 Alamat-alamat OSI NSAP 1/28
0000 010 Alamat-alamat IPX Novell Netware 1/128
0000 011 Tidak dipakai 1/128
0000 1 Tidak dipakai 1/32
0001 Tidak dipakai 1/16
001 Tidak dipakai 1/8
010 Alamat-alamat berbasis provider 1/8
011 Tidak dipakai 1/8
100 Alamat-alamat berbasis geografis 1/8
101 Tidak dipakai 1/8
110 Tidak dipakai 1/8
1110 Tidak dipakai 1/16
1111 0 Tidak dipakai 1/32
1111 10 Tidak dipakai 1/64
1111 110 Tidak dipakai 1/128
1111 1110 0 Tidak dipakai 1/512
1111 1110 10 Link local use address 1/1024
1111 1110 11 Site local use address 1/1024
1111 1111 Multicast 1/256
Gambar Ruang alamat IPv6

Alamat dimulai dengan 00 buah angka nol yang dicadangkan untuk alamat IPv4. disini
digunakan dua varian, dimana dibedakan dengan 16 bit berikutnya. Varian-varian ini
berkaitan dengan cara paket-paket IPv6 di-tunnelkan melalui infrastruktur IPv4 yang
telah ada.
Extension Header
Ada beberapa field yang dihilangkan di IPv6 yang kadang-kadang masih diperlukan.
Untuk itu IPv6 memakai konsep extension header(optional). Header-header ini dapat
digunakan untuk menyediakan informasi tambahan, tapi di-encode dengan cara yang
efisien. Pada saat ini terdapat enam buah extension header seperti terlihat pada tabel
dibawah ini :

Extension Header Penjelasan
Hop-by-hop option Aneka informasi bagi router
Routing Route penuh atau sebagian yang harus diikuti
Fragmentation Manajemen fragmen-fragmen datagram
Authentication Verifikasi identitas pengirim
Encrypted security Informasi tentang isi enkripsi
Destination options Informasi tambahan bgi tujuan
Tabel Extension header pada IPv6

Masing-masing header bersifat optional, tapi bila terdapat lebih dari sebuah header, maka
header-header itu harus muncul langsung setelah bagian header yang tetap, dan lebih baik
lagi bila penempatannya dibuat berurutan.
Sebagian header mempunyai format yang tetap, sedangkan header lainnya berisi jumlah
variable field variable-length. Untuk itu, setiap item di-encode sebagai suatu tuple (Type,
Length, Value). Type merupakan field 1 byte yang menerangkan jenis option yang
dipakai. Nilai Typedipilih sedemikian rupa sehingga 2 bit pertama menyatakan router
yang tidak mengetahui cara memproses apa yang harus dilakukan oleh option

Jaringan TCP/IP 1

Setyorini
Sekolah Tinggi Teknologi Telkom Bandung
DAFTAR PUSTAKA


Internetworking With TCP/IP Volume 1, Douglas E. C. (1)
Buku Pintar Internet TCP/IP, Onno W. P & dkk (2)
Diktat ITB Dasar-dasar TCP/IP (3)
Jaringan Komputer Jilid 2, Andrew Tanenbaum (4)

You might also like