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