Address Resolution Protocol

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
סיווג פרוטוקולים על פי מודל ה-OSI
שכבת יישום HTTP, SMTP, FTP, RTP, IRC, SNMP, SIP, DNS, DHCP
שכבת ייצוג MIME, ASCII, Unicode, SSL
שכבת שיחה ASP, PPTP, SSH, NFS, RPC, SOCKS
שכבת תעבורה TCP, UDP, SCTP, DCCP
שכבת רשת IP (IPv4, IPv6), ICMP, IPX , ניתוב
שכבת קו Ethernet, Token ring, FDDI
שכבה פיזית E1, 10Base-T, RS-232, DSL, SONET
פרוטוקולים במודל TCP/IP
שכבת יישום
HTTP, SMTP, FTP, DNS, DHCP, SSH, RTP, RTSP, IRC, SNMP, SIP, IMAP4, MIME, TELNET, RPC, SOAP, LDAP ...
שכבת תעבורה
TCP, UDP, SCTP, DCCP ...
שכבת רשת
IP, IPv4, IPv6, ICMP, IPX, IGMP ...
שכבת קשר
Ethernet, 10BASE-T, 802.11 WiFi, Token ring, FDDI, ARP...

Address Resolution Protocolראשי תיבות: ARP; בתרגום חופשי: פרוטוקול תרגום כתובות) הוא פרוטוקול תקשורת המשמש ברשת מחשבים לאיתור כתובת ה־MAC של תחנה ברשת על פי כתובת ה־IP שלה. ה-ARP שייך לשכבת הקשר. הפרוטוקול מופעל בעת שליבת מערכת הפעלה נקראת לייצר מסגרת (frame) להעברה בין חוליות ברשת המחוברים דרך קו פיזי ואין בזיכרון המטמון שלה (ARP cache) רשומה לכתובת הIP המבוקשת, במצב כזה פעילות הפרוטוקול נקראת ומבוצעת על ידי התקני כרטיס הרשת שבמחשב.

אף על פי שהשימוש ב־ARP שמור כיום כמעט בבלעדיות לאחזור של כתובות MAC על פי כתובות IP הוא יכול לשמש גם לאחזור כתובת MAC על פי כתובות אחרות מהשכבה השנייה והשלישית של מודל ה־OSI.

אופן הפעולה[עריכת קוד מקור | עריכה]

איתור הכתובת מתבצעת על ידי שידור של broadcast frame (חבילת מידע בשכבת הקשר עם כתובת ה-MAC FF:FF:FF:FF:FF:FF בשדה היעד בכותרת) המכילה את כתובת ה־IP של התחנה המבוקשת אל כל התחנות באותו מתחם שידור. התחנה שתזהה את כתובת ה-IP שלה בתוכן המסגרת, תשלח בחזרה מסגרת עם כתובת ה-MAC שלה אל תחנת המקור ב-unicast. כמו כן, ברוב היישומים של הפרוטוקול התחנה תנהל טבלה בזיכרון מטמון (cache) שתאפשר לה לאתר במהירות כתובות אותן מצאה בעבר ללא צורך בהמתנה לתשובה מתחנת היעד.

באופן דומה ניתן להשתמש בפרוטוקול Reverse Address Resolution Protocol כדי לקבל את כתובת ה-IP של תחנה על פי כתובת ה-MAC שלה. כל תחנה ברשת המקומית תחזיק טבלה המתאימה בין כתובות MAC ו־IP של התחנות האחרות ברשת ותעדכן אותה בהתאם לחבילות שהיא מקבלת. ניתן להסתכל או לשנות טבלה זו על ידי שימוש בפקודת arp, ברוב מערכות ההפעלה.

מבנה חבילת ARP[עריכת קוד מקור | עריכה]

2 הבתים הראשונים: מספר המייצג את סוג כתובת החומרה (כדוגמת כתובת MAC).

2 הבתים הבאים: מספר המייצג את סוג כתובת שכבת הרשת (כדוגמת כתובת IPv4).

הבית הבא: אורך כתובת החומרה (בבתים).

הבית הבא: אורך כתובת שכבת הרשת (בבתים).

2 הבתים הבאים: מספר הפקודה (opcode) המייצג התפקיד של החבילה. לדוגמה: אם הערך יכיל את המספר 1 (ARP_REQUEST) נדע כי זו בקשה לתרגום כתובת שכבת רשת לכתובת חומרה.

לאחר מכן, יופיעו הכתובות בסדר הזה:

כתובת החומרה של השולח.

כתובת שכבת הרשת של השולח.

כתובת החומרה של היעד (במידה ולא ידוע יש למלא ערך זה באפסים).

כתובת שכבת הרשת של היעד (במידה ולא ידוע יש למלא ערך זה באפסים).

חשוב לציין כי לפני חבילת ה-ARP המצוינת פה תהיה גם תחילית של פרוטוקול שכבת הקשר המשומשת ברשת כדוגמת Ethernet.

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

במקרה ונרצה לשלוח בקשה לאיתור כתובת MAC של המחשבת שכתובת ה-IPv4 שלו היא 10.0.0.10, אנו נשלח חבילת ARP עם הערכים הבאים:

כתובת חומרה: כתובת MAC.

כתובת הרשת: IPv4.

אורך כתובת החומרה: 6.

אורך כתובת החומרה: 4.

מספר הפקודה: 1 (ARP_REQUEST).

כתובת החומרה של השולח: AB:CD:EF:AB:CD:EF (לצורך ההדגמה בלבד).

כתובת שכבת הרשת של השולח: 10.0.0.9 (לצורך ההדגמה בלבד).

כתובת שכבת החומרה של היעד: אנו לא יודעים, זה בדיוק מה שאנחנו מחפשים. לכן נמלא ערך זה באפסים: 00:00:00:00:00:00.

כתובת שכבת הרשת של היעד: 10.0.0.10.

כשהמחשב שכתובתו היא 10.0.0.10 יקבל את החבילה שלנו הוא יחזיר חבילת ARP המיועדת אלינו בלבד המכילה בין השאר בשדה כתובת החומרה של השולח את כתובת החומרה שלו.

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

Postscript-viewer-shaded.png ערך מורחב – ARP spoofing

עקב אופיו של פרוטוקול ה־ARP הוא חשוף לניצול לצורך "גניבת זהות". משתמש זדוני יכול להמתין לבקשת ARP, ובעת הגעתה לספק כתובת MAC פיקטיבית או את כתובת המשתמש כתשובה. באופן זה המידע לא יגיע ליעדו. פעולה כזו נקראת ARP spoofing.

קישורים חיצוניים[עריכת קוד מקור | עריכה]

  • RFC 826 - הגדרת התקינה של ARP