Foundations: Builiding a Network Teknologi Jaringan Komputer (Johny Moningka MSc.) Magister Teknologi Informasi Fakultas Ilmu Komputer Universitas Indonesia Semester 2003/2004 Versi: 1.01 1 Agenda Dasar: Membangun sebuah Jaringan Komputer Kebutuhan (Bab 1.1) Å (hal. 4) • • • • Konektivitas Pemakaian Sumber Daya Bersama Dukungan untuk Pelayanan Aplikasi Kinerja Arsitektur Jaringan (Bab 1.2) • Lapisan dan Protokol • Contoh arsitektur Implementasi Perangkat-Lunak (Bab 1.3) Rujukan: [P&H] Bab 1 2 Fasilkom UI v-1.1 PENGANTAR: • Pembahasan sesuai dengan Bab 1, pada buku teks [P&H], tema sentral bab ini adalah “dasar dalam membangun jaringan komputer”, memberikan wawasan konsep dasar suatu jaringan komputer. Walaupun perkembangan teknologi berkembang dengan pesat, konsep dasar ini tetap dapat digunakan untuk jaringan komputer modern. • Tujuan dalam membangun suatu jaringan komputer dapat dilihat dari berbagai perspekstif. Misalkan dari segi bisnis: effektifitas jaringan tersebut mendukung aplikasi bisnis, dalam pengertian “kehandalan” (reliability) data yang dikirimkan. Perspektif lain dari “efektifitas” adalah kecepatan transfer data yang cukup cepat (mis. untuk transmisi video). • Berdasarkan pertimbangan di atas maka pada saat awal kita harus membahas “requirement”, atau prasyarat apa saja yang diperlukan dalam membangun suatu jaringan. Pengertian yang lebih luas untuk istilah ini adalah “kebutuhan” yang dapat menjadi spesifikasi dari suatu jaringan komputer. • Kebutuhan ini dapat ditinjau dari berbagai aspek, kita akan membahas satu per-satu mulai dari konektivitas, resources sharing, application support dan karakteristik “performance” dari suatu jaringan yang ingin kita bangun. 2 What is computer networks? Telekomunikasi: “A communication of information by electronic means over some distance” Komunikasi jarak jauh menggunakan teknik elektronis (infrastruktur, reliable). Komunikasi Data: “Data transmission from one location to another” Transmisi data dengan menggunakan fasilitas telekomunikasi (lebih efisien dan “reliable”). Jaringan Komputer: 1. “Interconnected independent computer” 2. “A whole new services in providing applications, users and organizations for computer communications” 3 Fasilkom UI v-1.1 Pengantar: 1. Definisi umum untuk membedakan istilah dan domain yang berhubungan dengan jaringan komputer. Perlu ditekankan pendekatan services, value added services dan basic infrastruktur. 2. Ketiga istilah di atas, secara spesifik memberikan services: “transfer informasi”. Walaupun dalam penerapannya terdapat derajat yang berbeda, dimana telekomunikasi adalah bentuk paling primitif (services, peralatan), komunikasi data hanya menggunakan alat sederhana untuk transfer data, jaringan komputer yang paling “versatile” (menghubungkan intelligent devices, secara intelligent). 3. Terminologi jaringan komputer yang membedakan dengan jaringan spesifik tsb, adalah => fungsi umum (genelarity) jaringan komputer tidak dirancang untuk pemakaian tertentu (seperti telepon dgn spesifik data voice dan peralatan khusus) tapi mampu untuk menyampaikan informasi/data (apa saja) dan kemampuan untuk mendukung (koneksi/komunikasi) beragam aplikasi (makin banyak). 4. Saat ini penggunaan Internet dan jaringan komputer menjadi salah satu kebutuhan dan bagian dari infrastruktur TI, demikian juga bisnis melalui Internet. Walaupun terdpt perkembangan yg pesat, issue utama topik kuliah masih tetap relevan spt 30 tahun yg lalu, yakni dasar teknologi dan konsep yg menjadi dasar rancangan Internet? Secara keseluruhan fenomena Internet yg mampu mengakomodasi dari berbagai kebutuhan selama perkembangan teknologi jaringan ini menjadi salah satu topik yang menarik dalam studi jaringan komputer. 3 Example: Early Networks Teleprocessing (1960’an) Mainframe Terminal (remote) Telecommunication Network (i.e telephone lines) Ide dasar: akses on-line ke komputer di lokasi terpisah; Network menawarkan services: “move information” 4 Fasilkom UI v-1.1 Contoh: 1. Sebagai gambaran pada saat awal peranan jaringan komputer (aka komunikasi data) sangat minimal, hanya untuk menghubungkan terminal dan main-frame komputer. Jaringan ini dibangun karena “komputer” masih sangat mahal. 2. Jadi terdapat terminal-terminal yang berada di remote, terhubung dengan komputer di pusat EDP. Umumnya terminal digunakan untuk memasukkan “jobs” ke mainframe => RJE (Remote Job Entry) salah satu services batch job pada komputer mainframe. 3. Model ini disebut Terminal Networks: populer pada tahun 1960 – 1970’an, Sedangkan model komputasi jenis ini disebut => centralized computing model, dengan mainframe sebagai pusat. 4. Tahun 1980’an terjadi perubahan dimana komputer semakin murah dan banyan (Mini-komputer, PCs) dan dan perkembangan teknologi jaringan komputer => mendorong aplikasi terjaring semakin banyak. Istilah aplikasi terjaring (network applications), secara luas mencakup dari dukungan sistim operasi (network operating system), file server, sampai dengan aplikasi berbasis Web, client –server dll. 4 “Computer is the net” Terminal PC, ATM, POS, Ticketing dll Server Mainframe LAN Link (.. another netwok) Network Server Aspek: Generality (move bits/data), programmable untuk berbagai jenis kebutuhan/aplikasi/data. 5 Fasilkom UI v-1.1 WAWASAN: 1. Computer is the net => marketing dari Sun Microsystems (walaupun sekarang menjadi “The net that is work”) 2. Peranan jaringan menjadi pusat dimana menghubungkan berbagai infrastruktur TI seperti komputer, ATM bank, dl. Berbeda dengan centralized systems; mainframe tidak lagi menjadi pusat prosesing tapi terdapat banyak server yang lain yang dapat bertindak sebagi processing center => distributed systems 3. Jaringan dapat menjadi lebih rumit lagi karena menghubungkan berbagai jenis peralatan dan komputer, tidak lagi seperti terminal dan main-frame saja. Demikian juga terdapa jaringan lain (atau di dalam jaringan terdapat jaringan). 4. Model seperti ini dimana jaringan menjadi “urat nadi” komputasi dapat dilihat pada realisasi TI diperbankan, hal yang dianggap “fiksi ilmiah” pada 50 tahun yang lalu seperti ATM bank, dapat direalisasikan dengan model jaringan komputer di atas. 5. Hal yang membedakan jaringan komputer dari jaringan telekomunikasi lainnya sebelumnya adalah beragamnya services dan peranan jaringan komputer, dibandingkan dengan tele-processing pada slide sebelumnya. 6. RANGKUMAN: Jaringan komputer berbeda dengan jaringan yang lain adalah aspek “generality”, dimana dengan “konsep” transfer/move bit data, maka hampir semua aplikasi dapat memanfaatkan fasilitas ini. 5 Topics/Theme Bagaimana services jaringan komputer? Application: special vs “general purpose” Apa yang membedakan services? Bagaimana komunikasi/koneksi antar komputer? KD: transmisi data antar komputer yang terhubung langsung. Bagaimana jika jaringan bertambah besar (skala)? KD: perlu “relay/switch”: node/jaringan perantara. Bagaimana memberikan services ke lapisan aplikasi? variasi jenis aplikasi? KD: identifikasi/routing ke aplikasi dengan kehandalan transmisi data yang tinggi. 6 Fasilkom UI v-1.1 WAWASAN: 1. Services jaringan komputer (terhadap user) sangat beragam. Special networks: reservation system (airline - SITA, hotel), financial transaction (banking, SWIFT), credit card network. General purpose: Internet, jaringan korporat. 2. Apa yang membedakan services: bandwidth (kecepatan), jumlah users yang dapat terhubung (skalabilitas), real-time (transmisi video), reliability transmisi data dsb. 3. “Simple networks” adalah hubungan komputer secara langsung melalui peralatan jaringan komputer (contoh Local Area Networks, LANs). Issue yang pertama adalah bagaimana mengirimkan data melalui media fisik (pulsa, sinyal, gelombang elektronis)? Memeriksa jika terjadi kesalahan (media tidak error free) dll? 4. Akhirnya networks harus memberikan pelayanan kepada lapisan aplikasi dalam bentuk komunikasi antar proses pada komputer yang berbeda. Service ini dapat sangat bervariasi dari satu aplikasi dengan aplikasi yang lain, sehingga implementasi service jaringan harus mendukung berbagai variasi / mode yang diinginkan aplikasi. 6 Applications Contoh aplikasi: email, WWW, file/music sharing Contoh Web (Browser): Mudah: interface sederhana, point & klik. Akses informasi (pages) => uniform resource locator (URL): http://telaga.cs.ui.ac.id/WebKuliah/IKI20240 Apa yang terjadi jika URL web page di klik? Mekanisme network: terjadi pertukaran messages pada network (protokol), mis: Menerjemahkan nama: telaga.cs.ui.ac.id => IP address: 152.118... : 4 s/d 6 messages Set up koneksi TCP antara komputer PC dan server telaga: 3 messages. Request page browser reply dari server menggunakan protokol HTTP ke server: 4 messages Terminasi koneksi TCP: 4 messages. 7 Fasilkom UI v-1.1 WAWASAN: 1. Salah satu faktor yg mempengaruhi pemakaian meluas dari jaringan komputer adalah terdapat berbagai ragam aplikasi. Aplikasi cenderung berkembang pesat sesuai dengan peluang bisnis dan tuntutan user. 2. Contoh aplikasi yang populer dimana dilakukan transfer data atau messages adalah Web. Kunci keberhasilan aplikasi Web adalah kemudahan pemakaian dan fitur yang disediakan sangat banyak misalkan kemampuan multimedia, melakukan transaksi dsb. 3. Misalkan aplikasi Browser sangat mudah digunakan, user tidak perlu mengetahui nama/kode alamat IP, topologi jaringan dan berada di komputer dimana pages (informasi) yang akan diakses. Hal ini didukung oleh Hypertext Transfer Protocol (HTTP) sehingka terbentuk hyperlink antara dokumen/informasi yang tersebar pada komputer2 di Internet. 4. Kerumitan dan mekanisme download 1 page dari Internet menggunakan Browser dapat dilihat dari pertukaran messages antara aplikasi Browser dan HTTP server, yang tidak diketahui oleh user. Misalkan terdapat lebih kurang 17 messages dan melibatkan 4 jenis protokol yang berbeda. 5. Tahapan ini dibungkus oleh aplikasi yang menyembunyikan low level detail proses tsb dengan dukungan interface dan struktur teknologi jaringan komputer. 7 Applications (2/2) Contoh: audio/video streaming Transfer file (mirip pages) => playback setelah lengkap. Interaksi? Video conference, live speech? Streaming => arus data dikirim secara kontinyu dari sender ke receiver • Receiver menampilkan segera data (messages) yang diterima • Issue: penerimaan data harus kontinyu, jika delay terlalu besar, aplikasi video/audio menjadi sulit digunakan. • Terdapat requirements yang berbeda dari segi aplikasi untuk streaming video dan download Web pages 8 Fasilkom UI v-1.1 WAWASAN: 1. Pada contoh aplikasi yang lain video streaming (misalkan aplikasi RealPlayer atau Media player) maka tuntutan aplikasi sulit dipenuhi jika melakukan download semua data video untuk playback di komputer PC. 2. Salah satu cara adalah mengirim data tersebut dalam bentuk messages melalui Internet. Pengiriman data dijital tsb harus kontinyu, dalam arti tidak mengalami delay yang cukup besar. Delay yang besar tibanya data pada sisi receiver menyebabkan video/audio tidak dapat dilihat/didengar dengan baik. 3. Bandingkan dengan delay pada download pada Web pages tidak mempunyai pengaruh yang besar terhadap informasi pages yang dibaca. Q: Bagaimana jaringan komputer dapat menjamin penerimaan messages pada receiver tidak mengalami delay yang cukup besar? 4. Dari sisi kebutuhan ini maka kelihatannya rancangan jaringan komputer harus cukup flexible untuk menampung tipikal aplikasi yang berbeda kebutuhannya (Bandingkan dengan telepon yg hanya melayani kebutuhan transmisi data voice saja). 8 Requirements! Umum: “Interkoneksi komputer … ??? Programmer (aplikasi) service disediakan untuk aplikasi, mis. mengirim message dari satu aplikasi ke aplikasi lain. Network Designer fungsi jaringan: cost-effective, i.e resources digunakan secara efisien (sharing) oleh users. Network Provider operasi jaringan: manageable, mis. fault mudah dideteksi/diperbaiki. 9 Fasilkom UI v-1.1 WAWASAN: 1. Definisi awal kita: jaringan komputer menyediakan hubungan “interkoneksi” komputer, sangat umum dan merupakan langkah awal dalam memberikan “requirement”, tapi tidak cukup. Interkoneksi komputer mempunyai aspek komunikasi komputer dan realisasi kebutuhan untuk itu dapat ditinjau dari berbagai sudut. 2. Kita dapat melihat dari berbagai pandangan yang berbeda requirement dalam membangun suatu jaringan komputer. • programmer => fungsi jaringan memberikan pelayanan untuk komunikasi antar proses dengan pengiriman “message” atau data. Jadi programmer menginginkan akses ke “services” dari network dibuat semudah mungkin dalam penulisan software. • network designer => managed resources yang terbatas; petimbangan utama adalah jaringan komputer harus efisien, misalkan pemakaian bersama saluran komunikasi (link), dapat digunakan oleh banyak users pada satu saat dll. • network provider: operasi, services dan management jaringan. 9 Requirement I:Connectivity Koneksi: membuat “link” antara “nodes” Node: any device connected to a link Contoh: komputer, PDA, POS, HP etc. Link: saluran dimana informasi/bits dikirimkan (media fisik) Wired (kabel) atau wireless 10 Fasilkom UI v-1.1 Konektivitas: 1. Hal yang paling jelas jaringan harus menyediakan konektivitas sekelompok komputer. Sering kebutuhan hanya koneksi beberapa komputer (terbatas), tapi terdapat juga jaringan seperti jaringan korporat dan Internet yang dapat berkembang menjadi sangat besar (scaleable). 2. Konektivitas jaringan dapat dapat diterjemahkan dengan mengambarkan dalam berbagai tingkatan (complexity). Pada tingkat paling bawah jaringan dapat terdiri dari dua komputer yang terhubung langsung oleh saluran atau media fisik, seperti kabel dll. Media fisik tersebut dikenal dengan istilah “link” dan komputer yang terhubung dengan link disebut “node”. 3. Contoh gambar di atas, adalah realisasi dari bentuk link yang ada, misalkan wire (kabel, fiber optics dll), wireless (udara, dan perlu interface untuk pemancar gelombang radio, antena dll). 4. Selanjutnya kita akan membahas model sederhana untuk jaringan dimana nodenya terhubung langsung. 10 Model 1: Direct Links Direct Links: Point-to-Point Node Node Multiple Access Node Node … Link Link (share link tunggal) 11 Fasilkom UI v-1.1 Contoh Model Direct Network: • Dalam melakukan analisa dan merancang suatu jaringan komputer, maka kita perlu menggambarkan dalam model yang dapat memberikan representasi yang tepat dalam menggambarkan bentuk jaringan komputer. 1. Istilah “node” (simpul) dan “link” (arc) dapat secara mudah direpresentasikan dalam bentuk diagram graf, untuk menggambarkan jaringan yang lebih besar (banyak node dan link). 2. Contoh di atas bagaimana representasi suatu jaringan dibuat untuk “link” yangmenghubungkan “nodes”. • Model point-to-point: “link” yang hanya menghubungkan dua node. • Model multiple-access: “link” menghubungkan lebih dari dua node. 3. Sepintas model multiple-access mempunyai kelebihan karena dengan link tunggal dapat menghubungkan banyak nodes, namun muncul “issue” bagaimana mengatur “akses/share” link tunggal tersebut dari sekian banyak nodes. 4. Masalah keterbatasan jumlah nodes yang mengakses “link” tunggal tersebut, menyebabkan model “direct links” di atas tidak dapat digunakan untuk jaringan dengan jumlah nodes yang sangat banyak (mis. umumnya perusahaan besar mempunyai nodes dari ribuan sapai puluhan ribu komputer, internet mempunyai puluhan juta nodes). 11 Example: Switched Direct links: sulit untuk berkembang (skala kecil). keterbatasan koneksi fisik dan kontrol akses (multiple access). Switched: menggunakan “nodes” perantara (forwarding) untuk mencapai tujuan skalabilitas: mampu berkembang/bertambah besar (jumlah nodes dan links). data => forward (switched) dari satu node ke node lain sampai di tujuan. switch mempunyai: multiple input dan output (fungsi switch). 12 Fasilkom UI v-1.1 Contoh Switched Model: • Dalam praktek, “direct networks” jangkauannya terbatas, sedangkan menghubungkan jaringan yang banyak diperlukan karena faktor geografis, management (otoritas). • Bentuk seperti ini dimana tidak dapat berkembang disebut tidak scaleable, dan diperlukan model/mekanisme yang lain untuk meningkatkan konektifitas dasar “direct networks” menjadi model yang lebih luwes (flexible) dan scaleable. • Untuk mendukung ide jaringan dapat bertambah besar maka, diperlukan “node khusus” sebagai bagian jaringan dengan tugas memperbesar suatu jaringan. Fungsi khusus dari node tersebut yang disebut “switched” adalah sebagai node perantara yang melakukan “forwarding” data dari satu link ke link lain yang menjadi tujuan. • Dengan demikian “rancangan dan implementasi” switched tidak mengharuskan node (komputer) harus terhubung dengan komputer lain secara langsung. 12 Model 2: Switched network Cloud Host Switch: memindahkan data/bits “antara” links, multiple inputs/outpus KD: 1. Switches merupakan bagian “networks” => swtich terhubung dengan switch yang lain => memperbesar jaringan. 2. Network: “cloud”, Terdapat dua jenis node: 3. Switches => fungsi jaringan (switches data), berada dalam “cloud” (network). Switch 4. Nodes di luar “cloud” => host, tempat aplikasi/user berada. 13 Fasilkom UI v-1.1 KONSEP: 1. Fungsi switched secara umum memindahkan data/bits antara link-link yang dihubungkannya. Umumnya switch, sesuai dengan namanya mempunyai “multiple input” dan “multiple output”, dimana switched dapat memilih output yang mana untuk mencapai node tujuan. 2. Bentuk jaringan dengan konektivitas yang lebih luas dari “direct links” memerlukan representasi model yang lain. Terdapat dua jenis node yakni: a) komputer dan b) switch, dan terdapat jaringan dalam gambar awan (cloud) yang membatasi kedua nodes tersebut. Jadi node yang berada dalam “cloud” adalah switched (peralatan jaringan) yang diluar dari “cloud” adalah node komputer (host, peralatan end-user lain). 3. Dengan model ini maka representasi konektivitas suatu jaringan komputer dapat digambarkan sbb.: • “Jaringan” (networks): representasi awan (cloud). • Komputer (host) atau devices lain: node diluar dari jaringan komputer, mendapatkan services dari jaringan komputer. • Switch: node yang berada di dalam jaringan komputer, komponen jaringan komputer yang memberikan services interkoneksi ke host. • Link: saluran yang menghubungkan node dengan switches, switches dengan switches. 13 Example: Switched Network Node Node … Realisasi jaringan: direct links + switch Link Switch Node Node Node … … Link 14 Node Link Fasilkom UI v-1.1 Contoh Switched Network: 1. Contoh suatu jaringan “direct links” dihubungkan oleh switch menjadi satu kesatuan network. 2. Misalkan “link” yang menghubungkan “direct link” pada gambar di atas mempunyai keterbatasan untuk jumlah “node”, maka kita dapat membuat konektivitas jaringan makin besar dengan menggunakan switch yang menyediakan interkoneksi pada link-link tersebut, sehingga menjadi satu kesatuan jaringan. 14 Model 3: Interconnected Networks Interkoneksi jaringan komputer (independent) => skala luas Konsep: Jaringan komputer dapat dibangun dari jaringan yang ada (“cloud”) => menghasilkan jaringan yang lebih besar. Node penghubung: router atau gateway. 15 interconnected independent network Fasilkom UI v-1.1 KONSEP: • Mode koneksi jaringan yang lebih besar lagi tidak dapat digambarkan dengan satu “jaringan” (cloud) saja, tapi lebih ke interkoneksi sekumpulan jaringan. Dalam model ini switch juga yang menjadi perantara untuk menghubungkan jaringan-jaringan tersebut. • Dalam kondisi ini terdapat sekumpulan independent network (cloud) yang terhubung dengan node switch perantara. Kontras dengan switch di dalam “jaringan” (lihat slides sebelumnya) switch perantara ini berada di antara dua atau lebih “cloud” tapi fungsinya sama dengan switched melakukan store dan forwarding paket data, antara jaringan. • Gambar di atas memperlihatkan terdapat 3 jaringan (cloud) yang terhubung dengan 4 switch node perantara, yang sering disebut router/gateway. 15 Methods: sending messages Terdapat dua cara (teknik) mengirimkan messages melalui switch Circuit switching: mengirimkan dalam arus bit • Data atau bit dikirimkan secara serial dan switches melakukan switching per-bit. • Harus melalui “jalan exclusive” (dedicated path) yang telah dibangun oleh host melalui switch. Packet switching: store-and-forward • Messages dibagi dalam bentuk blok data bits: paket. • Switches akan melakukan switching per-paket (vs. perbit untuk circuit switching). • Setiap paket akan ditampung oleh switch (store) dan dikirimkan (forward) ke tujuan. • Tidak diharuskan “exclusive dedicated path” 16 Fasilkom UI v-1.1 Teknik Penyampaian “bit/data/messages” • Penyampaian data atau bit yang paling sederhana (primitif) adalah menggunakan teknik “circuit switching”, dimana bit/data tidak dibentuk dalam paket data (nanti akan diterangkan kelak dalam kuliah ini, bentuk paket data). Jadi setiap bit akan diswitch ke tujuan. • Teknik switch per bit ini memerlukan “set-up” koneksi path yang exclusive dan dedicated untuk dua host, melalui jaringan. • Contoh dari circuit switching adalah: koneksi melalui jaringan telepon (mis. menggunakan modem untuk berhubungan dengan komputer di kantor, dimana switched sentral telepon berfungsi sebagai circuit switching). • Teknil yang lebih baik adalah melalui packet switching, dimana message dibagi dalam paket-paket data. Setiap paket data mempunyai informasi tujuan paket tersebut. Swicthes akan melihat tujuan paket data dan melakukan switched ke output yang menuju ke tujuan. • Tidak dipelukan “dedicated dan exclusive” path antara host sender dan receiver, jadi switches akan mengirimkan paket sesuai kedatangan dan output yang dituju (forwarding). Untuk itu diperlukan “buffer” (store) paket dan forward ke output link (jika “tidak digunakan oleh input yang lain”). 16 Example: circuit siwtched Sirkit dibangun dan transmisi bit data dilakukan melalui “jalan” sirkit tsb. 17 Fasilkom UI v-1.1 Contoh circuit switced • Teknik ini mengharuskan node membangun dedicated circuit melalui switches dan mengirimkan stream bit melalui circuit tsb. 1. Jadi “jalan” yang dibangun “garis biru” circuit 1 hanya digunakan oleh node A dan D. Jika terdapat 1000 pasang node yang akan berhubungan maka harus diset-up sebanyak 1000 “dedicated circuit”. 2. Jika kita perhatikan maka antara switch 5 dan switch 3, diperlukan dua dedicated “link”. Pengamatan ini memberikan asumsi terdapat keterbatasan “jumlah koneksi” secara fisik. Sebagai contoh, hubungan telepon, sering menerima “nada sibuk”. 17 Example: packet switched Paket di-switched dari satu node ke node lain: konsep store & forward 18 Fasilkom UI v-1.1 Contoh Packet Switched • Strategi yang digunakan oleh switches adalah melakukan “store” dan “forward” yakni menerima secara lengkap paket, menyimpan ke dalam memori, melihat tujuan paket tsb dan “forward” paket ke node tujuan. • Dengan model ini maka tergantung dari “traffic” switch menyediakan koneksi “sementara” selama pengiriman paket, setelah itu koneksi akan diberikan untuk paket yang lain (yang tujuan akhirnya dapat berbeda). 18 A Simple Example Bagaimana bentuk (format) dari “mesage”? Fixed? Number bytes? Header 1 bit Data 32 bits 0: Please send data from Address 1: Packet contains data corresponding to request • Header/Trailer: information to deliver a message • Payload: data in message (contoh: 4 bytes) 19 Fasilkom UI v-1.1 19 Questions About Simple Example What if more than 2 computers want to communicate? Need computer “address field” (destination) in packet What if packet is garbled in transit? Add “error detection field” in packet (e.g., Parity Chk) What if packet is lost? More “elaborate protocols” to detect loss (e.g., NAK, ARQ, time outs) Simple questions such as these lead to more complex protocols and packet formats => complexity 20 Fasilkom UI v-1.1 20 Summary (.. connectivity) Kita dapat membuat jaringan Secara rekursif, dari dua atau lebih nodes terhubung dengan links (fisik), atau dua atau lebih jaringan yang telah ada. BIG IDEA: Switch Besarnya network dapat ditingkatkan dengan menggunakan: switch => perantara hubungan antar nodes. Network skala luas dapat dicapai dengan melakukan interkoneksi jaringan yang telah ada. 21 Fasilkom UI v-1.1 Ringkasan: 1. Konsep dasar dimana kita dapat membangun jaringan “direct link” dari node dan link, selanjutnya kita dapat mempesar jaringan dengan menambahkan switch merupakan ide utama untuk mendukung perkembangan jaringan yang lebih besar. 2. Ide dasar switch menjadi konsep utama untuk menghubungkan direct link networks menjadi switched networks, yang lebih besar jumlah konektivitas. 3. Selanjunya kita dapat membangun jaringan yang lebih besar lagi dengan menggabungkan switched networks menjadi “interconnected” networks. 21 Requirement II: Resource Sharing KK: efisiensi pemakaian link Link antar switches terbatas jumlahnya. Bagaimana menggunakan link secara bersama dan serentak? Multiplexing: banyak source (input) sharing link (output) tunggal. 22 Host A B Switch multiplex lebih dari satu koneksi. Fasilkom UI v-1.1 KONSEP: 1. Jika kita perhatikan link antar switches tidak sebanyak jumlah host atau nodes yang ada. Akibat keterbatasan ini maka jika link tersebut telah digunakan antar dua host yang berkomunikasi maka host-host yang lain tidak dapat berkomunikasi karena link tersebut telah digunakan. Dengan kata lain jaringan tersebut tidak efisien karena hanya satu pasang host yang dapat menggunakan jaringan tersebut. 2. Implementasi jaringan efisien jika kita menggunakan link tersebut secara bersama, misalkan lebih dari satu koneksi dapat melalui link tersebut, walaupun secara fisik saluran tersebut satu. 3. Terdapat teknik dasar dalam memanfaatkan link dengan melakukan multiplexing, dimana resource tunggal tersebut digunakan bersama (sharing) oleh lebih dari satu koneksi. Hal yang sama dengan konsep time-sharing, dimana suatu saat banyak proses yang menggunakan resource CPU tunggal. 4. Konsep multiplexing dalam koneksi links dapat diartikan data dari multiple “input” (user/host) dapat dikirim pada link yang sama, hal ini salah satu alasan switch melakukan “store” & “forward”. 5. Misalkan switch A, terhubung dengan dua host (lihat gambar di luar cloud), dan switch B terhubung dengan tiga host. Karena kemampuan switch untuk menyimpan “store” sementara, maka pada saat bersamaan A dapat menerima input dari kedua host tersebut untuk di-forward ke switch B, dengan cara melakukan pegiriman secara berurutan (serialize) data dari host yang dikirim serentak. 22 Time Division Multiplexing (TDM) • Synchronous time division multiplexing Multiplex (mux) L1 Demultiplex (demux) R1 L2 R2 L3 R3 L4 R4 Pembagian jadwal dan jatah waktu pemakaian link secara tetap (fixed): slot (quantum) satuan waktu (time) 23 Fasilkom UI v-1.1 Teknik TDM: 1. Salah satu cara pembagian “link” untuk digunakan bersama adalah berdasarkan alokasi waktu (time) dimana pengiriman data dari setiap node digilir sesuai urutan slot waktu yang diberikan. 2. Misalkan terdapt 4 pasang node (lihat gambar) yang akan berhubungan maka setiap node akan mendapat jatah waktu, selama jatah waktu tsb node ybs berhak (secara sinkronus) langsung mengirimkan data. 3. Istilah sinkronus => terdapat timing (clock) yang mengatur sender dan receiver kapan harus mengirim dan menerima data, dengan kata lain alokasi waktu telah “fixed” => slot waktu. Sisi pengirim disebut multiplexing: penggabungan data sedang sisi penerima demultiplexing: pembagian 4. Salah satu kelebihan “TDM” adalah terjadinya “sinkronisasi” waktu dari sisi MUX dan DEMUX, sehingga bit langsung dapat diberikan ke output (destination). 5. Contoh penerapan TDM banyak digunakan untuk “link” telekomunikasi (seperti satelit), dimana terdapat “continuous” streaming data dari berbagai source tsb. 6. Patut dicatat TDM menerapkan alokasi kanal secara tetap, karena slot waktu yang terlah dialokasikan ke source L1, tidak dapat digunakan oleh source yang lainnya. Model pembagian jatah waktu TDM ini dianggap masih kurang efisien. 23 TDM: Limitations Efisiensi pemakaian link rendah Waktu (quantum) akan terbuang percuma, jika data tidak terus menerus dikirim (Ingat: alokasi slot pemakaian telah ditetapkan untuk koneksi tsb). Kasus: koneksi komputer waktu idle tsb sangat besar (mis. on-line sistim reservasi penerbangan) Jumlah koneksi telah terbatas (tetap) Pembagian quantum (slot) telah ditentukan sebelumnya => max. jumlah koneksi. Kasus: umumnya koneksi komputer sangat singkat (mis. request Web pages) dan jumlah koneksi sangat banyak. 24 Fasilkom UI v-1.1 WAWASAN: 1. Model TDM mempunyai potensi efisiensi link yang rendah karena “slot waktur” transmisi terbuang percuma jika alokasi waktu untuk suatu source tidak digunakan. Misalkan L1, tidak ada data, sedangkan L2 banyak data yang akan dikirim, maka tetap saja L2 hanya mendapat jatah slot waktunya. 2. Salah satu kendalah TDM, salah satu source, misalkan L2, tidak dapat menggunakan “kapasitas” link secara penuh walaupun sources yang lain “idle” (tidak mengirimkan data). 3. Jadi terdapat dua kendala teknik sharing TDM dalam meningkatkan efisiensi link: • Potensi utilisasi link yang rendah, walaupun terdapat data yang akan dikirimkan (tidak sesuai dengan kebutuhan). • Alokasi pembagian waktu yang “fixed” jumlah node yang terhubung dengan link terbatas jumlahnya dan harus tetap. 24 Statistical Multiplexing Pembagian alokasi link berdasarkan permintaan (ondemand) => batasan pengiriman dalam “paket” data Perlu informasi tujuan dalam paket (asinkronus) => paket (data + header output) MUX: store paket (buffer), send dengan header DEMUX: deliver menurut header paket Switch = MUX + DEMUX paket Source MUX DEMUX … Switch 25 Switch Fasilkom UI v-1.1 Statistical Multiplexing: 1. Keterbatasan sharing link dengan TDM, dapat ditangani oleh teknik statistical multiplexing, dimana tidak di-alokasikan menurut jadwal (waktu) tetap, tapi sesuai dengan kebutuhan (on-demand). 2. Q: Bagaimana DEMUX dapat membagi stream input (kumpulan sources) dari link ke destination? Ingat: dengan tidak adanya alokasi jadwal (waktu) pemakaian link untuk setiap source, maka DEMUX tidak dapat melakukan pemisahan berdasarkan “sinkronisasi” waktu antara kedua switch tersebut. 3. Cara yang umum adalah meberikan batasan “transmisi” dari sources dalam bentuk paket data (blok data) yang dapat dikirimkan Paket terdapat data + header. Header berisi informasi “output” yang menjadi tujuan data. Jadi MUX (atau source) harus membuat “paket” lengkap dengan “header” tujuan. 4. Dari model ini untuk meningkatkan efisiensi link, maka kapasitas total sources lebih besar dari link antar switch, sehingga diperlukan buffer untuk menampung paket; jika input lebih besar/cepat dari output link. 5. Flow data node tidak dialokasikan secara tetap tapi “on-demand” jadi terdapat kemungkinan link akan digunakan secara penuh oleh satu node karena node yang lain tidak mempunyai data. 6. Note: Gambar di atas menunjukkan pengiriman searah, dalam praktek switch selain outgoing port, link yang sama juga merupakan “incoming” port. 25 Cost-Effective Resource Sharing Keuntungan Statistical Multiplexing Umumnya jumlah user (koneksi) lebih besar dari kapasitas link => lebih efisien sharing network resources (switch dan link) Alokasi “link” per-paket (on-demand) => terdapat lebih dari satu koneksi (flow) untuk satu “physical link” (sharing). Issue network designer: Network terdiri dari banyak switch – yang secara independent menentukan pengiriman arus paket Adil untuk sources: FIFO, round-robin atau “prioritas” (services berbeda). 26 Fasilkom UI v-1.1 Ringkasan: 1. Dengan pengiriman data dalam bentuk paket, maka sharing link dapat dilakukan secara “cost-effective”: • Link yang secara fisik tunggal, dapat digunakan lebih dari satu users (sources). • Batasan pengiriman data oleh users dalam bentuk paket. • Switch akan melakukan alokasi pemakaian “output” link berdasarkan paket dan secara on-demand. • Kapasitas atau jumlah users (sources) dapat lebih besar dari “output” link. 2. Dalam kasus semua node mengirim dengan kapasita linknya maka kelebih data (burst) tersebut ditampung dalam buffer (memori) dan dilakukan antrian pengriman. 3. Penentuan paket mana yang akan dikirimkan oleh switch dari buffer, menjadi salah satu pilihan dalam rancangan jaringan, misalkan FIFO (first in first out) atau roundrobin (berurut). Cara lain dapat juga meningkatkan quality of services untuk “source” tertentu dengan melakukan prioritas pengiriman. 26 Req. III: Support for Common Services Network menghubungkan berbagai “host” komputer Berbagai aplikasi melakukan “komunikasi” dengan aplikasi yang lain Requirement: mendukung komunikasi pada aplikasi host komputer Fungsi komunikasi menjadi bagian dari aplikasi (dibuat oleh programmer) Fungsi komunikasi digunakan oleh banyak aplikasi => common services. OS: aplikasi => proses => memanfaatkan “common services” yang disediakan jaringan 27 Fasilkom UI v-1.1 LINGKUP: • Pada slides sebelumnya, dibahas tantangan yang dihadapi dalam menyediakan konektivitas secara cost-effective dengan resource sharing, dengan pandangan sederhana penyampaian “paket” secara efisien. • Dalam praktek, jaringan komputer menghubungkan berbagai host komputer yang berkomunikasi dengan host komputer yang lain. Jika ditinjau dalam host, maka terdapat berbagai aplikasi yang berada di dalam host tersebut. • Jadi kebutuhan berikutnya dari suatu jaringan komputer adalah bagaimana mendukung komunikasi aplikasi di dalam host. Dari kuliah OS, kita mengetahui aplikasi yang berjalan menjadi proses di host komputer. Proses ini yang akan berkomunikasi dengan proses yang lain. • Satu cara adalah implementasi seluruh fungsi “komunikasi” jaringan komputer pada setiap aplikasi, tapi cara ini tidak efektif karena fungsi “komunikasi” diperlukan oleh sekumpulan aplikasi. Model OS memungkinkan fungsi “komunikasi” ini digunakan bersama dalam bentuk “common services” yang dapat diakses dari semua proses yang ada. • Pendekatan “common services” ini memberikan gambaran bahwa jaringan menyediakan “logical channel” untuk komunikasi antar proses. 27 Common Services Konektivitas antar komputer harus diartikan sebagai komunikasi antar proses Jaringan komputer menyediakan “logical channel” (pipa komunikasi) dimana proses-proses dapat mengirimkan messages. Setiap channel menyediakan “kumpulan services” yang dapat digunakan oleh aplikasi/proses. Contoh fungsi “komunikasi”: connect (open), send, receive dst. Requirements: “karakteristik logical channel”? Misalkan: apakah diperlukan kehandalan (error free)?, kecepatan (quality of services)?, security? Aplikasi yang berbeda => services yang berbeda. 28 Fasilkom UI v-1.1 KONSEP: 1. Host komputer menampung proses sebagai wakil aplikasi. Proses ini akan berkomunikasi dengan proses lain di host yang lain, dan memerlukan services dari jaringan. Secara intuisi, jaringan komputer menyediakan sebuah pipa komunikasi tempat proses-proses mengirimkan message. Pipa ini disebut “logical channel”. 2. Konsep “logical channe” tidak lain melakukan implementasi “common services”. Sebagai contoh fungsi komunikasi pada logical channel adalah: open (connect) untuk setup koneksi dengan proses yang lain, send message dst. Tugas dari common services ini untuk menyampaikan message tadi ke proses tujuan (melalui paket dalam network dst). 3. Dengan adanya “logical channel”, tahap berikutnya mendefinisikan karakteristik kebutuhan untuk tipe services yang disediakan. Hal ini disebabkan kebutuhan aplikasi lebih bervariasi dan rumit dari pada sekedar penyampaian messages. 4. Sebagai contoh: aplikasi transaksi perbankan mengharuskan “logical channel” error free (handal), keamanan tinggi, dll. Sedangkan aplikasi dengan penyampaian video, memerlukan “logical channel” yang mempunyai kecepatan “konstan” dalam bentuk stream data video. 5. Dengan asumsi ini maka diperlukan lebih dari satu model “logical channel” atau “common services” untuk suatu network dengan fungsi umum “general purpose”. 28 Abstraction: channel Host Host Application Host Channel Application Channel: umum, parameter, pilihan, interface, aturan (protokol) =>fungsi apa Host saja yang harus didukung Host 29 Fasilkom UI v-1.1 KETERANGAN: • Pada gambar ini terlihat dua proses berkomunikasi melalui logical channel. • Cloud menghubungkan host komputer tempat proses tsb berada. • Asumsikan juga channel seperti pipa yang menghubungkan dua aplikasi sehingga aplikasi pengirim menempatkan data pada ujung pipa satunya dan diharapkan data disampaikan pada ujung lainnya. • Identifikasi fungsi suatu channel harus tercermin sebagai services kepada lapisan aplikasi. • Sebagai contoh aplikasi memerlukan garansi message harus disampaikan? atau penyampaian harus berurut sesuai urutan pengiriman? atau kerahasiaan selama pengiriman. 29 Example: Model Services Request/Reply Interaksi: dua arah (dialog). Tipikal: aplikasi untuk mengakses/update data. Delay: toleransi yang besar. Proteksi & reliability: duplikasi request (hanya satu message yang disampaikan). Stream-Based Arus (stream) data yang konstan. Tipikal: aplikasi multimedia Delay: sensitif, mempengaruhi informasi Proteksi & reliability: relatif, duplikasi/loss data dapat ditolerir Apa yang dapat menjadi masalah dari “comm. channel” dilihat dari segi aplikasi? 30 Fasilkom UI v-1.1 CONTOH: • Untuk merancang channel harus melakukan kategorisasi pola komunikasi yang diperlukan oleh aplikasi. Dengan demikian terbentuk kelompok dengan kelas services yang diperlukan, selanjutnya services tersebut diterapkan sebagai bagian fungsi jaringan. • Salah satu pola adalah terdapat proses yang melakukan request (mis. transfer file) yang disebut client dan proses lain di komputer lain yang melayani reques tersebut disbt server. Model ini disebut clien server, sering disebut juga terdapat dialog request reply dalam pengiriman messages. • Tipikal aplikasi yang lain adalah seperti video conferencing dimana data secara kontinyu dikirimkan antara dua komputer tsb untuk menggambarkan dlm real time gambar (video) dari pembicara. Pengiriman dalam bentuk frame data yang dibatasi “waktu” penyampaianya jika terlambat mempunyai dampak pada aplikasi. Model ini disebut message stream. • Network designer cenderung membatasi tipe “logical channel” dan digunakan untuk melayani berbagai aplikasi. Dengan permbatasan ini maka application designer tidak mempunyai banyak pilihan walaupun common services yang disediakan tidak spenuhnya memenuhi kebutuhan aplikasi. Dalam hal ini requirements untuk jaringan adalah mendefisikan “common services” yang baru dengan adopsi/extend dari yang telah ada (misalkan request/reply). 30 Summary Cost-Effective via Resource Sharing Link/Switch tunggal (fisik) digunakan bersama untuk mendukung transfer data oleh banyak sources (users). Multiplexing: efisiensi pemakain link, on-demand paket-per-paket transmisi. Support for Common Services Network menyediakan “logical channel” Implementasi “common services” dari logical channel bervariasi, sesuai dengan kebutuhan aplikasi. 31 Fasilkom UI v-1.1 31