आरपीसी क्या है और यह इतना महत्वपूर्ण क्यों है?


15

शुरू से, मैंने सुना है कि आप कभी भी, विंडोज में रिमोट प्रक्रिया कॉल सेवा को अक्षम नहीं करते हैं। ऐसा करने से भयानक चीजें होती हैं, जिनका इस्तेमाल करना मुश्किल हो जाता था (मेरा मानना ​​है कि यह अब करना आसान नहीं है, लेकिन अब इसे ठीक करना बहुत आसान है)। हालांकि, मुझे नहीं पता कि यह क्या करता है या यह मूल रूप से पूरे ऑपरेटिंग सिस्टम के लिए इतना महत्वपूर्ण क्यों है।

क्या आरपीसी सेवा के उद्देश्य को पूरा करना संभव है और इसे चलाने के लिए इतनी सारी अन्य सेवाएं / अनुप्रयोग / संचालन क्यों निर्भर हैं?

जवाबों:


24

विंडोज के डिजाइनरों ने आरपीसी पर कई चीजों को एक-दूसरे से बात करने का फैसला किया - ताकि वे स्थानीय या नेटवर्क पर बात कर सकें।

इसमें एक्टिव डायरेक्टरी, अधिकांश एमएमसी कंसोल, डिवाइस मैनेजर जैसे कुछ कंट्रोल पैनल एपलेट्स की कार्यक्षमता, प्रशासनिक टूल की कई चीजें और संभवत: आंतरिक विंडोज घटक जैसी चीजें शामिल हैं।

मेरा मानना ​​है कि जब आप MMC कंसोल एक्सेस कर रहे होते हैं, compmgmt.mscतो स्थानीय मशीन के बारे में चीजें देखना पसंद करते हैं, यह मूल रूप से लोकलहोस्ट के लिए RPC'ing है (हालांकि मैं गलत हो सकता है)।

टीसीपी / आईपी के ऊपर आरपीसी के एक स्तर के रूप में सोचें, जो कि आपके विंडोज घटकों द्वारा कम-स्तरीय (और असुरक्षित) नेटवर्क योग्य संचार ढांचे के रूप में उपयोग किया जाता है। सीधे टीसीपी / आईपी का उपयोग क्यों नहीं करते? जिस समय Windows NT को इंजीनियर किया गया था (1993 में जारी प्रारंभिक संस्करण), आपके पास सामान्य उपयोग में टीसीपी / आईपी के अलावा अन्य नेटवर्क प्रोटोकॉल थे, जैसे कि नेटवेयर (एसपीएक्स / आईपीएक्स), नेटबीआईओएस, ऐप्पलॉक (मुझे लगता है कि विंडोज ने इस दिन में वापस समर्थन किया था) , गलत हो सकता है ...) और ऐसे। तो यह विंडोज घटकों के लिए एक नेटवर्क-अज्ञेयवादी तरीका है जो स्थानीय मशीन या रिमोट मशीन पर अन्य घटकों से बात करने में सक्षम हो।


2
गंभीरता से? कोई अपवित्र नहीं? यह एक महान उत्तर है +1
डेव

6

सच्चाई यह है: RPC व्यापक रूप में प्रयोग किया जाता है स्थानीय मशीन है, लेकिन के लिए होस्ट करने वाली होस्ट उपयोग, मुख्य रूप से, आंतरिक रूप से माइक्रोसॉफ्ट द्वारा प्रयोग किया जाता है शायद ही कभी तीसरे पक्ष के द्वारा प्रयोग किया जाता


स्थानीय आरपीसी मुख्य उपयोग:

  • कच्चे RPC घटक, जैसे कि रजिस्ट्री, डेटसन, फ़ायरवॉल, सर्विस कंट्रोल, एसक्यूएल सर्वर ... आप उनमें से कुछ को "HOST-to-HOST" अनुभाग में देख सकते हैं।

  • कई DCOM घटक (RPC पर आधारित, C C के आवरण की तरह), COM + घटक शामिल हैं।

आप अपनी मशीन पर कितने DCOM घटकों को देखने के लिए dcomcnfg चला सकते हैं:

Excel, Internet Explorer, Visual Studio ... को स्वचालित किया जा सकता है क्योंकि वे DCOM घटक हैं:

यहाँ छवि विवरण दर्ज करें

