טיוטה:RFC 1459

מתוך ויקיפדיה, האנציקלופדיה החופשית

מתאר את פרוטוקול IRC הנוכחי שפותח במערכות המשתמשות ב-TCP / IP.פרוטוקול IRC פותח בארבע השנים האחרונות מאז שהיה מיושם לראשונה כאמצעים למשתמשים ב-BBS לשוחח ביניהם בצ'אט. כעת הוא תומך ברשת העולמית של שרתים ולקוחות. במהלך השנתיים האחרונות, מספר המשתמשים הממוצע המחוברים לרשת ה-IRC הראשית גדל פי 10.

גרסאות

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

  • RFC 2810 - פורסמה באפריל 2000 – עם שגיאות.
  • RFC 2811 - פורסמה באפריל 2000 – בלי שגיאות.
  • RFC 2812 - פורסמה באפריל 2000 – עם שגיאות.
  • RFC 2813 - פורסמה באפריל 2000 – עם שגיאות.
  • RFC 7194 - פורסמה באוגוסט 2014 – בלי שגיאות.

עדכונים

נכון להיום, העדכון האחרון של RFC 1459 היה בתאריך 21 בינואר 2020.

שימושיות

הגיע ל־6 מיליון משתמשים בו זמנית בשנת 2001. ל־10 מיליון משתמשים בשנת 2003. ול־371,000 בשנת 2018.

מטרה ראשית

מספק שיחות קלות ויעילות בין האנשים.

טכניקות שהשתמש בהן הפרוטוקול

  1. שיתוף הקבצים מיושם על ידי הלקוחות שלו ( IRC clients). בדרך כלל תוך שימוש בפרוטוקול DCC (Direct Client-to-Client).
  2. ערוצי IRC משתמשים באותם קידודי תווים (character encodings) שגם מערכות הפעלה משתמשות בהם (בפרט יוניקס).
  3. מנועי חיפוש (search engines) מיושמים בדרך כלל כ-בוטים ומוקדשים לערוץ או לקבוצת ערוצים.

שרתים ולקוחות

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

אופרטורים

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

ערוצים

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

אופרטורים של ערוץ

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

סוגים של ההודעות החשובות ביותר

רישום להתחברות

כדי שלקוח מסוים יכול להתחבר לשרת IRC, צריך להיות את הסדר הבא:

  1. הודעת PASS
  2. הודעת NICK
  3. הודעת USER

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

הודעת NICK, משתמשים בה כדי לתת ללקוח כינוי או לשנות את הכינוי הקודם. הפרמטר השני <hopcount> משמש רק לשרתים כדי לציין כמה רחוק ה-ניק מהשרת הביתי שלו.

הודעת USER באה כדי לציין את שם המשתמש, שם המארח, שם השרת והשם האמיתי של המשתמש החדש. היא גם משמשת בתקשורת בין שרתים כדי לציין כי משתמש חדש מגיע ל-IRC.

אופרטורים של ערוצים

הודעת ה-JOIN משמשת את הלקוח כדי להאזין לעָרוּץ ספציפי. יכול להיות פרמטר נוסף בשם KEY שהלקוח בעזרתו מצטרף לערוץ הזה.

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

הודעת ה-MODE מאפשרת למשתמשים וגם לערוצים לשנות את ה-MODES שלהם.

שאילתות שרת ופקודות

הודעת VERSION משמשת כשאילתה של גרסת השרת. פרמטר אופציונלי <server> משמש לשאילתת הגרסה של תוכנית השרת שלקוח אינו מחובר ישירות אליה.

הודעת STATS משמשת כשאילתת סטטיסטיקה של שרת מסוים.

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

הודעות שליחה

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

הודעת ה-NOTICE משמשת באופן דומה ל-PRIVMSG.אבל ההבדל ביניהן הוא כך שאסור לשלוח תשובות אוטומטיות כתגובה להודעת NOTICE. המטרה פה היא להימנע מ - לולאות בין לקוח ששולח משהו אוטומטית כתגובה אל משהו שהוא קיבל.

שאילתות מבוססות משתמש

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

הודעת ה-WHOIS משמשת לשאילתת מידע על משתמש מסוים. השרת יענה להודעה זו במספר הודעות מספריות המציינות סטטוסים שונים של כל משתמש שתואם את מסכת הכינוי – שזה בעצם הפרמטר <nickmask>.

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

הודעות שונות

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

הודעת ה-PING משמשת לבדיקת נוכחותו של לקוח פעיל בקצה השני של החיבור.

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

בעיות נוכחיות

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