diktat jaringan komputer v2

Upload: arie-lesmana

Post on 15-Jul-2015

937 views

Category:

Documents


0 download

TRANSCRIPT

Diktat Kuliah

Jaringan KomputerVersi 2.0

Fazmah Arif Yulianto 9975190

Jurusan Teknik Informatika Sekolah Tinggi Teknologi Telkom Bandung 2003

Daftar Isi

Dasar-dasar Jaringan Komputer _________ 1Motivasi ____________________________________________________ 2 Kebutuhan (Requirement) _____________________________________ 3 Arsitektur Jaringan__________________________________________ Layering dan Protokol _______________________________________ Arsitektur OSI _____________________________________________ Arsitektur Internet __________________________________________ 19 19 25 26

Jaringan-jaringan Terhubung-Langsung _ 29Komponen Perangkat Keras __________________________________ 30 Node_____________________________________________________ 30 Link _____________________________________________________ 31 Pengkodean ________________________________________________ 33 Framing ___________________________________________________ Protokol Berorientasi Byte ___________________________________ Protokol Berorientasi Bit _____________________________________ Framing berbasis clock ______________________________________ Deteksi Kesalahan ___________________________________________ Cyclic Redundancy Check ____________________________________ Parity Dua Dimensi _________________________________________ Internet Checksum __________________________________________ Transmisi yang Handal _______________________________________ Stop-and-Wait _____________________________________________ Sliding Window ____________________________________________ Concurrent Logical Channel __________________________________ Token Ring _________________________________________________ Format Frame _____________________________________________ MAC (Medium Access Control) _______________________________ Topologi fisik jaringan Token Ring ____________________________ FDDI (Fiber Distributed Data Interface) ________________________ Spesifikasi FDDI ___________________________________________ Format frame FDDI _________________________________________ Medium Access Control FDDI ________________________________ 37 38 39 41 43 43 46 46 47 48 50 54 55 55 56 59 59 60 61 62

Pengalokasian bandwidth ____________________________________ Media fisik FDDI___________________________________________ Jenis node FDDI ___________________________________________ Algoritma Timed-Token______________________________________ Pemeliharaan Token ________________________________________ Ethernet ___________________________________________________ Properti Fisik ______________________________________________ Ethernet dan IEEE 802.3 _____________________________________ Format frame ______________________________________________ Alamat ___________________________________________________ Algoritma pengirim _________________________________________

62 63 64 66 68 69 70 71 72 73 74

Packet Switching _____________________ 76Switching dan Forwarding ____________________________________ Source Routing ____________________________________________ Virtual Circuit _____________________________________________ Datagram _________________________________________________ Implementasi dan Unjuk Kerja ________________________________ 77 78 80 83 84

Routing ____________________________________________________ 86 Jaringan Sebagai Suatu Graph ________________________________ 86 Distance Vector ____________________________________________ 88 Link State _________________________________________________ 92 Metric____________________________________________________ 97 Routing, Pengalamatan dan Hirarki____________________________ 100 Perangkat Keras Switching __________________________________ Tujuan Perancangan _______________________________________ Port dan Fabric ___________________________________________ Switch Crossbar___________________________________________ Self-routing fabric _________________________________________ Shared Media Switches _____________________________________ 101 101 103 104 108 113

1 Jaringan Komputer

1M

Dasar-dasar Jaringan Komputerisalkan suatu saat dibutuhkan suatu jaringan komputer yang memiliki

kemampuan untuk mendukung berbagai macam aplikasi (teleconference, video-ondemand, distributed computing dan digital library) serta memungkinkan untuk berkembang menjadi jaringan global. Teknologi apa kiranya yang akan digunakan sebagai komponen pembangun? Arsitektur perangkat lunak seperti apa yang akan digunakan dalam mengintegrasikan komponen-komponen tersebut menjadi sebuah layanan komunikasi yang efektif? Menjawab pertanyaan-pertanyaan tersebut adalah tujuan akhir dari tulisan ini : untuk mendeskripsikan teknologi yang tersedia dan penggunaannya dalam membangun jaringan komputer. Sebelum melangkah terlalu jauh, perlu disepakati terlebih dahulu apa yang dimaksud dengan jaringan komputer. Sekian puluh tahun yang lalu istilah jaringan (network) sering kali digunakan untuk menyebut kumpulan serial-line yang menghubungkan dumb terminal ke komputer mainframe. Selain itu, istilah jaringan juga dikenal dalam lingkungan telepon, untuk menghantarkan sinyal suara. Ada pula yang menggunakan istilah jaringan dalam dunia cable-TV yang digunakan untuk menghantarkan sinyal video. Satu hal yang perlu diperhatikan adalah bahwa masingmasing jaringan dirancang secara khusus untuk menghantarkan satu jenis data saja (karakter, suara, video) dan terhubung dengan perangkat untuk keperluan khusus (terminal, pesawat telepon, televisi). Apa yang membedakan jaringan komputer dengan jaringan-jaringan tersebut? Jaringan komputer yang dikenal (dan diperlukan) saat ini adalah jaringan yang bersifat general. Kalau diperhatikan, jaringan komputer dibangun terutama untuk menghubungkan perangkat-perangkat yang bersifat umum (general purpose : tidak dirancang secara khusus untuk mendukung suatu aplikasi tertentu). Dengan demikian jaringan komputer harus dapat menghantarkan bermacam jenis tipe data dan mendukung segala macam aplikasi yang ada (bahkan sebisa mungkin juga mengantisipasi aplikasi yang belum ada). Bab ini menyajikan beberapa aplikasi umum yang menggunakan jaringan komputer, berikut dengan kebutuhan masing-masing yang harus diperhatikan oleh perancang jaringan. Apa yang harus dilakukan setelah didapat daftar kebutuhanFazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

2 Jaringan Komputer

(requirement)? Syukurlah bahwa telah ada orang yang lebih dahulu membangun jaringan. Komunitas peneliti dan engineer yang membangun Internet (sebagai jaringan komputer yang secara de facto diterima dan digunakan secara global) telah lebih dulu menempuh jalan yang penuh masalah. Pengalaman mereka dapat digunakan sebagai panduan dalam perancangan jaringan. Pengalaman tersebut terwujud dalam arsitektur jaringan yang berbentuk perangkat keras dan komponen perangkat lunak serta cara pengaturannya untuk membangun jaringan komputer.

MotivasiSalah satu faktor yang membuat perkembangan Internet begitu mengagumkan adalah fakta bahwa sekian banyak fungsionalitas disediakan oleh perangkat lunak yang berjalan diatas komputer general purpose. Arti penting dari hal ini adalah bahwa fungsionalitas baru dapat ditambahkan dengan 'sedikit' memrogram. Akibatnya, tidak terhitung lagi aplikasi baru yang bermunculan di Internet tiap tahunnya. Penambahan fungsionalitas pada jaringan tidak hanya melulu pembangunan aplikasi baru, namun juga mencakup fungsi-fungsi baru 'di dalam' jaringan itu sendiri. Sebagai contoh adalah multicast routing, yang memungkinkan berlangsungnya multiparty teleconferencing menggunakan Internet. Faktor lain yang menjadikan jaringan komputer begitu menjanjikan adalah pesatnya peningkatan kemampuan komputasi (computing power) dalam beberapa tahun terakhir. Meski jaringan komputer mampu menghantarkan berbagai macam tipe data, namun tidak akan banyak manfaatnya jika kemampuan komputer untuk mengirim dan menerima masih terlalu lambat dibanding kecepatan transfer data dalam jaringan. Sekarang ini hampir semua komputer mampu memainkan kembali (play back) audio dan video dengan kecepatan dan resolusi yang baik. Mendukung hal itu, jaringan sekarang telah mulai diupayakan untuk dapat memenuhi tuntutan aplikasi multimedia. Upaya itu akan berhasil jika didukung dengan meningkatnya kemampuan (kecepatan) perangkat keras. Alasan utama dibangunnya jaringan komputer adalah agar pengguna dapat menjalankan aplikasi diatasnya. Semua fungsi yang disediakan di suatu jaringan berkaitan erat dengan kebutuhan aplikasi. Pembangun aplikasi memanfaatkan fungsifungsi yang disediakan jaringan, sementara perancang jaringan berusaha untuk menambah fungsionalitas jaringan untuk meningkatkan unjuk kerja dari aplikasi yang telah ada dan memungkinkan timbulnya aplikasi baru. Berikut adalah beberapa aplikasi umum di jaringan (terutama Internet) : FTP (File Transfer Protocol) : aplikasi ini mungkin yang tertua di Internet dan masih sangat berguna sampai saat ini. Sebagaimana tersirat dari namanya, aplikasi ini memungkinkan dilakukannya transfer file antar komputer lewat jaringan. Ada dua entitas penting dalam satu sesi FTP, yaitu : client dan server. Program client pada komputer lokal berhubungan dengan program server di FTP server. Client akan mengirimkan permintaan /Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

3 Jaringan Komputer

perintah (request) yang akan dilakukan dan dijawab oleh server (respond). WWW (World Wide Web) : aplikasi ini begitu sukses dan sangat memudahkan mengakses informasi lewat Internet, sampai-sampai sebagian orang mengira bahwa Web bersinonim dengan Internet. Web dapat dibayangkan sebagai kumpulan sejumlah client dan server yang saling bekerja sama, dimana masing-masing 'berbicara' dengan bahasa yang sama, yaitu HTTP (HyperText Transfer Protocol). Yang menarik berkaitan dengan WWW adalah bahwa secara prinsip, cara kerjanya sama dengan FTP. Server diidentifikasi (pada WWW dengan URL Uniform Resource Locator--), koneksi dibangun, mesin lokal (client) mengirimkan request, dan mesin remote (server) me-respond dengan mengirimkan file yang diminta. NV (Network Video) : aplikasi ini kebanyakan digunakan untuk mutiparty teleconferencing lewat Internet. Disini tidak ada istilah client dan server, semua host berderajat sama (masing-masing host dapat mengirim dan menerima frame-frame video). Atribut kualitas video yang dipertukarkan antar host berpengaruh pada kebutuhan akan bandwidth jaringan.

Kebutuhan (Requirement)Sebelum berusaha memahami perancangan dan implementasi jaringan komputer untuk mendukung aplikasi FTP, WWW, NV dan lainnya, terlebih dahulu harus diidentifikasi ekspektasi terhadap jaringan. Jawabannya tidak mungkin hanya satu, karena jaringan komputer dibangun dengan requirement dan batasan yang sangat banyak. Sementara, requirement sendiri tergantung dari sudut pandang terhadap jaringan sebagai berikut : Pengguna jaringan akan memiliki daftar layanan yang dibutuhkan oleh aplikasinya. Sebagai contoh : adanya jaminan bahwa setiap message yang dikirimkan oleh aplikasi akan dapat diterima dengan baik (tanpa kesalahan) dalam batas waktu tertentu. Perancang jaringan akan memiliki daftar aspek-aspek untuk mendapatkan rancangan yang efektif. Sebagai contoh : sumber daya jaringan digunakan secara efisien dan dialokasikan secara adil untuk setiap pengguna jaringan. Penyedia jaringan akan memiliki daftar karakteristik sistem yang memudahkan administrasi dan pengaturannya. Sebagai contoh : kemudahan isolasi kegagalan / kerusakan dalam jaringan, kemudahan penghitungan penggunaan jaringan untuk tiap user.

Kebutuhan yang berlainan terhadap jaringan diatas dapat di rumuskan dalam tingkat abstraksi yang lebih tinggi sebagai berikut :

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

4 Jaringan Komputer

