DOGS LOIDS: Šajā videoklipā mēs runāsim par pārraides kontroles
protokolu (TCP).
Ja neesat skatījies video par interneta protokolu, IP, iespējams,
vēlēsities to izdarīt pirms šī videoklipa skatīšanās, jo tie ir
diezgan savstarpēji saistīti.
Tātad, interneta protokols, atkal īss kopsavilkums, tas ir protokols,
kas pārvieto informāciju no sūtīšanas iekārtas uz saņēmēju,
izmantojot tīklu.
Tātad, kas ir TCP?
Lai gan tikai informācijas pārvietošana no sūtīšanas iekārtas uz
saņemšanas iekārtu, tas nav viss stāsts.
Mēs arī zinām, ka mūsu programmā, piemēram, mūsu datoros darbojas
vairākas programmas, un šajās iekārtās tiek veikti vairāki
pakalpojumi.
Tātad, ja mēs vēlamies iegūt paketi vai informāciju konkrētai
programmai konkrētā iekārtā, mums ir nepieciešams vairāk
informācijas, nevis tikai tā, kādu IP ļauj iegūt no punkta A uz
punktu B.
Tātad, TCP var uzskatīt par paketi, kas novirza paketi uz pareizo
programmu vai pareizo pakalpojumu saņēmēja iekārtā
Tāpēc ir svarīgi, kā jūs varētu gaidīt, zināt, kur paketei ir jānonāk
un kam tā ir paredzēta.
Un tāpēc bieži, kad jūs runājat par pārraides kontroles protokolu,
TCP, jūs patiešām bieži to dzirdat kontekstā, TCP slīpsvītraIP vai
vienkārši TCP/IP.
Šie divi protokoli ir tik savstarpēji saistīti, ka pamatā tie tiek
uzskatīti par vienu vienību.
Bet tie ir divi atsevišķi protokoli, kas veic divas atsevišķas
darbības.
Atkal IP ir atbildīgs par tā nogādāšanu no vienas mašīnas uz otru.
Un TCP ir atbildīgs par tā nogādāšanu pareizajā programmā vai
pareizajā pakalpojuma iekārtā.
Un tas dara kaut ko citu, ko IP nedara, proti, garantē piegādi.
Tātad, ja mēs tagad savienojam mašīnas IP adresi ar tā saukto porta
numuru, un porta numurs ir veids, kā datorā tiek identificēts
konkrēts pakalpojums vai serviss, vai programma.
Ja mums tagad ir IP adrese un porta numurs, tagad mēs varam unikāli
identificēt konkrētu pakalpojumu, kas darbojas konkrētā datorā.
Tāpēc TCP un IP ir tik bieži savstarpēji saistīti, jo šis porta
numurs pats par sevi īsti neko nenozīmē, ja jums ir nepieciešams
porta numurs un iekārta , par kuru jūs runājat.
Piemēram, kādai mašīnai vajadzētu izmantot šo konkrēto portu.
Otra lieta, ko TCP dara, kā jau teicu, ir piegādes garantija.
Tātad, papildus porta numura norādīšanai, tas arī norāda, cik
paketēs, interneta protokols, IP, ir sadalījis datus.
Un tas pasūta šīs paketes, lai tās varētu rekonstruēt saņēmēja
iekārtā, pat ja tās saņemtas — citā secībā, nekā tās tika nosūtītas.
Tas var notikt tāpēc, ka IP ir bezsavienojumu protokols, un tāpēc
dažādas paketes var iet cauri sistēmai dažādos ceļos.
Daži no šiem portu numuriem tiek izmantoti ļoti bieži, un tie ir
standartizēti visos datoros, piemēram, gandrīz visos datoros, kas
tiek ražoti tagad.
Tātad kaut kas tiek saukts par FTP — failu pārsūtīšanas protokols, ko
izmanto failu pārsūtīšanaino vienas iekārtas uz otru, kas parasti
izmanto 21. portu.
E-pasts, SMTP, izmanto 25. portu.
DNS, domēna nosaukumu sistēma, par kuru mēs runājām mūsu interneta
primer video, izmanto portu 53.
Ja kādreiz pārlūkojat tīmekli, jūs gandrīz vienmēr izmantojat
80. portu, ja pārlūkojat tīmekli droši, tad drošu tīmekļa
pārlūkošanai, izmantojat 443. portu.
Tātad, kāds ir šis TCP/IP process?
Kas notiek ar abiem šiem protokoliem kopā?
Nu, parunāsim par to.
Kad programma vēlas nosūtīt datus, TCP palīdz tos sadalīt vienībās un
nosūta šīs paketes datora tīkla programmatūrai.
Tātad tas ņem datus un it kā iesaiņo informāciju, kas norāda uz kuru
portu ir jāiet un kādā secībā šī pakete tiek sūtīta. .
Tāpēc izveidojiet paketi vienu no 10, divas no 10, trīs no 10 un tā
tālāk.
IP iegūst tās datu vienības, kas tiek it kā iesaiņota ar TCP, un
apkopo vairāk informācijas par to, kur paketei ir jānonāk.
Mēs to varētu saukt par IP slāņiem, kas aptver paketi.
Tātad, to var salīdzināt ar putna olu, kas atrodas ligzdā.
Mums ir dati pa vidu, un pēc tam TCP augšpusē, norādot, kur TCP
iekšienē esošajiem datiem ir jānonāk, uz kādu portu vai kādu ierīces
pakalpojumu.
Ap to ir IP slānis.
Kāda IP adrese, kāda ierīce to faktiski saņem.
Tad šī pakete, kas ir ietīta ar visiem šiem slāņiem, tiek nosūtīta
caur interneta protokolu caur maršrutētāju sistēmu, nokļūstot no
punkta A uz punktu B.
Kad saņemošā mašīna vai ierīce to saņem, tā skatās uz IP slāni un
saka: jā, tā ir mana IP adrese, tāpēc tā paceļas, it kā salaužot olu,
un noņem IP slāni.
Tad tas redz, ka ir TCP slānis, un saka: Labi, izskatās, ka tas iet
uz portu x vai portu y.
Un acīmredzot tā ir astotā pakete no 15.
Tāpēc ir labi to zināt.
Tātad tas var paņemt šo informāciju, noņemt TCP slāni tagad, zinot,
ka tas ir paredzēts portam x un ir paketes numurs astoņi, un iegūt
datus, kas atrodas tajā..
Un tas var sagatavot datus pareizai organizēšanai.
Kad visi dati ir saņemti, TCP var tos nodot pareizajam pakalpojumam
un pateikt: te ir.
Lūk, jūsu saņemtie dati.
Šis process varētu izskatīties apmēram šādi.
Tātad, nosūtīsim e-pastu no sūtītāja saņēmējam.
Pieņemsim, ka šis e-pasts ir diezgan mazs, tāpēc mums tas jāsadala
tikai četrās paketēs, un mēs tās sauksim par A, B, C un D.
Nu, mēs vēlamies pārvietot pirmo paketi, kas notiek?
Mēs ņemam šo datu daļu, datus, kas ir daļa no paketes A, un ap to mēs
to it kā iesaiņosim ar TCP slāni.
Jūs, iespējams, atceraties, ka e-pasta ziņojumi tiek sūtīti,
izmantojot 25. portu, un mums ir četras datu daļas, kuras mēs
izmantosim, un šī ir pirmā no tām.
Tātad, iespējams, mūsu TCP slānis satur informāciju par to, labi, mēs
ejam uz portu 25, un šī ir pakete numur viens no četrām.
Aptuveni tā, tāpēc tagad mums ir visa šī informācija kopā, mēs
pateiksim, kur mēs vēlamies, lai tā nonāktu, kāda iekārta, kādai IP
adresei ir jāsaņem šī pakete.
Un tā ir daļa no IP slāņa.
Un tur ir arī cita informācija, piemēram, atgriešanas adrese, ja kaut
kas noiet greizi, tas zina, kur nosūtīt informāciju atpakaļ, un tā
tālāk.
Bet IP slānis iet apkārt tam visam.
Visa šī lieta ir apvienota kā viena liela vienība un nosūtīta,
izmantojot IP pārsūtīšanu.
Tātad tas tiek maršrutēts caur maršrutētāja tīklu, izmantojot
interneta protokolu.
Un uztvērējs saņem visu.
Un tad tas var sākt dekonstruēt šeit notiekošo.
Tas aplūko IP slāni, šo datu ārējo slāni un saka: jā, tā ir mana IP
adrese, lai mēs varētu to atmest.
Es varu to ignorēt, man tas vairs nav vajadzīgs, un tas var
izskatīties vienu līmeni dziļāk.
Tas redz, ka, labi, tie ir dati, kurus paredzēts saņemt 25. portā.
Acīmredzot tā ir pirmā daļa no četrām.
Tāpēc es paturēšu to prātā un apskatīšu datus un ievietošu tos
aptuveni tur, kur, manuprāt, tie nonāks.
Tagad interneta protokola dēļ ne vienmēr nākamā pakete, ko saņem
uztvērējs, ir otrā.
Faktiski nākamā lieta, ko saņem uztvērējs, varētu būt trešā pakete,
jo šīs paketes izmantoja dažādus ceļus atšķirīgās tīkla satiksmes
dēļ.
Un tāpēc es neskatīšos vēlreiz cauri tās izveides shēmai, bet trešā
pakete tiek pārvietota, tiek noņemti visi slāņi, IP slānis, TCP
slānis, un dati tiek ievietoti pareizajā vietā.
Un tad, pieņemsim, tas saņem ceturto paketi.
Tagad pieņemsim, ka tas nesaņem vairāk datu.
Ko tas darīs?
IP mums neko nedara.
Bet TCP dara.
TCP zina, labi, es esmu saņēmis vienu no četriem, trīs no četriem un
četriem no četriem.
Es vairs nesaņemu datus.
Tātad kaut kas ir nogājis greizi.
Bet varu garantēt piegādi.
Es zinu, ka trūkst otrās paketes.
Un tāpēc TCP tagad var iesniegt pieprasījumu pretējā virzienā.
Sagrupējot pieprasījumu aptuveni tādā pašā veidā un nosūtot to pa IP,
var novest pie sava veida bezgalīgas cilpas, kurā visi pametīs
paketes.
Bet pietiek pateikt, ka TCP saka: man trūkst paketes.
Man ir jānosūta informācija atpakaļ sūtītājam.
Par laimi sūtītāja IP adrese savā ziņā ir apvienota IP slānī.
Tā ir daļa no — tā ir atgriešanas adrese uz aploksnes.
Un sakiet: man trūkst otrās paketes, lūdzu, nosūtiet to vēlreiz.
Kad sūtītājs saņem šo informāciju, viņam nav vēlreiz jānosūta viss
e-pasta ziņojums.
Tam ir jānosūta tikai tā atsevišķa daļa, kas trūka, lai mēs varētu
nosūtīt paketi ar numuru divi
Un, kad tas to saņem, tagad TCP saka: man ir visi četri nepieciešamie
dati.
Tātad, es varu tos apkopot, paņemt visu šo informācijas bloku un
nosūtīt to 25. portam, kur tas tiks interpretēts kā e-pasts.
Un tas — šādā veidā mēs tagad esam nosūtījuši e-pastu no sūtītāja
saņēmējam, izmantojot TCP/IP.
Tātad, kā jau teicu, ja kādā brīdī kaut kas nogāja greizi, TCP var ar
to tikt galā.
Tas var pieprasīt, lai informācija tam tiktu nosūtīta atpakaļ.
Un tas var rekonstruēt ziņojumu.
Un, kad tas ir rekonstruējis ziņojumu no visām saņemtajām paketēm,
tas var tās sakārtot un piegādāt pareizajam pakalpojumam.
Tātad tas ir TCP īsumā.
Tā mēs garantējam informācijas piegādi.
Atcerieties, ka TCP bieži darbojas ar IP, tāpēc šie divi protokoli
patiešām iet roku rokā.
Mēs tos apspriedām vairākos videoklipos, jo tie dara dažādas lietas,
taču tie ir tik savstarpēji saistīti, ka parasti tos izmantosit kopā.
Es esmu Dags Loids.
Šis ir CS50.