ברור שהשימוש הנפוץ ביותר במילה נמל מתייחס למשלוח. מחשוב, לעומת זאת, משתמש גם במונח יציאה. למעשה, יש לו שני שימושים. הראשון מתייחס לשקע אליו ניתן לחבר כבל. דוגמאות טיפוסיות יכללו יציאת USB או Ethernet. מבחינה טכנית, ניתן לחשוב על שקע Ethernet כעל יציאת רשת. זו לא המשמעות המקובלת של המילה יציאה ברשת. יציאת רשת היא מספר לוגי המזהה לאיזה תהליך או שירות רשת תעבורת רשת מיועדת או נשלחת על ידי.
מדוע נחוצים מספרי יציאה?
כאשר המחשב שלך מתקשר עם שרת אינטרנט באינטרנט, הוא שם את כתובת ה-IP שלו בשדה השולח. זה מאפשר לשרת לדעת לאיזו כתובת IP הוא צריך לשלוח את התגובה. כאשר התגובה הזו חוזרת למחשב שלך, הדפדפן שלך מפרש את התגובה ומציג את דף האינטרנט.
זה עובד מצוין במערכת אידיאלית עם תוכנה אחת שיוצרת ומקבלת תעבורת רשת. העולם האמיתי הוא לא כזה. בכל מחשב, יש מגוון תוכנות שיוצרות תעבורה ברשת. כדי להבטיח שתעבורת הרשת תועבר בצורה נכונה לתוכנית הנכונה, במקרים מסוימים, התהליך הנכון בתוכנית. שכבת כתובת אחרונה אחת משמשת את מספר היציאה.
תאר לעצמך שיש לך דפדפן אינטרנט עם שתי כרטיסיות פתוחות ומשחק וידאו מקוון בו זמנית. כל כרטיסיית דפדפן חייבת להיות מסוגלת לשלוח ולקבל תעבורת רשת, פוטנציאלית בו-זמנית. המשחק המקוון צריך גם לשלוח וגם לקבל תעבורת רשת. אתה לא רוצה שהמשחק שלך יצטרך לסנן תגובות אינטרנט אקראיות, וגם אתה לא רוצה שהדפדפן שלך יצטרך לסנן את תעבורת המשחק שלך. לשתי הכרטיסיות ולמשחק יוקצו לפחות יציאת רשת אחת לכל אחת כך שניתן יהיה לקבוע בקלות את תהליך הנמען המיועד.
אותו דבר עובד גם עבור שרתים. נניח שיש לך שרת שמפעיל גם שרת אינטרנט וגם שרת דואר אלקטרוני. במקרה זה, מספר היציאה מאפשר למערכת ההפעלה להבדיל בקלות אילו מנות רשת מיועדות לאיזה שירות.
מהם מספרי יציאה?
מספרי יציאה לובשים צורה של מספר שלם ללא סימן של 16 סיביות. זה אומר שיש שש עשרה סיביות בינאריות להרכיב את המספרים, אין מספרים שליליים, וכל המספרים הם שלמים. זה מאפשר 65536 מספרי יציאות אפשריים הנעים בין 0 ל-65535. אין מערכת נמלים פיזית.
סכימת הכתובות כולה, כמו עם כתובות IP וכתובות MAC, היא הגיונית לחלוטין. אתה יכול לחשוב על כתובות ה-IP וה-MAC ככתובת על מכתב כדי להעביר אותה לבית/למחשב שלך. באנלוגיה זו, מספר היציאה יהיה כמו השם על המעטפה, מוודא שהוא מגיע לאדם/תהליך הנכון בבית/מחשב שלך.
בתוך שטח מספר היציאה, יש מבנה אחר. יציאה מספר 0 שמורה. בתעבורת TCP, 0 אינו בשימוש לחלוטין. בתעבורת UDP, מספר היציאה הוא אופציונלי, עם יציאה של 0 שמשמעותה "ללא יציאה". זה עובד עבור UDP כי זה פרוטוקול חסר מדינה שלא בהכרח מצפה לתגובה. יציאות TCP ו-UDPs נפרדות. שירות אחד יכול להיקשר ליציאה אחת או יותר באחד הפרוטוקולים או בשניהם. שירותים המשתמשים בשניהם מתחברים בדרך כלל לאותם מספרי יציאה ב-TCP וב-UDP.
יציאות 1-1023 ידועות בתור יציאות "מוכרות" ובדרך כלל דורשות הרשאות ניהול כדי להיקשר אליהן. כמה יציאות ידועות הן 80 עבור HTTP, 443 עבור HTTPS ו-53 עבור DNS. לאחר מכן, יש לך את הטווח 1024 - 49151. אלה ידועים בתור היציאות ה"רשומות". אלו יציאות בשימוש קבוע על ידי שירותים מסוימים, אבל זה לא נפוץ מספיק או לא היה מוקדם מספיק כדי לקבל מספר מתחת ל-1023. יציאות בין 49152 ל-65535 ידועות כיציאות ארעיות.
השימוש במספרי יציאה
IANA, רשות המספרים המוקצה לאינטרנט, מתחזקת את רשימות הפורטים המוכרות והרשומות. לנמלים ידועים יש רק שירות אחד המשויך אליהם. עם זאת, ליציאות רשומות עשויות להיות מערך של שירותים ידועים המשתמשים ביציאה כברירת מחדל.
בדרך כלל, שום דבר לא מונע מתוכנית כלשהי להתחייב למספר יציאה כלשהו. כפי שהוזכר לעיל, מספרי יציאות מתחת ל-1024 נוטים לדרוש הרשאות ניהול או בסיס כדי להיקשר אליהם. ובכל זאת, אתה יכול לאלץ כל שירות להיקשר ליציאה 80, למשל, גם אם זה לא שרת אינטרנט. מספרי יציאות בטווחים הידועים והרשומים נוטים לשמש רק מאזיני רשת, כאשר יציאות ארעיות משמשות בדרך כלל להפעלת חיבורים.
מאזין הוא פורט שנפתח ונשאר פתוח. הוא מאזין להודעות כך שהוא יכול לעבד אותן ולשלוח תשובה. זוהי התנהגות כמעט אך ורק של שירותים מסוג שרת כגון שרת אינטרנט. שרת האינטרנט יתארח ביציאות 80 ו-443, בעוד שדפדפן המתחבר ליציאות אלו ישתמש באופן מקומי ביציאה ארעית.
מספרי יציאות סטנדרטיים עבור מאזיני יישומים פירושם שקל לדעת כיצד להתחבר בפועל לשירות. לדוגמה, כאשר אתה שם HTTPS בחזית כתובת האתר, הדפדפן שלך מניח כברירת מחדל שהוא צריך להתחבר ליציאה 443. במקרים מסוימים, מאזינים יוגדרו ביציאות חלופיות. ייתכן שהסיבה לכך היא ששירות או גרסה אחרת של השירות כבר משתמשת ביציאה הרגילה. זה עשוי להיות גם ניסיון אבטחה באמצעות ערפול.
סיכום
יציאת רשת היא כתובת לוגית. התוכנה יכולה להיקשר לפורט, כך שמערכת ההפעלה יודעת שכל תעבורה שנשלחת לאותה יציאה מיועדת לתהליך זה. מספרי היציאה נעים בין 0 ל-65535. שירותים רבים משויכים למספר יציאה סטנדרטי. השרתים משתמשים ביציאות אלו, בעוד שהתקנים המתחברים אליהם משתמשים ביציאות אקראיות במספר גבוה. זה מאפשר חיבור ברירת מחדל קל לשירותים ומבטיח שהחיבור לשירות כזה לא מונע ממך לארח שירות אחר בעצמך.