A.Keterhubungan (connectivity) Jaringan harus menyediakan hubungan antar komputer. Kadangkala keterhubungan tersebut cukup disediakan dengan dibangunnya jaringan terbatas yang menghubungkan hanya beberapa mesin saja diantara seluruh mesin yang ada. Kasus seperti ini sering ditemui pada jaringan privat (corporate) yang secara eksplisit membatasi hubungan mesin-mesinnya dengan alasan privasi dan keamanan. Di sisi lain, ada jaringan yang memang dengan sengaja dirancang untuk dapat berkembang dan memiliki potensi untuk menghubungkan seluruh komputer di dunia (Internet merupakan contoh yang baik untuk kasus ini). Sistem seperti ini sering kali disebut sebagai sistem yang scalable. Ada beberapa level keterhubungan jaringan. Pada level terendah, jaringan dapat tersusun dari dua atau lebih komputer yang saling terhubung secara langsung melalui media fisik. Media fisik sering kali disebut sebagai link, sementara komputer (atau perangkat khusus lain) yang dihubungkannya disebut sebagai node. Sebagaimana terlihat pada Gambar 1.1, link fisik bisa jadi terbatas hanya menghubungkan dua node saja (point-to-point) atau lebih dari dua node dapat menggunakan satu link fisik secara bersama (multiple-access). Apakah suatu link mendukung hubungan point-topoint atau multiple-access, tergantung dari bagaimana node-node terhubung ke link. Perlu dicatat juga bahwa link yang bersifat multiple-access masing-masing juga memiliki batasan ukuran, baik dari sisi jangkauan geografis ataupun jumlah node yang dapat terhubung kepadanya. Jika suatu jaringan berada pada situasi dimana seluruh node terhubung secara langsung satu sama lain menggunakan media fisik yang sama, maka jaringan akan sangat dibatasi oleh jumlah komputer yang dapat terhubung dan jumlah antar-muka hubungan dari setiap node akan menjadi sangat banyak, mahal dan sulit untuk dikelola. Hal yang sangat menguntungkan adalah fakta bahwa hubungan antara dua node tidak mengharuskan adanya hubungan langsung secara fisik diantara mereka. Keterhubungan secara tidak langsung juga dapat dilakukan pada sekelompok node yang saling berinteraksi. Pada Gambar 1.2, terlihat sekelompok node yang masing-masing terhubung ke satu atau lebih link point-to-point. Node-node yang terhubung ke dua atau lebih link memiliki dan menjalankan software yang akan meneruskan (forward) data yang diterima dari satu link ke link lainnya. Jika diorganisasikan secara sistematik, maka node-node tersebut akan membentuk switched network. Ada beberapa tipe switched network, dua yang paling utama adalah circuit switched dan packet switched. Circuit switched biasa digunakan pada sistem telepon, sementara packet switched digunakan oleh mayoritas jaringan komputer. Karakteristik utama dari packet switched network adalah bahwa node dalam jaringan tersebut saling bertukar data dalam bentuk blokblok diskrit (sering disebut dengan packet atau message).

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

5 Jaringan Komputer

a) b)

...

Gambar 1.1. Direct Link : a) point-to-point; b) multiple-access

Gambar 1.2. Switched Network

Packet switched network biasanya menggunakan strategi yang dikenal dengan istilah store-and-forward. Dengan strategi ini, tiap node terlebih dulu akan menerima blok data secara lengkap dari suatu link, menyimpannya dalam memori internal, kemudian meneruskannya ke node berikut (yang terhubung langsung dengannya). Sebaliknya, circuit switched network akan membangun dedicated circuit yang melibatkan sejumlah link, barulah kemudian node sumber mengirimkan deretan bit melalui circuit ini ke node tujuan. Simbol awan (cloud) pada Gambar 1.2 memisahkan antara node 'di dalam' yang membangun jaringan (seringkali disebut dengan switch dan bertugas melakukan store dan forward packet) dengan node 'di luar' yang menggunakan jaringan (seringkali disebut host, berinteraksi langsung dengan pengguna dan menjalankan program aplikasi). Secara umum, cloud juga dipakai untuk menggambarkan segala jenis jaringan, apakah itu point-to-point, multiple-access ataupun switched network. Sehingga jika ditemui simbol cloud, maka dapat dibayangkan sebagai suatu jaringan dengan (sementara waktu) mengabaikan detil teknologi yang digunakan.

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

6 Jaringan Komputer

Gambar 1.3. Interkoneksi jaringan

Cara lain untuk menghubungkan komputer secara tidak langsung terlihat pada Gambar 1.3. Dalam situasi ini, sekumpulan jaringan independen (digambarkan dengan cloud) dihubungkan (interkoneksi) satu sama lain untuk membangun internetwork. Node yang terhubung ke dua atau lebih jaringan dikenal dengan sebutan router atau gateway. Node jenis ini memiliki fungsi yang mirip dengan switch, yakni meneruskan message dari satu jaringan ke jaringan lain. Perlu dicatat bahwa internet sendiri dapat dipandang sebagai satu jaringan, sehingga internet dapat dibangun dengan menginterkoneksikan beberapa internet secara rekursif. (Cloud dihubungkan dengan cloud lain akan membentuk cloud baru yang lebih besar) Berhasil menghubungkan beberapa node (baik secara langsung maupun tidak langsung) belum berarti bisa menjamin keterhubungan host-to-host. Dibutuhkan sesuatu yang memungkinkan tiap node untuk dapat mengidentifikasikan dengan jelas node lain (mungkin lebih dari satu) dalam jaringan yang menjadi mitra komunikasinya. Hal itu dilakukan dengan memberikan alamat kepada tiap node. Alamat adalah deretan bit (string) yang mengidentifikasi tiap node secara unik, sehingga jaringan dapat mengidentifikasi dan membedakan dengan pasti suatu node dari node lain yang juga terhubung ke jaringan tersebut. Jika node sumber meminta layanan jaringan untuk mengirimkan message ke node tujuan tertentu, node sumber harus dapat menspesifikasikan alamat node tujuan. Jika node sumber dan tujuan tidak berada pada jaringan yang sama (tidak terhubung secara langsung), maka switch dan router dalam jaringan akan menggunakan alamat tersebut untuk menentukan cara terbaik menghantarkan message ke tujuan. Proses sistematik untuk menentukan rute terbaik dari sumber ke tujuan ini dikenal dengan istilah routing.

Kita mengadopsi konvensi penyebutan internetwok secara umum dengan internet (i kecil), sementara penyebutan Internet berbasis TCP/IP yang beroperasi sebagai jaringan global dengan Internet (i besar)

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

7 Jaringan Komputer

Skema pengalamatan dan routing yang baru saja dipaparkan berasumsi bahwa node sumber hanya ingin mengirimkan message ke satu node tujuan (unicast). Selain itu, ada kemungkinan skenario lain, dimana node sumber ingin mengirim message ke semua node yang terhubung ke jaringan (broadcast). Atau node sumber ingin mengirim message hanya ke beberapa node di jaringan (multicast). Dengan demikian selain skema pengalamatan yang unik untuk tiap node, dibutuhkan pula skema pengalamatan untuk broadcast dan multicast.

B.Penggunaan Bersama Sumber Daya Pada sekumpulan node yang terhubung secara tidak langsung dengan jaringan yang bersarang (nested network), maka dimungkinkan adanya pertukaran message antara pasangan host manapun dalam jaringan dan jaringan harus dapat melayaninya. Pertanyaan yang mengemuka kemudian adalah bagaimana seluruh host yang ingin berkomunikasi berbagi sumber daya jaringan, terutama jika komunikasi terjadi dalam waktu yang bersamaan. Masalah jadi tambah rumit, manakala ada beberapa host yang harus berbagi link fisik tunggal manakala ingin mengunakannya pada waktu yang bersamaan. Untuk memahami bagaimana sejumlah host berbagi penggunaan sumber daya jaringan, terlebih dahulu harus dipahami konsep dasarnya, yakni multiplexing. Secara intuitif, multiplexing dapat dianalogikan dengan sistem komputer yang melakukan time-sharing, dimana prosesor tunggal digunakan secara bersama (multiplex) oleh beberapa proses yang masing-masing merasa 'memiliki' prosesornya sendiri. Dengan cara yang serupa, data dari beberapa penggunapun dapat dikirimkan melalui satu link fisik. Gambar 1.4 memberikan ilustrasi multiplexing. Tiga host di sebelah kiri mengirimkan data ke tiga host di sebelah kanan dengan menggunakan switched network yang hanya memiliki satu link fisik. Dalam situasi ini, tiga aliran data berhubungan dengan tiga pasang host yang berkomunikasi di-multiplex dalam sebuah link fisik oleh switch 1 dan kemudian di-demultiplex kembali menjadi tiga aliran data oleh switch 2. Ada beberapa metoda untuk melakukan multiplexing terhadap sejumlah aliran data pada satu link fisik. Metoda yang sering kali digunakan dalam jaringan telepon adalah STDM (Synchronous Time-Division Multiplexing). Ide dasar STDM adalah membagi waktu dalam quanta yang berukuran sama, kemudian dengan mekanisme Round-Robin, tiap aliran data diberikan kesempatan untuk mengirimkan data (menggunakan link fisik). Metoda lain yang juga banyak digunakan adalah FDM (Frequency-Division Multiplexing). Ide dari FDM adalah mengirimkan tiap aliran data melalui link fisik menggunakan frekwensi yang berlainan.

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

8 Jaringan Komputer

Gambar 1.4. Multiplexing beberapa aliran data pada link tunggal

Meski mudah untuk dimengerti, namun STDM dan FDM memiliki dua keterbatasan. Pertama, jika ada pasangan host (aliran data) yang sedang tidak memiliki data yang harus dikirimkan, maka bagiannya (quanta maupun frekwensi) meski kosong tapi tidak bisa digunakan oleh pasangan host yang lain untuk berkomunikasi. Dalam dunia komunikasi komputer, rentang waktu link dalam kondisi idle bisa jadi sangat besar contohnya adalah perbandingan waktu yang dibutuhkan untuk membaca halaman web dengan waktu untuk download halaman web tersebut--. Kedua, baik STDM maupun FDM dibatasi oleh jumlah maksimum aliran data yang dapat di-multiplex. Hal ini sangat tidak praktis, terlebih tidak dimungkinkannya perubahan ukuran quantum atau menambah jumlah quanta dalam kasus STDM atau menambah frekwensi baru dalam kasus FDM. Metoda multiplexing yang akan digunakan seterusnya dalam tulisan ini adalah yang dikenal dengan istilah statistical multiplexing. Ada dua ide utama yang mendasari metoda ini. Pertama, link fisik digunakan secara bersama seperti pada STDM. Namun tidak persis seperti STDM, karena data ditransmisikan on-demand dari tiap aliran, bukan pada slot waktu khusus yang diperuntukkan bagi tiap aliran data. Dengan demikian, jika hanya ada satu aliran data yang memiliki data untuk dikirim, maka data akan dapat ditransmisikan tanpa harus menunggu quantum-nya. Cara menghindari adanya waktu kosong yang tidak dapat dimanfaatkan inilah yang menjadikan packet switching efisien. Sampai disini belum ada mekanisme dalam statistical multiplexing yang dapat menjamin bahwa seluruh aliran data akan mendapatkan giliran mentransmisikan data melalui link fisik. Dengan demikian, begitu ada aliran yang mentransmisikan data, harus ada sesuatu yang membatasi sehingga aliran yang lain dapat mentransmisikan datanya. Statistical multiplexing mendefinisikan suatu batas atas terhadap ukuran blok data yang diijinkan untuk ditransmisikan oleh tiap aliran data pada suatu rentang waktu. Blok data yang ukurannya terbatas ini disebut dengan packet, untuk membedakannya dengan message yang merupakan blok data berukuran besar yang ingin dikirimkan oleh program aplikasi. Konsekuensi dari hal ini adalah bahwa host tidak dapat mengirimkan message lengkap dalam satu packet. Pengirim mungkin harus melakukan fragmentasi terhadap message menjadi beberapa packet yang kemudian akan kembali di-reassembly oleh penerima menjadi message semula.Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

