1 00:00:00,000 --> 00:00:04,884 2 00:00:04,884 --> 00:00:08,050 DOUG LLOYD: Í þessu myndbandi sem við erum að fara að tala um Transmission Control 3 00:00:08,050 --> 00:00:10,440 Siðareglur, TCP. 4 00:00:10,440 --> 00:00:13,290 Ef þú hefur ekki horft á vídeó á internetinu siðareglur, IP, 5 00:00:13,290 --> 00:00:15,290 þú gætir viljað gera það áður en að horfa á þetta vídeó 6 00:00:15,290 --> 00:00:18,680 vegna þess að tveir eru nokkuð innbyrðis. 7 00:00:18,680 --> 00:00:21,100 >> Svo, internetið siðareglur, aftur, a fljótur yfirlit, 8 00:00:21,100 --> 00:00:22,930 það er siðareglur sem flytur upplýsingar 9 00:00:22,930 --> 00:00:28,210 frá senda vél til að taka á móti vél í gegnum netið. 10 00:00:28,210 --> 00:00:29,720 >> Svo er það TCP? 11 00:00:29,720 --> 00:00:33,310 En bara að flytja úr því að senda vél til að fá vél, 12 00:00:33,310 --> 00:00:35,120 er ekki alla söguna. 13 00:00:35,120 --> 00:00:38,040 Við vitum líka að áætlun okkar, tölvur okkar, til dæmis, 14 00:00:38,040 --> 00:00:41,000 ert að keyra mörg forrit, og hafa margar þjónustur 15 00:00:41,000 --> 00:00:45,140 gangi á þessum vélum. 16 00:00:45,140 --> 00:00:51,750 Og svo, ef við viljum fá pakka, eða upplýsingar til ákveðna áætlun, 17 00:00:51,750 --> 00:00:54,590 á tilteknu vél, við þurfum meiri upplýsingar 18 00:00:54,590 --> 00:00:59,490 en bara það IP gerir okkur kleift að fá Upplýsingar frá A-lið til að benda B. 19 00:00:59,490 --> 00:01:02,390 >> Svo, TCP er hugsað sem beina pakki 20 00:01:02,390 --> 00:01:07,590 til að rétta program, eða réttur þjónustu, því að móttakandi fær vél. 21 00:01:07,590 --> 00:01:11,810 Og svo er það mikilvægt að, eins og þú gætir búast við, að þar sem það er ætlast til að fara, 22 00:01:11,810 --> 00:01:14,550 og hvað pakki er til á sama tíma. 23 00:01:14,550 --> 00:01:18,370 Og svo, oft, þegar þú talar um sending stjórna siðareglur, TCP, 24 00:01:18,370 --> 00:01:23,900 þú heyrir það virkilega oft í samhengi, TCP rista IP, eða bara TCP / IP. 25 00:01:23,900 --> 00:01:27,639 Þessar tvær bókanir eru svo innbyrðis að, þá eru þeir í rauninni 26 00:01:27,639 --> 00:01:28,680 skoðast sem ein heild. 27 00:01:28,680 --> 00:01:31,630 En þeir eru tveir aðskildir siðareglur að gera tvö aðskilin atriði. 28 00:01:31,630 --> 00:01:36,690 >> Aftur, IP er ábyrgur fyrir því að fá það frá einni vél til annars. 29 00:01:36,690 --> 00:01:41,250 Og TCP er ábyrgur fyrir fá það til að rétta forritið, 30 00:01:41,250 --> 00:01:43,490 eða réttrar þjónustueiningar á vél. 31 00:01:43,490 --> 00:01:45,500 Og það er eitthvað annað sem IP er ekki að gera, 32 00:01:45,500 --> 00:01:48,600 sem er trygging afhendingu. 33 00:01:48,600 --> 00:01:55,060 >> Svo, ef við nú nokkra IP a vélarinnar takast með svokölluðu höfn tala, 34 00:01:55,060 --> 00:01:58,750 og höfn tala er hvernig sérstakur þjónusta, eða gagnsemi, eða áætlun, 35 00:01:58,750 --> 00:02:00,350 er bent á vél. 36 00:02:00,350 --> 00:02:03,920 Ef við höfum nú IP netfang auk höfn tala, 37 00:02:03,920 --> 00:02:07,240 nú getum við einstaklega þekkja tiltekin þjónusta 38 00:02:07,240 --> 00:02:09,479 gangi á tilteknu vél. 39 00:02:09,479 --> 00:02:11,920 >> Svo er það hvers vegna TCP og IP er svo oft nátengdar, 40 00:02:11,920 --> 00:02:14,170 vegna þess gáttarnúmer á eigin spýtur er í raun ekki 41 00:02:14,170 --> 00:02:17,670 neitt ef þú þarft a höfn tala, og vélin 42 00:02:17,670 --> 00:02:19,566 að þú ert að tala um. 43 00:02:19,566 --> 00:02:24,060 Hvað vél er ætlað að vera með Þetta tiltekna höfn, til dæmis. 44 00:02:24,060 --> 00:02:28,350 >> The annar hlutur sem TCP gerir, eins og Ég sagði, er það tryggir afhendingu. 45 00:02:28,350 --> 00:02:30,810 Svo, til viðbótar við tilgreina gáttarnúmer, 46 00:02:30,810 --> 00:02:34,640 það sýnir líka hversu margir pakka, internetið siðareglur, IP, 47 00:02:34,640 --> 00:02:36,110 hefur skipt gögn inn. 48 00:02:36,110 --> 00:02:41,200 Og það pantar þá pakka svo þeir Hægt er að endurbyggja á móttöku 49 00:02:41,200 --> 00:02:45,820 vél, jafnvel þótt þeir received-- í annarri röð en þeir voru sendir. 50 00:02:45,820 --> 00:02:48,460 Sem getur gerst vegna þess að IP er connectionless siðareglur, 51 00:02:48,460 --> 00:02:52,610 og svo mismunandi pakkar geta tekið mismunandi leiðir í gegnum kerfið. 52 00:02:52,610 --> 00:02:53,660 53 00:02:53,660 --> 00:02:55,865 >> Sum þessara númera- eru mjög algengt, 54 00:02:55,865 --> 00:02:57,990 og þeir hafa verið stöðluð í öllum tölvum, 55 00:02:57,990 --> 00:03:00,500 eins, nánast hvert tölva framleiðandi núna. 56 00:03:00,500 --> 00:03:03,612 Svo eitthvað sem kallast FTP, sem File Transfer Protocol, 57 00:03:03,612 --> 00:03:05,820 sem er notað til að senda skrár, eins og þú might búast við, 58 00:03:05,820 --> 00:03:10,060 á milli einnar vélar til annars, sem notar höfn 21 venjulega. 59 00:03:10,060 --> 00:03:13,000 Email, SMTP, notar höfn 25. 60 00:03:13,000 --> 00:03:16,070 DNS, nafn lénsins kerfi, sem við talaði um í Internet grunnur okkar 61 00:03:16,070 --> 00:03:17,976 video, notar höfn 53. 62 00:03:17,976 --> 00:03:20,100 Ef þú ert alltaf að skoða vefur, þú ert ansi mikið 63 00:03:20,100 --> 00:03:23,440 alltaf með höfn 80, nema þú ert að vafra á vefnum á öruggan hátt, 64 00:03:23,440 --> 00:03:26,060 örugg vefur beit, með höfn 443. 65 00:03:26,060 --> 00:03:28,610 66 00:03:28,610 --> 00:03:30,790 >> Svo er það þetta TCP / IP ferli? 67 00:03:30,790 --> 00:03:33,730 Hvað er að gerast með bæði þessara bókanir saman? 68 00:03:33,730 --> 00:03:35,520 Jæja, við skulum tala um það. 69 00:03:35,520 --> 00:03:39,420 Þegar forrit vill senda gögn, TCP hjálpar brjóta það í bita, 70 00:03:39,420 --> 00:03:42,700 og miðlar þeim pakka til net hugbúnaður í tölvunni. 71 00:03:42,700 --> 00:03:45,850 Þannig að það tekur gögn og það hula upplýsingar um það 72 00:03:45,850 --> 00:03:48,700 sem gefur til kynna hvað höfn er ætlað að fara til, 73 00:03:48,700 --> 00:03:52,500 og hvaða röð sem pakki er út af öllu. 74 00:03:52,500 --> 00:03:56,940 Svo gera Packet einn af 10, tveir af 10, þrír af 10, og svo framvegis. 75 00:03:56,940 --> 00:04:01,750 >> IP fær þá gögn klumpur sem hafa verið upptekin við TCP, 76 00:04:01,750 --> 00:04:06,447 og hula Nánari upplýsingar um þar sem pakki er ætlað að fara. 77 00:04:06,447 --> 00:04:08,780 Við gætum kalla þetta IP lag í kringum pakkann. 78 00:04:08,780 --> 00:04:11,210 Svo, það er tegund af eins, einn af þeim verpa dúkkur. 79 00:04:11,210 --> 00:04:14,780 Við höfum gögn í miðju, og þá TCP ofan á, 80 00:04:14,780 --> 00:04:17,920 segja það þar sem gögn inni TCP er 81 00:04:17,920 --> 00:04:22,150 ætlað að fara, til hvers höfn eða hvaða þjónustu á vél. 82 00:04:22,150 --> 00:04:25,110 Around sem er IP lag. 83 00:04:25,110 --> 00:04:29,230 Hvað IP heimilisfang, hvað vél, er í raun að fá þetta. 84 00:04:29,230 --> 00:04:32,070 >> Svo þá, að pakki sem er verið vafinn með öllum þeim lögum, 85 00:04:32,070 --> 00:04:35,250 er sendur í gegnum siðareglur í gegnum kerfi leið, að fá 86 00:04:35,250 --> 00:04:39,960 frá A-lið til að benda B. Þegar fengu vél, eða tæki, fær 87 00:04:39,960 --> 00:04:42,790 það, það lítur á IP lag, segir það, jamm það er 88 00:04:42,790 --> 00:04:45,260 IP tölu mína, þannig að það tekur burt, eiginlega sprungur egg, 89 00:04:45,260 --> 00:04:47,380 og tekur burt IP lag. 90 00:04:47,380 --> 00:04:49,530 Þá sér það að það er a TCP lag, og það segir, 91 00:04:49,530 --> 00:04:52,720 OK, lítur út eins og þetta er fara til höfn x, eða höfn y. 92 00:04:52,720 --> 00:04:55,842 Og virðist það Packet númer átta af 15. 93 00:04:55,842 --> 00:04:56,800 Svo er það gott að vita. 94 00:04:56,800 --> 00:05:01,240 Svo þá er hægt að taka þær upplýsingar, taka burt the TCP lag núna, 95 00:05:01,240 --> 00:05:04,410 vitandi að það er port x, og það er pakki númer átta, 96 00:05:04,410 --> 00:05:06,270 og fá á gögnin inni. 97 00:05:06,270 --> 00:05:09,460 Og það getur undirbúa gögn til að skipuleggja á réttan hátt. 98 00:05:09,460 --> 00:05:11,449 Og þegar allt í gögn berast, TCP 99 00:05:11,449 --> 00:05:13,990 getur afhenda það burt á réttan þjónustu, og segja, hér þú fara. 100 00:05:13,990 --> 00:05:16,107 Hér er upplýsingar sem þú fékkst. 101 00:05:16,107 --> 00:05:17,940 Það ferli getur litið eitthvað eins og þetta. 102 00:05:17,940 --> 00:05:21,392 Svo skulum senda tölvupóst frá sendanda til móttakanda. 103 00:05:21,392 --> 00:05:23,100 Og við skulum segja að þetta tölvupóstur er ansi lítið, 104 00:05:23,100 --> 00:05:25,975 þannig að við þurfum aðeins að brjóta það í fjórum pakka, og við munum kalla þá A, 105 00:05:25,975 --> 00:05:29,460 B, C, og D. Jæja, við viljum færa sem fyrst Packet hvað gerist? 106 00:05:29,460 --> 00:05:34,491 Jæja, við tökum að klumpur af gögnum, gögn sem er hluti af Packet A, 107 00:05:34,491 --> 00:05:38,500 og um að við erum að fara að vefja það með TCP lag. 108 00:05:38,500 --> 00:05:41,670 Tölvupóst, getur þú manst, eru send um höfn 25, 109 00:05:41,670 --> 00:05:46,181 og við höfum fjórar klumpur af gögnum, hér, að við erum að fara að vera með, 110 00:05:46,181 --> 00:05:47,430 og þetta er fyrsta af þeim. 111 00:05:47,430 --> 00:05:50,013 Svo kannski inniheldur TCP lag okkar upplýsingar um, vel, við erum 112 00:05:50,013 --> 00:05:56,060 fara til hafnar 25, og þetta er pakki númer eitt af fjórum. 113 00:05:56,060 --> 00:05:59,280 >> Í kringum það, svo nú höfum við allt sem Upplýsingar búnt upp saman, 114 00:05:59,280 --> 00:06:03,000 við erum að fara að segja þar sem við viljum það að fara, hvað vél, hvaða IP heimilisfang 115 00:06:03,000 --> 00:06:04,910 er ætlast til að fá þessa pakka. 116 00:06:04,910 --> 00:06:06,604 Og það er hluti af IP lag. 117 00:06:06,604 --> 00:06:08,770 Og það er aðrar upplýsingar þar eins og heilbrigður, svo 118 00:06:08,770 --> 00:06:11,300 sem aftur heimilisfang í Ef eitthvað fer úrskeiðis, 119 00:06:11,300 --> 00:06:14,390 það veit hvar á að senda upplýsingar til baka, og svo framvegis. 120 00:06:14,390 --> 00:06:16,475 >> En IP lag fer um allt það. 121 00:06:16,475 --> 00:06:19,860 Að allt hlutur er búnt saman, eins og einn stór eining, 122 00:06:19,860 --> 00:06:22,080 og sendi í gegnum IP flutning. 123 00:06:22,080 --> 00:06:26,180 Svo það verður flutt í gegnum leið net, nota Internet Protocol. 124 00:06:26,180 --> 00:06:28,700 Og móttakari fær allt hlutur. 125 00:06:28,700 --> 00:06:31,910 Og þá getur það byrjað að deconstruct hvað er að gerast hér. 126 00:06:31,910 --> 00:06:36,030 Það lítur á IP lag, utan lag af þessum gögnum, 127 00:06:36,030 --> 00:06:38,560 og segir, jebb, það er IP minn netfang svo við getum fleygt að. 128 00:06:38,560 --> 00:06:40,685 Ég get, svona, hunsa það, þarf ekki það lengur, 129 00:06:40,685 --> 00:06:42,480 og það getur að líta eitt stig dýpra. 130 00:06:42,480 --> 00:06:47,590 Það sér það í lagi, þetta eru gögn sem er ætlað að vera fékk á höfn 25. 131 00:06:47,590 --> 00:06:50,560 Það er víst fyrsti hluti af fjórum. 132 00:06:50,560 --> 00:06:54,260 Svo er ég að fara að hafa það í huga, og líta á gögnin, 133 00:06:54,260 --> 00:06:57,349 og rifa það bil þar Ég held að það er að fara að fara. 134 00:06:57,349 --> 00:07:00,140 Nú, vegna þess að Internet-samskiptareglur það er ekki endilega raunin 135 00:07:00,140 --> 00:07:03,442 að næsta pakki sem móttakara fær, er pakki tvö. 136 00:07:03,442 --> 00:07:05,150 Í staðreynd, the næstur hlutur móttakari fær 137 00:07:05,150 --> 00:07:08,230 gæti verið Packet tala þrír vegna þess að þessi pakki 138 00:07:08,230 --> 00:07:11,777 tók mismunandi leiðir vegna mismunandi umferð á netinu. 139 00:07:11,777 --> 00:07:14,360 Og svo, ég er ekki að fara að fara gegnum myndinni að byggja það 140 00:07:14,360 --> 00:07:17,560 upp aftur, en pakki þrír færist fær sviptur burt 141 00:07:17,560 --> 00:07:20,410 af öllum af lögum sínum, IP lag, TCP lag, 142 00:07:20,410 --> 00:07:22,420 og gögn fær að setja í rétta staðnum. 143 00:07:22,420 --> 00:07:25,200 Og þá, við skulum segja það fær pakka fjórum. 144 00:07:25,200 --> 00:07:29,290 >> Nú skulum segja, það er það, það ekki fá allir fleiri gögn. 145 00:07:29,290 --> 00:07:30,300 Hvað er það að fara að gera? 146 00:07:30,300 --> 00:07:32,110 IP gerir ekki neitt fyrir okkur. 147 00:07:32,110 --> 00:07:33,260 En TCP gerir. 148 00:07:33,260 --> 00:07:38,250 TCP veit vel, ég hef fengið eitt af fjórir, þrír af fjórum, og fjórir af fjórum. 149 00:07:38,250 --> 00:07:41,100 Ég ætla ekki að fá fleiri gögn. 150 00:07:41,100 --> 00:07:43,770 Svo eitthvað hefur farið úrskeiðis. 151 00:07:43,770 --> 00:07:45,050 En ég get ábyrgst afhendingu. 152 00:07:45,050 --> 00:07:49,300 Ég veit að pakka númer tvö vantar. 153 00:07:49,300 --> 00:07:52,470 Og svo TCP geta nú leggja fram beiðni, konar, í öfuga átt. 154 00:07:52,470 --> 00:07:55,170 Samtvinnun upp beiðni sína á mjög svipaðan hátt, 155 00:07:55,170 --> 00:07:57,230 og senda það með IP, sem ég veit, gæti 156 00:07:57,230 --> 00:08:00,880 leiða til einhvers konar óendanlega lykkju á allir sleppa pökkum á leiðinni. 157 00:08:00,880 --> 00:08:05,580 >> En nægja að segja að TCP segir, ég er vantar pakka. 158 00:08:05,580 --> 00:08:08,670 Ég þarf að senda upplýsingar aftur til sendanda. 159 00:08:08,670 --> 00:08:12,025 Sem betur fer er IP vistfang sendanda, konar, búnt upp í IP lag. 160 00:08:12,025 --> 00:08:15,780 Það er hluti of-- það er aftur takast á umslaginu. 161 00:08:15,780 --> 00:08:18,800 Og segja, ég vantar Packet fjölda tveir, getur þú vinsamlegast senda þau. 162 00:08:18,800 --> 00:08:20,550 Þegar Sendandinn fær að upplýsingar, 163 00:08:20,550 --> 00:08:22,599 það þarf ekki að senda allt tölvupósti aftur. 164 00:08:22,599 --> 00:08:25,390 Það þarf aðeins að senda þessi einstaklingur stykki af því sem vantaði, 165 00:08:25,390 --> 00:08:27,590 svo við gætum sent Packet númer tvö. 166 00:08:27,590 --> 00:08:32,610 Og þegar það gerist það, nú TCP segir, Ég hef alla fjögur stykki af gögnum 167 00:08:32,610 --> 00:08:34,100 sem ég þarf. 168 00:08:34,100 --> 00:08:39,590 Svo, ég get safna þeim saman, og taka þetta allt blokk af upplýsingum 169 00:08:39,590 --> 00:08:44,169 og gefa það eftir til hafnar 25, þar það verður að túlka sem tölvupóst. 170 00:08:44,169 --> 00:08:47,010 Og that-- á þennan hátt við að ve nú senda tölvupóst frá sendanda 171 00:08:47,010 --> 00:08:49,273 til móttakara með TCP / IP. 172 00:08:49,273 --> 00:08:51,430 173 00:08:51,430 --> 00:08:54,180 Svo, eins og ég sagði, ef á hverjum stað á leiðinni eitthvað fór úrskeiðis, 174 00:08:54,180 --> 00:08:56,600 TCP getur tekist á við það. 175 00:08:56,600 --> 00:09:00,010 Það er hægt að gera beiðni um að Upplýsingar fær send til baka til þess. 176 00:09:00,010 --> 00:09:01,840 Og það getur endurgera skilaboðin. 177 00:09:01,840 --> 00:09:05,090 Og þegar það er að endurbyggja skilaboðin frá öllum pökkum það er fengið, 178 00:09:05,090 --> 00:09:10,350 þá getur það raða þeim og skila þeim á réttan þjónustu. 179 00:09:10,350 --> 00:09:11,990 >> Svo er það TCP í hnotskurn. 180 00:09:11,990 --> 00:09:14,550 Það er hvernig við tryggjum afhending upplýsinga. 181 00:09:14,550 --> 00:09:16,540 Mundu að TCP oft virkar með IP, 182 00:09:16,540 --> 00:09:18,990 svo þessar tvær bókanir virkilega ekki fara hönd í hönd. 183 00:09:18,990 --> 00:09:22,160 Við ræddum þá í nokkrum vídeó hér vegna þess að þeir gera mismunandi hluti, 184 00:09:22,160 --> 00:09:26,190 en þeir eru svo nátengdar, þeir munt þú venjulega nota þá saman. 185 00:09:26,190 --> 00:09:27,150 >> Ég er Doug Lloyd. 186 00:09:27,150 --> 00:09:29,160 Þetta er CS50. 187 00:09:29,160 --> 00:09:31,233