1 00:00:00,000 --> 00:00:04,884 2 00:00:04,884 --> 00:00:08,050 DOUG LLOYD: In deze video gaan we om te praten over het Transmission Control 3 00:00:08,050 --> 00:00:10,440 Protocol, TCP. 4 00:00:10,440 --> 00:00:13,290 Als u nog niet keek naar de video over internet protocol, IP, 5 00:00:13,290 --> 00:00:15,290 u wenst te doen voor het bekijken van deze video 6 00:00:15,290 --> 00:00:18,680 omdat de twee zijn vrij met elkaar verbonden. 7 00:00:18,680 --> 00:00:21,100 >> Dus, het internetprotocol, nogmaals, een korte samenvatting, 8 00:00:21,100 --> 00:00:22,930 dat is het protocol die beweegt informatie 9 00:00:22,930 --> 00:00:28,210 uit een verzendende machine naar een ontvangend machine via het netwerk. 10 00:00:28,210 --> 00:00:29,720 >> Dus wat is TCP? 11 00:00:29,720 --> 00:00:33,310 Terwijl slechts het verplaatsen van een verzenden machine op het ontvangen van de machine, 12 00:00:33,310 --> 00:00:35,120 is niet het volledige verhaal. 13 00:00:35,120 --> 00:00:38,040 We weten ook dat ons programma, onze computers, bijvoorbeeld, 14 00:00:38,040 --> 00:00:41,000 lopen meerdere programma's, en meerdere diensten 15 00:00:41,000 --> 00:00:45,140 die op deze machines. 16 00:00:45,140 --> 00:00:51,750 En dus, als we willen een pakket te krijgen, of gegevens van een specifiek programma, 17 00:00:51,750 --> 00:00:54,590 op een specifieke machine, we meer informatie nodig 18 00:00:54,590 --> 00:00:59,490 dan precies wat IP stelt ons in staat om Informatie van punt A naar punt B. 19 00:00:59,490 --> 00:01:02,390 >> Dus, kan TCP worden gedacht als de leiding van het pakket 20 00:01:02,390 --> 00:01:07,590 het juiste programma of de juiste service, op de ontvangende machine. 21 00:01:07,590 --> 00:01:11,810 En dus is het belangrijk om, zoals je misschien verwachten, weet waar het hoort te gaan, 22 00:01:11,810 --> 00:01:14,550 en wat het pakket voor tezelfdertijd. 23 00:01:14,550 --> 00:01:18,370 En zo vaak, als je praat over zendbesturingsprotocol, TCP, 24 00:01:18,370 --> 00:01:23,900 je echt vaak horen in de context, TCP slash IP, of gewoon TCP / IP. 25 00:01:23,900 --> 00:01:27,639 Beide protocollen zijn zo met elkaar verbonden dat ze in feite 26 00:01:27,639 --> 00:01:28,680 behandeld als een enkele eenheid. 27 00:01:28,680 --> 00:01:31,630 Maar ze zijn twee verschillende protocollen dat te doen twee verschillende dingen. 28 00:01:31,630 --> 00:01:36,690 >> Nogmaals, IP verantwoordelijk voor het verkrijgen van van de ene machine naar de andere. 29 00:01:36,690 --> 00:01:41,250 En TCP verantwoordelijk voor krijgen van het juiste programma, 30 00:01:41,250 --> 00:01:43,490 of de juiste dienst op een machine. 31 00:01:43,490 --> 00:01:45,500 En het iets doet anders dat IP niet doet, 32 00:01:45,500 --> 00:01:48,600 die garantie levering. 33 00:01:48,600 --> 00:01:55,060 >> Dus als we nu een paar IP-machine adres van de zogenaamde poortnummer 34 00:01:55,060 --> 00:01:58,750 en een poortnummer hoe een specifieke dienst of nut, of programma, 35 00:01:58,750 --> 00:02:00,350 geïdentificeerd op een machine. 36 00:02:00,350 --> 00:02:03,920 Als we nu een IP- adres plus een poortnummer, 37 00:02:03,920 --> 00:02:07,240 nu kunnen we unieke identificatie een bepaalde dienst 38 00:02:07,240 --> 00:02:09,479 die op een bepaalde machine. 39 00:02:09,479 --> 00:02:11,920 >> Dus dat is waarom TCP en IP zijn zo vaak met elkaar verbonden, 40 00:02:11,920 --> 00:02:14,170 want dat poortnummer op zich niet echt 41 00:02:14,170 --> 00:02:17,670 iets betekenen als u een poortnummer, en de machine 42 00:02:17,670 --> 00:02:19,566 dat je het over hebt. 43 00:02:19,566 --> 00:02:24,060 Wat machine wordt verondersteld te gebruiken deze specifieke poort, bijvoorbeeld. 44 00:02:24,060 --> 00:02:28,350 >> Het andere ding dat TCP doet, als Ik zei, is het garandeert levering. 45 00:02:28,350 --> 00:02:30,810 Dus, naast met vermelding van het poortnummer, 46 00:02:30,810 --> 00:02:34,640 Het geeft ook aan hoeveel pakketten, het internetprotocol, IP, 47 00:02:34,640 --> 00:02:36,110 heeft de gegevens gesplitst in. 48 00:02:36,110 --> 00:02:41,200 En beveelt die pakketjes, zodat ze kan worden gereconstrueerd op het ontvangende 49 00:02:41,200 --> 00:02:45,820 machine, zelfs wanneer zij in een received-- andere volgorde dan ze werden verzonden. 50 00:02:45,820 --> 00:02:48,460 Wat kan gebeuren, omdat IP- is een protocol zonder verbinding, 51 00:02:48,460 --> 00:02:52,610 en zo verschillende pakketten kan nemen verschillende paden door het systeem. 52 00:02:52,610 --> 00:02:53,660 53 00:02:53,660 --> 00:02:55,865 >> Sommige van deze poortnummers zijn zeer vaak gebruikt, 54 00:02:55,865 --> 00:02:57,990 en ze zijn gestandaardiseerd voor alle computers, 55 00:02:57,990 --> 00:03:00,500 zoals, vrijwel elke computerfabrikant nu. 56 00:03:00,500 --> 00:03:03,612 Dus iets genaamd FTP, het File Transfer Protocol, 57 00:03:03,612 --> 00:03:05,820 die wordt gebruikt voor het verzenden bestanden, zoals je zou verwachten, 58 00:03:05,820 --> 00:03:10,060 van de ene machine naar de andere, dat gebruikt poort 21 conventioneel. 59 00:03:10,060 --> 00:03:13,000 E-mail, SMTP, gebruikt poort 25. 60 00:03:13,000 --> 00:03:16,070 DNS, het Domain Name System, waarmee we over gesproken in onze internet primer 61 00:03:16,070 --> 00:03:17,976 video, gebruikt poort 53. 62 00:03:17,976 --> 00:03:20,100 Als u ooit surft het web, je bent vrij veel 63 00:03:20,100 --> 00:03:23,440 altijd via poort 80, tenzij je surfen op het web veilig, 64 00:03:23,440 --> 00:03:26,060 veilig surfen op het web, via poort 443. 65 00:03:26,060 --> 00:03:28,610 66 00:03:28,610 --> 00:03:30,790 >> Dus wat is het TCP / IP-proces? 67 00:03:30,790 --> 00:03:33,730 Wat gebeurt er met beide van deze protocollen bij elkaar? 68 00:03:33,730 --> 00:03:35,520 Nou, laten we erover praten. 69 00:03:35,520 --> 00:03:39,420 Wanneer een programma wil om gegevens te verzenden, TCP helpt breken in stukken, 70 00:03:39,420 --> 00:03:42,700 en communiceert deze pakketten naar software van de computer netwerk. 71 00:03:42,700 --> 00:03:45,850 Dus het duurt de gegevens en het wraps informatie eromheen 72 00:03:45,850 --> 00:03:48,700 die aangeeft welke poort wordt verondersteld te gaan, 73 00:03:48,700 --> 00:03:52,500 en wat opdat pakket uit alle. 74 00:03:52,500 --> 00:03:56,940 Dus maak een pakket van 10, twee van 10, 10 drie, enzovoort. 75 00:03:56,940 --> 00:04:01,750 >> IP krijgt die gegevens brokken die zijn omwikkeld met TCP, 76 00:04:01,750 --> 00:04:06,447 wraps en meer informatie over waar het pakket is daarheen. 77 00:04:06,447 --> 00:04:08,780 We zouden dit het IP bellen lagen rond het pakket. 78 00:04:08,780 --> 00:04:11,210 Dus, het is een soort van, zoals, een van die poppen. 79 00:04:11,210 --> 00:04:14,780 We hebben de gegevens in de midden, en vervolgens tcp op de top van, 80 00:04:14,780 --> 00:04:17,920 het vertellen waar de data binnen van TCP 81 00:04:17,920 --> 00:04:22,150 daarheen, naar welke poort of welke dienst op een machine. 82 00:04:22,150 --> 00:04:25,110 Daaromheen is de IP-laag. 83 00:04:25,110 --> 00:04:29,230 Wat IP-adres, wat de machine, is dit ook daadwerkelijk krijgt. 84 00:04:29,230 --> 00:04:32,070 >> Zo dan, dat pakket dat is geweest omwikkeld met alle lagen, 85 00:04:32,070 --> 00:04:35,250 wordt door middel van internet protocol gestuurd via het systeem van routers, krijgen 86 00:04:35,250 --> 00:04:39,960 van punt A naar punt B. Wanneer de ontvangende machine of apparaat, krijgt 87 00:04:39,960 --> 00:04:42,790 het, het kijkt naar het IP- laag, het zegt, yup dat is 88 00:04:42,790 --> 00:04:45,260 mijn IP adres, dus het duurt off, een soort van scheuren het ei, 89 00:04:45,260 --> 00:04:47,380 en neemt van de IP-laag. 90 00:04:47,380 --> 00:04:49,530 Dan ziet hij dat er een TCP laag, en het zegt, 91 00:04:49,530 --> 00:04:52,720 OK, lijkt erop dat dit ga naar de haven x, y of haven. 92 00:04:52,720 --> 00:04:55,842 En blijkbaar is het pakket nummer acht van de 15. 93 00:04:55,842 --> 00:04:56,800 Dus dat is goed om te weten. 94 00:04:56,800 --> 00:05:01,240 Dus dan kan die informatie te nemen, opstijgen van de TCP laag nu, 95 00:05:01,240 --> 00:05:04,410 wetende dat het voor poort x, en het is pakket nummer acht, 96 00:05:04,410 --> 00:05:06,270 en krijgen op de gegevens binnen. 97 00:05:06,270 --> 00:05:09,460 En kan de gegevens voorbereiden op de juiste wijze worden georganiseerd. 98 00:05:09,460 --> 00:05:11,449 En zodra alle van de data wordt ontvangen, TCP 99 00:05:11,449 --> 00:05:13,990 kan het met de hand uit om de juiste service, en zeggen: hier ga je. 100 00:05:13,990 --> 00:05:16,107 Hier is de data die u heeft ontvangen. 101 00:05:16,107 --> 00:05:17,940 Dat proces zou kunnen kijken iets zoals dit. 102 00:05:17,940 --> 00:05:21,392 Dus laten we sturen een e-mail uit een zender naar een ontvanger. 103 00:05:21,392 --> 00:05:23,100 En laten we zeggen e-mail is vrij klein, 104 00:05:23,100 --> 00:05:25,975 dus moeten we alleen maar om het te breken in vier pakketten, en we zullen ze een gesprek, 105 00:05:25,975 --> 00:05:29,460 B, C en D. Nou, we willen verhuizen dat eerste pakket wat gebeurt er? 106 00:05:29,460 --> 00:05:34,491 Nou, we nemen dat stuk van de gegevens, de gegevens die deel uitmaakt van pakket A, 107 00:05:34,491 --> 00:05:38,500 en rond dat we gaan om het te verpakken met een TCP laag. 108 00:05:38,500 --> 00:05:41,670 E-mails, kunt u herinneren, via poort 25 worden verzonden, 109 00:05:41,670 --> 00:05:46,181 en we hebben vier stukken van gegevens, hier, dat we gaan gebruiken, 110 00:05:46,181 --> 00:05:47,430 en dit is de eerste van hen. 111 00:05:47,430 --> 00:05:50,013 Dus misschien onze TCP laag bevat Informatie over, nou ja, we zijn 112 00:05:50,013 --> 00:05:56,060 zal poort 25, en dit is packet nummer één van de vier. 113 00:05:56,060 --> 00:05:59,280 >> Rond dat, dus nu hebben we al die informatie gebundeld samen, 114 00:05:59,280 --> 00:06:03,000 we gaan om te zeggen waar we willen het te gaan, wat de machine, wat het IP-adres 115 00:06:03,000 --> 00:06:04,910 wordt verondersteld om dit pakket te krijgen. 116 00:06:04,910 --> 00:06:06,604 En dat is een deel van de IP-laag. 117 00:06:06,604 --> 00:06:08,770 En er is meer informatie daar ook, zoals 118 00:06:08,770 --> 00:06:11,300 als het retouradres in het geval er iets mis gaat, 119 00:06:11,300 --> 00:06:14,390 het weet waar te sturen informatie weer, enzovoorts. 120 00:06:14,390 --> 00:06:16,475 >> Maar de IP-laag gaat rond dat alles. 121 00:06:16,475 --> 00:06:19,860 Dat hele ding is gebundeld samen, als één grote eenheid, 122 00:06:19,860 --> 00:06:22,080 en verzonden via een IP-overdracht. 123 00:06:22,080 --> 00:06:26,180 Dus het wordt omgeleid via de router netwerk, met behulp van internet protocol. 124 00:06:26,180 --> 00:06:28,700 En de ontvanger het hele ding. 125 00:06:28,700 --> 00:06:31,910 En dan kan het beginnen deconstrueren wat er hier gebeurt. 126 00:06:31,910 --> 00:06:36,030 Het ziet er op de IP-laag, de buitenlaag van deze gegevens, 127 00:06:36,030 --> 00:06:38,560 en zegt, yep, dat is mijn IP mailadres, zodat we kunnen negeren dat. 128 00:06:38,560 --> 00:06:40,685 Ik kan, een soort van, negeren, niet meer nodig, 129 00:06:40,685 --> 00:06:42,480 en het kan kijken een niveau dieper. 130 00:06:42,480 --> 00:06:47,590 Het ziet dat, OK, dit zijn gegevens die is bestemd om poort 25 te ontvangen. 131 00:06:47,590 --> 00:06:50,560 Het is blijkbaar het eerste deel van vier. 132 00:06:50,560 --> 00:06:54,260 Dus, ik ga te houden dat in geest, en kijk naar de data, 133 00:06:54,260 --> 00:06:57,349 en het slot is ongeveer waar Ik denk dat het gaat om te gaan. 134 00:06:57,349 --> 00:07:00,140 Nu, vanwege het internetprotocol het is niet per se het geval 135 00:07:00,140 --> 00:07:03,442 dat het volgende pakket van de ontvanger krijgt, is het pakket twee. 136 00:07:03,442 --> 00:07:05,150 In feite is de volgende wat de ontvanger krijgt 137 00:07:05,150 --> 00:07:08,230 zou pakketnummer worden drie omdat deze pakketten 138 00:07:08,230 --> 00:07:11,777 nam verschillende wegen door verschillende verkeer op het netwerk. 139 00:07:11,777 --> 00:07:14,360 En zo, ik ben niet van plan om te gaan door middel van het schema van bouwen 140 00:07:14,360 --> 00:07:17,560 opnieuw, maar packet drie beweegt, krijgt ontdaan weg 141 00:07:17,560 --> 00:07:20,410 van al de lagen, de IP-laag, de TCP laag, 142 00:07:20,410 --> 00:07:22,420 en de data wordt in de juiste plek. 143 00:07:22,420 --> 00:07:25,200 En dan, laten we zeggen dat het ontvangt pakket vier. 144 00:07:25,200 --> 00:07:29,290 >> Nu laten we zeggen, dat is het, het niet meer gegevens te krijgen. 145 00:07:29,290 --> 00:07:30,300 Wat gaat het doen? 146 00:07:30,300 --> 00:07:32,110 IP doet niets voor ons. 147 00:07:32,110 --> 00:07:33,260 Maar TCP doet. 148 00:07:33,260 --> 00:07:38,250 TCP weet, nou, ik heb een van de ontvangen vier, drie van de vier, en vier van vier. 149 00:07:38,250 --> 00:07:41,100 Ik krijg geen gegevens meer. 150 00:07:41,100 --> 00:07:43,770 Dus er is iets fout gegaan. 151 00:07:43,770 --> 00:07:45,050 Maar ik kan de levering garanderen. 152 00:07:45,050 --> 00:07:49,300 Ik weet dat pakket nummer twee ontbreekt. 153 00:07:49,300 --> 00:07:52,470 En dus TCP kan nu een verzoek te maken, soort, in omgekeerde richting. 154 00:07:52,470 --> 00:07:55,170 Bundeling van haar verzoek op vrijwel dezelfde manier, 155 00:07:55,170 --> 00:07:57,230 en op te sturen via IP, die, ik weet het, kon 156 00:07:57,230 --> 00:08:00,880 leiden tot een soort van oneindige lus van iedereen te laten vallen pakketten op de weg. 157 00:08:00,880 --> 00:08:05,580 >> Maar het volstaat te zeggen dat de TCP zegt, ik mis een pakket. 158 00:08:05,580 --> 00:08:08,670 Ik moet om informatie te sturen terug naar de afzender. 159 00:08:08,670 --> 00:08:12,025 Gelukkig is het IP-adres van de afzender is, soort, gebundeld in de IP-laag. 160 00:08:12,025 --> 00:08:15,780 Het is een deel van-- het is de terugkeer adres op de envelop. 161 00:08:15,780 --> 00:08:18,800 En zeg, ik mis pakket nummer twee, kunt u alstublieft opnieuw het. 162 00:08:18,800 --> 00:08:20,550 Wanneer de afzender ontvangt die informatie, 163 00:08:20,550 --> 00:08:22,599 het hoeft niet te sturen opnieuw de volledige e-mail. 164 00:08:22,599 --> 00:08:25,390 Het moet alleen naar die persoon sturen stuk dat ontbrak, 165 00:08:25,390 --> 00:08:27,590 dus we konden pakket nummer twee te sturen. 166 00:08:27,590 --> 00:08:32,610 En wanneer het wordt het, nu TCP zegt, Ik heb alle vier stukken van gegevens 167 00:08:32,610 --> 00:08:34,100 die ik nodig heb. 168 00:08:34,100 --> 00:08:39,590 Dus, ik kan ze samen monteren, en neem dit hele blok van informatie 169 00:08:39,590 --> 00:08:44,169 en geef het door aan poort 25, waar de het zal worden geïnterpreteerd als een e-mail. 170 00:08:44,169 --> 00:08:47,010 En dat-- op deze manier we hebben Nu stuur dan een e-mail van de afzender 171 00:08:47,010 --> 00:08:49,273 naar ontvanger via TCP / IP. 172 00:08:49,273 --> 00:08:51,430 173 00:08:51,430 --> 00:08:54,180 Dus, zoals ik al zei, als op elk punt langs de weg iets mis ging, 174 00:08:54,180 --> 00:08:56,600 TCP kan behandelen. 175 00:08:56,600 --> 00:09:00,010 Het kan een verzoek dat de informatie wordt teruggestuurd naar het. 176 00:09:00,010 --> 00:09:01,840 En het kan het bericht te reconstrueren. 177 00:09:01,840 --> 00:09:05,090 En als het eenmaal is gereconstrueerd het bericht van alle pakketten deze is ontvangen, 178 00:09:05,090 --> 00:09:10,350 dan kan het hen organiseren en te leveren aan de juiste service. 179 00:09:10,350 --> 00:09:11,990 >> Dus dat is TCP in een notendop. 180 00:09:11,990 --> 00:09:14,550 Dat is hoe we garanderen levering van informatie. 181 00:09:14,550 --> 00:09:16,540 Denk aan de TCP vaak werkt met IP, 182 00:09:16,540 --> 00:09:18,990 dus deze beide protocollen echt gaan hand in hand. 183 00:09:18,990 --> 00:09:22,160 We bespraken ze in verschillende video's hier omdat ze verschillende dingen, 184 00:09:22,160 --> 00:09:26,190 maar ze zijn zo met elkaar verbonden, ze je meestal samen gebruiken. 185 00:09:26,190 --> 00:09:27,150 >> Ik ben Doug Lloyd. 186 00:09:27,150 --> 00:09:29,160 Dit is CS50. 187 00:09:29,160 --> 00:09:31,233