9 Jaringan Komputer

Dengan kata lain, aliran data yang diperbolehkan mengirimkan urutan packet melalui link fisik ditentukan packet per packet. Jika hanya satu aliran data yang memiliki data, maka aliran tersebut berhak menggunakan link fisik sepenuhnya. Amun jika lebih dari satu aliran data yang ingin mengirimkan data, maka packet dari seluruh aliran data akan dikirimkan saling berseling (interleaved). Gambar 1.5 mengilustrasikan multiplexing aliran data dari beberapa host melalui satu link fisik.

Gambar 1.5. Switch melakukan multiplexing beberapa aliran data

Packet dari aliran data mana yang akan ditransmisikan melalui link fisik dapat ditentukan dengan berbagai cara. Sebagai contoh, untuk jaringan seperti pada Gambar 1.4, keputusan berada ditangan switch yang mentransmisikan packet ke shared-link. (Tidak semua packet switched network benar-benar menggunakan switch, dalam kasus tersebut digunakan mekanisme lain untuk menentukan packet mana yang akan ditransmisikan lewat link). Tiap switch dalam packet switched network menentukan hal ini secara independen atas dasar packet per packet. Satu masalah bagi perancang jaringan adalah menjamin keadilan dalam mekanisme penentuan ini. Sebagai contoh, switch mungkin dirancang untuk melayani seluruh aliran data dengan aturan RoundRobin, sebagaimana STDM. Namun demikian, statistical multiplexing tidak membutuhkan pendekatan Round-Robin, pilihan lain yang dapat dianggap valid adalah algoritma FIFO (First In First Out). Sebagaimana terlihat pada Gambar 1.5, bisa jadi switch menerima packet lebih cepat daripada yang dapat diakomodasi oleh link. Konsekuensinya, switch harus menyediakan penampung sementara untuk packet yang belum terlayani. Jika kondisi ini terus terjadi, lama kelamaan penampung sementara (buffer) pada switch akan penuh dan packet yang datang kemudian terpaksa harus dibuang. Kondisi ini dikenal dengan istilah congestion.

C.Fungsionalitas Tuntutan sederhana terhadap jaringan komputer adalah jaringan dapat menyediakan suatu layanan sehingga sekumpulan proses (aplikasi) yang terdistribusi pada sejumlah komputer dapat saling berkomunikasi dengan baik. Ketika dua program aplikasi ingin berkomunikasi, ada banyak hal rumit yang terjadi selain hanya

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

10 Jaringan Komputer

sekedar mengirimkan message dari satu host ke host yang lain. Perancang aplikasi dapat saja menyertakan seluruh fungsi rumit tersebut pada tiap aplikasi yang akan dibangunnya. Namun karena banyak aplikasi yang memerlukan layanan umum yang sama, maka akan lebih masuk akal untuk mengimplementasikan layanan-layanan tersebut sekali saja yang kemudian perancang aplikasi dapat membangun aplikasi diatas layanan-layanan tersebut. Tantangan bagi perancang jaringan adalah mengidentifikasi himpunan yang tepat dari layanan umum tersebut. Tujuan utamanya adalah menyembunyikan kompleksitas jaringan dari aplikasi tanpa terlalu membatasi perancang aplikasi. Secara intuitif, jaringan dapat dipandang sebagai penyedia kanal lojik dimana proses-proses (pada level aplikasi) dapat saling berkomunikasi, dengan layanan yang disesuaikan dengan kebutuhan aplikasi. Sebagaimana simbol awan (cloud) digunakan secara abstrak untuk mewakili keterhubungan sekumpulan komputer, maka kanal digunakan untuk mewakili keterhubungan satu proses dengan proses lainnya. Gambar 1.6 mengilustrasikan dua buah proses pada level aplikasi yang berkomunikasi menggunakan kanal lojik yang diimplementasikan diatas cloud (jaringan) yang menghubungkan sekumpulan host.HostAplikasi

Host

HostAplikasi

kanal lojik

Host

Host

Gambar 1.6. Proses saling berkomunikasi via kanal lojik

Yang menjadi masalah utama adalah menentukan layanan apa saja yang harus disediakan oleh kanal lojik tersebut kepada program aplikasi. Sebagai contoh, apakah aplikasi membutuhkan jaminan bahwa message yang dikirimkan melalui kanal pasti diterima dengan baik diujung lainnya ataukah ada toleransi terhadap kesalahan / kegagalan beberapa pengiriman message? Apakah message yang diterima di sisi tujuan harus dalam urutan yang sama dengan saat dikirimkan ataukah tujuan tidak mempedulikanurutan kedatangan message? Apakah jaringan harus menjamin bahwa

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

11 Jaringan Komputer

tidak ada pihak ketiga yang dapat menyadap data yang dikirimkan melalui suatu kanal ataukah memang kerahasian bukan merupakan suatu hal yang diperhatikan oleh aplikasi? Secara umum, jaringan menyediakan berbagai macam kanal, dimana aplikasi dapat memilih sesuai dengan kebutuhannya. Merancang kanal abstrak terdiri dari tiga fase, yaitu : mengerti kebutuhan aspek komunikasi dari sekumpulan aplikasi yang representatif, melakukan ekstraksi kebutuhan umum komunikasi dari kumpulan aplikasi tersebut dan yang terakhir menyusun fungsionalitas jaringan yang dapat memenuhi kebutuhan tersebut. Sebagai ilustrasi, diambil contoh aplikasi akses file (contoh : FTP). Meskipun ada beberapa perbedaan dalam detil contohnya : saat suatu file dibaca atau ditulis, bisa saja keseluruhan file dikirimkan lewat jaringan atau bisa juga dikirimkan per blok--, komponen komunikasi dari remote file access tersusun atas sepasang proses. Satu sebagai client yang meminta layanan akses file, dan yang kedua adalah server yang melayani dan melakukan akses ke file. Pada pembacaan file, client mengirimkan message kecil berisi request ke server kemudian server akan merespon dengan message besar berisi data dalam file tersebut. Sebaliknya pada proses penulisan ke file, client-lah yang mengirimkan message besar berisi data yang akan dituliskan ke dalam file, sementara respon dari server hanyalah message kecil berisi konfirmasi bahwa proses penulisan telah dilaksanakan. Aplikasi lain yang mulai populer dan banyak digunakan adalah Digital Library. Aplikasi ini memiliki karakteristik yang mirip dengan remote file access. Seiring dengan perkembangan WWW, jenis data yang diakses lewat digital library juga semakin beragam (file teks berukuran kecil, gambar digital berukuran besar dan objek-objek multimedia lainnya), namun demikian pola komunikasinya mirip dengan FTP yang telah dijelaskan sebelumnya : proses client mengirimkan request kemudian proses server akan memberikan respon dengan mengirim data yang diminta. Kelas aplikasi lain yang juga mulai populer adalah streaming video. Meskipun file video dapat saja di-download terlebih dahulu (misalnya dengan FTP) baru kemudian dimainkan, namun hal ini terasa kurang nyaman, mengingat seluruh data video harus sudah di-download secara lengkap baru bisa dimainkan. Dengan teknologi streaming, frame video yang dikirimkan oleh server melalui jaringan akan dapat langsung ditampilkan begitu telah diterima oleh client. Video sebenarnya bukanlah sebuah aplikasi, melainkan suatu jenis tipe data. Data video bisa jadi merupakan bagian dari aplikasi video-on-demand atau teleconferencing. Meskipun mirip, kedua aplikasi tersbut memiliki perbedaan yang cukup mencolok. Pada kasus video-on-demand, tidak ada batasan waktu yang sangat ketat. Sebagai contoh, adalah masih dalam batas toleransi jika ada selang waktu 10 detik antara pengguna mulai menjalankan video dengan tampilnya frame pertama. Sebaliknya, teleconferencing memiliki batasan waktu yang sangat ketat. Sebagaimana dengan interaksi lewat telepon yang menuntut suara dari pengucap sesegera mungkin dapat diterima oleh pendengar, maka komunikasi visul lewat

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

12 Jaringan Komputer

teleconferencing juga menuntut setiap frame yang dibangkitkan oleh sumber sesegera mungkin diterima dan ditampilkan di tujuan.Penambahan delay yang terlalu besar tidak dapat ditolelir dalam kasus ini. Komunikasi yang bersifat interaktif mengharuskan adanya aliran data video dua arah, sementara video-on-demand hanya mengailrkan data video dalam satu arah. Dengan empat contoh aplikasi diatas sebagai contoh yang representatif, dapat disimpulkan bahwa ada dua jenis kanal yang harus disediakan dalam jaringan, yakni : kanal request/reply dan kanal message stream. Kanal yang pertama akan digunakan oleh aplikasi file transfer dan digital library. Kanal ini akan menjamin bahwa setiap message yang dikirimkan oleh sumber akan dapat diterima dengan baik oleh tujuan dan hanya satu salinan message yang akan diterima oleh tujuan. Kanal ini juga dapat mejamin kerahasiaan dan integritas data yang mengalir didalamnya, sehingga tidak ada pihak lain (pihak ketiga) yang dapat menyadap atau mengubah informasi yang dipertukarkan antara client dan server. Kanal jenis kedua akan digunakan oleh videoon-demand dan teleconferencing, mendukung aliran data searah maupun dua arah dan mendukung berbagai properti delay. Kanal ini mungkin tidak harus menjamin bahwa setiap message yang dikirimkan akan dapat diterima dengan baik, karena aplikasi video tetap dapat beroperasi dengan baik (dengan penurunan kualitas dalam batas toleransi) meskipun ada beberapa frame yang hilang. Meski demikian, ada tuntutan bahwa urutan frame yang diterima haruslah sama dengan urutan saat dikirimkan. Dimungkinkan juga kanal jenis ini menjamin kerahasiaan dan integritas data video. Jika dimungkinkan adanya lebih dari satu peserta dalam teleconferencing atau ada lebih dari satu pengguna yang ingin menonton suatu video pada video-on-demand, maka kanal harus pula mendukung multicast. Memiliki jenis kanal abstrak sesedikit mungkin yang dapat melayani aplikasi sebanyak mungkin mungkin adalah impian para perancang jaringan. Namun ada bahaya dibalik angan-angan tersebut. Seperti pepatah yang mengatakan If you hold a hammer, then everything looks like a nail. Jika yang dimiliki haya kanal request/reply dan message stream saja, maka besar kemungkinan setiap aplikasi yang membutuhkan layanan jaringan akan dipaksa mengirimkan datanya melalui satu dari kedua jenis kanal tersebut, meski sebetulnya kebutuhan aplikasi tidak dapat dipenuhi oleh keduanya. Dengan demikian perancang jaringan sangat mungkin harus menemukan jenis kenal baru atau memodifikasi jenis kanal yang sudah ada untuk dapat memenuhi kebutuhan aplikasi. Sebagaimana terlihat dari contoh-contoh diatas, penghantaran message yang handal merupakan salah satu fungsi penting yang bisa disediakan jaringan. Agak sulit untuk dapat menjamin kehandalan pengiriman data tanpa terlebih dahulu mengetahui faktor-faktor yang dapat menyebabkan kegagalan / kesalahan di dalam jaringan. Hal pertama yang dapat dikenali dengan mudah adalah fakta bahwa jaringan tidak eksis dalam dunia yang serba sempurna. Mesin kadang crash, fiber optic putus, interferensi elektromagnetik menyebabkan rusaknya bit-bit data dan kadang kala software yang mengatur perangkat juga bermasalah. Dengan demikian tuntutan utama terhadap jaringan adalah untuk menutupi hal-hal tersebut, sehingga jaringan akan tampakFazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

13 Jaringan Komputer

