Address Resolution Protocol (ARP) הוא פרוטוקול תקשורת שמשתמשים בו ברשתות מחשבים כדי למצוא את כתובת ה‑MAC של מכשיר לפי כתובת ה‑IP שלו. כתובת MAC היא הכתובת הפיזית של כרטיס הרשת, וכתובת IP היא הכתובת הלוגית שמזהה מכשיר ברשת. ARP עובד בשכבת הקשר והוא מופעל כשהמערכת רוצה לשגר מסגרת ואין ברשימת המטמון (ARP cache) רשומה מתאימה.
כשהמחשב צריך את כתובת ה‑MAC של כתובת IP מסוימת, הוא שולח מסגרת broadcast לכל התחנות. כתובת היעד במסגרת זו היא FF:FF:FF:FF:FF:FF, כלומר לפונה לכולם. המסגרת כוללת את כתובת ה‑IP המבוקשת. המחשב שה‑IP שלו תואם יקבל את הבקשה וישלח חזרה מסגרת unicast רק לשולח, עם כתובת ה‑MAC שלו. מחשבים שומרים טבלה בזיכרון (ARP cache) עם התאמות MAC↔IP כדי לא לחכות כל פעם לתגובה.
ניתן להשתמש ב‑Reverse ARP כדי למצוא כתובת IP לפי כתובת MAC. ברוב מערכות ההפעלה אפשר לראות או לשנות את טבלת ה‑ARP בעזרת פקודת arp.
חבילת ARP כוללת שדות קצרים שמסבירים איזה סוג כתובת ומי השולח והיעד. בין השדות העיקריים: סוג כתובת החומרה (2 בתים), סוג כתובת הרשת (2 בתים), האורך של כתובות החומרה והרשת (בתים), וקוד פעולה (opcode, 2 בתים) שמציין אם זו בקשה או תשובה. לאחר השדות האלו מופיעות כתובות השולח והיעד בסדר: כתובת חומרה של השולח, כתובת רשת של השולח, כתובת חומרה של היעד, כתובת רשת של היעד. לפני חבילת ARP יש בדרך כלל תחילית של פרוטוקול שכבת הקשר כמו Ethernet.
לדוגמה, אם רוצים למצוא את כתובת ה‑MAC של המחשב שכתובת ה‑IPv4 שלו היא 10.0.0.10, ישלח המחשב בקשת ARP עם ערכים כמו: אורך כתובת חומרה 6 (בייטים), אורך כתובת רשת 4, opcode = 1 (ARP_REQUEST), כתובת חומרה של השולח לדוגמה AB:CD:EF:AB:CD:EF, וכתובת היעד של חומרה FF:FF:FF:FF:FF:FF כי לא ידועה. המחשב עם 10.0.0.10 יחזיר תשובת ARP שמכילה את כתובת ה‑MAC שלו.
פרוטוקול ARP חשוף לניצול בשם ARP spoofing. תוקף יכול לשלוח תשובות מזויפות עם כתובת MAC שקרית. כך המידע יכול להיות מנותב למכשיר של התוקף במקום ליעד האמיתי.
Address Resolution Protocol (ARP) עוזר למצוא כתובת MAC של מחשב לפי כתובת IP שלו. כתובת MAC היא כתובת פיזית של כרטיס הרשת. כתובת IP היא מספר שמזהה מחשב ברשת.
כשהמחשב לא יודע את כתובת ה‑MAC, הוא שולח הודעה לכולם ברשת. זו הודעת broadcast עם כתובת מיוחדת של FF:FF:FF:FF:FF:FF. המחשב שה‑IP שלו כתוב בהודעה יענה ישירות עם ה‑MAC שלו. המחשבים שומרים טבלה קטנה בזיכרון כדי לזכור כתובות שמצאו.
לחבילת ARP יש שדות שמספרים מי השולח ומי היעד. יש שם גם קוד שמראה אם זו בקשה או תשובה. בחבילה מופיעות כתובת החומרה והכתובת של השולח והיעד.
אם רוצים לדעת את ה‑MAC של הכתובת 10.0.0.10, שולחים בקשת ARP עם הכתובת הזו. כי לא יודעים את ה‑MAC של היעד, שולחים את כתובת היעד כ‑FF:FF:FF:FF:FF:FF. המחשב 10.0.0.10 יחזיר תשובה עם ה‑MAC שלו.
אפשר גם להשתמש ב‑ARP לרעה. מישהו רע יכול להשלח תשובות שקריות עם MAC אחר. זה נקרא ARP spoofing, וזה עלול לבלבל את הרשת.
תגובות גולשים