1 00:00:00,000 --> 00:00:04,884 2 00:00:04,884 --> 00:00:08,050 DOUG LLOYD: Dans cette vidéo, nous allons pour parler de la Transmission Control 3 00:00:08,050 --> 00:00:10,440 Protocole TCP. 4 00:00:10,440 --> 00:00:13,290 Si vous ne l'avez pas regardé le vidéo sur le protocole Internet, IP, 5 00:00:13,290 --> 00:00:15,290 vous pouvez le faire avant de regarder cette vidéo 6 00:00:15,290 --> 00:00:18,680 parce que les deux sont assez liés. 7 00:00:18,680 --> 00:00:21,100 >> Ainsi, le protocole Internet, encore une fois, un résumé rapide, 8 00:00:21,100 --> 00:00:22,930 qui est le protocole qui se déplace d'informations 9 00:00:22,930 --> 00:00:28,210 à partir d'une machine d'envoi à une réception Machine à travers le réseau. 10 00:00:28,210 --> 00:00:29,720 >> Alors, quel est le protocole TCP? 11 00:00:29,720 --> 00:00:33,310 Alors que tout déplacement d'un envoi Machine à usiner de réception, 12 00:00:33,310 --> 00:00:35,120 est pas toute l'histoire. 13 00:00:35,120 --> 00:00:38,040 Nous savons aussi que notre programme, nos ordinateurs, par exemple, 14 00:00:38,040 --> 00:00:41,000 sont l'exécution de plusieurs programmes, et ont de multiples services 15 00:00:41,000 --> 00:00:45,140 fonctionnant sur ces machines. 16 00:00:45,140 --> 00:00:51,750 Et donc, si nous voulons obtenir un paquet, ou des informations à un programme spécifique, 17 00:00:51,750 --> 00:00:54,590 sur une machine spécifique, nous avons besoin de plus d'informations 18 00:00:54,590 --> 00:00:59,490 que ce que permet IP nous d'obtenir Informations du point A au point B. 19 00:00:59,490 --> 00:01:02,390 >> Donc, TCP peut être considéré diriger le paquet en tant que 20 00:01:02,390 --> 00:01:07,590 au programme correct, ou le bon service sur la machine réceptrice. 21 00:01:07,590 --> 00:01:11,810 Et il est donc important pour, comme vous le feriez attendre, savoir où il est censé aller, 22 00:01:11,810 --> 00:01:14,550 et que le paquet est pour en même temps. 23 00:01:14,550 --> 00:01:18,370 Et donc, souvent, quand vous parlez de protocole de contrôle de transmission, TCP, 24 00:01:18,370 --> 00:01:23,900 vraiment souvent vous l'entendez dans le contexte, TCP IP slash, ou tout simplement TCP / IP. 25 00:01:23,900 --> 00:01:27,639 Ces deux protocoles sont si interdépendants, ils sont essentiellement 26 00:01:27,639 --> 00:01:28,680 traités comme une seule unité. 27 00:01:28,680 --> 00:01:31,630 Mais ils sont deux protocoles distincts que faire deux choses distinctes. 28 00:01:31,630 --> 00:01:36,690 >> Encore une fois, IP est responsable de l'obtention il d'une machine à une autre. 29 00:01:36,690 --> 00:01:41,250 Et TCP est responsable de obtenir pour le bon programme, 30 00:01:41,250 --> 00:01:43,490 ou le service correct sur une machine. 31 00:01:43,490 --> 00:01:45,500 Et il fait quelque chose autre que la propriété intellectuelle ne fait pas, 32 00:01:45,500 --> 00:01:48,600 qui est la prestation de garantie. 33 00:01:48,600 --> 00:01:55,060 >> Donc, si nous avons maintenant deux adresses IP d'une machine traiter avec le nombre dite port, 34 00:01:55,060 --> 00:01:58,750 et un numéro de port spécifique est de savoir comment un un service, ou l'utilité, ou d'un programme, 35 00:01:58,750 --> 00:02:00,350 est identifié sur une machine. 36 00:02:00,350 --> 00:02:03,920 Si nous avons maintenant une adresse IP adresse et un numéro de port, 37 00:02:03,920 --> 00:02:07,240 maintenant, nous pouvons identifier de manière unique un service particulier 38 00:02:07,240 --> 00:02:09,479 fonctionnant sur une machine particulière. 39 00:02:09,479 --> 00:02:11,920 >> Voilà pourquoi TCP et IP sont si souvent interdépendants, 40 00:02:11,920 --> 00:02:14,170 parce que le numéro de port sur sa propre n'a pas vraiment 41 00:02:14,170 --> 00:02:17,670 veut rien dire si vous avez besoin d'un numéro de port, et la machine 42 00:02:17,670 --> 00:02:19,566 que vous parlez. 43 00:02:19,566 --> 00:02:24,060 Qu'est-ce que la machine est censé être l'aide ce port particulier, par exemple. 44 00:02:24,060 --> 00:02:28,350 >> L'autre chose que le protocole TCP fait, comme Je l'ai dit, est-il garantit la livraison. 45 00:02:28,350 --> 00:02:30,810 Donc, en plus de en spécifiant le numéro de port, 46 00:02:30,810 --> 00:02:34,640 elle indique également combien paquets, le protocole Internet, IP, 47 00:02:34,640 --> 00:02:36,110 a divisé les données. 48 00:02:36,110 --> 00:02:41,200 Et il ordonne les paquets afin qu'ils peut être reconstruit sur le récepteur 49 00:02:41,200 --> 00:02:45,820 machine, même si elles received-- dans un ordre différent de celui qu'ils ont été envoyés. 50 00:02:45,820 --> 00:02:48,460 Qui peut se produire parce que la PI est un protocole sans connexion, 51 00:02:48,460 --> 00:02:52,610 et ainsi de différents paquets peuvent prendre des chemins différents à travers le système. 52 00:02:52,610 --> 00:02:53,660 53 00:02:53,660 --> 00:02:55,865 >> Certains de ces numéros de port sont très couramment utilisé, 54 00:02:55,865 --> 00:02:57,990 et ils ont été normalisées dans tous les ordinateurs, 55 00:02:57,990 --> 00:03:00,500 comme, à peu près tous fabricant de l'ordinateur maintenant. 56 00:03:00,500 --> 00:03:03,612 Donc, quelque chose appelé FTP, le protocole de transfert de fichiers, 57 00:03:03,612 --> 00:03:05,820 qui est utilisé pour transmettre fichiers, comme vous vous en doutez, 58 00:03:05,820 --> 00:03:10,060 d'une machine à l'autre, qui utilise le port 21 de manière classique. 59 00:03:10,060 --> 00:03:13,000 Email, SMTP, utilise le port 25. 60 00:03:13,000 --> 00:03:16,070 DNS, le système de nom de domaine, ce qui nous parlé dans notre primaire d'Internet 61 00:03:16,070 --> 00:03:17,976 vidéo, utilise le port 53. 62 00:03:17,976 --> 00:03:20,100 Si jamais vous êtes parcourant le web, vous êtes à peu près 63 00:03:20,100 --> 00:03:23,440 toujours en utilisant le port 80, à moins que vous naviguez sur le Web en toute sécurité, 64 00:03:23,440 --> 00:03:26,060 la navigation Web sécurisée, en utilisant le port 443. 65 00:03:26,060 --> 00:03:28,610 66 00:03:28,610 --> 00:03:30,790 >> Alors, quel est ce / IP TCP processus? 67 00:03:30,790 --> 00:03:33,730 Qu'est-ce qui se passe à la fois ensemble de ces protocoles? 68 00:03:33,730 --> 00:03:35,520 Eh bien, nous allons parler à ce sujet. 69 00:03:35,520 --> 00:03:39,420 Lorsqu'un programme veut envoyer des données, TCP permet de briser en morceaux, 70 00:03:39,420 --> 00:03:42,700 et communique ces paquets vers le logiciel de l'ordinateur en réseau. 71 00:03:42,700 --> 00:03:45,850 Donc, il faut des données et il enroule autour de lui des renseignements 72 00:03:45,850 --> 00:03:48,700 qui indique quel port est censé aller, 73 00:03:48,700 --> 00:03:52,500 et ce afin que paquet est hors de tout. 74 00:03:52,500 --> 00:03:56,940 Donc, assurez un seul paquet de 10, deux de 10, de 10 trois, et ainsi de suite. 75 00:03:56,940 --> 00:04:01,750 >> IP obtient ces morceaux de données qui ont été enveloppé avec TCP, 76 00:04:01,750 --> 00:04:06,447 et enveloppements plus d'informations sur où le paquet est censé aller. 77 00:04:06,447 --> 00:04:08,780 Nous pourrions appeler cela l'IP couches entourant le paquet. 78 00:04:08,780 --> 00:04:11,210 Ainsi, il est en quelque sorte, comme, une de ces poupées gigognes. 79 00:04:11,210 --> 00:04:14,780 Nous avons les données de la milieu, puis TCP sur le haut de, 80 00:04:14,780 --> 00:04:17,920 dire là où la données à l'intérieur de TCP est 81 00:04:17,920 --> 00:04:22,150 censé aller, à quel port ou ce service sur un ordinateur. 82 00:04:22,150 --> 00:04:25,110 Autour de ce qui est la couche IP. 83 00:04:25,110 --> 00:04:29,230 Quelle adresse IP, quelle machine, est réellement obtenir ce. 84 00:04:29,230 --> 00:04:32,070 >> Alors, ce paquet qui a été enveloppé avec toutes ces couches, 85 00:04:32,070 --> 00:04:35,250 est envoyé à travers le protocole Internet à travers le système de routeurs, obtenir 86 00:04:35,250 --> 00:04:39,960 du point A au point B. Lorsque le linge, ou de réception, obtient 87 00:04:39,960 --> 00:04:42,790 , il se penche sur la propriété intellectuelle couche, dit-il, que ce yup 88 00:04:42,790 --> 00:04:45,260 mon adresse IP, donc il faut off, sorte de fissures de l'œuf, 89 00:04:45,260 --> 00:04:47,380 et enlève la couche IP. 90 00:04:47,380 --> 00:04:49,530 Puis il voit qu'il ya une couche TCP, et il dit, 91 00:04:49,530 --> 00:04:52,720 OK, on ​​dirait que cela est allant vers le port x, y ou le port. 92 00:04:52,720 --> 00:04:55,842 Et apparemment, il est nombre de paquets huit des 15. 93 00:04:55,842 --> 00:04:56,800 Donc, ce qui est bon à savoir. 94 00:04:56,800 --> 00:05:01,240 Ainsi donc, cela peut prendre cette information, enlever la couche TCP maintenant, 95 00:05:01,240 --> 00:05:04,410 sachant qu'il est pour le port x, et il est certain nombre de paquets de huit, 96 00:05:04,410 --> 00:05:06,270 et obtenir les données à l'intérieur. 97 00:05:06,270 --> 00:05:09,460 Et il peut préparer les données à être organisée dans le bon sens. 98 00:05:09,460 --> 00:05:11,449 Et une fois que tout le Les données sont reçues, TCP 99 00:05:11,449 --> 00:05:13,990 peut remettre le tout à la bonne le service, et de dire, ici vous allez. 100 00:05:13,990 --> 00:05:16,107 Voici les données que vous avez reçu. 101 00:05:16,107 --> 00:05:17,940 Ce processus pourrait ressembler quelque chose comme ca. 102 00:05:17,940 --> 00:05:21,392 Donc, nous allons envoyer un email à partir de un émetteur à un récepteur. 103 00:05:21,392 --> 00:05:23,100 Et disons que cette e-mail est assez petite, 104 00:05:23,100 --> 00:05:25,975 donc nous avons seulement besoin de le casser en quatre paquets, et nous allons leur un appel, 105 00:05:25,975 --> 00:05:29,460 B, C, et D. Eh bien, nous voulons aller ce premier paquet ce qui se passe? 106 00:05:29,460 --> 00:05:34,491 Eh bien, nous prenons ce morceau de données, les données qui fait partie du paquet A, 107 00:05:34,491 --> 00:05:38,500 et autour de ce que nous allons à envelopper d'une couche TCP. 108 00:05:38,500 --> 00:05:41,670 Les e-mails, vous pouvez rappeler, sont envoyés via le port 25, 109 00:05:41,670 --> 00:05:46,181 et nous avons quatre blocs de données, ici, que nous allons être en utilisant, 110 00:05:46,181 --> 00:05:47,430 et ceci est le premier d'entre eux. 111 00:05:47,430 --> 00:05:50,013 Alors peut-être notre couche TCP contient informations sur, eh bien, nous sommes 112 00:05:50,013 --> 00:05:56,060 allant vers le port 25, et ce numéro de paquet est l'un des quatre. 113 00:05:56,060 --> 00:05:59,280 >> Autour de cela, donc maintenant nous avons tout ce informations emmitouflé ensemble, 114 00:05:59,280 --> 00:06:03,000 nous allons dire où nous voulons qu'elle aller, quelle machine, quelle adresse IP 115 00:06:03,000 --> 00:06:04,910 est censé obtenir ce paquet. 116 00:06:04,910 --> 00:06:06,604 Et cela fait partie de la couche IP. 117 00:06:06,604 --> 00:06:08,770 Et il ya d'autres informations là aussi, comme 118 00:06:08,770 --> 00:06:11,300 que l'adresse de retour dans cas où quelque chose se passe mal, 119 00:06:11,300 --> 00:06:14,390 il sait où envoyer informations en arrière, et ainsi de suite. 120 00:06:14,390 --> 00:06:16,475 >> Mais la couche IP va autour de tout cela. 121 00:06:16,475 --> 00:06:19,860 Que toute chose est livré ensemble, comme une seule grande unité, 122 00:06:19,860 --> 00:06:22,080 et envoyé à travers un transfert IP. 123 00:06:22,080 --> 00:06:26,180 Donc, il est acheminé à travers le routeur réseau, en utilisant le protocole Internet. 124 00:06:26,180 --> 00:06:28,700 Et le récepteur reçoit la chose entière. 125 00:06:28,700 --> 00:06:31,910 Et puis, il peut commencer à déconstruire ce qui se passe ici. 126 00:06:31,910 --> 00:06:36,030 Il se penche sur la couche IP, le en dehors de cette couche de données, 127 00:06:36,030 --> 00:06:38,560 et dit, oui, voilà mon IP adresse afin que nous puissions jeter ça. 128 00:06:38,560 --> 00:06:40,685 Je ne peux, en quelque sorte, l'ignorer, n'a pas plus besoin, 129 00:06:40,685 --> 00:06:42,480 et il peut regarder un niveau plus profond. 130 00:06:42,480 --> 00:06:47,590 Il voit que, OK, ce sont des données qui est destiné à être reçu sur le port 25. 131 00:06:47,590 --> 00:06:50,560 Il est apparemment la première partie de quatre. 132 00:06:50,560 --> 00:06:54,260 Donc, je vais garder cela à l'esprit, et de regarder les données, 133 00:06:54,260 --> 00:06:57,349 et l'introduire à peu près où Je pense que ça va aller. 134 00:06:57,349 --> 00:07:00,140 Or, en raison de l'Internet Protocol il est pas nécessairement le cas 135 00:07:00,140 --> 00:07:03,442 que le paquet suivant le destinataire reçoit, est paquet de deux. 136 00:07:03,442 --> 00:07:05,150 En fait, le prochain chose que le destinataire reçoit 137 00:07:05,150 --> 00:07:08,230 pourrait être numéro de paquet parce que ces trois paquets 138 00:07:08,230 --> 00:07:11,777 a pris des chemins différents en raison de différent trafic sur le réseau. 139 00:07:11,777 --> 00:07:14,360 Et donc, je ne vais pas aller à travers le schéma de construire 140 00:07:14,360 --> 00:07:17,560 à nouveau, mais trois paquets se déplace, obtient arrachés 141 00:07:17,560 --> 00:07:20,410 de l'ensemble de ses couches, la Couche IP, la couche TCP, 142 00:07:20,410 --> 00:07:22,420 et les données se mettre dans le bon endroit. 143 00:07:22,420 --> 00:07:25,200 Et puis, disons- reçoit quatre paquets. 144 00:07:25,200 --> 00:07:29,290 >> Maintenant, disons que, ça y est, il ne pas obtenir plus de données. 145 00:07:29,290 --> 00:07:30,300 Qu'est-ce qu'il va faire? 146 00:07:30,300 --> 00:07:32,110 IP ne fait rien pour nous. 147 00:07:32,110 --> 00:07:33,260 Mais TCP fait. 148 00:07:33,260 --> 00:07:38,250 TCP sait, eh bien, je l'ai reçu l'un des quatre, trois ou quatre, et quatre de quatre. 149 00:07:38,250 --> 00:07:41,100 Je ne reçois pas plus de données. 150 00:07:41,100 --> 00:07:43,770 Donc, quelque chose a mal tourné. 151 00:07:43,770 --> 00:07:45,050 Mais je ne peux garantir la livraison. 152 00:07:45,050 --> 00:07:49,300 Je sais ce paquet numéro deux est manquant. 153 00:07:49,300 --> 00:07:52,470 Et si TCP peut maintenant faire une demande, en quelque sorte, dans le sens inverse. 154 00:07:52,470 --> 00:07:55,170 Emmitoufler sa demande de la même façon, 155 00:07:55,170 --> 00:07:57,230 et de l'envoyer via IP, qui, je sais, pourrait 156 00:07:57,230 --> 00:08:00,880 conduire à une sorte de boucle infinie de tout le monde abandon de paquets sur le chemin. 157 00:08:00,880 --> 00:08:05,580 >> Mais il suffit de dire que le protocole TCP dit, je manque un paquet. 158 00:08:05,580 --> 00:08:08,670 Je dois envoyer des informations Retour à l'expéditeur. 159 00:08:08,670 --> 00:08:12,025 Heureusement l'adresse IP de l'expéditeur est, en quelque sorte, emmitouflés dans la couche IP. 160 00:08:12,025 --> 00:08:15,780 Cela fait partie de-- il est le retour adresse sur l'enveloppe. 161 00:08:15,780 --> 00:08:18,800 Et dis, je suis absent numéro de paquet deux, pouvez-vous s'il vous plaît renvoyer. 162 00:08:18,800 --> 00:08:20,550 Lorsque l'expéditeur reçoit cette information, 163 00:08:20,550 --> 00:08:22,599 il n'a pas besoin d'envoyer l'ensemble du nouveau courriel. 164 00:08:22,599 --> 00:08:25,390 Il suffit d'envoyer cette personne morceau de ce qui manquait, 165 00:08:25,390 --> 00:08:27,590 afin que nous puissions envoyer le paquet numéro deux. 166 00:08:27,590 --> 00:08:32,610 Et quand il arrive, maintenant TCP dit, Je dois tous les quatre morceaux de données 167 00:08:32,610 --> 00:08:34,100 que je dois. 168 00:08:34,100 --> 00:08:39,590 Donc, je peux les assembler, et prendre tout ce bloc d'informations 169 00:08:39,590 --> 00:08:44,169 et le transmettre à port 25, où il sera interprété comme un email. 170 00:08:44,169 --> 00:08:47,010 Et that-- de cette manière que nous avons maintenant envoyer un e-mail de l'expéditeur 171 00:08:47,010 --> 00:08:49,273 au récepteur utilisant le protocole TCP / IP. 172 00:08:49,273 --> 00:08:51,430 173 00:08:51,430 --> 00:08:54,180 Donc, comme je le disais, si à tout moment le long de la façon dont quelque chose a mal tourné, 174 00:08:54,180 --> 00:08:56,600 TCP peut traiter avec elle. 175 00:08:56,600 --> 00:09:00,010 Il peut faire une demande pour que le informations est envoyé de nouveau à lui. 176 00:09:00,010 --> 00:09:01,840 Et il peut reconstruire le message. 177 00:09:01,840 --> 00:09:05,090 Et une fois qu'il a reconstruit le message à partir de tous les paquets qu'il est reçu, 178 00:09:05,090 --> 00:09:10,350 alors il peut les organiser et de les livrer au service correct. 179 00:09:10,350 --> 00:09:11,990 >> Voilà donc TCP en un mot. 180 00:09:11,990 --> 00:09:14,550 Voilà comment nous garantissons diffusion de l'information. 181 00:09:14,550 --> 00:09:16,540 Rappelez-vous le TCP travaille fréquemment avec IP, 182 00:09:16,540 --> 00:09:18,990 de sorte que ces deux protocoles vraiment ne vont main dans la main. 183 00:09:18,990 --> 00:09:22,160 Nous en avons discuté dans plusieurs vidéos ici parce qu'ils font des choses différentes, 184 00:09:22,160 --> 00:09:26,190 mais ils sont si intimement liés, ils on utilise généralement ensemble. 185 00:09:26,190 --> 00:09:27,150 >> Je suis Doug Lloyd. 186 00:09:27,150 --> 00:09:29,160 Ceci est CS50. 187 00:09:29,160 --> 00:09:31,233