Sistem terdistribusi 3

dokumen-dokumen yang mirip
Sistem terdistribusi 3. Interprocess Communication

Connectionless service UDP (User Datagram Protocol)

Komunikasi Antar Proses Interprocess Communication (IPC)

Refrensi OSI

BAB 2: INTRODUCTION TCP/IP

Minggu 6 Transport Layer

Protokol TCP/IP. Oleh: Eko Marpanaji

Sejarah TCP/IP TCP/IP

Transport Layer El E ectro ect n ro ic En E gineerin ri g Pol o ytech tec nic In I stitu sti t of o Surabaya ITS Kampus ITS Sukolilo Surabaya 60111

Networking Model. Oleh : Akhmad Mukhammad

TCP DAN UDP. Budhi Irawan, S.Si, M.T

TRANSPORT LAYER. Aplikasi dan Operasi pada TCP dan UDP

Transport Layer. Oleh : Akhmad Mukhammad

Interprocess communication atau komunikasi antar proses adalah inti dari sistem terdistribusi dan komunikasi antar proses-proses pada system-sistem

Bab 3: Proses-Proses. Konsep Proses

William Stallings Data and Computer Communications 7 th Edition. Bagian 2 Arsitektur dan protokol

SISTEM PROTOKOL PADA JARINGAN KOMPUTER

Pemrograman Jaringan

Lapisan Transport. Menjamin komunikasi yang handal antara dua buah komputer yang terhubung Terdiri atas :

Bab 3: Proses-Proses. Konsep Proses

Tugas Jaringan Komputer

Mengenal Komunikasi Data Melalui Layer OSI & TCP/IP

BAB II LANDASAN TEORI

KOMUNIKASI PENGANTAR DATA TERDISTRIBUSI. Materi: 1. Komunikasi Data 2. Protocol 3. Remote Procedure Call 4. Object Remote

PEMROGRAMAN JARINGAN

OSI Data Link Layer. CCNA1-1 Chapter 7

Sistem Operasi. Proses dan Penjadwalannya. Aditya Wikan Mahastama Antonius Rachmat C

MODEL REFERENSI OSI & TCP/IP. Budhi Irawan, S.Si, M.T

KOMUNIKASI. Universitas Informatika dan Bisnis Indonesia. 2.1 Komunikasi Data

Fungsi Lapis Transport

REVIEW MODEL OSI DAN TCP/IP

JARINGAN KOMPUTER Layanan Dari TCP dan UDP Protocol

TRANSPORT LAYER DEFINISI

Agenda. Protokol TCP/IP dan OSI Keluarga Protokol TCP/IP

1. Menggunakan model OSI dan TCP/IP dan protokol-protokol yang terkait untuk menjelaskan komunikasi data dalam network. 2. Mengidentifikasi dan

Deskripsi Layanan Protokol TCP dan UDP. (Tugas Mata Kuliah Jaringan Komputer) Nama: Azwar Hidayat NIM: Kelas: SK 4 C

The OSI Reference Model

TRANSPORT LAYER. Fikri Fadlillah, ST

MODUL 2 WIRESHARK Protokol TCP

Text Berisi kode programnya

1. Menggunakan model OSI dan TCP/IP dan protokol-protokol yang terkait untuk menjelaskan komunikasi data dalam network. 2. Mengidentifikasi dan

adalah sebuah aturan atau standar yang mengatur hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer dalam Komunikasi Data

OSI LAYER & TCP/IP. Deris Stiawan.S.Kom.MT. Fakultas Ilmu Komputer Universitas Sriwijaya

Pemrograman Jaringan

BAB II DASAR TEORI. Teknologi TCP/IP adalah hasil penelitian dan pengembangan protocol

Protokol. Pemrograman Client/Server dengan Java Socket. Protokol TCP/IP. Tipe pemrograman jaringan. Java Socket

OSI memberikan pandangan yang "abstrak" dari arsitektur jaringan yang dibagi dalam 7 lapisan. Model ini diciptakan berdasarkan sebuah proposal yang

We Can Start From Nothing

NETWORK PROGRAMMING. Yuliana Setiowati Politeknik Elektronika Negeri Surabaya D4 PENS-ITS

Komunikasi. Sistem Terdistribusi Reza Aditya Firdaus

Jaringan Komputer. Jaringan Terkini dan Klasifikasinya. Dimodifikasi: Andik Setyono, Ph.D.

Tugas Jaringan Komputer

End-to-End Protocols (Simple Demultiplexer and Reliable Byte Stream)