यहां तक ​​कि एक्सप्लोरर की फ़ाइल संपत्ति संवाद भी DCOM घटक, मज़ेदार हैं? यदि आप DCOMCNFG की लॉन्च अनुमतियों के "सीमाएं संपादित करें" से सभी ACL को हटाते हैं, तो आप लगभग कुछ भी नहीं कर सकते हैं केवल प्रबंधन के काम नहीं!, यहां तक ​​कि एक्सप्लोरर में फ़ाइल संपत्ति भी दिखाएं!

यहाँ छवि विवरण दर्ज करें


HOST-to-HOST RPC मुख्य उपयोग:

  • दूरस्थ प्रबंधन सामान जैसे कि "कंप्यूटर प्रबंधन", "रजिस्ट्री संपादक", आप इसे दूरस्थ मशीन से कनेक्ट कर सकते हैं! क्या होता है अंडरलाइन करना SPC प्रोटोकॉल (टीसीपी पोर्ट 445, जिसे फाइल शेयरिंग के रूप में जाना जाता है) पर आरपीसी है।

    यहाँ छवि विवरण दर्ज करें

आप Rpcdump या ifids टूल का उपयोग रिमोट मशीन पर सभी RPC इंटर्फेसेस को डंप करने के लिए कर सकते हैं, निम्न परिणाम देखें, आप कई सिस्टम प्रबंधन इंटरफेस देख सकते हैं (वे स्थानीय स्तर पर भी इस्तेमाल किए जा सकते हैं):

[MS-RSP]: Remote Shutdown Protocol 
[MS-TSCH]: Task Scheduler Service Remoting Protocol 
[MS-TSCH]: Task Scheduler Service Remoting Protocol 
[MS-TSCH]: Task Scheduler Service Remoting Protocol 
[MS-EVEN6]: EventLog Remoting Protocol 
Adh APIs
AppInfo
Base Firewall Engine API
DHCP Client LRPC Endpoint
DHCPv6 Client LRPC Endpoint
DfsDs service
EFSK RPC Interface
Event log TCPIP
Fw APIs
Group Policy RPC Interface
IP Transition Configuration endpoint
IdSegSrv service
Impl friendly name
KeyIso
LicenseManager
NRP server endpoint
NSI server endpoint
NetSetup API
Ngc Pop Key Service
Proxy Manager client server endpoint
Proxy Manager provider server endpoint
Secure Desktop LRPC interface
Security Center
UserMgrCli
WM_WindowManagerRPC\Server
WinHttp Auto-Proxy Service
Witness Client Test Interface
Witness Client Upcall Server
XactSrv service
...

Received 499 endpoints.

RPC क्यों महत्वपूर्ण है? सिर्फ इसलिए कि हर परिपक्व प्रणाली को एक क्रॉस-प्रोसेस संचार तंत्र, स्टब / प्रॉक्सी उत्पन्न करने के लिए एक टूलसेट, पैक / अनपैक ऑब्जेक्ट के लिए एक मानक की आवश्यकता होती है। हर प्रणाली में समान चीजें हैं। आपको Android पता होना चाहिए, इसका बाइंडर DCOM के डिज़ाइन से काफी मिलता-जुलता है।

वास्तव में, HOST-to-HOST RPC व्यापक रूप से फैली हुई नहीं है, मुख्यतः क्योंकि वे जटिल और अपारदर्शी हैं, 445 या 135 पोर्ट के कारण अक्सर इंटरनेट के अनुकूल नहीं होती हैं, और प्रमाणीकरण अनुभव खराब है। लोग दूरस्थ घटक को लागू करने के लिए एक HTTPS सर्वर को चुनना पसंद करते हैं, यह अधिक सीधा और चलाया हुआ है।


2

दूरस्थ प्रक्रिया कॉल (RPC)

स्रोत: http://searchsoa.techtarget.com/definition/Remote-Procedure-Call

