Vzdálené postupy: procedury vzdáleného volání, definice a funkce

9. 4. 2019

Mnoho uživatelů počítačového systému slyšelo o konceptech, jako jsou vzdálené postupy, vzdálené volání procedur nebo RPC. Jenže nikdo si neví, jaké technologie jsou, jak fungují a proč jsou. Ale mnoho z těch, kteří zakázali tuto službu v systémech se systémem Windows, mohou často dostávat chyby související s kritickými selháními. Toto a mnohem víc se bude diskutovat později.

Vzdálený volání procedury: co je to?

Stojí za to začít s některými teoretickými informacemi. Vzdálené procedury (vzdálené volání procedur) se považují za mechanismus, který umožňuje spouštět nebo používat libovolné funkce počítačových systémů v adresním prostoru odlišném od používaného terminálu. Jednoduše řečeno, toto je cesta k přístupu vzdáleného počítače například prostřednictvím místní sítě nebo připojení k Internetu.

vzdálené procedury volají vzdálené postupy

Vzdálené procedury (vzdálené volání procedur), označované jako RPC (zkratka pro vzdálený postup angličtiny), lze přiřadit nejen vzdáleným počítačům. Na místní úrovni se tyto technologie také používají. Jednoduchým příkladem můžete volat specifickou funkci jednoho programu z jiné aplikace prostřednictvím interakce prostřednictvím speciálních knihoven.

Navíc, absolutně všechny verze systému Windows mají takovou službu, a když je zakázána nebo selhání modifikace XP vůbec nefunguje.

Princip činnosti

Zpravidla služba RPC vzdáleného volání procedur pro provoz klienta-server vyžaduje alespoň dvě hlavní součásti: síťový protokol pro výměnu dat a jazyk serializace (překlad některých procesních nebo informačních datových struktur do bitové sekvence).

okna 10 vzdálený volání procedury

Architektury mohou být zcela odlišné a liší se jejich schopnostmi. Pro výměnu dat na takzvané úrovni přenosu se nejčastěji používají protokoly UDP a TCP, méně často - protokol HTTP.

Chyba vzdáleného volání procedury

Aby nedošlo k technickým aspektům, nejjednodušším vysvětlením toho, jak tyto technologie fungují, může být následující příklad: klientský proces formuluje požadavek na server popisující zvolený postup se zadanými parametry a pošle jej, po kterém server provede požadovanou směrnici a pošle klientovi odpověď, která se zobrazí na klientovi vozu. Ovšem samotný obslužný program serveru je v pohotovostním režimu a je aktivován pouze ve chvílích, kdy byly přijímány požadavky klienta. Současně není vůbec nutné, aby provádění "žádosti-odezvy" schéma bylo okamžitě provedeno.

Současně se dosahuje maximálního účinku při výměně relativně malých množství dat a krátké doby odezvy komponent, mezi nimiž je vytvořeno interaktivní spojení.

Vzdálené postupy (vzdálené volání procedur): funkce a implementace

Rozlišujeme tedy dva hlavní rysy těchto technologií:

  • asymetrie (zahájení vzdáleného řízení pouze jednou ze stran);
  • synchronicita (pozastavení volajícího postupu od okamžiku zahájení žádosti a obnovení po odeslání odpovědi).

Co se týče implementací, vzdálené procedury (volání dálkových procedur) dnes používají několik základních technologií, z nichž nejpoužívanější jsou následující:

  • DCE / RPC je binární protokol založený na protokolech TCP / IP, SMB / SIFC atd.;
  • DCOM je objektově orientovaný doplněk s možností přenosu odkazů na objekty a metody volání pro jejich zpracování;
  • JSON-RPC - textový protokol založený na protokolu HTTP;
  • .NET Remoting - binární protokol založený na UDP, TCP a HTTP;
  • Java RMI;
  • SOAP;
  • XML RPC;
  • SUN RPC;
  • ZeroC ICE;
  • Routix.RPC a kol.

Problémy a úkoly

Nyní pár slov o nedostatcích. Hlavním problémem a úkolem implementace je, že stejná operace vzdáleného volání procedur prostřednictvím uzlu služby vzdáleného volání procedur musí být současně provedena na různých počítačích, často s různými operačními systémy, adresovými prostory a architekturou . Během tohoto procesu musí být tyto parametry zkopírovány z jednoho terminálu do druhého. Pro tento účel se používá nejen transportní protokol, ale také serializace, která umožňuje konverzi různých bajtových sekvencí datových typů.

Druhý bod se týká skutečnosti, že vzdálené procedury (volání vzdálených procedur) nepoužívají žádný proces, jako na místní úrovni, ale dvě (na klientském počítači a na serveru). Proto může abnormální ukončení programu na jednom z terminálů způsobit stejnou reakci na druhé.

Konečně jedním z hlavních problémů je problém kompatibility kvůli heterogenitě některých programovacích jazyků, a to navzdory stanoveným jednotným standardům.

Hlavní typy subsystémů

