1 00:00:00,000 --> 00:00:04,884 2 00:00:04,884 --> 00:00:08,050 DOUG LLOYD: In hierdie video wat ons gaan om te praat oor die Transmission Control 3 00:00:08,050 --> 00:00:10,440 Protokol, TCP. 4 00:00:10,440 --> 00:00:13,290 As jy nog nie gekyk video op die internet protokol, IP, 5 00:00:13,290 --> 00:00:15,290 wil jy dalk om dit te doen voor kyk na hierdie video 6 00:00:15,290 --> 00:00:18,680 omdat die twee is redelik interafhanklik. 7 00:00:18,680 --> 00:00:21,100 >> So, die internet-protokol, weer 'n vinnige opsomming, 8 00:00:21,100 --> 00:00:22,930 dit is die protokol wat beweeg inligting 9 00:00:22,930 --> 00:00:28,210 van 'n masjien stuur na 'n ontvangs masjien deur die netwerk. 10 00:00:28,210 --> 00:00:29,720 >> So, wat is TCP? 11 00:00:29,720 --> 00:00:33,310 Terwyl net die beweging van 'n stuur masjien ontvang masjien, 12 00:00:33,310 --> 00:00:35,120 is nie die volle verhaal. 13 00:00:35,120 --> 00:00:38,040 Ons weet ook dat ons program, ons rekenaars, byvoorbeeld, 14 00:00:38,040 --> 00:00:41,000 loop verskeie programme, en het verskeie dienste 15 00:00:41,000 --> 00:00:45,140 loop op die masjiene. 16 00:00:45,140 --> 00:00:51,750 En so, as ons wil 'n pakkie te kry, of inligting aan 'n spesifieke program, 17 00:00:51,750 --> 00:00:54,590 op 'n spesifieke masjien, ons meer inligting nodig 18 00:00:54,590 --> 00:00:59,490 as net wat IP ons toelaat om te kry inligting van punt A na punt B. 19 00:00:59,490 --> 00:01:02,390 >> So, kan TCP beskou word as die regie van die pakkie 20 00:01:02,390 --> 00:01:07,590 om die korrekte program, of die korrekte diens, op die ontvangs van die masjien. 21 00:01:07,590 --> 00:01:11,810 En daarom is dit belangrik om, as jy dalk verwag nie, weet waar dit veronderstel is om te gaan, 22 00:01:11,810 --> 00:01:14,550 en wat die pakkie is want op die dieselfde tyd. 23 00:01:14,550 --> 00:01:18,370 En so dikwels, wanneer jy praat oor Transmission Control Protocol, TCP, 24 00:01:18,370 --> 00:01:23,900 jy regtig dikwels hoor dit in die konteks, TCP streep IP, of net TCP / IP. 25 00:01:23,900 --> 00:01:27,639 Hierdie twee protokolle is so interafhanklik dat hulle is basies 26 00:01:27,639 --> 00:01:28,680 word as 'n enkele eenheid. 27 00:01:28,680 --> 00:01:31,630 Maar hulle is twee afsonderlike protokolle doen twee afsonderlike dinge. 28 00:01:31,630 --> 00:01:36,690 >> Weereens, IP is verantwoordelik vir om dit van 'n masjien na 'n ander. 29 00:01:36,690 --> 00:01:41,250 En TCP is verantwoordelik vir om dit na die korrekte program, 30 00:01:41,250 --> 00:01:43,490 of die korrekte diens op 'n masjien. 31 00:01:43,490 --> 00:01:45,500 En dit is iets doen anders wat IP dit nie doen nie, 32 00:01:45,500 --> 00:01:48,600 wat is waarborg aflewering. 33 00:01:48,600 --> 00:01:55,060 >> So, as ons nou egpaar IP 'n masjien se spreek met die sogenaamde poort nommer, 34 00:01:55,060 --> 00:01:58,750 en 'n poort nommer is hoe 'n spesifieke diens, of nut, of program, 35 00:01:58,750 --> 00:02:00,350 geïdentifiseer op 'n masjien. 36 00:02:00,350 --> 00:02:03,920 As ons nou 'n IP adres plus 'n poort nommer, 37 00:02:03,920 --> 00:02:07,240 nou kan ons uniek identifiseer 'n bepaalde diens 38 00:02:07,240 --> 00:02:09,479 loop op 'n spesifieke masjien. 39 00:02:09,479 --> 00:02:11,920 >> So dit is waarom TCP en IP is so dikwels interafhanklik, 40 00:02:11,920 --> 00:02:14,170 want die poort nommer op sy eie nie regtig 41 00:02:14,170 --> 00:02:17,670 beteken niks as jy nodig het 'n poort nommer, en die masjien 42 00:02:17,670 --> 00:02:19,566 wat jy praat. 43 00:02:19,566 --> 00:02:24,060 Wat masjien is veronderstel om gebruik hierdie spesifieke hawe, byvoorbeeld. 44 00:02:24,060 --> 00:02:28,350 >> Die ander ding wat TCP doen, soos Ek het gesê, is dit waarborg aflewering. 45 00:02:28,350 --> 00:02:30,810 So, bykomend tot vermelding van die poort nommer, 46 00:02:30,810 --> 00:02:34,640 dit dui ook hoeveel pakkies, die internet protokol, IP, 47 00:02:34,640 --> 00:02:36,110 het die data verdeel in. 48 00:02:36,110 --> 00:02:41,200 En dit beveel diegene pakkies, sodat hulle gerekonstrueer kan word op die ontvangs van 49 00:02:41,200 --> 00:02:45,820 masjien, selfs al is hulle in 'n received-- ander orde as hulle gestuur. 50 00:02:45,820 --> 00:02:48,460 Wat kan gebeur, omdat IP is 'n verbindinglose protokol, 51 00:02:48,460 --> 00:02:52,610 en so verskillende pakkies kan neem verskillende paaie deur die stelsel. 52 00:02:52,610 --> 00:02:53,660 53 00:02:53,660 --> 00:02:55,865 >> Sommige van hierdie hawe getalle is baie algemeen gebruik word, 54 00:02:55,865 --> 00:02:57,990 en hulle het al gestandaardiseerde oor al die rekenaars, 55 00:02:57,990 --> 00:03:00,500 soos, pretty much elke rekenaar vervaardiger nou. 56 00:03:00,500 --> 00:03:03,612 So iets genoem FTP, die lêer oordrag protokol, 57 00:03:03,612 --> 00:03:05,820 wat gebruik word om te stuur lêers, soos jy kan verwag, 58 00:03:05,820 --> 00:03:10,060 van die een na die ander masjien, wat gebruik maak van die hawe 21 konvensioneel. 59 00:03:10,060 --> 00:03:13,000 E-pos, SMTP, gebruik port 25. 60 00:03:13,000 --> 00:03:16,070 DNS, die domein naam stelsel, wat ons gepraat oor in ons internet primer 61 00:03:16,070 --> 00:03:17,976 video, gebruik port 53. 62 00:03:17,976 --> 00:03:20,100 As jy ooit op die web, jy is pretty much 63 00:03:20,100 --> 00:03:23,440 altyd met behulp van die hawe 80, tensy jy op die web veilig, 64 00:03:23,440 --> 00:03:26,060 veilige webnavigatie, met behulp van die hawe 443. 65 00:03:26,060 --> 00:03:28,610 66 00:03:28,610 --> 00:03:30,790 >> So, wat is hierdie TCP / IP proses? 67 00:03:30,790 --> 00:03:33,730 Wat gebeur met beide van hierdie protokolle saam? 68 00:03:33,730 --> 00:03:35,520 Wel, laat ons daaroor praat. 69 00:03:35,520 --> 00:03:39,420 Wanneer 'n program wil data te stuur, TCP help breek dit in stukke, 70 00:03:39,420 --> 00:03:42,700 en kommunikeer diegene pakkies om sagteware van die rekenaar se netwerk. 71 00:03:42,700 --> 00:03:45,850 So dit neem om die data en dit vou inligting rondom dit 72 00:03:45,850 --> 00:03:48,700 wat aandui wat die hawe veronderstel is om te gaan na, 73 00:03:48,700 --> 00:03:52,500 en wat sodat pakkie is uit al. 74 00:03:52,500 --> 00:03:56,940 So maak pakkie een van 10, twee van 10, drie van 10, en so aan. 75 00:03:56,940 --> 00:04:01,750 >> IP kry die data stukke wat is toegedraai met TCP, 76 00:04:01,750 --> 00:04:06,447 en vou meer inligting oor waar die pakkie is veronderstel om te gaan. 77 00:04:06,447 --> 00:04:08,780 Ons kan dit die IP noem lae rondom die pakkie. 78 00:04:08,780 --> 00:04:11,210 So, dit is soort van soos, een van daardie nes poppe. 79 00:04:11,210 --> 00:04:14,780 Ons het die data in die middel, en dan TCP op die top van, 80 00:04:14,780 --> 00:04:17,920 vertel dit waar die data binnekant van TCP is 81 00:04:17,920 --> 00:04:22,150 veronderstel is om te gaan, om watter hawe of wat diens op 'n masjien. 82 00:04:22,150 --> 00:04:25,110 Rondom wat die IP laag. 83 00:04:25,110 --> 00:04:29,230 Wat IP-adres, wat masjien, is hierdie eintlik om. 84 00:04:29,230 --> 00:04:32,070 >> So dan, dat pakkie dis nie toegedraai met al die lae, 85 00:04:32,070 --> 00:04:35,250 is deur middel van die internet protokol gestuur deur die stelsel van routers, kry 86 00:04:35,250 --> 00:04:39,960 van punt A na punt B. Wanneer die ontvangs masjien, of toestel, kry 87 00:04:39,960 --> 00:04:42,790 dit, dit lyk by die IP laag, dit sê, yup dis 88 00:04:42,790 --> 00:04:45,260 my IP-adres, so dit neem af, soort van krake die eier, 89 00:04:45,260 --> 00:04:47,380 en neem af die IP laag. 90 00:04:47,380 --> 00:04:49,530 Toe sien dit dat daar 'n TCP laag, en dit sê, 91 00:04:49,530 --> 00:04:52,720 OK, lyk soos hierdie is gaan na die hawe x, of hawe y. 92 00:04:52,720 --> 00:04:55,842 En blykbaar is dit pakkie nommer agt van 15. 93 00:04:55,842 --> 00:04:56,800 So dit is goed om te weet. 94 00:04:56,800 --> 00:05:01,240 So dan is dit dat die inligting te neem, neem uit die TCP laag nou, 95 00:05:01,240 --> 00:05:04,410 wetende dat dit vir die poort x, en dit is pakkie nommer agt, 96 00:05:04,410 --> 00:05:06,270 en kry aan die data binne. 97 00:05:06,270 --> 00:05:09,460 En dit kan die data voor te berei op die regte manier georganiseer word. 98 00:05:09,460 --> 00:05:11,449 En sodra al die data ontvang word, TCP 99 00:05:11,449 --> 00:05:13,990 kan dit aan die hand af om die korrekte diens, en sê, hier gaan. 100 00:05:13,990 --> 00:05:16,107 Hier is die data wat jy ontvang het. 101 00:05:16,107 --> 00:05:17,940 Dat die proses kan kyk iets soos hierdie. 102 00:05:17,940 --> 00:05:21,392 So laat stuur 'n e-pos van 'n sender na 'n ontvanger. 103 00:05:21,392 --> 00:05:23,100 En laat ons dit sê e-pos is redelik klein, 104 00:05:23,100 --> 00:05:25,975 so ons moet net om dit te breek in vier pakkies, en ons sal hulle 'n oproep, 105 00:05:25,975 --> 00:05:29,460 B, C, en D Wel, ons wil om te beweeg dat die eerste pakkie wat gebeur? 106 00:05:29,460 --> 00:05:34,491 Wel, neem ons aan dat deel van data, die data wat deel is van 'n pakkie, 107 00:05:34,491 --> 00:05:38,500 en om dat ons gaan om dit te draai met 'n TCP laag. 108 00:05:38,500 --> 00:05:41,670 E-pos, kan jy onthou, via poort 25 gestuur is, 109 00:05:41,670 --> 00:05:46,181 en ons het vier stukke van data, hier, dat ons gaan word met behulp van, 110 00:05:46,181 --> 00:05:47,430 en dit is die eerste van hulle. 111 00:05:47,430 --> 00:05:50,013 So miskien ons TCP laag bevat inligting oor, wel, ons is 112 00:05:50,013 --> 00:05:56,060 gaan na die hawe 25, en dit is pakkie nommer een van vier. 113 00:05:56,060 --> 00:05:59,280 >> Rondom daardie, so nou het ons alles wat inligting bundel saam, 114 00:05:59,280 --> 00:06:03,000 ons gaan om te sê waar ons dit wil hê om te gaan, wat masjien, wat IP-adres 115 00:06:03,000 --> 00:06:04,910 is veronderstel om hierdie pakkie kry. 116 00:06:04,910 --> 00:06:06,604 En dit is deel van die IP laag. 117 00:06:06,604 --> 00:06:08,770 En daar is ander inligting daar sowel, soos 118 00:06:08,770 --> 00:06:11,300 as die terugkeer adres in geval iets verkeerd gaan, 119 00:06:11,300 --> 00:06:14,390 dit weet waar om te stuur inligting terug, en so aan. 120 00:06:14,390 --> 00:06:16,475 >> Maar die IP laag gaan rondom dit alles. 121 00:06:16,475 --> 00:06:19,860 Dat die hele ding is saam saam as een groot eenheid, 122 00:06:19,860 --> 00:06:22,080 en gestuur word deur 'n IP-oordrag. 123 00:06:22,080 --> 00:06:26,180 So dit word gelei deur die router netwerk, met behulp van die internet protokol. 124 00:06:26,180 --> 00:06:28,700 En die ontvanger ontvang die hele ding. 125 00:06:28,700 --> 00:06:31,910 En dan kan dit begin dekonstrueer wat hier gebeur. 126 00:06:31,910 --> 00:06:36,030 Dit lyk op die IP laag, die buite laag van hierdie data, 127 00:06:36,030 --> 00:06:38,560 en sê, yep, dit is my IP adres, sodat ons kan weggooi nie. 128 00:06:38,560 --> 00:06:40,685 Ek kan, soort van, dit ignoreer, nie meer nodig het nie, 129 00:06:40,685 --> 00:06:42,480 en dit kan kyk een vlak dieper. 130 00:06:42,480 --> 00:06:47,590 Dit sien dat, OK, dit is data wat is bedoel op poort 25 te ontvang. 131 00:06:47,590 --> 00:06:50,560 Dit is blykbaar die eerste deel van vier. 132 00:06:50,560 --> 00:06:54,260 So, ek gaan hou dat in omgee, en kyk na die data, 133 00:06:54,260 --> 00:06:57,349 en die slot is dit rofweg waar Ek dink dit gaan om te gaan. 134 00:06:57,349 --> 00:07:00,140 Nou, as gevolg van die internet protokol dit is nie noodwendig die geval 135 00:07:00,140 --> 00:07:03,442 dat die volgende pakkie die ontvanger kry, is pakkie twee. 136 00:07:03,442 --> 00:07:05,150 In werklikheid, die volgende ding die ontvanger kry 137 00:07:05,150 --> 00:07:08,230 kan pakkie nommer drie omdat hierdie pakkies 138 00:07:08,230 --> 00:07:11,777 het verskillende paaie as gevolg van verskillende verkeer op die netwerk. 139 00:07:11,777 --> 00:07:14,360 En so, ek gaan nie om te gaan deur die diagram van die bou van dit 140 00:07:14,360 --> 00:07:17,560 weer, maar pakkie drie beweeg, kry gestroop weg 141 00:07:17,560 --> 00:07:20,410 van al sy lae, die IP laag, die TCP laag, 142 00:07:20,410 --> 00:07:22,420 en die data kry in die regte plek. 143 00:07:22,420 --> 00:07:25,200 En dan, kom ons sê dit ontvang pakkie vier. 144 00:07:25,200 --> 00:07:29,290 >> Nou laat ons sê, dit is dit, is dit nie meer data kry. 145 00:07:29,290 --> 00:07:30,300 Wat gaan dit doen? 146 00:07:30,300 --> 00:07:32,110 IP niks vir ons doen. 147 00:07:32,110 --> 00:07:33,260 Maar TCP doen. 148 00:07:33,260 --> 00:07:38,250 TCP weet, goed, ek het een van ontvang vier, drie of vier, en vier van vier. 149 00:07:38,250 --> 00:07:41,100 Ek kry nie meer data. 150 00:07:41,100 --> 00:07:43,770 So iets het verkeerd gegaan het. 151 00:07:43,770 --> 00:07:45,050 Maar ek kan die lewering waarborg. 152 00:07:45,050 --> 00:07:49,300 Ek weet dat pakkie nommer twee ontbreek. 153 00:07:49,300 --> 00:07:52,470 En so TCP kan nou 'n versoek te maak, soort, in die teenoorgestelde rigting. 154 00:07:52,470 --> 00:07:55,170 Bundeling up sy versoek in veel dieselfde manier, 155 00:07:55,170 --> 00:07:57,230 en stuur dit via IP, wat, ek weet, kon 156 00:07:57,230 --> 00:08:00,880 lei tot 'n soort van oneindige lus van almal val pakkies op die pad. 157 00:08:00,880 --> 00:08:05,580 >> Maar is dit voldoende om daardie TCP sê sê, ek mis 'n pakkie. 158 00:08:05,580 --> 00:08:08,670 Ek nodig het om inligting te stuur terug na die sender. 159 00:08:08,670 --> 00:08:12,025 Gelukkig IP adres van die sender se, soort, saam in die IP laag. 160 00:08:12,025 --> 00:08:15,780 Dit is deel of-- dit is die terugkeer spreek op die koevert. 161 00:08:15,780 --> 00:08:18,800 En sê ek mis pakkie nommer twee, kan jy asseblief weer gestuur word. 162 00:08:18,800 --> 00:08:20,550 Wanneer die sender ontvang daardie inligting, 163 00:08:20,550 --> 00:08:22,599 dit hoef nie te stuur weer die hele e-pos. 164 00:08:22,599 --> 00:08:25,390 Dit moet net dat individuele stuur stukkie van dit wat ontbreek is, 165 00:08:25,390 --> 00:08:27,590 sodat ons kan pakkie nommer twee te stuur. 166 00:08:27,590 --> 00:08:32,610 En wanneer dit kry dit nou TCP sê, Ek het al vier stukke van die data 167 00:08:32,610 --> 00:08:34,100 wat ek nodig het. 168 00:08:34,100 --> 00:08:39,590 So, ek kan hulle saam vergader, en neem hierdie hele blok van die inligting 169 00:08:39,590 --> 00:08:44,169 en slaag dit saam na die hawe 25, waar dit sal vertolk word as 'n e-pos. 170 00:08:44,169 --> 00:08:47,010 En that-- op hierdie manier ons het nou stuur 'n e-pos van sender 171 00:08:47,010 --> 00:08:49,273 om die ontvanger met behulp van die TCP / IP. 172 00:08:49,273 --> 00:08:51,430 173 00:08:51,430 --> 00:08:54,180 So, soos ek gesê het, as by enige punt langs die pad iets verkeerd geloop het, 174 00:08:54,180 --> 00:08:56,600 TCP kan hanteer. 175 00:08:56,600 --> 00:09:00,010 Dit kan 'n versoek dat die inligting kry terug gestuur om dit te. 176 00:09:00,010 --> 00:09:01,840 En dit kan die boodskap te rekonstrueer. 177 00:09:01,840 --> 00:09:05,090 En nadat dit herbou die boodskap van al die pakkies dit ontvang het, 178 00:09:05,090 --> 00:09:10,350 dan kan dit vir hulle te organiseer en hulle lewer aan die regte diens. 179 00:09:10,350 --> 00:09:11,990 >> So dit is TCP in 'n neutedop. 180 00:09:11,990 --> 00:09:14,550 Dit is hoe ons waarborg lewering van inligting. 181 00:09:14,550 --> 00:09:16,540 Onthou die TCP gereeld werk met IP, 182 00:09:16,540 --> 00:09:18,990 so hierdie twee protokolle regtig gaan hand aan hand. 183 00:09:18,990 --> 00:09:22,160 Ons bespreek dit in verskeie video's hier omdat hulle doen verskillende dinge, 184 00:09:22,160 --> 00:09:26,190 maar hulle is so interafhanklik hulle jy gewoonlik saam gebruik. 185 00:09:26,190 --> 00:09:27,150 >> Ek is Doug Lloyd. 186 00:09:27,150 --> 00:09:29,160 Dit is CS50. 187 00:09:29,160 --> 00:09:31,233