הצגה על מונחים בתחום הרשתות, ממשקים ופרוטוקולים

הקדמה

הבנת הרשתות חשובה לכל מנהל שרת. לא רק שזה חיוני להבטיח את השירותים שלך ברשת ולהריץ אותם בצורה חלקה, אלא גם זה נותן לך את התובנה לאבחן בעיות.

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

מדריך זה הוא בלתי תלוי במערכת הפעלה, אך יהיה מאוד מועיל בהטמעת יכולות ושירותים המשתמשים ברשת על השרת שלך.

מילון רשת

לראשונה, נגדיר מספר מונחים נפוצים שתראו במהלך המדריך הזה, ובמדריכים ותיעוד אחרים הנוגעים לרשתות.

המונחים הללו יורחבו בסעיפים המתאימים שיבואו אחריו:

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

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

חבילות מכילות חלק ראשי שמכיל מידע על החבילה כולל מקור ויעד, חותמות זמן, קפיצות ברשת וכו'. החלק העיקרי של החבילה מכיל את הנתונים הממשיים שמתבצעת עליהם ההעברה. לעיתים נקרא גם לחלק הזה של החבילה "גוף" או "משאב".

  • ממשק רשת: ממשק רשת יכול להתייחס לכל סוג של ממשק תוכנה לחומרת רשתות. לדוגמה, אם יש לך שני כרטיסי רשת במחשב שלך, אתה יכול לשלוט ולהגדיר כל ממשק רשת הקשור להם בנפרד.

A network interface may be associated with a physical device, or it may be a representation of a virtual interface. The “loopback” device, which is a virtual interface available in most Linux environments to connect back to the same machine, is an example of this.

  • LAN: LAN מתייחס ל"רשת מקומית". זה מתייחס לרשת או חלק מרשת שאינו נגיש לציבור באינטרנט. רשת בית או משרד הם דוגמא לרשת מקומית.

  • רשת WAN: WAN מתייחסת ל"רשת אזור רחב". זה מתייחס לרשת שהיא הרבה יותר נרחבת מאשר רשת LAN. בעוד שWAN הוא המונח הרלוונטי לשימוש כדי לתאר רשתות מבולגנות ונפוצות בכלל, בדרך כלל הוא מתייחס לאינטרנט כולו.

אם ממשק נקרא בשמו כי הוא מחובר ל WAN, נניח בדרך כלל שהוא נגיש דרך האינטרנט.

  • פרוטוקול: פרוטוקול הוא סט של כללים ותקנים שמגדירים שפה שבה יכולים התקנים לתקשר. ישנם מספר רב של פרוטוקולים המשמשים ברחבי הרשת, וכאלה נממשים לעיתים קרובות בשכבות שונות.

פרוטוקולים ברמה נמוכה כוללים את TCP, UDP, IP ו- ICMP. דוגמאות מוכרות לפרוטוקולי שכבת היישום, הנבנים על ידי הפרוטוקולים הנמוכים, הם HTTP (לגישה לתוכן האינטרנט), SSH ו- TLS/SSL.

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

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

  • NAT: NAT עומדת על תרגום כתובת רשת. זהו אופן להגיב ולשלוח בקשות נכנסות לשרת ניתוב אל התקנים או שרתים רלוונטיים ברשת לוקאלית. מכיוון שיש לנטושי המולדת הפיזיים את יכולת להנתינה, הפיזיים כדי להמשיך בקשות דרך כתובת IP אחת לשרתי צד אחורי הנדרשים.

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

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

שכבות רשת

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

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

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

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

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

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

דגם TCP/IP

דגם ה-TCP/IP, הידוע יותר כחבילת פרוטוקולי האינטרנט, הוא דגם שכבות שנקלט ברחבי העולם. הוא מגדיר ארבע שכבות נפרדות:

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

  • העברה: שכבת ההעברה אחראית לתקשורת בין תוכניות. שכבת הרשת הזו משתמשת ביציאות לכתובות שונות לטיפול בשירותים שונים.

  • אינטרנט: שכבת האינטרנט משמשת להעברת נתונים מחול לחול ברשת. שכבה זו מודעת לקצוות של החיבורים, אך אינה דואגת לחיבור הפועל כדי להגיע ממקום למקום אחר. כתובות IP מוגדרות בשכבה זו כדרך להגיע למערכות מרוחקות בדרך שניתנת לכתוב.

  • קישור: שכבת הקישור מיישמת את הטופולוגיה הממשית של הרשת המקומית שמאפשרת לשכבת האינטרנט להציג ממשק נגיש. היא יוצרת חיבורים בין צמתים שסמוכים כדי לשלוח נתונים.

כפי שאתה רואה, דגם ה- TCP/IP הוא מופשט ונע. זה עשה אותו פופולרי להיטמע ואפשר לו להפוך לדרך המובילה שבה נקטגוריזות שכבות הרשת.

ממשקים

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

לרוב, לשרת שלך יהיה ממשק רשת מוגדר אחד לכל כרטיס Ethernet או כרטיס אינטרנט אלחוטי שיש לך.

