DOUG LLOYD: I denne videoen skal vi å snakke om Transmission Control Protokollen, TCP. Hvis du ikke har sett video på internett-protokollen, IP, du kan ønske å gjøre det før du ser denne videoen fordi de to er ganske beslektet. Så, internett-protokollen, igjen, en rask oppsummering, det er den protokollen som beveger informasjon fra en avsendermaskin til en mottaker maskinen gjennom nettverket. Så hva er TCP? Mens bare flytte fra en avsender maskin til å motta maskin, er ikke hele historien. Vi vet også at vårt program, våre datamaskiner, f.eks kjører flere programmer, og har flere tjenester kjører på disse maskinene. Og så, hvis vi ønsker å få en pakke, eller informasjon til et bestemt program, på en bestemt maskin, vi trenger mer informasjon enn bare hva IP tillater oss å få informasjon fra punkt A til punkt B. Så kan TCP betraktes som dirigere pakken til riktig program, eller riktig service, på mottakermaskinen. Og så det er viktig å, som du kanskje forvente, vet hvor den skal gå, og hvilke pakken er for på samme tid. Og så, ofte, når du snakker om Transmission Control Protocol, TCP, du virkelig ofte høre det i kontekst, TCP slash IP, eller bare TCP / IP. Disse to protokollene er så henger det, er de i utgangspunktet behandles som en enkelt enhet. Men de er to separate protokoller som gjør to separate ting. Igjen er IP ansvarlig for å få det fra en maskin til en annen. TCP og er ansvarlig for å få det til riktig program, eller korrekt tjeneste på en maskin. Og det gjør noe annet som IP ikke gjør, som er garantere levering. Så, hvis vi nå paret en maskinens IP adresse med den såkalte portnummer, og et portnummer er hvordan en spesifikk service, eller verktøy, eller program, er identifisert på en maskin. Hvis vi nå har en IP- adresse pluss et portnummer, Nå kan vi identifiserer en bestemt tjeneste kjører på en bestemt maskin. Så det er derfor TCP og IP er så ofte henger sammen, fordi at portnummeret på sin egen spiller egentlig ingen bety noe hvis du trenger en portnummer, og maskinen som du snakker om. Hva maskinen er ment å være med denne porten, f.eks. Den andre tingen som TCP gjør, som Jeg sa, det garanterer levering. Så, i tillegg til angivelse av portnummeret det indikerer også hvor mange pakker, internett-protokollen, IP, har delt dataene inn. Og det beordrer disse pakkene slik at de kan rekonstrueres på mottaker maskin, selv om de i en received-- annen rekkefølge enn de ble sendt. Som kan skje fordi IP er en forbindelsesløs protokoll, og så forskjellige pakker kan ta forskjellige baner gjennom systemet. Noen av disse portnumre er svært vanlig, og de har blitt standardisert tvers av alle datamaskiner, lignende, ganske mye hver datamaskinprodusenten nå. Så noe som heter FTP, File Transfer Protocol, som brukes til å overføre filer, som du kanskje forventer, fra en maskin til en annen, som bruker port 21 konvensjonelt. E-post, SMTP, bruker port 25. DNS, domenenavnsystemet, som vi snakket om i vår internett primer video, bruker port 53. Hvis du noen gang surfer nettet, er du ganske mye alltid bruker port 80, med mindre du surfer på nettet sikkert, sikker nettsurfing, bruker port 443. Så hva er dette TCP / IP-prosessen? Hva skjer med både av disse protokollene sammen? Vel, la oss snakke om det. Når et program ønsker å sende data, TCP bidrar til å bryte den i biter, og kommuniserer disse pakkene til nettverksprogramvare på datamaskinen. Så det tar dataene og det brytes informasjon rundt det som angir hvilken port er ment å gå til, og hvilken rekkefølge som pakke er ute av alt. Så gjør pakke en av ti, to- 10, tre 10, og så videre. IP blir disse data biter som har blitt pakket med TCP, og brytes mer informasjon om hvor pakken er ment å gå. Vi kan kalle dette IP sjikt som omgir pakken. Så, det er liksom, som, en av disse tredukker. Vi har data i midten, og deretter TCP på toppen av, forteller det hvor data innsiden av TCP er ment å gå i hvilken port eller hva tjenesten på en maskin. Rundt det er IP-sjiktet. Hva IP-adresse, hvilken maskin, er faktisk å få dette. Så da, at pakke som er blitt pakket med alle disse lagene, sendes via Internet Protocol gjennom ordningen med rutere, får fra punkt A til punkt B. Når mottar maskin eller enhet, blir det, ser det på IP lag, sier det, yup det er IP-adressen min, så det tar off, liksom sprekker egget, og tar av IP-sjiktet. Deretter ser det ut til at det er TCP lag, og det sier, OK, ser ut som dette er kommer til port x, eller port y. Og tydeligvis er det pakke nummer åtte av 15. Så det er godt å vite. Så da kan det ta denne informasjonen, ta av TCP lag nå, vel vitende om at det er for port x, og det er pakke nummer åtte, og få på data inne. Og det kan forberede dataene til organiseres på riktig måte. Og når alle de data er mottatt, TCP kan levere den til riktig service, og si, her du går. Her er opplysningene du har fått. Denne prosessen kan se noe sånt som dette. Så la oss sende en e-post fra en avsender til en mottaker. Og la oss si at dette e-post er ganske liten, så vi trenger bare å dele den opp i fire pakker, og vi kaller dem A, B, C og D. Vel, vi ønsker å flytte at første pakken hva skjer? Vel, tar vi som del av data, de data som er en del av pakke A, og rundt at vi skal å vikle den med en TCP lag. E-post, kan du husker, sendes via port 25, og vi har fire biter av data, her, at vi kommer til å bruke, og dette er den første av dem. Så kanskje vår TCP laget inneholder informasjon om, vel, vi er kommer til port 25, og dette pakke nummer én av fire. Rundt det, så nå har vi alt som informasjon buntet opp sammen, vi kommer til å si hvor vi vil ha det å gå, hva maskin, hva IP-adresse er ment å få denne pakken. Og det er en del av IP-laget. Og det er annen informasjon i der også, slik som returadresse i Hvis noe går galt, det vet hvor du skal sende informasjon tilbake, og så videre. Men IP laget går rundt alt dette. At hele greia er buntet sammen, som en stor enhet, og sendes via en IP-overføring. Så det blir rutet gjennom ruteren nettverk, ved hjelp av Internett-protokollen. Og mottakeren mottar hele greia. Og så kan det begynne å dekonstruere hva som skjer her. Den ser på IP-lag, utvendig lag av disse data, og sier: Jepp, det er min IP adresse slik at vi kan forkaste det. Jeg kan, på en måte, ignorere det, trenger ikke det lenger, og det kan se en dypere nivå. Det ser det, OK, dette er data som er beregnet til å bli mottatt på port 25. Det er tydeligvis den første delen av fire. Så, jeg kommer til å holde det i tankene, og se på dataene, og sporet den omtrent der Jeg tror det kommer til å gå. Nå, på grunn av Internett-protokollen det er ikke nødvendigvis tilfelle at den neste pakke i Mottakeren får, pakke to. Faktisk er den neste ting mottakeren får kanskje pakke nummer tre fordi disse pakkene tok ulike veier på grunn av annen trafikk i nettverket. Og så, jeg kommer ikke til å gå gjennom diagrammet for å bygge det opp igjen, men pakke tre- trekk, blir strippet bort av alle sine lag, idet det IP-lag, TCP lag, og dataene blir satt på rett sted. Og så, la oss si det mottar pakken fire. Nå la oss si, det er det, det ikke få noen flere data. Hva går det å gjøre? IP gjør ikke noe for oss. Men TCP gjør. TCP vet, vel, jeg har fått en av fire, tre av fire, og fire av fire. Jeg får ikke noe mer data. Så noe har gått galt. Men jeg kan garantere levering. Jeg vet at pakke nummer to er savnet. Og så TCP kan nå gjøre en forespørsel, slags, i motsatt retning. Bundling opp sin forespørsel mye på samme måte, og sende det via IP, som jeg vet, kunne føre til en slags uendelig løkke av alle slippe pakker på vei. Men nok det å si at TCP sier, jeg mangler en pakke. Jeg trenger å sende informasjon tilbake til avsenderen. Heldigvis avsenderens IP-adresse er, liksom, buntet opp i IP laget. Det er en del of-- det er avkastningen adresse på konvolutten. Og si, jeg mangler pakkenummer to, kan du vennligst sende den på nytt. Når senderen mottar denne informasjonen, det trenger ikke å sende hele e-posten på nytt. Den trenger bare å sende den enkelte bit av det som manglet, slik at vi kunne sende pakke nummer to. Og når det blir det, nå TCP sier: Jeg har alle fire stykker av data som jeg trenger. Så kan jeg sette dem sammen, og ta hele denne blokken av informasjon og sende det sammen til port 25, der det vil bli tolket som en e-post. Og at-- på denne måten vi har nå sende en e-post fra avsender til mottaker ved hjelp av TCP / IP. Så, som jeg sa, hvis på noe punkt underveis noe gikk galt, TCP kan takle det. Det kan gjøre en anmodning om at informasjon blir sendt tilbake til det. Og det kan rekonstruere meldingen. Og når den er rekonstruert meldingen fra alle pakkene den er mottatt, så det kan organisere dem og levere dem til riktig tjeneste. Så det er TCP i et nøtteskall. Det er hvordan vi garantere levering av informasjon. Husk TCP ofte fungerer med IP, så disse to protokoller virkelig går hånd i hånd. Vi diskuterte dem i flere videoer her fordi de gjør forskjellige ting, men de er så beslektede, de vil du vanligvis bruker dem sammen. Jeg er Doug Lloyd. Dette er CS50.