1 00:00:04,884 --> 00:00:07,662 DOGS LOIDS: Šajā videoklipā mēs runāsim par pārraides kontroles 2 00:00:07,662 --> 00:00:10,440 protokolu (TCP). 3 00:00:10,440 --> 00:00:13,186 Ja neesat skatījies video par interneta protokolu, IP, iespējams, 4 00:00:13,186 --> 00:00:15,933 vēlēsities to izdarīt pirms šī videoklipa skatīšanās, jo tie ir 5 00:00:15,933 --> 00:00:18,680 diezgan savstarpēji saistīti. 6 00:00:18,680 --> 00:00:21,856 Tātad, interneta protokols, atkal īss kopsavilkums, tas ir protokols, 7 00:00:21,856 --> 00:00:25,033 kas pārvieto informāciju no sūtīšanas iekārtas uz saņēmēju, 8 00:00:25,033 --> 00:00:28,210 izmantojot tīklu. 9 00:00:28,210 --> 00:00:29,720 Tātad, kas ir TCP? 10 00:00:29,720 --> 00:00:32,420 Lai gan tikai informācijas pārvietošana no sūtīšanas iekārtas uz 11 00:00:32,420 --> 00:00:35,120 saņemšanas iekārtu, tas nav viss stāsts. 12 00:00:35,120 --> 00:00:38,460 Mēs arī zinām, ka mūsu programmā, piemēram, mūsu datoros darbojas 13 00:00:38,460 --> 00:00:41,800 vairākas programmas, un šajās iekārtās tiek veikti vairāki 14 00:00:41,800 --> 00:00:45,140 pakalpojumi. 15 00:00:45,140 --> 00:00:48,727 Tātad, ja mēs vēlamies iegūt paketi vai informāciju konkrētai 16 00:00:48,727 --> 00:00:52,315 programmai konkrētā iekārtā, mums ir nepieciešams vairāk 17 00:00:52,315 --> 00:00:55,902 informācijas, nevis tikai tā, kādu IP ļauj iegūt no punkta A uz 18 00:00:55,902 --> 00:00:59,490 punktu B. 19 00:00:59,490 --> 00:01:03,540 Tātad, TCP var uzskatīt par paketi, kas novirza paketi uz pareizo 20 00:01:03,540 --> 00:01:07,590 programmu vai pareizo pakalpojumu saņēmēja iekārtā 21 00:01:07,590 --> 00:01:11,070 Tāpēc ir svarīgi, kā jūs varētu gaidīt, zināt, kur paketei ir jānonāk 22 00:01:11,070 --> 00:01:14,550 un kam tā ir paredzēta. 23 00:01:14,550 --> 00:01:17,666 Un tāpēc bieži, kad jūs runājat par pārraides kontroles protokolu, 24 00:01:17,666 --> 00:01:20,783 TCP, jūs patiešām bieži to dzirdat kontekstā, TCP slīpsvītraIP vai 25 00:01:20,783 --> 00:01:23,900 vienkārši TCP/IP. 26 00:01:23,900 --> 00:01:26,290 Šie divi protokoli ir tik savstarpēji saistīti, ka pamatā tie tiek 27 00:01:26,290 --> 00:01:28,680 uzskatīti par vienu vienību. 28 00:01:28,680 --> 00:01:30,155 Bet tie ir divi atsevišķi protokoli, kas veic divas atsevišķas 29 00:01:30,155 --> 00:01:31,630 darbības. 30 00:01:31,630 --> 00:01:36,690 Atkal IP ir atbildīgs par tā nogādāšanu no vienas mašīnas uz otru. 31 00:01:36,690 --> 00:01:40,090 Un TCP ir atbildīgs par tā nogādāšanu pareizajā programmā vai 32 00:01:40,090 --> 00:01:43,490 pareizajā pakalpojuma iekārtā. 33 00:01:43,490 --> 00:01:48,600 Un tas dara kaut ko citu, ko IP nedara, proti, garantē piegādi. 34 00:01:48,600 --> 00:01:52,516 Tātad, ja mēs tagad savienojam mašīnas IP adresi ar tā saukto porta 35 00:01:52,516 --> 00:01:56,433 numuru, un porta numurs ir veids, kā datorā tiek identificēts 36 00:01:56,433 --> 00:02:00,350 konkrēts pakalpojums vai serviss, vai programma. 37 00:02:00,350 --> 00:02:04,914 Ja mums tagad ir IP adrese un porta numurs, tagad mēs varam unikāli 38 00:02:04,914 --> 00:02:09,479 identificēt konkrētu pakalpojumu, kas darbojas konkrētā datorā. 39 00:02:09,479 --> 00:02:12,841 Tāpēc TCP un IP ir tik bieži savstarpēji saistīti, jo šis porta 40 00:02:12,841 --> 00:02:16,203 numurs pats par sevi īsti neko nenozīmē, ja jums ir nepieciešams 41 00:02:16,203 --> 00:02:19,566 porta numurs un iekārta , par kuru jūs runājat. 42 00:02:19,566 --> 00:02:24,060 Piemēram, kādai mašīnai vajadzētu izmantot šo konkrēto portu. 43 00:02:24,060 --> 00:02:28,350 Otra lieta, ko TCP dara, kā jau teicu, ir piegādes garantija. 44 00:02:28,350 --> 00:02:32,230 Tātad, papildus porta numura norādīšanai, tas arī norāda, cik 45 00:02:32,230 --> 00:02:36,110 paketēs, interneta protokols, IP, ir sadalījis datus. 46 00:02:36,110 --> 00:02:40,965 Un tas pasūta šīs paketes, lai tās varētu rekonstruēt saņēmēja 47 00:02:40,965 --> 00:02:45,820 iekārtā, pat ja tās saņemtas — citā secībā, nekā tās tika nosūtītas. 48 00:02:45,820 --> 00:02:49,215 Tas var notikt tāpēc, ka IP ir bezsavienojumu protokols, un tāpēc 49 00:02:49,215 --> 00:02:52,610 dažādas paketes var iet cauri sistēmai dažādos ceļos. 50 00:02:53,660 --> 00:02:55,940 Daži no šiem portu numuriem tiek izmantoti ļoti bieži, un tie ir 51 00:02:55,940 --> 00:02:58,220 standartizēti visos datoros, piemēram, gandrīz visos datoros, kas 52 00:02:58,220 --> 00:03:00,500 tiek ražoti tagad. 53 00:03:00,500 --> 00:03:03,686 Tātad kaut kas tiek saukts par FTP — failu pārsūtīšanas protokols, ko 54 00:03:03,686 --> 00:03:06,873 izmanto failu pārsūtīšanaino vienas iekārtas uz otru, kas parasti 55 00:03:06,873 --> 00:03:10,060 izmanto 21. portu. 56 00:03:10,060 --> 00:03:13,000 E-pasts, SMTP, izmanto 25. portu. 57 00:03:13,000 --> 00:03:15,488 DNS, domēna nosaukumu sistēma, par kuru mēs runājām mūsu interneta 58 00:03:15,488 --> 00:03:17,976 primer video, izmanto portu 53. 59 00:03:17,976 --> 00:03:20,670 Ja kādreiz pārlūkojat tīmekli, jūs gandrīz vienmēr izmantojat 60 00:03:20,670 --> 00:03:23,365 80. portu, ja pārlūkojat tīmekli droši, tad drošu tīmekļa 61 00:03:23,365 --> 00:03:26,060 pārlūkošanai, izmantojat 443. portu. 62 00:03:28,610 --> 00:03:30,790 Tātad, kāds ir šis TCP/IP process? 63 00:03:30,790 --> 00:03:33,730 Kas notiek ar abiem šiem protokoliem kopā? 64 00:03:33,730 --> 00:03:35,520 Nu, parunāsim par to. 65 00:03:35,520 --> 00:03:39,110 Kad programma vēlas nosūtīt datus, TCP palīdz tos sadalīt vienībās un 66 00:03:39,110 --> 00:03:42,700 nosūta šīs paketes datora tīkla programmatūrai. 67 00:03:42,700 --> 00:03:47,600 Tātad tas ņem datus un it kā iesaiņo informāciju, kas norāda uz kuru 68 00:03:47,600 --> 00:03:52,500 portu ir jāiet un kādā secībā šī pakete tiek sūtīta. . 69 00:03:52,500 --> 00:03:54,720 Tāpēc izveidojiet paketi vienu no 10, divas no 10, trīs no 10 un tā 70 00:03:54,720 --> 00:03:56,940 tālāk. 71 00:03:56,940 --> 00:04:01,693 IP iegūst tās datu vienības, kas tiek it kā iesaiņota ar TCP, un 72 00:04:01,693 --> 00:04:06,447 apkopo vairāk informācijas par to, kur paketei ir jānonāk. 73 00:04:06,447 --> 00:04:08,780 Mēs to varētu saukt par IP slāņiem, kas aptver paketi. 74 00:04:08,780 --> 00:04:11,210 Tātad, to var salīdzināt ar putna olu, kas atrodas ligzdā. 75 00:04:11,210 --> 00:04:14,856 Mums ir dati pa vidu, un pēc tam TCP augšpusē, norādot, kur TCP 76 00:04:14,856 --> 00:04:18,503 iekšienē esošajiem datiem ir jānonāk, uz kādu portu vai kādu ierīces 77 00:04:18,503 --> 00:04:22,150 pakalpojumu. 78 00:04:22,150 --> 00:04:25,110 Ap to ir IP slānis. 79 00:04:25,110 --> 00:04:29,230 Kāda IP adrese, kāda ierīce to faktiski saņem. 80 00:04:29,230 --> 00:04:32,806 Tad šī pakete, kas ir ietīta ar visiem šiem slāņiem, tiek nosūtīta 81 00:04:32,806 --> 00:04:36,383 caur interneta protokolu caur maršrutētāju sistēmu, nokļūstot no 82 00:04:36,383 --> 00:04:39,960 punkta A uz punktu B. 83 00:04:35,250 --> 00:04:39,293 Kad saņemošā mašīna vai ierīce to saņem, tā skatās uz IP slāni un 84 00:04:39,293 --> 00:04:43,336 saka: jā, tā ir mana IP adrese, tāpēc tā paceļas, it kā salaužot olu, 85 00:04:43,336 --> 00:04:47,380 un noņem IP slāni. 86 00:04:47,380 --> 00:04:50,050 Tad tas redz, ka ir TCP slānis, un saka: Labi, izskatās, ka tas iet 87 00:04:50,050 --> 00:04:52,720 uz portu x vai portu y. 88 00:04:52,720 --> 00:04:55,842 Un acīmredzot tā ir astotā pakete no 15. 89 00:04:55,842 --> 00:04:56,800 Tāpēc ir labi to zināt. 90 00:04:56,800 --> 00:04:59,956 Tātad tas var paņemt šo informāciju, noņemt TCP slāni tagad, zinot, 91 00:04:59,956 --> 00:05:03,113 ka tas ir paredzēts portam x un ir paketes numurs astoņi, un iegūt 92 00:05:03,113 --> 00:05:06,270 datus, kas atrodas tajā.. 93 00:05:06,270 --> 00:05:09,460 Un tas var sagatavot datus pareizai organizēšanai. 94 00:05:09,460 --> 00:05:11,725 Kad visi dati ir saņemti, TCP var tos nodot pareizajam pakalpojumam 95 00:05:11,725 --> 00:05:13,990 un pateikt: te ir. 96 00:05:13,990 --> 00:05:16,107 Lūk, jūsu saņemtie dati. 97 00:05:16,107 --> 00:05:17,940 Šis process varētu izskatīties apmēram šādi. 98 00:05:17,940 --> 00:05:21,392 Tātad, nosūtīsim e-pastu no sūtītāja saņēmējam. 99 00:05:21,392 --> 00:05:25,426 Pieņemsim, ka šis e-pasts ir diezgan mazs, tāpēc mums tas jāsadala 100 00:05:25,426 --> 00:05:29,460 tikai četrās paketēs, un mēs tās sauksim par A, B, C un D. 101 00:05:25,975 --> 00:05:29,460 Nu, mēs vēlamies pārvietot pirmo paketi, kas notiek? 102 00:05:29,460 --> 00:05:33,980 Mēs ņemam šo datu daļu, datus, kas ir daļa no paketes A, un ap to mēs 103 00:05:33,980 --> 00:05:38,500 to it kā iesaiņosim ar TCP slāni. 104 00:05:38,500 --> 00:05:41,476 Jūs, iespējams, atceraties, ka e-pasta ziņojumi tiek sūtīti, 105 00:05:41,476 --> 00:05:44,453 izmantojot 25. portu, un mums ir četras datu daļas, kuras mēs 106 00:05:44,453 --> 00:05:47,430 izmantosim, un šī ir pirmā no tām. 107 00:05:47,430 --> 00:05:51,745 Tātad, iespējams, mūsu TCP slānis satur informāciju par to, labi, mēs 108 00:05:51,745 --> 00:05:56,060 ejam uz portu 25, un šī ir pakete numur viens no četrām. 109 00:05:56,060 --> 00:05:59,010 Aptuveni tā, tāpēc tagad mums ir visa šī informācija kopā, mēs 110 00:05:59,010 --> 00:06:01,960 pateiksim, kur mēs vēlamies, lai tā nonāktu, kāda iekārta, kādai IP 111 00:06:01,960 --> 00:06:04,910 adresei ir jāsaņem šī pakete. 112 00:06:04,910 --> 00:06:06,604 Un tā ir daļa no IP slāņa. 113 00:06:06,604 --> 00:06:09,199 Un tur ir arī cita informācija, piemēram, atgriešanas adrese, ja kaut 114 00:06:09,199 --> 00:06:11,794 kas noiet greizi, tas zina, kur nosūtīt informāciju atpakaļ, un tā 115 00:06:11,794 --> 00:06:14,390 tālāk. 116 00:06:14,390 --> 00:06:16,475 Bet IP slānis iet apkārt tam visam. 117 00:06:16,475 --> 00:06:19,277 Visa šī lieta ir apvienota kā viena liela vienība un nosūtīta, 118 00:06:19,277 --> 00:06:22,080 izmantojot IP pārsūtīšanu. 119 00:06:22,080 --> 00:06:24,130 Tātad tas tiek maršrutēts caur maršrutētāja tīklu, izmantojot 120 00:06:24,130 --> 00:06:26,180 interneta protokolu. 121 00:06:26,180 --> 00:06:28,700 Un uztvērējs saņem visu. 122 00:06:28,700 --> 00:06:31,910 Un tad tas var sākt dekonstruēt šeit notiekošo. 123 00:06:31,910 --> 00:06:35,235 Tas aplūko IP slāni, šo datu ārējo slāni un saka: jā, tā ir mana IP 124 00:06:35,235 --> 00:06:38,560 adrese, lai mēs varētu to atmest. 125 00:06:38,560 --> 00:06:40,520 Es varu to ignorēt, man tas vairs nav vajadzīgs, un tas var 126 00:06:40,520 --> 00:06:42,480 izskatīties vienu līmeni dziļāk. 127 00:06:42,480 --> 00:06:47,590 Tas redz, ka, labi, tie ir dati, kurus paredzēts saņemt 25. portā. 128 00:06:47,590 --> 00:06:50,560 Acīmredzot tā ir pirmā daļa no četrām. 129 00:06:50,560 --> 00:06:53,954 Tāpēc es paturēšu to prātā un apskatīšu datus un ievietošu tos 130 00:06:53,954 --> 00:06:57,349 aptuveni tur, kur, manuprāt, tie nonāks. 131 00:06:57,349 --> 00:07:00,395 Tagad interneta protokola dēļ ne vienmēr nākamā pakete, ko saņem 132 00:07:00,395 --> 00:07:03,442 uztvērējs, ir otrā. 133 00:07:03,442 --> 00:07:06,220 Faktiski nākamā lieta, ko saņem uztvērējs, varētu būt trešā pakete, 134 00:07:06,220 --> 00:07:08,998 jo šīs paketes izmantoja dažādus ceļus atšķirīgās tīkla satiksmes 135 00:07:08,998 --> 00:07:11,777 dēļ. 136 00:07:11,777 --> 00:07:15,324 Un tāpēc es neskatīšos vēlreiz cauri tās izveides shēmai, bet trešā 137 00:07:15,324 --> 00:07:18,872 pakete tiek pārvietota, tiek noņemti visi slāņi, IP slānis, TCP 138 00:07:18,872 --> 00:07:22,420 slānis, un dati tiek ievietoti pareizajā vietā. 139 00:07:22,420 --> 00:07:25,200 Un tad, pieņemsim, tas saņem ceturto paketi. 140 00:07:25,200 --> 00:07:29,290 Tagad pieņemsim, ka tas nesaņem vairāk datu. 141 00:07:29,290 --> 00:07:30,300 Ko tas darīs? 142 00:07:30,300 --> 00:07:32,110 IP mums neko nedara. 143 00:07:32,110 --> 00:07:33,260 Bet TCP dara. 144 00:07:33,260 --> 00:07:35,755 TCP zina, labi, es esmu saņēmis vienu no četriem, trīs no četriem un 145 00:07:35,755 --> 00:07:38,250 četriem no četriem. 146 00:07:38,250 --> 00:07:41,100 Es vairs nesaņemu datus. 147 00:07:41,100 --> 00:07:43,770 Tātad kaut kas ir nogājis greizi. 148 00:07:43,770 --> 00:07:45,050 Bet varu garantēt piegādi. 149 00:07:45,050 --> 00:07:49,300 Es zinu, ka trūkst otrās paketes. 150 00:07:49,300 --> 00:07:52,470 Un tāpēc TCP tagad var iesniegt pieprasījumu pretējā virzienā. 151 00:07:52,470 --> 00:07:55,273 Sagrupējot pieprasījumu aptuveni tādā pašā veidā un nosūtot to pa IP, 152 00:07:55,273 --> 00:07:58,076 var novest pie sava veida bezgalīgas cilpas, kurā visi pametīs 153 00:07:58,076 --> 00:08:00,880 paketes. 154 00:08:00,880 --> 00:08:05,580 Bet pietiek pateikt, ka TCP saka: man trūkst paketes. 155 00:08:05,580 --> 00:08:08,670 Man ir jānosūta informācija atpakaļ sūtītājam. 156 00:08:08,670 --> 00:08:12,025 Par laimi sūtītāja IP adrese savā ziņā ir apvienota IP slānī. 157 00:08:12,025 --> 00:08:15,780 Tā ir daļa no — tā ir atgriešanas adrese uz aploksnes. 158 00:08:15,780 --> 00:08:18,800 Un sakiet: man trūkst otrās paketes, lūdzu, nosūtiet to vēlreiz. 159 00:08:18,800 --> 00:08:20,699 Kad sūtītājs saņem šo informāciju, viņam nav vēlreiz jānosūta viss 160 00:08:20,699 --> 00:08:22,599 e-pasta ziņojums. 161 00:08:22,599 --> 00:08:25,094 Tam ir jānosūta tikai tā atsevišķa daļa, kas trūka, lai mēs varētu 162 00:08:25,094 --> 00:08:27,590 nosūtīt paketi ar numuru divi 163 00:08:27,590 --> 00:08:30,845 Un, kad tas to saņem, tagad TCP saka: man ir visi četri nepieciešamie 164 00:08:30,845 --> 00:08:34,100 dati. 165 00:08:34,100 --> 00:08:39,134 Tātad, es varu tos apkopot, paņemt visu šo informācijas bloku un 166 00:08:39,134 --> 00:08:44,169 nosūtīt to 25. portam, kur tas tiks interpretēts kā e-pasts. 167 00:08:44,169 --> 00:08:46,721 Un tas — šādā veidā mēs tagad esam nosūtījuši e-pastu no sūtītāja 168 00:08:46,721 --> 00:08:49,273 saņēmējam, izmantojot TCP/IP. 169 00:08:51,430 --> 00:08:54,015 Tātad, kā jau teicu, ja kādā brīdī kaut kas nogāja greizi, TCP var ar 170 00:08:54,015 --> 00:08:56,600 to tikt galā. 171 00:08:56,600 --> 00:09:00,010 Tas var pieprasīt, lai informācija tam tiktu nosūtīta atpakaļ. 172 00:09:00,010 --> 00:09:01,840 Un tas var rekonstruēt ziņojumu. 173 00:09:01,840 --> 00:09:06,095 Un, kad tas ir rekonstruējis ziņojumu no visām saņemtajām paketēm, 174 00:09:06,095 --> 00:09:10,350 tas var tās sakārtot un piegādāt pareizajam pakalpojumam. 175 00:09:10,350 --> 00:09:11,990 Tātad tas ir TCP īsumā. 176 00:09:11,990 --> 00:09:14,550 Tā mēs garantējam informācijas piegādi. 177 00:09:14,550 --> 00:09:16,770 Atcerieties, ka TCP bieži darbojas ar IP, tāpēc šie divi protokoli 178 00:09:16,770 --> 00:09:18,990 patiešām iet roku rokā. 179 00:09:18,990 --> 00:09:22,590 Mēs tos apspriedām vairākos videoklipos, jo tie dara dažādas lietas, 180 00:09:22,590 --> 00:09:26,190 taču tie ir tik savstarpēji saistīti, ka parasti tos izmantosit kopā. 181 00:09:26,190 --> 00:09:27,150 Es esmu Dags Loids. 182 00:09:27,150 --> 00:09:29,160 Šis ir CS50.