DOUG LLOYD: I denne video vil vi at tale om Transmission Control Protokol TCP. Hvis du ikke har set den video på Internet Protocol, IP, du måtte ønske at gøre det før du ser denne video fordi de to er temmelig indbyrdes forbundne. Så Internet Protocol, igen, en hurtig oversigt, det er den protokol der bevæger information fra en afsendende maskine til en modtagende maskinen via netværket. Så hvad er TCP? Mens blot at flytte fra en afsendende maskinen til at modtage maskine, er ikke den fulde historie. Vi ved også, at vores program, vores computere, for eksempel kører flere programmer, og har flere tjenester kører på disse maskiner. Og så, hvis vi ønsker at få en pakke, eller oplysninger til et specifikt program, på en bestemt maskine, vi har brug for mere information end blot hvad IP giver os mulighed for at få oplysninger fra punkt A til punkt B. Så kan TCP opfattes som dirigere pakken til den korrekte program eller den korrekte tjeneste på den modtagende maskine. Og så er det vigtigt at, som du måske forventer, ved, hvor det er meningen at gå, og hvad pakken er for på samme tid. Og så ofte, når du taler om Transmission Control Protocol, TCP, du virkelig ofte hører det i kontekst, TCP skråstreg IP, eller bare TCP / IP. Disse to protokoller er så indbyrdes forbundne, at de er stort set behandles som en enkelt enhed. Men de er to separate protokoller at gøre to forskellige ting. Igen IP er ansvarlig for at få det fra en maskine til en anden. Og TCP er ansvarlig for at få det til det rigtige program, eller det korrekte serviceinterval på en maskine. Og det gør noget andet, som IP ikke gør, hvilket er garanti levering. Så hvis vi nu parret en maskines IP tage fat med den såkaldte portnummer, og et portnummer er, hvordan en specifik tjeneste eller nytte, eller et program, er identificeret på en maskine. Hvis vi nu har en IP adresse samt et portnummer, nu kan vi entydigt at identificere en bestemt tjeneste kører på en bestemt maskine. Så det er derfor TCP og IP er så ofte indbyrdes, fordi det portnummer på eget ikke rigtig betyde noget, hvis du har brug for en portnummer, og maskinen at du taler om. Hvad maskine formodes at være ved hjælp af denne særlige port, f.eks. Den anden ting, TCP gør, som Jeg sagde, er det garanterer levering. Så ud over at angivelse af portnummer, Det viser også, hvor mange pakker, internet-protokollen, IP, har delt data i. Og det beordrer disse pakker, så de kan rekonstrueres på den modtagende maskine, selv om de received-- i en anden rækkefølge, end de blev sendt. Hvilket kan ske, fordi IP er en forbindelsesløs protokol, og så forskellige pakker kan tage forskellige veje gennem systemet. Nogle af disse portnumre er meget almindeligt anvendt, og de har været standardiseret på tværs af alle computere, lignende, temmelig meget hver computerproducent nu. Så noget, der hedder FTP, File Transfer Protocol, som anvendes til at transmittere filer, som man kunne forvente, fra en maskine til en anden, der bruger port 21 konventionelt. E-mail, SMTP, bruger port 25. DNS, domænenavnet system, som vi talte om i vores internet-primer video, bruger port 53. Hvis du nogensinde browsing på nettet, er du temmelig meget altid bruger port 80, medmindre du surfer på internettet sikkert, sikker web browsing, bruge port 443. Så hvad er denne TCP / IP-proces? Hvad sker der med både af disse protokoller sammen? Nå, lad os tale om det. Når et program ønsker at sende data, TCP hjælper med at bryde det i stykker, og kommunikerer disse pakker til computerens netværksbaseret software. Så det tager de data og den wraps oplysninger omkring det der indikerer hvilken port formodes at gå til, og hvilken rækkefølge at pakken er helt ude af. Så gør pakke en af ​​10, to 10, tre af 10, og så videre. IP får disse data bidder, der er blevet omviklet med TCP, og wraps mere information om hvor pakken skulle gå. Vi kunne kalde denne IP lag omgiver pakken. Så det er en slags, ligesom, en af ​​disse nesting dukker. Vi har data i midten, og derefter TCP ovenpå, fortæller den, hvor data inde i TCP er skulle gå, i hvilket havn eller hvilken tjeneste på en maskine. Omkring det er IP-laget. Hvilken IP-adresse, hvilket maskine, er faktisk at få dette. Så da, at pakke, der er blevet omviklet med alle de lag, sendes gennem Internet Protocol gennem systemet af routere, at få fra punkt A til punkt B. Når modtagende maskine, eller enhed, får det, det ser på IP lag, den siger, yup, det er min IP-adresse, så det tager off, sortering af revner ægget, og tager ud IP-laget. Så den ser, at der er en TCP lag, og det siger, OK, ligner dette er gå til port x, eller port y. Og tilsyneladende er det pakke nummer otte af 15. Så det er godt at vide. Så det kan tage disse oplysninger, tage ud TCP lag nu, vel vidende, at det er for port x, og det er pakke nummer otte, og få på de data, der inde. Og det kan forberede data til organiseres på den rigtige måde. Og når alle de modtages data, TCP kan aflevere det ud til den korrekte tjeneste, og sige, her du går. Her er de data, du har modtaget. Denne proces kan se noget som dette. Så lad os sende en e-mail fra en afsender til en modtager. Og lad os sige det e-mail er temmelig lille, så vi kun behøver at bryde det op i fire pakker, og vi vil kalde dem A, B, C og D. Nå, vi ønsker at flytte at første pakke, hvad der sker? Nå, vi tager, at bid af data, de data, der er en del af pakke A, og omkring det vi vil at pakke det med en TCP lag. E-mails, kan du huske, sendes via port 25, og vi har fire bidder af data, her, at vi kommer til at bruge, og dette er den første af dem. Så måske vores TCP lag indeholder oplysninger om, ja, vi er gå til port 25, og dette er pakke nummer et af fire. Omkring dette, så nu har vi alt, oplysninger bundtet op sammen, vi kommer til at sige, hvor vi ønsker det skal gå, hvad maskine, hvad IP-adresse formodes at få denne pakke. Og det er en del af IP-laget. Og der er andre oplysninger derinde så godt, sådan som afsenderadressen i hvis noget går galt, Det ved, hvor at sende oplysninger tilbage, og så videre. Men IP-laget går omkring alt dette. Det hele ting er bundlet sammen, som én stor enhed, og sendes via en IP-overførsel. Så det bliver dirigeres gennem routeren netværk, ved hjælp af internet-protokollen. Og modtageren modtager hele ting. Og så kan det begynde at dekonstruere, hvad der sker her. Det ser på IP-laget, den uden lag af disse data, og siger, jep, det er min IP adresse, så vi kan skille det. Jeg kan, slags, ignorere det, har ikke brug for det længere, og det kan se et niveau dybere. Det ser, at, OK, det er data, som er beregnet til at blive modtaget på port 25. Det er tilsyneladende den første del af fire. Så jeg har tænkt mig at holde det i sind, og se på dataene, og slot det nogenlunde, hvor Jeg tror, ​​det kommer til at gå. Nu, på grund af Internet Protocol Det er ikke nødvendigvis tilfældet at den næste pakke af modtageren får, er pakken to. Faktisk er den næste ting modtageren får kunne være pakkenummer tre, fordi disse pakker tog forskellige veje på grund af forskellige trafik på netværket. Og så er jeg ikke kommer til at gå ved diagrammet i bygge det op igen, men pakken tre bevæger sig, bliver skrællet væk alle sine lag, den IP-laget, TCP lag, og dataene bliver sat på det rigtige sted. Og så, lad os sige det modtager pakken fire. Lad os nu sige, det er det, det ikke få nogen flere data. Hvad vil det gøre? IP gør ikke noget for os. Men TCP gør. TCP ved, godt, jeg har modtaget en af fire, tre af fire, og fire af fire. Jeg får ikke flere data. Så noget er gået galt. Men jeg kan garantere levering. Jeg ved, at pakke nummer to mangler. Og så TCP kan nu fremsætte en anmodning, slags, i den modsatte retning. Bundling op sin anmodning på samme måde, og sende den via IP, som, jeg ved, kunne føre til en slags uendelig løkke af alle droppe pakker på vej. Men er det tilstrækkeligt at sige, at TCP siger, jeg mangler en pakke. Jeg har brug for at sende oplysninger tilbage til afsenderen. Heldigvis afsenderens IP adresse er, slags, bundtet i IP-laget. Det er en del of-- det er afkastet tage fat på kuverten. Og sige, jeg mangler pakke nummer to, kan du venligst sende den igen. Når afsenderen modtager at oplysninger, det behøver ikke at sende hele e igen. Det behøver kun at sende, at de enkelte stykke af det, der manglede, så vi kunne sende pakke nummer to. Og når det bliver det, nu TCP siger, Jeg har alle fire stykker data at jeg har brug for. Så kan jeg samle dem sammen, og tage hele denne blok af oplysninger og give det videre til port 25, hvor Det vil blive fortolket som en e-mail. Og at-- på denne måde, vi har nu Send en e-mail fra afsender til modtageren ved hjælp af TCP / IP. Så, som jeg sagde, hvis på noget tidspunkt undervejs gik noget galt, TCP kan håndtere det. Det kan gøre en anmodning om, at oplysninger bliver sendt tilbage til det. Og det kan rekonstruere meddelelsen. Og når det er rekonstrueret budskabet fra alle pakker det modtagne så det kan organisere dem og levere dem til den rigtige service. Så det er TCP i en nøddeskal. Det er, hvordan vi garanterer levering af information. Husk TCP ofte arbejder med IP, Så disse to protokoller virkelig går hånd i hånd. Vi diskuterede dem i flere videoer her, fordi de gør forskellige ting, men de er så indbyrdes forbundne, at de vil du normalt bruger dem sammen. Jeg er Doug Lloyd. Det er CS50.