|
מושגי יסוד
מדריכים נוספים בתחום זה: |
עקרון הפעולה של נתב (ראוטר, router) בייתי המידע במדריך זה מבוסס בחלקו על מידע המופיע בשרשורים של shed ו-rokey33 בפורום רשתות ופס רחב בתפוז.
נתב -- הגדרה נתב (המילה המקבילה באנגלית היא ראוטר -- router) בייתי הוא התקן חומרה המאפשר לשתף חיבור אינטרנט אחד בין המחשבים ברשת התקשורת. הנתב כולל בתוכו גם מתג (SWITCH) שבאמצעותו ניתן לחבר מספר מחשבים האחד לשני, לצורך בנית רשת מקומית ושיתוף משאבים בין כל המחשבים. המתג הקיים בנתבים בייתים תומך בדרך כלל ב- 4 מחשבים, אך באמצעות שרשור מתגים נוספים לנתב, ניתן להרחיב את מספר המחשבים הנתמכים. הסבר על עקרון הפעולה של מתג (SWITCH) ניתן למצוא כאן. מבנה סכמטי של רשת המבוססת על נתב ניתן לראות בשרטוט הבא.
מנגנון ה-NAT המנגנון הבסיסי המאפשר לנתב לשתף חיבור אינטרנט בודד בין כל המחשבים ברשת נקרא NAT -- ראשי תיבות של Network Address Translation. עקרון הפעולה של מנגנון ה-NAT הוא תרגום כתובות ה-IP של רשת התקשורת הפנימית אל כתובת ה-IP החיצונית ולהפך. תרגום זה נעשה על ידי שינוי תוכן הכותרת (header) של חבילות המידע (packets) המשודרות מהמחשבים אל רשת האינטרנט ומרשת האינטרנט אל המחשבים, תוך התבססות על טבלאות תרגום המאוכסנות בזיכרון הפנימי של הנתב.
ערוץ תקשורת (PORT) פורט (PORT) הוא מספר בין 0 ל- 65,535 המזהה את ערוץ התקשורת הנפתח על ידי אפליקציה אחת המחברת בין שני מחשבים. כלומר, כל התקשורת של האפליקציה מתבצעת תוך שימוש בפורט הייעודי ומספרו נרשם בכל אחת מהכותרות (headers) של חבילת המידע (packet) העוברת בין שני המחשבים בהקשר של אותה אפליקציה. רשימה לדוגמא של פורטים סטנדרטיים מופיעה להלן:
דוגמאות
על מנת להבין כיצד פועל מנגנון ה-NAT וכיצד מעורבים בתהליך זה ערוצי התקשורת (PORT), נביא 3 דוגמאות. לצורך כל הדוגמאות נניח רשת שבה יש שני מחשבים (א' ו-ב') ונתב וניבחן מה קורה בכל אחד מהמקרים הבאים: 1. מחשב א' רוצה לגלוש לאתר של yahoo. 2. מחשב א' ומחשב ב' רוצים לגלוש ל-yahoo בו זמנית. 3. מחשב א' מפעיל תוכנת שרת (או במילים אחרות: מה עושים עם חבילות מידע שאיננו מצפים להן -- unsolicited traffic).
דוגמא 1
חבילת המידע (packet) הנ"ל מגיעה אל הנתב. לפני שידור החבילה (packet) אל רשת האינטרנט, הנתב מחליף את השדות הבאים:
אין שינוי בשאר השדות. בנוסף, הראוטר רושם בטבלת הניתוב המאוכסנת בזיכרון שלו כי מחשב א' פנה מכתובת X (הכתובת הפנימית של המחשב), דרך פורט Y, לכתובת של האתר של yahoo. כאשר תחזור התשובה מהאתר של yahoo, היא תגיע לראוטר עם הנתונים הבאים:
בשלב זה , הנתב בודק בטבלת הניתוב המאוכסנת בזיכרון שלו אם יש איזשהו מחשב שפנה לאתר של yahoo. מתוך הטבלה הוא יראה שמחשב א' הוא שפנה ולכן יחזיר את התשובה למחשב א', דרך אותו פורט Y הרשום בטבלת הניתוב, על ידי ביצוע השינויים הבאים: SRC MAC -- כתובת החומרה (MAC Address) של הנתב. DST MAC -- כתובת החומרה (MAC Address) של מחשב א'. SRC IP -- הכתובת של האתר של yahoo. DST IP -- הכתובת הפנימית של מחשב א' (כתובת X). כך למעשה נראית פעולת הניתוב (שינוי כתובות החומרה -- MAC) והתרגום המתבצע על ידי מנגנון ה-NAT.
דוגמא 2 במצב הזה, כאשר מגיעה התשובה מאתר של yahoo, הנתב יבדוק בטבלת הניתוב לא רק מי פנה לאתר של yahoo, אלה מאיזה פורט בוצעה הפניה. לפי הפורט שהאתר של yahoo עונה אליו -- הנתב ידע לאיזה מחשב להפנות את התשובה. לפעולה הזו קוראים PAT - Port Address Translation.
דוגמא 3 במקרה כזה, הנתב פשוט מתעלם מחבילת מידע זו ומניח שהיא הגיעה אליו בטעות. אולם, אם בוצעה בנתב הגדרה מראש, האומרת לו להעביר את כל המידע שמגיע לפורט X באופן אוטומטי למחשב Y - זה בדיוק מה שהוא יעשה. לפעולה הזו קוראים "פתיחת פורטים" ובאנגלית Port Forwarding.
הערות נוספות הערה 1 -- אין שום בעיה להפעיל באותה רשת תקשורת שני מחשבים המאזינים לאותו פורט ולא תהיה ביניהם שום התנגשות. מחשבים ברשת הפנימית יוכלו לפנות לכל אחד מהם ולתקשר איתם בלי בעיה. מצב זה נובע מכך שכל המחשבים ברשת הפנימית נמצאים באותה רשת ולא מתבצע ניתוב באמצעות ה-NAT או ה-PAT בתוך הרשת הפנימית. הבעיה נוצרת רק לגבי מחשבים הנמצאים מחוץ לרשת התקשורת הפנימית והם יוכלו לדבר רק עם מחשב אחד מתוך השניים -- אותו מחשב שיוגדר בנתב כקשור לפורט הספציפי. הערה 2 -- כדי לדעת מה הכתובת של האתר של yahoo המחשב בודק קודם כל לוקאלית האם הוא מכיר את yahoo (למשל בקובץ host). במידה ולא -- הוא שולח בקשת DNS לשרת מוגדר מראש. לצורך העניין תעבורת ה-DNS תיראה בדיוק אותו דבר, למעט העובדה שהכותרת (header) של חבילת המידע (packet) שיוציא המחשב יהיה עם DST IP של שרת ה-DNS. הערה 3 -- בקשות פניה לשרתי אינטרנט (HTTP) לא יוצאת מפורט 80 -- רק התשובות לפניות אלה מגיעות לפורט 80. כלומר, שרתי האינטרנט מאזינים לפורט 80, אך הלקוח (כלומר הדפדפן) יכול לשלוח את הבקשה מכל פורט שהוא רוצה.
|
||||||||||||||||||||||||||
מבוסס על תבנית של חברת |
NetCHEIF Articles © 2020 |