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 E-mail, 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 кажу це, де Дані всередині ПТС 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 Потім він бачить, що є ТСР шар, і він каже, 91 00:04:49,530 --> 00:04:52,720 ОК, схоже, це збирається в порт х, або у порту. 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 І давайте говорити про це E-mail є досить маленьким, 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-шару, ТСР, 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 Пам'ятайте 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