Oddaljeni postopki: klic oddaljenih postopkov, definicij in funkcij

Mnogi uporabniki računalniških sistemov so slišali za takšne koncepte, kot so oddaljeni postopki, klic oddaljenega postopka ali RPC. Tukaj niso vsi predstavljali, kakšna je tehnologija, kako delujejo in kaj potrebujejo. Toda mnogi od tistih, ki izklopijo to storitev v sistemih Windows, lahko pogosto dobijo kritične napake. O tem in drugih stvareh bomo nadalje razpravljali.

Klic oddaljenega postopka: Kaj je to?

Vredno je začeti z nekaterimi teoretičnimi informacijami. Menijo, da so oddaljeni postopki (oddaljeni klic postopka) mehanizem, ki vam omogoča zagon ali uporabo katere koli funkcije računalniških sistemov v drugačnem od terminala v naslovnem prostoru. Preprosto povedano, to je način za dostop do oddaljenega računalnika, na primer prek lokalnega omrežja ali internetne povezave.

Vendar pa se oddaljeni postopki (kliče oddaljeni postopki), ki so označeni kot RPC (angleški oddaljeni klic postopka), ne morejo pripisati samo oddaljenim računalnikom. Na lokalni ravni se uporabljajo tudi te tehnologije. Kot preprost primer lahko pokličete določeno funkcijo ene aplikacije iz drugega programa tako, da interakcijo opravite prek posebnih knjižnic. Poleg tega obstaja taka storitev v vseh različicah operacijskega sistema Windows, in če je onemogočena ali onemogočena, sprememba XP sploh ne deluje.

Načelo delovanja

Storitev RPC za oddaljeni klic postopkov običajno deluje v načinuOdjemalec-strežnik potrebuje vsaj dve glavni komponenti: omrežni protokol za izmenjavo podatkov in jezik za serijsko rabo (prevod procesne ali podatkovne strukture v bitno zaporedje).
Arhitekture so lahko popolnoma drugačne in se razlikujejo po svojih zmožnostih. Toda za izmenjavo podatkov na tako imenovanem transportnem nivoju se najpogosteje uporabljajo protokoli UDP in TCP, redkeje HTTP
.
Da ne bi šli v tehnične vidike, je lahko naslednji primer najpreprostejša razlaga načela teh tehnologij: postopek odjemalca ustvari zahtevo strežnika z opisom izbranega postopka s podanimi parametri in jo pošlje, po katerem strežnik izvede zahtevano direktivo in pošlje odjemalcu prikazani odgovor, ki se prikaže. na odjemalskem računalniku. Vendar pa je sam procesor strežnika, tako rekoč, v stanju pripravljenosti in se aktivira samo v času sprejemanja odjemalskih zahtev. Hkrati pa ni nujno, da se izvajanje sheme "zahteva-odgovor" izvede takoj.

V tem primeru se doseže največji učinek delovanja pri izmenjavi relativno majhnih količin podatkov in majhnega odzivnega časa komponent, med katerimi je vzpostavljena interaktivna povezava.

Oddaljeni postopki (klic oddaljenih postopkov): značilnosti in izvajanje