handal dari sudut pandang aplikasi. Ada tiga kegagalan utama yang harus diperhatikan oleh perancang jaringan. Yang pertama, saat packet ditransmisikan melalui link fisik, bit error mungkin terjadi (bit 1 berubah menjadi 0 atau sebaliknya). Kadangkala hanya satu bit yang rusak, namun yang lebih sering terjadi adalah burst error, dimana beberapa bit yang berurutan mengalami kerusakan. Bit error biasanya terjadi karena adanya energi eksternal (misalnya halilintar dan surge perubahan drastis voltase listrik secara tibatiba--) yang berinterferensi dengan sinyal transmisi data. Bit error ini sangat jarang terjadi; probabilitas terjadinya sekitar 10-6 sampai 10-7 pada kabel tembaga dan sekitar 10-12 sampai 10-14 pada fiber optic. Ada beberapa cara untuk mendeteksi kerusakan pada bit (dengan probabilitas tertentu). Jika telah terdeteksi posisi kesalahannya, maka memperbaikinya adalah perkara mudah (cukup dengan mengubah bit 1 menjadi 0 atau sebaliknya). Namun kadang kerusakan sedemikian parah sehingga keseluruhan bit penyusun suatu packet harus dibuang, pada kasus ini sumber mungkin harus mengirimkan ulang (retransmisi) packet tersebut. Jenis kegagalan kedua yang mungkin muncul adalah pada level packet, yakni hilangnya packet oleh sesuatu sebab dalam jaringan. Salah satu penyebabnya adalah packet memuat bit error yang tidak dapat diperbaiki, dengan demikian packet tersebut harus dibuang. Penyebab lainnya mungkin berkaitan dengan software, misalnya pengontrol switch melakukan kesalahan (meneruskan packet melalui link yang salah sehingga packet tidak akan pernah sampai ke tujuan). Namun penyebab yang paling umum adalah kondisi overload (tidak ada tempat untuk menyimpan packet dalam buffer node jaringan) sehingga packet harus dibuang. Ini sebetulnya identik dengan kasus congestion yang telah disebutkan sebelumnya. Masalah yang cukup rumit berkaitan dengan kehilangan packet adalah menentukan apakah packet betul-betul hilang ataukah hanya terlambat sampai tujuan. Jenis kegagalan yang ketiga terjadi pada level node dan link, misal : putusnya link secara fisik atau komputer mengalami kerusakan (crash). Hal ini bisa disebabkan oleh kesalahan software, power supply, atau kesalahan operator. Meski kegagalan jenis ini biasanya tidak melumpuhkan seluruh jaringan dan dapat segera diatasi, namun untuk beberapa kasus bisa memberikan dampak buruk bagi jaringan pada rentang waktu tertentu (contoh : dalam packet switched network mungkin dilakukan pembelokan rute dari link atau node yang rusak). Yang perlu digarisbawahi dari penjelasan diatas adalah pendefinisian kanal melibatkan aspek pengetahun tentang kebutuhkan aplikasi dan keterbatasan teknologi jaringan yang digunakan. Tantangan utamanya adalah menjembatani (kadang juga harus mengkompromikan) kesenjangan diantara keduanya.

D.Unjuk Kerja Seperti halnya sistem komputer yang lain, jaringan komputer juga diharapkan

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

14 Jaringan Komputer

memiliki unjuk kerja yang tinggi, atau mungkin yang lebih penting lagi adalah tingginya unjuk kerja per unit cost. Komputasi terdistribusi memanfaatkan jaringan untuk saling bertukar informasi. Efektifitas komputasi seringkali sangat bergantung pada efisiensi pengiriman informasi melalui jaringan. Unjuk kerja jaringan (utamanya) diukur menggunakan dua besaran, yakni : bandwidth (meski nantinya akan diwakili oleh besaran faktual throughput) dan latency. Bandwidth jaringan adalah jumlah bit yang dapat ditransmisikan melalui jaringan dalam rentang waktu tertentu. Sebagai contoh, jaringan yang memiliki bandwidth 10 juta bit per detik (10 Mbps) akan dapat menyalurkan 10 juta bit tiap detiknya. Jaringan ini akan membutuhkan waktu 0,1 mikro detik untuk mentransmisikan satu bit. Lebih persisnya, bandwidth dapat dipandang pada level link fisik maupun kanal lojik process-to-process. Bandwidth pada level fisik tampaknya senantiasa mengalami peningkatan. Secara intuitif, jika waktu dapat dipandang sepadan dengan jarak yang dapat diukur (dengan satuan meter) dan bandwidth menunjukkan jumlah bit yang dapat dimuat dalam jarak tersebut, maka setiap bit dapat dibayangkan sebagai pulsa dengan lebar tertentu. Sebagai contoh, tiap bit dalam link 10 Mbps memiliki lebar 1 mikro detik, sementara tiap bit dalam link 2 Mbps akan memiliki lebar 0,5 mikro detik, seperti diilustrasikan pada Gambar 1.7. Semakin canggih teknologi pengiriman dan penerimaan, maka akan semakin sempit ukuran tiap bit, yang otomatis akan meningkatkan bandwidth. Pada level kanal lojik, bandwidth dipengaruhi juga oleh faktor software yang mengimplementasikan kanal (misal : kemampuan untuk mengolah mengirim atau menerima bit data tiap detik).

a)

b)

Gambar 1.7. Lebar bit yang ditransmisikan pada link : a) 1 Mbps b) 2 Mbps

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

15 Jaringan Komputer

Dalam dunia komunikasi analog (contoh : jaringan telepon analog), bandwidth berkaitan dengan rentang frekwensi yang dipunyai oleh link. Misalnya suatu link mendukung sinyal dengan frekwensi antara 300 Hz hingga 3300 Hz, maka dapat dikatakan bandwidth dari link tersebut adalah 3300 Hz 300 Hz = 3000 Hz. Pada link digital, bandwidth mengacu pada jumlah bit yang dapat ditransmisikan melalui link tersebut tiap detiknya. Pada prakteknya, selalu ada perbedaan antara bandwidth yang tersedia pada link dengan jumlah bit yang dapat ditransmisikan secara faktual tiap detiknya. Istilah throughput digunakan untuk mewakili unjuk kerja terukur (faktual) pada suatu jaringan.

Metrik unjuk kerja yang kedua adalah latency , yang merupakan ukuran waktu yang dibutuhkan oleh sebuah bit untuk berjalan dari satu ujung jaringan ke ujung yang lainnya. Sebagaimana bandwidth, hitungan latency juga dapat difokuskan pada level link fisik atau pada level kanal lojik. Sebagai contoh, jaringan transkontinental memiliki latency 24 mili detik, artinya tiap bit membutuhkan waktu 24 mili detik untuk berjalan dari satu ujung jaringan di suatu negara sampai ke ujung jaringan di negara yang lain. Selain latency dengan pengertian diatas, ukuran yang juga sering digunakan adalah waktu yang dibutuhkan oleh satu bit untuk berjalan dari satu ujung jaringan ke ujung lain kemudian kembali lagi. Latency ini disebut dengan RTT (Round-Trip Time) dari jaringan. Ada tiga komponen utama latency, yakni : propagation delay, transmision delay dan queueing delay. Propagation delay muncul karena hukum fisika membatasi kecepatan tertinggi sesuatu (termasuk bit dalam medium) sama dengan kecepatan cahaya. Jika diketahui jarak dua titik maka dapat dicari latency dari satu ujung ke ujung lainnya, meski harus hati-hati karena cahaya merambat 3,0 x 108 meter per detik dalam ruang hampa, 2,3 x 108 dalam kawat dan 2,0 x 108 dalam fiber. Transmission delay merupakan fungsi dari bandwidth jaringan dan ukuran packet data yang dikirimkan. Queueing delay muncul karena secara umum node dalam jaringan perlu menyimpan (store) dahulu packet yang diterima sebelum meneruskannya (forward). Latency total dapat dirumuskan sebagai berikut : Latency = Propagation + Transmission + Queueing Propagation = Jarak / Kecepatan rambat (tergantung medium) Transmission = Ukuran data / bandwidth

Kombinasi bandwidth dan latency secara bersama mendefinisikan karakteristik unjuk kerja dari suatu link atau kanal. Tingkat kepentingannya tergantung pada

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

16 Jaringan Komputer

kebutuhkan aplikasi. Untuk suatu kasus mungkin latency lebih dominan dibanding bandwidth, contohnya : client yang mengirimkan 1 byte request ke server dan menerima 1 byte response akan lebih dipengaruhi oleh latency. Dengan asumsi tidak ada komputasi serius yang harus dilakukan untuk mempersiapkan respon, maka aplikasi tersebut akan memberikan unjuk kerja yang berbeda saat melewati jaringan lintas negara dengan RTT 100 mili detik dibanding jika melewati jaringan lokal dengan RTT 1 mili detik. Namun demikian, bandwidth jaringan sebesar 1 Mbps atau 100 Mbps tidaklah terlalu signifikan, karena transmission delay pada kedua jaringan adalah 8 mikro detik dan 0,08 mikro detik. Sebaliknya, untuk program digital library yang harus mengirim gambar sebesar 25 MB, semakin besar bandwidth yang dimiliki jaringan maka semakin cepat gambar diterima dengan lengkap oleh client. Pada kasus ini, bandwidth lebih dominan dibanding latency. Misalkan suatu kanal memiliki bandwidth 10 Mbps, maka akan dibutuhkan 20 detik untuk mentransmisikan keseluruhan gambar. Sementara latency 1 mili detik atau 100 mili detik tidak terlalu signifikan, karena masing-masing akan memberikan response time 20,001 detik dan 20,1 detik. Ada hal sepele (namun penting) yang harus mendapat perhatian saat berinteraksi dengan unit satuan yang berhubungan dengan jaringan komputer KB, Kbps, MB, Mbps dll. Yang pertama adalah perbedaan antara bit dengan byte. Konsensus yang digunakan biasanya menggunakan 'b' untuk melambangkan bit dan 'B' untuk melambangkan byte. Yang kedua adalah definisi kilo, mega, giga dan seterusnya yang harus disesuaikan dengan konteksnya. Sebagai contoh, kilo dapat berarti 210 atau 103 dan mega dapat berarti 220 atau 106. Kedua definisi tersebut digunakan dalam jaringan komputer. Bandwidth jaringan (yang biasanya dinyatakan dalam satuan Mbps) biasanya diatur oleh kecepatan clock yang menentukan kecepatan transmisi bit-bit kedalam jaringan. Clock dengan frekwensi 10 megahertz (10 Mhz) digunakan untuk mentransmisikan bit dengan kecepatan 10 Mbps. Karena mega dalam Mhz berarti 106 hertz, maka Mbps juga didefinisikan sebagai 106 bit tiap detik. Di sisi lain, saat berbicara tentang message yang akan ditransmisikan, ukuran yang digunakan seringkali juga megabyte (MB). Karena message tersimpan dalam memori komputer sebelum dikirimkan (dimana kapasitas memori biasa dinyatakan dalam satuan pangkat dari dua power of two), maka mega disini berarti 220.

Perkalian dua metrik diatas juga merupakan sesuatu besaran yang penting, seringkali disebut dengan istilah delay x bandwidth product. Secara intuitif, jika dibayangkan bahwa latency adalah panjang suatu 'pipa' kanal sementara bandwidthFazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

17 Jaringan Komputer

sebagai penampangnya (lihat Gambar 1.8), maka perkalian keduanya akan sepadan dengan volume dari kanal (jumlah bit yang dapat dimuat didalamnya). Sebagai contoh, suatu jaringan transkontinental dengan delay (dari ujung ke ujung) sebesar 50 mili detik dan bandwidth 45 Mbps akan dapat memuat 50 x 10-3 detik x 45 x 106 bit / detik = 2,25 x 106 bit, atau mendekati 280 KB.

Gambar 1.8. Kanal sebagai sebuah 'pipa'

