DAVID MALAN: Oké.
Dit is CS50.
En dit is het begin van de week zeven.
Dus vandaag, misschien gelukkig, We beginnen onze transitie
van het lagere niveau wereld van programmeren in C
een hoger niveau wereld van het web programmeren.
En met dat, zullen we een kijkje nemen precies hoe het internet werkt,
wat deze machines en deze internets dat je hebt gebruikt al jaren
eigenlijk doen onder de motorkap in de richting van een beter begrip van hoe het
werkt, en hoe u kunt maken het werk voor u.
>> In de richting van dat doel, waarom niet nemen we een eerst kijken naar een clip van een tv-show
genaamd Numb3rs, die krijgen ons zal gestart zo precies hoe het internet werkt.
[VIDEO AFSPELEN]
-Het Is een 32-bits IPP4 adres.
-IP.
Dat is het internet.
>> -private Netwerk.
Het is Amita's privé-netwerk.
Oh, ze is zo geweldig.
>> Oh, Charlie.
>> -Het Is een spiegel IP-adres.
Ze laten ons zien wat ze doet in real time.
[END VIDEO AFSPELEN]
DAVID MALAN: Dus er is een hele Veel mis met die tv-show.
Dus laten we plagen precies uit elkaar een van de eerste zaken
en kijken of we niet kunnen wikkelen onze gedachten er omheen.
Dus het laatste frame van die film, van die show
is deze hier, die lijkt te suggereren dat deze
is wat sommige hacker is met behulp te krijgen in een aantal systeem.
>> Maar nee.
Als u inzoomt op deze broncode die
is een taal genaamd Objective C in die iPhone apps, iPad apps, en Mac
OS apps zijn geschreven, je zult zien dat deze
is voor een soort van tekenprogramma dat een kleurpotlood als variabele.
>> Dus Daarnaast kan u hebben hier dit adres opgevallen.
Nu, dit is een zo verkeerd.
En dit is waarschijnlijk bewust gekozen een ongeldig adres zodat
eigenlijk niet ergens leiden Als een tv-kijker daadwerkelijk bezoekt het.
Maar dit aantal hier, iets iets dot
dot iets dot iets is wat algemeen bekend als een IP-adres.
En het is eigenlijk een goede segue om dit onderwerp meer
algemeen bekend als IP, internet protocol.
Dus je hebt waarschijnlijk minstens eerder gehoord deze uitdrukking.
Maar wat is IP, of internet protocol als u begrijpt het vandaag?
Kansen zijn, als we vroegen om een handopsteken, de meesten van jullie
Waarschijnlijk zei de woorden IP-adres vóór.
Dus wat bedoelde je?
>> Publiek: [onverstaanbaar]?
DAVID MALAN: Wat is dat?
Publiek: [onverstaanbaar]?
DAVID MALAN: Eens te meer.
Publiek: Adres van de computer.
DAVID MALAN: De adres van de computer.
Dus dat is precies goed.
Het blijkt dat elke computer op het internet,
en deze dagen, elke telefoon in uw zak en tablet in je rugzak,
heeft een IP-adres, internet IP-adres, dat
is een uniek adres dat identificeert het in het hele internet.
Nu, dat is een beetje een witte liggen omdat de wereld is eigenlijk
een tekort aan IP-adressen.
>> Dus we zijn begonnen met het gebruik private IP-adressen.
Maar meer daarover in een moment.
Maar je kunt denken aan een IP-adres zo als je postdienst straat
adres.
We hebben gebruik het voorbeeld van Maxwell Dworkin, de CS gebouw, vóór-
33 Oxford Street Cambridge, Massa, 02138, USA.
Dat is het uniek adres in de wereld.
>> Evenzo doen computers hebben unieke adressen.
Ze toevallig kijk een beetje anders-
een aantal puntjes op een aantal dot een aantal puntjes op een nummer.
En heeft iemand eigenlijk weten wat de geldige bereik van getallen
is voor elk van deze hashes?
Yeah.
>> Publiek: 0 tot 255?
DAVID MALAN: Precies.
0 tot 255.
En zelfs als je niet wist dat, nu een conclusie trekken,
hoeveel bits gebruikt om elk van deze nummers dan?
Acht blijkbaar vanwege de hoogste kunt u rekenen
is 255, dat is een 8-bit waarde.
Dus in totaal, een IP-adres is een 32-bits.
Zo snel doorsturen naar de mathematische conclusie,
hoeveel mogelijke IP adressen zijn er in de wereld, dan?
>> Dus dat is 8 plus 8 plus 8 plus 8, zodat dat 32 bits.
En we hebben altijd gezegd dat 2 de 32 ruwweg?
OK.
Ik zal dit één veld.
Vier miljard.
En we spraken over dat in week nul toen we spraken over de telefoon boeken
met gekke nummers van pagina's.
Maar het soort is dat er een eindig aantal IP-adressen.
En hoewel 4000000000 lijkt misschien veel,
wij mensen zijn geweest nuttigen van een flink aantal
daarvan voor al onze servers en inrichtingen enzovoort.
>> Dus dit is eigenlijk steeds een probleem.
Nu is er de neiging om een ​​te zijn regeling achter wie welke IP.
Bijvoorbeeld, veel van de computers aan de Harvard
hebben unieke adressen die beginnen met één van deze twee waarden.
MIT evenzo een prefix.
En veel bedrijven en universiteiten hebben hun eigen unieke prefix.
En dan de meesten van ons voor ons huis internetverbindingen en dergelijke,
we enkele voorvoegsel dat Comcast delen of iemand als dat gebeurt om te bezitten.
En dit is alleen maar om te zeggen dat als je gekeken naar de meeste computers op de campus,
ze zou waarschijnlijk hebben een IP adres, dat ziet er zo uit.
>> Nu, je zou ook af en toe zien een IP-adres dat begint als dit.
In feite, als iemand van jullie zijn opgegroeid met toegang tot internet thuis,
en je voldoende waren ooit technisch nieuwsgierig om rond te snuffelen
uw eigen instellingen van de computer, u waarschijnlijk plaats
zag een adres dat lijkt meer op dit, dat begon met 10, of 172,6,
of 192.168, of sommige varianten daarvan.
>> En dat betekent dat de wereld wordt braaklegging geheel bos van getallen
privé zijn, hetgeen betekent je kunt ze gebruiken in uw huis,
U kunt zelfs gebruik ze op uw campus en binnen uw bedrijf,
maar je kunt ze niet gebruiken op het internet in het algemeen.
>> En dus deze particuliere IPs hebben een oplossing geweest
in de richting van zorg ervoor dat ten minste zo Wat de wereld betreft,
hebben we het niet gebruiken dat veel IP-adressen.
Maar in ieder geval, we kunnen, op onze eigen campus, hebben vrijwel evenveel IPs
als we willen.
Maar who cares?
Wat is de relevantie van dit alles om een ​​daadwerkelijke gebruik van het internet?
>> Nou, laten we eens een kijkje nemen op misschien een eenvoudige afbeelding hier.
Laat me door beide deze op het scherm.
En vergeef hier mijn handschrift.
Maar als we denken aan onszelf als het zijn deze kleine laptop hier
ergens op de campus, deze dagen het heeft Wi-Fi.
>> Maar in weleer en als u de juiste adapter te vinden,
het kan een Ethernet-kabel hebt die eveneens zou laten
u verbinding maakt met een soort apparaat.
En u kunt dit noemen een aantal dingen.
Maar ik ga om verder te gaan en noemen dit, voor nu, wat dacht je van een access point?
>> Dus dit is mijn laptop.
Dit is mijn AP, of access point, en dit is een draadloos apparaat,
niet anders dan degenen die Harvard heeft over de plafonds
en muren rond de campus die knipperende lampjes hebben
en dat wat uw laptops zijn gebruikt om draadloos te praten
de rest van het netwerk.
>> Dus een of andere manier deze laptop is praten om dat ding op de muur,
in de eetzaal, of elders.
Nu, ondertussen, dat toegangspunt is verbonden met iets anders op de campus.
En het is waarschijnlijk iets bekend als een schakelaar.
En ze zien er een stuk interessanter dan deze box diagrammen.
>> Maar een of andere manier, dat ding is verbonden met een schakelaar.
En op zijn beurt, een of andere manier die schakelaar is verbonden
naar een apparaat dat is waarschijnlijk een beetje groter, een zogenaamde router.
En dan, ondertussen, Harvard verbonden
om het hele internet die we trekken deze wolk hier,
via een aantal aantal draden of draadloze technologie.
>> Dus er is een heleboel stappen tussen me en de rest van de wereld.
En inderdaad, zelfs binnen deze foto hier,
er zijn een aantal andere servers of diensten betrokken.
En ik ben gewoon gaan tekenen deze enigszins abstract
gewoon zo dat we hebben de acroniemen voor ons.
>> Eén wordt DHCP genoemd.
En andere, iets meer Interessant voor vandaag, heet DNS.
Dus dit zijn servers die een of andere manier zijn toegankelijk is voor mijn computer ook.
Dus nu, laten we plagen elkaar een beetje jargon.
Dus het access point is alleen deze draadloze apparaat
vaak met antennes die eigenlijk laat u een draadloos praten.
Thuis kun je bellen met dit een router thuis.
Het kan worden gemaakt door Linksys of Apple, of D-Link, of een aantal bedrijven.
Dat op zijn beurt is verbonden een switch van een soort.
Of terug naar huis, wat is je Wi-Fi apparaat wellicht aangesloten op plaats?
Omdat je waarschijnlijk niet eigenaar van alle deze apparatuur.
Yeah.
Kabelmodem of DSL-modem terug naar huis dat heb je van Verizon, of Comcast,
of een van die dragers.
Dus denk aan al deze complexiteit als ondersteuning van een universiteit of een echt
een bedrijf als Comcast.
En echt, het spul dat is in uw huis
waarschijnlijk aan deze zijde van het hek plus misschien
een van deze home route-- één van deze zijn kabelmodems of DSL
modems ze kunnen verschaffen.
>> Dus een switch is gewoon een apparaat met een hele hoop data-aansluitingen in het.
In feite, als u zich herinneren dat het nieuws rapport speelden we op het grote scherm
een paar weken geleden, waar we hadden het over shell shock,
en hoe slecht dit was?
Er waren van deze foto's van de kabels en aansluitingen,
en dingen die technische kijken?
Die waren gewoon dom schakelaars die gewoon internet verbindt computers
door de stekker kabels in hen.
>> Dus dat is al een switch is.
Nu, deze apparaten krijgen een beetje meer interessant.
DHCP.
Als je hebt stak rond uw computer thuis of zelfs op de campus,
je zou dit acroniem hebben gezien.
Weet iemand wat een DHCP-server is?
Dynamic Host Configuration Protocol?
Niet het soort ding dat je echt nodig om op te schrijven.
DHCP.
wie dan ook?
Prima.
Dus laten we terugspoelen het verhaal.
Als het verhaal hier bij de hand is gegrond op mijn een uniek adres
in de wereld, een IP adres, waar komt dat vandaan?
In vervlogen tijden, toen je hebt om de campus,
je eigenlijk had iemand vragen op Harvard, wat moet mijn IP-adres zijn.
En je zou handmatig typ het in uw computer.
Maar recent technologieën bestaan ​​die u in staat om dynamisch,
DHCP, krijgt een IP-adres gewoon wanneer je aansluiten op de campus draadloos
of met een draad.
Dus DHCP server is gewoon een server dat uw computer een uniek IP geeft
adres, enigszins willekeurig of via enig algoritme.
Maar als je denkt terug een enkele weken of enkele jaren
wanneer u voor het eerst geregistreerd uw computer op de campus,
jullie vertelden Harvard toestaan mij om mij een IP-adres te geven.
Nu dns beginnen om een ​​te krijgen beetje meer interessant.
Domain Name System.
Wil iemand een steek te nemen naar wat dit ding is hier?
>> Het is één of meer servers die uitvoeren van een vrij eenvoudige taak die is
soort belangrijk.
Yeah.
>> Publiek: Vertaalt URLs [onverstaanbaar].
DAVID MALAN: Yeah.
Het vertaalt URL naar IP adressen en vice versa.
Bedenk immers dat wanneer u op de website,
je typt in iets als facebook.com, of google.com of harvard.edu,
jullie hebben zeker nooit getypt hoogstwaarschijnlijk een numeriek IP-adres.
>> En kunt u denken aan de reden waarom.
Terug in de dag, zelfs Nu enigszins,
wanneer u een telefoon te maken bellen naar een bedrijf,
ze echt proberen hard om zichzelf te kopen een 800-nummer dat eigenlijk heeft woorden
in het, zoals 1-800-collect of iets dat is memorabel als dat zo dat
mensen hoeven niet te herinneren wat C-O-L-L-E-C-T vergroot daadwerkelijk.
Dus we hebben dit gezien heuristische in het verleden.
En inderdaad, dat is wat IP-adressen en wat we hostnamen zullen noemen
of volledig gekwalificeerde domeinnamen voor ons doen.
Het laat ons toe om het adres servers met woorden in plaats van nummers.
Dus hoe doen we eigenlijk zie deze conversie.
Ik ga om verder te gaan en het openen van een programma.
Ik ga gewoon door te gaan en open een terminal venster.
En ik ga om verder te gaan en laten zien wat een DNS-server doet.
Bijvoorbeeld, als ik wilde zien wat het IP adres is van Facebook,
Ik kan typen op een terminal prompt als dit--
en u kunt dit ook doen binnenkant van het apparaat.
En dat is lookup facebook.com.
>> En ik zie een heleboel dingen.
Deze eerste respons Harvard's DNS server--
dat beeld dat ik heb er getrokken. --that's
me te vertellen dat Facebook's IP adres blijkbaar.
Dus laat me gaan en kopiëren dat 173.252.120.16.
En laat me openstellen Chrome op mijn Mac.
En laat me gaan naar http: // en plakken dat IP-adres in en druk op Enter.
>> En inderdaad, ik vind mezelf op Facebook.
Dus een of andere manier dat de conversie, inderdaad, gebeurd.
En als ik dit nog een keer doen, laten we do nslookup, www.google.com.
Ik krijg weer een hele hoop reacties.
En inderdaad, er zijn verschillende manieren dat bedrijven implementeren deze.
Soms hebben ze de wereld te vertellen ze hebben één IP-adres.
>> Maar dat ene IP-adres wordt opgelost of toegewezen aan meerdere servers.
Of in het geval van Google, ze de wereld te vertellen,
we hebben een hele hoop van IP-adressen.
Uw laptop is welkom om te praten contact opnemen met een van deze servers.
Dus dat alles is al gaande op onder de motorkap.
>> Wanneer u in www.google.com Enter in uw browser, uw browser,
en op zijn beurt uw besturingssysteem, Mac OS of Windows, of Ubuntu Linux,
Vraag het nabijgelegen DNS-server, wat is het werkelijke adres van deze server.
Omdat het laatste apparaat op deze foto, een router,
is degene waarvan het doel in het leven is om route-informatie,
route pakketten om zo te zeggen, enveloppen van digitale informatie
met nullen en enen uit afzender naar bestemming, van oorsprong
naar ontvanger.
>> En dus een router routes stuff.
Dus waarom is dit alles bijzonder relevant?
Nou, laten we eens een kijkje nemen hoe dit kan worden gebruikt.
Stel dat ik hier heb een foto van Rob Boden.
Dus stel dat ik wil stuur deze foto van Rob Boden
in Dan in de rug van de collegezaal.
>> Dus ik ben een computer zoals mijn laptop, en Dan
is een andere computer op het internet.
En ik wil een pakket verzenden van informatie van mij aan hem.
Dat roept de vraag op, hoe kan ik eigenlijk route dit pakket naar hem.
Nou, in menselijke termen, zou ik zeggen, hey, kunt u dit doorgeven aan Dan?
>> En dan, een bos van je zou waarschijnlijk gaan het terug
en weer heen en weer tot uiteindelijk maakt zijn weg naar Dan.
Maar dat is een beetje onnauwkeurig.
Computers moeten waarschijnlijk een beetje meer methodisch.
Dus waarschijnlijk, Dan heeft een IP-adres.
Dus wat ik echt moet doen is zou ik nemen, bijvoorbeeld een lege envelop
als deze.
En ik weet niet wat IP-adres van Dan's is.
>> Dus ik ga gewoon generaliseren het als Dan's IP.
En ik ga dit in te zetten Ga naar het veld van mijn envelop.
En ondertussen heb ik een IP-adres.
Het maakt niet uit vandaag wat het is.
Dus ik ga gewoon zeggen Mijn IP in de achterste hoek daar.
En dan ga ik verder te gaan en zet deze foto binnenkant van deze envelop.
>> En dan, ieder van jullie, vermoedelijk, zoals routers op het internet,
zijn vooraf geconfigureerd door de mens in het algemeen of soms
door geautomatiseerde algoritmes te weten dat Als het IP-adres Dan's begint met een 1,
het moet op die manier gaan.
Als het IP-adres van Dan's begint met een 2, moet het op die manier gaan.
Misschien een 3 gaat op die manier.
Misschien een 4 gaat op die manier.
En dat is een beetje overdreven.
Simplistisch, maar dat is het algemene idee.
Elk van deze routers-- en er misschien zijn maar liefst 30 tussen mij en Dan.
--have een soort spreadsheet in hun geheugen,
een database tabel, die gewoon zegt, IP-adres dat er als volgt uitziet,
gaat op deze manier.
Een IP-adres dat eruit ziet als deze, gaat op die manier.
En dat is hoe het maakt tamelijk simplistisch beslissingen.
>> Maar het blijkt dat deze routers doen iets meer dan dat, mogelijk.
Ze zorgen ervoor dat computers op garantie levering, althans
zeer waarschijnlijk.
Dus je zou ook hebben gehoord, zelfs als je hebt nooit echt verzorgd of afgevraagd
wat het is, zou u hebben gehoord van iets wat door dit acroniem.
Laten we terug gaan hier dan voor slechts een moment en trek je dit.
>> TCP, Transmission Control Protocol.
Een andere technische manier van slechts beschrijven andere technologie
die wordt gebruikt op het internet.
Dus IP, Internet Protocol wordt gebruikt voor het adresseren.
Het aantal standaard dat de wereld kwam met dat gezegd,
je zet een IP-adres hier voor Dan, en één IP-adres hier voor jezelf,
en dan zet je een aantal informatie in een envelop.
>> Maar TCP is een andere technologie, in combinatie met IP.
En inderdaad, als je ooit eerder gezien deze acroniemen,
je hebt waarschijnlijk gezien TCP slash IP die net
betekent dat mensen de neiging om ze samen te gebruiken.
Nou, TCP is een soort van cool, want het laat
u om de kans te vergroten dat de gegevens daadwerkelijk
gaat krijgen van mij aan Dan.
>> In feite, het internet is een gekke plek.
Er is geen garantie dat als ik het verzenden van gegevens op deze manier
dat het gaat om te gaan op die manier de volgende keer rond.
Het zou kunnen dat zus of zo te gaan.
De kortste afstand tussen twee punten is niet noodzakelijkerwijs
een rechte of op dezelfde lijn.
>> Bovendien zijn sommige van jullie jongens misschien fouten maken
of overweldigd met te veel enveloppen op je afkomt.
Dus je gaat opgeven en letterlijk
vallen een aantal van deze enveloppen op de vloer.
En in die zelfde manier kunnen gegevens worden vallen op het internet door routers.
Dus om het te verlagen kansen van deze, ga ik
mijn kleine veiligheid nemen schaar hier en snijd Rob
naar, laten we zeggen, vier stukken, vier segmenten.
>> En nu, ga ik verder te gaan en zet nog een stukje informatie
Op deze envelop.
Ik ga iets als: 1 van 4 zeggen.
Dus nu, mijn laatste envelop, op minste de eerste, ziet er zo uit.
Ik ga om verder te gaan en zet deze in hier.
En omwille van de tijd is, ga ik het etiket van de anderen op identieke wijze als 2 van de 4,
3 van 4 4 van 4.
>> Nogmaals, het IP adres van Dan in de voorkant van het en met mijn IP adres
op de linksback, maar ik kan ze gewoon nog niet te sturen.
Want het blijkt dat op het internet,
servers kunnen meerdere dingen doen.
In feite zouden we allemaal het web te gebruiken nogal wat, het wereldwijde web,
http: // wat dan ook.
Maar er zijn andere diensten op het internet.
Wat vindt u andere informatie, sorteren van de gebruiker, consument-vriendelijke diensten
dat de lente voor de geest naast een web browser-type programma?
Publiek: E-mail.
DAVID MALAN: E-mail.
OK.
Goed.
Wat is er nog één?
PUBLIEK: Chat.
DAVID MALAN: Dus chatten, of het is Skype, of Gchat, of zoiets
als dat.
>> Publiek: Opslag.
DAVID MALAN: Dus een soort van storage service, zeker.
Zoiets als Dropbox, of Box, of iets dergelijks.
Dus er is anders diensten op het internet.
En het blijkt dat Dan, Als hij inderdaad een computer,
niet hoeft te worden besteed om één ding in het leven.
Hij kan meerdere dingen eigenlijk doen.
En inderdaad, kan hij een e-mail server.
Hij kan een web server.
Hij kan een praatje server.
>> Maar dat lijkt te suggereren dat Dan moet weten
vooraf wat zijn de Deze berichten.
Is dit een webpagina Ik ben het verzenden van hem?
Is het een e-mail dat ik hem verzenden?
Is het een instant bericht ik hem verzenden?
Dus we moeten nog een stukje informatie over deze envelop
zodat Dan, wanneer hij ontvangt deze envelop,
weet welk programma gebruiken om deze weer te geven.
>> Is het een browser?
Is het Google?
Is het Skype?
Of is het Outlook of een andere programma helemaal?
En zo, met TCP komt gewoon een mens conventie.
De wereld besloot enkele jaren geleden unieke getallen associëren
met de meest populaire diensten.
>> One's genaamd File Transfer Protocol, FTP, maar het is nu een beetje gedateerd.
Maar zijn unieke identifier is 21.
SMTP voor uitgaande e-mail, zijn unieke identifier is 25 gewoon omdat.
DNS, het ding dat we het eerder over hadden, gebruikt het nummer 53 voor de query.
Zoals wat is de IP adres van google.com?
>> En nu, hoe meer vertrouwd je misschien ergens op een bepaald punt
gezien het aantal 80 en misschien 443.
Dat zijn de unieke identificatienummers voor HTTP,
die de taal we zullen snel zien gebruikt
voor web verkeer tussen browsers en servers.
En 443 voor het veilige versie daarvan.
>> Dus de ene laatste detail ik ben ga op mijn envelop te zetten
is dat ik ben niet van plan om stuur dit alleen maar om Dan's IP.
Ik ga het sturen om te zeggen, : 80, als wat ik probeer te sturen
hem is een webpagina, een webpagina dat bevat foto Rob Boden's.
Dus ik ga om hetzelfde te doen ding op deze andere enveloppen.
>> En dan uiteindelijk, ga ik laten vallen deze af met de dichtstbijzijnde router,
het besef dat die router misschien ook niet per se
neem dezelfde weg elke keer.
In feite zou ik de eerste pakket gaat op deze manier.
Tweede pakket zou op die manier gaan.
Derde packet-- beginnen routing.
--might hierheen gaan.
En in theory-- niet kan houden.
In theorie, deze vier pakketten moet uiteindelijk route hun weg,
echter efficiënt of inefficiënt, helemaal naar achteren.
>> Op welk punt, Dan, na ontvangst, kan ze weer in elkaar
gebaseerd on-- het grappige is, we weten allemaal wat het resultaat hier
gaat worden.
Dan gaat er een foto van Rob krijgen.
Maar laten we eens kijken hoe dit werkt.
Nou, liever, Dan gaat krijgen een deel van een beeld van Rob.
Zeer goed.
Iedereen deelnemende vandaag.
Prima.
Teneinde Dan gaat deze ontvangen pakketten, laten we één vraag.
Wat als één van u krijgt lui, overladen, kwaadaardige, of gewoon powered
uit en één of meer van de pakket maakt het niet aan Dan?
>> Hoe wordt Dan gaat weet hij dat niet deed wordt een van de segmenten van de vier
Ik stuurde hem?
Gewoon intuïtief, wat kunnen we doen?
Yeah?
>> Publiek: [onverstaanbaar].
DAVID MALAN: Precies.
Want ik heb een unieke telde hen, en Ik heb aangegeven hoeveel segmenten er
moet, kan hij leiden uit dat die, indien aanwezig, van de segmenten
Hij is eigenlijk ontbreekt.
En wat TCP vertelt computers doen, als computers, zoals Mac OS,
en Windows, en Linux-ondersteuning en begrijpen van TCP, die ze doen,
Documentatie TCP's wezen zegt dat Dan mij moet sturen
een bericht terug te zeggen, hey, David, Ik mis pakket nummer 1 van 4,
of 3 van 4, wat het ook is.
>> En dan is het mijn taak om te nemen nog een foto van Rob,
die we hebben extra's voor later vandaag als je wilt om een ​​met u mee,
en dan kan ik dat segment opnieuw te verzenden van Rob helemaal naar de achterkant.
>> Dus zo simplistisch als dit mechanisme is, dat
is wat er gebeurt bijna elk moment je iets doet op het internet,
met name voor deze meest populaire van diensten.
Er zijn andere protocollen, andere technologieën naast TCP
dat een beetje werken anders.
Maar zo veel van de diensten die wij doorgaans Gebruik eigenlijk vertrouwen op deze protocollen.
>> Dus Dan, heb je de volledig beeld er terug?
Ja.
We hebben Rob weer in elkaar gezet in de rug.
Dank je wel aan de routers.
Stel dat, ik wil eigenlijk de zie de routers tussen mij
en MIT, waren net als jullie de routers tussen mij en Dan.
>> Nou, in plaats van nslookup voor naam server opzoeken,
Ik kan in plaats typen trace route, die wordt daadwerkelijk gaat doen wat het zegt.
En ik ga doen en stille modus met dash 1.
Het is een command line argument dat gewoon zegt, probeer dit
eens en niet meerdere keren.
>> En nu, ga ik om te typen www.mit.edu.
Nu is de uitgang vrij snel en cryptisch.
Maar wat is netjes over dit dat elk van deze rijen
wezen is een student in deze publiek
als je het pad tussen mij en MIT.
Wat zie je hier, ten eerste, is de domeinnaam die ik getypt in,
of fully qualified domain noemen als het goed heet.
>> En dit blijkbaar de IP-adres van www.mit.edu.
Mijn computer bedacht dat uit voor mij.
Dit hier is een belofte dat we alleen gaan
om te proberen MIT bereiken binnen 30 hop.
Er beter uiterlijk 30 studenten tussen mij en Dan.
Nu, elk van deze rijen vormt letterlijk een router
tussen mij en Dan, letterlijk een van jullie.
>> En dus dit lijkt niet om een ​​naam, een domeinnaam te hebben.
Het heeft gewoon een IP.
En het duurde slechts 0,662 milliseconden te krijgen van mij om die eerste router.
De volgende was niet die veel verder weg.
Het duurde slechts één milliseconde om er te komen.
En nu, gelukkig, dingen een beetje gebruiksvriendelijker
met namen die cryptische zijn maar een beetje meer te vertellen.
>> Dit is blijkbaar in de router kern van het netwerk van Harvard gehuisvest,
alleen omdat de mensen hebben ons verteld Dit, in het Science Center, SC.
En GW is slechts een verkorte notatie voor gateway dat is een synoniem voor router.
Dus dit is een systeem beheerder superscript manier
van het benoemen van een van de servers in het Science Center.
>> Ondertussen die server is blijkbaar verbonden door een soort kabel
naar een andere router die de bijnaam de border gateway één dash
iets, wat dan ook deze cijfers betekenen.
En dan, blijkbaar, Harvard heeft verbinding
dat is een ander milliseconde weg iets
riep de noordelijke kruispunt dat is een gemeenschappelijke peering punt
tussen de grotere plaatsen als Harvard waar veel bekabeling gaat in
en maakt interconnecties tussen verschillende entiteiten.
>> Stap zes helaas niet beschikt over een geldige naam.
En stap zeven wordt het interessant.
Ik heb geen idee wat de meeste van deze betekenen.
Maar NY doet springen op me.
En wat betekent dat waarschijnlijk betekenen?
Het is zelfs niet technisch.
Net New York.
Dus inderdaad, wat is gemeenschappelijke menselijke conventie niet gegarandeerd
maar is de gewoonte om de naam van routers door de natuur van de stad of het vliegveld
code dat ze het dichtst bij.
>> Dus met enige waarschijnlijkheid, deze router nummer zeven
waarschijnlijk inderdaad in New York.
En dit lijkt te bevestigen deze veronderstelling omdat het
zes milliseconden in plaats van slechts één of zo iets hier op de campus.
Maar nu rekening mee houden, recht op Megabus of wat al niet,
het zou vier, vijf, zes uur om een ​​mens van hier naar New York.
>> Om een ​​stuk van de gegevens te krijgen, het duurt slechts zes milliseconden
om een ​​pakket van mij aan Dan als Hij was helemaal in New York.
Tenslotte, dit blijkbaar de werkelijke domeinnaam voor www.mit.edu.
Ze hebben blijkbaar uitbesteed hun webservers
aan een bedrijf genaamd Akamai wat betekent sommige ander bedrijf loopt hun servers.
En dat is waarom we nu zien dat rare ding daar.
>> Nou, laten we dit eens te meer.
Laten we verder gaan en doen een spoor route naar onze vriend Professor Nick
Parlante in Stanford, die heeft een server genaamd nifty.stanfor.edu.
Enter.
En nu, zullen we waarschijnlijk zien een iets langere weg
die gaat door een paar steden.
Dus hier deze naamloze Harvard servers hier.
We zijn in de kern van Harvard, de grens gateway van Harvard,
de noordelijke kruispunt, waar dit is.
En nu, het wordt een beetje meer interessant.
Ik gok dat de router nummer acht is in welke stad?
Publiek: [tussenplaatsen VOICES]
DAVID MALAN: Chicago waarschijnlijk, gebaseerd op deze, op basis van dit ding hier.
En nu hebben we Salt Lake City misschien, misschien Los Angeles hier, en dan LAX,
yep, dit is waarschijnlijk LA door de bodem.
Tot slot, het gaat uit Zuid-Californië
helemaal tot aan het noorden van Californië waar Stanford in Palo Alto.
So pretty cool.
En laten we verder gaan nog een stap.
Het zou blijkbaar neem je 82 milliseconden
om een ​​bericht naar Dan sturen als je California in plaats van New York.
Laten we iets doen zoals trace routes, één
proberen www.cnn.co.jp de Japanse versie van de website van CNN.
En nu, we zijn nog steeds in Boston lijkt het op dit moment.
>> Een paar servers zes en acht reageren niet
omdat ze een beetje privé.
Maar uiteindelijk, er lijkt te zijn iets interessants gaande tussen,
laten we zeggen, stap zeven en negen.
Wat is waarschijnlijk tussen zeven en negen, en zeker
tussen de zeven en stap 17?
Er is een enorme sprong in de tijd
het neemt voor de data om van de ene van deze hop, een van deze routers
andere.
>> Dus kansen zijn, ergens in hier, er is waarschijnlijk,
vooral hier, is er waarschijnlijk een zeer grote hoeveelheid water die
heeft een aantal trans Pacific of trans Atlantische kabel die eigenlijk vereist
nog meer tijd om data te van het ene punt naar het andere.
Maar nogmaals, stel je de uren het zou de vlieg te nemen naar Japan.
Hier, in ongeveer 200 milliseconden, giek, uw bericht is eigenlijk daar.
Dus je kunt spelen met deze op het toestel of zelfs
in Windows of Mac OS met enigszins verschillende commando.
Soms zal je deze sterren te krijgen, zoals in rijen zes en acht, welke
gewoon betekent dat de routers zijn niet geconfigureerd
om u een antwoord te geven omwille van de privacy van.
Maar in het algemeen, deze techniek in feite zou werken.
>> Dus het blijkt ook dat er andere sappige informatie op de loer in gereedschappen
dat u voor elke dag toegekend.
Dus bijvoorbeeld, als je te ontvangen een e-mail, eerlijk gezegd zoals sommigen van jullie
kan kort zijn, van twijfelachtige afkomst, als je nog nooit hebt
keek naar Gmail-interface voor, of het nu
voor het college-interface of uw persoonlijke één,
je zou kunnen zien uw inbox op zoek als dit.
>> En in feite is dit een email Ik stuurde, malan@harvard.edu,
naar jharvard@cs50.harvard.edu vanmorgen gewoon
dus ik kon een screenshot te nemen.
Maar het blijkt, alle dit keer in Gmail,
er is dat kleine driehoekje in de richting van de rechterbovenhoek
er naast de Harvard kuif dat als u klikt, kunt u klikken op Show Original.
En als je dat doet, zul je eigenlijk zien een heleboel zeer esoterische informatie
als timestamps, en IP adressen en domeinnamen.
>> Maar je zult zien, in het kort, de headers die al die tijd hebben
getroffen in elk je e-mail verzenden en ontvangen.
En het is deze headers die mensen kunnen gebruiken, computer wetenschapper of anderszins,
daadwerkelijk afleiden met enkele kans waar
en van wie een e-mail kwam eigenlijk.
>> In feite, zullen we praten in later weken over hoe e-mail
zelf kan worden gegenereerd programmatisch die
is een zeer goede zaak voor een website dat wil e-mails naar gebruikers sturen.
Maar we zullen zien, ook, hoe triviaal het is om e-mails van iemand te smeden
aan iemand anders, tenzij je eigenlijk weten hoe ze de headers te controleren.
En zelfs dat is een verliezende propositie deze dagen.
>> Dus met dat gezegd, laten we gaan één laag boven.
We zijn begonnen met IP die adressen pakketten voor ons,
geeft hen unieke adressen.
TCP, die, kortom, garanties leveren of althans
verhoogt de waarschijnlijkheid ervan door dingen toevoegen segmenten, 1 of 4,
2 van 4, 3 van de 4, en 4 van de 4.
>> En nu, laten we laag bovenop van die ander protocol.
Al deze dingen zijn protocollen, computer conventies
die bepalen hoe twee computers met elkaar praten.
HTTP, eindelijk vandaag, is hypertext transfer protocol.
En dit is het protocol dat web browsers
gebruiken bij het spreken tot webservers.
>> Dus als je trek een browser zoals Chrome of IE of Firefox of Safari,
of wat dan ook, en je typt iets zoals facebook.com en druk op enter,
Niet alleen uw computer eerst vertalen facebook.com in wat?
Een IP-adres.
Vervolgens converts-- het stuurt dan een boodschap aan dat IP-adres gezegde,
geef me vandaag homepage of geven me het inlogscherm van Facebook.
>> Of als u al bent ingelogd, geven me de standaardweergave van mijn tijdlijn.
Dus dat is wat HTTP zegt.
En meer gemeenzaam, als ik een web server en je zijn-- wat is uw naam,
weer?
>> Publiek: Margot.
>> DAVID MALAN: Margot is een web server, en ik ben een webbrowser,
en ik wil gewoon om op te halen mijn tijdlijn van Margot, margot.com,
Ik zou zeggen, hallo, ik ben David.
>> Publiek: Hoi, ik ben Margot.
>> DAVID MALAN: En zou je dan reageren met aanvullende informatie voor mij.
Dus we hebben deze domme mens conventie voor instance-- dank je.
--met schudden elkaars handen.
En computers hebben die hetzelfde idee wanneer een cliënt, zoals een browser,
vraagt ​​een server om iets te doen op zijn of haar naam.
>> En dus hier is een foto, bijvoorbeeld.
Aan de linkerkant is een laptop computer, desktop, ongeacht of zelfs een telefoon.
En aan de rechterkant is een zeer gedateerd van een server.
Ze ziet er meestal kleiner en sexier deze dagen.
Maar het punt is gewoon dat er is een soort van communicatie
tussen client en server.
>> En cliënten in de zin van iemand die in een restaurant
en de ober of serveerster, hetzelfde idee met computers.
Clients en servers, één vraagt ​​om informatie,
één reageert met informatie.
Nu, hoe gaat dat informatie terug te komen?
Nou, overwegen dit.
Krijgen is een soort van de standaard way-- en het is een super eenvoudige term.
--that gewoon dicteert hoe een browser krijgt informatie van een server.
>> Met andere woorden, in plaats van goof-ily mijn hand uit te breiden tot Margot,
als ik echt waren een browser, I zou de binnenkant van een envelop proppen,
zoals ik deed met Rob's foto vóór, een tekstuele boodschap die letterlijk zegt
zoiets als dit, get / http / 1.1hostwww.google.com
of margot.com of wat dan ook de nameserver's zou kunnen gebeuren te zijn.
En dan, dot dot dot, een aantal andere dingen.
>> Maar letterlijk, binnen een envelop zou
zijn vrij eenvoudig tekstuele bericht als dat.
Dat bij ontvangst, Margot zou open te stellen, de inhoud te lezen,
en dienovereenkomstig reageren.
Nu, het is een beetje niet duidelijk dit voorbeeld.
Maar krijgen /, wat is de slash waarschijnlijk verwijzend naar, alleen gebaseerd
op uw vertrouwdheid met surfen op het web in het dagelijks leven?
Wat is de slash?
>> Publiek: [onverstaanbaar].
DAVID MALAN: Een escape.
Geen slecht idee, maar over het algemeen escape-reeksen gaan de andere kant op.
Dat zou een backslash gewoonlijk.
Maar geen slechte gedachte.
Yeah?
Een pointer.
Ook goede gedachte maar nog eenvoudiger dan dat.
De home directory.
De wortel van een harde schijf, om zo te zeggen.
De meesten van ons dit niet typen.
Maar technisch gezien, als je wilde super betrouwbaar zijn deze dagen,
je zou gaan om iets te zoals http://www.facebook.com/.
>> Nu, zei ik de meesten van ons niet zou in te vullen de slash.
En eerlijk gezegd, de meeste browsers, inclusief chroom,
niet eens de moeite het tonen ons de slash deze dagen
alleen maar omdat ze graag eenvoudig en beknopt.
Maar de slash betekent gewoon gaan naar www.facebook.com en krijg
slash, de root van de harde schijf, de standaard pagina in facebook.com.
Met behulp van welk protocol?
Nou, met behulp van versie 1.1 van dit ding bekend als HTTP.
>> De server, of Margot-- en door de manier, doen
Vind je het erg dat ik gebruik je in deze?
OK.
Dus we zijn nu goed.
Dus Margot reactie nu met een envelop van haar eigen, de binnenkant van die
is eveneens tekstbericht.
De eerste regel van dat, yep, ik spreek HTTP versie 1.1.
200 is de status code hetgeen betekent gewoon alles is OK.
Ik heb de pagina die u zoekt.
>> Ondertussen Content-Type: text / html, dit is Margot's semi-geheimzinnige manier om te zeggen,
wat u hebt aangevraagd is een webpagina.
En het type zo te speak-- bijna als een variabele zin,
maar dit is nu veel hoger.
Het data type is tekst maar specifiek HTML.
De taal die we zullen snel zien.
>> En dan is er een aantal andere dingen.
Dus andere spul is letterlijk wat Facebook reageert met.
Dus laten we zien dit ook.
Laat me gaan en openen Chrome op mijn laptop
die je kunt doen op uw eigen computer ook.
En ik ga om verder te gaan en open www.facebook.com.
Enter.
En ik deze vertrouwde scherm te krijgen hier.
Maar nu, ik ga iets anders doen.
Ik ga om te gaan en ga naar View, Developer.
En ga naar Developer Gereedschappen, die u moet
hebben binnen Chrome op uw computer, althans binnen uw toestel.
Ik ga dit scrollen ding hier, en je bent
gaat een hele hoop te zien cryptische tekst hier.
>> Het blijkt dat wat Margot binnen zetten van die enveloppe in reactie op me
is een taal genaamd HTML, HyperText Markup Language.
Het is niet een programmering taal, omdat je niet kunt, het
hoeft niet loops, en voorwaarden, en functies, en dat soort dingen.
Het is een opmaaktaal.
In dat, het heeft speciale syntax tags genoemd en attributen
dat vertelt een browser wat u wilt weergeven op het scherm en hoe het te laten zien.
Moet in het midden?
Moet het bold-faced?
Rood, groen, blauw?
Het is een opmaaktaal.
In dat, het vertelt een browser wat om te laten zien op het scherm.
Dus dit is letterlijk alle HTML en meer dat Facebook server
wordt uitspugen en dat Chrome en IE en Firefox hebben
ontworpen door de respectievelijke auteurs begrijpen.
>> En in feite is het een iets slordiger dan dat.
Als je, in plaats daarvan, ga naar View, Developer, Bron weergeven,
dit is eigenlijk wat Facebook is uit te zetten.
Soort van nul voor vijf voor stijl, rechts, als we
afleiden dat dit waarschijnlijk niet de beste.
Maar eerlijk gezegd, ze kunnen wegkomen met het omdat als je waar je van
miljarden webpagina's per dag, je echt
willen niet de tijd, en bytes te verspillen, en geld uiteindelijk bij het doorgeven van
dingen zoals nieuwe lijn tekens en spaties en tabs
omdat je de uitgaven voor bandbreedte onnodig met uw ISP.
>> Dus inderdaad, deze is bedoeld te minified deze manier.
Maar wat Chrome doet voor ons is, is het nemen van
deze HTML, die volledig lijkt een puinhoop en onbegrijpelijk voor de mens,
en het is gewoon te formatteren.
Het is vrij deze af te drukken, zodat kunnen we onze geest omheen wikkelen
wat gemakkelijker.
Maar interessanter is dit.
Als ik klik nu in Chrome, geen elementen, maar het netwerk,
Ik ga een beetje te zien logging scherm dat is
gaat me alles laten zien van de HTTP-verzoeken
dat eigenlijk terug gaan en weer tussen mij en Facebook of me
en Margot als ik meer dan één aanvraag.
>> Dus ik ga om verder te gaan en klik op de reload pictogram hier in Chrome.
En nu, een hele hoop spul vloog voorbij aan de onderkant.
Ik ga om te scrollen terug naar de top.
En nu, ziet dit, de allereerste mijn browser te vragen
maakte was naar www.facebook.com.
>> Het is met behulp van de get mechanisme dat betekent gewoon
het is het spreken van de tekstuele taal dat zagen we een voorbeeld van een moment geleden.
En bovendien, het blijkt dat de reactie die Facebook
gaf me is 200 OK, wat betekent dat ik vond de webpagina in kwestie.
>> Als ik klik op deze rij, kan ik eigenlijk zie die headers een beetje meer
duidelijk.
Deze zullen meer zin het duurde niet lang.
Maar merk op dat mijn browser stuurt een hele hoop informatie, zoals gastheer,
en methode, en koekjes.
We komen terug aan die komen voordat lang.
En u zult eindelijk begrijpen wat een cookie is eigenlijk
en hoe je zal binnenkort worden het verzenden van hen.
>> En je kunt zien wat Facebook wordt u terug,
waaronder het type inhoud van de tekst HTML, de huidige datum tijd, haar privacy
beleid, of het ontbreken daarvan, en dan uiteindelijk een aantal cookies
die worden ingesteld op uw computer ook.
Maar we zullen plagen die elkaar het duurde niet lang.
>> Maar in het kort, elke keer als je een bezoek aan een webpagina, nu al jaren,
je hebt het verzenden van berichten naar degene die ik in een envelop verzonden
Margot en Dan.
En je hebt om terug reacties als deze van Facebook.
Maar bovendien, wat denk je wezen bekendgemaakt aan Facebook en Google,
en iedereen elke keer dat u een webpagina bezoekt?
Wat op de buitenkant van elke envelop je computer is het verzenden?
Uw IP-adres, toch?
Misschien niet je naam per se, maar je IP-adres.
En net, laten we de punten te verbinden Later, als je met behulp diensten
zoals het web, of BitTorrent, en het leven,
en je hebt een computer geregistreerd op een plek als Harvard,
iemand ergens weet dat John Harvard's IP-adressen deze, dot dit,
dot dit, dot dit.
>> En inderdaad, logs kan hij zowel bewaard op een campus als dit, op een Comcast-netwerk,
op Verizon, of eerlijk gezegd, op de NSA zoals we onlangs hebben geleerd,
die zich aanmeldt vrijwel alles dat je doet op het internet.
En we zullen terug te komen dit de toekomst klasse
over de gevolgen van deze ontwerpbeslissingen en veiligheid.
>> Maar de waarheid is, je echt hebben niet zo heel veel privacy.
Elke keer als u geweest overal een bezoek op het web, je al het tonen van uw kant
en onthullend tenminste uw IP-adres.
Zo eng noot terzijde, wat kunnen we doen om insluiten dingen als katten in een webpagina?
>> Dus we hebben een heleboel reacties die misschien terug van de server komen.
En we zullen niet al deze vandaag zien.
Maar 200 is goed.
En ben je waarschijnlijk niet gezien al deze als mens voor.
Maar je hebt waarschijnlijk gezien ten minste een van deze.
Welke van deze zou je bekend?
Publiek: 404
DAVID MALAN: Dus 404.
Bestand niet gevonden.
En inderdaad, je gaat om te zien dit programmatisch jezelf.
404 betekent gewoon het bestand dat u hebt aangevraagd, slash slash of iets, gewoon
bestaat niet.
En een webserver meestal reageert met 404 als gevolg
>> Ondertussen zullen we snel zien dat de inhoud van dat bericht
zijn deze taal bekend als HTML.
En dit is een super eenvoudig stukje HTML
dat niets anders dan weer Hello World op het scherm.
Inderdaad, zie je aan de top van deze zoiets als een documenttype
verklaring die gewoon zegt, hey, wereld.
Dit bestand bevat HTML.
En vervolgens, het volgende stukje HTML dat je gaat schrijven,
het heeft een open bracket, en dan het woord HTML,
dan een gesloten beugel, en vervolgens open hoofd, en dicht beugel.
Dus in het kort, laten we eigenlijk Dit doen meer mechanisch.
Laat me gaan in mijn toestel, maar je kunt dit overal doen
dat u een tekstverwerker om.
>> Ik ga om te gaan en opslaan van een bestand genaamd hello.html.
Ik ga het op mijn desktop houdt alles super simpel nu.
En ik ga doen precies wat ik net zag.
Dus doc type HTML, geopend beugel HTML.
En nu, mededeling, ik ga het tegenovergestelde doen preemptively.
En door het tegenovergestelde, ik bedoel hetzelfde label als het ware,
maar het begint met een slash.
En dan, dan hier, Ik ga zeggen, hoofd,
want het blijkt dat elke webpagina heeft een zogenaamde kop die
is spul dat gaat in de titel bar, op de top van de pagina.
In de titel is gewoon gaat hallo hier zijn.
En nu, ik ga moeten een lichaam naar deze webpagina.
Dus iedere webpagina heeft zowel een head up top en een lichaam
dat is het lef van de pagina.
En hier ben ik gewoon gaan zoiets als hallo wereld zeggen.
En ik ga dit bestand op te slaan.
Als ik nu een minimum te beperken gedit, kijk, er is een klein bestand
op mijn bureaublad met de naam hello.html.
Nu, dat is niet op een server maar op zichzelf Inderdaad, het is
gewoon op mijn eigen persoonlijke desktop hier.
Maar als ik het openstellen van Chrome en raakte Controle O-- er de kat in kwestie.
--en ik ga naar mijn bureaublad.
>> En ik openstellen hello.html, daar, in Eigenlijk is mijn super eenvoudige webpagina.
Het lichaam van mijn pagina en deze witte venster
hier is het lichaam met Hello World.
En de titel in het hoofd van De pagina is in het tabblad daar.
En we gaan zien al snel dat het is super
eenvoudig te openen andere pagina's ook.
Zo, ik ga om te gaan in sommige verdeelsleutel
voor deze week, bron zeven, en ik ga
open te stellen niet de JPEG die deze man is hier.
Maar ik ga openstellen image.html, die uiteindelijk ziet er zo uit.
Maar laat me nu open deze in gedit, en ga in Dropbox bron zeven,
en image.html.
>> De meeste van deze is gewoon merkt als we binnenkort zullen zien.
Maar als ik wil Grumpy zetten Cat binnenkant van deze webpagina,
volstaat het om een ​​andere open beugel gezet, en vervolgens het trefwoord afbeelding of img
voor kort, en dan alternatief tekst voor toegankelijkheid redenen
als iemand een scherm lezer of iets dergelijks.
Bron dat is, wat is het naam van het bestand, cat.jpeg.
>> En dan, omdat deze tag is een beetje speciaal,
zetten we de slash, zoals we zullen zien, de binnenkant van de tag.
Maar het eindresultaat is een web pagina die er zo uitziet.
Dus in het kort, wat we gaan te zijn doet nu na verloop van tijd is het gebruik van het web
en het creëren van webpagina's naar uiteindelijk containers
niet alleen voor domme dingen zoals afbeeldingen en links, en tafels,
en opsommingen, en dergelijke, maar ook om ons onszelf te geven
een grafische gebruikersinterface, GUI, niet in tegenstelling tot wat we deden we Breakout.
>> Maar binnen deze omgeving, zijn we ga om te beginnen met behulp van talen zoals PHP,
en JavaScript, database taal genaamd SQL,
een client-side scripttaal riep JavaScript om daadwerkelijk te creëren
alle dynamischer interfaces maar in een veel, veel meer vertrouwde context.
Maar vóór die tijd, laten we concluderen vandaag met een blik,
zoals beloofd, van wat er werkelijk aan de hand onder de kap met internet
zelf.
>> Bepalen voor vandaag dat het internet kan
worden gebruikt om dingen overdragen zoals webpagina's via HTTP
net als ik Margot's hand eerder schudde.
Maar er is zo veel andere diensten die TCP en IP gebruiken
dat we voor lief nemen dat werk zoals we hier zullen zien
in deze film dat zal neem ons vandaag tot het einde.
>> [VIDEO AFSPELEN]
>> -Voor Het eerst in geschiedenis, mensen en machines
zijn samen te werken, het realiseren van een droom.
Een samenbindende kracht die weet geen geografische grenzen.
Zonder te letten op ras, geloof of kleur.
Een nieuw tijdperk waarin communicatie werkelijk brengt mensen samen.
Dit is het begin van het Net.
>> Wilt u weten hoe het werkt?
Klik hier om te beginnen met uw reis in het net.
Nu, precies wat er gebeurd als je klikte op die link?
Je begon een stroom van informatie.
Deze informatie verplaatst zich naar beneden in uw persoonlijke post kamer
toen de heer IP pakketten het, etiketten het, en stuurt het op zijn manier.
>> Elk pakket beperkte omvang.
De postkamer moet beslissen hoe te verdelen de informatie en hoe het te verpakken.
Nu de verpakking moet een label met belangrijke informatie,
zoals adres, ontvanger afzender adres en het type pakket is.
>> Omdat dit pakket gaat uit op het internet,
het wordt ook een adres voor de proxyserver, die
een speciale functie zoals we later zullen zien.
Het pakket wordt nu gelanceerd op uw lokale netwerk of LAN.
Dit netwerk wordt gebruikt om verbinding te maken alle lokale computers,
routers printers, et cetera voor informatie-uitwisseling
binnen de fysieke muren van het gebouw.
De LAN is een behoorlijk ongecontroleerde plaatsen en, helaas, ongevallen
kan gebeuren.
>> De snelweg van LAN is verpakt alle soorten informatie.
Dit zijn IP-pakketten, Novell pakketjes, Apple Talk pakketjes.
Ze gaan tegen het verkeer als gebruikelijk.
De lokale router leest het adres, en indien nodig,
tilt het pakket naar een ander netwerk.
Ah, de router.
Een symbool van controle in een schijnbaar ongeorganiseerd wereld.
>> Daar is hij, een systematische, onverschillig, methodische, conservatieve,
en soms niet helemaal op snelheid.
Maar in ieder geval is hij exact voor het grootste deel.
>> Aangezien de pakketten verlaten router, ze hun weg
in het bedrijfsintranet en het hoofd voor de router switch.
Een beetje efficiënter dan de router, de router switch
speelt zo nauw met IP-pakketten, ze behendig routing langs de weg.
Een digitale Pinball Wizard als je wil.
>> -Hier We gaan.
Hier komt nog een.
En het is een andere.
Bekijk deze, mam.
Hier gaat.
Whoops.
Rond de rug.
Hey.
In daar.
Naar links.
Meer dan aan de rechterkant.
Naar links.
Meer dan aan de rechterkant.
Je hebt het.
Hier gaat.
Hij schiet.
Hij scoort.
Het gaat.
Hé, wacht.
Hey, kijk uit.
Hier komt nog een.
Oh, hier gaan we.
>> -Als Pakketten aankomen op hun bestemming, ze zijn
opgepikt door de netwerkinterface klaar om te worden verzonden naar het volgende niveau,
in dit geval, de proxy.
De proxy wordt gebruikt door veel bedrijven als een soort van een middelbare man
om de belasting te verminderen op hun internet verbinding
en om veiligheidsredenen ook.
Zoals u, de pakketten kunnen zien zijn van verschillende afmetingen,
afhankelijk van hun inhoud.
>> De proxy opent het pakket en zoekt naar het webadres of URL.
Naargelang het is aanvaardbaar,
het pakket doorgestuurd naar internet.
Er zijn echter een aantal adressen die niet doen
een ontmoeting met de goedkeuring van de proxy, dat wil zeggen,
bedrijfs- of beheer richtlijnen.
Deze worden summier behandeld.
We zullen daar niets van weten.
Voor degenen die het maken, het opnieuw op de weg.
>> Next up, de firewall.
De firewall van het bedrijf dient twee doelen.
Het voorkomt dat een nogal nare dingen op het internet
tot stand komt, het intranet.
En het kan ook voorkomen gevoelige bedrijfsinformatie
worden verzonden uit op het internet.
>> Eenmaal door de firewall, een router pakt het pakket
en plaatst het op een veel beperkter weg of bandbreedte, zoals wij zeggen.
Uiteraard, de rij is niet breed genoeg om ze allemaal.
Nu, je kunt je afvragen, wat gebeurt er met al die pakketjes
die maken het niet langs de weg.
Nou, toen de heer IP niet ontvangt een bevestiging
dat een pakket is ontvangen te zijner tijd,
Hij stuurt gewoon een vervangend pakket.
>> We zijn nu klaar om het in te voeren wereld van het internet, een spin
web van onderling verbonden netwerken die overspannen onze hele aardbol.
Hier, routers en switches koppelingen tussen netwerken.
Nu, het net is een geheel andere omgeving
dan je binnen het vindt beschermende muren van uw LAN.
>> Hier, het is de Wild West, veel ruimte,
tal van mogelijkheden, veel dingen om te verkennen, en plaatsen om te gaan.
Dankzij weinig controle en regulering,
nieuwe ideeën vinden vruchtbare grond te duwen de omhullende van hun mogelijkheden.
Maar vanwege deze vrijheid, bepaalde gevaren ook op de loer liggen.
>> Je weet nooit wanneer je voldoen aan de gevreesde ping van de dood,
een speciale versie van een normaal verzoek ping die andere idioot bedacht
verknoeien nietsvermoedende gastheren.
Het pad van onze pakketten te nemen misschien via satelliet, telefoon lijnen, draadloze,
of zelfs transoceanische kabel.
>> Ze hebben niet altijd de snelste of kortste routes mogelijk,
maar ze zullen er te komen, uiteindelijk.
Misschien is dat waarom het soms genaamd de wereldwijde wachten.
Maar als alles is soepel werkt, je
de aardbol kunnen omzeilen vijf keer meer dan bij de daling van een hoed,
letterlijk, en dat alles voor de kosten van een lokaal gesprek of minder.
>> In de buurt van het einde van onze bestemming, zullen we een andere firewall vinden.
Afhankelijk van uw perspectief een datapakket,
de firewall kan een bastion te zijn van veiligheid of gevreesde tegenstander.
Het hangt allemaal af van welke kant je bent op, en wat je intenties zijn.
>> De firewall is ontworpen om alleen te laten in die pakketjes die voldoen aan de criteria.
Deze firewall werkt op poorten 80 en 25.
Alle pogingen door andere aan te gaan poorten gesloten zijn.
>> Poort 25 wordt gebruikt voor e-mail pakketten.
Terwijl Poort 80 is de ingang voor pakketten van het internet naar het web
server.
Binnen de firewall, pakketten zijn meer grondig gescreend.
Sommige pakketten maken het gemakkelijk door de douane,
terwijl anderen er net een beetje dubieus.
>> Nu, de firewall officier is niet gemakkelijk voor de gek gehouden,
bijvoorbeeld wanneer dit ping van de dood packet pogingen
om zichzelf te vermommen als een normale ping pakket.
-Ga Samen.
Het is OK.
Geen probleem.
Een mooie dag verder.
Laat me hier weg.
Bye.
>> -Voor Die pakketjes geluk genoeg om het zo ver te maken,
de reis is bijna voorbij.
Het is gewoon een line-up op de interface te worden opgenomen in de web server.
Tegenwoordig kan een webserver draaien op vele dingen, een mainframe, een webcam,
om de computer op uw bureau.
Waarom niet uw koelkast?
>> Met de juiste set up, kan je erachter komen
als je hebt de ingrediënten voor kip Cacciatore
of als je moet gaan winkelen.
Vergeet niet, dit is het begin van het Net.
Bijna alles is mogelijk.
>> Een voor een, de pakketten zijn ontvangen geopend en uitgepakt.
De informatie die ze bevatten, dat is uw verzoek om informatie,
wordt doorgestuurd naar de web server applicatie.
>> Het pakket zelf wordt gerecycled.
Weer klaar voor gebruik en gevuld met uw gevraagde informatie, gericht,
en uit te zenden op zijn weg terug naar jou.
Terug langs de firewalls, routers, en via het internet.
Terug door uw firewall.
En op je interface.
Klaar om je webbrowser leveren met de informatie die u heeft opgevraagd.
Dat deze film.
>> Blij met hun inspanningen en vertrouwen in een betere wereld,
onze trouwe datapakketjes rijd zalig off
in de zonsondergang van een andere dag, volledig de wetenschap dat ze
hebben hun meesters goed gediend.
Nu, is dat niet een happy end.
[END VIDEO AFSPELEN]
DAVID MALAN: Dat is het voor CS50.
We zullen volgende week zien.
>> [MUZIEK - KATY PERRY, "dark horse"]