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 е конекция протокол, 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 Email, 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 Бихме могли да наречем този ПР слоеве около пакета. 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 това, че изглежда най-ПР слой, той казва, че е Мда 88 00:04:42,790 --> 00:04:45,260 моя адрес, така че е необходимо разстояние, нещо като пукнатини яйцето, 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 OK, изглежда по този начин е Ще порт х, или пристанище у. 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 знаейки, че това е за порт х, и това е пакет номер осем, 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 Той вижда, че, OK, това са данни, че е предназначен да бъде получен на порт 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 Това е част of-- това е връщането адрес на плика. 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 И that-- по този начин ние сме Сега изпрати съобщение от изпращача 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 Запомни ПЗР често работи с 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