Movatterモバイル変換


[0]ホーム

URL:


לדלג לתוכן
ויקיפדיההאנציקלופדיה החופשית
חיפוש

Remote Procedure Call

מתוך ויקיפדיה, האנציקלופדיה החופשית
(הופנה מהדףRemote procedure call)
מבט כולל על RPC

הפעלת פרוצדורות מרוחקותאנגלית:Remote Procedure Call אוRPC) היא טכנולוגיה לתקשורת ביןיישומים המאפשרת לתוכנית מחשב להפעילפרוצדורה במרחב כתובות אחר (בדרך כלל במחשב אחר) באופן שקוף, כלומר ללא צורך ביישום פרטני של פרוטוקול התקשורת. באמצעותRPCמפתח התוכנה יכול לכתוב את אותו הקוד בין אם הוא רץ מקומית על המחשב המריץ אותו או על מחשב מרוחק ברשת.

באמצעות RPC ניתן לממש תקשורתשרת לקוח, כך שהלקוח מפעיל על השרת את הפונקציה הרצויה תוך העברת הפרמטרים הנדרשים וממתין ממנו לקבלת התשובה, שבמרבית הפעמים עד לקבלתה הלקוח לא יכול להמשיך בפעולתו.

הבדל משמעותי בין הרצת הפונקציה מקומית לבין הרצתה באופן מרוחק הוא היכולת להבין את תוצאת פעולתה במידה של תקלה ברשת. אם הפונקציה נכשלה בהרצתה מרחוק, המחשב המקומי לא יכול לדעת האם היא בוצעה או לא. אם הפונקציהאידמפוטנטית (כלומר שהרצתה יותר מפעם אחת לא משנה דבר במערכת) אזי הבעיה פתורה שכן ניתן להריצה שוב ושוב עד להצלחה ודאית. אולם אם הפונקציה אינה כזו, יש להתייחס למשמעות הכישלון בהרצתה ולהגיב בהתאם, במיוחד אם מדובר במערכות עדינות.

היסטוריה ומקורות

[עריכת קוד מקור |עריכה]
פרק זה לוקה בחסר. אנאתרמו לוויקיפדיה והשלימו אותו. התייחסות ל-.NET ולמימושים מאוחרים יותר.

הרעיון שעומד בבסיס RPC הוזכר כבר בשנת1976 ב-RFC מס' 707.[1]

בשנת1981 חברתזירוקס פארק הייתה הראשונה שמימשה את הרעיון תחת השם "Courier". המימוש הנפוץ הראשון של הרעיון במסגרתמערכת ההפעלהUnix היה בשנת1984 על ידי חברתסאן מיקרוסיסטמס תחת השם "ONC RPC", ושימש כתשתית ל-Network File System, ה-NFS, פרוטוקול המאפשר שיתוףקבצים ברשת. הפרוטוקול נמצא עד היום בשימוש נרחב במערכות הפעלה מבוססות Unix.

מימוש נוסף ל-RPC על גבי Unix היה שלאפולו מחשבים, שמימשה באמצעותו את ה-"Network Computing System", ששימש בהמשך כיסוד למערכת RPC נוספת של ה-OSF שנקראהDCE/RPC. כעשור לאחר מכן, במהלךשנות ה-90, חברתמיקרוסופט הרחיבה את DCE/RPC ויצרה מימוש עצמאי נוסף למנגנון RPC, שנקראMSRPC (קיצור של Microsoft RPC). מעל ה-MSRPC מומשDCOM שבמשך שנים היה ה-API שמערכת ההפעלהחלונות סיפקה לתקשורת בין תהליכים.

באותה התקופה הציגו גם חברתזירוקס פארק אתILU, ו-Object Management Group אתCORBA – מימושים נוספים ל-RPC המאפשריםירושה.

שימושים נוספים וסטנדרטיזציה

[עריכת קוד מקור |עריכה]

הפרוטוקליםDCOM שלחלונות, פרוטוקולRMI שלJAVA,gRPC שלגוגל ופרוטוקולSOAP באינטרנט-WWW הם דוגמאות לשימושים כאלו. כדי לאפשר לשרת אחד לשרת לקוחות המשתמשים בפרוטוקולים שונים, הוצעו מספר מערכות סטנדרטיות היודעות לבצע זאת, רובן משתמש בקובץIDL (קיצור של interface description language) כדי לאפשר למערכות השונות לפנות ל-RPC בפורמט הנכון. קובץ ה-IDL משולב בקוד של הלקוח והשרת באמצעות כלים מיוחדים המבצעים זאת, הנפוץ מביניהם הוא RPCGEN.

אבטחת מידע

[עריכת קוד מקור |עריכה]

פרוטוקול ה RPC מהווה אתגר לאבטחת מידע מכיוון שיש צורך לבצע פעולות בין מערכות המוגנות על ידי מערכת סינון כגוןFirewall. האתגר נובע מכך ש RPC מבצע Session ראשוני בפורט 135 אך המשך העבודה מתבצע בפורט גבוה (1024-65535) הנקבע דינמית בין השרת ללקוח ולכן נדרשת פתיחה של כל טווח הפורטים הקבועים דבר שכמובן הופך את סינון הפרוטוקלים ללא אפקטיבי.

ראו גם

[עריכת קוד מקור |עריכה]

הערות שוליים

[עריכת קוד מקור |עריכה]
סיווגפרוטוקולים על פימודל ה־OSI
שכבת היישוםHTTPSMTPFTPRTPIRCSNMPSIPDNSDHCP
שכבת הייצוגMIMEASCIIUnicodeTLS
שכבת השיחהASPPPTPSSHNFSRPCSOCKS
שכבת התעבורהTCPUDPSCTPDCCP
שכבת הרשתIP (IPv4IPv6) •ICMPIPXניתוב
שכבת הקואתרנטToken ringFDDI
השכבה הפיזיתE110Base-TRS-232DSLSONET
פרוטוקולים במודל TCP/IP
שכבת יישוםHTTPSMTPFTPDNSDHCPSSHRTPRTSPIRCSNMPSIPIMAP4MIMETelnetRPCSOAPLDAP
שכבת תעבורהTCPUDPSCTPDCCP
שכבת רשתIPIPv4IPv6ICMPIPXIGMP
שכבת קשראתרנט10BASE-T802.11 WiFiToken ringFDDIARP
אוחזר מתוך "https://he.wikipedia.org/w/index.php?title=Remote_Procedure_Call&oldid=36602740"
קטגוריה:
קטגוריות מוסתרות:

[8]ページ先頭

©2009-2026 Movatter.jp