Vậy RPC là gì?

khi chúng ta viết chương trình, ắt hẳn các bạn cũng đã quen thuộc với các có mang thủ tụchàm. Các đoạn lịch trình lặp đi lặp lại các bạn viết lại thành một hàm (hay thủ tục) và tiếp nối khi sử dụng chỉ cần gọi giấy tờ thủ tục hoặc hàm đó với các tham số phù hợp. Các giấy tờ thủ tục hoặc hàm kia chúng ta bao gồm thể:


Được biên dịch sẵn và để trong một tlỗi viện hoặc unit để những lịch trình không giống của khách hàng (thuộc được viết bằng một ngôn ngữ) thực hiện,
Được biên dịch sẵn nhằm trong tệp tin DLL để các chương trình (được viết bởi các ngôn từ không giống nhau) thực hiện.

Bạn đang xem: Rpc là gì


Điểm tầm thường của toàn bộ những phương thức trên là các hàm cùng giấy tờ thủ tục đề nghị call phần đa vị trí cùng một máy cùng với vị trí Điện thoại tư vấn bọn chúng. Tuy nhiên chúng ta cũng có thể thấy là địa điểm Gọi với hàm đề nghị hotline có thể được bóc tách nhau ra: tự chung file, mang lại không giống file, rồi mang lại không giống ngôn từ.

Remote Procedure Call  (RPC) – Thủ tục Điện thoại tư vấn hàm từ xa là một nghệ thuật tiến bộ cho quy trình liên kết từ bỏ Client mang lại Server để áp dụng các ứng dụng cùng hình thức. RPC có thể chấp nhận được client có thể kết nối cho tới 1 hình thức dịch vụ áp dụng dynamic port ở tại một laptop khác. Trong khối hệ thống mạng máy tính xách tay hiện nay có khá nhiều các dịch vụ và ứng dụng thực hiện chính sách kết nối RPC, ví dụ quá trình đồng nhất của các Domain Controller vào hệ thống  Active sầu Directory, hoặc khi MS Outlook kết nối tới MS Exchange Server… Nhằm mục đích tìm hiểu về qui định hoạt động của RPC, trong bài viết này, chúng tôi sẽ trình là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ó phong cách thiết kế để cung cấp mang lại việc truyền download biết tin thân client với hệ thống dễ dàngrộng,  bảo mật hơn, và thuận lợi rộng đến câu hỏi đồng hóa hóa những luồn dữ liệu. Các hàm đựng vào RPC cung cấp cho Việc truy vấn ngẫu nhiên lịch trình làm sao đòi hỏi phương thức giao tiếp tự client mang đến server. Hình dưới sẽ đến họ thấy phong cách xây dựng của RPC

*

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

II. Các yếu tắc của RPC

Thành phần

Miêu tả

Client or hệ thống process

Chương trình hoặc hình thức dịch vụ vấn đáp tự thưởng thức của RPC

RPC stubs

Những hệ thống lịch trình con được sử dụng bởi vì client hoặc VPS khởi động kinh nghiệm RPC.

Marshalling engine

(NDRđôi mươi hoặc NDR64)

Cung cấp một hình ảnh chung thân RPC Client cùng RPC Server với được chia làm 2 loại: NDR20 với NDR64. NDRđôi mươi được sử dụng cho hạ tầng 32 bits. Trong khi đó NDR64 được về tối ưu dùng đến hạ tầng 64 bits. Client với Server sẽ đàm phán nên chọn NDRđôi mươi xuất xắc NRD64 để tiếp xúc cùng với nhau

Runtime application programming interface (API)

Cung cấp giao diện đến RPC cho tới Clients hoặc Servers. Thông thường, RPC Clients cùng Servers vẫn gọi hàm API (bối cảnh xây dựng ứng dụng) để tạo RPC với sẵn sàng cấu tạo dữ liệu sẽ được thực hiện nhằm tiến hành cuộc điện thoại tư vấn RPC. Lớp API vẫn ra quyết định trường hợp yêu cầu RPC đến từ marshalling engine hoặc trực tiếp trường đoản cú client/hệ thống mang lại sever nội cỗ hoặc sever tự xa. Sau đó lớp API sẽ dẫn đường cho RPC đến Connection RPC, Datagram RPC hoặc Local RPC Layers

Connection RPC protocol engine

Được sử dụng khi RPC thử khám phá giao thức liên kết. Lớp này đang chỉ định và hướng dẫn áp dụng giao thức kết nối giả dụ RPC được gửi đi hoặc nhận ra một kết nối nhắm tới RPC

Datagram RPC protocol engine

Được thực hiện Khi RPC thưởng thức giao thức phi kết nối. Lớp này đã chỉ định thực hiện giao thức phi kết nối 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ới Client đặt trong cùng một host.

Registry

Được truy vấn lúc hình thức dịch vụ RPC thứ nhất được sở hữu về. Các thành phía bên trong registry sẽ hướng dẫn và chỉ định hàng port IP với tên trang bị của những card mạng để RPC có thể  phối hợp bọn chúng lại cùng nhau. Trừ lúc API nghiền buộc RPC yêu cầu cần sử dụng, Registry sẽ không được áp dụng trong hoạt động vui chơi của RPC

Win32 APIs

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

Kernel32.dll là  một file thư viện cồn 32 bits bao gồm trong Windows NT. File này Chịu trách nhiệm quản lí ly‎ bộ nhớ, các chuyển động vào ra của hệ thống