Delay x bandwidth product sangat penting terutama dalam pembangunan jaringan dengan unjuk kerja tinggi karena berkaitan dengan jumlah bit yang dapat dikirimkan oleh sumber sebelum tujuan menerima bit pertama. Jika pengirim mengharapkan tujuan memberikan konfirmasi saat bit pertama telah diterima dengan baik, maka akan dibutuhkan waktu tambahan yang sama dengan pengirimannya dari sumber (inilah alasan mengapa RTT merupakan besaran yang penting berkaitan dengan latency). Dalam kasus ini, sumber akan dapat mengirimkan data sebanyak dua kali delay x bandwidth product sampai menerima konfirmasi tersebut.Demikian pula saat penerima meminta pengirim untuk menghentikan pengiriman data, maka sejak adanya pengiriman permintaan hingga pengirim menerima permintaan tersebut dan menghentikan pengiriman data, telah ada data sebanyak 5,5 x 106 bit yang terkirimkan melalui link tersebut. Sampai disini unjuk kerja masih diartikan dari sudut pandang jaringan, yakni layanan apa yang akan disediakan oleh link atau kanal. Asumsi yang digunakan adalah bahwa kebutuhan aplikasi sangat sederhana, yakni bandwidth terbesar yang dapat disediakan oleh jaringan. Hal ini dapat diterima untuk beberapa jenis aplikasi, termasuk digital library (saat men-download gambar 25 MB, maka semakin besar bandwidth yang tersedia, akan semakin cepat respon yang didapat pengguna). Sementara itu, ada jenis aplikasi yang dapat memberikan batas tertinggi bandwidth yang dibutuhkannya. Sebagai contoh, aplikasi video yang tiap detik mentransmisikan 30 frame video dengan ukuran masing-masing 128 KB akan membutuhkan bandwidth 32 Mbps. Dalam kasus ini, meski jaringan dapat memberikan layanan dengan bandwidth yang lebih besar tidak akan terlalu berpengaruh pada unjuk kerja aplikasi. Pada kenyataannya, (untuk kasus aplikasi video diatas) yang terjadi tidaklah sesederhana seperti yang dibayangkan. Karena perbedaan antara dua frame yang berurutan seringkali tidak terlalu banyak, maka dimungkinkan untuk hanya mengirimkan informasi perubahan yang terjadi pada frame berikutnya (bukan

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

18 Jaringan Komputer

keseluruhan data dalam frame tersebut). Format data video terkompresi seperti ini bukan merupakan aliran data yang memiliki rate konstan, melainkan bervariasi tergantung dari banyak faktor (misal : banyaknya pergerakan dan tingkat kerincian dari gambar serta algoritma kompresi yang digunakan). Dengan demikian kebutuhan bandwidth yang bisa didefinisikan adalah kebutuhan rata-rata. Yang perlu diperhatikan disini adalah bahwa kebutuhan rata-rata sebesar x Mbps tidak berarti bahwa setiap saat aplikasi tersebut akan membutuhkan bandwidth sebesar x Mbps. Sebagai contoh, video yang digunakan dalam aplikasi tersebut dapat dikompres hingga kebutuhan rata-rata bandwidth adalah 2 Mbps. Detik pertama data yang dikirimkan sebesar 3 Mbit sedangkan pada detik kedua sebesar 1 Mbit, maka meskipun secara rata-rata dibutuhkan bandwidth 2 Mbps, hal ini akan mejadi masalah jika jaringan hanya dirancang untuk bisa mengirimkan data tidak lebih dari 2 Mbit per detiknya. Jelas bahwa pengetahuan tentang kebutuhan bandwidth rata-rata dari aplikasi saja belum mencukupi. Pengetahuan yang dibutuhkan adalah batas atas ukuran burst yang akan ditransmisikan oleh aplikasi. Burst dapat diartikan sebagai suatu rate tertinggi (peak rate) pada suatu selang waktu tertentu, atau bisa juga dideskripsikan sebagai jumlah data yang mungkin ditransmisikan pada peak rate sebelum akhirnya kembali lagi ke rate rata-rata atau yang lebih rendah. Jika peak rate lebih besar daripada kapasitas kanal yang tersedia, maka kelebihan data harus disimpan sementara di buffer untuk ditransmisikan kemudian. Pengetahuan akan ukuran burst memungkin perancang jaringan untuk mengalokasikan buffer dengan ukuran yang cukup untuk menampung kelebihan data akibat burst ini. Analog dengan kebutuhan bandwidth yang bisa lebih rumit daripada hanya sekedar kapasitas terbesar yang dapat disediakan, maka kebutuhan aplikasi akan delay juga bisa lebih rumit daripada hanya sekedar delay sekecil mungkin. Pada kasus delay, kadangkala masalah yang timbul akibat perbedaan latency (satu arah) sebesar 100 mili detik dengan 500 mili detik tidak terlalu memusingkan sebagaimana halnya perbedaan latency yang dialami satu packet dengan packet yang lain. (Variansi latency ini dikenal dengan istilah jitter) Sebagai contoh, suatu aplikasi mengirimkan data (packet) tiap 33 mili detik (misalnya contoh aplikasi video diatas yang mengirimkan 30 frame setiap detiknya). Jika packet tiba di tujuan dengan selang yang tetap sebesar 33 mili detik, maka dapat dikatakan bahwa delay yang dialami tiap packet sama besar. Sebaliknya, jika waktu antar kedatangan packet tidak sama besar (disebut interpacket gap), maka dapat disimpulkan bahwa delay yang dialami oleh tiap packet tidak sama, dan dikatakan bahwa jaringan memberikan jitter kepada aliran packet. Jitter tidak akan terjadi pada link fisik tunggal, fenomena ini terjadi karena packet mengalami delay antrian (queueing delay) yang berlainan dalam multihop packet-switched network. Untuk melihat arti penting dari jitter, umpamakan bahwa packet yang dikirimkan melalui jaringan memuat data video, yang mana untuk dapat ditampilkan dengan baik, host tujuan harus menerima packet baru (yang memuat frame baru) tiap 33 mili detik. Jika frame tiba terlalu cepat, mungkin tujuan dapat terlebih dahulu

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

19 Jaringan Komputer

menyimpannya sampai tiba waktunya untuk ditampilkan. Masalah akan muncul jika ternyata frame terlambat tiba di tujuan, sehingga tidak tersedia data yang dibutuhkan untuk me-refresh layar (akibatnya kuailtas video akan menurun). Pada prakteknya tidak mudah untuk menghilangkan jitter. Lebih ekstrimnya bahkan jitter tidak perlu dihilangkan, cukup perlu diketahui batas atas dan batas bawahnya. Dengan demikian (pada kasus aplikasi video diatas) penerima dapat mengatur penampilan data sedemikian sehingga kualitas tampilan tidak akan terpengaruh oleh jitter (misalnya dengan menunda penampilan frame pertama dan menyediakan buffer yang cukup).

Arsitektur JaringanLayering dan ProtokolJaringan komputer bukanlah sesuatu yang statis. Jaringan harus dapat dengan mudah beradaptasi dengan perkembangan teknologi pembangunnya dan perubahan tuntutan aplikasi. Hal ini menjadikan perancangan jaringan bukan hal yang mudah.Untuk menghadapi kerumitan ini, para perancang jaringan telah membangun suatu pola umum biasanya dikenal dengan istilah arsitektur jaringan yang memandu perancangan dan implementasi jaringan. Saat suatu sistem menjadi sedemikian kompleks, maka perancang sistem akan menggunakan level abstraksi yang lain. Ide di balik abstraksi ini adalah untuk mendefinisikan suatu model yang mewakili aspek-aspek penting dari sistem, membungkus (encapsulate) model tersebut dalam suatu objek dan menyediakan antar muka (interface) yang dapat dimanipulasi oleh komponen lain dalam sistem sementara itu menyembunyikan detil tentang implementasi objek tersebut dari penggunanya. Suatu tantangan yang harus dihadapi adalah menemukan abstraksi yang dapat digunakan dalam segala macam situasi sekaligus dapat diimplementasikan dengan efisien menjadi sebuah sistem.Hal ini sebenarnya telah dilakukan saat diperkenalkannya ide tentang kanal yang menyembunyikan kerumitan jaringan dari pandangan pembangun aplikasi. Abstraksi secara alami membawa pada ide layering, terutama dalam sistem jaringan. Ide dasarnya adalah sebagai berikut : segalanya dimulai dari layanan yang ditawarkan oleh perangkat keras, kemudian ditambahkan layer demi layer diatasnya dengan masing-masing menawarkan level layanan yang lebih tinggi (dan semakin abstrak). Layanan (service) yang disediakan oleh suatu layer diimplementasikan dengan memanfaatkan layanan dari layer dibawahnya. Dari penjelasan tentang kebutuhan (requirement) pada bagian sebelumnya, maka jaringan dapat dibayangkan sebagai dua layer yang diapit oleh layer aplikasi diatas dan layer perangkat keras (hardware) dibawah, seperti terlihat pada Gambar 1.9. Layer hubungan host-ke-host yang tepat berada diatas layer perangkat keras memberikan abstraksi yang menutupi kerumitan topologi jaringan yang menghubungkan antar host. Layer diatasnya dibangun diatas layanan hubungan host-ke-host yang telah terbentuk dan menyediakan dukungan terhadap kanal proses-ke-proses, memberikan abstraksi yangFazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

20 Jaringan Komputer

menutupi kenyataan yang terjadi di jaringan (contoh : kemungkinan hilangnya message).

Aplikasi Kanal proses-ke-proses Hubungan host-ke-host Perangkat Keras Gambar 1.9. Contoh layer pada sistem jaringan

Skema layering menyediakan dua keuntungan. Yang pertama, dekomposisi masalah pembangunan jaringan menjadi komponen-komponen yang lebih mudah ditangani. Daripada membangun sebuah modul perangkat lunak monolithic yang melakukan semua fungsi, adalah lebih mudah mengimplementasikan beberapa layer, yang mana masing-masing menangani sebagian masalah. Yang kedua, menyediakan model untuk melakukan perancangan secara modular. Jika diperlukan tambahan layanan baru, maka hanya perlu melakukan modifikasi terhadap satu layer, dengan tetap mempertahankan fungsi dari layer yang lain. Memandang sistem jaringan sebagai tumpukan layer linear mungkin terlalu menyederhanakan masalah. Bisa jadi ada lebih dari satu jenis abstraksi yang berada pada satu layer dimana masing-masing menyediakan layanan yang berbeda kepada layer diatasnya. Sebagai contoh : dua jenis kanal yang telah dijelaskan sebelumnya yakni kanal dengan layanan request/reply dan kanal dengan layanan message stream. Kedua kanal tersebut merupakan alternatif yang disediakan jaringan pada layer kanal proses-ke-proses, sehingga skemanya akan terlihat seperti pada Gambar 1.10. Dengan bekal konsep layering ini, berikutnya akan dijelaskan lebih detail tentang arsitektur jaringan. Sebagai permulaan, objek abstrak penyusun layer dalam sistem jaringan disebut dengan protocol. Protokol menyediakan layanan komunikasi yang dapat digunakan oleh objek-objek pada level yang lebih tinggi (proses aplikasi atau protokol lain yang levelnya lebih tinggi) untuk saling bertukar message. Sebagai contoh, protokol request/reply akan berkoresponden dengan kanal request/reply, sementara protokol message stream berkoresponden dengan kanal message stream.

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

21 Jaringan Komputer

Aplikasi Kanal request/reply Kanal message stream

Hubungan host-ke-host Perangkat Keras Gambar 1.10. Layering dengan abstraksi alternatif