Razlikujeta se torej dve glavni značilnosti teh tehnologij:
  • asimetrija (začetek izvajanja postopka na daljavo s strani samo ene od strank);
  • sinhronizacija (vzmetenje povzročapostopki od trenutka, ko se zahteva in podaljšanje sprožita po pošiljanju odgovora).
  • Kar zadeva izvedbe, oddaljeni postopki (oddaljeni postopki) danes uporabljajo več osnovnih tehnologij, med katerimi so najbolj razširjene naslednje:
  • DCE /RPC - binarni protokol, ki temelji na TCP /IP, SMB /SIFC itd. .;
  • DCOM - objektno orientirana aplikacija, ki omogoča prenos referenc na objekte in kliče njihove metode obdelave;
  • JSON-RPC - Protokol za besedilo HTTP;
  • .NET Remoting - binarni protokol, ki temelji na UDP, HTTP in TCP;
  • RMI JAVA;
  • SOAP;
  • XML-RPC;
  • SUN RPC;
  • ZeroC ICE;
  • Routix.RPC et al.
  • Težave in naloge

    Zdaj nekaj besed o pomanjkljivostih. Najpomembnejši problem, in s tem tudi problem izvedbe, je, da se mora enaka operacija oddaljenega klica postopka skozi vozlišče storitve "Remote Procedure Call" hkrati izvajati na različnih strojih, pogosto z različnimi operacijskimi sistemi, naslovnimi prostori in arhitekturo. Pri tem je treba te parametre kopirati iz enega terminala v drugega. V ta namen dovoljujejo pretvorbo različnih vrst podatkov v bajtno zaporedje ne le transportni protokol, temveč tudi serijsko. Druga točka je, da oddaljeni postopki (kliče oddaljene postopke) uporabljajo več kot en proces, tako na lokalni ravni, kot tudi na dveh (na odjemalskem računalniku in na strežniku). Zato lahko trčenje na enem od terminalov povzroči enako reakcijo na drugi.
    Končno, eden odGlavna težava se imenuje združljivost zaradi heterogenosti nekaterih programskih jezikov, čeprav so bili celo vzpostavljeni skupni standardi.

    Vrste glavnih podsistemov

    Oddaljeni postopki Za sistem Windows 10 ali kateri koli drug sistem z nižjo uvrstitvijo zahteva uporabo posebnih podsistemov:
  • prometni podsistem, ki je namenjen nadzoru odhodnih in dohodnih povezav z zagotovljeno dostavo podatkovnih paketov;
  • bazni protokoli - koncept izvedbe postopka na imenovanem terminalu;
  • serijska (marshaling) - pretvorba podatkovnih tokov v standardne bajtne kode, neodvisne od arhitekture;
  • šifriranje poslanih in prejetih paketov z uvedbo digitalnega podpisa na njih;
  • Sistem avtentikacije in avtorizacije.
  • Katere vrste programov zahtevajo izvajanje RPC?

    Če govorimo o tem, kateri moduli programske opreme operacijskega sistema zahtevajo, da je storitev RPC omogočena, preprosto ni mogoče našteti vseh.
    Med dobro znanimi komponentami sistemov Windows pa so na voljo storitve faksiranja, kriptografske storitve, poročanje o napakah, pomoč in podpora, HID naprave, storitve sporočil, disk in logično upravljanje, upravljanje z variabilnim pogonom, avdio sistem, monter. Windows in še vedno veste kaj.

    Zdi se, da je ta seznam dovolj za razumevanje, koliko elementov sistema in samega uporabnika je odvisno od te storitve.

    Kaj vpliva na RPC

    Na splošno lahko na podlagi prejšnjega opisa ocenimovpliv RPC. Torej, na primer, obstaja veliko primerov, ko odklop te storitve popolnoma odpravi zvok, je bilo nemogoče obnoviti sistem po kritični odpovedi ali ga je sprožil uporabnik, "preletel" konfiguracijo brezžičnega omrežja. Toda najbolj žalostno je, da če izklopite oddaljeni klic RPC postopkov, je včasih nemogoče celo dostopiti do osnovnih sistemskih nastavitev, vsak uporabnik vsaj trikrat na administratorskem terminalu.

    To storitev lahko onemogočite

    Mnoge od njih so poskusile (in poskušajo) deaktivirati storitev Oddaljenih klicev. To je strogo prepovedano. Na splošno ta sistem pri takšnem poskusu tega ne bo storil z izdajo obvestila.
    Toda vsi ne vedo, da ima oddelek za storitve (services.msc) nekaj podobnega "Remote Calling Locator (RPC)." Tukaj je nekaj, kar je mogoče zapreti brez bolečin za sistem: priponke, ki jih lahko uporabljajo

    Reševanje napak in napak

    Nazadnje si poglejmo, kaj je mogoče storiti, če pride do napake med oddaljenim klicnim postopkom.V najpreprostejšem primeru lahko poskusite ponovno vključiti storitev (razen če se bo seveda izteklo). )
    V ta namen v ustreznem razdelku, kjer se kliče želena storitev, dvakrat kliknete na meni za urejanje nastavitev, pritisnete gumb za vklop in tip vključitve je nastavljen na samodejno. Če izvedete tak postopekS standardnim zagonom sistema ni mogoče, lahko poskusite narediti podobne akcije v varnem načinu. Nekateri strokovnjaki istočasno svetujejo dejanja, ki onemogočajo protivirusno programsko opremo.
    ​​Če to ne deluje, vendar je nameščen ali obnovljen sistem na voljo, lahko zaženete ukazno konzolo s skrbniškimi pravicami (ne potrebujete zagona z diska) in vnesite naslednje ukaze:
  • cd z: i386 (Z je črka optični pogon);
  • razširite explorer.ex_% TEMP% explorer.exe;
  • razširite svchost.ex_% TEMP% svchost.exe.
  • Potem zaženemo upravitelja opravil (Ctrl + Del + Alt ali taskmgr v meniju Zaženi) in dokončamo proces Explorer.exe. Nato v ukazno konzolo napišite naslednje: copy% TEMP% explorer.exe% SYSTEMROOT% /y. V "Dispatcher" zaustavimo vse procese svhost.exe, potem pa v 60 sekundah morate imeti ukazno vrstico, vnesite vrstico copy% TEMP% svchost.exe% systemroot% system32 /y. Nazadnje, če je bil obnovljen sistemski urejevalnik registra (regedit), morate iti skozi vejo HKCC prek razdelkov SYSTEM CurrentControlSet in priti do parametra CSConfigFlags tako, da spremenite njegovo vrednost na nič. To je daleč od vseh metod za popravljanje napak, povezanih z RPC. Dejstvo je, da če je ta storitev povzročila kršitev pri delu drugih služb, boste morda morali najprej odpraviti težave z njihovo zmožnostjo za delo, nato pa samo ukrepati v RPC. In ni vedno mogoče dobiti popolnega dostopa do zgoraj opisanih nastavitev in nastavitev. Če se nič ne bo izteklo, kot se sliši žalostno, bo moral popolnoma ponovno namestiti operacijski sistem,čeprav bi rad upal, da to ne bo tako.

    Zaključek

    Tukaj je kratek povzetek vsega, kar je povezano s tehnologijo in storitvami RPC. Dejstvo je, da je vse to precej bolj zapleteno, kot je bilo predstavljeno v tem opisu, in za popolno razumevanje problema morate imeti vsaj osnovno znanje. Da pa bi imeli splošno idejo o RPC, je še vedno dovolj. Kar se tiče odklopa, ne razmišljajte o podobnih stvareh, sicer bo celoten sistem zavrnil. Ti popravki zaradi zrušitev ponavadi pomagajo, vendar še vedno ni mogoče dati celotne garancije, ker bi lahko deaktivacija storitve povzročila tudi zrušitve v drugih komponentah.

    Sorodne publikacije