ממשיך את הדיון בעניין ה-UDP NAT
1. כשמחשב פנימי יוצא מהרשת החוצה לשרת חיצוני, נוצר מיפוי NAT אוטומטית ברמת הראוטר שלו. בצורה כזו, השרת יכול להגיב לפניה הנ"ל, והתגובה תגיע אל המחשב הפנימי. זה נכון גם ל-UDP, למרות שב-UDP אין CONNECTION. 2. הלכה למעשה, חלק מהראוטרים מעלימים את המיפוי הנ"ל אחרי זמן מה. עד כאן העובדות. הפתרון שאני איישם ככל הנראה, שהוא הפתרון שהיה לי מראש אבל רציתי לראות אם מישהו יחדש לי משהו פה או בפורום רשתות, הוא כזה - בגדול, ה-CLIENT הולך ללמוד לבד מה הזמן המקסימלי שמותר לו לקחת בין KA אחד לשני, בהינתן שרת מסוים שעובד מולו. בתור התחלה, כל CLIENT יעבוד עם 30 דקות זמן KA. בנוסף יפותח ב-SERVER מיני פרוטוקול פשוט של PING ו-PONG אל ה-CLIENT, על מנת שה-SERVER יידע האם בזמן מסוים X יש לו או אין לו קשר מול ה-CLIENT הנ"ל. ה-SERVER ישלח PING ל-CLIENT זמן קצר לפני קבלת ה-KA הבא מאותו CLIENT (הנתון הזה יהיה ידוע ל-SERVER), וכך ל-SERVER תהיה אינדיקציה האם יש או אין קשר מול ה-CLIENT. ב-KA הבא ידווח ה-SERVER ל-CLIENT האם הקשר נשמר או לא. אם הקשר לא נשמר, ה-CLIENT יצמצם פי 2 את האינטרוול, ואם הקשר נשמר - ה-CLIENT יגדיל פי 2 את האינטרוול. הטווח של האינטרוול יוגבל להיות בין 8 שעות לבין 5 דקות, על מנת למנוע מצב שבו CLIENT מסוים יפציץ את ה-SERVER במקרה של תקלה. זהו. הערות?
1. כשמחשב פנימי יוצא מהרשת החוצה לשרת חיצוני, נוצר מיפוי NAT אוטומטית ברמת הראוטר שלו. בצורה כזו, השרת יכול להגיב לפניה הנ"ל, והתגובה תגיע אל המחשב הפנימי. זה נכון גם ל-UDP, למרות שב-UDP אין CONNECTION. 2. הלכה למעשה, חלק מהראוטרים מעלימים את המיפוי הנ"ל אחרי זמן מה. עד כאן העובדות. הפתרון שאני איישם ככל הנראה, שהוא הפתרון שהיה לי מראש אבל רציתי לראות אם מישהו יחדש לי משהו פה או בפורום רשתות, הוא כזה - בגדול, ה-CLIENT הולך ללמוד לבד מה הזמן המקסימלי שמותר לו לקחת בין KA אחד לשני, בהינתן שרת מסוים שעובד מולו. בתור התחלה, כל CLIENT יעבוד עם 30 דקות זמן KA. בנוסף יפותח ב-SERVER מיני פרוטוקול פשוט של PING ו-PONG אל ה-CLIENT, על מנת שה-SERVER יידע האם בזמן מסוים X יש לו או אין לו קשר מול ה-CLIENT הנ"ל. ה-SERVER ישלח PING ל-CLIENT זמן קצר לפני קבלת ה-KA הבא מאותו CLIENT (הנתון הזה יהיה ידוע ל-SERVER), וכך ל-SERVER תהיה אינדיקציה האם יש או אין קשר מול ה-CLIENT. ב-KA הבא ידווח ה-SERVER ל-CLIENT האם הקשר נשמר או לא. אם הקשר לא נשמר, ה-CLIENT יצמצם פי 2 את האינטרוול, ואם הקשר נשמר - ה-CLIENT יגדיל פי 2 את האינטרוול. הטווח של האינטרוול יוגבל להיות בין 8 שעות לבין 5 דקות, על מנת למנוע מצב שבו CLIENT מסוים יפציץ את ה-SERVER במקרה של תקלה. זהו. הערות?