Tiap protokol mendefinisikan dua antar muka (interface). Yang pertama adalah service interface ke objek lain dalam komputer yang sama yang ingin menggunakan layanan komunikasi yang ditawarkannya. Interface ini mendefinisikan operasioperasi yang dapat dilakukan oleh objek lokal terhadap protokol tersebut, sebagai contoh : protokol request/reply menyediakan operasi yang memungkinkan aplikasi untuk dapat mengirim dan menerima message. Yang kedua, protokol mendefinisikan peer interface ke protokol yang sama di mesin yang lain (peer). Definisi ini menentukan cara suatu protokol pada suatu mesin berkomunikasi dengan peer-nya pada mesin yang lain. Dengan kata lain, protokol mendefinisikan layanan komunikasi yang diberikan kepada objek lain secara lokal berikut dengan sekumpulan aturan yang mengendalikan pertukaran message dengan peer-nya untuk mengimplementasikan layanan tersebut. Ilustrasi hal ini dapat dilihat pada Gambar 1.11.

Gambar 1.11. Service dan peer interface

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

22 Jaringan Komputer

Kecuali pada level perangkat keras, dimana entitas di suatu komputer dapat berkomunikasi langsung dengan peer-nya lewat link fisik, komunikasi peer-to-peer dilakukan secara tidak langsung. Tiap protokol berkomunikasi dengan peer-nya dengan melewatkan message ke protokol (objek) di level bawahnya yang akan mengirimkan message tersebut ke peer-nya sendiri. Hal ini terjadi secara rekursif sampai message benar-benar dikirimkan oleh perangkat keras. Karena pada tiap layer mungkin ada lebih dari satu protokol dengan layanan komunikasi yang berbeda-beda, maka kumpulan protokol (protocol suite) yang menyusun jaringan digambarkan dengan protocol graph. Node pada graph merepresentasikan protokol, sementara garis yang menghubungkannya mewakili hubungan ketergantungan. Contoh protocol graph untuk sistem jaringan hipotetik yang telah dijelaskan sebelumnya terlihat pada Gambar 1.12. Protokol RRP (Request/Reply Protocol) dan MSP (Message Stream Protocol) mengimplementasikan dua jenis kanal proses-ke-proses yang berbeda sementara keduanya bergantung pada HHP (Host-to-host protocol) yang menyediakan layanan hubungan host-ke-host.

File Application

Digital Library Application

Video Application

File Application

Digital Library Application

Video Application

RRP

MSP

RRP

MSP

Host 1

HHP

HHP

Host 2

Gambar 1.11. Contoh protocol graph

Dengan protocol graph pada Gambar 1.11, misalkan program pengakses file pada host 1 ingin mengirim message ke peer-nya di host 2 menggunakan layanan komunikasi yang disediakan oleh protokol RRP. Pada kasus ini, aplikasi akan meminta RRP untuk mengirimkan message atas namanya. RRP kemudian akan memanfaatkan layanan HHP untuk berkomunikasi dengan RRP di host 2. HHP inilahFazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

23 Jaringan Komputer

yang kemudian akan benar-benar mentransmisikan message ke HHP di host 2. Setelah message diterima oleh HHP di host 2, maka HHP akan meneruskannya ke RRP, yang kemudian akan meneruskan pula ke aplikasi. Secara umum, aplikasi tersebut memanfaatkan layanan dari protocol stack RRP/HHP. Istilah protokol seringkali digunakan untuk mengacu pada dua pengertian. Kadangkala digunakan untuk menyebut antar muka abstrak (yakni operasi-operasi yang didefinisikan dengan service interface dan format message yang dipertukarkan antar peer), namun kadang juga digunakan untuk menyebut modul yang secara aktual mengimplementasikan kedua antar muka tersebut. Untuk membedakannya, digunakan istilah protocol specification untuk menyebut definisi antar muka. Spesifikasi umumnya diekspresikan dengan menggunakan pseudocode, state transition diagram, gambar format packet dilengkapi dengan kalimat penjelas dan notasi abstrak lainnya. Dengan demikian, suatu spesifikasi protokol dapat saja diimplementasikan dengan cara yang berlainan, asal masih tetap sesuai dengan spesifikasinya. Tantangan yang timbul disini adalah menjamin bahwa implementasi yang berbeda dari satu spesifikasi protokol yang sama harus dapat saling berkomunikasi (terjaminnya interoperatibility). Badan standarisasi internasional, seperti IETF (Internet Engineering Task Force) dan ISO (International Standard Organization) telah menyusun kebijakan dalam penyusunan protocol graph untuk mengeliminasi kemungkinan tiap jaringan memiliki protocol graph-nya sendiri. Kumpulan aturan tentang format dan isi dari protocol graph disebut sebagai arsitektur jaringan (network architecture). Badan standarisasi tersebut telah menyusun suatu prosedur untuk membangun, melakukan validasi dan menyetujui penggunaan protokol pada arsitekturnya masing-masing. Sebelum melanjutkan pada arsitektur yang didefinisikan oleh ISO dan IETF, ada dua hal penting yang perlu dipaparkan berkaitan dengan mekanisme protocol graph, yakni :

A.Pembungkusan (encapsulation) Pada Gambar 1.11, saat aplikasi mengirimkan message ke aplikasi peer-nya lewat RRP, maka dari sudut pandang RRP, message tersebut tidak lebih hanyalah serangkaian byte yang tidak dimengerti artinya. RRP tidak peduli terhadap arti dari rangkaian byte tersebut (apakah merepresentasikan array dari bilangan integer, pesan e-mail, gambar digital atau apapun), fokusnya hanyalah pada mengirimkannya ke peer RRP di ujung jaringan yang lain. Untuk dapat melakukan hal tersebut, RRP harus dapat mengkomunikasikan informasi kontrol (berisi instruksi tentang pengelolaan message saat diterima) dengan peer-nya. RRP melakukan hal ini dengan menambahkan header pada message. Header adalah struktur data kecil berkisar antara beberapa byte sampai beberapa puluh byte) yang digunakan oleh peer protocol untuk saling berkomunikasi. Dari namanya terlihat bahwa header ditempatkan didepan message. Pada beberapa kasus, informasi tambahan ini ditambahkan diakhir

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

24 Jaringan Komputer

message, yang dikenal dengan istilah trailer. Format header yang ditambahkan oleh RRP didefinisikan dalam spesifikasi protokolnya. Setelah message ditambahi dengan header, dikatakan bahwa message tersebut telah dienkapsulasi dalam message baru yang dibuat oleh RRP. Proses enkapsulasi ini berulang pada tiap level dari protocol graph. Pada contoh diatas, HHP akan mengenkapsulasi message yang diterima dari RRP dengan menambahkan header-nya sendiri. Jika kemudian HHP mengirimkan message tersebut lewat jaringan, maka saat message tiba di tujuan, proses yang terjadi merupakan kebalikan dari proses di pengirim. HHP pertama kali akan memisahkan header-nya, melakukan interpretasi (melakukan aksi yang sesuai dengan isi dari header) kemudian meneruskan body dari mesage ke RRP. RRP pun akan melakukan hal yang serupa, sampai akhirnya aplikasi di host 2 menerima message yang sama persis dengan yang dikirimkan oleh aplikasi di host 1. Proses ini diilustrasikan pada Gambar 1.12. Perlu dicatat bahwa node dalam jaringan (misal : switch atau router) bisa juga 'melihat' header HHP. Meskipun protokol pada suatu level tidak melakukan interpretasi terhadap isi message dari level atasnya, namun ada kemungkinan protokol tersebut melakukan transformasi terhadap message, misalnya kompresi atau enkripsi. Dalam kasus ini, protokol akan melakukan transformasi terhadap seluruh byte pada message, termasuk data dari aplikasi dan semua header (dan trailer) yang ditambahkan oleh protokol-protokol diatasnya.

Application Program

Application Program

Data

Data

RRP

RRP

RRP

Data

RRP

Data

HHP Host 1

HHP Host 2

HHP

RRP

Data

Gambar 1.12. Enkapsulasi

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

25 Jaringan Komputer

B.Multiplexing dan Demultiplexing Salah satu ide dasar dari packet switching adalah melakukan multiplexing terhadap sejumlah aliran data melalui satu link fisik. Ide yang sama juga digunakan pada protocol graph. Sebagai contoh, pada Gambar 1. 11 RRP dapat dibayangkan sebagai implementasi dari kanal komunikasi lojik dimana message dari dua aplikasi yang berbeda di-multiplex melalui kanal tersebut pada pengirim dan kemudian didemultiplex kembali pada penerima. Hal ini berarti RRP harus tahu persis packet mana saja yang berasal dari aplikasi pertama dan packet mana saja yang berasal dari aplikasi kedua. Informasi ini disimpan dalam header yang turut dikirimkan bersama message. Informasi ini disebut dengan RRP's demultiplexing key (demux key). Pada pengirim, RRP menyisipkan informasi ini pada header, saat penerima menginterpretasi header, demux key digunakan untuk menentukan aplikasi tuan dari message setelah proses demultiplexing. RRP bukanlah satu-satunya protokol yang dapat melakukan multiplexing, hampir semua protokol memiliki kemampuan ini. Melihat contoh diatas, HHP juga dapat melakukan multiplexing dengan menyertakan demux key-nya sendiri untuk menentukan aliran data dari RRP atau dari MSP. Sampai saat ini tidak ada konsensus berkenaan dengan ukuran demux key (bahkan antar protokol dalam suatu arsitektur jaringan yang sama).

Arsitektur OSIISO adalah organisasi pertama yang secara formal mendefinisikan cara umum untuk menghubungkan komputer (membentuk jaringan). Arsitekturnya yang dikenal dengan nama OSI (Open System Interconnection) mendefinisikan pemilahan fungsionalitas jaringan kedalam tujuh layer (terlihat pada Gambar 1.13). Skema yang terlihat bukanlah protocol graph, namun adalah model referensi untuk protocol graph. ISO (biasanya) bekerja sama dengan badan standarisasi yang lain, yakni ITU (International Telecommunication Union) mempublikasikan beberapa seri spesifikasi protokol berdasar arsitektur OSI. Seri ini sering kali dikenal dengan sebutan X dot karena protokol-protokolnya diberi nama dengan diawali X., contohnya : X.25, X400, X.500 dll. Pada kenyataannya ada beberapa jaringan yang berbasis pada standar tersebut, contoh : jaringan publik X.25 dan jaringan privat Tymnet. Physical layer menangani transmisi bit melalui link fisik. Data Link layer mengelompokkan bit-bit menjadi unit yang lebih besar, disebut frame. Network adaptor biasanya mengimplementasikan level data link ini, yang berarti bahwa sesungguhnya frame-lah (bukan rentetan bit) yang dipertukarkan antar host. Network layermenangani routing diantara node dalam jaringan packet-switched. Pada layer ini, unit data yang saling dipertukarkan dikenal dengan istilah packet. Tiga layer terbawah ini diimplementasikan pada seluruh node pada jaringan (baik yang berada 'di dalam' maupun 'di luar' jaringan). Transport layer kemudian mengimplementasikan apa yang selama ini dikenal dengan istilah kanal proses-keFazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

26 Jaringan Komputer

proses. Disini, unit data yang dipertukarkan lebih sering disebut dengan istilah message.Host 1Application

Host 2Application

Presentation

Presentation

Session

Session

Transport

Network nodesNetwork Network

Transport

Network

Network

Data Link

Data Link

Data Link

Data Link

Physical

Physical

Physical

Physical

Gambar 1.13. Arsitektur jaringan OSI

Empat layer teratas biasanya hanya terdapat pada host dan tidak pernah muncul pada intermediate nodes. Layer aplikasi meliputi protokol-protokol yang akan langsung berhubungan dengan aplikasi dari pengguna, seperti FTP, HTTP dan lain sebagainya. Presentation layer berhubungan dengan format data yang akan dipertukarkan antara peer (misalnya : apakah data bertipe integer menggunakan 16, 32 atau 64 bit; apakah most significant bit ditransmisikan pertama kali atau terakhir dll). Session layer menyediakan fungsi untuk mengelola gabungan beberapa transport stream yang berasal dari satu aplikasi. Sebagai contoh : pengelolaan stream audio dan stream video yang berasal dari aplikasi teleconference.