Modul 10 TCP/IP Lanjutan

: M Rasyid Darmawan NIM : TCP. Pengertian TCP. Karakteristik TCP

Fungsi Lapis Transport

Dasar Dasar Jaringan

Sistem Terdistribusi 2. Model arsitektur Terdistribusi

JARINGAN KOMPUTER. Disusun Oleh : Nama : Febrina Setianingsih NIM : Dosen Pembimbing : Dr. Deris Stiawan, M.T., Ph.D.

STANDARISASI JARINGAN KOMPUTER. Pertemuan 5

Arsitektur, Standarisasi, dan Trend

Materi 1. Pendahuluan

IP Address. Dedi Hermanto

MODUL 2 WIRESHARK Protokol TCP

TK 2134 PROTOKOL ROUTING

Bab 1. Pengenalan. William Stallings Komunikasi Data dan Komputer

Soal terdiri dari 50 Pilihan Ganda Setiap soal pilihan ganda hanya satu jawaban yang benar

Badiyanto, S.Kom., M.Kom. Refrensi : William Stallings Data and Computer Communications

Dosen Pengampu : Muhammad Riza Hilmi, ST.

Jaringan Komputer. Konsep Dasar Internetwork. Sabriansyah Rizqika

Data and Computer BAB 1

Naufal Ilham Ramadhan SOAL

Datarate (bandwidth) Layout jaringan (topologi) Single atau multiple kanal komunikasi.

Sistem Operasi 3. Process

Rahmady Liyantanto liyantanto.wordpress.com

26/09/2013. Pertemuan III. Elisabeth, S.Kom - FTI UAJM. Referensi Model TCP/IP

Transmission Control Protocol (End-to-End Protocols)

Muhammad Zen S. Hadi, ST. MSc.

ARSITEKTUR PROTOKOL TCP/IP

Pemrograman Jaringan 6.

PENGANTAR KOMPUTER & SOFTWARE I PROTOKOL JARINGAN KOMPUTER

Komunikasi Antar Proses

Model Komunikasi. Sumber-sumber. Alat Pengirim. Sistem Trasmisi. Alat Penerima. Tujuan (Destination) Menentukan data untuk dikirim

User Datagram Protocol (UDP)

AMALIA ZAKIYAH 1 D4LJ-TI

1. Pendahuluan. 2. Tinjauan Pustaka

Sistem terdistribusi multimedia Biasanya digunakan pada infrastruktur Internet Karakteristik Sumber data yang heterogen dan memerlukan sinkronisasi

3.2 Differentiated Service (DiffServ)... 23

Protokol dan Arsitekturnya

2.1. Sistem Komunikasi

OSI LAYER. Komunikasi Data STMIK AMIKOM Yogyakarta Khusnawi, S.Kom, M.Eng

Contents. Pejelasan model OSI dan tujuh lapisan Fungsi tiap-tiap lapisan Proses komunikasi antara perangkat Model TCP/IP

William Stallings Komunikasi Data dan Komputer

TASK V OBSERVING TCP/IP, PORT USING COMMAND PROMPT AND WIRESHARK

Protokol Jaringan. Oleh : Tengku Mohd Diansyah,ST,M.Kom

Model Referensi OSI. digunakan pada berbagai layer.

BAB 2 DASAR TEORI. Iklan berasal dari sebuah kata dalam bahasa melayu, yaitu i lan atau i lanun

Transkripsi:

Sistem terdistribusi 3 Interprocess Communication

Prinsip berkomunikasi Source generates data (text/binary) to be transmitted Transmitter Converts data into transmittable signals Transmission System Carries data Ex: TCP/IP Receiver Converts received signal into data Destination Takes incoming data

Interprocess Communication Processes within a system may be independent or cooperating Process on different computer? Reasons for cooperating processes: Information sharing Computation speedup Modularity Convenience Cooperating processes need interprocess communication (IPC) Two models of IPC Shared memory Message passing

Communications in local

Karakteristik IPC Synchronization dan Asynchronization of messages. Message destination : on Internet, using address dan local port. http://192.168.1.2:8081 Reliability data: validity dan integrity. Ordering data: urutan paket yang dikirim Different data processing: marshalling/unmarshalling g

Kategori IPC Pipes : merupakan fasilitas yang menyediakan komunikasi satu arah antar proses dalam sebuah sistem atau disebut half-duplex, yaitu data mengalir hanya terjadi satu arah. (local l computer) FIFO : fasilitas komunikasi secara FIFO (first in first out). Mirip dengan Pipes Message diantrikan Terjadi ejad di local computer Shared memory : suatu proses berbagi ruang dalam virtual address, sehingga proses manapun akan berbagi wilayah memory akan mampu menulis dan membacanya. Dalam single processing (local computer)

