דאג LLOYD: אם צפו וידאו פריימר האינטרנט שלנו, עזבתי קצת סחרור מסוכן מדבר על האינטרנט ואיך זה מערכת של פרוטוקולים. ובכן, בואו נדבר על הראשון של פרוטוקולים אלה ש למעשה כולל את האינטרנט. ומעניין מספיק, זה נקרא פרוטוקול האינטרנט, שאנחנו בדרך כלל מתייחסים כאל IP. אז האינטרנט, כמו שאמרתי, הוא רשת מחוברת, אינטרנט, וזה באמת רק כמה רשתות שזורה יחד והסכימו איכשהו כדי לתקשר אחד עם השני. מה זה על איכשהו אני מדבר? ובכן, זה הוא פרוטוקול האינטרנט. זה מכתיב כיצד מידע מועבר מנקודת א 'לנקודה ב' וזה סוג של מצב של הצטרפות לרשת של האינטרנט הוא הסכים ללכת בדרך זו צרכי מידע פרוטוקול כאשר להתרגש מנקודת א 'לנקודה ב' אז בסופו של הדבר מאוד של ש וידאו פריימר אינטרנט, הראיתי את התמונה של מה שהאינטרנט היה. ובקנה מידה קטן, זה הוא למעשה כנראה די מדויק. זה יכול להיות איך שלוש רשתות למעשה לדבר אחד עם השני. אבל זה קצת מטעה. והסיבה שזה קצת מטעה הוא דבר משום אם אני רק מספר הרשתות ל למען הנוחות כאן ואנחנו להיפטר מכל דבר אחר ורק להתמקד בnetworks-- זה קצת מטעה משום ש משמעות דבר הוא כי כל שלוש הרשת קשר אחד לשני. One מחובר לשניים. שני מחוברים לשלושה. ושלוש מחוברים לאחד. וכשאני מדבר על חיבור כאן, אני מדבר על פיזי, חיבור קווי. יש לנו אלחוטי. אבל זה באמת לא מעשי ל הנתונים שמועברים באופן אלחוטי על בקנה מידה גדולה. וכך בשלב מסוים, אנחנו באמת להסתמך על חוטי טלפון טכנולוגיה-- קווית, חוטי סיבים אופטיים, בטכנולוגיות שונות שמתחברים פיזי נקודה לנקודת B. ובקנה מידה קטן כמו זה-- זה יכול להיות מדויק, אבל כתמונה מקבלת קצת יותר גדול, בואו עכשיו לדמיין שיש לנו שש רשתות שונות. אם זה נכון, עכשיו יש לנו משהו כזה לכל רשת להיות מחובר לכל רשת אחרת. ואם אתה מסתכל, כל רשת יש חמישה חיצים מחוברים אליו. אז הכל מחובר לכל רשת אחרת. יש לנו רק שש רשתות כאן, וכבר מסתכל על כמה חיווט אנחנו צריכים להעסיק, נכון? והאינטרנט מורכב מ הרבה יותר משש רשתות. אנחנו לא יכולים להרשות לעצמו חוט אחד רשת לכל רשת אחרת, במיוחד בהתחשב בכמה מ רשתות אלה משתרעים על פני אוקיינוסים, נכון? אם אנחנו מנסים להתחבר ל רשת באסיה או באירופה, אנחנו הולכים צריכים היקף כל אוקיינוס. אנחנו הולכים צריכים להשתמש חוטים בשלב מסוים, אבל אנחנו רוצים למזער את מספר החוטים אנחנו בעצם להשתמש. אנחנו לא רוצים לשלוח מיליון חוטים מעבר לאוקיינוס, כי הם עולים מיליוני דולרים לכל אחד לשכב. וכל כך מהר, לא היינו מסוגל להרשות לעצמם באינטרנט יותר. אז אנחנו צריכים שנהיה לי אחר דרך לכל רשת לדבר עם כל אחר רשת או אחר אנחנו יש חתיכות של האינטרנט שמנותקים מחתיכות של האינטרנט אחרות. וזה לא מה שאנחנו רוצים. אבל אנחנו לא רוצים שיהיו לי כולם יחד קווית. וזה מקום שבי נתבים אחזור למשחק. אנו יכולים להשתמש בנתבים באופן הבא. מה אם במקום כל רשת להיות פיזית מחובר לכל רשת אחרת, אנחנו היו חתיכות מתווך אלה, שבי הרשתות חוברו למתווכים אלה, ש מחוברים לכמה רשתות. אז במקום שיש אחד להתחבר ל שתיים, שלוש, ארבעה, חמש, שש, אולי אחד מתחבר לנתב, שאולי מתחבר לאחד או שניים מאלה רשתות, אלא גם אולי מתחבר לאחרים נתבים, אשר גם יתחבר לרשתות אחרות אלה. והעבודה של הנתב הוא-- הוא מכיל מידע נקרא טבלת ניתוב שמכתיב בי לעשות אני הולך אם אני רואה את כתובת ה- IP מסוימת? אם אני רואה את התחלת כתובת ה- IP עם ארבעה, אני הולך ללכת בדרך זו. אם ראיתי את כתובת ה- IP מתחיל עם 12, אני מתכוון ללכת בדרך זו. אנחנו לא צריכים להיות מחוברים פיזי למספר רשת ארבעה או מספר רשת 12 בדוגמא זו. רק אנחנו יודעים בדרך כלל שבו אנחנו רוצים ללכת. ואם אתה חושב על זה, זה סוג של דומה למושג רקורסיה שדיברנו על כש אנחנו מדברים על זה בג אני לא הולך לחבר אותך בדיוק שבו אתה רוצה ללכת. אני רק הולך להעביר אותך צעד אחד קרוב יותר לאן שאתה רוצה ללכת. ואני אתן לי עסקה אחרת מישהו עם פתרון שאר הבעיות. אני רק לפתור חתיכה קטנה של הבעיה ולדחות את השאר למישהו אחר. אז מידע ניתוב הוא למעשה סוג של דומה לרקורסיה. אם זה מושג שאתה מבין טוב, אולי האנלוגיה שתעזור. אז בואו נסתכל דוגמא זו ברשת שוב ומניח כי, שוב, אנחנו הולכים להשתמש באותם שש רשתות, אחד עד שש. אז בואו נגיד שכל כתובת ה- IP ברשת אחת מתחיל עם אחד משהו נקודה. ואנו אומרים שיש משהו אחר ש עסקות עם איך כל המערכות מחוברים לרשת אחת. רק אכפת לנו חיבור כל אלה רשתות יחד באינטרנט. אז כל מכשיר שהוא מחובר לרשת אחת יש כתובת IP שמתחילה ב נקודה אחת ולאחר מכן שלושה מספרים אחרים. זוהי הכללה של הדברים בדרך של עבודה בפועל. זה די קצת יותר מדויק מזה. אבל זה אמור לתת לך רעיון כללי של מה באינטרנט הפרוטוקול עושה בעצם. אז זה היה התרשים שהיו לנו בעבר. זה היה המערכת ש לא היה בר-קיימא. אפילו שש, זה יכול להיות על אישור. אבל אם אנחנו מקבלים עד 10 או 20 או 50, אנחנו הולך להיות שוכב הרבה חוטים. ו -50 עדיין גם לא אפילו קצה הקרחון כלמספר רשתות שיש לנו. אז מודל זה אינו בר קיימא. אנחנו לא יכולים להישאר עם זה. אז בואו במקום לאמץ מודל זה שבו אנחנו להיפטר כל החוטים בין רשתות ונוסיף נתבים. אז קופסות הצהובות אלה מייצגים נתבים. ותפקידם הוא להעביר מידע כלל קרוב יותר למקום שבו אמור ללכת. ואולי אלה הם החיבורים שיש לי רשתות אלה. ואולי אלה הם השולחנות שבנויים לתוך נתבים. אז אם אנחנו פשוט להתחיל על ידי הסתכלות ברשת אחת, למשל, בעצם מה שזה אומר הוא שאם אי פעם אני רואה את כתובת ש לא מתחיל בone-- זה מה ש סימן קריאה אחד או המפץ אחד שם, לא one-- אני הולך להעביר אותו לנתב. ומשם, את הנתב תוכל לקבל החלטה. הנתב אומר שאם אני רואה אחד, אני הולך לעבור למספר אחד ברשת. זה החץ הירוק לכיוון יישאר מחוץ לקופסה השמאלית העליונה. אם אני רואה two-- זה הסוג של חץ כותרת לפינה הימנית העליונה כלפי network-- הסגול אם אני רואה את כתובת ה- IP מתחיל עם שתי, אני הולך לכיוון שתי הרשת. אם אני רואה שלוש, ארבעה, חמש, או six-- זה שחץ אדום יוצא של router-- השמאלי העליון אני לא מחובר לשלוש, ארבעה, חמישה, או שישה. אבל אני מכיר מישהו שהוא או שזה קצת יותר קרוב לשם. אז רק אני הולך לומר, בכל פעם שאני רואה את כתובת ה- IP מתחיל עם שלוש, ארבעה, חמש, או שש, אני רק הולך לשלוח אותו אל הנתב ש. אז אני אעבור את זה קצת יותר קרוב ל שבו הוא אמור ללכת ולתת לי מבצע נתב עם הבעיה. וכמו שאתה יכול אם אתה see-- רציתי להשהות כאן וtrace-- אתה יכול להגיע לכל נקודה אחרת ב הרשת מכל מקום בו אתה נמצא. כל שש הרשתות עדיין יכולים להתחבר לכל רשת אחרת אבל הם לא פיזי מחובר יותר. הם עכשיו צעדי ביניים אלה. עכשיו, כמובן שיש סחר הנחה של מהירות, נכון? אם אחד היה ישירות מחובר לשש, שלא היית צריך לעבור שתי נתבים לאורך הדרך. אז אנו עשויים להיות מסוגלים לקבל חיבור קצת יותר מהר. אבל אולי זה trade-off שווה את זה, נכון? אם זה הולך להיות כל כך יקר במונחים של עלות בפועל, דולרים וסנאט, חוט לפיזי כל הרשתות הללו יחד, אולי קצת האטה במהירות היא על אישור. אנחנו יכולים לסבול את זה. אז שוב, בדוגמא שהיינו רק מדבר, אף אחד מהרשתות להתחבר ישירות זה לזה כל. יש לי יכול been-- אולי בדוגמא ש יכולנו לקבל אותו כך ש אולי רשת אחת ושתיים היו מחובר ישירות. ושיהיה בסדר. רשתות חלקם פיזית מחובר לרשתות אחרות. אבל הם לא כל מחוברים זה לזה. הם מסתמכים על routers-- בexample-- המסוים הזה כדי לפזר את התקשורת מנקודת א 'לנקודה ב' על scale-- קטן כמו מה על כאן-- אנחנו מדברים תצורה זו באמת עשויה להיות יותר יעיל מאשר רק יש קשר ישיר. אבל בקנה מידה גדול, אנחנו יכולים קנה המידה של המערכת הרבה יותר טוב. זה באמת הולך להפחיתנו עלות של תשתית רשת יש נתבים מתווך שתפקידם זה הוא להעביר את התנועה מהשולח למקלט, מנקודת א 'לנקודה B, בניגוד לחיווט כולם יחד. אז בואו נסתכל דוגמא למידע נסיעה באמצעות פרוטוקול אינטרנט זה. נניח שאני מבחינה פיזית ממוקם בIP 1.208.12.37 כך אני קיים אי שם ברשת אחת. ואני רוצה לשלוח הודעה אליך. ואתה על חמש רשת ב5.188.109.14. כתובת ה- IP שלך עושה דווקא לא משנה, אבל בדוגמא זו בפרט על הכללה זו אנחנו מדברים ממה שפרוטוקול האינטרנט הוא כל על. אתה ברשת חמש, ואני ברשת אחת. כפי שניתן לראות, אנחנו לא מחוברים זה לזה בכל. אז אני מתחיל. ואני רוצה לשלוח לך הודעה. ואז איכשהו אני מתקשר שהודעה לנתב. נתב הוא אחד ש למעשה יש את כתובת ה- IP. וזה שבו מסתכל על זה אמור ללכת. אנחנו הולכים לחמישה משהו נקודה. אז עכשיו אני הולך להתחיל באמצעות my-- או נתב, ולא, הוא הולך להתחיל להשתמש בו שולחן הנתב להעביר מידע לאורך. היא רואה שחמישה היא לא אחד, אז זה אומר אני הולך להעביר את זה לאיש הזה. אז הבחור הזה יש לקבל החלטה. לאן אני הולך? ובכן, זה לא אחד, אז אני לא הולך לעבור לרשת אחת. וזה לא שני. אני לא הולך לעבור לשתי רשת. זה מתחיל עם חמש. אני לא מחובר ל חמש, נתב זה אומר. ואז אני פשוט הולך להעביר אותו צריכה-- אני הולך ללכת בדרך הזאת. זה מקום שבי שלשות ו ארבעה וחמישיים ושישית ללכת. ואני אתן לי מבצע בחור עם זה. אני אביא אותו קצת יותר קרוב למקום שבו אמור ללכת. אני יודע שזה אמור ללכת שבכיוון כללי. אבל אולי בחור שיכול להתמודד עם זה. אוקיי. אז בחור שנראה. הוא אומר, בסדר, IP זה כתובת מתחילה בחמש. ובכן, אני מחובר לשלושה ול שש, אז אני לא יכול לקבל את ההודעה ישירות שבו הוא צריך ללכת. אבל זה נתב אחר שם, אני יודע אם אני שולח אותו ארבעה וחמישיות, הוא יכול להתמודד עם אלה. אז זה מעביר אותו לאורך מורד השביל. ואז הנתב הזה אומר, טוב, אני מחובר לרשתות ארבעה וחמש. אז, כן, אני יכול לעזור לך. אני אקח את כתובת ה- IP שלך שמתחיל בחמש. אני אתן לו לרשת חמש. הרשת חמש תעשה קצת עבודה על הסוף ו לתת לך את המסר. ועכשיו יש לנו בהצלחה העביר מסר ממני אליך באמצעות פרוטוקול האינטרנט. שוב, כללי מאוד למטרות המחשה למה שקורה. אבל זה פחות או יותר איך פרוטוקול האינטרנט עובד. נתבים יודעים בדרך כלל לאן לשלוח אותו וישלח את זה צעד אחד לאורך דרך, מקבל את זה יותר ויותר ליעדה עד שאחד הנתב מחובר פיזי לרשת או כתובת או מה ש בשאלה ונותן לו שם. עכשיו, באופן כללי, למעט באמת, הודעות ממש קטנות, קטנות, זה לא הולך לשלוח אותו כנתח גדול אחד של נתונים. אם אני שולח לך email-- דואר אלקטרוני ארוך מאוד, say-- זה לא הולך ל לקחת את זה כל הדואר אלקטרוני, לארוז אותו בכדור או חבילה או מה, ולשלוח כל ש דבר את הרשת. מידע קודם כל, שליחה לאורך הרשת הוא יקר. זה מסתכם. וגדול יותר נתח, יקר יותר זה הוא להעביר כל שלב של הדרך. ואם יש איכשהו האטה ולאחר מכן יש זה giant-- כמו סוג של אם אתה נוהג על הכביש ויש משאית ענקית זו סוג של חסימת הדרך ואתה לא יכול לעקוף אותה משני נתיב כי זה פרוש סוג של. זה מאט את כולם למטה מאחוריו. אבל מכוניות קטנות, אם הם היו כל המכוניות הקטנות, הם עלולים להיות מסוגלים לנוע, אם אנלוגיה שסוג של עוזרת מעט. אז בלוק אחד גדול במערכת יכול כולם באמת להאט אחר. ואז מה IP הוא הולך לעשות מפוצל זה נתונים לתוך מנות. זה הולך לקחת הדוא"ל גדול זה או העברת FTP או העברת קבצים, או אולי אני עושה לבקש דפדפן אינטרנט כי אני רוצה תמונה של חתול. וזה הולך לקחת את זה בקשה או דוא"ל או קובץ ש ולשבור אותו לחתיכות רבות ו לשלוח את כל החלקים בנפרד. כך שלמעשה, אני ממלא את הכביש עם הרבה מכוניות קטנות, שבו כל יכול להעביר במקום משאית גדולה ש אולי, אם משהו משתבש, לחנוק את התנועה לכל אחד אחר. תופעת לוואי נוסף לכך הוא אם יש איזה אסון כישלון ומשהו משתבש והמנות נעשו ירד. משהו נכשל ו הודעה לא ניתן להעביר. הנתב אולי היה לי יותר מדי דברים קורה ב. זה לא יכול לתמרן בין הכל. ואז זה פשוט ממש הפיל אותו. זה סוג של האנלוגיה, נכון? יש לו הרבה דברים קורה. זה עובר מידע מנקודת א 'לנקודה ב אנחנו לא שתי רק אנשים באינטרנט, כך שיש לעבד הרבה תנועה. ואם זה לא מספיק יש לי ידיים ו זה לא יכול להבין מה זה עושה, זה יכול רק טיפת משהו. כך שהוא יכול לעשות משהו אחר. זה חייב יותר מדי קורה. אם היו לנו את המסר שלנו כאחד ענק לחסום וזה מה שקבל ירד, עכשיו אנחנו צריכים לשלוח את ההודעה שוב. ואנחנו עכשיו אולי גורם תנועה שוב. ואנחנו מפעילים את הסיכון של ש בלוק ענק שירד שוב. אבל אם הנתונים של התפרק ל מנות ושחררנו אחד מאותם, זה הרבה פחות יקר לשלוח ש מנות פעם אחת יותר לעומת לכל הזמן עוד דבר אחד. אז IP הוא אחראי להשגת מידע מנקודת א 'לנקודה ב' וגם לשבור את מידע לחתיכות קטנות כך שהרשת אינה במס יתר על המידה. IP ידוע גם בשם פרוטוקול connectionless. יש לא בהכרח נתיב מוגדר מהשולח למקבל או סגן להיפך. עכשיו, בדוגמא זו שדיברנו על, יש בעצם רק דרך אחת כדי להגיע לכל רשת. אז בזה בפרט איור, שם למעשה הוא נתיב מוגדר מ נקודה לנקודת B. אבל אנחנו יכולים לשנות את זה רק על ידי העשייה שינוי אחד לשני נתבים בצד השמאל על ידי הוספה זו תנאים לשולחנות הנתב. עכשיו שמו לב שמ הנתב השמאלי העליון, למעשה יש שתי דרכים להתמודד עם ארבעה או כתובת IP חמש. זה יכול לרדת לפינה השמאלית התחתונה הנתב, או יכול ללכת ימינה, לנתב תקין. יש לו מספר רב של אפשרויות. וזה בעצם דבר סוג של משהו טוב כי זה עושה רשת מגיב יותר. אם לexample-- זה כמו סוג של GPS. אם אי פעם היה נהיגה על הכביש ופתאום GPS שלך מזהיר שלך שתנועה היא קדימה, אתה רוצה להימנע מכך אם אתה יכול. ואז אתה יכול לחשב מחדש את המסלול שלך. ורשת הנתב, ב בנוסף למידע שיש על שבו מנות צריכה ללכת או היכן הנתונים צריכים ללכת, יש גם סוג של דופק כללי זו על מצב הרשת המקומית שלה. מה יקרה אם אני שולח זה בדרך הזאת לעומת דרך זו? וכך באור של תנועה כבדה מצבים ברשת, אולי דברים יקבלו מנותבים יותר דרך יעילה או באופן כללי יותר דרך יעילה, משום ש אם נלך בדרך הרגילה, יש הולך להיות הרבה תנועה. הכביש תקוע לחלוטין. אז אולי מה שנעשינו הוא במקום לקחת דרכים צדדיות, ש בדרך תיקח זמן הרבה יותר, אבל אף אחד לא באמת משתמש בדרכים צדדיות אלה. וכך אנו יכולים מסלול המנות שלנו ככה. אז לא כל מנות של נתח גדול של נתונים עלול לקחת אותו הנתיב מ ההתחלה ועד הסוף. והרשת שלנו הופכת הרבה יותר תגובה אם שולחנות הנתב שלנו מאפשרים לשם להיות מספר רב של אפשרויות לאן ללכת. אנחנו לא תלוי בכי אחד משאית נעה מהדרך. אנחנו יכולים לרדת לכביש ב היציאה והבאה לקחת בדרך אחרת. וכך סוג פרוטוקול האינטרנט של עושה קצת מזה, גם. אז זה את היסודות של פרוטוקול האינטרנט. אבל יש אחד יותר נושא להתמודד עם, ש מה קורה אם אנחנו טיפת מנות? איך אנחנו יודעים שאנחנו הולכים לשלוח מנות זה שוב? נכון? ובכן, פרוטוקול האינטרנט אינו מבטיח משלוח. אנחנו הולכים להיות בהתאם בפרוטוקול אחר כדי להתמודד עם שנקרא Transmission Control Protocol, פרוטוקול TCP. ואנחנו הולכים לדבר על בקרת הילוכים פרוטוקול בווידאו הבא. אני דאג לויד. זה CS50.