1 00:00:00,000 --> 00:00:04,884 2 00:00:04,884 --> 00:00:08,050 DOUG LLOYD: In diesem Video werden wir um über die Transmission Control sprechen 3 00:00:08,050 --> 00:00:10,440 Protokoll TCP. 4 00:00:10,440 --> 00:00:13,290 Wenn Sie nicht gesehen haben, die Video auf Internet-Protokoll, IP, 5 00:00:13,290 --> 00:00:15,290 möchten Sie vielleicht, dies zu tun bevor ich dieses Video 6 00:00:15,290 --> 00:00:18,680 denn die beiden sind ziemlich miteinander verknüpft. 7 00:00:18,680 --> 00:00:21,100 >> So wird die Internet-Protokoll, einmal, eine kurze Zusammenfassung, 8 00:00:21,100 --> 00:00:22,930 das ist das Protokoll dass Informationen bewegt 9 00:00:22,930 --> 00:00:28,210 von einem sendenden Gerät zu einer Empfangs Maschine durch das Netzwerk. 10 00:00:28,210 --> 00:00:29,720 >> Also, was ist TCP? 11 00:00:29,720 --> 00:00:33,310 Während die Mitnahme von einem Sende Maschine zum Empfangen-Maschine, 12 00:00:33,310 --> 00:00:35,120 ist nicht die ganze Geschichte. 13 00:00:35,120 --> 00:00:38,040 Wir wissen auch, dass unser Programm, unsere Computer, beispielsweise 14 00:00:38,040 --> 00:00:41,000 laufen mehrere Programme, und mehrere Dienste 15 00:00:41,000 --> 00:00:45,140 auf diesen Maschinen läuft. 16 00:00:45,140 --> 00:00:51,750 Und so, wenn wir wollen, um ein Paket zu bekommen, oder Informationen über ein bestimmtes Programm, 17 00:00:51,750 --> 00:00:54,590 auf einem bestimmten Computer, wir brauchen mehr Informationen 18 00:00:54,590 --> 00:00:59,490 als nur das, was IP ermöglicht es uns, zu erhalten Informationen von Punkt A nach Punkt B. 19 00:00:59,490 --> 00:01:02,390 >> So können TCP gedacht werden wie die Leitung der Paket 20 00:01:02,390 --> 00:01:07,590 auf die richtige Programm oder der korrekten Service, auf dem empfangenden Gerät. 21 00:01:07,590 --> 00:01:11,810 Und so ist es wichtig, um, wie Sie vielleicht erwarten, wissen, wo es soll gehen, 22 00:01:11,810 --> 00:01:14,550 und was das Paket bei gleichzeitig. 23 00:01:14,550 --> 00:01:18,370 Und so oft, wenn man darüber reden Übertragungssteuerungsprotokoll, TCP, 24 00:01:18,370 --> 00:01:23,900 Sie hören es wirklich oft in die Zusammenhang TCP Slash IP, oder einfach nur TCP / IP. 25 00:01:23,900 --> 00:01:27,639 Diese beiden Protokolle sind so miteinander verknüpft, dass, sie sind im Grunde 26 00:01:27,639 --> 00:01:28,680 als eine Einheit behandelt. 27 00:01:28,680 --> 00:01:31,630 Aber sie sind zwei verschiedene Protokolle dass zwei getrennte Dinge zu tun. 28 00:01:31,630 --> 00:01:36,690 >> Auch hier ist IP für immer verantwortlich sie von einer Maschine zur anderen. 29 00:01:36,690 --> 00:01:41,250 Und TCP ist verantwortlich für bekommen es auf die richtige Programm, 30 00:01:41,250 --> 00:01:43,490 oder der richtige Dienst auf einer Maschine. 31 00:01:43,490 --> 00:01:45,500 Und es etwas tut, andere, dass IP nicht tut, 32 00:01:45,500 --> 00:01:48,600 Das ist Garantie Lieferung. 33 00:01:48,600 --> 00:01:55,060 >> Also, wenn wir jetzt IP Paar einer Maschine Adresse mit der sogenannten Port-Nummer, 34 00:01:55,060 --> 00:01:58,750 und eine Port-Nummer ist, wie ein bestimmtes Dienstleistung oder Dienstprogramm oder Programm, 35 00:01:58,750 --> 00:02:00,350 auf einer Maschine identifiziert. 36 00:02:00,350 --> 00:02:03,920 Wenn wir nun über eine IP- Adresse sowie eine Anschlussnummer, 37 00:02:03,920 --> 00:02:07,240 jetzt können wir eindeutig zu identifizieren ein bestimmter Dienst 38 00:02:07,240 --> 00:02:09,479 auf einer bestimmten Maschine läuft. 39 00:02:09,479 --> 00:02:11,920 >> Also deshalb TCP und IP sind so häufig miteinander verknüpft, 40 00:02:11,920 --> 00:02:14,170 weil dieser Port-Nummer auf seine eigene nicht wirklich 41 00:02:14,170 --> 00:02:17,670 alles bedeuten, wenn Sie eine Portnummer und die Maschine 42 00:02:17,670 --> 00:02:19,566 daß du redest. 43 00:02:19,566 --> 00:02:24,060 Welche Maschine soll verwenden Diese bestimmten Port, zum Beispiel. 44 00:02:24,060 --> 00:02:28,350 >> Die andere Sache, die TCP tut, als Ich sagte, es ist Lieferung garantiert. 45 00:02:28,350 --> 00:02:30,810 So, zusätzlich zu Angabe der Portnummer, 46 00:02:30,810 --> 00:02:34,640 Es zeigt auch an, wie viele Pakete, die Internet-Protokoll, IP, 47 00:02:34,640 --> 00:02:36,110 hat die Daten in aufgeteilt. 48 00:02:36,110 --> 00:02:41,200 Und es diese Pakete bestellt, so dass sie kann auf der Empfangs rekonstruieren 49 00:02:41,200 --> 00:02:45,820 Maschine, auch wenn sie in ein received-- anderen Reihenfolge als sie gesendet wurden. 50 00:02:45,820 --> 00:02:48,460 Was passieren kann, weil IP- ein verbindungsloses Protokoll, 51 00:02:48,460 --> 00:02:52,610 und so verschiedene Pakete nehmen verschiedene Pfade durch das System. 52 00:02:52,610 --> 00:02:53,660 53 00:02:53,660 --> 00:02:55,865 >> Einige dieser Port-Nummern sind sehr häufig verwendete, 54 00:02:55,865 --> 00:02:57,990 und sie standardisiert haben auf allen Computern, 55 00:02:57,990 --> 00:03:00,500 wie, so ziemlich jeden Computerhersteller jetzt. 56 00:03:00,500 --> 00:03:03,612 So etwas wie FTP, Das File Transfer Protocol, 57 00:03:03,612 --> 00:03:05,820 die verwendet wird, zu übertragen Dateien, wie man erwarten könnte, 58 00:03:05,820 --> 00:03:10,060 von einer Maschine zur anderen, , dass Port 21 verwendet konventionell. 59 00:03:10,060 --> 00:03:13,000 E-Mail, SMTP, verwendet Port 25. 60 00:03:13,000 --> 00:03:16,070 DNS, das Domain Name System, die wir sprach über in unserem Internet-Primer 61 00:03:16,070 --> 00:03:17,976 Video-, verwendet Port 53. 62 00:03:17,976 --> 00:03:20,100 Wenn Sie überhaupt gerade sind die Bahn, sind Sie ziemlich viel 63 00:03:20,100 --> 00:03:23,440 immer über Port 80, es sei denn, Surfen im Web sind sicher, 64 00:03:23,440 --> 00:03:26,060 sichere Web-Browsing, mit Port 443. 65 00:03:26,060 --> 00:03:28,610 66 00:03:28,610 --> 00:03:30,790 >> Also, was ist das TCP / IP-Prozess? 67 00:03:30,790 --> 00:03:33,730 Was ist mit den beiden passiert dieser Protokolle zusammen? 68 00:03:33,730 --> 00:03:35,520 Nun, lasst uns darüber reden. 69 00:03:35,520 --> 00:03:39,420 Wenn ein Programm Daten senden möchte, TCP hilft, brechen sie in Stücke, 70 00:03:39,420 --> 00:03:42,700 und kommuniziert diese Pakete zu vernetzte Software des Computers. 71 00:03:42,700 --> 00:03:45,850 So ist es die Daten und es dauert wickelt Informationen um ihn herum 72 00:03:45,850 --> 00:03:48,700 , der angibt, was Port- soll man gehen, 73 00:03:48,700 --> 00:03:52,500 und welche damit Paket von allen. 74 00:03:52,500 --> 00:03:56,940 So stellen Paket eine von 10, zwei von 10, drei von 10, und so weiter. 75 00:03:56,940 --> 00:04:01,750 >> IP bekommt diese Daten Chunks haben mit TCP gewickelt worden ist, 76 00:04:01,750 --> 00:04:06,447 und wickelt mehr Informationen zu wo das Paket gehen soll. 77 00:04:06,447 --> 00:04:08,780 Wir könnten diese die IP-Anruf umgebenden Schichten des Pakets. 78 00:04:08,780 --> 00:04:11,210 Also, es ist eine Art, wie, einer jener Matrjoschkapuppen. 79 00:04:11,210 --> 00:04:14,780 Wir haben die Daten in dem Mitte, und dann TCP auf der Oberseite, 80 00:04:14,780 --> 00:04:17,920 sagen sie, wo die Daten innerhalb des TCP ist 81 00:04:17,920 --> 00:04:22,150 sollte man gehen, was Port- oder welche Service auf einer Maschine. 82 00:04:22,150 --> 00:04:25,110 Rund um das der IP-Schicht. 83 00:04:25,110 --> 00:04:29,230 Welche IP-Adresse, welche Maschine, ist eigentlich immer diese. 84 00:04:29,230 --> 00:04:32,070 >> So also, dass Paket, das ist schon mit all den Schichten umhüllt, 85 00:04:32,070 --> 00:04:35,250 wird über Internet-Protokoll verschickt durch das System von Routern, immer 86 00:04:35,250 --> 00:04:39,960 von Punkt A nach Punkt B. Wenn die Empfangsgerät oder Gerät, erhält 87 00:04:39,960 --> 00:04:42,790 es, auf der IP sieht es Schicht, heißt es, yup, das ist 88 00:04:42,790 --> 00:04:45,260 meine IP-Adresse, so dauert es off, Art von Rissen das Ei, 89 00:04:45,260 --> 00:04:47,380 und nimmt den IP-Schicht. 90 00:04:47,380 --> 00:04:49,530 Dann sieht sie, dass es eine TCP-Schicht, und es sagt, 91 00:04:49,530 --> 00:04:52,720 OK, sieht aus wie das ist werde Port x, y oder Hafen. 92 00:04:52,720 --> 00:04:55,842 Und anscheinend ist es Paketnummer acht der 15. 93 00:04:55,842 --> 00:04:56,800 Also das ist gut zu wissen. 94 00:04:56,800 --> 00:05:01,240 So dann kann es diese Informationen zu nehmen, nehmen Sie die TCP-Schicht an, 95 00:05:01,240 --> 00:05:04,410 zu wissen, dass es für den Port x, und es ist Paketnummer acht, 96 00:05:04,410 --> 00:05:06,270 und erhalten Sie bei den Daten im Inneren. 97 00:05:06,270 --> 00:05:09,460 Und es kann die Daten zur Vorbereitung in der richtigen Art und Weise organisiert werden. 98 00:05:09,460 --> 00:05:11,449 Und sobald alle der Daten empfangen, TCP 99 00:05:11,449 --> 00:05:13,990 kann es auf die richtige Hand von Service, und zu sagen, hier gehen Sie. 100 00:05:13,990 --> 00:05:16,107 Hier ist, die Daten, die Sie erhalten haben. 101 00:05:16,107 --> 00:05:17,940 Dieser Prozess aussehen könnte etwas wie das. 102 00:05:17,940 --> 00:05:21,392 Also lassen Sie uns eine E-Mail aus einem Sender zu einem Empfänger. 103 00:05:21,392 --> 00:05:23,100 Und lassen Sie uns sagen, dass dies E-Mail ist ziemlich klein, 104 00:05:23,100 --> 00:05:25,975 so brauchen wir nur, um es in die Pause vier Pakete, und wir werden ihnen einen Anruf, 105 00:05:25,975 --> 00:05:29,460 B, C, und D. Nun, verschieben möchten wir dass erste Paket, was passiert? 106 00:05:29,460 --> 00:05:34,491 Nun, nehmen wir diesen Teil der Daten, die Daten, die Teil des Pakets A ist, 107 00:05:34,491 --> 00:05:38,500 und um, dass wir gehen um es mit einem TCP-Schicht zu wickeln. 108 00:05:38,500 --> 00:05:41,670 E-Mails, können Sie sich erinnern, werden über Port 25 gesendet, 109 00:05:41,670 --> 00:05:46,181 und wir haben vier Datenblöcke, hier, dass wir gehen, zu sein mit, 110 00:05:46,181 --> 00:05:47,430 und dies ist der erste von ihnen. 111 00:05:47,430 --> 00:05:50,013 Also vielleicht unsere TCP-Schicht enthält, Informationen über, na ja, wir sind 112 00:05:50,013 --> 00:05:56,060 geht auf Port 25, und dieses Paketnummer ist eine von vier. 113 00:05:56,060 --> 00:05:59,280 >> Rund um das, so jetzt haben wir alles, Informationen bis gebündelt, 114 00:05:59,280 --> 00:06:03,000 wir gehen zu sagen, wo wir es wollen man gehen, was Maschine, welche IP-Adresse 115 00:06:03,000 --> 00:06:04,910 soll, um dieses Paket zu erhalten. 116 00:06:04,910 --> 00:06:06,604 Und das ist Teil der IP-Schicht. 117 00:06:06,604 --> 00:06:08,770 Und es gibt andere Informationen in auch dort, wie 118 00:06:08,770 --> 00:06:11,300 wie die Rücksprungadresse in falls etwas schief geht, 119 00:06:11,300 --> 00:06:14,390 sie weiß, wo zu senden Informationen zurück, und so weiter. 120 00:06:14,390 --> 00:06:16,475 >> Aber der IP-Schicht geht rund um das alles. 121 00:06:16,475 --> 00:06:19,860 Das Ganze wird gebündelt zusammen, als eine große Einheit, 122 00:06:19,860 --> 00:06:22,080 und über ein IP-Übertragung gesendet. 123 00:06:22,080 --> 00:06:26,180 So wird es über den Router geleitet Netzwerk mit Internet-Protokoll. 124 00:06:26,180 --> 00:06:28,700 Und der Empfänger die ganze Sache. 125 00:06:28,700 --> 00:06:31,910 Und dann kann es starten dekonstruieren, was hier passiert. 126 00:06:31,910 --> 00:06:36,030 Sie befasst sich mit der IP-Schicht, die Außenschicht aus diesen Daten, 127 00:06:36,030 --> 00:06:38,560 und sagt: Ja, das ist meine IP Adresse, damit wir zu verwerfen, dass. 128 00:06:38,560 --> 00:06:40,685 Ich kann, Art, zu ignorieren, nicht mehr brauchen, 129 00:06:40,685 --> 00:06:42,480 und es aussehen kann eine Ebene tiefer. 130 00:06:42,480 --> 00:06:47,590 Er sieht, dass, OK, ist dies, dass Daten soll an Port 25 empfangen werden. 131 00:06:47,590 --> 00:06:50,560 Es ist offenbar der erste Teil von vier. 132 00:06:50,560 --> 00:06:54,260 Also, ich werde, dass in zu halten ausmacht, und Blick auf die Daten, 133 00:06:54,260 --> 00:06:57,349 und Schlitzes es etwa dort, wo Ich denke, es wird zu gehen. 134 00:06:57,349 --> 00:07:00,140 Jetzt, da der Internet-Protokoll es ist nicht notwendigerweise der Fall, 135 00:07:00,140 --> 00:07:03,442 dass das nächste Paket die Empfänger bekommt, ist Paket zwei. 136 00:07:03,442 --> 00:07:05,150 In der Tat, die nächste was der Empfänger erhält 137 00:07:05,150 --> 00:07:08,230 könnte Paketnummer sein drei, weil diese Pakete 138 00:07:08,230 --> 00:07:11,777 nahmen verschiedene Wege wegen der verschiedene Verkehr auf dem Netzwerk. 139 00:07:11,777 --> 00:07:14,360 Und so werde ich nicht zu gehen, durch das Diagramm des Aufbaus es 140 00:07:14,360 --> 00:07:17,560 wieder auf, aber drei Paket bewegt, wird abgelöst 141 00:07:17,560 --> 00:07:20,410 all seinen Schichten, die IP-Schicht, die TCP-Schicht, 142 00:07:20,410 --> 00:07:22,420 und die Daten wird an der richtigen Stelle setzen. 143 00:07:22,420 --> 00:07:25,200 Und dann, sagen wir es empfängt Paket vier. 144 00:07:25,200 --> 00:07:29,290 >> Lassen Sie uns jetzt sagen, das ist es, es keine Daten mehr zu bekommen. 145 00:07:29,290 --> 00:07:30,300 Wie ist es jetzt? 146 00:07:30,300 --> 00:07:32,110 IP nichts für uns tun. 147 00:07:32,110 --> 00:07:33,260 Aber TCP tut. 148 00:07:33,260 --> 00:07:38,250 TCP weiß, gut, ich habe eine der empfangenen vier, drei von vier und vier von vier. 149 00:07:38,250 --> 00:07:41,100 Warum bekomme ich nicht keine weiteren Daten. 150 00:07:41,100 --> 00:07:43,770 Etwas ist so schief gegangen. 151 00:07:43,770 --> 00:07:45,050 Aber ich kann zu garantieren. 152 00:07:45,050 --> 00:07:49,300 Ich weiß, dass Paket Nummer zwei fehlt. 153 00:07:49,300 --> 00:07:52,470 Und so TCP können nun einen Antrag, Art, in der umgekehrten Richtung. 154 00:07:52,470 --> 00:07:55,170 Bundling seine Anfrage in der gleichen Weise, 155 00:07:55,170 --> 00:07:57,230 und über IP gesendet wird, was, ich weiß, könnte 156 00:07:57,230 --> 00:08:00,880 führen zu einer Art Endlosschleife alle Pakete verwirft auf dem Weg. 157 00:08:00,880 --> 00:08:05,580 >> Aber es genügt zu sagen, dass die TCP- sagt, ich vermisse ein Paket. 158 00:08:05,580 --> 00:08:08,670 Ich brauche, um Informationen zu senden zurück an den Sender. 159 00:08:08,670 --> 00:08:12,025 Glücklicherweise die IP-Adresse des Absenders, Art, gebündelt in der IP-Schicht. 160 00:08:12,025 --> 00:08:15,780 Es ist ein Teil von-- es ist die Rückkehr Adresse auf dem Umschlag. 161 00:08:15,780 --> 00:08:18,800 Und sagen: Ich bin Paketnummer fehlt zwei, können Sie bitte erneut senden. 162 00:08:18,800 --> 00:08:20,550 Wenn der Sender erhält dass die Informationen, 163 00:08:20,550 --> 00:08:22,599 es muss nicht zu senden die gesamte E-Mail wieder. 164 00:08:22,599 --> 00:08:25,390 Es muss nur, dass einzelne senden Stück davon, die fehlte, 165 00:08:25,390 --> 00:08:27,590 so konnten wir zwei Paketnummer zu senden. 166 00:08:27,590 --> 00:08:32,610 Und wenn es es wird, jetzt TCP sagt: Ich habe alle vier Stücke von Daten 167 00:08:32,610 --> 00:08:34,100 daß ich brauche. 168 00:08:34,100 --> 00:08:39,590 Also, ich kann sie zusammenzubauen, und nehmen diese ganzen Block von Informationen 169 00:08:39,590 --> 00:08:44,169 und geben sie an Port 25, wobei wird sie als E-Mail zu interpretieren. 170 00:08:44,169 --> 00:08:47,010 Und dass-- auf diese Weise wir haben Jetzt E-Mail vom Absender 171 00:08:47,010 --> 00:08:49,273 zum Empfänger über TCP / IP. 172 00:08:49,273 --> 00:08:51,430 173 00:08:51,430 --> 00:08:54,180 Also, wie gesagt, wenn an jeder Stelle auf dem Weg etwas schief gelaufen, 174 00:08:54,180 --> 00:08:56,600 TCP kann damit umgehen. 175 00:08:56,600 --> 00:09:00,010 Es kann einen Antrag zu stellen, die das Informationen bekommt wieder an ihn gesendet. 176 00:09:00,010 --> 00:09:01,840 Und es kann die Nachricht zu rekonstruieren. 177 00:09:01,840 --> 00:09:05,090 Und sobald es rekonstruiert die Nachricht von allen Paketen sie empfangen hat, 178 00:09:05,090 --> 00:09:10,350 dann kann es zu organisieren und liefern sie an den richtigen Service. 179 00:09:10,350 --> 00:09:11,990 >> Also das ist, TCP auf den Punkt. 180 00:09:11,990 --> 00:09:14,550 Das ist, wie wir garantieren, Bereitstellung von Informationen. 181 00:09:14,550 --> 00:09:16,540 Denken Sie an die TCP Häufig arbeitet mit IP, 182 00:09:16,540 --> 00:09:18,990 so dass diese beiden Protokolle wirklich Hand in Hand gehen. 183 00:09:18,990 --> 00:09:22,160 Wir diskutierten sie in mehreren Videos hier, weil sie verschiedene Dinge tun, 184 00:09:22,160 --> 00:09:26,190 aber sie sind so miteinander verknüpft, sie Sie in der Regel verwenden sie zusammen. 185 00:09:26,190 --> 00:09:27,150 >> Ich bin Doug Lloyd. 186 00:09:27,150 --> 00:09:29,160 Dies ist CS50. 187 00:09:29,160 --> 00:09:31,233