תגובות למדריכים כאן
חלק שני:
מהו האינטרנט?
האינטרנט (Internet) הוא בעצם רשת ענקית שמחברת בין רשתות אחרות. לכן לפעמים מכנים אותו גם "רשת של רשתות".
בכל העולם יש מלא רשתות: רשתות ביתיות, רשתות סלולריות, רשתות של חברות וארגונים, רשתות של אוניברסיטאות, רשתות של ספקי אינטרנט ועוד. האינטרנט הוא מה שמאפשר לכל הרשתות האלה להתחבר אחת לשנייה ולתקשר ביניהן.
כדי שזה יעבוד משתמשים ברכיבי תקשורת שונים, כמו נתבים (Routers), מתגים (Switches) וקווי תקשורת מכל מיני סוגים - סיבים אופטיים, כבלי נחושת, לוויינים או תקשורת אלחוטית.
ככה, מחשב שמחובר לרשת הביתית יכול לתקשר עם שרת שנמצא בכלל במדינה אחרת, כמעט בלי להרגיש את המרחק.
לדוגמה, כשאתם פותחים אתר אינטרנט או נכנסים לחשבון הבנק, המחשב שלכם מתקשר עם שרת שנמצא במקום אחר בעולם - והאינטרנט הוא זה שמחבר ביניהם.
סוגי רשתות
לא כל הרשתות נועדו לאותה מטרה. לכל סוג של רשת יש תפקיד אחר.
רשתות סלולריות (Mobile Networks)
הן רשתות שמאפשרות למכשירים ניידים - כמו טלפונים, טאבלטים ורכבים חכמים - להתחבר לאינטרנט גם בזמן תנועה. החיבור יכול להתבצע באמצעות רשת סלולרית או באמצעות Wi-Fi.
רשתות ביתיות (Home Networks)
הרשת שאנחנו מכירים מהבית.
היא מחברת בין המחשבים, הטלפונים, הטלוויזיות החכמות, המדפסות ושאר המכשירים בבית, ומאפשרת לכולם להשתמש באותו חיבור לאינטרנט.
רשתות של ספקי אינטרנט (ISP Networks)
ספקי האינטרנט הם אלה שמחברים אותנו לאינטרנט.
חברות כמו בזק, הוט, פרטנר וכו' מפעילות רשתות גדולות שמקשרות בין מיליוני משתמשים לבין שאר האינטרנט.
רשתות להפצת תוכן (CDN)
כשהרבה אנשים רוצים להגיע לאותו תוכן - למשל סרטון ביוטיוב או אתר אינטרנט - לא תמיד כדאי שכל אחד יפנה לשרת המקורי.
לכן יש רשתות CDN (Content Delivery Network).
השרת המקורי מעתיק את התוכן לשרתים שנמצאים באזורים שונים בעולם. בפעם הבאה שמשתמש מאותו אזור יבקש את אותו התוכן, הוא יקבל אותו מהשרת שקרוב אליו במקום מהשרת המרוחק.
ככה זמן הטעינה מתקצר והעומס על השרת הראשי קטן משמעותית.
רשתות ארגוניות (Enterprise Networks)
הרשתות האלה נמצאות בארגונים גדולים, כמו אוניברסיטאות, חברות, בתי חולים ומשרדי ממשלה.
הן מחברות בין מחשבים, שרתים, מערכות מידע וגיבויים, ומאפשרות ניהול משתמשים, הרשאות ואבטחת מידע ברמה גבוהה.
איך רשתות מתקשרות אחת עם השנייה?
נניח שאתם נמצאים בבית ורוצים להתחבר לשרת שנמצא במקום העבודה.
זה יראה בערך ככה:
המחשב שלכם > הרשת הביתית > ספק האינטרנט > ליבת האינטרנט > ספק האינטרנט של מקום העבודה > הרשת הארגונית > השרת.
אותו מסלול עובד גם בכיוון ההפוך כשהשרת מחזיר תשובה.
אם שתי הרשתות מחוברות לאינטרנט ומשתמשות באותם פרוטוקולים, הן יכולות לתקשר ביניהן.
האינטרנט כמערכת של שירותים
כשחושבים על האינטרנט, בדרך כלל מדמיינים כבלים, נתבים ושרתים.
אבל האינטרנט הוא הרבה יותר מזה - הוא גם פלטפורמה שנותנת שירותים.
אפשר להסתכל עליו משתי נקודות מבט.
תשתית (Infrastructure)
האינטרנט נותן את התשתית שעליה עובדים כמעט כל השירותים שאנחנו מכירים:
אתרי אינטרנט, דואר אלקטרוני, שיחות וידאו, משחקים מקוונים, רשתות חברתיות, מסחר אלקטרוני וכו'.
כל השירותים האלה משתמשים בפרוטוקולים כמו TCP, IP, HTTP ו-UDP כדי להעביר מידע בצורה אמינה ומהירה.
ממשק תכנות (Programming Interface)
האינטרנט נותן גם ממשקי תכנות (APIs), שמאפשרים למפתחים להשתמש בתשתית קיימת בלי לבנות הכול מהתחלה.
עם הממשקים האלה אפשר לשלוח מידע, לקבל מידע, ליצור חיבורים, לנתק חיבורים ולהשתמש בכל מיני פרוטוקולים בצורה פשוטה יחסית.
מה זה פרוטוקול?
פרוטוקול הוא אוסף של כללים שמגדירים איך שני צדדים מתקשרים אחד עם השני.
אפשר לחשוב על זה כמו על שפה משותפת.
כששני אנשים מדברים, שניהם צריכים להבין את אותה השפה. אחרת כל אחד ישמע מילים, אבל לא יבין את המשמעות.
בדיוק אותו דבר קורה בין מחשבים.
כדי ששני מחשבים יוכלו לתקשר, שניהם חייבים להשתמש באותו פרוטוקול.
פרוטוקול מגדיר שלושה דברים עיקריים:
איך נראית כל הודעה (הפורמט).
באיזה סדר שולחים את ההודעות.
מה צריך לעשות כשמתקבלת הודעה או כשמתרחשת שגיאה.
לכל סוג של מידע משתמשים בפרוטוקולים שמתאימים לו.
לדוגמה, להעברת קול, וידאו ותמונות צריך כללים שונים, בגלל שלכל אחד מהם יש צרכים אחרים.
תכלס, כמעט כל פעולה שאנחנו עושים באינטרנט - משליחת הודעת WhatsApp ועד צפייה בסרטון ביוטיוב - עובדת עם כמה פרוטוקולים שעובדים ביחד.
דוגמה לפרוטוקול
זה כמו שיחה בין שני אנשים.
אחד אומר:
"שלום."
השני עונה:
"שלום."
אחרי זה הראשון שואל:
"מה השעה?"
והשני אומר:
"שלוש וחצי."
כל אחד יודע מתי לדבר, מה מצופה ממנו ואיך להגיב.
זאת בעצם דרך של תקשורת שמבוססת על כללים מוסכמים - כלומר, סוג של פרוטוקול :).
ככה גם מחשב ושרת מתקשרים ביניהם.
המחשב שולח בקשת התחברות.
השרת מאשר.
המחשב מבקש קובץ.
השרת מחזיר את הקובץ.
גם כאן שני הצדדים עובדים לפי משהו ידוע מראש - הפרוטוקול.
מי קובע את הפרוטוקולים?
בשנות ה-70, בזמן שפותחה רשת ARPANET - הרשת שנחשבת לאב הקדמון של האינטרנט - היה צריך לקבוע כללים אחידים שיאפשרו למחשבים אחרים לתקשר אחד עם השני.
בשביל זה הוקם ארגון בשם IETF (Internet Engineering Task Force).
ה-IETF אחראי לפיתוח ולתחזוקה של הרבה מהפרוטוקולים שעליהם האינטרנט מבוסס.
כשמפתחים פרוטוקול חדש, הוא מתפרסם קודם כל במסמך שנקרא RFC (Request for Comments).
המסמך פתוח לכל הקהילה, ומהנדסים מכל העולם יכולים לקרוא אותו, להעיר הערות ולהציע שיפורים.
אחרי שהקהילה מגיעה להסכמה, ה-RFC הופך לתקן רשמי.
ככה בדיוק נוצרו פרוטוקולים כמו:
HTTP, TCP, IP, DNS
השיטה הזאת אפשרה לפתח את האינטרנט בצורה פתוחה, מהירה ושיתופית, והיא אחת הסיבות המרכזיות לזה שהאינטרנט התפתח במהירות והפך לרשת הגלובלית שאנחנו מכירים היום.
תגובות למדריכים כאן