रिमोट प्रोसीजर कॉल (RPC) एक प्रोटोकॉल है जो एक प्रोग्राम नेटवर्क विवरण को समझने के बिना किसी नेटवर्क में किसी अन्य कंप्यूटर में स्थित प्रोग्राम से एक सेवा का अनुरोध करने के लिए उपयोग कर सकता है। (एक प्रक्रिया कॉल को कभी-कभी फ़ंक्शन कॉल या सबरूटीन कॉल के रूप में भी जाना जाता है।) आरपीसी क्लाइंट / सर्वर मॉडल का उपयोग करता है। अनुरोध करने वाला कार्यक्रम एक ग्राहक है और सेवा प्रदान करने वाला कार्यक्रम सर्वर है। एक नियमित या स्थानीय प्रक्रिया कॉल की तरह, एक आरपीसी एक तुल्यकालिक ऑपरेशन है जिसमें अनुरोध किया जाता है कि दूरस्थ प्रक्रिया के परिणाम वापस होने तक अनुरोधित कार्यक्रम को निलंबित कर दिया जाए। हालांकि, हल्के प्रक्रियाओं या थ्रेड्स का उपयोग जो एक ही एड्रेस स्पेस को साझा करते हैं, कई आरपीसी को समवर्ती रूप से निष्पादित करने की अनुमति देता है।

जब RPC का उपयोग करने वाले प्रोग्राम स्टेटमेंट को एक निष्पादन योग्य प्रोग्राम में संकलित किया जाता है, तो स्टब को संकलित कोड में शामिल किया जाता है जो दूरस्थ प्रक्रिया कोड के प्रतिनिधि के रूप में कार्य करता है। जब प्रोग्राम चलाया जाता है और प्रक्रिया कॉल जारी की जाती है, तो स्टब अनुरोध प्राप्त करता है और इसे स्थानीय कंप्यूटर में क्लाइंट रनटाइम प्रोग्राम के लिए अग्रेषित करता है। क्लाइंट रनटाइम प्रोग्राम में दूरस्थ कंप्यूटर और सर्वर एप्लिकेशन को कैसे पता किया जाए और दूरस्थ प्रक्रिया का अनुरोध करने वाले नेटवर्क पर संदेश भेजता है, इसका ज्ञान है। इसी तरह, सर्वर में एक रनटाइम प्रोग्राम शामिल होता है और उस इंटरफ़ेस को रिमोट प्रक्रिया से स्टब करता है। परिणाम उसी तरह लौटाए जाते हैं।

कई आरपीसी मॉडल और कार्यान्वयन हैं। एक लोकप्रिय मॉडल और कार्यान्वयन ओपन सॉफ्टवेयर फाउंडेशन के डिस्ट्रीब्यूटेड कंप्यूटिंग पर्यावरण (DCE) है। इंस्टीट्यूट ऑफ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स अपने आईएसओ रिमोट प्रोसीजर कॉल स्पेसिफिकेशन, आईएसओ / आईईसी सीडी 11578 N6561, आईएसओ / आईईसी, नवंबर 1991 में आरपीसी को परिभाषित करता है।

RPC नेटवर्क संचार के ओपन सिस्टम इंटरकनेक्शन (OSI) मॉडल में ट्रांसपोर्ट लेयर और एप्लीकेशन लेयर का विस्तार करती है। आरपीसी एक ऐसे एप्लिकेशन को विकसित करना आसान बनाता है जिसमें एक नेटवर्क में वितरित कई प्रोग्राम शामिल हैं।

क्लाइंट / सर्वर संचार के लिए वैकल्पिक तरीकों में संदेश कतारबद्ध करना और IBM के उन्नत प्रोग्राम-टू-प्रोग्राम कम्युनिकेशन (APPC) शामिल हैं।


यहाँ Microsoft से अधिक: http://msdn.microsoft.com/en-us/library/windows/desktop/aa378651(v=vs.85).aspx

उद्देश्य
Microsoft दूरस्थ प्रक्रिया कॉल (RPC) वितरित क्लाइंट / सर्वर प्रोग्राम बनाने के लिए एक शक्तिशाली तकनीक को परिभाषित करता है। आरपीसी रन-टाइम स्टब्स और लाइब्रेरी नेटवर्क प्रोटोकॉल और संचार से संबंधित अधिकांश प्रक्रियाओं का प्रबंधन करते हैं। यह आपको नेटवर्क के विवरण के बजाय एप्लिकेशन के विवरण पर ध्यान केंद्रित करने में सक्षम बनाता है।
जहां लागू
आरपीसी का उपयोग विंडोज ऑपरेटिंग सिस्टम के आधार पर सभी क्लाइंट / सर्वर एप्लिकेशन में किया जा सकता है। इसका उपयोग विषम नेटवर्क वातावरण के लिए क्लाइंट और सर्वर प्रोग्राम बनाने के लिए भी किया जा सकता है जिसमें यूनिक्स और ऐप्पल जैसे ऑपरेटिंग सिस्टम शामिल हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.