ב-FreeBSD הוסיפו תמיכה בפרוטוקול Netlink המשמש בלינוקס

FreeBSD

FreeBSD מבוססת היטב כמערכת לבניית שרתי אינטרנט ואינטרנט. הוא מספק שירותי רשת אמינים למדי וניהול זיכרון יעיל.

לפני כמה ימים החדשות פורסמו שקוד הבסיס של FreeBSD אימצה יישום חדש של פרוטוקול התקשורת נטלינק (RFC 3549) המשמש בלינוקס לתקשורת בין הקרנל לתהליכים במרחב המשתמש.

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

בדומה לשקעי תחום Unix ובניגוד לשקעי INET, תקשורת Netlink אינה יכולה לחצות גבולות מארח. עם זאת, בעוד ששקעי תחום Unix משתמשים במרחב השמות של מערכת הקבצים, תהליכי Netlink מטופלים בדרך כלל על ידי מזהי תהליך (PID).

Netlink תוכנן ומשמש להעברת מידע רשת שונה בין מרחב הקרנל לתהליכי מרחב המשתמש. כלי עזר לרשת, כגון משפחת iproute2 וכלי השירות המשמשים להגדרת מנהלי התקנים אלחוטיים מבוססי mac80211, משתמשים ב-Netlink כדי לתקשר עם ליבת לינוקס ממרחב המשתמש. Netlink מספקת ממשק סטנדרטי מבוסס שקעים לתהליכי מרחב משתמש וממשק API בצד הקרנל לשימוש פנימי על ידי מודולי ליבה. Netlink השתמש במקור במשפחת השקעים AF_NETLINK.

עד כה במתכונתו הנוכחית, שכבת התמיכה של Netlink מאפשרת ל-FreeBSD להשתמש בכלי ה-IP של Linux של חבילת iproute2 לניהול ממשקי רשת, להגדיר כתובות IP, להגדיר ניתוב ולתפעל אובייקטים של Nexthop המאחסנים את המצב המשמש להעברת מנה ליעד הרצוי. לאחר שינוי קל של קבצי ה-header, ניתן להשתמש ב-Netlink בחבילת הניתוב של Bird.

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

נטלינק מציע שכבת תקשורת מאוחדת ופורמט הודעות הניתן להרחבה שיכול לשמש כמתווך המשלב באופן אוטומטי נתונים שונים ממקורות שונים לבקשה אחת. לדוגמה, ניתן להעביר תת-מערכות FreeBSD כמו devd, jail ו-pfilctl ל-Netlink, כעת באמצעות קריאות ioctl משלהן, מה שיקל מאוד על בניית יישומים לעבודה עם תת-מערכות אלו. בנוסף, שימוש ב-Netlink כדי לשנות אובייקטים וקבוצות של Nexthop בערימת הניתוב יאפשר אינטראקציה יעילה יותר עם תהליכי ניתוב שטחי משתמש.

הממשקים, הכתובות, המסלולים, חומת האש, fibs, vnets וכו'. נשלטים באמצעות netlink. זהו פרוטוקול אסינכרוני מבוסס TLV המספק תקשורת של 1-1 ו-1 רבים. היישום הנוכחי תומך בקבוצת המשנה של משפחת NETLINK_ROUTE. היישום תואם גם למסגרת המשפחתית NETLINK_GENERIC.

תכונות מיושמות כעת:

  • השג מידע על מסלולים, אובייקטים וקבוצות של Nexthops, ממשקי רשת, כתובות ומארחים שכנים (arp/ndp).
  • יצירת הודעות על הופעה וניתוק ממשקי רשת, הגדרה והסרה של כתובות, הוספה והסרה של מסלולים.
  • הוספה והסרה של מסלולים, אובייקטים וקבוצות של הופעה הבאה, שערים, ממשקי רשת.
  • אינטגרציה עם ממשק Rtsock לניהול טבלת הניתוב.

ראוי להזכיר שעד כה הפרויקט מוגבל לתמיכה במשפחת הפעולות NETLINK_ROUTE לניהול מצב תת-מערכת הרשת בקרנל.

לבסוף, אם אתה מעוניין לדעת יותר על כך, תוכל להתייעץ עם הפרטים ב הקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.