1 00:00:00,000 --> 00:00:04,884 2 00:00:04,884 --> 00:00:08,050 DOUG LLOYD: W tym filmie mamy zamiar mówić o kontroli transmisji 3 00:00:08,050 --> 00:00:10,440 Protokół TCP. 4 00:00:10,440 --> 00:00:13,290 Jeśli nie oglądałem wideo na protokole internetowym, IP, 5 00:00:13,290 --> 00:00:15,290 możesz to zrobić przed obejrzeniem tego filmu 6 00:00:15,290 --> 00:00:18,680 bo dwa są bardzo ze sobą powiązane. 7 00:00:18,680 --> 00:00:21,100 >> Tak, protokół internetowy, znowu, szybkie podsumowanie, 8 00:00:21,100 --> 00:00:22,930 to protokół który porusza informacji 9 00:00:22,930 --> 00:00:28,210 z urządzenia wysyłającego do odbioru Maszyna w sieci. 10 00:00:28,210 --> 00:00:29,720 >> Więc co jest TCP? 11 00:00:29,720 --> 00:00:33,310 Podczas gdy tylko przejście od wysłania Maszyna do odbioru maszyny, 12 00:00:33,310 --> 00:00:35,120 Nie jest to pełna historia. 13 00:00:35,120 --> 00:00:38,040 Wiemy również, że nasz program, nasze komputery, przykładowo 14 00:00:38,040 --> 00:00:41,000 używasz wielu programów, i mają wiele usług 15 00:00:41,000 --> 00:00:45,140 działa na tych maszynach. 16 00:00:45,140 --> 00:00:51,750 I tak, jeśli chcemy dostać paczkę, lub informacji do konkretnego programu, 17 00:00:51,750 --> 00:00:54,590 na określonym urządzeniu potrzebujemy więcej informacji 18 00:00:54,590 --> 00:00:59,490 niż tylko to, co pozwala nam uzyskać IP Informacje z punktu A do punktu B. 19 00:00:59,490 --> 00:01:02,390 >> Tak, protokół TCP może być traktowane jak skierowanie pakietu 20 00:01:02,390 --> 00:01:07,590 do odpowiedniego programu, albo prawidłowa Usługa, na komputerze odbierającym. 21 00:01:07,590 --> 00:01:11,810 I dlatego tak ważne jest, aby, jak może spodziewać, wiem, gdzie to ma się udać, 22 00:01:11,810 --> 00:01:14,550 i jaki pakiet jest w tym samym czasie. 23 00:01:14,550 --> 00:01:18,370 I tak często, kiedy mówisz o Protokół kontroli transmisji, protokół TCP, 24 00:01:18,370 --> 00:01:23,900 naprawdę często usłyszeć go w Kontekst, TCP slash IP, czy tylko protokół TCP / IP. 25 00:01:23,900 --> 00:01:27,639 Te dwa protokoły tak powiązane ze sobą, że są one w zasadzie 26 00:01:27,639 --> 00:01:28,680 traktuje się jako pojedynczy zespół. 27 00:01:28,680 --> 00:01:31,630 Ale są dwa oddzielne protokoły że to dwie oddzielne rzeczy. 28 00:01:31,630 --> 00:01:36,690 >> Ponownie, IP jest odpowiedzialna za uzyskanie z jednego urządzenia do drugiego. 29 00:01:36,690 --> 00:01:41,250 TCP jest odpowiedzialny za się go do odpowiedniego programu 30 00:01:41,250 --> 00:01:43,490 lub właściwa służba w maszynie. 31 00:01:43,490 --> 00:01:45,500 I robi coś inni, że IP nie robi, 32 00:01:45,500 --> 00:01:48,600 która jest dostawa gwarancji. 33 00:01:48,600 --> 00:01:55,060 >> Więc, jeśli teraz para IP danej maszyny rozwiązanie z tak zwanym numer portu 34 00:01:55,060 --> 00:01:58,750 i numer portu jest jak specyficzna usługi lub narzędzie, lub program, 35 00:01:58,750 --> 00:02:00,350 identyfikuje się za pomocą maszyny. 36 00:02:00,350 --> 00:02:03,920 Jeśli mamy teraz IP adres oraz numer portu, 37 00:02:03,920 --> 00:02:07,240 teraz możemy jednoznacznie zidentyfikować dana usługa 38 00:02:07,240 --> 00:02:09,479 uruchomionych na danym komputerze. 39 00:02:09,479 --> 00:02:11,920 >> Więc dlatego TCP i IP są tak często ze sobą powiązane, 40 00:02:11,920 --> 00:02:14,170 dlatego, że numer portu na własną rękę naprawdę nie ma 41 00:02:14,170 --> 00:02:17,670 znaczy nic jeśli potrzebujesz numer portu, a urządzenie 42 00:02:17,670 --> 00:02:19,566 że mówisz. 43 00:02:19,566 --> 00:02:24,060 Co maszyna ma być za pomocą dany port, na przykład. 44 00:02:24,060 --> 00:02:28,350 >> Inna sprawa, że ​​TCP nie, jak Powiedziałem, jest to gwarantuje dostawy. 45 00:02:28,350 --> 00:02:30,810 Tak więc, oprócz podając numer portu, 46 00:02:30,810 --> 00:02:34,640 również wskazuje, ile pakiety, protokół internetowy, IP, 47 00:02:34,640 --> 00:02:36,110 podzieliła danych do. 48 00:02:36,110 --> 00:02:41,200 I nakazuje te pakiety, więc można zrekonstruować na odbieranie 49 00:02:41,200 --> 00:02:45,820 Maszyna, nawet jeśli received-- w sposób innej kolejności niż zostały wysłane. 50 00:02:45,820 --> 00:02:48,460 Co może się zdarzyć, bo IP jest protokołem bezpołączeniowym, 51 00:02:48,460 --> 00:02:52,610 i tak różne pakiety mogą podjąć różne drogi przez układ. 52 00:02:52,610 --> 00:02:53,660 53 00:02:53,660 --> 00:02:55,865 >> Niektóre z tych numerów portów są bardzo często używane, 54 00:02:55,865 --> 00:02:57,990 i że zostały ujednolicone na wszystkich komputerach, 55 00:02:57,990 --> 00:03:00,500 tak, prawie każdy producent komputera teraz. 56 00:03:00,500 --> 00:03:03,612 Więc coś o nazwie FTP, protokół przesyłania plików, 57 00:03:03,612 --> 00:03:05,820 która jest używana do przekazywania Pliki, jak można się spodziewać, 58 00:03:05,820 --> 00:03:10,060 z jednego urządzenia do drugiego, która korzysta z portu 21 konwencjonalnie. 59 00:03:10,060 --> 00:03:13,000 E-mail, SMTP, korzysta z portu 25. 60 00:03:13,000 --> 00:03:16,070 DNS, system nazw domen, które mówi się w naszym internetowym podkładu 61 00:03:16,070 --> 00:03:17,976 wideo, korzysta z portu 53. 62 00:03:17,976 --> 00:03:20,100 Jeśli kiedykolwiek przeglądający w internecie, jesteś dość dużo 63 00:03:20,100 --> 00:03:23,440 zawsze przy użyciu portu 80, chyba że jesteś przeglądania Internetu bezpiecznie, 64 00:03:23,440 --> 00:03:26,060 bezpieczne przeglądanie stron internetowych, za pomocą portu 443. 65 00:03:26,060 --> 00:03:28,610 66 00:03:28,610 --> 00:03:30,790 >> Więc co to jest proces, protokół TCP / IP? 67 00:03:30,790 --> 00:03:33,730 Co się dzieje z obu z tych protokołów razem? 68 00:03:33,730 --> 00:03:35,520 Dobrze, porozmawiajmy o tym. 69 00:03:35,520 --> 00:03:39,420 Gdy program chce wysłać dane, TCP pomaga podzielić go na kawałki, 70 00:03:39,420 --> 00:03:42,700 i komunikuje się te pakiety do Oprogramowanie sieciowej komputera. 71 00:03:42,700 --> 00:03:45,850 Więc to ma dane i je owija wokół niego informacji 72 00:03:45,850 --> 00:03:48,700 który wskazuje, jakiego portu ma się udać, 73 00:03:48,700 --> 00:03:52,500 i jakiej kolejności, że Pakiet jest ze wszystkich. 74 00:03:52,500 --> 00:03:56,940 Tak aby pakietowi jedną z 10, dwa 10, trzeciej 10, i tak dalej. 75 00:03:56,940 --> 00:04:01,750 >> IP dostaje te kawałki danych, które zostały owinięte TCP, 76 00:04:01,750 --> 00:04:06,447 i zawija więcej informacji na temat gdzie pakiet ma iść. 77 00:04:06,447 --> 00:04:08,780 Możemy nazwać to IP Warstwy otaczające pakiet. 78 00:04:08,780 --> 00:04:11,210 Tak, to coś w rodzaju, jak, jeden z tych zagnieżdżanie lalek. 79 00:04:11,210 --> 00:04:14,780 Mamy dane w średnim, a następnie TCP na górze, 80 00:04:14,780 --> 00:04:17,920 informując go, gdzie Dane wewnątrz TCP 81 00:04:17,920 --> 00:04:22,150 jechać, do jakiego portu lub jakie usługi na komputerze. 82 00:04:22,150 --> 00:04:25,110 Wokół, że jest warstwa IP. 83 00:04:25,110 --> 00:04:29,230 Jaki adres IP, co maszyna, jest rzeczywiście coraz to. 84 00:04:29,230 --> 00:04:32,070 >> Więc to, że pakiet to było owinięte wszystkich tych warstw, 85 00:04:32,070 --> 00:04:35,250 jest wysyłane za pośrednictwem protokołu internetowego poprzez system routerów, coraz 86 00:04:35,250 --> 00:04:39,960 z punktu A do punktu B. Kiedy odbiór maszyny lub urządzenia, dostaje 87 00:04:39,960 --> 00:04:42,790 to, że wygląda na IP warstwa, to mówi, yup to 88 00:04:42,790 --> 00:04:45,260 mój adres IP, więc zajmuje off, rodzaj pęknięcia jajko, 89 00:04:45,260 --> 00:04:47,380 i zdejmuje się z warstwy IP. 90 00:04:47,380 --> 00:04:49,530 Wtedy widzi, że nie ma warstwa TCP, i mówi, 91 00:04:49,530 --> 00:04:52,720 OK, wygląda to zamiar portu lub portu x, y. 92 00:04:52,720 --> 00:04:55,842 I najwyraźniej to Numer osiem z 15 pakietów. 93 00:04:55,842 --> 00:04:56,800 Tak, że dobrze wiedzieć. 94 00:04:56,800 --> 00:05:01,240 Więc to może przyjąć, że informacje, zdjąć warstwę TCP teraz 95 00:05:01,240 --> 00:05:04,410 wiedząc, że jest to dla portu x, i jest to liczba pakietów osiem, 96 00:05:04,410 --> 00:05:06,270 i uzyskać na dane wewnątrz. 97 00:05:06,270 --> 00:05:09,460 A może przygotować dane do być zorganizowane w sposób prawidłowy. 98 00:05:09,460 --> 00:05:11,449 A kiedy wszystkie z dane są odbierane, TCP 99 00:05:11,449 --> 00:05:13,990 może przekazać go do prawidłowego usługi, i powiedzieć, proszę bardzo. 100 00:05:13,990 --> 00:05:16,107 Oto dane, które otrzymał. 101 00:05:16,107 --> 00:05:17,940 Ten proces może wyglądać coś takiego. 102 00:05:17,940 --> 00:05:21,392 Warto więc wysłać e-mail z nadawcy do odbiorcy. 103 00:05:21,392 --> 00:05:23,100 I powiedzmy, że to e-mail jest dość mały, 104 00:05:23,100 --> 00:05:25,975 więc musimy tylko podzielić go na cztery pakiety, a my ich połączenia, 105 00:05:25,975 --> 00:05:29,460 B, C i D. Cóż, chcemy przesunąć że pierwszy pakiet, co się dzieje? 106 00:05:29,460 --> 00:05:34,491 Cóż, bierzemy tę porcję danych, Dane, które są częścią pakietu A, 107 00:05:34,491 --> 00:05:38,500 i wokół, że jedziemy owinąć go z warstwy TCP. 108 00:05:38,500 --> 00:05:41,670 Wiadomości e-mail, może pamiętacie, są wysyłane za pośrednictwem portu 25, 109 00:05:41,670 --> 00:05:46,181 i mamy cztery ilości danych, tutaj, że będziemy używać, 110 00:05:46,181 --> 00:05:47,430 i jest pierwszym z nich. 111 00:05:47,430 --> 00:05:50,013 Więc może nasz warstwy TCP zawiera informacje o, dobrze, że jesteśmy 112 00:05:50,013 --> 00:05:56,060 będzie port 25, a to Liczba pakietów jest jednym z czterech. 113 00:05:56,060 --> 00:05:59,280 >> Wokół tego, więc teraz mamy wszystko, Informacje o pakiecie razem, 114 00:05:59,280 --> 00:06:03,000 mamy zamiar powiedzieć, gdzie chcemy go iść, co maszyna, jaki adres IP 115 00:06:03,000 --> 00:06:04,910 ma się ten pakiet. 116 00:06:04,910 --> 00:06:06,604 I to jest część warstwy IP. 117 00:06:06,604 --> 00:06:08,770 I nie ma innych informacji w niej również, takie 118 00:06:08,770 --> 00:06:11,300 jako adres zwrotny w Sprawa coś pójdzie nie tak, 119 00:06:11,300 --> 00:06:14,390 wie gdzie wysłać informacje z powrotem, i tak dalej. 120 00:06:14,390 --> 00:06:16,475 >> Jednak warstwa IP idzie wokół wszystko. 121 00:06:16,475 --> 00:06:19,860 , Że cała sprawa jest w zestawie razem, jako jeden duży jednostki, 122 00:06:19,860 --> 00:06:22,080 i wysyłane za pośrednictwem przelewu IP. 123 00:06:22,080 --> 00:06:26,180 Więc to dostaje kierowane przez router sieci za pomocą protokołu internetowego. 124 00:06:26,180 --> 00:06:28,700 A odbiornik odbiera cała rzecz. 125 00:06:28,700 --> 00:06:31,910 A potem może rozpocząć dekonstrukcji co się tutaj dzieje. 126 00:06:31,910 --> 00:06:36,030 Wygląda na warstwie IP, poza warstwą z tych danych, 127 00:06:36,030 --> 00:06:38,560 i mówi: Tak, to moje IP adres, tak, że możemy odrzucić. 128 00:06:38,560 --> 00:06:40,685 I może, rodzaj, zignorować, nie trzeba go już, 129 00:06:40,685 --> 00:06:42,480 i może to wyglądać o jeden poziom głębiej. 130 00:06:42,480 --> 00:06:47,590 Widzi, że OK, są to dane, które jest przeznaczony do odbioru przez port 25. 131 00:06:47,590 --> 00:06:50,560 To podobno pierwsza część czwartej. 132 00:06:50,560 --> 00:06:54,260 Tak, będę miał to na przeszkadza, i spojrzeć na dane, 133 00:06:54,260 --> 00:06:57,349 i rozciąć go mniej więcej, gdzie Myślę, że to pójdzie. 134 00:06:57,349 --> 00:07:00,140 Obecnie, z uwagi na protokole internetowym to nie jest to regułą 135 00:07:00,140 --> 00:07:03,442 że następny Packet Odbiornik dostaje, to pakiet dwóch. 136 00:07:03,442 --> 00:07:05,150 W rzeczywistości, kolejne rzeczą odbiornik dostaje 137 00:07:05,150 --> 00:07:08,230 może być liczba pakietów trzy, ponieważ te pakiety 138 00:07:08,230 --> 00:07:11,777 wziął różne ścieżki z powodu inny ruch w sieci. 139 00:07:11,777 --> 00:07:14,360 I tak, nie mam zamiaru iść przez schemat budowaniu 140 00:07:14,360 --> 00:07:17,560 ponownie, ale pakiet trzech porusza, zostaje zabrana 141 00:07:17,560 --> 00:07:20,410 wszystkich jego warstw, Warstwy IP, warstwa TCP, 142 00:07:20,410 --> 00:07:22,420 a dane zostaną umieszczone w odpowiednim miejscu. 143 00:07:22,420 --> 00:07:25,200 A potem, powiedzmy, że go otrzymuje pakiet czterech. 144 00:07:25,200 --> 00:07:29,290 >> Teraz powiedzmy, to jest to, to nie uzyskać więcej danych. 145 00:07:29,290 --> 00:07:30,300 Co to będzie zrobić? 146 00:07:30,300 --> 00:07:32,110 IP nie robi nic dla nas. 147 00:07:32,110 --> 00:07:33,260 Ale TCP robi. 148 00:07:33,260 --> 00:07:38,250 TCP wie dobrze, Dostałem jeden z cztery, trzy z czterech, a cztery z czterech. 149 00:07:38,250 --> 00:07:41,100 Nie mam coraz więcej danych. 150 00:07:41,100 --> 00:07:43,770 Więc coś poszło nie tak. 151 00:07:43,770 --> 00:07:45,050 Ale mogę zagwarantować dostawy. 152 00:07:45,050 --> 00:07:49,300 Wiem, że pakiet numer dwa brakuje. 153 00:07:49,300 --> 00:07:52,470 I tak TCP może teraz złożyć wniosek, rodzaju, w odwrotnym kierunku. 154 00:07:52,470 --> 00:07:55,170 Wiązanie się swoją prośbę w taki sam sposób, 155 00:07:55,170 --> 00:07:57,230 i wysłanie go poprzez IP, co wiem, mógł 156 00:07:57,230 --> 00:08:00,880 doprowadzić do jakiejś nieskończonej pętli wszyscy porzucając pakiety na drodze. 157 00:08:00,880 --> 00:08:05,580 >> Ale wystarczy powiedzieć, że TCP mówi, brakuje mi paczkę. 158 00:08:05,580 --> 00:08:08,670 Muszę wysłać informacje z powrotem do nadawcy. 159 00:08:08,670 --> 00:08:12,025 Na szczęście adres IP nadawcy jest, rodzaj, spakowanymi w warstwie IP. 160 00:08:12,025 --> 00:08:15,780 To część of-- to powrót adres na kopercie. 161 00:08:15,780 --> 00:08:18,800 I powiedzieć, że jestem brakuje liczbę pakietów dwa, czy możesz ponownie wysłać go. 162 00:08:18,800 --> 00:08:20,550 Gdy nadawca otrzymuje że informacje, 163 00:08:20,550 --> 00:08:22,599 nie musi wysyłać cała e-mail ponownie. 164 00:08:22,599 --> 00:08:25,390 To musi tylko wysłać tę jednostkę kawałek to, że zaginął, 165 00:08:25,390 --> 00:08:27,590 więc możemy wysłać liczbę pakietów dwa. 166 00:08:27,590 --> 00:08:32,610 A kiedy robi się to, teraz TCP mówi, Mam wszystkie cztery kawałki danych 167 00:08:32,610 --> 00:08:34,100 że muszę. 168 00:08:34,100 --> 00:08:39,590 Tak, mogę zebrać je razem, a zabrać cały ten blok informacji 169 00:08:39,590 --> 00:08:44,169 i przekazać je dalej do portu 25, gdzie będzie interpretowane jako e-mail. 170 00:08:44,169 --> 00:08:47,010 I that-- w ten sposób mamy teraz wysłać e-mail od nadawcy 171 00:08:47,010 --> 00:08:49,273 do odbiornika za pomocą protokołu TCP / IP. 172 00:08:49,273 --> 00:08:51,430 173 00:08:51,430 --> 00:08:54,180 Tak, jak powiedziałem, jeśli w dowolnym punkcie po drodze coś poszło nie tak, 174 00:08:54,180 --> 00:08:56,600 TCP może sobie z tym poradzić. 175 00:08:56,600 --> 00:09:00,010 To może złożyć wniosek, że Informacja zostanie wysłana z powrotem do niego. 176 00:09:00,010 --> 00:09:01,840 A może odtworzyć wiadomość. 177 00:09:01,840 --> 00:09:05,090 A kiedy to przebudowano wiadomość od wszystkich pakietach to otrzymał, 178 00:09:05,090 --> 00:09:10,350 to może je zorganizować i dostarczyć je do właściwej służby. 179 00:09:10,350 --> 00:09:11,990 >> Więc to jest TCP w pigułce. 180 00:09:11,990 --> 00:09:14,550 W ten sposób gwarantujemy dostarczanie informacji. 181 00:09:14,550 --> 00:09:16,540 Pamiętaj TCP często pracuje z IP, 182 00:09:16,540 --> 00:09:18,990 więc te dwa protokoły naprawdę nie idą w parze. 183 00:09:18,990 --> 00:09:22,160 Omówiliśmy je w kilka filmów tu, bo robią różne rzeczy, 184 00:09:22,160 --> 00:09:26,190 ale są tak ze sobą powiązane, że Zazwyczaj będziesz używać ich razem. 185 00:09:26,190 --> 00:09:27,150 >> Jestem Doug Lloyd. 186 00:09:27,150 --> 00:09:29,160 To CS50. 187 00:09:29,160 --> 00:09:31,233