Arsitektur InternetArsitektur Internet, atau yang sering disebut sebagai arsitektur TCP/IP karena dua protokol utamanya itu, terlihat pada Gambar 1.14. Representasi alternatif terlihat pada Gambar 1.15. Arsitektur Internet berkembang dari pengalaman dengan jaringan packet-switched yang disebut ARPANET. Internet dan ARPANET didanai oleh ARPA (Advanced Research Project Agency) yang merupakan salah satu badan penyandang dana untuk riset dan pengembangan pada DoD (Departement of Defense)

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

27 Jaringan Komputer

Amerika Serikat. Internet dan ARPANET telah ada sebelum disusunnya arsitektur OSI, dan pengalaman pembangunan keduanya memberikan sumbangan yang besar terhadap model referensi OSI.HTTP FTP TCP IP

...

TFTP UDP

NV

...

NET1

NET2

...

NETn

Gambar 1.14. Internet protocol graph

Application TCP UDP IP NetworkGambar 1.15. Representasi alternatif arsitektur Internet

Meski ketujuh layer OSI dapat 'dipaksa' diaplikasikan di Internet, biasanya lebih sering digunakan model empat layer. Level terendah terdiri dari bermacammacam protokol jaringan, yang secara praktis diimplementasikan dengan kombinasi perangkat keras (network adapter) dan perangkat lunak (network device driver). Teknologi jaringan yang digunakan bisa bermacam-macam pada level ini, misalnya Ethernet atau FDDI (Fiber Distributed Data Interface). Protokol-protokol jaringan tersebut mungkin juga tersusun dari beberapa layer namun arsitektur Internet tidak memperdulikan detil di dalamnya. Layer ke-dua hanya terdiri dari satu protokol, yakni IP (Internet Protocol). Protokol inilah yang memungkinkan terjadinya interkoneksi berbagai macam teknologi jaringan dalam sebuah internetwork lojik. Layer ke-tiga memuat dua protokol utama, yakni : TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). Dengan adanya dua protokol ini, maka aplikasi dapat memilih penggunaan kanal yang sesuai dengan keperluannya.

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

28 Jaringan Komputer

TCP menyediakan kanal byte stream yang handal, sementara UDP tidak menjamin kehandalan pengiriman datagram (dapat disinonimkan dengan message). TCP dan UDP seringkali disebut sebagai protokol end-to-end atau protokol transport. Diatas layer transport ada banyak protokol aplikasi, seperti FTP (File Transfer Protocol), HTTP (HyperText Transfer Protocol), TFTP (Trivial File Transfer Protocol), SMTP (Simple Mail Transfer Protocol) dan lain sebagainya, yang memungkinkan terjadinya interoperasi antara berbagai macam aplikasi populer. Untuk memahami perbedaan antara aplikasi dengan protokol aplikasi, dapat diambil contoh berbagai macam web browser (Internet Explorer, Netscape, Mosaic, Lynx dll). Alasan yang memungkinkan penggunaan web browser untuk mengakses suatu situs di WWW (World Wide Web) adalah karena semuanya menggunakan protokol aplikasi yang sama, yakni HTTP. Namun ada juga yang sedikit membingungkan, dimana nama aplikasi sama dengan nama protokol aplikasi, contohnya FTP. Arsitektur Internet memiliki tiga aspek penting yang patut diperhatikan. Pertama, seperti yang terlihat pada Gambar 1.15, arsitektur Internet tidak membatasi skema layering dengan kaku. Aplikasi boleh saja melompati layer transport dan langsung berhubungan dengan layer network (IP). Pada kenyataannya, programmer bebas untuk mendefinisikan abstraksi kanal baru atau membangun aplikasi yang berjalan diatas protokol manapun yang ada. Kedua, jika diperhatikan, protocol graph pada Gambar 1.14 terlihat bentuk seperti jam pasir lebar di kedua ujung atas dan bawah dan sempit di tengah. Bentuk ini sesungguhnya merefleksikan filosofi utama dari arsitektur tersebut. IP menjadi titik pusat dari arsitektur, dengan mendefinisikan metode umum untuk pertukaran packet antar jaringan. Diatas IP bisa jadi ada berbagai macam protokol transport, yang masing-masing menawarkan abstraksi kanal yang berbeda kepada aplikasi. Dengan demikian isu pengiriman message dari suatu host ke host lainnya betul-betul dipisahkan dari isu tentang penyediaan layanan komunikasi proses-ke-proses. Dibawah IP, arsitektur membebaskan penggunaan teknologi jaringan (mulai dari point-to-point link, Ethernet, FDDI, bahkan ATM sekalipun). Yang terakhir, atribut dari arsitektur Internet (atau lebih tepat disebut sebagai budaya IETF) adalah bahwa jika seseorang mengajukan usulan protokol baru untuk dimasukkan ke dalam arsitektur, maka selain spesifikasi protokolnya, ia juga harus menyertakan setidaknya satu (lebih baik dua) implementasi yang representatif dari spesifikasinya. Keberadaan implementasi yang bekerja dengan baik menjadi syarat dari standar yang diadopsi oleh IETF. Budaya ini menjamin bahwa protokol-protokol dalam arsitektur tersebut dapat diimplementasikan dengan efisien. Meskipun ada syarat seperti ini, implementasi protokol dalam arsitektur Internet semakin berkembang pesat.

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

29 Jaringan Komputer

2J

Jaringan-jaringan Terhubung-Langsung

aringan terhubung-langsung (directly connected) yang dimaksud adalah

jaringan komputer dimana seluruh host terhubung langsung melalui media fisik. Media bisa berupa kabel tembaga, fiber optik, gelombang elektromagnetik dan lainlain. Cakupan areanya bisa jadi hanya kecil (misal : satu gedung perkantoran) atau mungkin juga mencakup daerah yang luas (misal : transcontinental). Menghubungkan dua atau lebih node dengan media yang sesuai barulah langkah pertama. Setidaknya ada lima persoalan lagi yang harus diatasi sebelum node-node tersebut dapat saling bertukar data. Masalah pertama adalah pengkodean (encoding) bit-bit ke dalam media fisik jaringan sedemikian sehingga akan dapat dimengerti oleh host penerima. Kedua, berkaitan dengan pembatasan (delineating) urutan bit yang ditransmisikan melalui link hingga jelas batas-batas dari tiap message. Persoalan ini seringkali disebut dengan masalah framing, sementara unit data yang telah jelas batas-batasnya dikenal dengan istilah frame. Persoalan ketiga, karena ada kemungkinan frame mengalami kerusakan selama proses transmisi, maka dibutuhkan suatu cara untuk dapat mendeteksi ada tidaknya error dan kemudian melakukan aksi yang sesuai masalah error detection. Isu keempat adalah menjadikan link tampak handal (dari sisi pengguna jaringan), meski pada kenyataannya ada kemungkinan terjadi error di dalamnya. Masalah kelima, pada kasus jaringan dimana link digunakan secara bersama (shared) oleh sejumlah host kebalikan dari point-to-point perlu dilakukan pengaturan akses ke link (masalah medium access control). Meskipun kelima isu tersebut encoding, framing, eror detection, reliable delivery dan access mediation dapat dipaparkan secara abstrak, ada masalahmasalah nyata yang ditangani secara berbeda dengan teknologi jaringan yang berbeda pula. Bab ini berkonsentrasi pada isu-isu diatas pada konteks tiga teknologi jaringan yang spesifik, yaitu : point-to-point, CSMA (Carrier Sense Multiple Access, dengan Ethernet sebagai teknologi yang paling populer) dan Token Ring (dengan mengambil contoh FDDI Fiber Distributed Data Interface).

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

30 Jaringan Komputer

Komponen Perangkat KerasSebagaimana telah dipaparkan pada Bab sebelumnya, jaringan dibangun dari dua kelas komponen perangkat keras, yakni : node dan link. Pernyataan tersebut tidak hanya berlaku untuk jaringan sederhana saja, namun juga untuk jaringan yang kompleks (seperti Internet).

NodeNode seringkali berupa komputer general-purpose (seperti halnya PC). Jika diasumsikan bahwa node merupakan mesin sekelas workstation, workstation ini dapat berfungsi sebagai host tempat user menjalankan program aplikasinya atau dapat digunakan di dalam jaringan yang berfungsi sebagai switch yang meneruskan message dari satu link ke link yang lain bahkan dapat pula dikonfigurasi untuk dapat berfungsi sebagai router penghubung satu jaringan dengan jaringan lain dalam suatu internetwork. Namun kasus seperti ini jarang terjadi. Node-node di dalam jaringan (switch atau router) biasanya diimplementasikan dengan perangkat keras specialpurpose. Hal ini dilakukan dengan alasan unjuk kerja : perangkat yang dirancangbangun secara khusus akan dapat beroperasi lebih cepat dibanding perangkat generalpurpose. Namun untuk tujuan pembelajaran, terlebih dahulu akan dideskripsikan fungsi-fungsi dasar yang dilakukan oleh node seperti halnya jika fungsi-fungsi tersebut diimplementasikan dengan software pada general purpose workstation, kemudian baru dijelaskan mengapa dan bagaimana implementasinya dengan perangkat khusus.

CPU

Cache Network Adapter (Network)

Memory

I/O Bus

Gambar 2.1. Arsitektur workstation (disederhanakan) Gambar 2.1 memberikan gambaran sederhana tentang isi dari sebuah workstation. Ada tiga hal yang perlu diperhatikan berkaitan dengan diagram blok tersebut : 1. Ukuran memori yang dimiliki oleh mesin bersifat terbatas. Keterbatasannya di jaringan (aspek lain yang juga terbatas adalah bandwidth) menjadikannya harus dikelola dengan baik agar dapat menyediakan layanan yang adilFazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

31 Jaringan Komputer

kepada seluruh pengguna jaringan. Ketersediaan kapasitas memori menjadi sedemikian penting karena node yang bertindak sebagai switch atau router harus terlebih dahulu menyimpan paket-paket data dalam buffer untuk menunggu giliran ditransmisikan melalui outgoing link. 2. Setiap node terhubung ke jaringan melalui network adaptor. Komponen ini terhubung ke I/O bus dan menjadi perantara pengiriman data antara memory dengan link jaringan. Diperlukan adanya software khusus (dikenal dengan nama device driver) pada workstation untuk mengatur komponen ini. Contoh pengaturan yang diberikan adalah memberikan informasi tentang lokasi memory tempat data yang akan ditransmisikan atau tempat menyimpan data yang baru saja diterima. 3. Perkembangan kecepatan CPU tidak seimbang dengan perkembangan kecepatan memory. Secara umum, kecepatan prosesor akan menjadi dua kali lipat dalam waktu 18 bulan, sementara kecepatan memory hanya bertambah 7% tiap tahun. Relevansi dari kenyataan ini adalah bahwa pada node jaringan, kecepatan operasi workstation akan lebih tergantung pada kecepatan memory, bukan pada kecepatan prosesor. Dengan demikian software jaringan harus lebih berhati-hati dalam penggunaan memory (misalnya : berapa kali akses memory harus dilakukan untuk memroses tiap message).

