Arsitektur IP

download Arsitektur IP

of 71

Transcript of Arsitektur IP

  • 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/IPStack

    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

    DataIP Header

    DataIP HeaderTCPHeader

    DataIP HeaderTCPHeaderNetwork

    Interface H.

    ApplicationLayer

    TransportLayer

    NetworkLayer

    NetworkInterface 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 DATAGRAMTYPE OF SERVICEHEADERLENGTHVERSION

    IDENTIFICATION FLAG FRAGMENT OFFSET

    TIME TO LIVE PROTOCOL HEADER CHECKSUM

    SOURCE IP ADDRESS

    DESTINATION IP ADDRESS

    OPTIONSSTRICT 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

    :

  • hostidnetid0

    multicast address1 1 1 0

    reserved for future use1 1 1 1 0

    0 1 2 3 4 8 16 24 31Class A

    Class B

    Class C

    Class D

    Class E

    hostidnetid01

    hostidnetid1 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 216 host terhubung kepadanya. Untuk kelas A, 7 bit untuk netid dan

    24 bit untuk hostid. Kelas B untuk jaringan berukuran sedang, dengan daya tampung

    antara 28 sampai 216 host. Kelas B mengalokasikan 14 bit untuk netid & 16 bit untuk

    hosted. Kelas C mampu menghubungkan kurang dari 28 host dengan mengalokasikan 21

    bit untuk netid dan hanya 8 bit untuk hostid.

    2.3 ROUTING 2.3.1 Routing di Internet

    Dalam suatu sistem packet switching, routing mengacu pada proses pemilihan jalur untuk

    pengiriman paket, dan router adalah perangkat yang melakukan tugas tersebut.

    Perutean dalam IP melibatkan baik gateway maupun host yang ada. Ketika suatu program

    aplikasi dalam suatu host akan berkomunikasi, protocol TCP/IP akan membangkitkannya

    dalam bentuk banyak datagram. Host harus membuat keputusan perutean untuk memilih

    jalur pengiriman.

    2.3.2 Pengiriman Langsung & Tidak Langsung

    Pengiriman langsung (direct delivery) adalah transmisi datagram dari suatu mesin

    langsung ke mesin lain, dan hal ini dapat terjadi bila keduanya berada dalam satu media

  • transmisi yang terhubung langsung. Sedangkan pengiriman yang tidak langsung

    mengharuskan suatu datagram untuk melewati gateway.

    Untuk pengiriman langsung datagram IP, pengirim akan mengenkapsulasi datagram

    dalam suatu frame fisik, memetakan alamat IP tujuan ke alamat fisik dan menggunakan

    perangkat keras jaringan untuk pengiriman secara langsung.

    Identifikasi bahwa tujuan masih berada dalam satu jaringan dapat dilihat di alamat IP

    bagian network-nya, jika ditemukan alamat yang sama maka dapat dilakukan pengiriman

    langsung.

    Pengiriman tidak langsung terjadi bilamana antar host yang bertukar informasi tidak

    terletak pada satu jaringan sehingga perlu melalui beberapa gateway hingga gateway

    terakhir dapat dicapat dan pengiriman langsung dapat dilakukan.

    2.3.3 Table Routing

    Suatu algoritma perutean menggunakan table perutean yang menyimpan informasi

    mengenai kemungkinan tujuan yang dapat dicapai & cara pencapaiannya. Karena baik

    host maupun gateway merutekan datagram, maka keduanya memiliki table perutean.

    Untuk pengefisienan table routing tidak semua informasi mengenai kemungkinan tujuan

    akan disimpan. Alamat IP-pun tidak perlu ditulis lengkap

    Biasanya tabel routing terdiri dari pasangan Network & Gateway (N,G) dimana N

    menunjukkan jaringan tujuan & G merupakan gateway berikutnya untuk sampai di

    jaringan N.

    Tabel perutean akan selalu menunjuk ke gateway yang dapat ditempuh langsung dalam

    satu jaringan. Semua gateway yang terdaftar di mesin tabel perutean mesin M harus

    terletak dalam satu jaringan. Ketika suatu datagram akan meninggalkan mesin M makan

    perangkat lunak IP akan mencari alamat IP tujuan dan menggunakan bagian networknya

    untuk membuat keputusan perutean, pemilihan gateway dan pengiriman secara langsung.

    Contoh :

    Network10.0.0.0 F

    Network20.0.0.0 G

    Network30.0.0.0 H

    Network40.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 :

    - Interior Gateway Protocol (IGP)

    Adalah protokol routing yang menangani perutean dalam suatu sistem

    autonomous.

    - Exterior Gateway Protocol(EGP)

    Merupakan protokol routing yang menangani routing antar sistem

    autonomous.

    Sistem autonomous adalah suatu sistem jaringan internet yang berada dalam satu kendali

    administrasi dan teknis.

    Ada beberapa macam Protokol routing yang sering digunakan, diantaranya :

    - Routing Information Protocol (RIP)

    - Open Shortest Path First (OSPF)

    - Border Gateway Protocol (BGP)

    Berdasarkan pembagian utamanya maka protokol routing yang termasuk dalam IGP

    adalah RIP & OSPF, sedangkan yang termasuk dalam EGP adalah BGP.

  • EGP memiliki kemampuan untuk menentukan policy routing karena sebagian

    autonomous sistem di internet mempunyai kebijakkan dalam hal routing. Untuk

    pelaksanaan routing dalam suatu IGP policy ini tidak diperlukan.

    a. Routing Information Protocol (RIP)

    RIP memiliki karakteristik sebagai berikut :

    - menggunakan algoritma distance-vektor (Bellman-Ford)

    - dapat menyebabkan routing loop

    - diameter jaringan terbatas

    - lambat mengetahui perubahan jaringan

    - menggunakan metrik tunggal

    b. Open Shortest Path First (OSPF)

    karakteristik OSPF diantaranya :

    - menggunakan algoritma link-state

    - membutuhkan waktu CPU dan memori yang besar

    - tidak menyebabkan routing loop

    - dapat membentuk hierarki routing menggunakan konsep area

    - cepat mengetahui perubahan jaringan

    - dapat menggunakan beberapa macam metrik

    2.4 ADDRESS RESOLUTION PROTOCOL (ARP) Protocol TCP/IP menggunakan pemetaan secara dinamik alamat IP ke alamat fisik level

    rendah. ARP hanya melalui jaringan tunggal dan terbatas ke jaringan yang mendukung

    adanya layanan broadcasting.

    2.4.1 Dua Tipe Alamat Fisik

    Ada dua tipe alamat fisik sebagai contoh : Ethernet yang memiliki alamat fisik

    yang besar & fix, serta proNET-10 yang memiliki konfigurasi alamat fisik yang

    kecil & mudah.

    2.4.2 Resolusi melalui Direct Mapping

  • Untuk memilih skema yang membuat resolusi alamat yang efisien berarti memilih

    fungsi f yang memetakan alamat IP ke alamat fisik. Resolving alamat IP IA berarti

    menghitung :

    PA = f(IA)

    Contoh : penggunaan X.25 yang tidak mengijinkan pemilihan alamat fisik.

    Biasanya gateway menyimpan pasangan alamat IP & fisik dalam satu tabel dan

    mencari dalam tabel ketika me-resolve suatu alamat IP. Fungsi Hash dapat digunakan

    untuk pencarian yang lebih efisien.

    2.4.3 Resolusi dengan Dynamic Binding

    Untuk kasus kesulitan resolusi alamat di suatu teknologi jaringan maka dapat

    digunakan suatu mesin ke jaringan tanpa adanya recompiling code dan tidak

    mmbutuhkan suatu pemeliharaan dari sebuah database terpusat. Untuk

    menghindari pemeliharaan tabel pemetaan, digunakan protocol level rendah yang

    dapat secara dinamik mem-binding alamat, yaitu ARP

    A X B Y

    (a)

    A X B Y

    (b) Gambar protocol ARP

    Ide dari metode ini adalah jika suatu host (A) ingin me-resolve suatu alamat (IB)

    maka A mem-broadcast paket khusus yang meminta host dengan alamat IP

    (IB)untuk meresponnya dengan alamat fisik PB. semua host termasuk B menerima

    request tetapi hanya host B yang mengenali alamat IP-nya & kemudian mengirim

    balasan(reply) yang berisi alamat fisik host B. ketika A menerim reply, A

    menggunakan alamat tersebut untuk mengirim paket internet secara langsung ke

    B.

  • 2.4.4 Address Resolution Cache

    Cache yanga ada dapat menyimpan pemetaan anatar alamat IP dengan alamat

    fisik sehingga pengiriman ARP secara berulang tidak diperlukan lagi. Pangisian

    cache dilakukan ketika pengirim menerima reply ARP.

    2.4.5 Implementasi ARP

    Secara fungsional penggunaan ARP dibagi menjadi 2 bagian :

    a. bagian penentuan alamat fisik ketika mengirimkan sebuah paket

    b. bagian penjawab suatu request dari mesin lain.

    Resolusi alamat untuk paket yang dikirimkan terlihat sederhana, ttetapi memiliki

    implementasi yang agak komplek.

    Ketika diberikan suatu alamat IP tujuan, host akan mengecek cache ARP-nya

    apakah pemetaan alamat tersebut sudah ada. Jika ada maka alamat fisik akan

    diproses, membentuk frame dengan alamat fisik yang didapat & mengirimkan

    frame tersebut. Tetapi jika alamat IP belum tercantum maka dikirimkan ARP

    secara broadcast & menunggu reply yang datang.

    Jika reply tidak datang karena mesin tujuan tidak aktif atau tertunda karena sibuk,

    maka dapat mengakibatkan request lost.

    2.4.6 Enkapsulasi & Identifikasi ARP

    Pesan ARP terkirim dalam bentuk frame dengan format :

    ARP MESSAGE

    FRAME DATA AREAFRAME 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 = 080616 yang

    merupakan nilai standar yang digunakan di Ethernet.

  • 2.4.7 Format Protokol ARP

    paket ARP tidak memiliki format header yang tetap, karena di desain untuk dapat

    mendukung berbagai macam teknologi. Field pertama berisi count yang menentukan

    panjang field sesuadahnya. Contoh pada gambar :

    HARDWARE TYPE HARDWARE TYPEHLEN PLEN OPERATION

    SENDER HA (octet 0-3)SENDER HA (octet 4-5) SENDER IP (octet 0-1)SENDER IP (octet 2-3) TARGET HA (octet 0-1)

    TARGET HA (octet 2-5)TARGET IP (octet 0-3)

    Gambar format pesan protokol ARP

    terlihat 28 oktet pesan ARP yang digunakan di perangkat keras Ethernet ( dimana

    alamat fisik sepanjang 48 bit atau 6 oktet), ketika melalukan resolving alamat IP(

    panjang 4 oktet).

    Di gambar juga terlihat pesan ARP dengan panjang 4 oktet per baris, suatu format

    yang sesuai dengan standarisasi.

    2.5 INTERNET CONTROL MESSAGE PROTOCOL (ICMP) Dalam suatu sistem connectionless setiap gateway akan melakukan pengiriman, perutean

    datagram yang dating tanpa adanya koordinasi dengan pengirim pertama. Tidak semua

    sistem berjalan dengan lancar. Kegagalan dapat saja terjadi. misalnya line komunikasi,

    prosesor atau dikarenakan mesin tujuan tidak sedang aktif, ttl dari counter habis, atau

    ketika terjadi kemacetan sehingga gateway tidak lagi bisa memproses paket yang datang.

    Dalam koneksi dengan internet pengirim tidak dapat memberitahukan & tidak tahu sebab

    kegagalan suatu koneksi. Untuk mengatasinya diperlukan suatu metode yang

    mengijinkan gateway melaporkan error atau menyediakan informasi mengenai kejadian

    yang tidak diinginkan sehingga dipakai mekanisme ICMP.

  • Pesan ICMP merupakan bagian dari datagram IP. Tujuan akhir dari suatu pesan ICMP

    bukan merupakan program atau user melainkan software internet-nya. Ketika pesan

    ICMP hadir software ICMP akan menanganinya.

    ICMP mengijinkan gateway untuk mengirim pesan error ke gateway lain atau host. ICMP

    menyediakan komunikasi antar software protocol Internet.

    Pada dasarnya terdapat dua macam pesan ICMP : ICMP Error Message & ICMP Query

    Message. ICMP error message digunakan pada saat terjadi kesalahan pada jaringan,

    sedangkan query message adalah jenis pesan yang dihasilkan oleh protokol ICMP jika

    pengirim paket menginginkan informasi tertentu yang berkaitan dengan kondisi jaringan.

    2.5.1 Error & Query Reporting

    Secara teknis ICMP adalam mekanisme error reporting untuk gateway sehingga dapat

    memberitahu sumber mengenai kesalahan yang terjadi. Sedangkan untuk koreksinya

    diserahkan pada program aplikasi yang ada pada pengirim.

    Pesan ICMP ini selalu dikirimkan kepada gateway awal. Jika suatu datagram yang

    melewati beberapa gateway mengalami kegagalan & kesalahan tujuan di intermediate

    gatewaynya maka tidak dapat dideteksi gateway mana yang gagal tersebut.

    Ada beberapa jenis pesan error diantaranya :

    - destination unreachable

    pesan ini dihasilkan oleh router jika pengiriman paket mengalami kegagalan

    akibat masalah putusnya jalur, baik fisik maupun lojik. Pesan ini dapat dibagi

    menjadi beberapa tipe :

    o network unreachable

    jika jaringan tujuan tidak dapat dihubungi

    o host unreachable

    jika host tujuan tidak bisa dihubungi

    o protocol at destination is unreachable

  • jika di tujuan tidak tersedia protokol tersebut

    o port is unreachable

    jika tidak ada port yang dimaksud pada tujuan

    o destination network is unknown

    jika network tujuan tidak diketahui

    o destination host is unknown

    jika host tujuan tidak diketahui

    - time exceeded

    dikirimkan jika is field TTL dalam paket IP sudah habis masa aktifnya dan

    paket belum juga sampai ke tujuannya

    - parameter problem

    pesan ini dikirim jika terjadi kesalahan parameter pada header paket IP

    - source quench

    jika router atau tujuan mengalami kemacetan, sebagai respon terhadap pesan

    ini maka pihak penerima harus memperlambat pengiriman paket

    - redirect

    dikirimkan jika router merasa host mengirimkan paket IP melalui router yang

    salah.

    Sedangkan untuk pesan query diantarannya adalah :

    - Echo & Echo Reply

    Bertujuan untuk memeriksa apakah sistem tujuan dalam keadaan aktif.

    Program ping merupakan program pengiriman paket ini. Responder harus

    mengembalikan data yang sama dengan data yang dikirimkan

    - Timestamp & Timestamp Reply

    menghasilkan informasi waktu yang diperlukan sistem tujuan untuk

    memproses suatu paket

  • - Address Mask

    Untuk mengetahui berapa netmask yang harus digunakan oleh suatu host

    dalam suatu network.

    2.5.2 Pengiriman ICMP Message

    ICMP memerlukan dua level enkapsulasi seperti pada gambar dibawah ini :

    ICMP DATA

    DATAGRAM DATA AREADATAGRAM HEADER

    ICMP HEADER

    FRAME DATA AREAFRAME 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 AREAUDPHEADER

    IP DATA AREAIPHEADER

    FRAME DATA AREAFRAMEHEADER 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 : DemultiplexingBased 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 ReceiverSiteSend Packet 1

    Receive ACK 1Send Packet 2

    Receive ACK 2

    Receive Paket 1Send ACK 1

    Receive Packet 2Send 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 ReceiverSiteSend Packet 1

    ACK would normallyarrive at this time

    Receive ACK 1

    Packet should arriveACK should be sent

    Receive Packet 2Send 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

    ReliabelStream (TCP)

    UserDatagram (UDP)

    Internet (IP)

    Network Interface gambar konsep layer UDP & TCP di atas IP

    Untuk mengidentifikasi mesin tujuan digunakan nomor port. (berupa bilangan integer

    dalam skala kecil ).

    Protocol Software akan menempatkan setiap datagram yang baru datang sebagai antrian

    pada port-port yang ada sesuai dengan jenis aplikasinya.

    Konsep identifikasi layanan yang dipegang oleh TCP adalah connection abstraction,

    yaitu identifikasi virtual circuit connection. Satu koneksi terdiri dari sepasang end point.

    End point adalah pasangan integer (host,port), dimana host menunjukkan alamat IP yang

    digunakan & port menunjukkan nomor port TCP dalam suatu host.

    Contoh :

    End point (128.10.2.3,25) : ! TCP port =25 ! Yang berada di host dengan alamat IP 128.10.2.3

    Koneksi antara host (18.26.0.36) di MIT ke host (128.10.2.3) di Purdue Univercity : (18.26.0.36,1069) dan (128.10.2.3,25) secara bersamaan terdapat koneksi dari (123.9.0.32) ke host di Purdue : (128.9.0.32,1184) dan (128.10.2.3,53)

  • koneksi dengan penggunaan end-point juga dapat 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

    WINDOWCODE BITSRESERVEDHLEN

    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

    nsfvs

    reston

    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 Internet (ibm.net, mci.net). Sedangkan domain org digunakan oleh organisasi

    nonkomersial (greenpeace.org). hingga saat ini sistem pembagian organisasional ini

    masih berlaku di Amerika.

    Berdasarkan informasi ini kita dapat menyimpulkan bahwa komputer

    xinu.cs.purdue.edu adalah komputer milik suatu lembaga pendidikan.

    Dengan semakin banyaknya negara-negara yang terhubung ke internet, kemudian

    diputuskan untuk menggunakan standar pembagian geografis yang ditetapkan sesuai

    standar ISO 3166. inilah yang disebut TLD Negara. Berdasarkan konvensi tersebut

    dialokasikan TLD yang merupakan pengenal geografis (negara) dan terdiri atas dua huruf

    yang unik

    Sebagai contoh negara Indonesi memiliki TLD .id, negara Inggris memiliki TLD

    .uk (united kingdom), negara Malaysia memiliki TLD .my dan sebagainya.

    Pada umumnya pembagian TLD secara geografis ini kemudian diikuti dengan pembagian

    berdasarkan afiliasi organisasi bagi level domain di bawahnya. Ada yang mengadopsi

    sistem pembagian di Amerika, seperti edu.au atau com.au, ada juga yang mengikuti

  • sistem pembagian yang dipelopori Inggris, seperti co.uk (corporation) atau ac.uk

    (academic)

    Konvensi pembagian nama domain di Indonesia ditetapkan sampai level kedua.

    Sedangkan aturan penamaan domainya mengikuti sistem Inggris. Hal ini dapat

    ditunjukkan pada tabel berikut :

    Domain 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 diterminalnya user interface

    user protocolintepreter

    user datatransfer function

    filesystem

    control connection(FTP commandsand FTP replies) server protocol

    interface

    server datatransfer function

    filesystem

    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

    - Interactive Access

    Disediakan fasilitas interface interaksi antara client dengan server.

    - Format Specification

    Client diperbolehkan menentukan tipe & format data.

    - Authentication Control

    Ada kontrol autentifikasi untuk client yang meminta pengiriman file dari server

    berupa masukkan login dan password dari client.

    4.2.3 Representasi Data

    Transfer file hanya dilakukan melalui data connection. Sedangkan control connection

    digunakan untuk mentransfer perintah-perintah dan balasan. Bagaimana file ditransfer

    dan disimpan telah disebutkan dalam spesifikasi protocol FTP dan ada banyak pilihan

    cara.

    4.2.4 Perintah-Perintah FTP

    Perintah-perintah FTP merupakan karakter ASCII sebanyak 3 sampai 4 byte, dan

    menggunakan huruf besar. Keseluruhan ada 30 perintah dan beberapa perintah yang

    umum digunakan diperlihatkan oleh Tabel berikut

    Perintah 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: S: 250 OK

    C: RCPT TO : S: 250 OK

    C: RCPT TO : S: 550 No such user here

    C: RCPT TO : S: 250 OK

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

    TELNETclient

    operatingsystem

    user'sterminal

    client readsfrom

    terminalTELNETserver

    operatingsystem

    TCP/IPInternet

    client sendsto server

    server receivesfrom client

    server sendsto pseudoterminal

    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'sterminal Client Server

    Server' sSystem

    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 Identifier (URI) absolut, mengubah format request, dan mengirimkan request

    ke server yang ditunjukkan oleh URI. Gateway bertindak sebagai agen penerima dan

    menterjemahkan request ke protokol server yang dilayaninya. Tunnel bertindak sebagai

    titik relay antara dua hubungan HTTP tanpa mengubah request & response HTTP.

    Tunnel digunakan jika komunikasi perlu melalui sebuah perantara dan perantara tersebut

    tidak mengetahui isi dari pesan dalam hubungan tersebut.

    Contoh hubungan HTTP yang melibatkan beberapa komponen dapat dilihat pada gambar

    berikut : User

    Agent Proxy Tunnel Gateway Server Asal gambar komponen-komponen dalam rantai request/response HTTP

    Proxy atau gateway dapat menggunakan mekanisme cache untuk memperpendek rantai

    hubungan HTTP. Proxy pada gambar di atas dapat menggunakan cache dan memberikan

    response cache sehingga request dari UA tidak perlu dilayani oleh server asal karena

    proxy telah memberikan response atas request tersebut.

    4.5.2 Format HTTP

    Kita mengenal protokol HTTP menggunakan format URL (Universal Resource Locator)

    HTTP dalam bentuk :

    http://host[:port][abs_path]

    host adalah nama domain internet yang legal

    port adalah bilangan yang menunjukkan port HTTP di host

    jika port tidak disebutkan maka port HTTP diasumsikan sebagai 80

    abs_path menyatakan lokasi resource di dalam host.

    Contoh :

  • http://www.stttelkom.ac.id/home.html

    Jika kita mengisikan URL tersebut ke browser, browser bertugas untuk mengartikan URL

    tersebut dan menerjemahkannya dalam komunikasi protokol HTTP. Aturan dalam

    mengartikan format URL HTTP mengikuti aturan umum URI, yaitu case sensitive,

    kecuali nama dan skema URL case insensitive.

    Komunikasi protokol HTTP terdiri atas pesan request yang diberikan oleh user agent dan

    response yang dikeluarkan oleh server. Setiap request dan response HTTP menggunakan

    format pesan generic seperti yang didefinisikan oleh RFC 822.

    Pesan HTTP terdiri atas baris mulai, header pesan dan isi pesan dipisahkan oleh sebuah

    baris kosong, yaitu hanya berisi karakter CRLF.

    - Baris mulai

    pada pesan request berisi pesan permintaan dari client, sementara pada pesan

    response, baris ini berisi status response atas request yang diterima.

    - Header pesan

    dapat terdiri atas beberapa baris, bergantung pada field-field yang perlu disertakan

    dalam header tersebut. Terdapat 4 jenis header pesan, yaitu header pesan umum

    yang berlaku si setiap jenis pesan, header request, header response dan header

    entity.

    Header yang umum pada pesan HTTP request dan response adalah sebagai berikut :

    Header-umum = Cache-

    Control|Connection|Date|Pragma|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 Date memberikan informasi mengenai waktu asal pesan.

    Field Transfer-Encoding menentukan jenis transfer yang diberikan kepada isi

    pesan agar dapat sampai dengan aman ke client.

  • Field Upgrade digunakan untuk mengganti protokol yang hendak digunakan.

    Field Via digunakan oleh proxy dan gateway untuk memeberitahu jalur yang

    digunakan dalam sebuah rantai request /response

    - Isi Pesan

    Digunakan untuk mengirimkan isi entity. Keberadaan isi pesan dalam pesan

    request ditandai dengan adanya hader ContentLength. Dalam pesan response,

    keberadaan isi pesan ini tergantung atas kode status yang diberikan. Dalam sebuah pesan

    HTTP header Content-Length & Transfer-Encoding tidak bolah muncul bersama-sama.

    Kedua header ini menunjukkan hal yang berlawanan, adanya header Transfer-Encoding

    menunjukkan bahwa panjang isi pesan tidak diketahui sementara header Content-Length

    menunjukkan panjang isi pesan dalam byte. Jika dalam sebuah pesan terdapat kedua

    header ini, maka header Content-Length harus diabaikan.

    Setipa request & response dalam komunikasi HTTP harus menyertakan versi protokol

    yang digunakan. Format penulisan versi protokol ini adalah :

    HTTP/.

    Major 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 SECURITY)

    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 12441, 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.

    1RFC : 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 d