1 00:00:00,000 --> 00:00:04,884 2 00:00:04,884 --> 00:00:08,050 DOUG LLOYD: En ĉi tiu video ni iras paroli pri la Transmission Control 3 00:00:08,050 --> 00:00:10,440 Protokolo, TCP. 4 00:00:10,440 --> 00:00:13,290 Se vi ne spektis la vídeo sur interreto protokolo IP, 5 00:00:13,290 --> 00:00:15,290 vi povas deziri fari tiom antaŭ rigardi ĉi tiu video 6 00:00:15,290 --> 00:00:18,680 ĉar la du estas belaj interrilatigitaj. 7 00:00:18,680 --> 00:00:21,100 >> Do, la interreto protokolo, denove, rapidan resumon, 8 00:00:21,100 --> 00:00:22,930 jen la protokolo movigxantajn informo 9 00:00:22,930 --> 00:00:28,210 de sendanta maŝino ricevilo maŝino tra la reto. 10 00:00:28,210 --> 00:00:29,720 >> Do kio estas TCP? 11 00:00:29,720 --> 00:00:33,310 Dum simple kopiante de sendado maŝino por ricevanta maŝino, 12 00:00:33,310 --> 00:00:35,120 ne estas la plena historio. 13 00:00:35,120 --> 00:00:38,040 Ni ankaŭ scias ke nia programo, niaj komputiloj, ekzemple, 14 00:00:38,040 --> 00:00:41,000 kuras multnombraj programoj, kaj havas multoblajn servoj 15 00:00:41,000 --> 00:00:45,140 kurante sur tiuj maŝinoj. 16 00:00:45,140 --> 00:00:51,750 Kaj tial, se ni volas ricevi paketon, aŭ informo al specifa programo, 17 00:00:51,750 --> 00:00:54,590 sur specifa maŝino, Ni bezonas pli informojn 18 00:00:54,590 --> 00:00:59,490 ol nur kion IP nin permesas akiri informoj el punkto A al punkto B. 19 00:00:59,490 --> 00:01:02,390 >> Do, TCP povas esti penso de kiel direktanta la paketon 20 00:01:02,390 --> 00:01:07,590 al la ĝusta programo, aŭ la ĝusta servo, sur la ricevanta maŝino. 21 00:01:07,590 --> 00:01:11,810 Kaj do ĝi estas grave, kiel vi povus atendi, scias kie ĝi estas supozita iri, 22 00:01:11,810 --> 00:01:14,550 kaj kio la paketon estas por samtempe. 23 00:01:14,550 --> 00:01:18,370 Kaj tial, ofte, kiam vi parolas pri transdono kontrolo protokolo, TCP, 24 00:01:18,370 --> 00:01:23,900 vi vere ofte aŭdas ĝin en la kunteksto, TCP oblikvo IP, aŭ nur TCP / IP. 25 00:01:23,900 --> 00:01:27,639 Tiuj du protokoloj estas tiel interrilatigitaj ke, ili estas esence 26 00:01:27,639 --> 00:01:28,680 traktataj kiel ununura unuo. 27 00:01:28,680 --> 00:01:31,630 Sed ili estas du apartaj protokoloj ke fari du apartajn aferojn. 28 00:01:31,630 --> 00:01:36,690 >> Denove, IP estas enregistradis ĝin de unu maŝino al alia. 29 00:01:36,690 --> 00:01:41,250 Kaj TCP estas respondeca ricevas ĝin al la ĝusta programo, 30 00:01:41,250 --> 00:01:43,490 aŭ la ĝentilan servon sur maŝino. 31 00:01:43,490 --> 00:01:45,500 Kaj ĝi faras ion alia ke IP ne fari, 32 00:01:45,500 --> 00:01:48,600 kio estas garantio transdono. 33 00:01:48,600 --> 00:01:55,060 >> Do, se ni nun paro maŝino IP alparoli kun la tn haveno numeron, 34 00:01:55,060 --> 00:01:58,750 kaj haveno nombro estas kiel specifan servo, aŭ utileco, aŭ programo, 35 00:01:58,750 --> 00:02:00,350 estas identigita sur maŝino. 36 00:02:00,350 --> 00:02:03,920 Se ni nun havas IP Adreso plus haveno numeron, 37 00:02:03,920 --> 00:02:07,240 nun ni povas unike identigi aparta servo 38 00:02:07,240 --> 00:02:09,479 kurante sur aparta maŝino. 39 00:02:09,479 --> 00:02:11,920 >> Tial do TCP kaj IP estas tiom ofte interrilatigitaj, 40 00:02:11,920 --> 00:02:14,170 ĉar tiu haveno nombro proprainiciate ne vere 41 00:02:14,170 --> 00:02:17,670 nenion signifas, se vi bezonas haveno nombro, kaj la maŝino 42 00:02:17,670 --> 00:02:19,566 ke vi parolas. 43 00:02:19,566 --> 00:02:24,060 Kio maŝino estas supozata esti uzanta tiu aparta haveno, ekzemple. 44 00:02:24,060 --> 00:02:28,350 >> La alia afero ke TCP faras, kiel Mi diris, estas garantias transdono. 45 00:02:28,350 --> 00:02:30,810 Do, aldone al preciziganta la haveno numeron, 46 00:02:30,810 --> 00:02:34,640 ĝi ankaŭ indikas kiom da paketojn, interreto protokolo IP, 47 00:02:34,640 --> 00:02:36,110 dividis la datumoj en. 48 00:02:36,110 --> 00:02:41,200 Kaj ordigu tiujn pakojn do ili povas esti rekonstruita sur la ricevanta 49 00:02:41,200 --> 00:02:45,820 maŝino, eĉ se ili received-- en malsama ordo ol ili estis senditaj. 50 00:02:45,820 --> 00:02:48,460 Kiu povas okazi ĉar IP Estas rilato protokolo, 51 00:02:48,460 --> 00:02:52,610 kaj tiel malsamaj pakoj povas preni malsamaj vojoj tra la sistemo. 52 00:02:52,610 --> 00:02:53,660 53 00:02:53,660 --> 00:02:55,865 >> Iuj de tiuj haveno nombroj estas tre komune uzataj, 54 00:02:55,865 --> 00:02:57,990 kaj ili is normigita trans ĉiuj komputiloj, 55 00:02:57,990 --> 00:03:00,500 kiel, preskaŭ ĉiu komputilo Fabrikejo nun. 56 00:03:00,500 --> 00:03:03,612 Do iu nomita FTP, la dosiertransigo protokolo, 57 00:03:03,612 --> 00:03:05,820 uzatan transdoni dosieroj, kiel vi povus atendi, 58 00:03:05,820 --> 00:03:10,060 de unu maŝino al alia, kiu uzas havenon 21 konvencie. 59 00:03:10,060 --> 00:03:13,000 Retpoŝto, SMTP, uzas havenon 25. 60 00:03:13,000 --> 00:03:16,070 DNS, la domajna nomo sistemo, kiun ni raportis en nia interreto aboco 61 00:03:16,070 --> 00:03:17,976 vídeo, uzas havenon 53. 62 00:03:17,976 --> 00:03:20,100 Se vi iam foliumantaj la retejo, vi preskaux 63 00:03:20,100 --> 00:03:23,440 ĉiam uzante haveno 80, krom se vi foliumas la TTT sekurige, 64 00:03:23,440 --> 00:03:26,060 sekura navigacio retejo, uzante haveno 443. 65 00:03:26,060 --> 00:03:28,610 66 00:03:28,610 --> 00:03:30,790 >> Do kio estas tiu TCP / IP procezo? 67 00:03:30,790 --> 00:03:33,730 Kio okazas kun ambaŭ de tiuj protokoloj kune? 68 00:03:33,730 --> 00:03:35,520 Nu, ni parolu pri tio. 69 00:03:35,520 --> 00:03:39,420 Kiam programo volas sendi datumojn, TCP helpas rompi ĝin en pecoj, 70 00:03:39,420 --> 00:03:42,700 kaj komunikas tiuj pakoj al la komputilo interkonektis programaro. 71 00:03:42,700 --> 00:03:45,850 Do ĝi prenas la datumojn kaj ĝi envolvas informo ĉirkaŭ ĝi 72 00:03:45,850 --> 00:03:48,700 kiu indikas kio haveno supozas iri, 73 00:03:48,700 --> 00:03:52,500 kaj kiu ordo ke paketon estas el ĉiuj. 74 00:03:52,500 --> 00:03:56,940 Do fari pakon el 10, du de 10, tri de 10, kaj tiel plu. 75 00:03:56,940 --> 00:04:01,750 >> IP ricevas tiujn datumojn pecoj kiuj estis envolvita per TCP, 76 00:04:01,750 --> 00:04:06,447 kaj envolvas pli informo pri kie la paketon supozas iri. 77 00:04:06,447 --> 00:04:08,780 Ni povus nomi tion la IP tavoloj ĉirkaŭantaj la paketon. 78 00:04:08,780 --> 00:04:11,210 Do, ĝi estas speco de, kiel, unu el tiuj nestumantaj pupoj. 79 00:04:11,210 --> 00:04:14,780 Ni havas la datumojn en la mezo, kaj tiam TCP aldone, 80 00:04:14,780 --> 00:04:17,920 rakontanta ĝin kie la datumoj ene de TCP estas 81 00:04:17,920 --> 00:04:22,150 supozita iri, al kio haveno kia servo sur maŝino. 82 00:04:22,150 --> 00:04:25,110 Ĉirkaŭ tiu estas la IP tavolo. 83 00:04:25,110 --> 00:04:29,230 Kio IP, kion maŝinon, fakte atingi tiun. 84 00:04:29,230 --> 00:04:32,070 >> Tial, ke la pakoj kiuj estas estis envolvita kun ĉiuj tiuj tavoloj, 85 00:04:32,070 --> 00:04:35,250 sendas tra interreto protokolo tra la sistemo de routers, Akiranta 86 00:04:35,250 --> 00:04:39,960 el punkto A al punkto B. Kiam la ricevanta maŝino, aŭ aparato, ricevas 87 00:04:39,960 --> 00:04:42,790 ĝin, ĝi rigardas la IP tavolo, ĝi diras, Yup tio 88 00:04:42,790 --> 00:04:45,260 mia IP, do ĝi prenas malproksime, ia fendoj la ovon, 89 00:04:45,260 --> 00:04:47,380 kaj deprenas la IP tavolo. 90 00:04:47,380 --> 00:04:49,530 Tiam vidas ke ekzistas TCP tavolo, kaj ĝi diras, 91 00:04:49,530 --> 00:04:52,720 OK, aspektas kiel ĉi estas tuj haveno x, aŭ haveno y. 92 00:04:52,720 --> 00:04:55,842 Kaj ŝajne ĝi estas paketon numeron ok de 15. 93 00:04:55,842 --> 00:04:56,800 Do tio estas bona scii. 94 00:04:56,800 --> 00:05:01,240 Tial ĝi povas preni tiun informon, demeti la TCP tavolo nun, 95 00:05:01,240 --> 00:05:04,410 sciante, ke ĝi estas por haveno x, kaj ĝi estas pako numero ok, 96 00:05:04,410 --> 00:05:06,270 kaj atingi la datumojn ene. 97 00:05:06,270 --> 00:05:09,460 Kaj ĝi povas prepari la datumojn al organizos en la korekta maniero. 98 00:05:09,460 --> 00:05:11,449 Kaj unufoje ĉiujn datumoj estas ricevita, TCP 99 00:05:11,449 --> 00:05:13,990 povas transdoni ĝin al la ĝusta servo, kaj diru: ĉi tie vi iras. 100 00:05:13,990 --> 00:05:16,107 Jen la datumoj kiuj vin ricevis. 101 00:05:16,107 --> 00:05:17,940 Tiu procezo povus aspekti io tiamaniere. 102 00:05:17,940 --> 00:05:21,392 Do ni sendu retmesaĝon de sendinto al ricevilo. 103 00:05:21,392 --> 00:05:23,100 Kaj diru ĉi retpoŝto estas sufiĉe malgranda, 104 00:05:23,100 --> 00:05:25,975 do ni nur bezonas rompi ĝin kvar pakojn, kaj ni vokos ilin, 105 00:05:25,975 --> 00:05:29,460 B, C, kaj D. Nu, ni volas movi ke unua paketon kio okazas? 106 00:05:29,460 --> 00:05:34,491 Nu, ni preni tiun eron de datumoj, la datumoj kiuj estas parto de pako A, 107 00:05:34,491 --> 00:05:38,500 kaj ĉirkaŭ ke ni tuj envolvi ĝin per TCP tavolo. 108 00:05:38,500 --> 00:05:41,670 Retmesaĝoj, vi eble memoras, estas senditaj tra haveno 25, 109 00:05:41,670 --> 00:05:46,181 kaj ni havas kvar blokoj de datumoj, tie, ke ni tuj estos uzante, 110 00:05:46,181 --> 00:05:47,430 kaj tiu estas la unua de ili. 111 00:05:47,430 --> 00:05:50,013 Do eble nia TCP tavolo entenas informo pri, bone, ni estas 112 00:05:50,013 --> 00:05:56,060 tuj haveno 25, kaj tiu estas pako numero unu el kvar. 113 00:05:56,060 --> 00:05:59,280 >> Ĉirkaŭ tiu, do nun ni havas ĉion, kion informo ekestos kune, 114 00:05:59,280 --> 00:06:03,000 Ni tuj diru, kie ni volas ĝin iri, kion maŝino, kio IP 115 00:06:03,000 --> 00:06:04,910 laŭsupoze ricevas tiun paketon. 116 00:06:04,910 --> 00:06:06,604 Kaj tio estas parto de la IP tavolo. 117 00:06:06,604 --> 00:06:08,770 Kaj estas aliaj informoj tien ankaŭ, tia 118 00:06:08,770 --> 00:06:11,300 kiel la reveno adreson en kazo io iras malbone, 119 00:06:11,300 --> 00:06:14,390 ĝi scias kie sendi informo dorso, kaj tiel plu. 120 00:06:14,390 --> 00:06:16,475 >> Sed la IP tavolo iras ĉirkaŭ ĉiuj de tiu. 121 00:06:16,475 --> 00:06:19,860 Ke tuta afero estas enpakita kune, kiel unu granda unuo, 122 00:06:19,860 --> 00:06:22,080 kaj sendis tra IP translokigo. 123 00:06:22,080 --> 00:06:26,180 Do gets deturnita tra la router reto, uzante interreto protokolo. 124 00:06:26,180 --> 00:06:28,700 Kaj la ricevilo ricevas la tuta afero. 125 00:06:28,700 --> 00:06:31,910 Kaj tiam povas komenciĝi malkonstrui kio okazas tie. 126 00:06:31,910 --> 00:06:36,030 Ĝi rigardas la IP tavolo, la ekster tavolo de ĉi datumoj, 127 00:06:36,030 --> 00:06:38,560 kaj diras, Yep, jen mia IP Adreso tiel ni povas forĵeti ke. 128 00:06:38,560 --> 00:06:40,685 Mi povas, ia, ignoru ĝin, ne bezonas ĝin plu, 129 00:06:40,685 --> 00:06:42,480 kaj ĝi povas rigardi unu nivelo pli profunda. 130 00:06:42,480 --> 00:06:47,590 Ĝi vidas ke, okej, tiu estas datumo kiu celas esti ricevitaj sur haveno 25. 131 00:06:47,590 --> 00:06:50,560 Ĝi estas ŝajne la unua parto el kvar. 132 00:06:50,560 --> 00:06:54,260 Do, mi tuj gardi en gravas, kaj rigardi la datumoj, 133 00:06:54,260 --> 00:06:57,349 kaj fendo ĝi malglate kie Mi pensas ĝin estas iranta iri. 134 00:06:57,349 --> 00:07:00,140 Nun, pro la interreto protokolo ĝi ne estas nepre la kazo 135 00:07:00,140 --> 00:07:03,442 ke la sekva pako la ricevilo ricevas, estas paketon du. 136 00:07:03,442 --> 00:07:05,150 Fakte, la proksima aĵo la ricevilo ricevas 137 00:07:05,150 --> 00:07:08,230 povus esti paketon nombro tri ĉar tiuj pakoj 138 00:07:08,230 --> 00:07:11,777 prenis malsamajn padojn pro malsama trafiko sur la reto. 139 00:07:11,777 --> 00:07:14,360 Kaj tiel, mi ne tuj iri tra la diagramo de konstruado ĝi 140 00:07:14,360 --> 00:07:17,560 restariĝi, sed paketon tri movojn, prenas senvestigita for 141 00:07:17,560 --> 00:07:20,410 de ĉiuj ĝiaj tavoloj, la IP tavolo, la TCP tavolo, 142 00:07:20,410 --> 00:07:22,420 kaj la datumoj iĝas metita en la dekstra loko. 143 00:07:22,420 --> 00:07:25,200 Kaj tiam, ni diras ĝin ricevas pakon kvar. 144 00:07:25,200 --> 00:07:29,290 >> Nun diru, tio estas ĝi, tio ne ricevas neniun pli datumoj. 145 00:07:29,290 --> 00:07:30,300 Kio estas ĝi faros? 146 00:07:30,300 --> 00:07:32,110 IP ne faras nenion por ni. 147 00:07:32,110 --> 00:07:33,260 Sed TCP faras. 148 00:07:33,260 --> 00:07:38,250 TCP scias, nu, mi ricevis unu el kvar, tri el kvar, kaj kvar el kvar. 149 00:07:38,250 --> 00:07:41,100 Mi ne akiranta ajnan pli datumoj. 150 00:07:41,100 --> 00:07:43,770 Do io eraras. 151 00:07:43,770 --> 00:07:45,050 Sed mi povas garantii transdono. 152 00:07:45,050 --> 00:07:49,300 Mi scias ke pakoj numero du mankas. 153 00:07:49,300 --> 00:07:52,470 Kaj tiel TCP povas nun fari peton, sed rilate la inversa direkto. 154 00:07:52,470 --> 00:07:55,170 Enpakanta ĝis lia peto en multa la sama vojo, 155 00:07:55,170 --> 00:07:57,230 kaj sendante ĝin tra IP, kio, mi scias, povis 156 00:07:57,230 --> 00:08:00,880 konduki al ia senfina ciklo de ĉiuj delasante pakoj sur la vojo. 157 00:08:00,880 --> 00:08:05,580 >> Sed sufiĉas diri ke TCP diras, mi mankas paketon. 158 00:08:05,580 --> 00:08:08,670 Mi bezonas sendi informo reen al la sendinto. 159 00:08:08,670 --> 00:08:12,025 Feliĉe la sendinto IP adreso estas: ia, ekestos en la IP tavolo. 160 00:08:12,025 --> 00:08:15,780 Ĝi estas parto of-- ĝi estas la reveno adreson sur la koverton. 161 00:08:15,780 --> 00:08:18,800 Kaj diri, mi mankas paketon nombro du, Povas vin bonvolu resendi ĝin. 162 00:08:18,800 --> 00:08:20,550 Kiam la sendinto ricevas ke informo 163 00:08:20,550 --> 00:08:22,599 ĝi ne devas sendi la tuta retpoŝto ree. 164 00:08:22,599 --> 00:08:25,390 Ĝi nur bezonas sendi al unuopaj pecon de ĝi kiu mankis, 165 00:08:25,390 --> 00:08:27,590 tiel ni povus sendi paketon numero du. 166 00:08:27,590 --> 00:08:32,610 Kaj kiam lin atingas, nun TCP diras, Mi havas kvar pecoj de datumoj 167 00:08:32,610 --> 00:08:34,100 ke mi bezonas. 168 00:08:34,100 --> 00:08:39,590 Do, mi povas kunvenigi ilin kune, kaj preni tiun tutan blokon de informo 169 00:08:39,590 --> 00:08:44,169 kaj fordoni kune al haveno 25, kie estos interpretitaj kiel retmesaĝon. 170 00:08:44,169 --> 00:08:47,010 Kaj that-- tiamaniere ni havas nun sendu retmesaĝon de sendanto 171 00:08:47,010 --> 00:08:49,273 al ricevilo uzante TCP / IP. 172 00:08:49,273 --> 00:08:51,430 173 00:08:51,430 --> 00:08:54,180 Do, kiel mi diris, se en ajna punkto survoje io fuŝiĝis, 174 00:08:54,180 --> 00:08:56,600 TCP povas trakti ĝin. 175 00:08:56,600 --> 00:09:00,010 Ĝi povas fari peton ke la informo akiras sendita reen al ĝi. 176 00:09:00,010 --> 00:09:01,840 Kaj ĝi povas rekonstrui la mesaĝo. 177 00:09:01,840 --> 00:09:05,090 Kaj unufoje ĝi estas rekonstruita la mesaĝo de ĉiuj pakoj ĝi ricevis, 178 00:09:05,090 --> 00:09:10,350 tiam ĝi povas organizi ilin kaj transdonos ilin al la ĝentila servo. 179 00:09:10,350 --> 00:09:11,990 >> Do jen TCP en malmultaj vortoj. 180 00:09:11,990 --> 00:09:14,550 Tiel estas kiel ni garantiu transdono de informoj. 181 00:09:14,550 --> 00:09:16,540 Memoru la TCP ofte laboras kun IP, 182 00:09:16,540 --> 00:09:18,990 do tiuj du protokoloj Vere kuniras. 183 00:09:18,990 --> 00:09:22,160 Ni diskutis ilin en pluraj filmetoj tie ĉar ili faras malsamajn aferojn, 184 00:09:22,160 --> 00:09:26,190 sed ili estas tiel interrilatigitaj, ili vi kutime uzas ilin kune. 185 00:09:26,190 --> 00:09:27,150 >> Mi Doug Lloyd. 186 00:09:27,150 --> 00:09:29,160 Jen CS50. 187 00:09:29,160 --> 00:09:31,233