DCN - Model Server Klien
Dua proses aplikasi jarak jauh dapat berkomunikasi terutama dalam dua mode berbeda:
Peer-to-peer: Kedua proses jarak jauh tersebut dijalankan pada tingkat yang sama dan mereka bertukar data menggunakan beberapa sumber daya bersama.
Client-Server: Satu proses jarak jauh bertindak sebagai Klien dan meminta beberapa sumber daya dari proses aplikasi lain yang bertindak sebagai Server.
Dalam model klien-server, proses apa pun dapat bertindak sebagai Server atau Klien. Bukan jenis mesin, ukuran mesin, atau daya komputasi yang menjadikannya server; itu adalah kemampuan melayani permintaan yang menjadikan mesin sebagai server.
Suatu sistem dapat bertindak sebagai Server dan Klien secara bersamaan. Artinya, satu proses bertindak sebagai Server dan proses lainnya bertindak sebagai klien. Ini juga dapat terjadi karena proses klien dan server berada di mesin yang sama.
Komunikasi
Dua proses dalam model klien-server dapat berinteraksi dengan berbagai cara:
Sockets
Panggilan Prosedur Jarak Jauh (RPC)
Soket
Dalam paradigma ini, proses yang bertindak sebagai Server membuka soket menggunakan port yang terkenal (atau dikenal oleh klien) dan menunggu hingga beberapa permintaan klien datang. Proses kedua yang bertindak sebagai Klien juga membuka soket tetapi alih-alih menunggu permintaan masuk, klien memproses 'permintaan terlebih dahulu'.
Ketika permintaan sampai ke server, itu dilayani. Ini bisa berupa berbagi informasi atau permintaan sumber daya.
Panggilan Prosedur Jarak Jauh
Ini adalah mekanisme di mana satu proses berinteraksi dengan proses lainnya melalui pemanggilan prosedur. Satu proses (klien) memanggil prosedur yang ada di host jarak jauh. Proses pada host jarak jauh disebut sebagai Server. Kedua proses dialokasikan rintisan. Komunikasi ini terjadi dengan cara berikut:
Proses klien memanggil rintisan klien. Ini melewati semua parameter yang berkaitan dengan program lokal ke sana.
Semua parameter kemudian dikemas (marshalled) dan panggilan sistem dibuat untuk mengirimnya ke sisi lain jaringan.
Kernel mengirimkan data melalui jaringan dan ujung lainnya menerimanya.
Host jarak jauh meneruskan data ke stub server yang tidak diatur arahannya.
Parameter diteruskan ke prosedur dan prosedur kemudian dijalankan.
Hasilnya dikirim kembali ke klien dengan cara yang sama.