Vậy RPC là gì?

khi chúng ta viết công tác, ắt hẳn bạn đã và đang quen thuộc cùng với các quan niệm thủ tục cùng hàm. Các đoạn công tác lặp đi tái diễn các bạn viết lại thành một hàm (hay thủ tục) với kế tiếp khi dùng chỉ cần gọi giấy tờ thủ tục hoặc hàm kia cùng với các tđam mê số thích hợp. Các giấy tờ thủ tục hoặc hàm đó chúng ta bao gồm thể:

Được biên dịch sẵn cùng nhằm trong một tlỗi viện hoặc unit để các lịch trình không giống của chúng ta (thuộc được viết bằng một ngôn ngữ) sử dụng,Được biên dịch sẵn nhằm vào file DLL nhằm những công tác (được viết bởi các ngôn ngữ khác nhau) sử dụng.quý khách hàng đã xem: Remote procedure Gọi là gì

Điểm bình thường của toàn bộ những cách tiến hành trên là các hàm cùng thủ tục nên Hotline phần đa vị trí cùng một lắp thêm với nơi Call bọn chúng. Tuy nhiên bạn có thể thấy là chỗ Điện thoại tư vấn cùng hàm yêu cầu Điện thoại tư vấn có thể được bóc tách rời nhau ra: tự bình thường file, đến không giống file, rồi đến khác ngữ điệu.

Bạn đang xem: Remote procedure call là gì

Remote Procedure điện thoại tư vấn (RPC) – Thủ tục Hotline hàm trường đoản cú xa là 1 kỹ thuật hiện đại mang đến quy trình kết nối từ bỏ Client cho Server nhằm áp dụng những áp dụng cùng hình thức. RPC có thể chấp nhận được client hoàn toàn có thể liên kết cho tới 1 hình thức thực hiện dynamic port ở ở một máy tính không giống. Trong khối hệ thống mạng máy tính bây giờ có khá nhiều hình thức dịch vụ và ứng dụng sử dụng lý lẽ kết nối RPC, ví dụ quy trình nhất quán của các Domain Controller vào hệ thống Active Directory, hoặc Khi MS Outlook kết nối cho tới MS Exchange Server… Nhằm mục tiêu tò mò về nguyên tắc hoạt động của RPC, vào bài viết này, Shop chúng tôi vẫn giới thiệu cùng với các bạn “Cơ chế hoạt động của Remote Procedure gọi (RPC)”

I. Kiến trúc của RPC:

RPC được thiết kế với nhằm hỗ trợ cho việc truyền tải đọc tin thân client với VPS dễ dànghơn, bảo mật thông tin rộng, và thuận lợi rộng cho bài toán nhất quán hóa những luồn dữ liệu. Các hàm chứa trong RPC hỗ trợ mang lại việc truy cập bất kỳ công tác như thế nào yên cầu cách thức giao tiếp từ client đến server. Hình dưới vẫn mang đến chúng ta thấy bản vẽ xây dựng của RPC


*

Hình 1: Kiến trúc Remote Procedure Call

II. Các nguyên tố của RPC

Thành phần

Miêu tả

Client or server process

Cmùi hương trình hoặc hình thức vấn đáp từ bỏ từng trải của RPC

RPC stubs

Những khối hệ thống chương trình con được dùng vày client hoặc server khởi cồn thử khám phá RPC.

Marshalling engine

(NDRtrăng tròn hoặc NDR64)

Cung cấp một bối cảnh phổ biến giữa RPC Client cùng RPC Server và được chia làm 2 loại: NDRtrăng tròn cùng NDR64. NDRđôi mươi được dùng cho hạ tầng 32 bits. Trong khi ấy NDR64 được về tối ưu cần sử dụng mang lại hạ tầng 64 bits. Client với Server sẽ thương lượng nên chọn NDRđôi mươi tốt NRD64 nhằm giao tiếp với nhau

Runtime application programming interface (API)