LinkLink di jaringan diimplementasikan dengan media fisik yang beragam (twisted pair, coaxial cable, optical fiber dll). Apapun media fisik yang digunakan, tugas utamanya adalah menghantarkan sinyal. Sinyal yang tersusun dari nilai-nilai diskrit, misalnya pulsa listrik (voltase) positif atau negatif, disebut sinyal digital. Link yang digunakan untuk menghantarkan sinyal digital juga disebut dengan link digital. Jenis link yang lain menghantarkan sinyal elektromagnetik kontinyu dalam cakupan tertentu, misalnya line telepon dapat menghantarkan sinyal dengan rentang frekwensi 300 Hz hingga 3300 Hz. Link semacam ini disebut link analog. Link digital dan analog merupakan komponen dasar untuk dapat mentransmisikan segala jenis informasi, termasuk juga yang menjadi fokus dalam komunikasi data, yakni pengiriman data biner (0 dan 1). Data biner tersebut akan dikodekan dalam bentuk sinyal. Modem (modulator/demodulator) adalah perangkat yang digunakan untk mengkodekan data biner menjadi bentuk sinyal analog pada sisi pengirim, dan akan mengubah sinyal analog menjadi data biner kembali pada sisi penerima. Digital transmitter adalah perangkat jaringan yang digunakan untuk mentransmisikan data biner (digital) melalui link digital. Atribut lain dari link adalah berapa banyak aliran bit (bit stream) yang dapat dikodekan ke dalamnya pada suatu saat. Jika hanya satu aliran bit yang bisa, maka node-node yang terhubung padanya harus dapat menggunakan link tersebut secara

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

32 Jaringan Komputer

bersama (access sharing). Untuk link point-to-point seringkali harus ada dua aliran bit yang dapat ditransmisikan pada saat yang bersamaan, keduanya mengalir dengan arah yang berlawanan. Link semacam ini disebut full-duplex. Sementara link point-topoint yang hanya dapat menghantarkan satu arah aliran bit tiap saat, disebut halfduplex, mengharuskan dua node yang terhubung dengan link tersebut menggunakan link secara bergantian. Untuk bahasan-bahasan selanjutnya diasumsikan link yang digunakan selalu bersifat full-duplex. Properti lain dari link adalah batasan jarak yang dapat dihubungkan oleh tiap jenis link. Pada satu sisi, jika node-node yang akan dihubungkan berada pada lingkup geografis yang kecil (satu ruangan, satu gedung atau satu kampus), maka link dapat dibangun sendiri. Jenis media yang digunakan sangat tergantung pada teknologi yang akan digunakan untuk mentransmisikan data melalui link tersebut. Beberapa contoh media yang umum digunakan tertera pada Tabel 2.1. Tabel 2.1. Beberapa jenis media yang umum digunakan Media Cat 5 UTP 50-ohm coax (ThinNet) 75-ohm coax (ThickNet) Multimode fiber Single-mode fiber Bandwidth tipikal 10 100 Mbps 10 100 Mbps 10 100 Mbps 100 Mbps 100 2400 Mbps Jarak 100 m 200 m 500 m 2 km 40 km

Di sisi lain, jika node-node yang akan dihubungkan secara geografis terpisah jauh, maka sangat tidak praktis jika link yang menghubungkannya dibangun sendiri. Pilihan yang optimal adalah dengan menyewa link dari perusahaan penyedia jaringan (misal : perusahaan telepon). Tabel 2.2 memberikan daftar layanan yang umumnya disediakan oleh perusahaan penyedia jaringan. Tabel 2.2. Beberapa jenis layanan yang umum ditawarkan Layanan ISDN T1 T3 STS-1 STS-3 Bandwidth 64 Kbps 1,544 Mbps 44,763 Mbps 51,840 Mbps 155,251 Mbps

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

33 Jaringan Komputer

STS-12 STS-24 STS-48

622,080 Mbps 1,244160 Gbps 2,488320 Gbps

Bandwidth pada layanan-layanan pada Tabel 2.2 terlihat sedikit ganjil. Sebenarnya ada penjelasan yang logis untuk masing-masing angka tersebut. Link ISDN (Integrated Services Digital Network) memiliki kapasitas 64 Kbps karena tujuan ISDN adalah menghantarkan voice dan data, sementara untuk mengirimkan voice bandwidth yang lazim digunakan adalah 64 Kbps. (Perangkat yang mengkodekan sinyal suara analog ke dalam link digital ISDN disebut CODEC coder/decoder). T1 dan T3 sebenarnya merupakan teknologi lama yang didefinisikan dari media transmisi berbasis tembaga. T1 sama dengan agregasi dari 24 sirkuit suara digital, sementara T3 setara dengan gabungan 30 buah link T1. Link STS-N digunakan pada optical fiber (STS = Synchronous Transport Signal). STS-1 merupakan kecepatan dasar, tiap STS-N memiliki kecepatan N kali STS-1. STS-N seringkali juga disebut OC-N (Optical Carrier-N). Perbedaan antara STS dengan OC emmang tidak terlalu jelas : STS mengacu pada transmisi elektrik pada perangkat yang terhubung ke link, sementara OC mengacu pada sinyal optik yang mengalir di dalam fiber. Semua link diatas merupakan link digital. Kecuali ISDN, semua dapat disewa sebagai dedicated link (tiap kali dibutuhkan, link akan selalu tersedia, tanpa perlu melakukan dial-up terlebih dahulu). Alternatif lain yang bisa ditempuh adalah dengan menggunakan modem untuk mentransmisikan data biner melalui link telepon analog. Yang perlu diingat adalah bahwa perusahaan telepon tidak mengimplementasikan link yang diminta oleh penggunanya sebagai satu jalur media (yang tidak terputus). Link dibangun dengan memanfaatkan jaringan telepon yang telah ada. Dalam banyak kasus, masalah yang dihadapi dalam pembangunan jaringan komputer adalah sama meskipun link-link yang digunakan merupakan link fisik yang dibangun sendiri atau merupakan koneksi lojik diatas jaringan telepon. Bahasanbahasan berikut akan berasumsi bahwa tiap link diimplementasikan dengan satu jalur media. Hal ini akan ditinjau kembali saat harus diputuskan apakah jaringan komputer yang dibangun berada diatas jaringan telepon ataukah justru jaringan yang akan dibangun itu juga akan digunakan sebagai backbone jaringan telepon.

PengkodeanLangkah pertama untuk dapat mendayagunakan node dan link menjadi komponen pembangun jaringan adalah dengan mengetahui cara menghubungkannya sedemikian hingga bit-bit dapat ditransmisikan dari satu node ke node yang lain. Sebagaimana telah dijelaskan pada bagian terdahulu bahwa sinyal merambat melalui media fisik. Yang perlu diperhatikan berikutnya adalah cara mengkodekan data binerFazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

34 Jaringan Komputer

yang akan dikirimkan oleh node sumber menjadi sinyal yang dapat dihantarkan oleh link, dan kemudian dapat di-decode kembali menjadi data biner kembali pada node tujuan. Masalah ini akan dipandang dalam konteks link digital, dimana yang dikenal hanyalah dua jenis sinyal diskrit, yakni high-signal dan low-signal (meskipun pada kenyataannya bisa diterjemahkan sebagai dua level tegangan yang berbeda pada link berbasis tembaga atau dua intensitas energi yang berbeda pada link berbasis optik). Komponen pensinyalan (yang melakukan pengkodean bit menjadi sinyal dan sebaliknya) terdapat pada network adaptor. Sebagaimana terlihat pada Gambar 2.2, sinyal merambat pada link antar komponen pensinyalan, sementara bit mengalir antar network adaptor.Signalling component

NodeAdaptor

Signal Bits

NodeAdaptor

Gambar 2.2. Pertukaran sinyal dan bit Cara yang paling sederhana untuk mengkodekan bit ke dalam sinyal adalah dengan memetakan bit 1 dengan high-signal sementara bit 0 dengan low-signal. Cara inilah yang digunakan dalam skema pengkodean NRZ (Non-Return to Zero). Contoh pengkodean dengan NRZ terlihat pada Gambar 2.3.Bits NRZ 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0

Gambar 2.3. Contoh pengkodean dengan skema NRZ Dengan penggunaan skema NRZ, jika ada sejumlah bit 1 yang muncul secara berurutan, maka sinyal akan tetap berada pada posisi high selama selang waktu tertentu. Demikian juga jika muncul sejumlah bit 0 secara berurutan, maka sinyal akan tetap pada posisi low selama selang waktu tertentu. Hal ini berakibat pada timbulnya beberapa masalah, diantaranya : Sinyal low yang terjadi terus-menerus dapat diartikan juga sebagai tidak adanya sinyal. Dengan demikian, node penerima tidak dapat membedakan antara urutan bit 0 yang panjang dengan putusnya link.

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

35 Jaringan Komputer

Sinyal high yang terjadi terus-menerus dapat membingungkan penerima, karena node tersebut menggunakan level sinyal rata-rata (disebut baseline) untuk membedakan antara sinyal high dan low. Terlalu banyak bit 1 yang muncul berurutan akan berakibat pada berubahnya nilai rata-rata ini (situasi ini dikenal dengan sebutan baseline wander). Perubahan yang sering terjadi antara high dan low diperlukan untuk menjamin bisa dilakukannya clock recovery. Masalah ini muncul karena proses encoding dan decoding keduanya dipandu oleh clock (tiap clock cycle, sumber mengirimkan bit dan tujuan menerima bit). Clock pada sumber dan tujuan harus benar-benar sesuai (sinkron) agar tujuan dapat menerima bit yang sama dengan yang dikirmkan oleh sumber. Jika clock di tujuan berbeda sedikit saja dari clock pada sumber, maka sinyal tidak akan dapat di-decode dengan benar. Memang bisa saja diambil pendekatan lain, dimana sinyal clock dikirimkan ke tujuan menggunakan jalur (link) yang berbeda dengan data, namun hal ini tidak dilakukan karena akan memboroskan link. Dengan demikian, tujuan harus bisa mendapatkan sinyal clock dari sinyal yang diterima (proses ini dinamakan clock recovery). Saat terjadi perubahan sinyal (transisi dari bit 1 ke 0 atau sebaliknya), maka tujuan menyimpulkan bahwa saat itu adalah batas dari clock cycle dan dapat mensinkronkan clock-nya dengan yang digunakan oleh sumber. Jika ada periode yang cukup panjang dimana tidak ada perubahan atau transisi sinyal, maka sangat mungkin terjadi pergeseran clock (drift). Proses clock recovery sangat tergantung pada banyaknya transisi sinyal yang terjadi, terlepas dari data yang sedang dikirimkan. Untuk mengatasi masalah-masalah diatas, ada skema pengkodean lain yang dikenal dengan nama NRZI (Non-Return to Zero Inverted). Dengan skema ini, sumber melakukan transisi sinyal untuk mengkodekan bit 1 dan level sinyal tetap untuk mengkodekan bit 0. Skema ini menyelesaikan masalah untuk urutan bit 1, namun tidak untuk urutan bit 0. Alternatif lainnya adalah skema pengkodean Manchester. Skema ini menyatukan sinyal clock dan data dengan cara melakukan operasi XOR antara sinyal clock dengan data yang telah dikodekan dengan NRZ. Dengan cara ini, bit 0 akan dikodekan menjadi transisi dari low ke high, sementara bit 1 dikodekan dengan transisi high ke low. Karena bit 0 maupun 1 keduanya dikodekan dengan selalu ada transisi sinyal, maka clock akan bisa didapat kembali dengan mudah di tujuan. Contoh pengkodean dengan skema NRZI dan Manchester terlihat pada Gambar 2.4. Masalah yang muncul pada penggunaan skema pengkodean Manchester adalah semakin seringnya terjadi transisi sinyal dalam link, hal ini mengakibatkan semakin singkatnya waktu yang dipunyai oleh node tujuan untuk mendeteksi pulsa tiap sinyal. Seberapa sering terjadi transisi sinyal dalam suatu rentang waktu tertentu disebut dengan baud rate. Pada kasus skema pengkodean Manchester, bit rate hanya separuh dari baud rate, sehingga dikatakan skema pengkodean ini memiliki efisiensi 50%.

Fazmah Arif Yulianto Sekolah Tinggi Teknologi Telkom

36 Jaringan Komputer

Bits NRZ Clock Manchester NRZI

0

0

1

0

1

1

1

1

0

1

0

0

0

0

1

0

Gambar 2.4. Perbandingan beberapa skema pengkodean Skema pengkodean yang lain adalah 4B/5B. S