RPC (Remote Procedure Call) mimarisi nedir , nasıl çalışır?
Server üzerindeki servisleri kontrol ettiğimizde karşımızı çıkan RPC (remote procedure call) arka planda haberimiz olmadan birçok şeyi gerçekleştiren bir servistir.
RPC temel anlamda client ve server arasında yapılan iÅŸlemlerin iletiÅŸimi için dizayn edildi.Bir iÅŸlemin gerçekleÅŸmesi için bir gönderici (server) ve birde alıcı (client ) vardır.ÖrneÄŸin Microsoft Outlook ve Exchange server ikilisi gibi.Aynı ÅŸekilde server üzerindeki bir çok serviste bu mimariyi kullanarak birbirleriyle haberleÅŸirler.İşte bu haberleÅŸtirmeyi güvenli kılan ve kolaylaÅŸtıran ÅŸey RPC’dir.
Yukarıdaki mimaride gördüğümüz componentlerden bahsedicek olursak;
Client or server process:
Bir RCP isteğini başlatan yada yanıt veren program yada servis
RPC stubs:
RPC isteğini başlatmak için client yada server tarafından kullanılan program
Marshalling engine(NDR20 or NDR64):
RPC client ve server ları arasında ortak bir RPC interface’i oluÅŸturur.NDR20 32 bit mimarisi için, NDR64 ise 64 mimarisi için tasarlanmıştır.Client ve server bu marshalling engine sayesinde iletiÅŸim için karşılıklı anlaÅŸmayı saÄŸlarlar.
Runtime application programming interface (API):
Server yada client’a RPC için direk bir arayüz oluÅŸturur.RPC client ve serverları RPC’yi baÅŸlatmak içnin runtime API yi çağırırlar.
Connection RPC protocol engine:
RPC bir connection–oriented protocol isteğinde bulunduğunda kullanılır.Burada RPC nin dışarıya doğru bir bağlantıdamı yoksa dışarıdan içeriye doğru bir bağlantıdamı olduğu dizayn edilir.
Local RPC protocol engine:
Server ve client aynı host içerisinde barınıyorsa kullanılır.
Registry:
RPC servisinin ilk yüklemesinde erişim sağlanır.Buradaki registry anahtarları, RPC kullanıdığı ip port aralıklarını yada network aygıtlarının isimlerini barındırır.
Win32 APIs(kernel32.dll, advapi32.dll, ntdll.dll):
Kernel32.dll , sistem servislerinin hafıza yada kaynak yönetimlerini sağlayan Windows NT tabanlı bir API client dynamic-link library (DLL) dosyasıdır.
Advapi32.dll , gelişmiş bir Windows 32 base API DLL dosyasıdır.Güvenliği destekler.
Ntdll.dll , Windows NT nin sistem fonksiyonlarını kontrol eder.
SSPI(secur32.dll):
RPC için bir güvenlik arayüzü oluşturur.Kerberos, NTLM, ve Secure Sockets Layer (SSL) ın authentication ve encryption için kullanımını sağlar.
RPC için kullanılan network portları aşağıdadır.
Desteklenen network protokolleri:
Bu yazi May 26th, 2007 tarihinde ve Server Ailesi kategorisi altina yazilmistir. RSS 2.0 feed ile yorumlara abone olabilirsiniz. Ayrica yorum birakabilir, yada kendi sitenizde konuyu geri izleme yapabilirsiniz.

Yorum yapin