Kategori IPC Mapped memory : berhubungan dengan mapping sebuah file dalam file system sesuai dengan memory yang ada. Konsep virtual memory Local computer Message Queues :mengirim pesan secara a asynchronous. Asynchronous berarti proses pengiriman data Asynchronous berarti proses pengiriman data berlanjut disertai sebuah eksekusi tanpa harus menunggu penerima menerima atau mengenal informasi tersebut.

Kategori IPC Semaphore : struktur data yang di share ke beberapa proses untuk sinkronisasi Socket : sebagai endpoint dari komunikasi dua proses pada dua buah sistem komputer. RPC (Remote Procedure Call): adalah sebuah protokol yang memungkinkan program komputer berjalan pada satu host dan mengakibatkan kode dapat dieksekusi k i pada host yang lain tanpa kebutuhan koneksi secara eksplisit.

Ordinary Pipes Ordinary Pipes allow communication in standard parent-child style Producer (parent) writes to one end (the write- end of the pipe) Consumer (child) reads from the other end (the read-end d of the pipe) Require parent-child relationship between communicating processes A parent program opens anonymous pipes, and creates a new process and communicate using these pipes, or creates several new processes and arranges them

ls -l less Pipe Using FIFO as queue scheme Example in UNIX ls -l l l less

Named Pipes Named Pipes are more powerful than ordinary pipes A named pipe is one-way or duplex pipe for communication between the pipe server and one or more pipe clients. All instances of a named pipe share the same pipe name, but each instance has its own buffers Multiple l pipe clients can use the same named pipe simultaneously (system-persistent) No parent-child relationship is necessary between the communicating processes Provided on both UNIX and Windows systems

Named Pipe In UNIX

Message Passing Maybe provide latency, incompatibilities

Message Passing Basic Operations Send > kirim message Receive > terima message Variations Connection-oriented vs Connectionless Buffered vs Unbuffered Reliable vs Unreliable Data representation Marshalling & unmarshalling > pemformatan message

Communication Link Properties of communication link Links are established s ed automatically a A link usually is associated with exactly one pair of communicating processes Between each pair there exists exactly one link The link may be unidirectional, but is usually bi-directional i

Direct Communication Processes must name each other explicitly: send (P, message) send a message to process P receive(q, message) ) receive a message from process Q Properties of direct communication Links are established automatically ti A link is associated with exactly one pair of communicating processes Between each pair there exists exactly one link The link may be unidirectional, but is usually bi-directional

Indirect Communication Messages are directed and received from ports Each port has a unique id Well known ports: 0-1023 Recommended : > 1024-65535 Processes can communicate only if they share a port Properties of indirect communication link Link established only if processes share a common port A link may be associated with many processes Each pair of processes may share several communication links Link may be unidirectional or bi-directional

Operations Indirect Communication create a new/open port send and receive messages through port destroy a port Primitives are defined as: send(a, message) send a message to port A receive(a, message) receive a message from port A

Indirect Communication Port sharing P 1, P 2, and P 3 share port A P 1, sends; P 2 and P 3 receive Who gets the message? Solutions Allow a link to be associated with at most two processes Allow only one process at a time to execute a receive operation Allow all processes receive the message Allow the system to select arbitrarily the receiver. Sender is notified who the receiver was.

Model comm: Syn & Asyn Synchronous communication Acknowledge must be received Blocking communication Sender/Recipient must both active Example: Registration system / Chatting Asynchronous communication No acknowledge needed d Non-blocking communication Message may be queued Example: Email / Instant Messenger

Transient & Persistent Comm. Transient Communication Message discarded ded if failed aedode to delivered eed immediately Example: HTTP Request Persistent Communication Message stored until receiver can accept it Example: Email, Messenger

Group Communications Multicast: sent to specific group Sender tidak tahu identitas penerima dan berapa yang menerima Broadcast: sent to everyonee e Used for Replication of services/data Service discovery Event notification

Group Communications

Komunikasi Jaringan

Remember: OSI

OSI Layers (1) Physical Physical interface between devices Mechanical Electrical Functional Procedural Contoh: Ethernet CARD Data Link Means of activating, maintaining and deactivating a reliable link Error detection Contoh: PPP, Router