Advapi32.dll là file nâng cao của Windows 32 dựa vào đồ họa xây dựng ứng dụng. File này cung cấp về bảo mật thông tin và Điện thoại tư vấn các registry

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

SSPI

(secur32.dll)

Cung cấp đồ họa bảo mật thông tin mang đến RPC. File secur32.dll đã Bàn bạc biện pháp cần sử dụng cho Việc xác thực và mã hóa như: Kerberos, NTLM, hoặc Secure Sockets Layer (SSL)

Endpoint Mapper (EPM)

(rpcss.dll)

Rpcss.dll (Remote procedure Điện thoại tư vấn subsystem) đa số hỗ trợ cơ sở hạ tầng cho những hình thức COM, cơ mà một trong những phần của Rpcss.dll được sử dụng mang đến EPM. RPC Server liên hệ với EPM để nhận những điểm dứt hễ với đăng ký hầu như điểm đó vào đại lý dữ liệu của EPM. Rồi sau đó Lúc RPC Clients ao ước liên kết cho tới RPC Server, nó vẫn liên lạc cùng với EPM để dựa vào EPM phân giải các điểm ngừng..

Active Directory

Chỉ được áp dụng cho quá trình cách xử lý RPC client Lúc giao diện bảo mật rõ ràng như Kerberos hoặc Negotiate nlỗi bên hỗ trợ bảo mật hoặc Lúc Server dùng NTLM nhỏng đơn vị cung cấp bảo mật

Used in the RPC client process only when the security interface specifies Kerberos or Negotiate as the security provider or when the server uses NTLM as the security provider.

Xem thêm: Auto Lighting Optimizer Là Gì

Network stack

Được áp dụng thông qua những yêu cầu  với trả lời của RPC thân Client và Server

Kernel

Được thực hiện thông qua những yêu cầu  cùng vấn đáp của RPC giữa Client với Server

III. Quá trình xử lý và can dự của RPC

Các yếu tắc của RPC để giúp đỡ đến Clients xử lý dễ ợt bằng cách call hàm nằm ở một lịch trình tự xa. Client với Server bao gồm một can hệ không khí riêng; điều này tức là từng nguồn tài nguyên ổn bộ lưu trữ của Client với Server cấp phát cho tài liệu sẽ tiến hành cần sử dụng bởi hàm.

*

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

Quá trình cách xử trí của RPC ban đầu từ phía Client. Ứng dụng từ bỏ phía Client đang hotline Client stub vậy vị client phải viết code triển khai mang đến hàm kia. Các stub sẽ được biên soạn với liên kết với những áp dụng tự phía client trong quá trình phát triển. Ttốt vì cất mã code để tiến hành thủ tục hotline hàm từ xa, các code của stub đang thử khám phá truy vấn đều tsay mê số trường đoản cú can dự không gian của Client và kế tiếp gửi nó vào thỏng 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 đa số tsi mê số cần thiết vào định hình chuẩn NDR (Network Data Representation) để chuyển giao cho Server.

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

Bảng dưới đây đang liệt kê những giao thức mạng hỗ trợ RPC và các nhiều loại RPC liên kết cùng với giao thức tương xứ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 được kinh nghiệm của RPC(tự phía client trong nội bộ hoặc client từ bỏ xa), các hàm vào thỏng viện chạy thực RPC của Server đồng ý những yên cầu và Gọi hàm xử lý‎ Server Stub. Server stub sẽ tầm nã vấn những tmê say số từ network buffer và chọn một vào 2 nhiều loại NDRđôi mươi hoặc NDR64 (trong NDR Marshalling Engines), tiếp đến chuyển đổi chúng tự định dạng truyền download mạng thanh lịch định dạng theo thử dùng vị mi nhà. Sau đó các giấy tờ thủ tục tự xa sẽ được chạy, có tác dụng xuất ra các tmê mẩn số và trả về giá trị. khi những thủ tục từ xa hoàn tất, một chuỗi các bước tựa như sẽ trả về tài liệu đến Client

Các giấy tờ thủ tục từ xa trả dữ liệu của chính nó về mang đến Server Stub, chọn 1 trong 2 một số loại NDR20 hoặc NDR64 (vào NDR Marshalling Engines), biến hóa phần đa tmê mệt số được xuất ra thành định hình truyền mua mạng mang lại client với trả chúng nó vào thỏng Việc chạy thực RPC của Server. Sau đó thỏng viện chạy thực RPC của Server sẽ truyền sở hữu tài liệu cho laptop của Client bởi LRPC hoặc qua network.

Xem thêm: Customer Behavior Là Gì - Định Nghĩa, Ví Dụ, Giải Thích

Client hoàn tất các thủ tục bằng cách gật đầu đồng ý dữ liệu qua mạng với trả tài liệu về để điện thoại tư vấn hàm. Thỏng viện chạy thực RPC của Client nhận được giấy tờ thủ tục từ xa trả về quý giá, biến đổi cực hiếm từ bỏ NDR đôi mươi hoặc NDR64 về định hình được sử dụng do Client, cùng trả bọn chúng về client stub.

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

2. Thư viện chạy thực RPC( RPC Runtime Library): được xúc tiến như thể DLL IV. Các Ports sử dụng cho RPC

Các lịch trình RPC Server thông thường được sử dụng đa số port cồn (đế tách gây xung thốt nhiên với những công tác với các giao thức đã có được đăng ký vào hàng Well-known TCPhường Ports). Bảng sau đây đang liệt kệ những port cần sử dụng mang đến RPC


Chuyên mục: CÔNG NGHỆ
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 *