Vzdálený volání procedur Systém Windows 10 nebo jakýkoli jiný systém s nižším hodnocením znamená použití speciálních subsystémů:

  • přepravní subsystém určený pro správu odchozích a příchozích spojení s garantovaným doručením datových paketů;
  • Bazénové protokoly - koncept postupu na volaném terminálu;
  • serializace (řazení) - přeměna datových toků na standardní bajtové kódy nezávislé na architektuře;
  • Šifrování odeslaných a přijatých paketů s uložením digitálního podpisu na nich;
  • ověřovací a autorizační systém.

Jaké typy programů vyžadují provedení RPC?

Pokud mluvíme o tom, které moduly softwaru operačního systému vyžadují, abyste udrželi službu RPC povolenou, je prostě nemožné uvést všechny.

vzdálené volání procedury rpc vypnout

Ale mezi všemi známými komponentami systémů Windows se můžeme zmínit o faxové službě, kryptografické službě, záznamu chyb, nápovědě a podpoře, přístupu k zařízením HID, službě messenger, správě diskových a logických diskových oddílů, vyměnitelné správě úložišť, audiosystému, instalaci systému Windows a dalších Bůh ví co.

Zdá se, že tento seznam stačí pochopit, kolik složek systému a samotného uživatele jsou závislí na této službě.

Co RPC ovlivňuje?

Obecně lze na základě předchozího popisu odhadnout vliv RPC. Existuje například mnoho případů, kdy při odpojování této služby zvuk úplně zmizel, bylo možné obnovit systém po kritických poruchách nebo při inicializaci uživatele, nastavení bezdrátové sítě "létalo".

Nejsmutnější je však to, že když vypnete vzdálený volání procedury RPC, je někdy nemožné získat přístup k základním systémovým nastavením, být uživatelem nejméně třikrát správcem na svém vlastním terminálu.

Je možné zakázat tuto službu

Celkově se mnozí pokusili (a snaží se) vypnout službu vzdáleného volání procedur. To je přísně zakázáno. Obecně platí, že samotný systém při provádění takového pokusu to neudělá a vydá příslušné oznámení.

rpc vzdálený volání procedur lokátor

Ale ne každý ví, že v sekci služeb (services.msc) stále existuje taková věc jako "Remote RPC Locator Call Locator". Zde může být pro systém bezbolestně vypnuto. Aplikace, které je mohou používat ve své práci, budou v případě potřeby nezávisle vyžadovat servis.

Odstraňování chyb a chyb

Nakonec se podíváme, co lze udělat, pokud se během volání na dálkové procedury generuje chyba. V nejjednodušším případě se můžete pokusit službu znovu povolit (pokud se to samozřejmě podaří).

servis rpc vzdálený volání procedury

Chcete-li to provést, v příslušné části, kde se služba nachází, poklepejte na nabídku pro úpravu parametrů, stiskněte tlačítko napájení a typ zapnutí je nastaven na automatický. Pokud není možné tento postup provést se standardním zaváděním systému, můžete se pokusit provést podobné akce v nouzovém režimu. Někteří odborníci současně poradují v době akce, v případě, že zakážou antivirový software.

vzdálený postup volání co je to

Pokud to nepomůže, ale máte po ruce instalační nebo obnovovací disk, můžete spustit příkazovou konzoli s právy správce (nemusíte zavádět z disku) a zapsat do ní následující příkazy:

  • cd z: i386 (Z je písmeno optická jednotka) ;
  • rozbalte explorer.ex_% TEMP% explorer.exe;
  • Rozbalte svchost.ex_% TEMP% svchost.exe.

Poté spusťte Správce úloh (Ctrl + Del + Alt nebo taskmgr v nabídce Spustit) a ukončete proces Explorer.exe.

Dále v příkazové konzoli napište následující: copy% TEMP% explorer.exe% SYSTEMROOT% / y.

V "Dispatcher" zastavíme všechny procesy svhost.exe a poté do 60 sekund musíme mít čas v příkazovém řádku pro zadání řádkové kopie% TEMP% svchost.exe% systemroot% system32 / y.

Nakonec, pokud máte přístup k editoru registru (regedit) obnoven, musíte projít sekci HKCC prostřednictvím sekcí SYSTEM a CurrentControlSet a dostat se do parametru CSConfigFlags a změnit jeho hodnotu na nulu.

Nejedná se o všechny metody odstranění chyb spojených s RPC. Faktem je, že pokud tato služba způsobila narušení práce jiných služeb, možná budete nejprve muset odstranit problémy s jejich výkonem a teprve poté podniknout nějaké kroky proti RPC. A není vždy možné získat plný přístup k výše popsaným parametrům a nastavením. Pokud se vůbec nic neděje, bez ohledu na to, jak by to mohlo znít žalostně, budete muset operační systém zcela přeinstalovat, i když bych chtěl doufat, že tomu tak nebude.

Závěr

Zde je krátký a vše, co se týká technologií a služeb RPC. Ve skutečnosti to vše je mnohem složitější, než bylo popsáno v tomto popisu, a pro úplné pochopení problému je nutné mít alespoň základní znalosti. Abyste však měli obecnou představu o RPC, stačí to.

Pokud jde o vypnutí, nesnažte se tyto věci dělat, jinak se celý systém nezdaří. Výše uvedené řešení pro odstranění poruch obvykle pomáhají, ale je stále nemožné poskytnout plnou záruku, protože deaktivace služby může způsobit selhání jiných komponent.