OSI Layers (2) Network Transport of information Contoh: Virtual Circuit & Internet Protocol Transport Exchange of data between end systems Error free In sequence / No sequence No losses / losses No duplicates / duplicates Quality of service Contoh: TCP dan UDP

OSI Layers (3) Session Control of dialogues between applications Recovery Presentation Data formats and coding Data compression Encryption Contoh: SSL Application Means for applications i to access OSI environment Contoh: HTTP, FTP, SMTP

The Message

Konsep Pengiriman Data Data dikirim dalam bentuk paket Setiap paket memiliki header untuk keperluan administrasi routing Data disimpan i dalam body sebuah paket Ukuran paket sangat bervariasi Ethernet: 64 1518 byte Bisa dikirimkan i k dengan TCP/UDP

TCP dan UDP Dua protokol pada transport layer Menggunakan konsep port (16 bit) untuk membedakan aplikasi HTTP: 80, HTTPS: 443, FTP: 21,... Port 1-1023 : well-known port Port 1024-49151 : registered port Port lain bisa digunakan secara bebas Di Linux: /etc/services

TCP Transmission i Control Protocol, pada transport t layer Reliable connection Adanya pengecekan error Dijaga urutan message Komunikasi duplex dua arah Segmentasi - TCP PDU Called TCP segment Includes source and destination port Identify applications Connection refers to pair of ports TCP tracks segments between entities on each connection

UDP User Datagram Protocol Not guaranteed delivery No preservation of sequence No protection against duplication Minimum overhead Adds port addressing to IP Contoh: DNS, streaming

Request / Reply

Review Failure model Process failure: crash Deteksi e dgn timeout Communication failure: message drop Karena: transmission i error, buffer overflow Arbitrary failure: proses melewatkan step yang harus dilakukan atau membawa data yg salah Data korup, data double

Mekanisme handle failure Model of IPC Timeout, jika tidak dapat balasan, method dooperation akan mengirim terus request message sampai timeout. Duplicate request message, server menerima lebih dari sekali request message sehingga memprosesnya berulangkali. solusi : request identifier & filter out duplicate.

Failure Model of IPC Lost reply message, server dapat menyimpan hasil proses request message, jika ada request message yang sama tidak perlu diproses ulang, server mengirim reply message berupa hasil proses dari request message yang telah disimpan. i History, server menyimpan struktur rekaman reply message yang telah dikirim.

Socket Menyediakan jembatan komunikasi i antar proses Komunikasi i antar proses: mengirimkan i pesan antar socket pada satu proses menuju sebuah socket pada proses lain Bisa menggunakan TCP/UDP Connection oriented dan connectionless oriented Melakukan k binding ke sebuah port tertentu

Sockets and ports socket any port agreed port socket client Internet address = 138.37.94.248 message other ports server Internet address = 138.37.88.249

Operasi Socket Socket dapat melakukan operasi: Koneksi ke mesin remote Mengirim data Menerima data Mentutup koneksi Bind to a port Di tiap mesin yang saling berinterkoneksi, harus terpasang socket. Hard coded

Masalah Socket Informasi pada program : struktur data Informasi pada message : urutan byte Data harus dikonversi sebelum dan sesudah pengiriman agar bisa diproses dua pihak Masalah : representasi pada sistem bisa berbeda-beda ASCII vs Unicode Big-endian vs Little-endian

Big vs Little Endian system

Marshalling / Unmarshalling Marshalling : proses konversi data menjadi bentuk yang cocok/tepat untuk transmisi pesan antar host Unmarshalling : proses kebalikannya Pendekatan yang umum digunakan: CORBA dan RMI Marshalling Java serialization XML XML RPC, Web Services

Contoh Pengiriman Data CORBA message index in notes sequence of bytes 4bytes on representation 0 3 4 7 5 "Smit" length of string Smith 8 11 "h " 12 15 16 19 19 20-23 24 27 6 "Lond" "on " 1934 length of string London unsigned long The flattened form represents a Person struct with value: { Smith, London, 1934}

Indication of Java serialized form Serialized values Explanation Person 8-byte version number class name, version number 3 int year java.lang.string name: java.lang.string place: number, type and name of instance variables 1934 5 Smith 6 London values of instance variables

XML definition of the Person structure <person id="123456789"> <name>smith</name> <place>london</place> <year>1934</year> <!-- a comment --> </person >

NEXT Pemrograman Socket Sumber: Distributed buedsyse Systems schapter ape 4 khusus pemrograman socket, George Sumber: An introduction to network programming with Java, Jan Graba Buatlah: Pengertian, cara kerja Contoh program socket connection oriented + connectionless oriented