Cung cung cấp đồ họa mang lại RPC tới Clients hoặc Servers. thường thì, RPC Clients với Servers vẫn Hotline hàm API (giao diện xây dựng ứng dụng) để có thể tạo RPC cùng chuẩn bị kết cấu dữ liệu sẽ tiến hành sử dụng để tiến hành cuộc Điện thoại tư vấn RPC. Lớp API đang quyết định nếu trải nghiệm RPC tới từ marshalling engine hoặc trực tiếp tự client/hệ thống cho máy chủ nội bộ hoặc sever từ bỏ xa. Sau kia lớp API sẽ đi đường đến RPC đến Connection RPC, Datagram RPC hoặc Local RPC Layers

Connection RPC protocol engine

Được thực hiện Lúc RPC yên cầu giao thức liên kết. Lớp này đã chỉ định và hướng dẫn sử dụng giao thức liên kết giả dụ RPC được gửi đi hoặc nhận được một liên kết nhắm tới RPC

Datagram RPC protocol engine

Được áp dụng khi RPC thử dùng giao thức phi liên kết. Lớp này đang chỉ định sử dụng giao thức phi liên kết trường hợp RPC được gửi đi hoặc nhận ra một phi kết nối cho tới RPC

Local RPC protocol engine

Được thực hiện khi Server và Client đặt vào và một host.

Registry

Được truy vấn Khi hình thức RPC thứ nhất được download về. Các thành bên trong registry đang hướng dẫn và chỉ định dãy port IP và tên thiết bị của các card mạng nhằm RPC rất có thể phối hợp bọn chúng lại với nhau. Trừ lúc API nghiền buộc RPC đề nghị dùng, Registry sẽ không còn được thực hiện trong hoạt động vui chơi của RPC

Win32 APIs

(kernel32.dll, advapi32.dll, ntdll.dll)

Kernel32.dll là một tệp tin tlỗi viện đụng 32 bits bao gồm trong Windows NT. File này Chịu đựng trách nát nhiệm quản ngại ly‎ bộ lưu trữ, những vận động vào ra của hệ thống

Advapi32.dll là tệp tin nâng cấp của Windows 32 dựa vào hình ảnh xây dựng áp dụng. File này cung cấp về bảo mật thông tin với call các registry

Ntdll.dll là tệp tin dll cai quản lý‎ chức năng những file khối hệ thống của Windows NT

SSPI

(secur32.dll)

Cung cấp hình ảnh bảo mật thông tin mang đến RPC. File secur32.dll sẽ trao đổi cách dùng mang đến việc xác thực cùng mã hóa như: Kerberos, NTLM, hoặc Secure Sockets Layer (SSL)

Endpoint Mapper (EPM)

(rpcss.dll)

Rpcss.dll (Remote procedure Call subsystem) đa phần cung ứng cơ sở hạ tầng cho các dịch vụ COM, nhưng một trong những phần của Rpcss.dll được sử dụng mang lại EPM. RPC Server liên lạc với EPM nhằm nhận thêm những điểm xong cồn cùng ĐK phần đa đặc điểm đó vào cửa hàng dữ liệu của EPM. Rồi sau đó Khi RPC Clients ước ao liên kết cho tới RPC Server, nó đang liên hệ với EPM để dựa vào EPM phân giải mọi điểm xong xuôi..

Xem thêm: Inconsistent Là Gì - Đồng Nghĩa Của Inconsistent

Active Directory

Chỉ được thực hiện đến quá trình giải pháp xử lý RPC client Lúc đồ họa bảo mật rõ ràng nhỏng Kerberos hoặc Negotiate như đơn vị hỗ trợ bảo mật hoặc lúc Server sử dụng NTLM nlỗi công ty cung cấp bảo mật

Network stack

Được sử dụng thông qua những trải đời với vấn đáp của RPC thân Client cùng Server

Kernel

Được áp dụng thông qua các đề nghị và trả lời của RPC giữa Client cùng Server

III. Quá trình xử lý cùng can hệ của RPC

Các yếu tố của RPC sẽ giúp đỡ đến Clients giải pháp xử lý tiện lợi bằng phương pháp gọi hàm nằm tại một chương trình từ bỏ xa. Client với Server gồm một địa chỉ không gian riêng; điều này tức là từng mối cung cấp tài nguim bộ nhớ của Client và Server cấp phép cho dữ liệu sẽ được sử dụng bởi hàm.


*

Hình 2: Quá trình cách xử lý của RPC

