האם קיים פורט שתמיד פתוח להאזנה (גם מאחורי ראוטר)? - רשתות ואינטרנט - HWzone פורומים
עבור לתוכן
  • צור חשבון

האם קיים פורט שתמיד פתוח להאזנה (גם מאחורי ראוטר)?


zurkin1232

Recommended Posts

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

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

קישור לתוכן
שתף באתרים אחרים

לא

נניח בשלילה שכן

קיים פורט N שפתוח תמיד

מכאן נובע שלכל מחשב X מאחורי הראוטר ניתן להגיע דרך פורט N

סתירה

מ.ש.ל

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

קישור לתוכן
שתף באתרים אחרים

צריך להבדיל בין 2 דברים

1. אתה יוזם קשר TCP לאנשהו

2. מישהו יוצר קשר TCP אליך

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

כשאתה מתחבר ל- אתה יוזם קשר TCP עם השרת המרכזי שלהם, הקשר הזה נשאר פתוח כל הזמן.

כשאתה שולח הודעה אתה שולח אותה על אותו קשר שאתה יזמת.

על אותו רעיון אתה מורידים דפים מהאינטרנט.

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

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

קישור לתוכן
שתף באתרים אחרים

אסף - חחח מישהו מושפע יותר מידי מהלימודים... :)

אגב, Broadcast יכול אולי לבוא בחשבון... (?)

עריכה: שם זה גם UDP וגם צריך להאזין לפורט מסוים, לא? איך זה הולך? (אין לי הרבה ידע בדברים האלה)

Holy - את התשובה שלך כבר ידעתי.

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

קצת רקע: בעצם אני רוצה לכתוב תוכנית קטנה שמאזינה לפורט מסוים, לבקשות TCP (שרת קטן, בקיצור). והייתי מעדיף שהוא יעבוד בלי לשחק עם הפניות פורטים וכו'.

קישור לתוכן
שתף באתרים אחרים

שוב ב- אתה יוצר קשר לשרת המרכזי כשאתה מפעיל את התוכנה והקשר נשאר כל הזמן פתוח

כשאתה שולח הודעה ההודעה נשלחת לשרת המרכזי ששולח אותו ליעד

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

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

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

ב-UDP הראוטר מזהה את החבילה ראשונה שאתה שולח לאנשהו וזוכר מאיזה ולאיזה מחשב ופורט היא נשלחה ומעביר באופן אוטומטי את ההודעות החוזרות למחשב ולפורט.

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

קישור לתוכן
שתף באתרים אחרים

הקשר הוא לא P2P אלה קישור לשרת מרכזי (שגם מציג לכל המשתמשים האחרים האם אתה מחובר או מנותק)

אם הקישור היה P2P כל אלה שמחוברים מאחורי ראוטר היו צריכים להגדיר פורטים (והם לא)

אולי אתה לא בטוח, אבל אני כן.

אתה מוזמן לעשות netstat בשביל לראות את כל החיבורים שלך ותראה שיש לך שם חיבור שב-Foreign Address הפורט הוא 5190 (שזה הפורט שאתה מתחבר לשרת המרכזי כמו שמוגדר ב-Prefrences -> Connections -> Server)

קישור לתוכן
שתף באתרים אחרים

העברת קבצים בICQ היא P2P לכן לא תוכל לקבל קובץ בלי לשחרר פורטים בנתב, כמו שנאמר אם היוזם חיצוני אז לא פותחים

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

קישור לתוכן
שתף באתרים אחרים

Holy - כנראה שאתה צודק (אגב, יש לך סימוכין?).

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

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

ואגב ביררתי קצת לגבי Broadcast - גם זה לא יעזור.

עריכה:

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

קישור לתוכן
שתף באתרים אחרים

תחפש על ה PROTOCOL ותראה שהוא צודק...

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

ולא דרוש "תותח רשתות" בשביל זה, קצת קריאה בנושא ואתה תבין לבד..

קישור לתוכן
שתף באתרים אחרים

אני עדיין לא מבין איך אייסיקיו עומד בתעבורה המטורפת הזאת...

וה"תותח" במקרה היה שם. יותר קל לשאול... :) ככה אני מקבל תשובה קצרה, קולעת ואמינה.

אין לי זמן ו(בעיקר)סבלנות להתחיל לקרוא.

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

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

קישור לתוכן
שתף באתרים אחרים

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

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

ג) אני ממליץ לך להסתכל בקוד של MIRANDA או GAIM (יותר מומלץ), אתה תוכל לראות את האינטרקציה של הפרוטוקול, גם עם השרתים וגם עם התוכנה...

ד) הפרוקוטול של הוא OSCAR, לכן שאתה מחפש בגוגל אל תרשום PROTOCOL אלה OSCAR PROTOCOL SPECIFICATION או משהו כזה..

קישור לתוכן
שתף באתרים אחרים

תודה על התגובה.

א) צ'מע... נושא מעניין והכל... אבל אני כרגע בתקופה לחוצה מבחינת הלימודים, זה פרוייקט לא גדול שאני צריך להגיש לסוף החודש, וסה"כ חשבתי שיהיה נחמד אם זה יוכל לעבוד על כל מחשב ללא קשר לסוג החיבור (NAT / FIREWALL). עם זאת, בעיקרון אני מסכים איתך.

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

ג) לא תודה, גדול עלי (ראה א') :)

ד) אני אנסה.

קישור לתוכן
שתף באתרים אחרים

Holy - כנראה שאתה צודק (אגב, יש לך סימוכין?).

אתה מוזמן לעשות netstat בשביל לראות את כל החיבורים שלך ותראה שיש לך שם חיבור שב-Foreign Address הפורט הוא 5190 (שזה הפורט שאתה מתחבר לשרת המרכזי כמו שמוגדר ב-Prefrences -> Connections -> Server)

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...