1 00:00:00,000 --> 00:00:04,884 2 00:00:04,884 --> 00:00:08,050 דאג LLOYD: בסרטון הזה אנחנו הולכים לדבר על בקרת הילוכים 3 00:00:08,050 --> 00:00:10,440 פרוטוקול, TCP. 4 00:00:10,440 --> 00:00:13,290 אם לא צפה וידאו על פרוטוקול אינטרנט, IP, 5 00:00:13,290 --> 00:00:15,290 ייתכן שתרצה לעשות זאת לפני הצפייה בסרטון זה 6 00:00:15,290 --> 00:00:18,680 כי שני הם די קשורים. 7 00:00:18,680 --> 00:00:21,100 >> אז, פרוטוקול האינטרנט, שוב, סיכום מהיר, 8 00:00:21,100 --> 00:00:22,930 זה הפרוטוקול שזז מידע 9 00:00:22,930 --> 00:00:28,210 ממכונה לשליחת קבלה מכשיר דרך הרשת. 10 00:00:28,210 --> 00:00:29,720 >> אז מה TCP? 11 00:00:29,720 --> 00:00:33,310 בעוד רק עובר משליחה מכונה לקבלת מכונה, 12 00:00:33,310 --> 00:00:35,120 לא הסיפור המלא. 13 00:00:35,120 --> 00:00:38,040 אנחנו גם יודעים שהתכנית שלנו, המחשבים שלנו, למשל, 14 00:00:38,040 --> 00:00:41,000 מפעילים מספר רב של תוכניות, ויש לי שירותים מרובים 15 00:00:41,000 --> 00:00:45,140 רץ על מחשבים אלה. 16 00:00:45,140 --> 00:00:51,750 וכך, אם אנחנו רוצים להגיע מנות, או מידע לתכנית ספציפית, 17 00:00:51,750 --> 00:00:54,590 על מכונה ספציפית, אנו זקוקים למידע נוסף 18 00:00:54,590 --> 00:00:59,490 לא רק מה שמאפשר לנו לקבל IP מידע מנקודת א 'לנקודה ב' 19 00:00:59,490 --> 00:01:02,390 >> אז, ניתן לחשוב על TCP של כבימוי המנות 20 00:01:02,390 --> 00:01:07,590 לנכונה תכנית, או נכונה שירות, על המכשיר המקבל. 21 00:01:07,590 --> 00:01:11,810 ולכן חשוב ל, כפי שאפשר מצפה, יודע איפה זה אמור ללכת, 22 00:01:11,810 --> 00:01:14,550 ומה היא המנות באותו הזמן. 23 00:01:14,550 --> 00:01:18,370 וכך, לעתים קרובות, כשאתה מדבר על פרוטוקול בקרת שידור, TCP, 24 00:01:18,370 --> 00:01:23,900 אתה באמת שומע לעתים קרובות אותו ב הקשר, TCP לקצץ IP, או פשוט TCP / IP. 25 00:01:23,900 --> 00:01:27,639 שני פרוטוקולים אלה הם כל כך קשורים ש, הם בעצם 26 00:01:27,639 --> 00:01:28,680 להתייחס אליהם כיחידה אחת. 27 00:01:28,680 --> 00:01:31,630 אבל הם שני פרוטוקולים נפרדים שתעשה שני דברים נפרדים. 28 00:01:31,630 --> 00:01:36,690 >> שוב, IP אחראי להשגת זה ממחשב אחד למשנהו. 29 00:01:36,690 --> 00:01:41,250 וTCP אחראי ל מקבל את זה לתכנית הנכונה, 30 00:01:41,250 --> 00:01:43,490 או השירות הנכון במחשב. 31 00:01:43,490 --> 00:01:45,500 וזה עושה משהו אחר שIP לא עושה, 32 00:01:45,500 --> 00:01:48,600 אשר הוא משלוח ערבות. 33 00:01:48,600 --> 00:01:55,060 >> לכן, אם אנחנו עכשיו זוג IP של מכונה לטפל במספר היציאה שנקרא, 34 00:01:55,060 --> 00:01:58,750 ומספר יציאה הוא איך ספציפי שירות, או שירות, או תכנית, 35 00:01:58,750 --> 00:02:00,350 מזוהה במחשב. 36 00:02:00,350 --> 00:02:03,920 אם עכשיו יש לנו IP כתובת תוספת מספר יציאה, 37 00:02:03,920 --> 00:02:07,240 עכשיו אנחנו יכולים לזהות באופן ייחודי שירות מסוים 38 00:02:07,240 --> 00:02:09,479 פועל על מכונה מסוימת. 39 00:02:09,479 --> 00:02:11,920 >> אז בגלל זה TCP ו- IP הוא לעתים קרובות כל כך קשורים זה, 40 00:02:11,920 --> 00:02:14,170 בגלל שמספר היציאה בכוחות עצמו לא ממש 41 00:02:14,170 --> 00:02:17,670 אומר כלום אם אתה צריך מספר יציאה, והמכונה 42 00:02:17,670 --> 00:02:19,566 על זה אתה מדבר. 43 00:02:19,566 --> 00:02:24,060 מה המכונה אמורה להיות באמצעות נמל המסוים הזה, לדוגמא. 44 00:02:24,060 --> 00:02:28,350 >> הדבר האחר שעושה TCP, כ אמרתי, זה מבטיח אספקה. 45 00:02:28,350 --> 00:02:30,810 אז, בנוסף ל המפרט את מספר היציאה, 46 00:02:30,810 --> 00:02:34,640 הוא מראה גם כמה מנות, פרוטוקול האינטרנט, IP, 47 00:02:34,640 --> 00:02:36,110 יש לפצל את הנתונים ל. 48 00:02:36,110 --> 00:02:41,200 וזה מזמין מנות אלה ולכן הם ניתן לשחזר בקבלה 49 00:02:41,200 --> 00:02:45,820 מכונה, גם אם הם received-- ב סדר שונה ממה שהם נשלחו. 50 00:02:45,820 --> 00:02:48,460 מה שיכול לקרות בגלל IP הוא פרוטוקול connectionless, 51 00:02:48,460 --> 00:02:52,610 וכך מנות שונות יכולות לקחת נתיבים שונים במערכת. 52 00:02:52,610 --> 00:02:53,660 53 00:02:53,660 --> 00:02:55,865 >> חלק ממספרי יציאות אלה מאוד נפוץ, 54 00:02:55,865 --> 00:02:57,990 והם כבר טופל בכל המחשבים, 55 00:02:57,990 --> 00:03:00,500 כמו, פחות או יותר כל יצרן מחשב עכשיו. 56 00:03:00,500 --> 00:03:03,612 אז משהו שנקרא FTP, פרוטוקול העברת קבצים, 57 00:03:03,612 --> 00:03:05,820 המשמש להעברה קבצים, כמו שהיית מצפים, 58 00:03:05,820 --> 00:03:10,060 ממחשב אחד למשנהו, שמשתמש ביציאה 21 כמקובל. 59 00:03:10,060 --> 00:03:13,000 דוא"ל, SMTP, משתמש ביציאה 25. 60 00:03:13,000 --> 00:03:16,070 DNS, שם תחום המערכת, שבו אנו דיבר על בפריימר האינטרנט שלנו 61 00:03:16,070 --> 00:03:17,976 וידאו, משתמש ביציאה 53. 62 00:03:17,976 --> 00:03:20,100 אם אי פעם גולש האינטרנט, אתה פחות או יותר 63 00:03:20,100 --> 00:03:23,440 תמיד משתמש ביציאה 80, אלא אם כן אתה גולש באינטרנט בצורה מאובטחת, 64 00:03:23,440 --> 00:03:26,060 גלישה מאובטחת באינטרנט, באמצעות יציאה 443. 65 00:03:26,060 --> 00:03:28,610 66 00:03:28,610 --> 00:03:30,790 >> אז מה TCP תהליך זה / IP? 67 00:03:30,790 --> 00:03:33,730 מה קורה עם שני פרוטוקולים אלה ביחד? 68 00:03:33,730 --> 00:03:35,520 ובכן, בואו נדבר על זה. 69 00:03:35,520 --> 00:03:39,420 כאשר תכנית רוצה לשלוח נתונים, TCP עוזר לשבור אותו לחתיכות, 70 00:03:39,420 --> 00:03:42,700 ומתקשר אלה מנות ל תוכנת הרשת של המחשב. 71 00:03:42,700 --> 00:03:45,850 אז זה לוקח את הנתונים ואת זה עוטף מידע סביבו 72 00:03:45,850 --> 00:03:48,700 שמצביע על מה שנמל הוא אמור ללכת ל, 73 00:03:48,700 --> 00:03:52,500 ומה כדי ש מנה מכל. 74 00:03:52,500 --> 00:03:56,940 אז להפוך את מנה אחת של 10, שני 10, שלוש של 10, וכן הלאה. 75 00:03:56,940 --> 00:04:01,750 >> IP מקבל נתחי נתונים אלה ש כבר עטוף עם TCP, 76 00:04:01,750 --> 00:04:06,447 ועוטף מידע נוסף על שבו המנות שאמורה ללכת. 77 00:04:06,447 --> 00:04:08,780 אנו יכולים לקרוא את ה- IP זה שכבות המקיפות את המנות. 78 00:04:08,780 --> 00:04:11,210 אז, זה סוג של, כמו, אחת מבובות קינון אלה. 79 00:04:11,210 --> 00:04:14,780 יש לנו נתונים ב אמצע, ואז TCP בראש, 80 00:04:14,780 --> 00:04:17,920 אומר לו בו נתונים פנימיים של TCP הוא 81 00:04:17,920 --> 00:04:22,150 אמור ללכת, מה יציאה או מה שירות במכונה. 82 00:04:22,150 --> 00:04:25,110 בערך באותו הוא שכבת ה- IP. 83 00:04:25,110 --> 00:04:29,230 מה כתובת ה- IP, מה שמכונה, הוא למעשה מקבל את זה. 84 00:04:29,230 --> 00:04:32,070 >> אז, היו שמנות זה עטוף בכל שכבות אלה, 85 00:04:32,070 --> 00:04:35,250 נשלח באמצעות פרוטוקול האינטרנט באמצעות המערכת של נתבים, מקבל 86 00:04:35,250 --> 00:04:39,960 מנקודת א 'לנקודה כאשר קבלת מכונה, או מכשיר, מקבל 87 00:04:39,960 --> 00:04:42,790 זה, זה נראה בIP שכבה, זה אומר, כן זה 88 00:04:42,790 --> 00:04:45,260 כתובת ה- IP שלי, כך שזה לוקח את, סוג של סדקי הביצה, 89 00:04:45,260 --> 00:04:47,380 ומוריד את שכבת ה- IP. 90 00:04:47,380 --> 00:04:49,530 אז הוא רואה שיש שכבת TCP, וזה אומר, 91 00:04:49,530 --> 00:04:52,720 אישור, נראה כמו זה הולך x נמל, או y נמל. 92 00:04:52,720 --> 00:04:55,842 וכנראה שזה מספר מנות שמונה של 15. 93 00:04:55,842 --> 00:04:56,800 אז זה טוב לדעת. 94 00:04:56,800 --> 00:05:01,240 אז זה יכול לקחת את המידע הזה, לקחת את שכבת TCP עכשיו, 95 00:05:01,240 --> 00:05:04,410 בידיעה שזה לx נמל, וזה מספר מנות שמונה, 96 00:05:04,410 --> 00:05:06,270 ולקבל את הנתונים בתוך. 97 00:05:06,270 --> 00:05:09,460 וזה יכול להכין את הנתונים ל להיות מאורגן בדרך הנכונה. 98 00:05:09,460 --> 00:05:11,449 וברגע שכל קבלת נתונים, TCP 99 00:05:11,449 --> 00:05:13,990 יכול להעביר אותה לנכונה שירות, ואומרים, הנה לך. 100 00:05:13,990 --> 00:05:16,107 הנה נתונים שקיבלתם. 101 00:05:16,107 --> 00:05:17,940 תהליך זה עשוי להיראות משהו כזה. 102 00:05:17,940 --> 00:05:21,392 אז בואו לשלוח דוא"ל מ שולח למקבל. 103 00:05:21,392 --> 00:05:23,100 ונניח שזה הדואר האלקטרוני הוא די קטן, 104 00:05:23,100 --> 00:05:25,975 ולכן אנחנו צריכים רק לשבור אותו ל ארבע מנות, ואנו קוראים להם, 105 00:05:25,975 --> 00:05:29,460 B, C, ו- D ובכן, אנחנו רוצים לעבור כי מנות הראשונות מה קורה? 106 00:05:29,460 --> 00:05:34,491 ובכן, אנחנו לוקחים נתח זה של נתונים, נתונים שהוא חלק מחבילה, 107 00:05:34,491 --> 00:05:38,500 ומסביב שאנחנו הולכים לעטוף אותו בשכבת ה- TCP. 108 00:05:38,500 --> 00:05:41,670 מיילים, אתם אולי זוכרים, נשלחים דרך יציאת 25, 109 00:05:41,670 --> 00:05:46,181 ויש לנו ארבעה נתחי נתונים, כאן, כי אנחנו הולכים להיות באמצעות, 110 00:05:46,181 --> 00:05:47,430 וזה הוא ראשון שלהם. 111 00:05:47,430 --> 00:05:50,013 אז אולי שכבת TCP מכילה מידע על, ובכן, אנחנו 112 00:05:50,013 --> 00:05:56,060 הולך נמל 25, וזה הוא מספר מנות אחד מארבעה. 113 00:05:56,060 --> 00:05:59,280 >> בערך באותו, אז עכשיו יש לנו את כל מה ש מידע מכורבלים יחד, 114 00:05:59,280 --> 00:06:03,000 אנחנו הולכים להגיד לאן שאנחנו רוצים אותו ללכת, מה מכונה, מה כתובת ה- IP 115 00:06:03,000 --> 00:06:04,910 הוא אמור לקבל מנה זו. 116 00:06:04,910 --> 00:06:06,604 וזה חלק משכבת ​​ה- IP. 117 00:06:06,604 --> 00:06:08,770 ויש מידע אחר גם שם, כגון 118 00:06:08,770 --> 00:06:11,300 ככתובת השולח ב למקרה שמשהו משתבש, 119 00:06:11,300 --> 00:06:14,390 הוא יודע לאן לשלוח מידע בחזרה, וכן הלאה. 120 00:06:14,390 --> 00:06:16,475 >> אבל שכבת ה- IP הולכת סביב כל זה. 121 00:06:16,475 --> 00:06:19,860 כי כל הדבר ומוצעת יחד, כיחידה אחת גדולה, 122 00:06:19,860 --> 00:06:22,080 ונשלח באמצעות העברת IP. 123 00:06:22,080 --> 00:06:26,180 אז הוא מקבל מנותב דרך נתב רשת, תוך שימוש בפרוטוקול אינטרנט. 124 00:06:26,180 --> 00:06:28,700 והמקלט מקבל כל הדבר. 125 00:06:28,700 --> 00:06:31,910 ואז זה יכול להתחיל ל לפרק את מה שקורה כאן. 126 00:06:31,910 --> 00:06:36,030 זה נראה בשכבת ה- IP, שכבה חיצונית של נתונים אלה, 127 00:06:36,030 --> 00:06:38,560 ואומר, כן, זה ה- IP שלי כתובת כדי שנוכל להשליך את זה. 128 00:06:38,560 --> 00:06:40,685 אני יכול, סוג של, להתעלם ממנו, לא צריך את זה יותר, 129 00:06:40,685 --> 00:06:42,480 וזה יכול להסתכל אחד רמה עמוק יותר. 130 00:06:42,480 --> 00:06:47,590 היא רואה את זה, בסדר, זה הוא נתונים ש נועד יתקבל ביציאה 25. 131 00:06:47,590 --> 00:06:50,560 זה כנראה החלק הראשון של ארבעה. 132 00:06:50,560 --> 00:06:54,260 אז, אני הולך לשמור את זה ב אכפת, ומסתכל על הנתונים, 133 00:06:54,260 --> 00:06:57,349 וחריץ זה בערך בי אני חושב שזה הולך. 134 00:06:57,349 --> 00:07:00,140 עכשיו, בגלל פרוטוקול האינטרנט זה לא בהכרח המקרה 135 00:07:00,140 --> 00:07:03,442 שהמנה הבאה המקלט מקבל, הוא מנות שתי. 136 00:07:03,442 --> 00:07:05,150 למעשה, הבא דבר מקבל המקלט 137 00:07:05,150 --> 00:07:08,230 יכול להיות מספר מנות שלוש כי מנות אלו 138 00:07:08,230 --> 00:07:11,777 לקח נתיבים שונים בגלל תנועה שונה ברשת. 139 00:07:11,777 --> 00:07:14,360 וכך, אני לא מתכוון ללכת באמצעות התרשים של בנייה זה 140 00:07:14,360 --> 00:07:17,560 שוב, אבל מנות שלוש מהלכים, מקבל הפשיטו משם 141 00:07:17,560 --> 00:07:20,410 של כל שכבותיה, שכבת ה- IP, TCP השכבה, 142 00:07:20,410 --> 00:07:22,420 ומקבל את הנתונים לשים במקום הנכון. 143 00:07:22,420 --> 00:07:25,200 ואז, בואו נגיד את זה מקבל מנה ארבע. 144 00:07:25,200 --> 00:07:29,290 >> עכשיו נניח, זהו זה, זה לא יקבל שום נתונים נוספים. 145 00:07:29,290 --> 00:07:30,300 מה הוא הולך לעשות? 146 00:07:30,300 --> 00:07:32,110 IP לא עושה שום דבר בשבילנו. 147 00:07:32,110 --> 00:07:33,260 אבל TCP עושה. 148 00:07:33,260 --> 00:07:38,250 TCP יודע, גם, שקיבלתי אחד מ ארבעה, שלוש מתוך ארבעה, וארבעה מארבעה. 149 00:07:38,250 --> 00:07:41,100 אני לא מקבל יותר נתונים. 150 00:07:41,100 --> 00:07:43,770 אז משהו השתבש. 151 00:07:43,770 --> 00:07:45,050 אבל אני יכול להבטיח אספקה. 152 00:07:45,050 --> 00:07:49,300 אני יודע שמנות מספר שתיים חסר. 153 00:07:49,300 --> 00:07:52,470 וכך TCP יכול כעת להגיש בקשה, סוג של, בכיוון ההפוך. 154 00:07:52,470 --> 00:07:55,170 אורז את בקשתה באותה הדרך, 155 00:07:55,170 --> 00:07:57,230 ולשלוח אותו באמצעות IP, אשר, אני יודע, יכול 156 00:07:57,230 --> 00:08:00,880 להוביל לסוג של לולאה האינסופית של כולם יורדים מנות בדרך. 157 00:08:00,880 --> 00:08:05,580 >> אבל די אם נאמרתי שTCP אומר, אני חסר מנות. 158 00:08:05,580 --> 00:08:08,670 אני צריך לשלוח מידע בחזרה לשולח. 159 00:08:08,670 --> 00:08:12,025 למרבה המזל כתובת ה- IP של השולח היא, סוג של, עטוף בשכבת ה- IP. 160 00:08:12,025 --> 00:08:15,780 זה חלק של-- זה ההחזרה כתובת על המעטפה. 161 00:08:15,780 --> 00:08:18,800 ואומר, אני חסר מספר מנות שתי, אתה יכול בבקשה לשלוח אותה שוב. 162 00:08:18,800 --> 00:08:20,550 כאשר השולח מקבל מידע ש, 163 00:08:20,550 --> 00:08:22,599 זה לא צריך לשלוח כל הדוא"ל שוב. 164 00:08:22,599 --> 00:08:25,390 זה רק צריך לשלוח אדם ש חלק ממנו שהיה חסר, 165 00:08:25,390 --> 00:08:27,590 כדי שנוכל לשלוח מספר מנות שתי. 166 00:08:27,590 --> 00:08:32,610 וכאשר הוא מקבל את זה, עכשיו TCP אומר, יש לי את כל ארבע חתיכות של נתונים 167 00:08:32,610 --> 00:08:34,100 שאני צריך. 168 00:08:34,100 --> 00:08:39,590 אז, אני יכול להרכיב אותם יחד, ו לקחת בלוק שלם של מידע 169 00:08:39,590 --> 00:08:44,169 ולעבור את זה ביחד לנמל 25, שבו זה יתפרש כהודעת דואר אלקטרוני. 170 00:08:44,169 --> 00:08:47,010 ולראות-- בדרך זו יש לנו עכשיו לשלוח דוא"ל מהשולח 171 00:08:47,010 --> 00:08:49,273 למקלט באמצעות TCP / IP. 172 00:08:49,273 --> 00:08:51,430 173 00:08:51,430 --> 00:08:54,180 אז, כמו שאמרתי, אם בכל נקודה לאורך דרך משהו השתבש, 174 00:08:54,180 --> 00:08:56,600 TCP יכול להתמודד עם זה. 175 00:08:56,600 --> 00:09:00,010 זה יכול להפוך את בקשה ש מידע מקבל נשלח בחזרה אליו. 176 00:09:00,010 --> 00:09:01,840 וזה יכול לשחזר את ההודעה. 177 00:09:01,840 --> 00:09:05,090 וברגע זה שחזר את ההודעה מכל המנות שזה קיבל, 178 00:09:05,090 --> 00:09:10,350 אז זה יכול לארגן אותם ו לספק להם את השירות הנכון. 179 00:09:10,350 --> 00:09:11,990 >> אז זה TCP על קצה מזלג. 180 00:09:11,990 --> 00:09:14,550 כך אנו מבטיחים מסירת מידע. 181 00:09:14,550 --> 00:09:16,540 זכור TCP לעתים קרובות עובד עם ה- IP, 182 00:09:16,540 --> 00:09:18,990 כך שני פרוטוקולים אלה באמת הולכים יד ביד. 183 00:09:18,990 --> 00:09:22,160 דנו אותם בכמה קטעי וידאו כאן בגלל שהם עושים דברים שונים, 184 00:09:22,160 --> 00:09:26,190 אבל הם כל כך קשורים, הם אתה בדרך כלל להשתמש בם יחד. 185 00:09:26,190 --> 00:09:27,150 >> אני דאג לויד. 186 00:09:27,150 --> 00:09:29,160 זה CS50. 187 00:09:29,160 --> 00:09:31,233