Quá trình xử lý của RPC bắt đầu từ phía Client. Ứng dụng từ phía Client sẽ Điện thoại tư vấn Client stub nỗ lực bởi client yêu cầu viết code thực hiện đến hàm đó. Các stub sẽ được soạn với liên kết với những áp dụng trường đoản cú phía client trong quá trình cách tân và phát triển. Tgiỏi vày cất mã code để tiến hành giấy tờ thủ tục call hàm tự xa, các code của stub sẽ tận hưởng truy hỏi vấn các tyêu thích số trường đoản cú cửa hàng không gian của Client cùng kế tiếp gửi nó vào tlỗi viện chạy thực của client. Sau kia, thỏng viện chạy thực của client sẽ biên dịch đều tyêu thích số cần thiết vào định hình chuẩn chỉnh NDR (Network Data Representation) để chuyển nhượng bàn giao mang đến Server.

Tiếp theo stub của Client đã gọi hàm vào tlỗi viện chạy thực của Client (rpcrt4.dll) nhằm gửi những yên cầu cùng thông số của nó mang đến hệ thống. Nếu server được đặt trong cùng 1 host cùng với client, thỏng viện chạy thực hoàn toàn có thể sử dụng các chức năng của Local RPC (LRPC) cùng trải qua những hưởng thụ của RPC tới Windows kernel đến bài toán truyền mua mang lại VPS. Nếu server được đặt ở một host không giống, tlỗi viện chạy thực vẫn xác minh một giao thức truyền cài tương thích với trải qua các thử khám phá của RPC mang lại Network Stack đến Việc truyền cài đặt cho hệ thống. RPC rất có thể sử dụng những cách thức trao biến hóa (Interprocess Communications – IPC) như: Name pipes với Winsoông xã để thực hiện truyền thiết lập mang đến hệ thống.

Xem thêm: Urban - Phân Biệt Sub, Và Rural

Bảng dưới đây đang liệt kê những giao thức mạng hỗ trợ RPC và những nhiều loại RPC kết nối cùng với giao thức tương ứng được sử dụng

Protocol

RPC Type

Transmission Control Protocol (TCP)

Connection–oriented

Sequenced Packet Exchange (SPX)

Connection–oriented

Named Pipe

Connection–oriented

HTTP

Connection–oriented

User Datagram Protocol (UDP)

Connectionless

Cluster Datagram Protocol (CDP)

Connectionless

khi Server nhận ra kinh nghiệm của RPC(tự phía client trong nội bộ hoặc client từ bỏ xa), những hàm trong thư viện chạy thực RPC của Server chấp nhận các đề nghị và Hotline hàm xử lý‎ Server Stub. Server stub vẫn tầm nã vấn những tmê mệt số tự network buffer và lựa chọn 1 trong 2 loại NDRtrăng tròn hoặc NDR64 (vào NDR Marshalling Engines), tiếp nối biến hóa chúng tự định dạng truyền tải mạng quý phái format theo hưởng thụ vày mi nhà. Sau đó các giấy tờ thủ tục từ xa sẽ được chạy, có khả năng xuất ra những tsay mê số với trả về giá trị. khi các giấy tờ thủ tục từ bỏ xa hoàn chỉnh, một chuỗi các bước tương tự sẽ trả về tài liệu mang lại Client

Client hoàn chỉnh những thủ tục bằng phương pháp đồng ý tài liệu qua mạng và trả tài liệu về để call hàm. Thư viện chạy thực RPC của Client nhận được thủ tục từ bỏ xa trả về cực hiếm, biến hóa cực hiếm tự NDR 20 hoặc NDR64 về định dạng được dùng do Client, cùng trả chúng về client stub.

Đối cùng với Microsoft Windows, tlỗi viện chạy thực được chia làm 2 phần: 1. Import Library: link cùng với các ứng dụng

2. Thỏng viện chạy thực RPC( RPC Runtime Library): được thực thi như là DLL IV. Các Ports sử dụng mang đến RPC

Các lịch trình RPC Server thông hay sử dụng hầu như port động (đế rời gây xung đột cùng với những chương trình cùng những giao thức đã có ĐK trong hàng Well-known TCPhường Ports). Bảng dưới đây đã liệt kệ những port dùng mang lại RPC


Chuyên mục: KIẾN THỨC
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *