CAM טבלת MAC ו ARP
CAM
Content Addressable Memory
היא טבלה המכילה את הפורט ואת ה MAC Address המחובר אליו, הטבלה לרוב תראה כך:
כל הזכויות שמורות לטל בן שושן – Shushan.co.il
הטבלה תכיל את כתובת ה MAC Address של כרטיס הרשת המחובר לפורט הרשום, דוגמה, לפורט 1 בסוויצ' מחובר כרטיס רשת עם ה MAC Address עם הכתובת 00-1M-78-90-5G-E6 והאם הכתובת של ה MAC היא דינמית או סטטית (הוגדרה אוטומטית כאשר חיברו לסוויצ' את כרטיס הרשת הזה או שמנהל הרשת הגדיר ידנית את ה MAC Address לפני.
השאלה הנשאלת היא כיצד הוא מוצא את הכתובות האלו? וזאת על ידי ARP
ARP
Address Resolution Protocol
טבלת ה ARP מכילה בתוכה את כתובות הMAC ואת הכתובת IP של אותו המחשב (ראו למטה טבלת ARP) מטרתו של ARP הוא 1. לפענח כתובות MAC לכתובות IP (להשוות) MAC = AAA הוא מצוות לכתובת ה IP 192… ואז על ידי טבלת ה בCAM הוא יודע איזה פורט הוא נמצא 2. הוא שומר על כך טבלה:
כאשר המחשב מעוניין לשלוח חבילה מסוימית הוא יודע את ה IP אבל לא את הMAC על ידי ARP הוא יודע! טבלה זו מאוחסנת בRAM של אותו המחשב או של אותו הרכיב.
כאשר מבוצע Encapsulation ברמת Layer 2 ואז ל Frame בשלב זה בדיוק הוא צריך את כתובת ה IP של המחשב וה MAC שלו.
אפשר לראות ARP כך, המחשב "צועק" האם מישהו מכיר את 192.168.1.30 ? ושולח את הARP כBroadcast אותו Broadcast מגיע לכל המחשבים בסוויצ' כל המחשבים מקבלים את הARP כל אלו שזה לא הם מפילים את ה ARP ואילו זה שהוא הכתובת שאליו שאל המחשב האם אתם מכירים את 192.168.1.30 עונה , כן זה אני! הכן זה אני זה אומר שאותו מחשב ישלח ARP חזרה אל אותו המחשב עם כתובת ה MAC שלו.
אך זה נראה מבחינת הסוויצ'? כך: המחשב שולח בכתובת (192.168.1.255) כתובת ה Broadcast שתכיל את הSource Mac שלו ואת היעד שהוא FF:FF:FF:FF:FF:FF (באמת FF:FF …) ובה הוא "צועק" האם אתם יודעים את ה MAC Address של הכתובת 192.168.1.30 ? ואותו מחשב אם קיים מגיב לו כן אני זה 192.168.1.30 והMAC Address שלי הוא CC:CC:CC:CC:CC:CC.
מה קורה כאשר כתובת ה IP של הDestination לא נמצא באותה הרשת?!
לא שאלתם שאלה מעניינת מאוד… מה קורה כאשר הIP של המחשב אותו מחשב מסוים מחפש לא נמצאת באותה הרשת איתו? נאמר מחשב 192.168.1.20/24 מחפש את 192.168.2.20/24 ? במקרה כזה הMAC Address של 192.168.2.20/24 יהיה הMAC Address של ה Default Gateway!
וכיצד הסוויצ' מייצר את טבלת ה CAM?
Switch A שבו המחשב 192.168.1.10 מעוניין לשלוח הודעה לכתובת 192.168.1.20 בדרך השליחה מקבל Switch A הודעה מ 192.168.1.10 עם MAC Address של AA:AA… והוא ירשום זאת בטבלת ה CAM שלו
Switch A יבצע "הצפה" Flood לכל הפורטים שלו ופורט 15 יוציא את זה לפורט 9 של Switch B
Switch B כעת יודע שמפורט 9 שלו הגיע אליו חבילה מ AA:AA… ולכן ירשום אותה בטבלת הCAM שלו, למרות שלא באמת מחשב AA:AA.. מחובר ל9 אך הוא יודע במפורט זה הגיע אליו מחשב AA:AA..
כעת Switch B יבצע הצפה כי הוא לא יודע מי זה BB:BB שאליו מיועדת ההודעה ואז מחשב 192.168.1.20 שהוא BB:BB… מקבל את ההודעה
בפעם הבאה שתגיע הודעה מ192.168.1.10 ל 192.168.1.20 ידע Switch A ואז Switch B לאיפה לנתב את ההודעה!
כעת אני לא ימשיך והסיבה היא שאני רוצה שאתם תנתחו את שאר היציאות ותבינו למה הטבלה רשומה כך, אם לא הבנתם תמיד תוכלו לשאול או להגיב בנושא המאמר למטה!
ARP Table
היא טבלת ARP הבנויה מכתובות IP וה MAC Address שלהם, אז מה ניתן להבין מהטבלה הבאה? ניתן לראות את הכתובת 192.168.77.255, למה סימנתי את 255 באדום? כי ידוע שברשת למשל 192.168.1.0/24 סוף ה Host שהוא 255 הוא למעשה כתובת Broadcast ואיתה בעצם מגלה ה ARP את הכתובות ברשת, ולכן מצוות לו ה FF-FF-FF-FF-FF-FF נוסף על כך ניתן לראות את כל הכתובות IP עם כתובות הMAC Address
2 comments
הי טל
קודם כל תודה על האתר , הפוסטים מושקעים וניכר שנעשה מאמץ בכדי להסביר את החומר בצורה ברורה .
דבר נוסף לא הבנתי מה כוונתך במשפט "כעת אני לא ימשיך והסיבה היא שאני רוצה שאתם תנתחו את שאר היציאות ותבינו למה הטבלה רשומה כך , "
בציור שהבאת מופיעים 3 מחשבים באותה רשת כאשר כל תחנה נמצאת מאחרי סוויץ' , ויש מספרי פורטים שונים בכל סוויץ' , כוונתך לנתח את סדר מספרי הפורטים ? כי שאר הנתונים די ברורים (כתובת ip ו mac address)
כן, כך תוכל לבדוק לבד לאיפה שייכת כל יציאה