[Musikwiedergabe] David J. MALAN: Also habe ich einfach wollte zu lindern. Ich würde genau das, was Scaz echo sagte über institutionelle Gedächtnis. CS50 gibt es schon seit gewesen rund 20 Jahre an der Harvard. Und die Realität ist, aus die Senioren auf unten, gibt es jährlich Beruhigung dass der Studienanfänger, die Studenten im zweiten Jahr, und die Junioren und Auch die Senioren unter CS50, dass Sie am Ende geht es gut. Die Realität ist, Studenten nicht scheitern CS50. In der Tat, in den seltenen Fällen, wo wir ES oder Fs hatte, es ist wirklich wegen der schon mildernde Umstände, ob es sich um medizinische oder persönliche. Ds sind unglaublich selten auch. Und ich kann bequem sagen, wenn wir in der Regel nicht offen Statistik, aber da es keinen institutionelle Gedächtnis hier auch immer, eine Mehrheit der Studenten in CS50 Sie am Ende immer eine Reihe Noten. A bedeutenden Teil am Ende auch schließlich in die B-Bereich. Also auch wenn Sie vielleicht Gleichsetzung in Ihrem Kopf zu dritt mit 60% und deshalb Ds, oder Cs oder dergleichen, es ist wirklich nicht säumen mit der Realität. In der Tat, dass wir genau das, was wir sagen zu Beginn der Laufzeit dass so viele Schüler in CS50, beide in Cambridge und hier in New Haven, habe noch nie einen CS Kurs vor genommen. Und was ja letztendlich ankommt ist, wo Sie am Ende in Woche 12 in Bezug auf sich selbst in Woche null. Jetzt haben wir mehrere Spuren im Verlauf wie Sie weniger komfortabel wissen-- mehr komfortabel, irgendwo dazwischen. Und in der Tat, wenn man Statistiken über dieswöchigen Quiz, weiß nicht, ob abgeraten werden, vor allem, wenn Sie spüren, dass Sie um den Mittelwert sind oder unter dem Mittelwert oder dem Median, zumal wir nicht unbedingt nehmen Sie all die Demografie Berücksichtigung Mitte Semester mit den Sortierstatistiken. Mit anderen Worten, wir wissen statistisch jedes Jahr dass Studenten, die weniger komfortabel sind, tun ein wenig schlechter auf dem Quiz. Und Studenten, die bequemer sind tun ein wenig besser auf dem Quiz. Aber je dieses Versprechen in den Lehrplan und auch in der ersten Vorlesungswoche, nehmen wir all das berücksichtigen. In der Tat, am Ende Jahren, was wir am Ende tut wird die Normalisierung aller Noten über Abschnitte, die beide in Cambridge und jetzt hier in New Haven, was bedeutet, unter Berücksichtigung die unterschiedlichen Stile, die disparate Härte ist die andere Art von Persönlichkeiten, dass die einzelnen TAs haben hier und in Cambridge so dass Sie bei einer bist nicht Nachteil, auch wenn Sie nur zufällig ein TF oder ein TA gehabt , der gewesen ist, ein wenig härter für Sie in Deiner Vorstellung. Zwei, berücksichtigt Komfort machen wir Niveau und den tatsächlichen Hintergrund, oder das Fehlen davon, wenn man Quiz Partituren berücksichtigt. Also diese beiden Elemente berücksichtigt werden. Und am Ende des Tages, denn es ist immer der Fall, dass ein Schüler am Ende in einer weniger bequemen Schnitt wenn er oder sie wirklich angehört in einem dazwischen oder umgekehrt, alles ist so unglaublich individualisiert. In der Tat, werden Sie ärgern bei uns an das Ende der Laufzeit, wenn wir spät Übermittlung Ihrer Qualitäten, denn mit Scaz und Jason und Andy und ich, und das Team wird getan haben in Cambridge ist buchstäblich haben Hunderte von E-Mails hin und her mit allen hundert der Kurse TAS, hier und in Cambridge, fragen, was sie aller ihrer Schüler denken auf der Grundlage eines Entwurfs der Noten. Und alles, was es nach ist unglaublich individualisiert. Also, soweit wir Sie kennenlernen in der Bürozeiten, Abschnitte und mehr, all dies auch berücksichtigt wird. Also wenn wir neigen dazu, diese fünf verwenden Punkte-Skala, bitte, nehmen Sie sich davon aus, dass ein Drei ist in der Tat eine 60%. Ist gemeint, gut zu sein. Und die Lehrassistenten werden zu Laufzeitbeginn in Rechnung um zu versuchen, Partituren zu halten in den zu zweit, zu dritt, und Vieren reichen, damit wir tatsächlich haben Raum zu wachsen. Und wir haben tatsächlich ein Maßstab, an dem Sie wir nützliche geben kann Feedback, wie Sie tun, und wie Sie Fortschritte. Also bitte nehmen Sie das zu Herzen. Gibt es Fragen, die ich helfen kann Adresse oder Bedenken ich helfen kann, zu lindern? Oder Zusagen kann ich versuchen, zu halten? Nein? OK. Gut. Also mit dieser sagte, ist dies CS50. Dies ist der Beginn der Woche sechs hier in New Haven. Lassen Sie uns mit einer kurzen beginnen Verdunkelung die Bühne für die heutige Gehalt eingestellt. [VIDEO PLAYBACK] [Musikwiedergabe] -Er Kam mit einer Botschaft. Mit einem Protokoll alle seine eigenen. Er kam in eine Welt der kühlen Firewalls, gefühllos Router und Gefahren viel schlimmer dass der Tod. Er ist schnell, er ist stark, er ist TCP / IP. Und er hat Ihre Adresse. Krieger des Netzes. [END PLAYBACK] David J. MALAN: Alles klar. Dies ist CS50. Dies ist der Beginn der sechsten Woche. Und dies ist der Beginn unserer Look im Internet und Web-Programmierung. Und, vielleicht am aufregend, Heute markiert den Übergang für uns von unserem Kommandozeile Welt C auf die Bahn basierte Welt des PHP und HTML, und CSS und SQL und JavaScript, und vieles mehr, was auf den Horizont. Aber zuerst, es war uns nicht entgangen, in Fuß über dem Campus, dass es eine gewisse Bad hier in New Haven genannt Harvard Raum, der ist ein wenig aus sich hier grau dargestellt. Aber in der Tat, ging jemand auf die Zeit und die Kosten der Radierung in Harvard Zimmer auf dieser hier Raum. Danke für das. Ich kann nicht sagen, wir haben ein Analog in Cambridge noch, aber ich denke, wir haben ein kleines Projekt für uns selbst, wenn wir jetzt gehen Sie zurück. Ich danke Ihnen dafür. So einen kurzen Blick zurück auf wo wir aufgehört haben letzte Woche und wohin Sie gehen am kommenden bist Woche mit Problemen stellte fünf. So in Problem stellte fünf, werden Sie herausgefordert, eine Rechtschreibprüfung durchzuführen. Und um das zu tun, werden Sie reichte eine ziemlich große Text Datei mit wie 140.000 englischen Wörtern. Und Sie werden aufgefordert, zu entscheiden auf eine Datenstruktur, mit dem Sie wollen alle diese Worte zu laden in den Speicher und in den Arbeitsspeicher, und setzen ein paar Funktionen, von denen einer sein wird, zu überprüfen. Wodurch dann, wenn ein Argument übergeben, ein Wort, Ihren Funktionsprüfung einfach ist zu haben, zu sagen, wahr oder falsch, Dies ist ein Wort im Wörterbuch. Aber du wirst einige haben gerade Design Diskretion und Herausforderungen bei der Umsetzung das kommt. In der einfachsten Implementierung Sie könnten mit Sicherheit Umsetzung einer Rechtschreibprüfung in die zugrunde liegende Wörterbuch mit, welche Art von Datenstruktur? Sie müssen nur eine ganze speichern Bündel von Strings im Speicher? Was ist in der Start zu antworten von Woche zwei vielleicht? ZIELGRUPPE: Array. David J. MALAN: Sie können ein Array zu verwenden. Und das ist gar nicht so schlecht. Aber Sie müssen nicht wissen, im Voraus, wie groß von einem Array Sie gehen zu müssen, wenn Sie nicht tun kennen Sie die Datei unbedingt im Voraus. So wirst du zu haben sind verwenden Sie ein bisschen Trickserei wie malloc, wie wir angefangen mit. Oder wir richten könnte dass die Sorge mit Hilfe was andere Datenstruktur, die ist war eine Art Randverstärkung auf einem Array? ZIELGRUPPE: Verknüpfte Liste. David J. MALAN: Like a verbunden Liste, bei der wir eine Dynamik zu erhalten. Aber es gibt ein wenig mehr Aufwand. Wir haben Hinweise auf zu halten. Und Sie haben noch nicht diese codiert up, aber es ist auf jeden Fall ein wenig mehr Komplexität als nur mit eckigen Klammern und herumspringen einem Array. Aber eines Arrays Laufzeit, wenn Sie nach einem Wort suchen, vielleicht log werden von n. Aber noch einmal, kann es sein, ein wenig nicht-triviale für den Aufbau dieses Array nicht zu wissen, die Größe im Voraus. Eine verkettete Liste aber, wenn Sie nur ein paar Strings speichern in einer verknüpften Liste, was ist Ihre obere Grenze auf Laufzeit sein wird, um zu suchen für oder prüfen Sie ein Wort in dieser Liste? ZIELGRUPPE: n. David J. MALAN: Ja, große O n oder linear, da im schlimmsten Fall, das Wort ist wie ein Z Wort den ganzen Weg zum Ende. Und aufgrund einer verknüpften Liste, weil diese Pfeile standardmäßig, in einer einfach verketteten Liste, nur gehen von einer Richtung zur anderen, kann man nicht herumspringen. Sie müssen alle von ihnen zu folgen. Also am Ende der vergangenen Woche haben wir vorgeschlagen, Woche fünf, dass es bessere Wege gibt. Und in der Tat, der heilige Gral wäre wirklich konstante Zeit wodurch dann, wenn Sie wollen, zum Nachschlagen eines Wortes, die Sie erhalten eine sofortige Antwort unabhängig der, wie viele Wörter bereits in Ihrem Wörterbuch. Dies ist Wiedergabe eines Künstlers was Sie vielleicht eine Hash-Tabelle aufrufen. Und eine Hash-Tabelle ist eine Art schön Amalgam von einem array-- vertikal ausge hier, nur because-- und dann eine verbunden list-- hier horizontal ziehen. Und die Hash-Tabelle kann in Bündeln von Wegen implementiert. Dieser Auszug aus einem Lehrbuch passiert um diese Menschen Geburtsdaten verwenden als die Mittel, durch die es zu entscheiden wo man jemand den Namen gesetzt. Das ist also ein Wörterbuch wenn Sie Namen. Und um zu beschleunigen setzen Namen in dieser Datenstruktur, schauen sie, offenbar, diese Menschen zu Geburtsdaten in Bezug auf einen Monat. So ist es 1-31. Und etwa Februar vergessen und Ecken Fällen so. Und wenn Ihr Geburtstag ist am Januar 1 oder 1. Februar oder 1. Dezember wirst du am Ende bist die erste Kette bis oben. Wenn Ihr Geburtsdatum ist wie der 25. eines Monats, wirst du am Ende bist am Eimer Nummer 25. Und wenn es schon jemand da in die entsprechende Position, welche Sie tun beginnen mit diesen verbunden Listen wird sie zusammen nähen so dass Sie eine beliebige haben können Zahl der Menschen, oder irgendetwas, an dieser Stelle. Sie haben also eine Art Mischung aus konstante Zeit für Hashing. Und Hash etwas bedeutet, als Eingabe, wie eine Person, oder seinen Namen oder seine Geburt Datum, und dann entscheiden, auf einigen Ausgabe auf der Grundlage, dass, wie der Blick auf ihre Geburtstag und Ausgeben von einem bis 31. Also dann haben Sie vielleicht ein wenig der linearen Zeit, aber in der Realität, wie in der Fall des Problems stellte fünf, wir werden nicht zu sein Arbeiten in P stellte fünf so viel über asymptotische Lauf Zeit, wie die theoretische Langsamkeit , mit dem ein Algorithmus ausführen könnten. Wir werden über Pflege die tatsächliche Anzahl von Sekunden und die tatsächliche Menge an Speicher, die tatsächliche Anzahl von Bytes des Speichers Sie verwenden. Also ehrlich gesagt, mit einer großen Kette wie eine Million Menschen ist verdammt langsam, wenn Sie auf der Suche sind nach einem Namen in einer Liste von Größe Millionen. Aber was, wenn Sie teilen dass die Liste nach oben in 31 Teilen? Suchen 1/31 dessen, super lange Liste, in der Realität, ist sicherlich noch schneller zu sein. Asymptotisch, ist es dasselbe. Du bist nur Teilung mit einem konstanten Faktor. Und erinnere, dass wir werfen die Dinge weg. Aber in Wirklichkeit, es geht zu 31-mal schneller sein. Und das ist, was wir zu gehen starten, um Hebelwirkung in P stellte fünf. So P stellte fünf zu auch schlägt vor, dass man bedenkt, etwas raffiniertere Datenstruktur genannt trie. Und ein Trie ist nur eine Baum wie Datenstruktur. Aber anstatt kleine Kreise oder Rechtecke wie wir halten Zeichnung für Knoten, es tatsächlich hat ganze Arrays für die Knoten. Und obwohl dies ein etwas abstrakt hier zu sehen, Zamyla in der P-Set zu Fuß durch Sie zu Fuß durch ausführlicher zu diesem Thema. Dies ist eine Datenstruktur, dass eher geschickt könnte jeder Knoten ein Array haben der Größe 26, A bis Z oder Null bis 25. Und wenn Sie legen Sie eine Person, die wollen Namen in dieser Datenstruktur oder finden ihn oder sie, was Sie tun, wenn die Name ist wie Maxwell, M-A-X-B-E-L-L, Sie zuerst bei M. Look und dann springt an die entsprechende M Lage in der ersten Anordnung. Sie dann zu einem Sprung, der erste Lage in der nächsten Anordnung, nach den Pfeilen. Dann X, dann ist W, dann E, dann ist L, dann L, und dann vielleicht noch einige spezielle Ende Charakter, einige Wächter das sagt ein Wort hält hier. Und was ist schön zu this-- und daran denken, dass das Bild hier, merken, wie Kanten jedes Array abgeschnitten. Das ist einfach, weil dieses Ding wäre ist massiv und entsetzlich anzuschauen bei auf dem Bildschirm. Es ist also ein Auszug. Das Schöne an diesem Ansatz ist, dass, wenn es eine Million Namen schon in dieser Datenstruktur wird, wie viele Schritte dauert es, mich zu fügen Maxwell? M-A-X-B-E-L-L-- wie Sieben-ish Schritte zum Einfügen oder suchen Sie nach Maxwell. Nehmen wir an, es gibt eine Billion Namen in dieser Datenstruktur. Wie viele Schritte braucht es, dass ich für Maxwell aus? M-A-X-- noch sieben. Und darin liegt die sogenannte konstante Zeit. Wenn wir annehmen, dass Worte sind sicherlich begrenzt von 20 Zeichen oder 46 Zeichen, oder eine relativ kleine ganze Zahl, dann ist es effektiv eine Konstante. Und so das Einsetzen und die Suche ein Trie ist super schnell. Natürlich haben wir noch nie Erhalten Sie alles kostenlos. Und obwohl Sie wahrscheinlich dort nicht in den P getaucht stellte fünf noch, Welchen Preis sind wir wahrscheinlich zu zahlen bekommen, dass mehr Effizienz Zeit klug? ZIELGRUPPE: Memory. David J. MALAN: Memory, oder? Ich meine, wir nicht gezeichnet haben das ganze Bild hier. Dieser Auszug aus dem Lehrbuch nicht alle der Arrays erstellt. Es gibt eine riesige Menge an Speicher und einfach Null-Zeiger, die nicht verwendet werden. Es ist also ein Kompromiss. Und es wird, Sie in P gelassen werden gesetzt fünf auf welchen Weg Sie gehen wollen entscheiden. Nun ist diese Idee der Hashing als beiseite, ist eigentlich Super verbreitet. Also zu einem Wert mittels Hash, ganz einfach, um etwas als Eingabe und ein Ausgangs. So eine Hash-Funktion ist nur ein Algorithmus. Und in der Regel wird ein Hash-Funktionen Zweck im Leben ist, etwas als Eingabe und erzeugen eine Zahl als Ausgabe, wie das Nummer eins bis 31 oder A bis Z, Null bis 25. So ist es eine komplexe Ausgabe erfolgt und schrumpft es auf etwas, das ist ein wenig mehr nützliche und überschaubar. Und so stellt sich heraus, in eine sehr beliebte Funktion dass die Sicherheit weltweit und die die menschliche Welt seit Jahren mit aufgerufen SHA1. Dies ist eine ziemlich ausgefallene mathematische Formel, die im wesentlichen das tut. Sie nehmen einen wirklich großen Stück von Nullen und ones-- das könnte ein Megabyte sein lang, ein Gigabyte long-- und es schrumpft es auf nur wenige Bits, ein paar Bits, so dass Sie eine Zahl wie haben einem bis 31, oder A bis Z Aber in Wirklichkeit ist es ein wenig größer als nur A bis Z Leider haben wir an der Schwelle sind, was jemand spielerisch genannt SHAppening wodurch der Welt ist im Begriff, enden wahrscheinlich ein paar Monate Zeit, weil die Forscher, gerade in der vergangenen Woche, veröffentlichte einen Bericht, dass im Gegensatz zu was Sicherheitsexperten haben gedacht, für einige Zeit, um gut Ausgaben über, was war es, Ich denke, es war $ 175,000-- eine Menge Geld, aber nicht außerhalb der Reichweite der Besonders schlimm bösen Jungs, oder besonders schlecht countries-- $ 175.000 könnten Sie eine Menge von gemieteten Server kaufen Platz in der Cloud. Und wir werden zurückkommen die Wolke vor lang. Aber es bedeutet nur, Mietserver Platz auf wie Microsofts Servern, oder Google oder Amazon oder wie, wo man von der ersten Minute können zu zahlen auf Computer ist jemand anderes zu verwenden. Und es stellt sich heraus, wenn Sie zahlen können jemand anderes, um ihre Computer zu leihen und führen Sie Code, den Sie geschrieben haben, auf sie und verwenden hübsche Phantasie Mathematik, können Sie im wesentlichen Figur herauszufinden, wie jemand die Hash-Funktion ist, arbeitet, und angesichts dessen Ausgang, Reverse Engineering, was sein Eingang. Und für die heutigen Zwecke, es genügt zu sagen, das ist schlecht. Weil SHA1 und Hash-Funktionen wie sie sind super allgemein in Sicherheitsanwendungen eingesetzt, verschlüsselte Verbindungen auf dem Netz, Bankgeschäfte, Mobil Verschlüsselung für Ihre Handys, und dergleichen. Und so jederzeit jemand findet einen Weg, umzukehren Ingenieur eine dieser Technologien oder brechen können schlimme Dinge passieren. Jetzt schon wusste, dass dies die Welt. Das war absehbar. Und die Welt, da hat von SHA1 SHA256 zu bewegt wird, Das ist nur eine andere Art von sagen, dass sie größer Bits zu verwenden. Und in der Tat, auch CS50 eigenen Website aktualisiert vergangenen Jahr zu-- nicht, dass wir vor allem dieses viele Drohungen versucht, auf die PDF-Dateien zu erhalten und whatnot-- aber CS50-Website nutzt die größere Hash-Funktion, was bedeutet, dass wir sicher sein. Also alle Ihre PDF-Dateien sicher sein wird, aber nicht unbedingt Ihr Geld oder irgendetwas insbesondere private oder persönliche benutzen. Sp Besuche diese URL Wenn Sie möchten wie einige zusätzliche Details. So Problem stellte fünf ist tatsächlich am Horizont. Quiz man ist am kommenden Mittwoch. Aber die Vorteile der Büro Stunden, die beide heute Abend und morgen. Und auch die Vorteile der Bürozeiten, wenn Sie zur Verfügung, direkt danach. Das Personal, und ich werde bleiben und tun, mehr casual Q & A neben der heute Abend. Und lassen Sie mich dringend beachten Sie hier für diejenigen von uns hier in New Haven-- so ist es absolut pro Scaz ist Bemerkungen fühlte, ich bin mir sicher, wie ein bisschen wie ein harter Kampf. Und durch den Ruf, wenn Sie nicht schon gelernt oder gehört von einigen Freunden in Harvard, weiß, hier sind einige neue institutionelle Gedächtnis. P stellte fünf Art von Art von neigt dazu, das härteste in CS50 sein, oder die größte Herausforderung für die meisten Studenten. Aber was das bedeutet, ist, dass wir fast an der Spitze des Hügels. Und ich weiß wirklich meine das. Es ist die größte Herausforderung, aber es ist auch die lohnendsten dadurch gekennzeichnet, dass im Gegensatz zu den meisten jedem anderen Einführungs Informatik Natürlich in den USA, die wir kennen, die meisten Studenten nicht ein Intro zu beenden Natürlich nachdem bereits umgesetzt Dinge wie Bäume, und versucht, und Hash-Tabellen, und ähnliches. Und so hoffe ich und wir hoffen, dass Sie haben einen enormen Sinn Zufriedenheit auch wenn die ein oder zwei Wochen, über die Sie weiter zur Zufriedenheit zu erhalten fühlt sich ein wenig wie diese. Aber lassen Sie mich Ihnen versichern, wir nur vier P-Sets überlassen. So Art von dieser Spitze ist in Sicht. Auf der anderen Seite davon, vertrauen Sie uns, es ist nur sanften Hügeln und Wolken. Und sagen wir mal, Welpen sind auf der anderen Seite. Also man muss nur hängen dort ein wenig länger. Ich meine, in der Tat, wie wir beginnen, den Übergang in die Welt der Web-Programmierung, Sie werden feststellen, dass die Dinge become-- Das ist tatsächlich liebenswert. OK, wir werden Sie diese URL später schreiben. Sie finden auch, dass wir zu finden Erreichen Art von einem Plateau wo alles ist in der Tat immer noch anspruchsvoll und herausfordernd durch Design, aber du bist nicht gehen, um das Gefühl, wir sind ständig hinauf diesen Hügel. So nehmen Sie ein wenig Trost, dass. So ohne weiteres, lassen Sie uns beginnen diesen Markt Übergang zu machen im Semester in die Welt der die Bahn, und wirklich die Welt mit der wir alle sind besser vertraut. Wir haben Internet-Geräte bekommen in der Tasche, auf unseren Schreibtischen, in unsere Rucksäcke und dergleichen. Wie funktioniert all dieser Arbeit? Und wie können wir mit dem Schreiben beginnen Code, der nicht super arkanen ist und in einigen blinkenden Text-Eingabeaufforderung dass keine Ihrer Freunde oder Familie sind jemals zu interagieren, um möchten mit, aber etwas, das man setzen kann auf ihren Handys oder auf ihren Web-Browser, oder auf beliebigen Geräten mit denen sie interagieren. So, hier ist jemand zu Hause. Und innerhalb dieses Haus ist ein paar Laptops, ein paar alte Schul Desktop Computer, nannte etwas ein Router oder Hub in der Mitte, und dann eine Art von Kabelmodem oder DSL-Modem. Und dann gibt es das Internet, in der Regel wie eine Wolke da oben in den Himmel gezogen. So ist dieses Bild, wenn etwas Art altmodisch, sicher erfasst, was die meisten von Sie haben wahrscheinlich in euren Häusern, oder effektiv, was ihr alle habt in Ihrem Schlafzimmer, oder Wohnungen, oder dergleichen. Also, was eigentlich vor sich geht, wenn Sie versuchen, das Internet heute benutzen? Also jeden Computer, auf dem Internet, stellt sich heraus, muss eine eindeutige Adresse haben, ähnlich wie wir in der realen Welt müssen eine Postanschrift, wie 51 Prospect Street, New Haven, Connecticut, oder 33 Oxford Street, Cambridge, Massachusetts. So zu tun Computer im Internet muss ein Weg eindeutig selbst Adressierung. Das ist so, dass, wenn ein Computer will zu einem anderen zu sprechen, kann er eine Nachricht zu senden, und informieren Sie den Empfänger, denen es sollte die Antwort zurück zu senden. So macht es einfach irgendwie intuitiven Sinn vielleicht dass alles, was Du bereits Adresse irgendeiner Art. Aber wie wollen Sie eine Adresse bekommen? Nun, wenn Sie hier auf Campus, oder Sie nach Hause gehen und Sie schalten Sie Ihren Laptop oder Desktop-Computer, und entweder schließen Sie es oder eine Verbindung zum Wi-Fi, es stellt sich heraus, dass es gibt einen speziellen Server in den meisten Netzwerken genannten DHCP-Server. Spielt keine Rolle, was das steht für, aber es ist Dynamic Host Configuration Protokoll, das ist einfach eine andere Art zu sagen, ist dies ein Computer, der Yale hat, oder Harvard hat, oder Comcast hat, oder Verizon hat, oder Ihr Unternehmen über, deren Zweck im Leben, wenn es hört jemand neu hinzugefügten mit dem Netzwerk ist hier zu sagen, diese Adresse verwenden. So sind wir Menschen nicht haben Fest Code in unsere Computer was unsere eigene Adresse ist. Wir machen es einfach, öffnen Sie die Deckel, und irgendwie dieser Server im lokalen Netzwerk sagt mir nur, dass Meine Adresse ist 51 Prospect Street, oder 33 Oxford Street, oder dergleichen. Jetzt ist es nicht gehen so ausführlich wie das. Vielmehr, was ich zu bekommen, ist ein numerische Adresse genannt eine IP-Adresse. IP Internet-Protokoll bedeutet. Und Chancen sind bis zu diesem Zeitpunkt in Ihrem Leben, Sie wahrscheinlich gehört oder gesehen, das Wort IP, oder allgemein vielleicht geworfen es um. Aber in der Tat, es ist ziemlich geradlinig eine Sache. Eine IP-Adresse ist nur eine Zahl vorhanden, was bedeutet, es ist etwas, dot dot dot etwas etwas etwas. Und jede dieser irgendwas passiert um eine Zahl zwischen 0 und 255 liegen. Also auf fünf plus Wochen der CS50, wenn auf der Grundlage diese Zahlen jeder Bereich von 0 bis 255, wie viele Bits jedem dieser Nummernzeichen? ZIELGRUPPE: Acht. David J. MALAN: Es hat zu acht sein. Also insgesamt, wie viele Bit ist eine IP-Adresse? ZIELGRUPPE: 32. David J. MALAN: So 32. 8 plus 8 plus 8 plus 8 ist 32. Wie viele IP-Adressen insgesamt kann es in der Welt sein? ZIELGRUPPE: 4 Milliarden. David J. MALAN: So etwa vier Milliarden, weil das ist 2 der 32 Macht. Und wenn Sie nicht eine Art grok, dass in Ihrem Kopf, weiß nur, dass 32-Bit-Werte kann so groß wie 4 Milliarden sein wenn es alle positiven Werte. Das heißt also, es gibt 4 Milliarden möglichen IP-Adressen in der Welt. Und lustige Geschichte, wir sind Art Lauf aus ihnen heraus. Und in der Tat, es ist ein großes Problem, dass die Welt sah auch dieses Problem kommen, hat aber nicht notwendigerweise hat es in der schnellsten möglichen Weise. Und in der Tat, wenn man einmal fertig CS50 und begann Aufmerksamkeit in Die Tech-Welt, werden Sie sehen, das ist sehr häufig thematisch. Zum Beispiel, wenn wir wirklich gehen alten Schule heutzutage Y2K. Das war nicht wirklich eine Überraschung. Wie jeder wusste, dass für 1000 Jahre, dass was-- mehr als tausend Jahre-- dass dass schließlich passieren wird. Und doch darauf reagiert wir viel in der letzten Minute. Und das ist noch einmal passiert. Also heute werden wir über IP Version 4 zu sprechen. Aber wissen, dass die Welt ist endlich rund um die Aktualisierung auf etwas namens IPv6, die anstelle der 32-Bit- Adressen, uses-- jedermann wollen eine Vermutung, wie viele Bits zu nehmen? ZIELGRUPPE: 64? David J. MALAN: Gut geraten, aber nein. Wir sind schließlich versuchen, erhalten vor der Kurve. ZIELGRUPPE: 128. David J. MALAN: 128, die ist ein freaking riesige Anzahl der IP-Adressen, denn das ist wie mal 2 mal 2, mal 2, eine Menge Zeit, Zweier-up von 4 Milliarden. Also, wenn neugierig. Es stellt sich out-- und ich sind gerade diese gegoogelt dies out-- Yale-Computern zu finden, hier in Yale, neigen dazu, mit zu beginnen diese numbers-- 130,132 dot etwas, und 128,36 dot etwas. Aber es ist auf jeden Fall Ausnahmen auf der ganzen Linie je nachdem, welche Abteilung und Gebäude und Campus sind Sie auf. Harvard neigt dazu haben 140,247 oder 128,103. Und in der Regel ist dies nutzlosen Informationen, aber es ist etwas, das man jetzt feststellen. Wenn Sie stochern starten Einstellungen auf Ihrem Computer, Sie könnten anfangen, diese Bekanntmachung Arten von Mustern vor lang. Aber, wenn Sie zu Hause und haben ein Apple AirPort oder ein Linksys-Gerät, oder ein D-Link, oder was auch immer es ist, Ihre Eltern oder Geschwister installiert in Ihrem Haus, gut was haben Sie wahrscheinlich ist das, was eine private IP-Adresse bezeichnet. Und das waren eigentlich ein schön, temporäre Lösung für das Problem der Lauf kurz auf IP-Adressen. Und was Sie tun können, mit Heimnetzwerke, typically-- und ehrlich gesagt, auch Yale und der Harvard starten , dies in verschiedenen areas-- tun Sie kann eine ganze Reihe von Computern zu geben eine IP-Adresse, so lange, wie Sie setzen eine spezielle Vorrichtung vor ihnen, so etwas wie einen Router, oder sie aufgerufen werden kann ein Proxy oder beliebig viele andere Dinge. Aber eine gewisse Gerät, hat, dass eine IP-Adresse. Und dann dahinter Gerät, in einem Gebäude, in einem Haus oder einer Wohnung, kann eine beliebige Anzahl von Computern, von denen alle eine IP-Adresse, die beginnen mit einer dieser Stellen hier. Und solange diesem Computer weiß, wie man konvertieren die öffentliche Adresse zu die Privatadresse, alles kann von der Arbeit zu sortieren, wie erwartet. Aber das Gegenteil davon ist, dass, wenn du bist zu Hause und Sie ein Geschwister haben, und Sie beide sind besuchen einige Website, , dass eine Website nicht, ob es Ihnen oder Ihre Geschwister den Besuch der Website, weil Sie scheinen das gleiche sein Person, weil alle Ihre Daten wird durch diesen Router gehen oder die zentrale Anlaufstelle. Aber genug über diese untere Ebene Details. Werfen wir einen Blick darauf, wie IP-Adressen manchmal kommen vielleicht in den Medien und wie können wir jetzt damit beginnen, zu ruinieren, ehrlich gesagt, noch mehr Shows für Sie. Wenn wir die dim Lichter für ein paar Sekunden. [VIDEO PLAYBACK] -Es Ist ein 32-Bit auf 4 IPP-Adresse. -IP ES internet-- -Private-Netzwerk, Privates Netzwerk Tamia ist. Sie ist so erstaunlich. -Komm Charlie. David J. MALAN: Es ist ein Spiegel IP-Adresse. Sie lassen uns Uhr, sie macht in Echtzeit. [END PLAYBACK] David J. MALAN: OK. So ein paar Probleme. Eines, was wir suchen bei hier auf dem Bildschirm wird ein Code in einer schriftlichen Sprache namens Objective-C, Das ist eine Art Nachfolger die C-Sprache, die wir tun. Das hat absolut nichts um mit der Programmierung zu tun. In der Tat, so gut ich kann sagen, dies ist ein Zeichenprogramm, dass jemand von der heruntergeladen Internet irgendwie mit Buntstiften. Vielleicht weniger ungeheuerlich ist, dass Diese IP-Adresse, gültig oder ungültig? ZIELGRUPPE: Ungültige. David J. MALAN: ungültig, weil 275 ist natürlich nicht zwischen 0 und 255. Auch das ist wahrscheinlich in Ordnung aber, weil Sie wollen nicht zu Haufen verrückter Menschen die wie Pausieren TV on sind ihre TiVos und dann die IP-Besuch, um zu sehen wenn es tatsächlich etwas gibt. So dass man ein wenig weniger ungeheuerlich ist. Aber klar, dass auch das ist Art überall um uns herum. So natürlich, keiner von uns je wirklich geben numerische Adressen in unserem Browsern. Es wäre ein bisschen eine schlechte Sache sein wenn Google, Google besuchen, Sie musste auf 123.46.57.89 zu gehen. Und die ganze Welt hatte nur daran erinnern, dass. Und ehrlich gesagt, haben wir Art der dieses Problem gesehen. Zurück in den Tag, wenn die Menschen nicht haben Handys und Kontaktlisten, und Unternehmen tatsächlich still-- tatsächlich, Ich denke, Unternehmen haben immer noch 800 Zahlen und die like-- aber Sie siehe allgemein Zahlen ausgeschrieben wie 1-800-COLLECT, C-O-L-L-E-C-T. Da niemand wirklich erinnern kann, Sehen Sie, wenn eine Anzeige auf einem Bus oder Plakatwand, was jemand die Nummer ist, aber sie können wahrscheinlich mit höheren Wahrscheinlichkeit, daran erinnern, ein Wort. So verabschiedeten wir die gleiche ein solches System in der Welt des Internets, wobei es ein Domain Name System, so dass wir Menschen Geben google.com, facebook.com, yale.edu, harvard.edu, und lassen Sie den Computer Figur Sie heraus, was die entsprechende IP- Adresse für einen bestimmten Namen. Und so, wie Sie diese in das zu tun reale Welt ist, dass für $ 10 pro Jahr, vielleicht 50 $ pro Jahr, können Sie eine Domain kaufen zu nennen, oder wirklich einen Domain-Namen zu mieten. Und dann, wer Sie zahlen , dass Domain-Namen zu mieten, Sie sie in der Welt zu sagen, wer weiß, was Ihre IP-Adresse ist. Und wir werden nicht in diese gehen Angaben, aber viele von euch Vielleicht möchten, für die endgültige Projekte, um tatsächlich melden Sie sich an für Ihre eigenen Web-Hosting Unternehmen, entweder kostenlos oder für ein paar Dollar pro Monat. Einige von euch vielleicht kaufen wollen, für ein paar Dollar, Ihren eigenen Domain-Namen, nur zum Spaß oder um ein Unternehmen zu gründen oder eine persönliche Website oder dergleichen. Und erkennen, dass alle das wird letztendlich laufen auf Sie, der Welt welche IP-Adresse Ihres Servers ist. Und dann werden diese DNS Server tatsächlich kümmern Information der Rest der Welt. Also alles, ein DNS-Server hat, kurz gesagt, im Inneren seines Speichers ist wie die Äquivalent eines Google-Tabelle oder eine Excel-Tabelle mit mindestens zwei Spalten, von denen eine Namen hat, wie harvard.edu und yale.edu und google.com. Und die andere Spalte die entsprechende IP-Adresse oder IP- Adressen. Und wir können tatsächlich sehen diese. Also auf meinem Mac-- und Sie können tun dies auf Windows-Computern wie well-- wenn ich öffnen Sie ein Terminalfenster Hier, ganz wie die in CD50 IDE, die meisten Computer verfügen über einen Befehl namens nslookup, Name-Server nachschlagen. Und wenn ich etwas in wie yale.edu und drücken Sie Enter, was Ich möchte sehen, ob mein Netzwerk kooperiert als es für mehrere Tests vor der Klasse getan began-- wollen wir versuchen google.com. Natürlich jetzt nichts funktioniert. Das ist großartig. In Ordnung, stehen für einen Augenblick. nslookup google.com. Nun, lasst uns sehen, wenn die tatsächlichen internet-- nicht. Das ist, was passiert ist. Oh mein Gott, alles in Ordnung. Die Wi-Fi brach. Hey, wollen wissen, was meine IP-Adresse? Gut. YaleSecure. Dies ist, wie Sie beheben Dinge als Informatiker. Wir drehen den Wi-Fi weg. OK. Und tatsächlich, Scaz, tun Sie etwas dagegen Anmeldung uns in das sichere eins? Andernfalls mehr Tests sind-- OK, danke Sie Yale-- oder ist zu brechen. Ich möchte auf YaleSecure gehen. Ach ja, und vielleicht werden wir in Ordnung sein. Vielleicht sind wir zurück. Und so, wie ein Computer Wissenschaftler fixieren einen Computer. [Applaus] Gut. Also, wo ich in dies sogenannte Terminal-Fenster, und wenn ich nslookup yale.edu gibt wir gehen. So bekomme ich wieder zunächst die IP-Adresse des der DNS-Server, die mein Laptop mit. So dass zusätzlich zu einem DHCP-Server, wir vorhin erzählt sprachen meinem Laptop, was meine IP Adresse ist, dass DHCP-Server sagt mir auch, welche DNS-Server zu verwenden. Sonst hätte ich um dieses in manuell eingeben. Aber das ist gar nicht so interessant. Was mich interessiert, ist, dass dies die IP-Adresse des Yale-Website offenbar. Also in der Tat wollen wir versuchen dies. Lassen Sie mich gehen bis in einen Browser und gehen http: // und dann die IP-Adresse, und drücken Sie Enter. Und lassen Sie uns sehen. Das ist, wie sonst können Sie besuchen Websites Yale. Jetzt ist es gar nicht so unvergesslich. Wie die vorge frosh wahrscheinlich nicht gehen, diese besondere Adresse merken wenn gesagt, dass es nach dem Besuch zu besuchen. Aber es scheint zu funktionieren. Und so DNS wirklich ermöglicht es uns, nur um haben viel mehr Menschenfreundliche Adressen. Aber sie haben nicht unbedingt nur eine Antwort zu erhalten. In der Tat, wenn Sie eine wirklich großen Tech-Unternehmen, möchten Sie wahrscheinlich haben viele Server. Und selbst das ist irreführend. So Yale hat wahrscheinlich nicht haben wir nur eine Web-Server. Google wahrscheinlich nicht über nur 10 oder so Web-Servern. Google besonders wahrscheinlich hat tausende von Web-Servern auf der ganzen Welt, die reagieren können, Anfragen von Leuten wie uns. Aber sie benutzen auch eine Technologie namens Lastausgleich, die lange Geschichte kurz, hat nur wenige Geräte in der Welt Verteilung der Last auf mehrere Server. Also ist es ein bisschen wie ein Spinnennetz, wenn Sie werden den Versand der Anfragen. Aber jetzt ist alles, für heute interessant ist, dass ein Domain-Name wie google.com auch möglich haben mehrere IP-Adressen so. Aber wie funktioniert all unsere Daten tatsächlich zurück und dann nach dem Ende? Nun stellt sich heraus, dass es diese Dinge genannt Router über das Internet. Und was ist ein Router, um die Maße, dass Sie schon? Und ich habe das Wort ein paar verwendet Zeiten im Rahmen eines Hauses, aber in einfachen Worten, Was macht ein Router? Gib mir nur eine Vermutung basierend auf seinen Namen? Publikum: So eine Straße oder ein Pfad? David J. MALAN: So es ist eine Straße oder einen Weg. So eine Route ist ein Straßen oder Pfad, absolut. Und einen Router, so dass ein Gerät, das tatsächlich Routen Informationen würde Daten zwischen den Punkten A und B bewegen Und so in fact-- und dies ist vielleicht, wenn Sie Google Darstellungen von Routern auf der ganzen Welt, zu bekommen alles, was Sie sind kitschig Marketingpläne. Und dies ist eine Art am meisten Vertreter, die ich finden konnte, dass sah milde interessant. Jeder dieser Punkte oder Hoffnungsschimmer auf der ganzen Welt für einen Router. Und jeder von ihnen hat eine Leitungs zwischen einigen anderen Router. Denn tatsächlich gibt Tausende, wahrscheinlich Millionen von Routern rund um das Welt, von denen einige in unseren Häusern und auf unserem Campus, aber eine Menge die von großen Unternehmen im Besitz und sind miteinander verbunden, so dass, wenn I wollen einige Daten von hier an der Yale senden zurück nach Cambridge, Yale wahrscheinlich nicht über ein einziges Kabel, natürlich, , die direkt an der Harvard. Und Yale nicht ein einzelnes Kabel gehen um MIT oder Stanford oder Berkeley oder Google, oder eine beliebige Anzahl von Reisezielen. Vielmehr Yale und Harvard, und alle anderen auf dem Internet bedeutet ein oder mehrere Router damit verbunden, vielleicht auf dem Umfang des Campus. So dass, wenn meine Daten will zum Campus von Yale zu verlassen, es geht in diesem nächsten Router, wie von einem dieser Punkte dargestellt. Und dann, dass die Router Zahlen heraus, ob um es auf diese Weise, und auf diese Weise zu senden, oder diese Weise, oder auf diese Weise basierend auf eine andere Tabelle in seinem Speicher, ein weiteres Excel-Datei oder Google Kalkulationstabelle, die in einer Spalte sagt, wenn Ihre IP-Adresse beginnt mit der Nummer eins, gehen Sie auf diese Weise. Wenn Ihre IP-Adresse beginnt mit eine Nummer zwei, diesen Weg zu gehen. Und so können Sie es brechen numerisch zu haben, der Router das Senden Daten in allen Varianten. Und wir können irgendwie sehen dies auch. Lassen Sie uns gehen Sie in diese Klemme Fenster wieder, und lassen Sie mich gehen Sie vor und Spuren die Route zu, lassen Sie uns sagen, www.mit.edu, Das ist ein paar hundert Meilen entfernt. Das war wirklich verdammt schnell. Also, was ist passiert? Also in nur sieben Schritten, und in nur vier Millisekunden, Ich schickte Daten über das Internet von hier an der Yale zum MIT. Jede dieser Zeilen, können Sie Vielleicht denke, jetzt stellt dar, was? Publikum: Ein Router. David J. MALAN: Ein Router. Also ja, es sieht aus wie es ist etwa sieben oder so, Router, oder sechs Router zwischen mir physisch hier Yale Law School und MIT-Website drüben. Und was können wir daraus aufzulesen ist wie follows-- und lassen Sie mich aufräumen. Ich werde es mit einem Befehl erneut ausführen Zeilenargument für q 1, einfach zu sagen, gib mir nur eine Abfrage. Standardmäßig Trace-Route macht drei. Und deshalb haben wir gesehen Trauben von Zahlen. Ich möchte weniger Zahlen sehen nur um die Ausgabe sauberer zu halten. Und lassen Sie uns sehen, was passiert. So aus irgendeinem Grund, jemanden an der Yale Gedanken es wäre lustig, nennen Ihren Standard-Router arubacentral, die auf VLAN oder virtuellen LAN, virtuelles lokales Netzwerk 30--, so dass Sie Wahrscheinlich haben zumindest 29 Andere-- router.net.yale.internal. Und .internal hier ist eine Art Fake Top Level Domain soll nur verwendet werden, am Campus. Und beachten Sie die entsprechenden IP-Adresse dieses Routers ab, wo es ist hier auf dem Campus ist 172.28.204.129. Und es dauerte 36 Millisekunden um von hier aus dorthin zu gehen. Lustige Geschichte. Wir werden uns umgehend mit, dass in nur einem Augenblick. Aber jetzt ist die zweite, um router-- die offenbar arubacentral hat eine Art von körperlicher Anschluss meisten likely-- die Menschen nicht die Mühe die Namensgebung. Die Yale Menschen nicht die Mühe der Benennung es, weil es innerhalb des Netzwerks es scheint. Und so hat es nur eine IP-Adresse. Aber dann ein dritter Router hier auf der Yale-Netzwerk das ist wahrscheinlich ein wenig weiter weg noch wird cen10g genannt unabhängig dh asr.net.yale.internal. Und es hat auch eine IP-Adresse. Nun, warum sind diese Zahlen Art von schwankenden? 2.9, 1.4, 36? Router beschäftigt erhalten. Und sie bekommen überlasteten und gesichert. Es gibt Tausende von Menschen auf diesem Campus mit dem Internet jetzt. Es gibt hundert Menschen in diesem Zimmer über das Internet jetzt. Und so was passiert ist, dass die Router möglicherweise überlastet zu werden. Und so diese Zeiten könnten schwanken ein wenig. Also das ist, warum sie tun, nicht unbedingt unkompliziert zu erhöhen. Aber die Dinge Art von Interessant in Schritt vier. Anscheinend zwischen Yale und Schritt vier ist ein weiterer Hop. Und wo ist der Router in Schritt vier wohl? ZIELGRUPPE: [unverständlich] David J. MALAN: JFK vielleicht, vielleicht auf dem Flughafen. Aber aus irgendeinem Grund, Systemadministratoren, so Aussenseiter, die Server für laufen Jahre sind Router mit dem Namen nach dem nächstgelegenen Flughafen-Code. So JFK wahrscheinlich bedeutet, es ist einfach irgendwo in New York, vielleicht in Manhattan oder einer der Stadtteile. nyc2 zeigt vermutlich ein anderes Router, der irgendwo in New York ist. Ich weiß nicht recht, wo Reihe sechs ist da, Router Nummer sechs. quest.net einen großen ISP, Internetanbieter, dass bietet Internet-Konnektivität In den großen Orten wie Yale und anderen. Und dann diese letzte, es sieht aus wie das MIT nicht einmal haben ihre eigene Website in Cambridge notwendigerweise sondern sie haben Outsourcing ihrer Website, oder zumindest die physikalischen Server, zu einer Firma namens Akamai. Und Akamai eigentlich hin der Weg vom MIT in Cambridge es stellt sich heraus. Aber erkennen Sie auch, dass sogar gedacht Sie gehen zu www.mit.edu, wir könnten wirklich gesendet werden irgendwo auf der Welt. Und mal sehen, irgendwo sonst in der Welt. Lassen Sie mich gehen Sie vor und löschen dieser Bildschirm und statt verfolgen Sie die Route, nur einmal, so Abfrage eines, um www.cnn.co.jp, die japanische Homepage für CNN, der Nachrichten-Website. Und wenn ich auf jetzt eingeben, mal sehen was passiert. Wir sind wieder ab arubacentral. Wir sind dann an das Gehen namenlosen Router, ein paar mehr. So dauerte es 12 Hopfen bekommen, um Japan diesmal. Und lassen Sie uns sehen, was wir lesen können. So gleichen hop, hop gleichen. Etwas anders jetzt. Dieser ist interessant. Also ich bin hier zu raten ist stamford1 ein wenige Städte entfernt in Connecticut auch. Diese Router in Reihensechs und sieben haben keine Namen. Aber dies ist eine Art erstaunlich. So wie es scheint, zwischen den sein Router in Schritt sieben und acht? Und warum sagst du so viel? Ja? ZIELGRUPPE: Ozean. David J. MALAN: Wahrscheinlich ein Ozean. Wir wissen, dass das wahr ist wie intuitiv, nicht wahr? Aber wir können so viel Art zu bestätigen der Art von empirisch warum? Was hat sich verändert zwischen Reihen sieben und acht? Es dauerte viel mehr Zeit um zu gehen was auch immer diese namenlosen Router sieben ist, wahrscheinlich irgendwo in der kontinentalen USA, zu Schritt acht, die wahrscheinlich in Japan irgendwo basierend auf dem Domainnamen von .jp dort. Und so diejenigen, zusätzliche Hundert etwas Millisekunden oder 90 oder so Millisekunden das Ergebnis unserer Daten gehen über einen ziemlich großen Gewässer. Jetzt neugierig, so scheint es, dass vielleicht dass Kabel geht über die ganze USA. Wenn wir tatsächlich gehen über die Westküste nach Japan zu kommen, es ist eine Art des langen Weges Wenn wir den anderen Weg gehen. So ist es nicht ganz klar, was los ist physisch. Aber die Tatsache, dass jedes zusätzliche Hop Tat dauerte deutlich länger als jeder andere, ist es ziemlich gute Bestätigung, dass CNN- Japanische Web-Server ist wahrscheinlich ja in Japan. Und es ist sicherlich weiter weg als MIT hat. Und es ist erwähnenswert, auch, Ihre Daten sind nicht unbedingt gehen auf die Reise kürzestem Weg. In der Tat, wenn Sie spielen, um mit Trace-Route zu Hause nur Kommissionierung zufällige Websites, die Sie Vielleicht finden Sie, dass nur E-Mail senden oder eine Website zu besuchen das ist hier in New Haven, Manchmal kann Ihre Daten zuerst einen Abstecher, hinunter in DC, und dann wieder zurück kommen. Und das ist nur, weil der die dynamischen Routing-Entscheidungen daß diese Computer machen. Jetzt nur zum Spaß, das Produktionsteam getrimmt eines dieser Videos für uns um nur ein wenig mehr prägnant. Aber um uns eine kurze Sinn geben hier-- und wir können die Lichter lassen an-- um wie viel Verkabelung tatsächlich tragen alle unsere Daten. [VIDEO PLAYBACK] [Musikwiedergabe] [END PLAYBACK] David J. MALAN: Alle Networking-Videos sind mit kühlen klingende Musik offenbar. Also das ist, um nur zu erhalten Gefühl von, wie viel haben nun schon unter der Haube. Aber schauen wir uns ein Jetzt etwas niedrigeren Niveau zu welchem ​​Daten tatsächlich Durchqueren Sie diese Zeilen, und ging sogar drahtlos in einem Raum wie diesem. So stellt sich heraus, wenn Sie verlangen, eine Web-Seite, oder senden Sie eine E-Mail, oder erhalten eine Webseite oder eine E-Mail, oder a Gchat Nachricht oder eine Facebook-Nachricht, oder ähnliches, ist, dass nicht nur eine, großen Teil von Bits drahtlos fließt durch die Luft oder elektronisch auf einem Draht. Vielmehr, dass der Antrag oder Antwort ist in der Regel in einzelne Stücke segmentiert. Also mit anderen Worten, wenn Sie einen ersuchen, von einem anderen Computer zu machen, oder Sie wieder eine Antwort von einem anderen computer-- wie annehmen, zum Beispiel, wenn unfamiliar-- als zu viele Menschen scheinen diese days-- sein wenn nicht mit this-- nicht diese fellow-- diesen Kerl. Also vermute, dies ist eine Nachricht, Ich möchte jemanden von der zurückschicken. Wer hat in ganz hinten möchten erhalten ein Bild von Rick Astley heute? OK, was ist Ihr Name? ZIELGRUPPE: Cole. David J. MALAN: Was ist das? ZIELGRUPPE: Cole. David J. MALAN: Holt? H-O? ZIELGRUPPE: C-O-L-E. David J. MALAN: C-O-L-E, Cole. Es tut uns leid. C-O-L-E. Gut. Also, wenn ich will Cole diese Nachricht bild hier, wissen Sie ist ein bisschen eine große Bild, nicht wahr? Das könnte ein paar sein Kilobyte, ein paar Megabyte, besonders wenn es Hochauflösung. Und ich weiß nicht wirklich stoppen wollen alle anderen von der Nutzung des Internet gerade, während ich wirklich senden Sie diese große, hohe Bildqualität von Rick Astley im ganzen Raum. Ich möchte Ihre Daten an, um fortzufahren durchqueren das Netzwerk und die Wi-Fi auch. Und so ist es sense-- und das macht ist erstattungsfähig elektronisch, nicht so sehr in der realen Welt. Eigentlich das wird mehrere zu haben, Bedeutung, wenn Sie nehmen Sie meine Audio-Ausgang. Also, wenn ich reißen diese in die Halb wie dieses hier, Diese können nun die Reise- Internet effizienter, weil es ein kleineres Stück. Also mit geringeren Wahrscheinlichkeit wird es zum mit Verkehrs ist jemand anderes kollidieren im Internet. Und so, was Ihr Computer tatsächlich funktioniert wenn Sie eine Nachricht an Cole senden möchten ist es Brocken bis eine Meldung wie diese in kleinere Stücke, Fragmente sozusagen. Und dann sagt sie im Inneren von dem, was wir nennen Art virtueller Umschläge. So habe ich vier Papierumschläge hier. Und ich habe vor, zählte sie, ein, zwei, drei und vier. Und was werde ich auf der Vorderseite zu tun dieser, wie eine normale Mailing, ist Ich werde Coles Namen dahin zu setzen. Und dann an der Spitze, ich bin werde meinen Namen dahin zu setzen, David, so dass die erste derartige Paket Ich bin es sendet über das Internet sieht ein wenig so etwas wie Dazu ist die hervorstechenden Eigenschaften davon sind, dass es ein von Adresse anzugehen, a, und auch eine Reihe, so dass die hoffentlich ausreichende Informationen für Cole, um diese Nachricht zu rekonstruieren. Also lassen Sie mich hier, die das gleiche tun hier gilt das gleiche, und das gleiche hier, sein Name in die Schreiben Feld auf allen von ihnen. Und dann lassen Sie uns weitermachen und setzen Sie diese Bilder im Inneren. So, hier ist ein Paket das ist bereit zu gehen. Hier ist ein weiteres Paket das ist bereit zu gehen. Hier ist eine dritte Paket das ist bereit zu gehen. Und hier ist eine vierte Paket, bereit zu gehen ist. Und nun, was ist interessant zu , wie das Internet in der Realität funktioniert ist, dass, obwohl ich habe vier Pakete, die alle für dieselbe bestimmt Ort, sie sind nicht notwendigerweise gehen, um die gleiche Strecke zu durchqueren. Und so, obwohl ich diese Hand Pakete auf den nächsten Router lassen Sie uns sagen, wenn Sie möchten, senden Sie sie in alle Richtungen, mal sehen, was passiert eigentlich, das Ziel, das ist es, sie letztendlich zu Cole erhalten. Und in der Tat, sie sind bereits nicht notwendig, in dieser Richtung. Und das ist in Ordnung. Dies ist ein wenig umständlich und Oprah Art heute. Und jetzt lassen Sie mich ganz bewusst nehmen, dass man zurück. Und jetzt Cole, wenn Sie möchten, wieder zusammenzusetzen, so gut Sie können. Natürlich haben wir alle denken können, was der Abschluss hier sein wird. Du wirst 3/4 haben Rick Astley in nur einem Augenblick. Und was ist jedoch die Implikation, dass? Sie wollen versuchen, es zu halten? Wir haben eine Kamera deutete auf Sie, wenn Sie möchten mit Rick Astley hier posieren. Da gehen wir. Schön. Aber Sie scheinen zu fehlen ein Fragment von Rick Astley. So stellt sich heraus, dass das Internet wird im Allgemeinen durch nicht nur IP angetrieben wird, aber in Wirklichkeit haben wir ganz am hörte, Beginn der Lehrveranstaltung in diesem video-- und Sie haben wahrscheinlich gesehen Akronym mehr often-- was wirklich ist das Protokoll, Sie neigen dazu, zu hören? ZIELGRUPPE: TCP / IP. DAVID J. MALAN: TCP / IP, Das ist nur eine Kombination der zwei Protokolle, sogenannte IP. Die wiederum, ist nur der Satz der Übereinkommen über die wir adressieren jeden Computer im Internet. Und dann TCP, die dient einem anderen Zweck. TCP ist ein Protokoll, das Sie verwenden in der Regel in Verbindung mit IP, dass unter anderem Dinge, Garantien Lieferung. In der Tat ist das Protokoll, das TCP würde, dass eines der Pakete bemerken offenbar nicht zu bekommen, Cole, weil er scheint, zu fehlen Nummer vier von vier. Und was TCP ein Protokoll tut, ist es sagt Cole, hey Cole, wenn Sie zu erhalten drei von vier Paketen, sagen Sie mir, welche Sie fehlen im Wesentlichen wissen, und dann mein Ziel im Leben sollte es sein, dass erneut zu übertragen. Und so, wenn ich zu, die Absender, werden unter Verwendung von TCP, Ich sollte dann ein neues packet-- das nicht zerknittert einem hier-- Verbreitung nur dieses Stück sie, so dass letztlich Cole hat eine komplette andenken, wenn sonst nichts. Aber so dass letztlich die Daten tatsächlich bekommt, um seine richtige Ziel. Aber leider, Schreiben Coles Namen Auf der Vorderseite ist nicht ausreichend ist, per se. Und wirklich, würde ich nicht schreiben, Coles Namen, aber wahrscheinlich seine IP-Adresse auf dem Umschlag. Und ich würde nicht schreiben, David. Ich würde meine IP-Adresse auf dem Umschlag zu schreiben so dass die Computer kann tatsächlich Kommunikation hin und her. Aber es stellt sich heraus, dass Computer kann viel mehr, als zu dienen bis zu tun Bilder von Rick Astley. Sie können auch erneut senden und empfangen E-Mails, Chat-Nachrichten. Sie können Dinge wie Dateiübertragungen zu tun, und jede Anzahl von anderen Werkzeugen Sie über das Internet zu nutzen, Server können in diesen Tagen tun. Und nur weil ein Unternehmen, oder eine Schule, oder eine Person, will, um eine Web-Server haben, und ein E-Mail-Server und einem Chat-Server, bedeutet nicht, dass Sie drei Computer benötigen. Sie können nur einen Computer laufen haben mehrere Dienste sozusagen. Und so, wenn Cole erhält eine Nachricht so, wie hat seinen Computer, ob er zeigen das Bild in seinem Browser, oder in Gchat oder in Facebook Messenger, oder in einer beliebigen Anzahl von anderen Werkzeugen? So stellt sich heraus, dass auch als Umschlag ist zusätzliches Stück Informationen wie eine Port-Nummer bekannt. Und eine Portnummer nur eine Nummer in der Tat, aber es nicht eindeutig identifiziert der Computer, aber der Service. Und es gibt noch Trauben von diesen. So stellt sich heraus, dass in der Welt, den Menschen wurden auf einem wenige solcher entschieden Tagungen, sind einige der diese. Es gibt also so etwas wie File Transfer Protocol. Es ist ziemlich veraltet. Es ist völlig unsicher. Eine Menge Leute immer noch verwenden. Und es benutzt die Portnummer 21. In anderen Worten, wenn Senden einer Datei über FTP, der Umschlag würde nicht nur die haben Sender und IP-Adresse des Empfängers, es würde auch die Anzahl 21 aufweisen, so dass der empfangende Computer weiß, oh, diese ist eine Datei, nicht eine E-Mail oder eine Chatnachricht. 25 ist SMTP. Wie viele von euch haben jemals SMTP verwendet? Falsch. Fast alle von Ihnen haben. Wenn Sie schon einmal E-Mail verwendet haben, die Sie verwendet haben SMTP, Simple Mail Transfer Protocol, Das ist nur eine andere Art zu sagen, Dies ist die Art von Computer oder Dienst dass Ihre E-Mail sendet ausgehende. Und immer Akronyme wie gesehen, wenn Sie schon POP oder IMAP, und es gibt ein paar andere, das sind für den Empfang E-Mail, in der Regel. Das bedeutet nur, es ist eine andere Service. Es ist Software, dass jemand schrieb, dass sendet an oder hört auf einem bestimmten Port-Nummer, so dass es nicht E-Mails zu verwechseln mit einer anderen Art von Daten. Jetzt die Bahn HTTP, das ist, Nummer 80, sowie Port 443. Und in der Tat, obwohl Wir Menschen glücklicher nicht haben, um dies zu tun, Sie jederzeit besuchen eine Website wie http://www.yale.edu der Browser ist gerade Art hilfreich, dass es vorausgesetzt, dass Sie numerische Port 80 soll. Wir wissen bereits, dass DNS können herausfinden, was die IP-Adresse des www.yale.edu. Aber der Computer ist nur werde annehmen, dass Sie wollen Port 80, weil Sie verwenden Chrome oder Internet Explorer oder einen anderen Browser. Aber ich konnte technisch tun Doppelpunkt 80. Und dann kann ich explizit mitteilen meinem Browser, senden Sie ein Paket oder mehrere Informationen zu www.yale.edu Anfordern heutigen Homepage. Aber gesagt Adresse es Yale IP auf Port 80 so dass ich tatsächlich bekommen zurück Yale Web-Server. Jetzt sofort verschwindet da Browser gerade entscheiden, dass wir das nicht tun müssen die Menschen zu verwirren indem noch mehr arkane Informationen wie Doppelpunkt 80. Und ehrlich gesagt, Browser wie Chrome noch nicht einmal zeigen Sie mehr HTTP- oder der Doppelpunkt, oder der Schrägstrich Schrägstrich oder der Schrägstrich, in gewissem Sinne, weil sie versuchen, um die Dinge einfacher für die Benutzer. In einem anderen Sinn, es ist einfach irgendwie einer Benutzererfahrung thing-- lassen Sie uns loszuwerden, einige der Unordnung. Aber es ist versteckt einige Diese zugrunde liegenden Details. Und in der Tat, keiner von uns wahrscheinlich je http mehr. Sie geben einfach nur in etwas wie www.harvard.edu. Und wieder, Chrome folgert dass Sie möchten, HTTP. Aber es gibt andere Protokolle dass wir auf jeden Fall verwenden. Also all das gegeben, wenn Sie jetzt sort der auf der sogenannten Engineering-Hut auf, Wie Dinge genannt Firewalls? So dass Sie in der Regel sind wahrscheinlich mit der Firewall vertraut nicht so sehr im physikalischen Sinne. Also zurück in den Tag, und bis heute, wenn Sie wie Fachmarktzentren für hast Instanz, die viel Speicher haben, allgemein die Wände zwischen Einzelhäusern oder Geschäften Firewalls sind in dem Sinne, dass sie spezielle Isolierung haben so daß, wenn ein Brand bricht in einem Shop, Es muss nicht unbedingt verteilt in den Laden nebenan. Die Computerwelt hat auch Firewalls dass etwas anderes zu machen. Was ist ein Feuerball zu tun? Ja? ZIELGRUPPE: Grundsätzlich sie off-Verbindung geschnitten wenn sie etwas begegnen wie beispielsweise, sie haben Anzahl der ID-Anweisungen. Und wenn etwas passiert, sie schneiden die Verbindung. Wie, wenn dieser böswilligen Angriff [Unverständlich] Computer, oder-- David J. MALAN: OK gut. Ja, und in der Tat sind Sie noch weiter ein wenig gehen in etwas zu beschreiben, das sein könnte genannt Intrusion Detection System, oder IDS kurz, wobei man tatsächlich haben Regeln definiert. Und wenn Sie beginnen zu sehen, verdächtige Verhalten, versuchen Sie ein Ende zu setzen. Und eine Firewall, ehrlich gesagt, bei einer Netzwerkebene, ist noch dümmer und einfacher Abgesehen davon, im allgemeinen. Und es gibt verschiedene Arten von Firewalls in der Welt. Aber diejenigen, die bei Betrieb das Niveau wir reden today-- IP und TCP-- arbeiten, auch Weitere unkompliziert. Zum Beispiel, wenn Sie Yale-System waren Administratoren oder Harvard-System Administratoren oder eine Big Bruder irgend Unternehmen und Sie alle zu verhindern wollten Ihren Studenten und alle Ihre Mitarbeiter vor Reisen in facebook.com, alles, was Sie zu tun haben, wird dafür sorgen, dass alle ihre Netzwerkverkehr, zuallererst geht durch eine spezielle Vorrichtung. Nennen wir es eine Firewall. Und das ist in Ordnung, denn können Sie Ihren Router zu machen dasselbe wie eine Firewall, wenn Sie die gleiche Art von Software setzen auf der gleichen Maschine. Also, wenn Sie alle Ihre Studenten oder Mitarbeiter Verkehr wird durch diese gehen zentrale Firewall, wie würden wir die Menschen zu blockieren aus gehen um facebook.com, zum Beispiel? Was würde das System Administrator zu tun haben? Wer sonst? Lassen Sie uns versuchen zu gehen um. ZIELGRUPPE: [unverständlich] David J. MALAN: Sag das noch mal? Publikum: Es sollte nur bekommen up im System gefangen. So setzen Sie einfach in Facebook 127.0.0-- David J. MALAN: Oh, interessant. So können Sie tatsächlich dann hacken Sie Ihre DNS-System. Dies ist in der Tat eine Art und Weise Sie dies tun könnte wobei jedes Mal ein Yale Student zieht up www.facebook.com alle von uns heute hier auf dem Campus werden mit Yale DNS-Server, weil Yale DHCP-Server gab uns diese Adresse. Also ja, könnten Sie Art brechen Dinge oder Pause-Konvention indem einfach nur sagen, ja, facebook.com Adresse ist gefälscht, ist 1.2.3.4, was ist nicht wirklich legitim. Oder vielleicht ist es 278. was auch immer in der TV-Show war ein Vor Moment, so dass keiner von uns kann tatsächlich zu besuchen facebook.com. So nehme Yale tat. Nehmen wir an, Yale wollte zu halten Sie aus facebook.com. Und daher können sie änderte die DNS-Einstellungen um Ihnen eine gefälschte IP Adresse für facebook.com. Wie reagieren Sie? Technisch nicht-- oh, jetzt jeder will zu beteiligen. OK, ja. Publikum: Sie geben nur in der tatsächliche IP-Adresse von Facebook. David J. MALAN: OK, gut. So dass wir nur geben konnte in der tatsächliche IP-Adresse von Facebook, viel wie ich mit Yale-Website. Und wenn der Facebook-Server so konfiguriert ist, zu unterstützen, dass, sollte es tatsächlich funktioniert. Es ist eine leichte Schmerzen in der Hals, denn jetzt sind wir muss daran denken, einige zufällige 32-Bit-Wert, aber das könnte funktionieren. Was könnte man tun? Ja. ZIELGRUPPE: Sie könnte sich ändern, diese Einstellungen [unverständlich]. David J. MALAN: Ja, könnten Sie sogar ändern Sie Ihre DNS-Einstellungen. Also in der Tat, das ist eigentlich ziemlich nützlich, ehrlich gesagt, wenn Sie in einem Flughafen, oder wenn du Sie in einem Café oder etwas sind, dass hat schuppige Internet, wobei manchmal der DNS-Server nur nicht mehr funktioniert. Also auch ich gelegentlich tun, Diese, nicht für schädliche, I will Facebook verwenden Zwecke, aber wirklich weil ich scheinen ein Netzwerk haben Verbindung, aber nichts funktioniert. Und so einer der ersten Dinge, die ich try-- und Sie kann diese unter Windows zu tun, aber too-- auf meinem Mac, wenn ich zu Netzwerk. Und ich wähle meine WLAN-Verbindung. Und ich gehe zu Advanced. Und ich gehe zu DNS. Dies sind die drei IP-Adressen, Yale ist er mir drei DNS-Servern. Der Zweck, dann ist für mich nicht zu versuchen, eine von diesen, um Adressen zu lösen. Aber ich überschreiben können diese, indem Sie ein Pluspunkt. Und wer möchte einen DNS-Server vor? ZIELGRUPPE: 8.8.8.8? David J. MALAN: Oh, du bist unglaublich. Ja, 8.8.8.8. Also Google, segne ihr Herz, kaufte die IP-Adresse 8.8.8.8, weil es irgendwie aussieht Gs wahrscheinlich, und es ist leicht zu merken. Aber in der Tat, jetzt habe ich konfiguriert haben meine Computer, um die Google-DNS-Server zu verwenden. So, jetzt, wenn ich gehen, um yale.edu, es ist immer noch zur Arbeit gehen. Aber ich bin nicht mit Yale DNS-Server nicht mehr. Und wenn ich zu facebook.com, alle, die schauen ups gehen, um über Google zu gehen. Also auf der einen Seite, ich habe geschickt umgangen das lokale System Administratoren nur durch zu verstehen, wie die Vernetzung funktioniert. Aber ich werde einen Preis zu bezahlen. Nichts ist umsonst. Was habe ich einfach aufgegeben? Was habe ich einfach aufgegeben? Alle von Ihnen clevere Leute, die haben benutze 8.8.8.8, denn es ist cool oder löst Probleme, was haben Sie wurden die ganze Zeit getan? ZIELGRUPPE: Reisen weiter? David J. MALAN: Vielleicht reist weiter, weil Google ist wahrscheinlich nicht ganz so in der Nähe wie der Server die Straße hinunter. Aber noch besorgniserregend. Ja? Publikum: So, jetzt Google weiß, wohin du gehst. David J. MALAN: Google weiß buchstäblich jede Website, die Sie besuchen, weil Sie buchstäblich bat sie, hey Google, können Sie yale.edu für mich übersetzen? Oder hey Google, können Sie übersetzen diese andere Website-Adresse für mich in eine IP-Adresse. Und so habe ich keine they're-- Ahnung, was du redest. Und damit sie wissen alles über Sie. So klar, dass dies ist ein kostenloser Service mit einem Zweck aus ihrer Perspektive auch. Aber es kann sicherlich erhalten Sie von einer Zwickmühle. Jetzt nur noch auf eine andere Adresse Frage, die oft kommt unter den Studenten, vor allem bei Auslandsreisen in bestimmten Ländern wie China, wo es in der Tat ist ein Great Firewall of China, wobei die Regierung es Blöcke ganz viel Verkehr auf verschiedenen Ebenen. Sie müssen nicht nur Blockverkehr auf der Ebene wir sprechen hier, DNS oder auf andere Weise, Sie können es auf anderen Ebenen zu sperren. Und in der Tat, nur um klar sein, eine Firewall kann noch mehr als nur einfach zu betreiben mit der Systemadministratoren ändern DNS-Einstellungen. Eine Firewall ist eine Vorrichtung zwischen USA und dem Rest der Welt, konnte nur jede ausgehende blockieren Anfragen an die IP-Adresse für Facebook auf Port 80 oder die IP-Adresse für harvard.edu, oder die IP-Adresse von irgendetwas. So kann eine Firewall zu betrachten Ihre Umschläge 'IP-Adressen und sogar Port Zahlen, und wenn Yale wollte, es könnte einfach aufhören uns alle von sogar über FTP mehr, das wäre eine gute Sache, weil es wahrscheinlich ist in der Tat ein unsicheres Protokoll. Yale könnte sogar aufhören uns von Besuch der Gesamtheit der Web- nur durch das Blockieren der gesamten Hafen Verkehr auf Nummer 80 als gut. So daß möglicherweise eine andere Art und Weise. Und es gibt noch schicker Möglichkeiten als gut. Aber wenn Sie unterwegs sind Ausland zum Beispiel oder wenn Sie in einem Internet-Cafe sind, oder wenn Sie irgendwo bist, wo es Blockaden oder Drohungen, was können Sie tun? Nun, wenn Sie auf der Straße gehen, um Starbucks oder Sie reisen auf einem Flughafen, in der Regel die Sie gerade hop auf dem Wi-Fi, indem Sie wie, JFK Wi-Fi von LaGuardia Wi-Fi, oder Logan Airport Wi-Fi, oder was nicht. Und es ist nicht verschlüsselt, nicht wahr? Es gibt kein Schloss-Symbol. Und du bist wahrscheinlich nicht aufgefordert, nach einem Benutzernamen und Passwort. Sie sind nur dazu aufgefordert werden mit einigen dummen Form wie gesagt, ich stimme diesen nur zu bedienen 30 Minuten, oder so ähnlich. Aber es gibt keine Verschlüsselung zwischen Sie und Starbucks-WLAN-Zugang Punkt, die Dinge, die mit die Antennen auf der Wand. Es gibt keine Verschlüsselung zwischen Ihnen und der Flughafen-Wi-Fi-Signale. Und so technisch, dass creepy Person sitzen ein paar Plätze nach unten von Ihnen in Starbucks oder am Flughafen könnte sein, mit der richtigen Software, beobachten alle Ihre drahtlosen Verkehr auf seinem Laptop. Es ist nicht so schwer, legte einen Laptop in das, was ist genannt Promiscuous-Modus, die, wie der Name schon sagt, bedeutet, dass Sie Art sind lose mit den Regeln. Und es hört einfach nicht nur für den Verkehr für die es bedeutete, sondern auch für alle anderen ist Verkehr innerhalb der Reichweite. Und von dieser Logik, es sehen können alle Informationspakete, die Sie erhalten. Und wenn dieser Pakete sind nicht Sie verschlüsselte setzen sich selbst in Gefahr Ihre E-Mails oder Ihre Nachrichten, oder irgendetwas anderes immer ausgesetzt. Also selbst wenn Sie im Ausland sind nicht aber Sie gerade in Starbucks sind, oder Sie auf einige zufällige Person sind Wi-Fi, die nicht verschlüsselt ist, Ein VPN ist eine gute Sache. Ein VPN ist ein virtuelles privates Netzwerk. Und es ist eine Technologie , in dem Sie haben, eine verschlüsselte, ein verschlüsseltes connection-- schicker als Caesar oder Vigenere-- zwischen Ihrem Laptop oder Ihr Telefon oder Ihren Desktop, und einen Server an anderer Stelle, wie ein Server auf dem Campus von Yale. Und wenn du unterwegs bist abroad-- und in der Tat, finden Sie diese in den Hotels die ganze Zeit. Und vor allem, wie angehende Informatiker wo euch vielleicht, wie Geeks, wollen nicht 80 Ports verwenden, und andere als 443-- Häfen und in der Tat für die Problem sechs set, werden wir mit mehreren spielen TCP-Ports nur durch Auswahl-- viel von Hotels und Geschäften, und Netzwerke nur solche Sachen zu blockieren weil sie etwas naiv, oder unwissend, denken Sie nur dass niemand braucht die anderen Ports. Und so mit Hilfe eines VPN können Sie Umgehung diese Art von Beschränkungen, weil das, was ein VPN tut, ist, es erlaubt Ihnen bei Starbucks, oder zum Flughafen, oder irgendwo auf der Welt um encryptedly zu yale.edu zu verbinden, bis zu einem gewissen Server hier auf dem Campus, und dann Tunnel sozusagen alle Ihre Datenverkehr aus, wo immer Sie sind durch Yale, an welcher Stelle Es geht dann zu ihrem Bestimmungsort. Aber durch Verschlüsselung, die Sie vermeiden jede dieser Arten von Filtern oder die Verhängung dass einige lokale Netzwerk hat verhängt. Und Plus, haben Sie ein viel robuster Verteidigungs gegen schreckliche Menschen um Sie herum, die vielleicht sein Versuch, auf Ihrem Verkehr mithören. Es konnte immer noch gruselig Menschen hier zu sein wieder zu Hause an der Yale beobachten Sie Ihren Traffic wie es aus dem VPN kommt, mindestens jedoch Sie die Bedrohung weiter weg geschoben habe. Und es ist auch hier ein Kompromiss. Jetzt natürlich, wenn Sie befinden sich in China oder sogar im Café, und Sie sind alle Tunnel Ihren Traffic durch Yale, welchen Preis wir vielleicht bezahlen? ZIELGRUPPE: Geschwindigkeit. David J. MALAN: Geschwindigkeit, nicht wahr? Es muss doch einige Mathematik sein oder einige fanciness beteiligt bei der tatsächlichen Verschlüsselung. Es könnte sein, Tausende von Meilen von Abstand oder Tausende von Meilen von Kabeln zwischen Ihnen und Yale. Und es ist wirklich schlecht, wenn Sie in China, zum Beispiel, und die Sie besuchen möchten eine Website in China. Und so Ihre Daten zu gehen die USA und dann nach China zurück nur weil du bist Verschlüsselung es wird durch einen Tunnel. Aber es technische löst und die Arbeit Probleme gleichermaßen. Aber es läuft alles auf Diese sehr einfache Ideen. Und Harvard, für diejenigen neugierig, hat hier wie auch bei vpn.harvard.edu, das funktioniert wie Yale. Also mit allem, was gesagt, warum ist dieses gesamte Netz sinnvoll? Und was können wir tun beginnen mit ihm? Nun, lassen Sie uns diese jetzt realer. Dies ist das Akronym mit denen die meisten von uns sind wahrscheinlich Super familiar-- HTTP-- das steht für Hyper Text Transfer Protokoll. Und das bedeutet nur, das ist die Sprache, die Protokoll- dass Web-Browser und Web-Server zu sprechen. Das P in der Tat eine HTTP-Protokoll. Und ein Protokoll ist nur eine Reihe von Konventionen. Wir haben gesehen, IP-- Internet protocol-- TCP-- Getriebesteuerung protocol-- und HTTP. Aber was ist das dumm Sache eines Protokolls? Es ist nur eine Reihe von Konventionen. Also, wenn ich Art von unten kommen hier, und ich möchte Sie zu begrüßen. Ich würde sagen, hallo, mein Name ist David. ZIELGRUPPE: Luis. David J. MALAN: Luis. Wir haben diese dummen menschlichen Konvention der hier die Hände rütteln. Aber das ist ein Protokoll, nicht wahr? Ich streckte meine Hand aus. Luis streckte die Hand aus. Wir taten dies. Und dann komplett, fertig. Und das ist genau das gleiche Geist eines Computer-Protokoll wo wie in HTTP, das ist, was passiert. Wenn Sie den Rechner, auf dem es hier nach links, und es gibt einige Web- Server gibt es auf der rechten Seite. Und der Computer auf der linken will fordern Sie Informationen von diesem Server. Es ist Art von einem bidirektionalen Betrieb. Der Browser auf der linken fragt für einige Web-Seite. Der Server auf der rechten reagiert mit einigen Web-Seite. Und wir werden sehen, welche Form Personen nehmen in nur einem Augenblick. Und es stellt sich heraus, dass diese computers-- dass Browser und Server oder Client- und Server, so zu sprechen. Ähnlich wie ein Restaurant, in dem die Client fragt nach etwas, und der Server bringt ihm oder ihr something-- erhalten ist eine Art, das entscheidende Wort. Buchstäblich Innenseite des Umschlags, meinem Browser sendet von hier nach einem Web- Server ist das Wort erhalten. Wie möchte ich den heutigen Nachrichten zu bekommen. Ich möchte meine erhalten Facebook News-Feed, oder ich wollen einige Seite vom Server zu erhalten. Genauer gesagt, das ist, was ist geht in dieses Umschlags. Also habe ich mit Cole, im Wesentlichen geschickt Cole eine Antwort. Wenn Sie sich vorstellen, dass Cole tatsächlich wollte ein Bild von Rick Astley, könnte er mir einen Antrag geschickt haben im Geiste auf diese. Innerhalb seines Umschlags zu mir, wo Ich bin jetzt in der Rolle von Google, würde eine Anforderung, die buchstäblich sein sagt, und dann eine Vorwärts slash-- und Sie wahrscheinlich gesehen haben Schrägstriche in URLs vor. Es bedeutet nur, gib mir die Standard- Seite, ist der Standard Rick Astley Bild in diesem Fall. Und übrigens, Cole spricht die Sprache HTTP-Version 1.1 oder das Protokoll 1.1. Und es stellt sich heraus, es gibt eine ältere Version 1.0. Aber Computer sind in der Regel 1.1 zu verwenden. Die zweite Zeile ist eine nützliche Sache, zurück nach vielleicht schon bald kommen. Aber es ist nur eine Spezifikation zu mir, der Empfänger, dass das, was ich will ist www.google.com. Denn es ist sehr gut möglich, in diesen Tagen für Dutzende, Hunderte von Websites mit unterschiedlichen Domainnamen an alle leben auf dem gleichen Server. Es wird nicht um wahr zu sein so sehr bei Google. Aber in einem kleineren Unternehmen Fall könnte durchaus sein. So Cole ist nur irgendwie Putting in den Umschlag, Übrigens, wenn dieser erreicht Ihre IP-Adresse auf Port 80, nur sicher sein, dass Sie umgehend informiert werden, Ich möchte www.google.com, nicht einige andere zufällige Website auf dem gleichen Server. Was ich dann zu reagieren, mit Cole, am Ende des Tages wird ein Bild. Aber oben auf diesem Bild Innenseite der Umhüllung ist eigentlich ein Text, in dem ich sage: OK. Ich spreche HTTP-Version 1.1 auch. 200. Das ist ein Statuscode, die meisten von uns haben wahrscheinlich noch nie gesehen, weil es bedeutet, OK. Und das ist gut, weil es bedeutet, dass ich erfolgreich reagiert zur Anfrage Coles. Welche Zahlen haben Sie wahrscheinlich im Web, die nicht in Ordnung sind, zu sehen? ZIELGRUPPE: 404. David J. MALAN: 404-- Datei nicht gefunden. So in der Tat, zu jeder Zeit die Sie gesehen haben eine dieser lästigen Datei nicht Fehler gefunden, weil die Web-Seite ist tot, oder weil Sie falsch eingegeben ein URL, das bedeutet nur, dass die kleinen Umschlag, dass Ihr Computer vom Server empfangenen eine Nachricht enthaltenen HTTP 1.1, 404-- nicht gefunden. Diese Datei oder die Anfrage Sie machte nicht gefunden wird. Außerdem Innenseite der Umhüllung in der Regel ist diese Linie, Inhaltstyp. Manchmal ist es HTML, etwas, das wir bald sehen. Manchmal ist es eine JPEG. Manchmal ist es ein GIF. Manchmal ist es eine Filmdatei, ein Audio-Datei, eine beliebige Anzahl von Dingen. So Innenseite der Umhüllung ist nur ein kleiner Tipp, was ich erhalte. Es gibt andere Statuscodes auch einige von denen wir entdecken in P stellte sechs, und Sie stolpern über in P gesetzt Sieben und / oder acht. Aber einige hier, wie wir gesehen haben, 404. Verboten, 403, bedeutet, wie die Berechtigungen falsch sind, wie Sie nicht Art haben richtig konfiguriert ist. 301 und 302, so sehen wir nur selten sichtbar. Aber bedeuten sie umleiten. Jedes Mal, wenn Sie zu einem gegangen URL und Sie haben magisch gewesen woanders geschickt, das ist, weil der Browser zurückgeschickt einen Umschlag mit die Zahl 301 oder 302, und die URL, die es will Ihres Browsers, um zu gehen, statt. 500 ist schrecklich. Du wirst es bald sehen, wahrscheinlich in P gesetzt sechs oder sieben P gesetzt. Und es in der Regel bedeutet, es gibt einige Fehler in Ihrem Code, denn in der Tat, wir werden das Schreiben Code, der Web-Anfragen reagiert. Und du hast einige Fehler in der Logik oder Syntax, und der Server kann nicht damit umgehen. Also lassen Sie uns sehen, wie wir jetzt nutzen und verstehen diese Anforderungen wie folgt. Wenn ich gehe, um, sagen wir, google.com. Lassen Sie mich zu www.google.com zu gehen. Und für die Demonstration willen, lassen Sie uns siehe, ich brauche, um zu Einstellungen hier. Ich werde gehen, um Sucheinstellungen. Und Google hat immer ärgerlich Funktionen, aber nützliche Features. Also Google hat dieses Ding wie Instant- Ergebnisse in dem Sie mit der Eingabe beginnen, und automatisch Dinge beginnen erscheinen. Und das ist alles in Ordnung und technisch sinnvoll, und wir verstehen, es dauerte nicht lange, wie das funktioniert. Aber für jetzt, ich bin Drehen off sofortige Ergebnisse, weil ich möchte, dass mein Browser, um Art der Arbeit der alten Schule so dass ich zu sehen, was los ist. So, jetzt bin ich wieder hier. Und ich möchte für Katzen zu suchen. Und beachten Sie, ich sehe einige Vorschläge, einige sehr gutartigen Vorschläge Gott sei Dank. Und jetzt, wenn ich drücken Sie die Eingabetaste, mal sehen was passiert. So gibt es einige Katzen. Und die Top-Hit ist auf Wikipedia. Aber heute kümmern wir die Technologie hier oben. So ist die URL, auf die ich habe wurde diese geschickt ist hier. Und es gibt einige Sachen, die ich nicht wirklich verstehen. Also werde ich weitermachen, denn Ich Art, wie Google funktioniert, und ich werde dies zu destillieren URL in seiner einfachsten Form. Und jetzt werde ich wieder getroffen eingeben. Und es funktioniert immer noch. Ich habe eine Seite der Ergebnisse alles um Katzen. Aber beachten Sie die Einfachheit meiner URL. Es stellt sich heraus das ist, wie ein Großteil der Web-Werke. Das Web ist nur eine ganze Haufen von Computern Ausführen von Software, die Eingaben zu nehmen. Es ist nicht zu bekommen String Stil Eingang. Es ist nicht Befehlszeile Argumente, wie wir es gewohnt sind. Sie nehmen Eingang, diese Web-Server, mittels der URLs ziemlich häufig. Und jedes Mal, die Sie haben nach etwas gesucht, immer wenn Sie eingeloggt haben Facebook, zu jeder Zeit haben Sie alles interaktiv mit gemacht eine Web-Seite, was du tust, effektiv ein Formular, so Textfelder, Kontrollkästchen speak--, kleine Kreise, und so weiter, die zu senden Informationen von Ihnen an den Server. Und es stellt sich heraus, dass der Web- Server weiß, um zu dieser URL zu suchen und analysieren sie, wie sehen Sie es Zeichen für Zeichen der Suche nach etwas interessant, nachdem ein Fragezeichen. Denn nach einem Fragezeichen, es stellt sich heraus, wird kommen eine Reihe von Schlüsselwertpaaren. Ich meine Schlüssel = Wert. Und dann, wenn es vielleicht multiple-- ein kaufmännisches, ein anderer Schlüssel = Wert, Und-Zeichen, Schlüssel = Wert. Deshalb haben wir Art von dieser Idee zu sehen vor, wo etwas einen Wert hat. Es ist nur ein neues Format hier. Und ich weiß nur, durch Konvention, Google wird q für die Suche. Und dann, wenn ich will, um für Hunde suchen, I kann manuell für Hunde so zu suchen. Und dann bin ich anscheinend immer einige Suchergebnisse mit Hunden. Also das scheint interessant zu sein. Und in der Tat, was los ist unter der Haube ist diese. Lassen Sie mich dies zu tun. Dies ist zu sehen a-- lassen. Lassen Sie mich gehen über hier für einen Moment. Wir werden sehen, dass es andere Möglichkeiten, um Informationen zu übermitteln. Also, wenn ich die Anmeldung in Facebook oder Google Mail, oder jede andere populäre Website, es scheint Art von schlecht, wenn alles, was ich eingegeben in das Suchfeld landet in meinem URL, in der Adresszeile meines Browsers. Warum? Warum ist das so leicht besorgniserregend? Ja? ZIELGRUPPE: Geben Sie ein Passwort. David J. MALAN: Ja. So was, wenn das, was ich eingegeben ist mein Passwort? Ich Art will es nicht so offensichtlich in der Adresszeile meines Browsers sichtbar. One, weil meine lästigen Mitbewohner neigt dazu, über die Schulter schauen, und er oder sie kann jetzt sehen, auch wenn es war Kugeln, wenn ich es in der Eingabe, kleine Kreise. Jetzt ist es in meiner Adressleiste. Außerdem, was ist wahr, über Sachen Sie neigen dazu, in die Adressleiste eingeben. ZIELGRUPPE: [unverständlich] David J. MALAN: Was ist das? Publikum: Es versandt wird. David J. MALAN: Es versandt wird. Und außerdem wird es in Erinnerung hatte. Da das nächste Mal Sie schreiben Dinge dort oben, oft ist es autocompletes und es erinnert sich, was Sie vor dem eingegeben haben. Und so gibt es diese veritable Geschichte dass Ihre Geschwister oder Ihre Mitbewohner, oder wer kann über zu gehen so ziemlich jede Website zu sehen Sie besucht, weil es in diesem Adressleiste eingeloggt. Darüber hinaus nehme an, Sie wollen lade ein Foto auf Facebook. Wie in der Welt bist du gehen, um ein Foto in einer URL zu setzen? Nun stellt sich heraus Sie es in einigen tun können Weg, aber es ist sicherlich nicht auf der Hand. Und so gibt es diese andere Möglichkeit, Senden von Informationen in einem Umschlag, nicht über eine, aber über etwas namens POST. Und in der Theorie, es sieht aus in etwa das Gleiche. Anstatt das Wort GET, sagen wir, POST, und dann wird die gleiche Art von Format. Zum Beispiel ist dies ein Screenshot von dem, was es aussehen könnte, wenn ich versuche, die Protokollierung zu suchen in Facebook, die mich in eine Datei sendet genannt login.php, das ist eigentlich heute noch als solche benannt. Es ist das gleiche Dateinamen Mark gab es vor vielen Jahren. Es ist das Programm, das er in PHP geschrieben über welche Benutzer auf der Website anmelden. Aber Sie senden müssen einige zusätzliche Eingabe. Und anstatt es nach dem gehen Dateinamen, wie es vorher mit cats-- tat q = cats-- sie niedriger in dem Antrag gehen kann, tiefer im Inneren der Hülle, wenn Sie wird, wo niemand es sehen kann, und wo es nicht am Ende in Browserleiste des Benutzers und damit nicht daran erinnern, für die Menschen zu schnüffeln um. Und hier meine E-Mail-Adresse und meine gefälschte vergessen eigentlich gehen. Und wenn Facebook wird mit nicht HTTP, HTTPS, aber, dies alles verschlüsselt werden, Rührei, ala Caesar oder Vigenere, aber fancily damit niemand kann tatsächlich sehen diese Anforderung. Und so in der Tat, Sie haben jederzeit eine URL, die mit HTTPS beginnt, es bedeutet nur, es ist verschlüsselt. Aber am Ende des Tages, was tatsächlich in dieser Umschläge? Das war super niedrigen Niveau. Und zum Glück sind wir nicht werde unbedingt um so niedrigen Niveau jedes Mal zu gehen Schreiben beginnen interessante Software. Wir können anfangen zu nehmen die Ideen der ersten Woche durch fünf, an, dass es ist nun diese Infrastruktur, lässt uns zu schreiben Software dass betreibt über das Internet, und es wird uns erlauben, in der kommenden Woche zu starten Blick auf etwas namens HTML. Das ist der Stoff, die selbst ist tiefer im Inneren der Hülle, aber es ist das Zeug, das wir sind geht mit dem Schreiben beginnen. Und es ist der Stoff mehr Interessanterweise sind wir gehen, um Programme zu schreiben, startet automatisch erzeugen so dass unsere Internetseiten werden nicht hart codiert, aber nehmen Sie Eingang und Ausgang zu erzeugen. Dies ist vielleicht die einfachste Web- Hier sind in der Welt zu machen. Ich kann in der Tat eröffnen etwas Dummes wie TextEdit auf meinem Mac, die nur gibt mir ein einfaches Textfenster wie diese. PC-Nutzer haben Notepad.ext, Das ist im Geiste sehr ähnlich. Und ich kann buchstäblich geben out this-- DOCTYPE HTML, was sieht ein wenig kryptisch. Aber wir werden darauf zurückkommen. HTML, mit diesen seltsamen spitzen Klammern und Schrägstriche, innerhalb derer jetzt werde ich zu sagen, hier kommt die Spitze meiner Webseite. Im Inneren kommt, dass ich gerade wissen, und Sie werden bald wissen, dass ich den Titel meiner Web-Seite gestellt. Und dann unter dem Kopf der Web-Seite gehen, um die so genannte gehen Körper der Webseite. Und ich bin einfach nur Einrücken wie in C, um Art von halten Dinge gut lesbar stilistisch. Und jetzt werde ich dies als Abwehr Datei auf meinem Desktop, genannt hello.html. Und ich werde es sagen, ja, HTML benutzen. Sie ändern nicht .txt, auch wenn all dies ist eine Textdatei, wie ein C-Programm mit einem Texteditor geschrieben. Obwohl nicht in CS50 IDE bei der Moment, gerade hier auf meinem Mac. Und wenn ich jetzt auf meinem Desktop zu gehen, Sie werden sehen, hello.html. Wenn ich einen Doppelklick auf diese, es wird Chrome zu öffnen. Und obwohl dieser Datei zufällig auf meinem Desktop zu leben, das ist vielleicht die einfachste Web-Seite ich machen könnte. Beachten Sie, dass der Titel der Registerkarte Weg Spitze ist Hallo Welt. Der Körper der Seite, ist in der Tat Hallo Welt. Und alles, was ich getan habe, um zu bekommen bis zu diesem Punkt zu implementieren, oder eine neue Sprache namens HTML zu schreiben. Es ist keine Programmierung Sprache wie C. Es gibt nicht an Bedingungen geknüpft sein, und Schleifen und Funktionen. Es ist eine Auszeichnungssprache, in der Falls Sie nur sagen, die Empfangs Programm, was Sie tun möchten. Dies bedeutet, hey-Browser, hier kommt eine HTML-Seite. Hey Browser, hier kommt der Kopf auf meiner Seite. Hey Browser, hier kommt der Körper von meiner Seite. Hey-Browser, das ist es für den Körper. Das war es für die HTML-Seite. Und mit diesen einfachen Definitionen Allein, wir werden bald sehen, dass man, wir können dies als Baum darstellen. Aber dazu später mehr. So wird dies alles, um Interconnect unsere jüngste Datenstrukturen. Zwei, werden wir diesen dummen Witz einzuführen. Dies ist eine tatsächliche Tätowierung, dieser Kerl hatte an seinem Hals. Wahrscheinlich ist es lustig die erste Woche oder zwei, und danach vielleicht nicht so sehr. Aber HTML, und auch die Bahn Seite, die ich gerade gemacht, super Geist betäubend disappointing-- nur sagen, Hallo Welt in schwarzem Text auf weißem Hintergrund. Sicherlich werden wir tun können, viel besser. Und wir werden so durch die Einführung zu tun andere Sprache namens CSS. Auch dies keine Programmiersprache language-- keine Schleifen und Bedingungen oder for-Schleifen, aber wirklich, nur durch die Syntax können wir sagen, machen dieses Textes groß. Machen Sie diesen Text klein. Rechts ausrichten. Links ausrichten. Machen Sie es rosa. Machen Sie es sich violett. Machen Sie es blau. Oder haben eine beliebige Anzahl von andere visuelle Effekte. Und so werden wir sehen, wie man Stilisierung starten Web-Seiten, so dass sie in einer Art und Weise zu suchen näher an, was wir wollen. Und schließlich haben wir in der Tat zerstört vielleicht viel von TV und Film für Sie. Ich dachte, wir würden hier zu Ende Mit unserer letzten Sekunden über eine endgültige Clip, der Ihnen zeigt, wie Hacking auf der Internet-Arbeiten. Wenn wir die dim leuchtet ein letztes Mal. [VIDEO PLAYBACK] -Auf keinen Fall. Ich gehackt. -Okorsky? -No-- Nein, das ist major. Sie haben bereits durchgebrannt das NCIS öffentlichen Firewall. Nun, zu isolieren, den Knoten und Dump- sie auf der anderen Seite des Routers. -Ich versuche. Es bewegt sich zu schnell. -OH, Dies ist nicht gut. Sie benutzen unsere Verbindung [Unverständlich] diese Datenbank. Sever es. -Ich Kann nicht. Es ist ein Punkt anzugreifen. Er oder sie ist nur geht nach meiner Maschine. -Es ist nicht möglich. Es gibt DOD Ebene Mine Verschlüsselung. Es würde Monate dauern, bis get-- -Hey, Was ist das? Ein Videospiel? -Keine Tony, wir gehackt. -Wenn Sie in Abbys Computer zu erhalten, die gesamte NCIS-Netzwerk ist der nächste. -Ich Kann ihn nicht aufhalten. Tun Sie etwas, McGee. -Ich Nie Code wie diesen gesehen. Oh. -Wo Ist es gelaufen? Abby? -Ich Habe nichts getan. Ich dachte, Sie getan haben. -Nein. -Ich tat. [END PLAYBACK] David J. MALAN: Die beste Teil zwei Personen eingeben auf der Tastatur gleichzeitig. Das ist es also für CS50. Wir werden bleiben, um für die Bürozeiten. Und wir schicken Ihnen das nächste Mal sehen. [Musikwiedergabe - "Seinfeld THEMA"] Dies ist CS50. Ich will nicht, um ein Pirat zu sein. Sprecher 2: Yarr David. Es ist ein feines Wams Sie tragen. Viele Luff in diesem Zug.