בנוסף, הוא יגדיר ממשק רשת וירטואלי בשם "לולאה פנימית" או ממשק localhost. הוא משמש כממשק לחיבור בין יישומים ותהליכים על מחשב יחיד ליישומים ותהליכים אחרים. ניתן לראות זאת מתייחסת כממשק "lo" בכלים רבים.

לעיתים רבות, מנהלים מגדירים ממשק אחד לשירות תעבורה לאינטרנט וממשק אחר לרשת מקומית או רשת פרטית.

במרכזי נתונים עם רשת פרטית מופעלת (כולל דרפלטים של DigitalOcean), ל-VPS שלך יהיה שני ממשקי רשת. ממשק "eth0" יוגדר לטיפול בתעבורה מהאינטרנט, בעוד שהממשק "eth1" יפעל לתקשורת עם רשת פרטית.

פרוטוקולים

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

נתחיל עם פרוטוקולים שמיושמים בשכבות הרשת הנמוכות ונתקדם לפרוטוקולים עם הפריכות הגבוהה יותר.

שליטה בגישה לרשת

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

הפנייה לחומר באמצעות כתובת ה-MAC מאפשרת לך להתייחס להתקן על ידי ערך ייחודי גם כאשר התוכנה בראש עלולה לשנות את השם של התקן הספציפי הזה במהלך הפעולה.

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

פרוטוקול ה-IP

הפרוטוקול של כתובת ה-IP הוא אחד מהפרוטוקולים היסודיים שמאפשרים לאינטרנט לפעול. כתובות ה-IP הן ייחודיות בכל רשת והן מאפשרות למכונות לכתוב זו לזו בכל רשת. הפרוטוקול זה מיושם בשכבת האינטרנט בדגם ה- TCP/IP.

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

ישנן מספר גישות שונות למימוש של הפרוטוקול. המימוש הנפוץ ביותר היום הוא כתובות IPv4, אשר עוקבות אחר התבנית 123.123.123.123, אך כתובות IPv6, העוקבות אחר התבנית 2001:0db8:0000:0000:0000:ff00:0042:8329, רוחבות בפופולריותם עקב למגבלת מספר כתובות ה-IPv4 הזמינות.

ICMP

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

בדרך כלל, חבילות ICMP נשלחות כאשר סוג שונה של חבילה נתקלת בבעיה. הן משמשות כמנגנון משוב לתקשורת ברשת.

TCP

TCP עומד על התקן של בקרת ההעברה. הוא מיושם בשכבת ההעברה של הדגם TCP/IP ומשמש להקניית חיבורים אמינים.

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

הפרוטוקול בונה חיבור לפני העברת הנתונים באמצעות מערכת הכניסה המכונה "הסכם בשלושה". זו דרך לשני קצוות התקשורת להכיר בבקשה ולהסכים על שיטה להבטיח אמינות הנתונים.

לאחר שהנתונים נשלחו, החיבור נותץ באמצעות "הסכם בארבעה".

TCP הוא הפרוטוקול שנבחר לשימוש ברוב המקרים הפופולריים ביותר באינטרנט, כולל WWW, SSH ודוא"ל.

UDP

UDP עומד על התקן של פרוטוקול הדטה גרמה למשתמש. זהו שותף פופולרי לפרוטוקול TCP וגם הוא מיושם בשכבת ההעברה.

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

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

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

HTTP

HTTP מתייחס להעברת פרוטוקול טקסט ייחודי. זהו פרוטוקול הוגדר בשכבת היישום שמהווה את הבסיס לתקשורת ברשת.

HTTP מגדיר מספר של פועלים שאומרים למערכת המרוחקת מה אתה מבקש. לדוגמה, GET, POST, ו-DELETE פועלים באופן שונה עם המידע שנדרש. כדי לראות דוגמה לבקשות HTTP שונות בפעולה, ראה את איך להגדיר מסלולים ושיטות בקשת HTTP ב- Express.

DNS

ה-DNS עומדת על Domain Name System. זו פרוטוקול שפועל בשכבת היישומים ומשמש כמכניזם לקביעת שמות ידידותיים למשאבי אינטרנט. זו הדרך שבה נקשרת שמות דומיין לכתובת IP ומאפשרת לך לגשת לאתרים על ידי שם בדפדפן שלך.

SSH

SSH עומדת על Secure Shell. זהו פרוטוקול מוצפן המיושם בשכבת היישומים וניתן להשתמש בו לתקשורת עם שרת רחוק בדרך מאובטחת. טכנולוגיות רבות נבנו סביב פרוטוקול זה עקבי ייעודו להצפין קצה-לקצה ולנוחותו.

ישנם פרוטוקולים רבים נוספים שלא יוזכרו כאן, אך התיאור יספק לך סקירה טובה של חלק מהטכנולוגיות הבסיסיות שהופכות את האינטרנט והרשתות לאפשריים.

מסקנה

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

בשלב הבא, לדוגמה גבוהה, תוכל לקרוא איך לבצע בקשות HTTP בשפת Go.

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-networking-terminology-interfaces-and-protocols