DAVID MALAN: Okay. Dette er CS50. Og dette er starten på uge syv. Så i dag, måske heldigvis, vi begynder vores overgang fra det lavere niveau verden af ​​C programmering til det højere niveau verden af ​​web-programmering. Og med dette, vil vi tage et kig på, præcis hvordan internettet fungerer, hvad disse maskiner og disse internets at du har brugt i årevis rent faktisk gør under emhætten mod en bedre forståelse af, hvordan det hele fungerer, og hvordan du kan gøre det arbejde for dig. Mod herpå, behøver hvorfor ikke vi tager et først se på et klip fra et tv-show kaldet Numb3rs, som vil få os startet som til præcis, hvordan internettet fungerer. [VIDEO PLAYBACK] -Det Er en 32-bit IPP4 adresse. -IP. Det er internettet. -private Netværk. Det er Amita private netværk. Åh, hun er så fantastisk. -OH, Charlie. -Det Er et spejl IP-adresse. Hun lade os se, hvad hun laver i realtid. [END VIDEO PLAYBACK] DAVID MALAN: Så der er en hel masse galt med, at tv-show. Så lad os drille hinanden præcis en af ​​de første sådanne ting og se om vi ikke kan pakke vores sind omkring det. Så den sidste ramme i den film, for at vise er denne her, som tyder på, at dette er, hvad nogle hacker bruger at komme ind i nogle system. Men nej. Hvis du zoomer ind på dette kildekode, som er et sprog kaldet Objective C i som iPhone apps, iPad apps og Mac OS apps er skrevet, vil du se, at dette er en slags tegneprogrammet der har en farveblyant som en variabel. Så Derudover kan du har bemærket denne adresse her. Nu, dette er en som forkert. Og det er sandsynligvis bevidst valgt at være en ugyldig adresse, således at det ikke i realiteten fører et eller andet sted hvis et tv seer faktisk besøger det. Men dette antal her, noget dot noget dot noget dot noget er, hvad der er almindeligt kendt som en IP-adresse. Og det er faktisk en god Segue til dette emne mere generelt kendt som IP, Internet Protocol. Så du har formentlig mindst hørt denne sætning før. Men hvad er IP eller internet protokol som du forstår det i dag? Odds er, hvis vi bad om en håndsoprækning, de fleste af jer har sikkert sagt det ord IP adresse før. Så hvad gjorde du? PUBLIKUM: [uhørligt]? DAVID MALAN: Hvad er det? PUBLIKUM: [uhørligt]? DAVID MALAN: Once mere. PUBLIKUM: Adresse på computeren. DAVID MALAN: The adressen på den computer. Så det er helt rigtigt. Det viser sig, at hver computer på internettet, og disse dage, hver telefon i lomme og tablet i din rygsæk, har en IP-adresse, internet protokol-adresse, som er en unik adresse, der identificerer det hele internettet. Nu, det er lidt af en hvid lyve, fordi verden er faktisk løbe tør for IP-adresser. Så vi er begyndt at bruge private IP-adresser. Men mere om det om et øjeblik. Men du kan tænke på en IP-adresse som ligesom din posttjeneste gade adresse. Vi har bruge eksemplet med Maxwell Dworkin, CS bygning, før- 33 Oxford Street Cambridge, Masse, 02138, USA. Det er den unikke adresse i verden. Tilsvarende gør computere har unikke adresser. De bare tilfældigvis ser lidt forskellige- en række dot en række dot en række dot et nummer. Og er der nogen rent faktisk kender hvad det gyldige interval af numre er for hver af disse hashes? Ja. PUBLIKUM: 0 til 255? DAVID MALAN: Præcis. 0 til 255. Og selvom du ikke vidste at nu drage en konklusion, hvor mange bit anvendes til at repræsentere hver af disse numre så? Otte tilsyneladende på grund af det højeste du kan tælle er 255, det er en 8-bit værdi. I alt er en IP-adresse er 32 bit. Så hurtig fremsendelse til matematisk konklusion hvor mange mulige IP-adresser er der i verden, så? Så det er 8 plus 8 plus 8 plus 8, så det er 32 bit. Og vi har altid sagt, at 2 til 32 er groft? OK. Jeg vil feltet denne ene. Fire milliarder. Og vi talte om, at der i uge nul, når vi talte om telefonbøger med skøre antal sider. Men den slags er, at der er et begrænset antal IP-adresser. Og selvom fire milliarder kan virke som en masse, vi mennesker har været forbrugende en hel af dem for alle vores servere og udstyr og så videre. Så det bliver faktisk et problem. Nu er der en tendens til at være en Ordningen bag, hvem der har hvilken IP. For eksempel er mange af computerne på Harvard har unikke adresser, der starter med en af ​​disse to værdier. MIT, ligeledes har et præfiks. Og en masse af virksomheder og universiteter har deres egen unikke præfiks. Og derefter de fleste af os for vores hjem internetforbindelser og lignende, vi deler nogle præfiks at Comcast eller en som det sker for at eje. Og dette er kun at sige, at hvis du kigget på de fleste computere på campus, de ville sandsynligvis have en IP adresse, der ligner dette. Nu kan du også lejlighedsvis se en IP-adresse starter som denne. I virkeligheden, hvis nogen af ​​jer voksede op med internetadgang derhjemme, og du var nogensinde tilstrækkeligt teknisk nysgerrig efter at poke din egen computer indstillinger du sandsynligvis i stedet oplevede en adresse, der ligner mere dette, der begyndte med 10, eller 172,6, eller 192.168, eller nogle varianter deraf. Og det betyder bare, at verden Der er afsat en hel masse numre at være private, hvilket betyder du kan bruge dem i dit hjem, du kan endda bruge dem på din campus og inden for dit firma, men du kan ikke bruge dem på internettet i almindelighed. Og så disse private IP'er har været en løsning mod at gøre sikker på, at i hvert fald langt som hele verden er berørt, vi bruger ikke, som mange IP-adresser. Men i det mindste, vi kan, på vores egen campus, har temmelig meget som mange IP'er som vi ønsker. Men hvem bekymrer sig? Hvad er relevansen af ​​alt dette til en faktisk brug af internettet? Nå, lad os tage et kig på måske et enkelt billede her. Lad mig gennem begge disse op på skærmen. Og tilgiv min håndskrift her. Men hvis vi tænker på os selv som bliver denne lille bærbar her et eller andet sted på campus, disse dage det har Wi-Fi. Men i gårsdagens og hvis du finder den rigtige adapter, det kan have et Ethernet-kabel som ligeledes vil lade tilsluttes til en form for enhed. Og du kan kalde dette en række ting. Men jeg har tænkt mig at gå videre og kalder det, for nu, hvor omkring et adgangspunkt? Så dette er min laptop. Dette er min AP eller adgangspunkt, og dette er nogle trådløse enhed, ikke ulig dem, Harvard har alle over lofterne og mure omkring campus der har blinkende lys og der er, hvad din bærbare bruges til at tale trådløst til resten af ​​netværket. Så en eller anden måde denne laptop taler til at ting på væggen, i spisesalen, eller andre steder. Nu, i mellemtiden, at adgangspunktet er forbundet til noget andet på campus. Og det er nok noget kendt som en switch. Og de ser meget mere interessant end blot disse box diagrammer. Men på en måde, at ting er forbundet til en switch. Og til gengæld en eller anden måde at kontakten er sluttet til en enhed, der er sikkert en smule større, kaldet en router. Og så, i mellemtiden, Harvard er forbundet til hele internettet, som vil vi trække så denne sky her, via nogle antallet af tråde eller trådløs teknologi. Så der er en masse af trin mellem mig og resten af ​​verden. Og ja, selv inden dette billede her, der er nogle andre servere eller services involveret. Og jeg bare at tegne disse lidt abstrakt bare så vi har akronymer før os. Den ene kaldes DHCP. Og en anden, lidt mere interessant for i dag, kaldes DNS. Så disse er servere, der er en eller anden måde adgang til min computer så godt. Så nu, lad os drille hinanden en smule jargon. Så adgangspunktet er netop dette trådløse enhed ofte med antenner, der faktisk lad du taler til en trådløst. Derhjemme, kan du ringe dette til et hjem router. Det kan ske ved Linksys, eller Apple, eller D-Link, eller en række selskaber. Der på sin side er forbundet til et skifte af en slags. Eller hjem igen, hvad er din Wi-Fi enhed sandsynligvis forbundet til stedet? Fordi du sandsynligvis ikke ejer alt dette udstyr. Ja. Kabelmodem eller DSL-modem derhjemme at du fik fra Verizon, eller Comcast, eller et af disse luftfartsselskaber. Så tænk på alt dette kompleksitet som støtte til et universitet eller virkelig en virksomhed som Comcast. Og virkelig, stuff der er i dit hjem er sandsynligvis på denne side af hegnet plus måske en af ​​disse hjem route-- en af disse er kabelmodem eller DSL modemer, de kan give. Så en switch er bare en enhed med en hel masse data jacks i det. I virkeligheden, hvis du husker at nyheder betænkning vi spillede på den store skærm et par uger siden, hvor vi talte om granatchok, og hvor slemt det var? Og der var af disse fotografier af kabler og stik, og ting, der ser teknisk? Det var bare dumme switche, bare internet forbinder computere ved at tilslutte kabler i dem. Så det hele er en switch er. Nu får disse enheder en lidt mere interessant. DHCP. Hvis du har jordet omkring din computer derhjemme eller endda på campus, du måske har set dette akronym. Er der nogen der ved, hvad en DHCP-server? Dynamic Host Configuration Protocol? Ikke den slags ting, du virkelig har brug for at skrive ned. DHCP. nogen overhovedet? Ok. Så lad os spole historien. Hvis historien her ved hånden er baseret min har en unik adresse i verden, en IP-adresse, hvor kommer det fra? I Gårsdagens, når du har fået til campus, du rent faktisk havde bede en person på Harvard, hvad skal min IP-adresse være. Og du ville manuelt skrive det ind i din computer. Men mere for nylig, teknologier eksisterer der giver dig mulighed for dynamisk, DHCP, får en IP-adresse blot når du sætter ind i campus trådløst eller med en ledning. Så DHCP-server er bare en server der giver din computer en unik IP adresse, noget tilfældigt eller via nogle algoritme. Men hvis du tænker tilbage en par uger eller et par år, når du først registreret din computer på campus, du fortalte Harvard, tillade mig at give mig en IP-adresse. Nu DNS begynde at få et lidt mere interessant. Domain Name System. Er der nogen der ønsker at tage et stik på, hvad denne ting er her? Det er en eller flere servere, udføre en forholdsvis simpel opgave, der er slags vigtige. Ja. PUBLIKUM: Oversætter webadresser [uhørligt]. DAVID MALAN: Ja. Den oversætter webadresser til IP adresser og omvendt. Overvej, trods alt, at når du går på hjemmesiden, du skriver i noget lignende facebook.com, eller google.com, eller harvard.edu, du sikkert aldrig har indtastet sandsynligvis en numerisk IP-adresse. Og du kan tænke på grunden. Tilbage i dag, selv nu til en vis grad, når du laver en telefon ringe til et selskab, de virkelig forsøger hårdt at købe sig et 800-nummer, der faktisk har ord i det, ligesom 1-800-indsamle eller noget der er mindeværdige ligesom det, så folk ikke behøver at huske, hvad C-O-L-L-E-C-T faktisk udvides til. Så vi har set dette heuristisk i fortiden. Og ja, det er hvad IP-adresser og hvad vi vil kalde værtsnavne eller fuldt kvalificeret domænenavne gøre for os. Det giver os mulighed for at adresseservere med ord i stedet for tal. Så hvordan gør vi faktisk se denne konvertering. Jeg har tænkt mig at gå videre og åbne op for et program. Jeg skal bare til at gå videre og åbne op for en terminal vindue. Og jeg har tænkt mig at gå videre og vise dig, hvad en DNS-server gør. For eksempel, hvis jeg ønskede at se hvad IP-adressen er på Facebook, Jeg kan skrive på en terminal bede ligesom denne-- og du kan gøre dette selv indersiden af ​​apparatet. Og det er opslag facebook.com. Og jeg ser en masse ting. Denne første reaktion er Harvards DNS server-- det billede, som jeg har tiltrækkes. --that s fortæller mig, at Facebook IP adresse er tilsyneladende dette. Så lad mig gå videre og kopiere denne 173.252.120.16. Og lad mig åbne Chrome på min Mac. Og lad mig gå til http: // og pasta at IP-adressen i og tryk på Enter. Og ja, jeg befinder mig på Facebook. Så en eller anden måde at omdannelse, ja, der skete. Og hvis jeg gør det igen, lad os gøre nslookup, www.google.com. Jeg kommer tilbage en hel masse svar. Og ja, der er forskellige måder at virksomheder med at implementere dette. Nogle gange, de fortælle verden de har en IP-adresse. Men at én IP-adresse bliver løst eller tilknyttet til flere servere. Eller i tilfælde af Google, de fortælle verden, vi har en hel bunke af IP-adresser. Din bærbare er velkommen til at tale kontakte en af ​​disse servere. Så alle, der er stået på under hætten. Når du skriver i www.google.com Enter ind i din browser, din browser og til gengæld dit operativsystem, Mac OS eller Windows eller Ubuntu Linux, spørge den nærliggende DNS-server, hvad er den faktiske adresse på denne server. Fordi den sidste enhed i dette billede, en router, er den, hvis formål i livet er at route information, route pakker så at sige, kuverter af digital information indeholder nuller og ettaller fra afsender til bestemmelsessted, fra oprindelseslandet til modtager. Og så en router ruter stuff. Så hvorfor er dette alt særlig relevante? Nå, lad os tage et kig på, hvordan dette kan blive anvendt. Antag, at jeg har her et billede af Rob Boden. Så formoder, at jeg ønsker at Send dette billede af Rob Boden i Dan i ryggen af auditoriet. Så jeg er en computer ligesom min laptop, og Dan er en anden computer på internettet. Og jeg ønsker at sende en pakke af oplysninger fra mig til ham. Det rejser spørgsmålet, hvordan gør jeg faktisk rute denne pakke til ham. Tja, i menneskelig forstand, vil jeg sige, hey, du kan videregive dette til Dan? Og så en flok af jer ville sandsynligvis give det tilbage og frem og tilbage, indtil til sidst gør sin vej over til Dan. Men det er en smule upræcis. Computere sandsynligvis nødt til at være lidt mere metodisk. Så sandsynligvis, Dan har en IP-adresse. Så hvad jeg virkelig skal gøre, er jeg tage, for eksempel en tom kuvert som denne. Og jeg ved ikke, hvad Dan IP-adresse er. Så jeg vil bare generalisere det som Dan IP. Og jeg har tænkt mig at sætte dette i den til området for min kuvert. Og i mellemtiden har jeg en IP-adresse. Det betyder ikke noget i dag, hvad det er. Så jeg vil bare sige min IP i tilbage hjørne der. Og så jeg har tænkt mig at gå videre og sætte dette billede inde i denne kuvert. Og så hver enkelt af jer, formentlig, som routere på internettet, er forkonfigurerede af mennesker generelt eller undertiden ved hjælp af automatiserede algoritmer til at vide, at hvis Dan IP-adresse starter med en 1, det skal gå den vej. Hvis Dan IP-adresse starter med 2, skal det gå på den måde. Måske en 3 går på den måde. Måske en 4 går på den måde. Og det er lidt overdrevent. Simplistic men det er den generelle idé. Hver af disse routers-- og der kan være så mange som 30 mellem mig og Dan. --have en slags regneark inde i deres hukommelse, en database tabel, der bare siger, IP-adresse, der ligner dette, går på denne måde. En IP-adresse, der ser som dette, går denne vej. Og det er, hvordan det gør temmelig forsimplede beslutninger. Men det viser sig, at disse routere gøre noget mere end det, potentielt. De tillader computere til garanti levering, i det mindste med stor sandsynlighed. Så du måske også har hørt, selv om du har aldrig helt passet eller undret hvad det er, du måske har hørt af noget af dette akronym. Lad os gå tilbage herovre for bare et øjeblik og trække op dette. TCP, Transmission Control Protocol. En anden teknik til blot beskriver en anden teknologi der bruges på internettet. Så IP, Internet Protocol bruges til adressering. Det nogle standard, at verden kom op med det sagt, du sætte en IP-adresse her for Dan, og én IP-adresse her for dig selv, og så skal du sætte nogle oplysninger i en kuvert. Men TCP er en anden teknologi, anvendes i forbindelse med IP. Og ja, hvis du nogensinde har set disse akronymer før, Du har sikkert set TCP skråstreg IP som netop betyder, at folk har en tendens til at bruge dem sammen. Nå, TCP er slags cool, fordi det giver mulighed for du at øge sandsynligheden at data er faktisk vil komme fra mig til Dan. I virkeligheden, internettet er et vanvittigt sted. Der er ingen garanti for, at hvis jeg sender data på denne måde at det kommer til at gå den måde næste gang. Det kan gå den vej eller den måde. Den korteste afstand mellem to punkter er ikke nødvendigvis en lige eller samme linje. Endvidere er nogle af jer fyre kan begå fejl eller få overvældet med alt for mange kuverter kommer din vej. Så du bare gå til give op og bogstaveligt droppe nogle af disse kuverter på gulvet. Og i det samme måde kan data være faldt på internettet ved routere. Så for at mindske odds for dette, vil jeg at tage min lille sikkerhed saks her og klippe Rob ind i, lad os sige, fire stykker, fire segmenter. Og nu, jeg har tænkt mig at gå videre og og læg et stykke mere information på denne kuvert. Jeg har tænkt mig at sige noget lignende, 1 af 4. Så nu, min endelige kuvert, på mindst den første, ligner dette. Jeg har tænkt mig at gå videre og sætte denne ene i her. Og for tiden skyld, vil jeg mærke de andre på samme måde som 2 af 4 3 af 4 4 4. Igen, med Dan IP-adresse i foran det og med min IP-adresse på bagsiden til venstre, men jeg kan ikke sende dem endnu. Fordi det viser sig at på internettet, servere kan gøre flere ting. Faktisk kan vi alle bruger internettet ganske lidt, den verdensomspændende web, http: // whatever. Men der er andre tjenester på internettet. Hvad er nogle andre tjenester, sortere af brugere, forbrugervenlige tjenester at foråret til at tænke ud over en webbrowser-typen program? PUBLIKUM: Email. DAVID MALAN: E-mail. OK. Godt. Hvad er en anden? PUBLIKUM: Chat. DAVID MALAN: Så chat, uanset om det er Skype, eller Gchat, eller noget som. PUBLIKUM: Storage. DAVID MALAN: Så en slags opbevaring service, helt sikkert. Noget som Dropbox, eller Box, eller lignende. Så der er anderledes tjenester på internettet. Og det viser sig, at Dan, hvis han er faktisk en computer, behøver ikke at være dedikeret én ting i livet. Han kan faktisk gøre flere ting. Og ja, kan han være en e-mail-server. Han kan være en webserver. Han kan være en chat-server. Men der synes at foreslå at Dan har brug for at vide på forhånd, hvad er indholdet af disse meddelelser. Er dette en webside jeg sender ham? Er det en e-mail jeg sender ham? Er det et øjeblik budskab jeg sender ham? Så vi har brug for et stykke mere af information om disse kuvert således at Dan, da han modtager denne kuvert, ved, hvad programmet skal bruge til at vise det. Er det en browser? Er det Google? Er det Skype? Eller er det Outlook eller nogle andet program helt? Og så, med TCP kommer blot en menneskelig konvention. Verden besluttede nogle år siden at knytte unikke heltal med de mest populære tjenester. Ens kaldet File Transfer Protocol, FTP, selvom det er en smule dateret nu. Men dens unikke identifikator er 21. SMTP for udgående e-mail, sin unikke id er 25 bare fordi. DNS, de ting vi talte om tidligere, anvender nummer 53 for sine forespørgsler. Ligesom hvad er IP adresse google.com? Og nu, jo mere fortrolig du kan have et eller andet sted på et tidspunkt set nummer 80 og måske 443. Det er den unikke id'er til HTTP, som er sprog vi vil snart se brugt til web-trafik mellem browsere og servere. Og 443 er for sikker udgave heraf. Så en sidste detalje er jeg kommer til at sætte på min kuvert er, at jeg ikke har tænkt mig at Send dette blot til Dan IP. Jeg har tænkt mig at sende det til sige, : 80, hvis det, jeg prøver at sende ham er en webside, en web-side der indeholder Rob Boden s billede. Så jeg har tænkt mig at gøre det samme ting på disse andre konvolutter. Og så i sidste ende, jeg har tænkt mig at droppe disse ud med den nærmeste router, erkender, at der router måske ikke nødvendigvis tage den samme vej hver gang. Faktisk kan jeg have den første pakke vil denne måde. Anden pakke kan gå den vej. Tredje packet-- begynde routing. --might gå over her. Og i theory-- ikke kan holde det. I teorien, alle fire af disse pakker bør i sidste ende rute deres vej, dog effektivt eller ineffektivt, hele vejen til bagsiden. På hvilket tidspunkt, Dan, ved kvittering, kan samle dem baseret on-- det sjove er, vi alle ved, hvad resultatet her kommer til at være. Dan kommer til at få et billede af Rob. Men lad os se, hvordan det fungerer ud. Nå, snarere Dan kommer til at få en del af et billede af Rob. Meget godt. Alle er deltagende i dag. Ok. Så som Dan begynder at modtage disse pakker, lad os stille et spørgsmål. Hvad hvis en af ​​jer bliver doven, overbelastet, ondsindet eller bare drevet off, og en eller flere af emballage ikke gøre det til Dan? Hvordan Dan kommer til at vide, at han ikke gjorde modtage én af de segmenter af fire Jeg sendte ham? Lige intuitivt, hvad kan vi gøre? Ja? PUBLIKUM: [uhørligt]. DAVID MALAN: Præcis. Fordi jeg har entydigt nummereret dem, og Jeg har angivet, hvor mange segmenter der skal være, kan han udlede af denne hvilke, om nogen, af de segmenter han er faktisk mangler. Og hvad TCP fortæller computere til gøre, hvis computere, ligesom Mac OS, og Windows og Linux support og forstå TCP, som de gør, TCP dokumentation væsentlige siger, at Dan skulle sende mig en besked tilbage at sige, hey, David, Jeg mangler pakke nummer 1 af 4 eller 3 af 4, alt efter hvad det er. Og så mit job er at tage et andet billede af Rob, som vi har extras til senere i dag hvis du gerne vil tage en med dig, og så kan jeg sende dette segment Rob hele vejen til bagsiden. Så som forsimplede som denne mekanisme er, at er, hvad der sker næsten enhver tid du gøre noget på internettet, især for disse mest populære af tjenester. Der er andre protokoller, andre teknologier foruden TCP at arbejde lidt anderledes. Men så mange af de tjenester, vi typisk Brug rent faktisk afhængige af disse protokoller. Så Dan, fik du den fulde billede tilbage der? Ja. Vi har samles Rob i ryggen. Tak så meget til de routere. Antag, jeg faktisk ønsker se routerne mellem mig og MIT, var meget ligesom jer routerne mellem mig og Dan. Nå, i stedet for nslookup for navneserver opslag, Jeg kan i stedet skrive spor rute, som rent faktisk kommer til at gøre, hvad den siger. Og jeg har tænkt mig at gøre, og rolig tilstand med bindestreg 1. Det er en kommandolinje argument der bare siger, så prøv denne gang og ikke flere gange. Og nu, jeg har tænkt mig at skrive www.mit.edu. Nu er output temmelig hurtig og kryptisk. Men hvad er pæne om dette er, at hver af disse rækker i det væsentlige repræsenterer en studerende i denne målgruppe hvis du var stien mellem mig og MIT. Hvad du ser op her, først, er det domænenavn, jeg har skrevet i, eller fuldt kvalificeret domæne navn, som det er korrekt kaldes. Og denne tilsyneladende er IP-adresse www.mit.edu. Min computer regnet det ud for mig. Dette her er et løfte at vi kun vil at forsøge at nå MIT inden for 30 humle. Der bedre ikke være mere end 30 studerende mellem mig og Dan. Og nu, hver af disse rækker repræsenterer bogstaveligt talt en router mellem mig og Dan, bogstaveligt en af ​​jer. Og så denne ene ikke synes at have et navn, et domænenavn. Det bare har en IP. Og det tog kun 0,662 millisekunder at komme fra mig til denne første router. Den næste var ikke at meget længere væk. Det tog kun én millisekund at komme dertil. Og nu, heldigvis, ting få lidt mere brugervenlig med navne, der er kryptiske men lidt mere at fortælle. Dette tilsyneladende er en router i den kerne af Harvard netværk opstaldet, kun fordi folk har fortalt os dette, i Science Center, SC. Og GW er bare en forkortelse notation for gateway, som er et synonym for router. Så dette er nogle system administratorens hævet måde opkalde en af ​​serverne i Science Center. I mellemtiden er serveren tilsyneladende forbundet med en slags kabel til en anden router, der er kælenavnet grænsen gateway en tankestreg noget, uanset hvad disse tal betyder. Og så, tilsyneladende, Harvard har en forbindelse det er en anden millisekund væk til noget kaldte de nordlige korsvej som er en fælles peering point mellem store steder som Harvard hvor masser af kabler går i og tillader sammenkoblinger blandt forskellige enheder. Trin seks, desværre, har ikke et gyldigt navn. Og trin syv bliver interessant. Jeg har ingen idé om, hvad de fleste af disse betyder. Men NY ikke springe ud på mig. Og hvad betyder det formentlig betyde? Det er ikke engang teknisk. Just New York. Så ja, hvad er almindelig menneskelig konvention ikke garanteres men fælles konvention er at navngive routere af naturen på den by eller lufthavn kode, de er nærmest. Så med en vis sandsynlighed, denne router nummer syv er nok, ja, i New York. Og dette synes at bekræfte denne antagelse, fordi det er seks millisekunder i stedet for kun én eller så at noget her på campus. Men nu tage i betragtning, højre på Megabus eller whatnot, det kan tage fire, fem, seks timer at få et menneske fra her til New York. For at få et stykke af data, er det tager kun seks millisekunder at få en pakke fra mig til Dan, hvis Han var hele vejen i New York. Så endelig denne tilsyneladende er faktiske domænenavn for www.mit.edu. De har tilsyneladende outsourcet deres webservere til et selskab kaldet Akamai, hvilket betyder et andet selskab driver deres servere. Og det er derfor, vi ser at underlige ting der. Nå, lad os gøre det en gang mere. Lad os gå videre og gøre et spor rute til vores ven Professor Nick Parlante på Stanford, der har en server kaldet nifty.stanfor.edu. Enter. Og nu, vil vi se sandsynligvis en lidt længere vej der går gennem et par flere byer. Så her disse navnløs Harvard servere her. Vi er i kernen af ​​Harvard, grænsen gateway Harvard, de nordlige korsvej, hvor dette er. Og nu er det at få en lidt mere interessant. Jeg kan gætte, at router nummer otte er i hvilken by? PUBLIKUM: [indskyde VOICES] DAVID MALAN: Chicago sandsynligvis baseret på dette, er baseret på denne ting her. Og nu har vi Salt Lake City måske, måske Los Angeles her, og derefter LAX, JEP, dette er sandsynligvis LA ved bunden. Indtil endelig, det går fra det sydlige Californien hele vejen op til det nordlige Californien hvor Stanford er i Palo Alto. So pretty cool. Og lad os tage dette et skridt videre. Det tilsyneladende ville tage dig 82 millisekunder at sende en besked til Dan, hvis du var i Californien i stedet for New York. Lad os gøre noget som sporstoffer ruter, en forsøger at www.cnn.co.jp for Japanske version af CNN hjemmeside. Og nu, vi er stadig i Boston det synes i øjeblikket. Et par servere seks og otte ikke reagerer fordi de bliver lidt privat. Men til sidst, synes der at være noget interessant foregår mellem lad os sige, trin syv og ni. Hvad er sandsynligvis mellem syv og ni, og helt sikkert mellem syv og trin 17? Der er en enorm spring i mængden af ​​tid det tager for data at gå fra den ene af disse humle, en af ​​disse routere til en anden. Så odds er, et eller andet sted i her, der er sikkert, især lige her, der er nok en meget stor mængde vand, har nogle trans Stillehavet eller trans Atlantic kabel, der kræver faktisk endnu mere tid til data til komme fra et sted til et andet. Men igen, forestille timer det ville tage fluen til Japan. Her, i ca. 200 millisekunder, boom, din besked er faktisk der. Så du kan lege med dette på apparatet eller endda i Windows eller Mac OS med lidt forskellige kommandoer. Nogle gange vil du få disse stjerner, ligesom i rækker seks og otte, hvilket betyder bare routerne er konfigureret til ikke at give dig et svar for privatlivets fred skyld. Men generelt denne teknik ville faktisk arbejder. Så det viser sig også at der er andre saftig information lurer i værktøjer at du tager for givet hver dag. Så for eksempel, hvis du modtager en e-mail, helt ærligt som nogle af jer kan have nylig af tvivlsom oprindelse, hvis du har aldrig så på Gmail-grænsefladen før, uanset om det er for kollegiet interfacet eller din personlige én, du kan se din indbakke ligne dette. Og i virkeligheden er en e-mail Jeg sendte, malan@harvard.edu, til jharvard@cs50.harvard.edu morges bare så jeg kunne tage et screenshot. Men det viser sig, alle denne gang i Gmail, der er den lille trekant mod toppen til højre der ved siden af ​​Harvard våbenskjold, at hvis du klikker, kan du klikke på Vis Original. Og hvis du gør det, vil du faktisk se en flok meget esoterisk information ligesom tidsstempler, og IP adresser og domænenavne. Men du vil se, kort sagt, overskrifter, der i al den tid har blevet ramt i hver e-mail du sender og modtager. Og det er disse overskrifter, som folk kan bruge, datalog eller på anden måde, faktisk udlede med en vis sandsynlighed hvor og fra hvem en e-mail kom faktisk. Faktisk vil vi tale senere uger om, hvordan e-mail selv kan genereres programmatisk som er en meget god ting for et websted som ønsker at sende e-mails til brugerne. Men vi vil se, også, bare hvor trivielt det er at forfalske e-mails fra nogen til en anden, medmindre du rent faktisk vide, hvordan til at kontrollere de overskrifter. Og selv det er en taber proposition disse dage. Så med det sagt, lad os gå et lag op. Vi startede med IP som omhandler pakker for os, giver dem unikke adresser. TCP, som i kort, garanterer levering eller i det mindste øger sandsynligheden deraf ved tilføje ting som segmenter, 1 eller 4, 2 af 4, 3 af 4, og 4 af 4. Og nu, lad os lag ovenpå denne anden protokol. Alle disse ting er protokoller, edb-konventioner at diktere, hvordan to computere taler til hinanden. HTTP endelig i dag, er Hypertext Transfer Protocol. Og dette er den protokol at web-browsere bruge, når man taler til webservere. Så når du trække op en browser som Chrome eller IE eller Firefox, eller Safari, eller hvad, og du skriver i noget ligesom facebook.com og tryk på Enter, ikke kun gør din computer først oversætte facebook.com i hvad? En IP-adresse. Derefter converts-- det sender derefter en besked til den pågældende IP-adresse ordsprog, give mig dagens hjemmeside eller give mig login skærmen af ​​Facebook. Eller hvis du allerede er logget ind, giver mig standardvisningen af ​​min tidslinje. Så det er hvad HTTP siger. Og mere daglig tale, hvis jeg er en web server, og du are-- hvad er dit navn, igen? PUBLIKUM: Margot. DAVID MALAN: Margot er et web server, og jeg er en webbrowser, og jeg ønsker blot at hente min tidslinje fra Margot, margot.com, Jeg ville sige, hej, jeg er David. PUBLIKUM: Hej, jeg hedder Margot. DAVID MALAN: Og du vil så reagere med yderligere oplysninger til mig. Så vi har denne dumme menneske konvention for instance-- tak. --Af ryster hinandens hænder. Og computere har den samme idé hvor en klient, som en browser, anmoder en server til at gøre noget på hans eller hendes vegne. Og så her er et billede, for eksempel. Til venstre er en computer laptop, skrivebordet, uanset hvad, eller endda en telefon. Og til højre er en meget dateret af en server. De ser typisk mindre og sexet i disse dage. Men pointen er blot, at der er en slags kommunikation mellem klient og server. Og kunder i den forstand, af en person i en restaurant og tjeneren eller servitrice, samme idé med computere. Klienter og servere, en anmoder om oplysninger, man reagerer med information. Nu, hvordan gør det information kommer tilbage? Nå, overveje dette. Get er en slags standard way-- og det er en super simpel sigt. --that bare dikterer, hvordan en browser får information fra en server. Med andre ord, snarere end Mule-ily strækker min hånd til Margot, hvis jeg virkelig var en browser, jeg ville proppe inde i en kuvert, som jeg gjorde med Rob foto før, en tekstmeddelelse, der bogstaveligt siger noget som dette, get / http / 1.1hostwww.google.com eller margot.com eller hvad serverens navn kan ske at være. Og så, dot dot dot, nogle andre ting. Men bogstaveligt, inde af en konvolut ville være forholdsvis enkel tekstmæssige budskab som. At det efter modtagelsen, Margot ville åbne op, læse indholdet, og reagere i overensstemmelse hermed. Nu er det lidt ikke-indlysende med dette eksempel. Men få /, hvad er skråstreg henviser sandsynligvis til blot baseret på dit kendskab til surfe på internettet i dagligdagen? Hvad er skråstreg? PUBLIKUM: [uhørligt]. DAVID MALAN: En flugt sekvens. Ikke en dårlig idé, men generelt undslippe sekvenser gå den anden vej. Det ville være en omvendt skråstreg normalt. Men ikke en dårlig tanke. Ja? En pointer. Også god tanke, men endnu enklere end det. Hjemmet bibliotek. Roden af ​​en harddisk, så at sige. De fleste af os ikke skrive dette. Men teknisk, hvis du ønskede at være super korrekt i disse dage, du ville gå til noget ligesom http://www.facebook.com/. Nu sagde jeg de fleste af os ville ikke gider skrive skråstreg. Og helt ærligt, de fleste browsere, Chrome inkluderet, ikke engang gider at vise os skråstreg disse dage bare fordi de kan lide at være enkel og kortfattet. Men skråstregen betyder bare gå til www.facebook.com og få slash, roden af ​​harddisken, standard side i facebook.com. Brug af hvilken protokol? Nå, ved hjælp af version 1.1 af denne ting er kendt som HTTP. Serveren, eller Margot-- og ved den måde, gøre du huske, at jeg bruger dig i disse? OK. Så vi er godt nu. Så Margot svar nu med en rammebeløb på hendes egen, inden i hvilken er en tilsvarende tekstmeddelelse. Den første linie, som er, jep, jeg taler HTTP version 1.1. 200 er status kode hvilket betyder bare alt er OK. Jeg har den side, du leder efter. I mellemtiden, Content-Type: text / html, denne er Margot semi-mystiske måde at sige, hvad du har anmodet om, er en web-side. Og det er typen, så at speak-- næsten som en variabel forstand, men dette er meget højere niveau nu. Datatypen tekst men specifikt HTML. Det sprog, vi vil snart se. Og så er der nogle andre ting. Så andre ting er, hvad der bogstaveligt talt Facebook reagerer med. Så lad os se det, også. Lad mig gå videre og åbne op Chrome på min laptop som du kan gøre på din egen computer så godt. Og jeg har tænkt mig at gå videre og åbne op www.facebook.com. Enter. Og jeg får denne velkendte skærm her. Men nu, jeg har tænkt mig at gøre noget andet. Jeg har tænkt mig at gå videre og gå til Vis, Developer. Og gå til Developer Værktøj, som du bør har i Chrome på din computer, mindst inden for dit apparat. Jeg har tænkt mig at rulle dette ting op her, og du er kommer til at se en hel masse af kryptiske tekst her. Det viser sig, hvad Margot lagt indeni af kuverten i respons til mig er et sprog, kaldet HTML, HyperText Markup Language. Det er ikke et programmeringssprog sprog, fordi du ikke kan, det ikke har sløjfer og betingelser og funktioner, og sådan noget. Det er et kodesprog. I, at det har speciel syntaks kaldet tags og attributter der fortæller en browser hvad der skal vises på skærmen, og hvordan man kan vise det. Skal centreres? Skal det være fed? Rød, grøn, blå? Det er et kodesprog. I det, det fortæller en browser hvad der skal vises på skærmen. Så dette er, bogstaveligt talt, alle af HTML og mere, at Facebook-server spytter ud, og at Chrome og IE, og Firefox har designet af deres respektive forfattere at forstå. Og i virkeligheden er det en lille Messier end det. Hvis du i stedet gå til Vis, Udvikler, Udsigt Source, dette er, hvad der faktisk Facebook er ude at sætte. Sorter på nul for fem for stil, højre, hvis vi udlede, at dette sandsynligvis ikke er den bedste. Men helt ærligt, de kan slippe af sted med det, fordi hvis du tjener op milliarder af websider per dag, du virkelig ønsker ikke at spilde tid og bytes, og penge i sidste ende i fremsendelse ting som ny linje tegn og mellemrum, og faner fordi du bruger for båndbredde unødigt med din internetudbyder. Så ja, dette betød skal minified på denne måde. Men hvad Chrome gør for os er, det tager denne HTML, der fuldstændig ligner en rod og uforståelig for mennesker, og det er bare formatere det. Det er temmelig udskriver det, så vi kan pakke vores sind omkring det lidt lettere. Men mere interessant er dette. Hvis jeg nu klikke i Chrome, ikke elementer, men netværket, Jeg har tænkt mig at se lidt logning skærm, der er kommer til at vise mig alle af HTTP-anmodninger der er faktisk at gå tilbage og tilbage mellem mig og Facebook eller mig og Margot hvis jeg laver mere end én anmodning. Så jeg har tænkt mig at gå videre og klik reload-ikonet op her i Chrome. Og nu, en hel bunke af stuff fløj forbi nederst. Jeg har tænkt mig at rulle tilbage op til toppen. Og nu bemærke dette, den allerførste anmode min browser Made var til www.facebook.com. Det er ved hjælp af get mekanisme, der betyder bare det taler tekstmæssige sprog at vi så et eksempel på et øjeblik siden. Og desuden viser det sig, at det svar, Facebook gav mig er 200 OK, hvilket betyder, at jeg fundet pågældende webside. Hvis jeg klikker på denne række, kan jeg faktisk se disse overskrifter lidt mere tydeligt. Disse vil give mere mening inden længe. Men bemærk, at min browser sender en hel masse information som vært, og en fremgangsmåde og cookies. Vi vil komme tilbage til dem inden længe. Og du vil endelig forstå hvad en cookie faktisk er og hvordan du snart vil sende dem. Og du kan se, hvad Facebook sender tilbage, herunder indholdet teksttype HTML, den aktuelle dato tid, sit privatliv politik, eller mangel herpå, og derefter endelig et antal cookies der er ved at blive sat på din computer så godt. Men vi vil drille dem fra hinanden inden længe. Men kort sagt, hver gang du besøgt en webside, der nu i årevis, du har været at sende meddelelser til den ene jeg sendt i en kuvert til Margot og Dan. Og du har fået tilbage svar som dette fra Facebook. Men i øvrigt gætte, hvad der bliver videregives til Facebook, og Google, og alle andre, hver gang du besøger en webside? Hvad der er på ydersiden af ​​hver kuvert din computer er blevet afsendelse? Din IP-adresse, right? Måske ikke dit navn per se, men din IP-adresse. Og bare, lad os forbinde prikker senere, hvis du bruger tjenester ligesom internettet, eller BitTorrent og livet, og du har registreret en computer på et sted som Harvard, nogen et sted ved, at John Harvards IP-adresser dette dot dette, dot dette, dot dette. Og ja, logfiler kan han holdt både på campus som dette, på en Comcast netværk, på Verizon, eller helt ærligt, på NSA, som vi for nylig har lært, der logger stort set alt at du gør på internettet. Og vi vil komme tilbage til dette fremtiden klasse om konsekvenserne af disse design beslutninger og sikkerhed. Men sandheden er, du virkelig ikke har så meget privatliv. Hver gang du har været på besøg overalt på nettet, du været viser din hånd og afslørende mindst din IP-adresse. Så skræmmende note til side, hvad kan vi gøre for at indlejre ting som katte i en webside? Så vi har en masse svar, kan komme tilbage fra serveren. Og vi vil ikke se alle disse i dag. Men 200 er god. Og du sikkert ikke set alle disse som et menneske før. Men du har sikkert set mindst en af ​​disse. Hvilken en af ​​disse kan virke bekendt? PUBLIKUM: 404 DAVID MALAN: So 404. Fil ikke fundet. Og ja, du kommer til at se dette programmatisk selv. 404 betyder bare den fil, du har anmodet, skråstreg eller skråstreg noget, simpelthen eksisterer ikke. Og en webserver typisk reagerer med 404 som et resultat I mellemtiden vil vi snart se, at indholdet af den besked er dette sprog er kendt som HTML. Og det er en super simple uddrag af HTML der gør intet andet end vise hej verden på skærmen. Faktisk kan du se øverst i denne noget, der hedder en dokumenttype erklæring, der bare siger, hey, verden. Denne fil indeholder HTML. Og så, den næste bid af HTML at du kommer til at skrive, det har en åben konsol, og derefter ordet HTML, derefter en lukket stilling og derefter åbent hoved, og luk beslag. Så kort sagt, lad os faktisk gøre dette mere mekanisk. Lad mig gå ind i mit apparat, men du kan gøre dette overalt at du har en tekst editor til. Jeg har tænkt mig at gå videre og gemme en fil kaldet hello.html. Jeg har tænkt mig at sætte det på mit skrivebord til holde tingene super enkel lige nu. Og jeg har tænkt mig at gøre præcis, hvad jeg lige har set. Så doc typen HTML, åbneparentes HTML. Og nu, varsel, jeg har tænkt mig at gør det modsatte forebyggende. Og modsat, mener jeg samme tag, så at sige, men det starter med en skråstreg. Og så, herovre, Jeg har tænkt mig at sige, hoved, fordi det viser sig, at hver webside har et såkaldt hoved, som er ting, der går i titlen bar, øverst på siden. I titlen er bare vil være hello her. Og nu, jeg har tænkt mig at have et organ til denne webside. Så hver webside har både et hoved op øverst og et organ som er tarme af siden. Og her, jeg bare gå til sige noget lignende hej verden. Og jeg har tænkt mig at gemme denne fil. Hvis jeg nu minimere gedit, se, der er en lille fil på mit skrivebord kaldet hello.html. Nu, det er ikke på en server endnu, per se, Faktisk er det bare på min egen personlige desktop her. Men hvis jeg åbner Chrome og ramte Kontrol O-- der er katten pågældende. DET-- jeg går til mit skrivebord. Og jeg åbner op hello.html, der, i Faktisk er min super enkel webside. Liget af min side og det hvide vindue her er kroppen med hello verden. Og titlen i hovedet af siden er under fanen der. Og vi kommer til at se snart, at det er super enkel at åbne andre sider også. For eksempel, jeg kommer til at gå i nogle af fordelingen kode for denne uge, kilde syv, og jeg har tænkt mig at åbne ikke JPEG som denne fyr er her. Men jeg har tænkt mig at åbne op image.html, som i sidste ende ser sådan ud. Men lad mig nu åbne denne op i gedit, og gå ind Dropbox kilde syv, og image.html. Det meste af det er bare kommentarer, som vi snart vil se. Men hvis jeg ønsker at sætte Grumpy Cat indersiden af ​​denne webside, er det tilstrækkeligt at sætte en anden åben beslag, og derefter nøgleordet billede eller img for korte, og derefter alternativ tekst til tilgængelighed grunde hvis nogen har en skærm læser eller noget lignende. Kilde, der er, hvad er navn på filen, cat.jpeg. Og så, fordi dette tag er lidt speciel, vi sætte skråstreg, som vil vi se, inde i tag. Men slutresultatet er et web side, der ligner dette. Så kort sagt, hvad vi vil være gør nu over tid ved hjælp af internettet og skabe web-sider til sidste ende være beholdere ikke kun for dumme ting som billeder og links og tabeller, og punktopstilling lister og lignende, men også at give os selv en grafisk brugerflade, GUI, ikke ulig hvad vi gjorde vi Breakout. Men inden for dette miljø, er vi kommer til at begynde at bruge sprog som PHP, og JavaScript, databasen sprog kaldes SQL, en klient-side scripting sprog kaldet JavaScript til rent faktisk at skabe alle de mere dynamiske grænseflader, men i en meget, meget mere velkendt sammenhæng. Men inden da, lad os indgå i dag med et blik, som lovet, af hvad der virkelig foregår på under emhætten med internettet selv. Fastsætte for i dag at internettet kan bruges til at overføre ting ligesom websider via HTTP ligesom jeg rystede Margot hånd tidligere. Men der er så mange andre tjenester, der anvender TCP og IP at vi tager for givet at arbejde som vi vil se her i denne film, der vil tage os til slutningen i dag. [VIDEO PLAYBACK] -For Første gang i historie, mennesker og maskiner arbejder sammen, realisere en drøm. En forenende kraft, der kender ingen geografiske grænser. Uden hensyn til race, tro eller farve. En ny æra, hvor kommunikation virkelig bringer mennesker sammen. Dette er The Dawn of the Net. Ønsker du at vide, hvordan det fungerer? Klik her for at begynde din rejse ind i nettet. Nu præcis, hvad der skete når du har klikket på dette link? Du startede en strøm af information. Denne information rejser ned ind i din personlige postrum når Mr. IP-pakker det, etiketter det og sender det på vej. Hver pakke er begrænset størrelse. Postrummet skal beslutte, hvordan at opdele de oplysninger og hvordan du pakker den. Nu pakken har brug for en etiket indeholder vigtige oplysninger, såsom afsenderens adresse, receiverens adresse, og den type pakke det er. Fordi denne særlige pakke går ud på internettet, også får en adresse til proxy-server, som har en særlig funktion som vi skal se senere. Pakken er nu lanceret på dit lokale netværk eller LAN. Dette netværk anvendes til at forbinde alle de lokale computere, routere printere, et cetera til udveksling af oplysninger inden for fysisk bygningens mure. Den LAN er en temmelig ukontrolleret placere og desværre ulykker kan ske. Motorvejen af ​​LAN er pakket med alle typer af information. Disse er IP-pakker, Novell pakker, Apple Talk pakker. De gĺr imod trafik som sædvanlig. Den lokale router læser behandle og om nødvendigt løfter pakken på et andet netværk. Ah, routeren. Et symbol på kontrol i en tilsyneladende uorganiserede verden. Der er han, en systematisk, ufølsom, metodisk, konservativ, og nogle gange ikke helt på omgangshøjde. Men i det mindste, er han eksakt for det meste. Som pakkerne forlader router, de gør deres vej i virksomhedens intranet og hoved for routeren switch. En smule mere effektiv end routeren, routeren switch spiller kispus med IP-pakker, behændigt routing dem undervejs. En digital Pinball Wizard, hvis du vil. -Her Vi gå. Her kommer en anden. Og det er en anden. Se denne, mor. Her er går. Hovsa. Omkring bagsiden. Hey. Derinde. Derinde. Over til venstre. Over til højre. Over til venstre. Over til højre. Du fik det. Her går det. Han skyder. Han scorer. Det kommer. Hey, vent. Hey, pas på. Her kommer en anden. Åh, her går vi. -som Pakker ankommer deres destination, de er plukket af netværkskortet, klar til at blive sendt til det næste niveau, i dette tilfælde proxy. Fuldmagten bruges af mange virksomheder som en slags midt mand for at mindske belastningen på deres internetforbindelse og af sikkerhedsmæssige årsager. Som du kan se, pakkerne er alle af forskellige størrelser, afhængigt af deres indhold. Fuldmagten åbner pakken og ser for web-adresse eller URL. Afhængigt af om adressen er acceptabel, pakken sendt videre til internettet. Der er dog nogle adresser, som ikke mødes med godkendelse af proxy, dvs., virksomheds- eller ledelsesmæssige retningslinjer. Disse er summarisk behandlet. Vi har intet af dette. For dem, der gør det, det er på vejen igen. Næste op, firewallen. Virksomhedens firewall tjener to formål. Det forhindrer nogle temmelig grimme ting på internettet komme ind i intranet. Og det kan også forhindre følsomme virksomhedsoplysninger fra at blive sendt ud på internettet. Når gennem firewallen, en router opfanger pakken og placerer det på en meget smallere vej eller båndbredde, som vi siger. Naturligvis rækken er ikke bred nok til at tage dem alle. Nu kan du spekulerer på, hvad sker til alle de pakker som ikke gør det undervejs. Godt, når Mr. IP ikke gør modtager en kvittering at en pakke er blevet modtages i tide, sender han blot en erstatning pakke. Vi er nu klar til at komme ind i verden af ​​internettet, en edderkop web af sammenkoblede net som spænder hele vores klode. Her, routere og switche etablere forbindelser mellem netværk. Nu nettet er en helt anderledes miljø end du finder i beskyttende væggene i dit LAN. Herude er det Wild West, masser af plads, masser af muligheder, masser af ting at udforske, og steder at gå. Takket være meget lidt styring og regulering, nye ideer finde frugtbar jord til at skubbe konvolutten af ​​deres muligheder. Men på grund af denne frihed, visse farer lurer også. Du vil aldrig vide, hvornår du møde den frygtede ping af død, en speciel version af en normal anmodning ping som nogle idiot udtænkt at rod op intetanende værter. Stien vores pakker tager måske via satellit, telefonlinjer, trådløs, eller endda transoceanic kabel. De behøver ikke altid tage den hurtigste eller korteste ruter er muligt, men de vil komme dertil, til sidst. Måske det er derfor det er undertiden kaldet den verdensomspændende ventetid. Men når alt er fungerer gnidningsløst, du kunne omgå kloden fem gange ved slip af en hat, bogstaveligt, og alt for omkostningerne ved et lokalt opkald eller mindre. Nær slutningen af ​​vores destination, vi vil finde en anden firewall. Afhængig af din perspektiv som en datapakke, firewall kunne være en bastion sikkerhed eller frygtede modstander. Det hele afhænger af, hvilken side du er om, og hvad dine hensigter er. Den firewall er designet til at lade på kun disse pakker, der opfylder kriterierne. Denne firewall fungerer port 80 og 25. Alle forsøg på at komme ind gennem andre porte er lukket for erhvervslivet. Port 25 bruges til mail pakker. Mens Port 80 er indgangen til pakker fra internettet til internettet server. Inde firewall, pakker screenes mere grundigt. Nogle pakker gør det let gennem tolden, mens andre ser bare en smule tvivlsom. Nu firewall officer er ikke let at narre, såsom når denne ping Dødens packet lande at skjule sig som en normal ping pakke. -Flyt Sammen. Det er OK. Intet problem. Hav en god dag. Lad mig ud herfra. Bye. -For Disse pakker heldig nok til at gøre det så langt, rejsen er næsten slut. Det er bare en linje op på grænsefladen tages op i webserveren. I dag kan en web-server køre på mange ting, fra en mainframe, til et webcam, til computeren på dit skrivebord. Hvorfor ikke dit køleskab? Med den rette sæt op, kan du finde ud af hvis du har forudsætninger til kylling cacciatore eller hvis du er nødt til at gå på indkøb. Husk, det er The Dawn of the Net. Næsten alt er muligt. Én efter én, pakkerne er modtaget, åbnes og pakkes ud. De oplysninger, de indeholder, at er din anmodning om oplysninger, sendes videre til nettet server applikation. Selve pakken genanvendes. Klar til at blive brugt igen og fyldt med dit ønskede oplysninger rettet, og sende ud på sin vej tilbage til dig. Tilbage forbi firewalls, routere, og igennem til internettet. Tilbage gennem virksomhedens firewall. Og på din brugerflade. Klar til at levere din web browser med de oplysninger, du har anmodet om. Det er denne film. Tilfredse med deres indsats og stole på en bedre verden, vore trofaste datapakker rider off saligt i solnedgangen på en anden dag, vel vidende fuldt de har tjent deres herrer godt. Nu er det ikke en lykkelig slutning. [END VIDEO PLAYBACK] DAVID MALAN: Det er det for CS50. Vi vil se dig i næste uge. [MUSIC - Katy Perry, "dark horse"]