[Música tocando] COLUMNA 1: Todo ben, Benvido voltar CS50. Este é o final da semana oito, e case Halloween. O horario de expediente mañá á noite a vontade de ser os aínda máis asustado, e non porque de Halloween. Pero nesa nota, entenden que problema de definir seis, a verificación ortográfica conxunto de problemas, é recoñecida a ser, para moitos estudantes, os máis reto, certamente entre os conxuntos de problemas C, e realmente, en xeral. E digo isto só porque este é da semana, onde unha chea de xente se especialmente a tensión con só tentando para obter o corrector ortográfico mínima para o traballo. E a única cousa que eu encouraged-lo é que, como vai ver hoxe, e o luns, comezan a bater este pico esta semana, onde, agora, as cousas fanse un algo máis familiar, un pouco máis accesible, medida que a transición dun ámbito de liña de comandos en C para un ambiente baseado na web en PHP. E así, eu encouraged-lo, mesmo se está a realmente ao final da súa sagacidade en tratando de obter o conxunto p traballar, se isto é de feito o lugar que está, ou atopa-se, probe facer ao poder a través del. Porque eu creo que vai ser moi satisfeito, e moi orgulloso de si mesmo, se realmente acabar con esa parte do Por suposto, a parte C, en que a alta, se estresante, nota. Entón, iso non é para asustar. Isto é só destinado a incentivos-lo a estar ata que a hora extra, a fin de a verificación ortográfica de traballo. E se fai iso, entender que esta é opcional, enteiramente. Pero temos a chamada gran placa que foi ao ar esta mañá. A partir de hoxe de mañá, eu estaba enriba da gran tarxeta, que é unha medida de canto cantidade de RAM e canto tempo de carreira seu Speller programa esixe. Pero eu teño dende que foron desprazadas. Son agora o número de azar 13. E o que vai ver aquí é, David Kaufman, e Lauren, e Adam, e Jason, e outros están agora enriba da gran mesa. Se ollar alí na dereita, todos temos realmente bo implementacións de tamaño polo menos - volvendo o número de palabras no dicionario. E en cada unha destas columnas, vai ver canta memoria RAM cada un dos nosos implementacións está a usar, a cantidade tempo de execución está demorando para realizar carga, contra cheque, versus tamaño e descarga e, a continuación, o tempo total de execución. Entón, só para tranquilizar Elmer, e Patrick, e Linda, e todos os demais que vén detrás de ti, non hai absolutamente ningunha vergoña en estar na dirección a parte inferior da tarxeta grande. Se algo, iso significa que ten de traballo, e está correcto, pero é non é necesariamente tan eficiente, o espazo ou en termos de tempo, como podería ser. Así, totalmente opcional. Pero para ser unha especie de cenoria para que cando se está a traballar no seu p definido, está tan orgulloso de si mesmo, teño que traballar, publicar no gran tarxeta, ten un bo número, vai a cear, vén cara atrás, e os seus compañeiros de cuarto ten arestas lo no gran taboleiro. Ben, é hora, naquel momento, para ir de volta á prancheta de deseño, co fin de re-desafiar o gran consello. Se ollar para a especificación, o instrucións para a interface co tarxeta grande agora están publicados. Así, un par de cabezas emerxentes - un, a pre-proposta para a final proxecto é debido este próximo luns. Vexa esta especificación no curso de sitio para o que iso significa. É realmente só un casual, pero penso orixinal provocando entre vostede eo seu TF, en realidade, só para iniciar as cousas, comezar a conversación, aínda que a maioría de vós nunca sequera escribiu un páxina web antes, non sei aínda o que pode, como pode, aplicar seu proxecto final. Vai na fe que vai saber como facer un pouco mellor cousas en poucas semanas. Entón, só tes que comezar este proceso de acordo coa especificación de explorar posibles ideas. Ademais, o que somos invitados a facer é - temos un tractor, por moitos anos agora, no curso, de Aloxamento iso - store.cs50.net. Todo se vende polo custo. E é realmente só unha oportunidade para usar CS50, se quere facer que, e do curso. Por exemplo, hai cousas como as camisetas que se pode ver indo ao redor do campus, camisolas. E entón, nós tamén invitar aos alumnos a presentar proxectos para ser imortalizado en a tenda CS50. Por exemplo, un dos do ano pasado favoritos que será, quizais, agora resoan con vostede é esta aquí. Elemento moi popular. Entón, se quere participar tanto, imos poñer unha forma breve, a cs50.net/design, para o cal se pode facer a carga unha imaxe que fixo en Illustrator ou Photoshop, ou algún programa similar. E se está familiarizado con estes tipos de especificacións, queremos que el ser unha imaxe PNG, polo menos, 200 puntos por polgadas e menos do que moitos píxeles, e menos de 10 megabytes. Para máis detalles, pode enviar correo-e a cabezas do curso de heads@cs50.net se desexa participar desta. Todo ben, por iso hoxe, non máis C. Así, comezan a tirar as capas da Internet, a web, e como pode realmente comezar a escribir software para Neste ambiente diferente. Así, en particular, imos preguntar: en primeiro lugar, a cuestión de - déixeme ir a nosa familiarizado deseño aplicación aquí. Deixe-me poñer a cuestión de, como funciona o internet. [? ESTUDANTE: Magic. ?] COLUMNA 1: Magic. Aceptar. Boa resposta. Entón, imos comezar alí hoxe, para ver se non podemos facelo un pouco menos máxico dentro dunha hora. Imos tentar contala no contexto dunha historia. Entón é fans de ir a facebook.com, ou reddit.com, ou o que nos días de hoxe. E entón o que está realmente a suceder cando insire algo así como facebook.com, e prema Intro, en Chrome, ou Firefox ou IE ou Safari, ou calquera navegador que está realmente facendo? Será que podemos contar esta historia, quizais frase por frase? Cal é unha das primeiras cousas que ocorre cando prema Intro, despois de escribindo facebook.com? [? ALUMNO: O seu] ordenador? fai unha solicitude HTTP. COLUMNA 1: Aceptar. Así, o ordenador fai - imos chamalo - unha solicitude HTTP. Agora, o que significa isto? Ben, todos nós probablemente xa viu ou ingresaran, hai anos, H-T-T-P miúdo seguido de dous puntos, corte, corte. Entón o que é iso? Ben, é HTTP HyperText Transfer Protocol. E iso é só un xeito elegante de dicir: é a linguaxe que os navegadores web, como Chrome e outros, e servidores web, como facebook.com, falar con un do outro. E é moi sinxelo, Inglés linguaxe orientada. É case como pseudo-código. E é unha forma de un cliente, como imos chamalo - un navegador - comunicación co servidor. E, así como nun restaurante, cando, cliente, sentarse nunha mesa e logo, pedir algo fóra do Menú do servidor, este servidor é vai te traer de volta algo, Sexa o que sexa solicitado. Mesmo no mundo da informática. Un navegador - un cliente - vai facer unha solicitude, e entón, espero volver algo do servidor. E iso é unha cousa, nun alto nivel, a páxina web. Nun nivel lixeiramente máis baixo, é un arquivo escrito noutra linguaxe chamada HTML - HyperText Markup Language. Pero máis sobre iso aquí a pouco. Entón HyperText Transfer Protocol - HTTP - que é o protocolo que navegador e uso do servidor. Ben, o que é un protocolo, exactamente? Ben, pode pensar como unha linguaxe. Pero se eu chegar ao noso público aquí, unha cousa normal para nós seres humanos para non é, cando cumprimento alguén, Digo, ola, meu nome é David. [? ESTUDANTE: Ola,] o meu nome é Dipty?. COLUMNA 1: "Ola, meu nome é Dipty ", ela responde. E entón tivemos esta bastante arbitraria interacción de mans trémulas, como é moitas veces a convención humana na maioría dos países. E iso é un protocolo, non? Eu medio que iniciou estendéndose miña banda, medio torpes, no escenario de Sanders aquí. Ela entendeu, oh, eu comece a solicitar unha man aparentemente. E ela respondeu a esta proposta polo feito de recoñecer iso. Un recoñecemento, ACK, é en realidade un frase moi común no mundo do rede, a un servidor para recoñecer o cliente. Entón, nós medio que completou que transacción e constrangimento rematou. Entón, iso é realmente o que está a suceder por baixo do capuz tamén. Déixeme facer isto un pouco máis tecnicamente baixo o capó. Vou pasar por riba aquí a unha xanela de terminal. Esta fiestra de terminal pasa a ser na miña Mac, pero pode facer o mesmo tipo de cousa en CS50 Appliance. E eu estou indo realmente para usar un programa que non imos realmente usa para moi en todo o semestre. Pero el chámase Telnet. Volver o día, Telnet foi o programa que usou para conectarse a un servidor remoto, para comprobar o teu correo ou para facer algo así. Polo de agora, imos usar ese vello programa escolar, Telnet, para finxir ser un navegador. E eu estou indo a ir adiante e facer o seguinte: - déixeme aumentar o meu tamaño da fonte. E eu vou dicir, Telnet ao servidor chamado www.facebook.com pero En concreto, Telnet para o porto 80. Volveremos a iso. Pero, por agora, sabe que a maioría dos servizos en internet identifícanse unicamente por un número. Neste caso, é de 80. Agora, a maioría de vostedes probablemente nunca escribiu 80 antes. Pero en realidade, se eu fose a un navegador tire para arriba, por exemplo, http://www.facebook.com/-- iso é auto-complete, que é non a miña historia - todo ben, agora, imos de colon 80 barra. Entón, eu afirmo que aínda que teña probablemente nunca escribiu iso antes, con do colonos 80, tras facebook.com, Agardamos que aínda vai funcionar. E, de feito, que vai para facebook.com. Así, verifícase que 80 estivo implícita. Ningún de nós, os seres humanos tiveron para escribir isto hai anos. Como os navegadores, por defecto, só supoñer que o número que desexa utilizar ao chamar a un servidor para falar é, en realidade, 80. Por curtos longo da historia, servidores pode facer moito máis que servir páxinas web. Poden responder a mensaxería instantánea. Poden enviar correos electrónicos. Hai moitos servizos que pode ser executado nun único servidor. Entón estas cifras - neste caso, 80 - identifica un destes servizos, que é o HTTP, o Protocolo web dun servidor realmente pode soportar. Pero eu podo simular esta petición agora, textualmente, empregando esta vella escola Programa Telnet. Entón eu vou para, esencialmente, agora pretender para ser un explorador e falar HTTP enviando, co meu teclado, exactamente os comandos que Chrome só souberon para enviar para min Magic. Entón, eu estou indo a ir adiante e prema Intro. Teña en conta que está intentando 31.13.69.32. 13 ¿Que é iso? Polo tanto, é un enderezo IP. Agora, mesmo se non está moi familiarizado cos meandros das persoas, probablemente ten un sentido xeral que esas cousas existen. E un enderezo IP - Enderezo de Protocolo de Internet - é só un identificador único para un ordenador na internet. Isto é un pouco de unha simplificación para o momento. Pero cada ordenador na Internet un único enderezo IP, así como todos os casa en, por exemplo, os Estados Unidos teñen un único enderezo postal, algo así como 123 Main Street, en Anytown, EUA. Entón, algo así. E que, ademais, é simplismo. Pero estes enderezos que temos no mundo correos e eses enderezos que temos no mundo da informática identificar servidores para que cando envía unha mensaxe a eles sobre o Internet, ou cando se pon unha carta na unha vella caixa de correo da escola - correo - o servizo sabe como lograr que solicitude, ou carta, para o destinatario desexado. Agora o meu ordenador, dalgún xeito, ten só descubrín que Facebook IP exclusivo é 31.13.69.32. En realidade, o que probablemente pode cambiar. Facebook probablemente ten varios IP enderezos, porque absolutamente ter máis dun servidor. Pero o que pasou para nós Magic. De feito, o nome secreto interna do servidor que aparentemente conectado a chámase star.c10r.facebook.com, sexa o que sexa. É só o que o sistema do administrador en Facebook decidiu chamar iso de servidor en particular que eu foi un pouco enviados aleatoriamente para. Polo tanto, agora que a miña conexión non ten expirou, eu vou finxir ser ese navegador. Eu vou dicir o espazo barra de espazo. E eu vou finxir estar falando HTTP versión 1.1, que é o que a maioría dos navegadores usan. E eu estou indo a mencionar especialmente para servidor, por certo, quero o sitio coñecido para o mundo como facebook.com. Enter, Enter. E agora, teña en conta o que pasou. O servidor, o camareiro, respondeu a miña petición, ou a miña petición, outra mensaxe textual. Agora, de novo, no mundo dos navegadores como Chrome e Safari, non faría ver iso, como ser humano. Microsoft e Google só ocultar estes detalles de nós. Pero Facebook respondeu cunha resposta, tamén no HTTP linguaxe. Teña en conta que hai un código aquí, 302, que en realidade, ten un significado especial por convención. Atopados, de xeito que é, como mínimo, prometedor. Pero, ao parecer, Facebook está dicindo me, mm-mm, non quere o que pediu. Quere, en vez de hoxe especial, que é facebook.com / unsupportedbrowser. Entón, en un alto nivel, o que fai Facebook parecen estar facendo aquí? Isto está me redirixido. Así, Facebook non lle gusta o feito de que eu estou finxindo ser este outro navegador. E por iso é redireccionar me a algún sitio. Estou realmente curioso, agora, o que esa cousa parece. Deixade-me pasar para que en Chrome para que pode ver o que queren verme. Entón, agora realmente me mandou de volta a Facebook, porque viron, Oh, vostede ten un navegador compatible. Non estamos indo a amosar-lle esta páxina. Entón, imos adiante e ver o se non podemos fixar iso. Vou ter que enganar un pouco. E máis sobre iso nas próximas semanas. Pero eu vou facer unha cousa aquí. E eu vou explicar isto en pouco tempo. Déame só un momento para enganar, e admira-lo. Entón deixe-me ver se entendín. Aceptar. Vou explicar o que eu estou facendo en só un momento. Eu estou indo a ir adiante e cancelar esta de conexión e intentalo de novo. Obter cortar HTTP 1.1 www.facebook.com anfitrión user-agent. Aceptar. Agora eu finxía ser Chrome. Así, verifícase que cando un navegador envía unha solicitude para un servidor, é só o sistema de honra. Se eu digo que son Chrome, Facebook asumirá Estou Chrome. E os medios polos que me identifiquei me como Chrome é por este atrozmente cadea longa. En esencia, todo o navegador fabricantes no mundo teñen decidiu, así, esta versión deste navegador no sistema operativo ten unha cadea user-agent parecer como esta desorde tolo alí. Correo Mozilla está aí para razóns históricas. Pero teña en conta a cantidade de información que eu son baleirado facebook.com, aínda sen log in Eu estou dicindo a Mark que é un Mac que eu estou a usar. Estou a dicirlle que é un Intel baseado Mac rodando Mac OS 10.8.5. Como un aparte, esta información vai para cada sitio que visita con seu navegador. Bastante inócuo ata agora, pero está un pouco máis suculento. Teña en conta que, se Lerma abondo, Está a usar a versión Chrome 30.0.1599.101. Pero agora, entender que a resposta non é tan malo como era antes. Onde está dicindo Facebook me ir agora? Está me dicindo, unha vez máis, o sitio web - está me dicindo que é movido permanentemente. Ben, onde diaños Facebook ir? Si, por iso é unha diferenza sutil. Pero teña en conta, aquí, que o sitio ten realmente mudouse para HTTPS. Así, longa historia curta, esta é unha forma que Facebook está impoñendo que eu realmente acabar na versión segura do súa páxina web, o que está a usar cifrado - máis complexa do que o cifrado falou para p conxunto de dous, senón cifrado, con todo. Agora, neste momento faise difícil para min falsificar túa web solicitar mediante Telnet. Porque se están dicindo me usar SSL - prefixo é o HTTPS que implica - se eles están me dicindo para usar cifrado, non hai ningunha maneira que eu vou para cifrar a man a miña mensaxe diante de todos vostedes aquí, e intentar descubrir como facelo. El só vai comezar moito máis complexa. Pero iso é o que o navegador está a facer para ti. A ver se non podemos facelo un pouco de forma máis simple e, a continuación, con un sitio web que non está esperando nos a ser tan seguro. Imos para, digamos, harvard.edu na porta 80. Intro. Todo ben, co fin de obter barra HTTP 1.1. E o que esta primeira barra significa? Só para quedar claro, por que Eu sigo escribindo isto? Ben, normalmente, cando escribe unha URL - e, por desgraza, os navegadores normalmente ocultar isto nos días de hoxe - Normalmente, cando vai para harvard.edu, URL que oficialmente acaba nunha barra. Por unha única barra denota que parte do disco duro? A raíz do disco duro. Nós no aparello realmente non tiña a pensar sobre iso, porque estamos sempre no cartafol de John Harvard. Pero o seu cartafol está noutra carpeta. E esa carpeta está na raíz da Disco duro do dispositivo, por así dicir, aínda que sexa virtual. Así, unha única barra como isto significa a raíz do disco duro. É como C invertida colon, ou é a raíz do seu volume en Mac OS. Pero Chrome e outros navegadores estes días, resultaron amigable, e eles esconden que cortar completamente. Pero iso é todo o que iso significa na miña mensaxe textual - darme a raíz harvard.edu 's páxina de inicio, é dicir, o páxina por defecto en si. Entón deixe-me ir adiante e prema Intro. Déixeme recordar o servidor que quero www.harvard.edu, só no caso de haber outros sitios que viven na mesmo servidor físico. Aceptar. Harvard ten un pouco impaciente comigo. Entón, imos facelo de novo, máis rápido. Obter cortar HTTP 1.1 www.harvard.edu anfitrión user-agent - Estou supoñendo que os nosos servidores non coidado tanto sobre iso - Enter, Enter. Ufa. Oh drogas, mala solicitude. Aceptar. Entón, o que está a suceder aquí - Ola, harvard.edu. Por que está facendo o - interesante. Oh, Aceptar. Entón, o que Harvard está facendo agora - e estamos vai virar rapidamente fóra de este camiño, que vai para obter rapidamente fastidioso - conta que Harvard é realmente comprimindo a súa resposta para min, que non é o ideal. Porque, ao parecer, como un ser humano, non sabe como descomprimir bits que foron enviados para me comprimido. E eles están a mostra é un lixo alí, porque son ceros e uns, pero eles non son caracteres ASCII. Son patróns de ceros e uns que ser comprimido para ocupar menos espazo. Entón, moi rapidamente, déixeme ver se podo recuperar aquí. Imos tentar, se cadra, outro campus completo. mit.edu get barra barra HTTP 1.1 anfitrión www.mit.edu colonos user-agent alí. Grazas, MIT. Aceptar. Polo tanto, temos aquí unha páxina web. Polo tanto, esta é a lingua coñecido como HTML - HyperText Markup Language. Estou simplemente rolar de volta o tempo para chegar ao moi punta superior da páxina. E entenda como MIT respondeu ao meu solicitude. 200 é bo. 200 quere dicir que todo está literalmente Aceptar. E iso é un código de estado que nós seres humanos realmente nunca ver, en un bo camiño. Porque iso significa que está todo ben. Teña en conta que o MIT está me informando, hey, o servidor que está executando chámase Apache, que é moi popular open source servidor web libre. Están correndo, ao parecer, UNIX, que é un sistema operativo como Linux. Nótese que, ao parecer, actualizada súa páxina web en 04:00, Greenwich Mean Time. Teña en conta algúns outros detalles. Están volvendo, para min, text / html. Entón, imos ver o que iso significa en só un momento. Eles aparentemente deume 14.717 bytes por valor de HTML. E algúns outros, máis esotérico información está aí. Pero é aí onde está interesante. Isto é como facer unha páxina web. Isto é como facer unha páxina web cuxo Título da guía, no explorador, é Guión MIT Massachusetts Institute of Technology. E, de feito, se volvemos para Chrome e visite www.mit.edu, teña en conta que, de feito, o título aquí enriba, é trazo MIT Massachusetts Instituto punto, punto, punto. E agora observar, tamén, se eu facer clic á dereita ou controlar clic no escritorio aquí, e vaia en Ver o código fonte da páxina - polo menos en Chrome, pero cada navegador fai isto a través dalgúns medios - aquí é que mesmo arquivo. Pasa a ser codificados por cores, ou sintaxe destacada. Pero, así como co seu código C que non se colorizado por ti, se colorizado por gedit, do mesmo xeito Chrome é só facer esta máis bonito de ler. Pero este é o material que pronto estaremos escribindo. Entón, iso é o fin do xogo. O servidor respondeu que información, así como contestou coa man para o noso aperto de man. Pero o que máis ten que estar indo en entre estes pasos? Ben, cando eu escriba, neste último caso, www.mit.edu e prema Intro, nos sabe que está falando na porta 80 automático, porto só sendo ese número. Pero onde é que o enderezo IP ir? Como é que o meu ordenador para descubrir o que o enderezo IP do mit.edu é? Pois ben, resulta que, neste mundo, hai son cousas chamados de servidores DNS. E déixeme ir adiante e deseñar unha foto rápida aquí. E iso só vai esbozar, en Grosso modo, o que está pasando. Entón, imos finxir que este é meu portátil aquí, Sanders. E ten WiFi, el está conectado sen fíos a algo. O que está realmente conectado? Ben, en algún lugar aquí, hai algo sobre o parede con algunhas antenas. E iso é chamado de punto de acceso - AP. Punto de acceso sen fíos, router sen fíos - Chama-o como sexa. Pero eles están en todo campus, con esas pequenas antenas. Ours están feitos por Cisco, normalmente. E así, de algunha maneira, o meu ordenador está a falar ao punto de acceso sen fíos, en algún lugar aquí en Sanders, ou debaixo, ou no exterior. Mentres tanto, esa cousa ten unha morea de fíos físicos vai, probablemente, o Science Center, que imos chamar así. De feito, non parece iso. Isto realmente parece moito mellor. Así, o Centro de Ciencias ten un grupo enteiro de computadores dentro do que están de algunha maneira conectados físicamente a todos destes puntos de acceso no campus. E eses ordenadores físicos, imos chamar routers ou pasarelas. Un router, como o propio nome suxire, é propósito na vida é a ruta información. Leva uns anacos, a partir dun ordenador, como entrada, e descobre a onde os bits deben ser enviados. Así, no caso da miña solicitude mit.edu, é realmente moi fácil. A miña proposta vén do meu navegador, a través de Wi-Fi, para o punto de acceso e, a continuación, a través dalgún cabo, nun router no Centro de Ciencias. E dalgún xeito, o router no Centro de Ciencia descobre que o MIT é así. E eu vou avanzar aqueles pedazos, eu vou enviar eses bits, no camiño, descendendo Mass Ave, ao MIT. Pero como é que o meu ordenador sabe o que a dirección IP aínda era? Pois ben, resulta que nalgún lugar aquí hai servidores - e eu vou deseña-lo moi abstracta - como un servidor de DNS - Domain Name System. Estes non son os routers. Estes son os distintos tipos de servidores cuxo propósito na vida é traducir nomes de servidor, como www.mit.edu, a IP enderezos, como 1.2.3.4 Así servidores DNS facer exactamente isto. Pode pensar neles como tendo unha gran base de datos, ou, en realidade, como un gran Excel arquivo con dúas columnas. Un deles é que os nomes de servidor, un Enderezos IP. E simplemente converter un ao outra, en calquera dirección. Agora, en realidade, é un pouco máis complexo do que iso. Pero é así que o meu ordenador, o meu aleatoria Mac ou PC nesta mesa aquí, sabe que é o identificador único para www.mit.edu ou Facebook, ou harvard.edu, a esta materia. Pero, claro, hai a totalidade de Mass Ave aquí. E entón, chegamos ao MIT, que este en realidade é máis atractivo. Isto vai ser MIT. E así, tamén, ter algúns servidores. E que dalgunha forma teñen pelos, ou sen fíos, conexión con Harvard. E, por suposto, podemos ir moito máis lonxe pola estrada de MIT, e falar con máis de calquera ordenador do mundo. Pero imos ver se non podemos ver iso. Déixeme volver á miña Terminal ventá por un momento. E imos supor que descubrín cal é a dirección IP é para mit.edu como Telnet entender iso antes, e meu navegador pode claramente descubrir iso para min. E eu estou indo a executar outro programa, Nesta fiestra de terminal, denominada traceroute, trazando a ruta dende aquí - literalmente, esta táboa - para www.mit.edu. Veremos que pasa. Permítanme, en realidade, diminuír o tamaño da fonte. POO. Non, eu quería facer unha sorpresa. Aceptar. Entón, imos alí. Déixeme ir adiante e executar este aquí. E o que eu estaba a ver un momento atrás, e estamos a ver de novo agora, é esta saída - www.mit.edu traceroute. Teña en conta, en primeira liña, este programa de feito descubrín que o MIT Enderezo IP é ese número aquí. E agora, o que está pasando entre nós e eles? Polo tanto, esta liña aquí, na liña, e este liña aquí, na liña dous, e logo liña de tres - o que cada un deles liñas probablemente representan? Locais, puntos, con certeza. Son chamados de saltos, conceptualmente. Pero físicamente, cales son eles? Son routers. Nós só temos, de feito, unha peza de hardware aquí para falar ata agora. Son routers. Entón, esa cousa aquí - nome tolo - mais este é, probablemente, cuarto de máquinas, MR, no Centro de Ciencias. É unha pasarela, router aka. Este é só un número único que alguén veu por el. E dentro harvard.edu. E ese é o enderezo IP do router que é dicir, unha vez máis, probablemente, na Science Center, baseado no seu nome. Esta segunda liña representa outro router que non ten un apelido parecer - un nome de servidor - por só ten un enderezo IP. Así, longa historia curta, para obter datos de puntos de A a B, non hai máis que Router de Harvard, e router do MIT, e router de Google, e router de Facebook. Hai decenas, centos, miles de routers entre calquera punto A e calquera punto B en internet. Pero, normalmente, pode obter datos a partir dun punto a outro menos de 30 saltos. Noutras palabras, só ten que entregar os datos para 30 ou menos estes routers. E é tipicamente moitos menos que iso. Ben, imos ver que pasa aquí. Na liña de tres, se loita un roteador chamado núcleo Science Center portal unha cousa ou outra. Na liña 4, temos fronteira pasarela - estes son só siglas enigmáticas - tamén dentro harvard.edu. Aquí está outra paso de fronteira. E entón, de súpeto, ei, parece que estamos en New York City. Así, verifica-se - e eu estou en inferir só a partir do nome do servidor. Isto pode ser enganosa. Podería ser na estrada. É difícil dicir - , Pero este pode ser usado como unha revelación que a menor distancia entre dous puntos sobre a Internet non é necesariamente unha liña recta. Se pensamos máis curto como o máis rápido camiño, a menos actividade percorrido, é moi posible - aínda que non poidamos estar seguro - que os datos están viaxando decente distancia entre as liñas cinco e seis. Agora, desgraciadamente, o MIT, ou alguén, ten un pouco de auto-defensa, e comezou a ignorar os nosos pedidos. Estes routers foron configurados para ignorar as solicitudes de forma que están ti, quen é vostede, quen é vostede. Entón, imos ver se a xente non pode facelo con alguén máis cooperativa. Entón Stanford ten unha boa tradición de ter un pouco máis de apertura. Entón, imos ver que pasa aquí. Unha vez máis, moi enigmático. Pero nós comezamos, de novo, na máquina cuarto na Ciencia Center, na liña un. Entón, iso é bo. A maioría dos servidores fixo resposta incluíndo Stanford. Entón, teña en conta que pasou de sala de máquinas no Centro de Ciencias, de certa router anónimo noutro lugar, a outro Science Center pasarela, a unha fronteira pasarela, e, a continuación, para algo aquí - nox.org. Esta é a encrucillada do norte, moi punto de peering popular, onde moitos de cables, os lotes de ISP - proveedores de Internet - conectar a. Aquí está outro IP sen nome aquí. Aquí está outro exemplo de servidor. Pero iso é interesante. Onde está o router en liña oito, probablemente? Entón, é, probablemente, en Washington, DC. E podo tipo de corroborar esa hipótese neste momento. Por canto tempo levar para ir do Centro de Ciencia para este router na liña sete? Ben, estas medidas milisegundos no lado dereito, aquí están As estimacións da época. Hai tres deles, porque o programa, traceroute, intenta por todos os router tres veces, só así pode obter unha media visual dos números. Pero, ao parecer, leva seis milisegundos para obter remar router de sete. Pero o quão rápido pode parecer que viaxar, se é algo, entre Boston e Washington DC? 14 milisegundos é o tempo que leva para que a mensaxe instantánea, para ese correo electrónico, para que a solicitude de páxina web para viaxar entre aquí e Washington DC. Se eu ir máis lonxe, ao router número 10, que cidade son aparentemente agora? Entón, Houston. E iso é corroborado por o salto de tempo. É moi lento para chegar a Houston. El leva 47 milisegundos para obter a partir de Boston para Houston neste caso. E se miramos aínda máis, LAX - Parece que estamos empezando a Stanford tipo de Desta forma, pasando por alí. Pero eu estou inferindo que desde Os Ánxeles. Os nerds tenden a usar códigos de aeroporto para nomes de routers aquí. E este é o tipo de acorde con esta suposición. 82 milisegundos. Entón, nós parecer ir a outro LAX, outro router LA e despois, algúns sen nome, e entón, finalmente, unha nome enigmático en rede de Stanford, ou preto da mesma, stanford.edu, é 90 milésimas de segundo de distancia, ou 6 máis horas de avión. Polo tanto, esta é a forma como os datos rápidos viaxa en internet. E cousas que absolutamente tomamos para concedida nestes días. Cando está a ter algún Gchat con alguén, e as mensaxes só aparecendo, considerada no; rápido que está pasando. E visualmente, é de feito a acontecer a este tipo de taxa. Así, entre un e 18 puntos, neste caso, hai cousas ademais de routers. Cales son as máquinas en Internet que pode bloquear o tráfico de obter a través? ALUMNO: firewalls. COLUMNA 1: Entón, firewalls. E nós temos firewalls persoais, tales que o seu propio Mac ou PC pode manter tráfico dentro ou fóra. Harvard ten firewalls. MIT presuntamente ten firewalls. E Stanford que, así como toda a proveedores de Internet que posúen estes routers entre os puntos A e B. Pero xa parou para pensar, ou coidado, como unha devasa funciona. Pois ben, xa temos o básico de construción bloques cos que o enxeñeiro esa resposta. Se fose un firewall - e imos supor que está nalgún lugar entre o punto A eo punto B. Un cable está chegando en ti, e saír de ti. Así que ten a capacidade tecnolóxica a ollar para as sobres de información que están a fluír entre ti ea outra persoa. Noutras palabras, estas mensaxes son eu era escribindo a man, pode pensar los como escribir unha nota rápida para alguén, poñer o enderezo IP do destinatario eo número de porto do destinatario, sobre este invólucro, entón, escribir o seu propio enderezo IP e súa propia número de porto no lado superior esquerdo canto como se fose unha carta. Logo envialo sen fíos. E de algunha maneira viaxa, a través de terminais, a través de fíos, sen fíos, no camiño para MIT. Entón, se vostede é un firewall, como facer vostede impedir que isto ocorre? O que faría se o seu próximo p conxunto foi implantar un firewall? ¿Como deixar todas as persoas a partir de Harvard sempre falar co MIT persoas de novo? [? ALUMNO: Vostede] reverter a carta?. COLUMNA 1: Vostede o que? [? ALUMNO:? Reverso] letra inicial. COLUMNA 1: Reverter a carta - o que quere dicir? [? ALUMNO:? Enviar] el ao seu remitente. COLUMNA 1: Manda-lo de volta. Aceptar. Entón, podería rexeitar o virtual sobre, facendo unha especie de volta á remitente de algunha maneira. Entón, por suposto, é o que queremos alcanzar. Pero imos mergullar un pouco máis fondo. Como podo facelo? Se a entrada a este problema - se eu son o firewall, e eu son efectivamente estando entre os puntos A e B, e Eu son un home de media que chega a parecer dentro deste sobre, e entón decidir a posibilidade de envialo de volta a Harvard ou para permitir que continúe, o é que eu, o firewall, vou querer ollar? Creo que oín-lo aquí. [? ALUMNO: Onde é] que chegou?. COLUMNA 1: Onde está a benvida. Polo tanto, se o enderezo IP de orixe - o pequeno número ata aquí - é un enderezo IP pertencente de Harvard - e podo realmente saber que con elevada probabilidade. A maioría dos enderezos IP de Harvard comezar con 140,247 dot dot algo algo, ou 128,103 dot algo dot algo. Harvard posúe os anacos de enderezos IP. Ben, se eu ver que os enderezos IP como remitente, eu só podo envialo de volta. En realidade, a Internet non se preocupe en perder o tempo enviando os bits de volta. El só literalmente descarta o paquete por borrar-lo, de forma eficaz. Entón, o que máis eu podería ollar aínda? Supoñamos que quero que a xente en Harvard visita mit.edu, tire para arriba sitios e asistir a vídeos no MIT, e semellantes. Pero eu non quero que os seres humanos en Harvard e-mail a alguén no MIT. Cómo podería permitir o tráfico de Harvard ao MIT, a través da web, pero non permitir algo así como un correo-e? [? ALUMNO:? The] número de porto. COLUMNA 1: Un número de porto - que é o único outro ingrediente que ten. Eu teño un enderezo IP, que só alavancada, ou temos o número de porto 80 onde, como dixemos, unicamente identifica o tráfico web. Agora, eu non esperaría que sabe diso - algúns de vós xa debería saber de familiaridade - o que é un número que é usado por correo electrónico, normalmente? É moitas veces 25. 25 refírese ao SMTP, que é un correo-e protocolo de transferencia que pode ter tiven que configurar nalgún momento, se está usando o Eudora ou Outlook, ou algo parecido. É só un número - 25. Telnet, que estaban a usar antes, utiliza 23. FTP - protocolo de transferencia de ficheiros, se xa escoitou falar de que un - usa 21. HTTPS, a versión segura de HTTP, que imos volver en pouco tempo, emprega 443. Así, o mundo ten unha morea de Números que se correlacionam paquetes - en vez diso, se correlacionam servizos a eses números reais. Entón, iso é todo o que un firewall está facendo. É un ollo no interior deste virtuais sobre e, a continuación, decidir si ou non de transmitir ao longo, baseados neses ingredientes. Agora, o que podería Harvard claramente facer Para superar esta firewall, entón? Se queres ser capaz de enviar unha mensaxe ao MIT, pero non ser posible, ben, pode falsificar o enderezo IP, e só dalgún xeito ser chique o suficiente, sabe como escribir código C, e escribir o seu propio programa de rede que se modifica o enderezo da empresa. O problema é que pode enviar absolutamente datos de xeito anónimo, pero se o desexa obter calquera tipo de resposta, desexa ver MIT páxina de inicio, obviamente, iso resolve necesidades a ser correctas. En caso contrario, pode dicir calquera cousa quere, non vai escoitar de volta deles. Pero estes son só un dos tipos de ataques que pode enviar. Pero resulta que cando enviamos eses mensaxes - e imos facer un exemplo disto. Acontece que, se eu teño unha mensaxe que Quero enviar, non só é enviado un sobre. Por unha cuestión de eficiencia, sobre todo cando os ficheiros que está pedindo ou os respostas que está a recibir son particularmente grande, o que TCP/IP-- Transmission Control Protocol / Internet Protocolo - é só unha fantasía forma de dicir o que a rede software e ordenadores fan - é que eles levar unha mensaxe como esta, e corte-la en anacos - digamos catro fragmentos. E se eu agora cortar isto para aquí, cortar isto para aquí, a miña ordenador é, entón, imos facer é que é vai levar un fragmento e poñelas nun sobre. Todo ben, e deixe-me ver a - imos ver. Vai levar un. Terá outro sobre, e que vai poñer a segunda parte desta mensaxe aquí. Todo ben. Que vai tomar a terceira parte, coloque-o aquí. Quizais a próxima vez imos só facer dúas partes. E nós imos tomar a cuarta parte, e poñelas aquí. E que, agora, ten que ser escrito sobre eses sobres - que nós imos finxir que facer, xa que o tempo de ben, e non realmente escribir. O que debe ser escrito en cada un dos estes catro sobres, coa miña mensaxe con alguén? [? ALUMNO: A] orde?. COLUMNA 1: Entón, a orde. Necesito non só o enderezo IP eo números de porto, como acabamos de discutir, eu agora ten que un número de secuencia de calquera tipo é dicir, trátase dun paquete, isto é dous, é dicir tres, é dicir catro. E iso é realmente útil. Porque a internet, ao parecer, é realmente moi fiable. Os routers poden ficar conxestionado. Os cables poden ficar resaltado - unha simplificación - pero, cos bits de tal forma que o routers ten que facer é simplemente descartar paquetes. Noutras palabras, a Internet é realmente actividade, pode obter tres deses catro paquetes. Pero se ten un identificador único en cada un deles, vai saber que é falta número do paquete de catro de catro. Así, pode preguntar ao cara no outro extremo reenvía-la. Pero supoñendo que iso non aconteza, imos ver o que pode pasar. Entón, se eu queira enviar unha mensaxe a - quen quere recibir a miña mensaxe desde a Internet? Que tal alguén máis na fronte. Brian, non é? Todo ben. Vostede está alí. Vou enviá-lo para ti. E a cousa sobre a Internet é que poden nin sequera seguir o mesmo camiño. Entón, aquí vou eu. Estou enviando unha mensaxe, fragmento dunha das catro. Sexa un router. Só deixe que outras persoas lidan con el. Alí vai. Nós imos dar isto para vostede, e nós imos dar iso a ti. E imos ver como rapidamente - cantos milisegundos leva para obter esta mensaxe a Brian. Todo o mundo comeza a participar hoxe. Todo ben. Brian ten un, e dous. Se alguén quere ser - [? ALUMNO: Todos os catro. ?] COLUMNA 1: Ten as catro. Así, ninguén elixiu a caer un paquete. Iso é legal. Iso é bo. Entón, Brian ten agora as catro. Se quere ir adiante e remontar os para nós. Sei, estamos finxindo. Entón, por mor do tempo - temos catro. Entón, OK, abra un deles. Aceptar. Este é un cuarto de a miña mensaxe para ti. Agora, abra a segunda. Isto pode ser divertido, ao final, só para min e Brian. Todo ben, ten dous. Entón, nese medio tempo, fixemos fisicamente iso coa tesouro, pero todo o que leva a fragmentar esas cousas nunha ordenador é só para enviar algúns dos bits dun paquete, nunha virtuais sobre, algúns dos bits de outros, algúns noutro, e algúns nun cuarto, e entón, deixar o ordenador decidir, con base neses números, en que orde ten concatenar eles. E Brian, quizais, o único aquel que pode ver iso. A mensaxe que enviei ao cerebro - por mor de Por suposto, a Internet é enchido con Destes, é - Si Así que esta é a mensaxe. E Brian pode ir con iso agora. Entón levou obviamente un tempo para facelo. Pero iso é o que realmente acontece, como enrutamento de datos a través da audiencia deste xeito. Pero hai, outra vez, unha serie de puntos, routers, firewalls e outros tales cousas entre os puntos A e B. E no canto de só contar a historia verbalmente, eu penso en puxar arriba este video que uns amigos nosos, dende Erikson, anos, en realidade, xuntos que explica como todo iso funciona. E é de preto de 10 minutos ou máis longo. Entón, imos dar-lle, agora, Guerreiros da rede. [Música tocando] NARRATOR: Por primeira vez na historia persoas e máquinas son traballando xuntos, realizando un soño - unha forza de unión que non coñece fronteiras xeográficas, sen independentemente de raza, credo ou cor - unha nova era onde a comunicación verdadeiramente une as persoas. Este é o amencer da rede. Quere saber como funciona? Prema aquí para comezar a súa xornada na rede. Agora, exactamente o que pasou cando premeu na ligazón? Vostede comezou un fluxo de información. Esta información viaxa para abaixo na súa propia sala de correo electrónico persoal, cando o Sr Paquetes IP-lo, rótula-lo, e envia-lo no seu camiño. Cada paquete é limitada no seu tamaño. A sala de correo ten que decidir como dividir a información, e como embalaxe-lo. Agora, o paquete precisa unha etiqueta que contén información importante, tales como o enderezo do remitente, o enderezo do destinatario, e do tipo de paquete é. Porque este paquete específico vai a Internet, tamén obtén un enderezo do servidor proxy, que posúe unha función especial, como veremos máis adiante. O paquete é agora lanzado para a súa rede de área local, ou LAN. Esa rede se usa para conectar todos os ordenadores locais, routers, impresoras, etc para obter información cambio dentro das paredes físicas de o edificio. A LAN é un lugar moi descontrolada, E, por desgraza, os accidentes pode pasar. A autoestrada da rede local é embalado con todo tipo de información. Estes son os paquetes IP, paquetes Novell, AppleTalk paquetes - eles están indo contra tráfico, como de costume. O router local le para enfrontar e, se é necesario, para levantar o paquete outra rede. Ah, o router - un símbolo de control nunha aparentemente mundo desorganizado. Encamiñador: Oops, desculpe por iso. Imos poñer iso aquí, este aquí. Este móvese aquí. Iso se move aquí. Eu non me gusta deste. Imos pasar este. Este vai aquí. [Inaudível] Dito doutro jangle aquí. Imos poñer iso aquí. Nah, eu vou con isto. Imos poñer iso aquí. Narrador: Alí está el - sistemático, insensible, metódico, conservadora e, ás veces, non é ben ata a velocidade. Pero polo menos é exacta, na súa maior parte. Encamiñador: Pon aquel alí. Que se vai alí, que se vai alí, e este vai alí. Ben, outro vai alí. Iso vale aquí. [Inaudível] NARRATOR: Como os paquetes deixar o router, eles fan o seu camiño para o intranet corporativa e cabeza a rede router. Un pouco máis eficiente que o router, roteador switch desempeña rápido e solto con paquetes IP, enrutamento habilmente Los no seu camiño - un asistente de máquinas dixital, se quere. Encamiñador CLAVE: Aquí imos nós. Aí vén outro. E é outra. Asistir tanto, nai. Aquí vai. Whoopi, en torno á volta. Ei, alí, alí. Máis á esquerda. A dereita. Máis á esquerda. A dereita. É iso aí. Aquí vén. El lanza, el marca. Vai. Hey Wayne, coidado, aquí ven outra. Oh, aquí imos nós. Narrador: Como os paquetes chegan ao seu destino, son collidos polo interface de rede, listo para ser enviou ao seguinte nivel - neste caso, o proxy. O proxy é utilizado por moitas empresas como unha especie de home de media, a fin de diminuír a carga no seu web conexión e, para razóns de seguridade, así. Como verás, os paquetes son todas de diferentes tamaños, dependendo do seu contido. O proxy abre o paquete e busca ao enderezo web ou URL. Función de se o enderezo é aceptable, o paquete é enviado a a internet. Hai, con todo, algúns enderezos que non cumprir coa aprobación do o proxy - dicir, incorporado ou orientacións de xestión. Estes son sumariamente tratados. Nós imos ter nada diso. Para os que o fan, é na estrada de novo. A continuación, o firewall. O firewall corporativo serve a dous propósitos. Ela impide que algunhas cousas moi desagradables de Internet de chegar ao Intranet, e que tamén pode impedir información confidencial da empresa sendo enviados para a internet. Despois de atravesar o cortalumes, un router recolle o paquete e poñelas un camiño máis estreito, ou ancho de banda, como adoitamos dicir. Obviamente, a estrada non é ancha o suficiente para leva-los todos. Agora pode preguntar o que pasa con todos os paquetes que non fan ao longo do camiño. Ben, cando o señor IP non recibe unha recoñecemento de que un paquete foi recibiu, no seu tempo, simplemente envía un paquete para o substituír. Agora estamos preparados para entrar no mundo de internet, unha tea de araña de redes interconectadas que abranguen todo o noso globo. Aquí, routers e switches establecen conexións entre redes. Agora, a rede é unha totalmente diferente ambiente do que vai atopar dentro os muros de protección da súa rede local. Aquí, é o Vello Oeste - moito espazo, moita oportunidades, moitas cousas para explotar, e lugares para ir. Grazas a moi pouco control e regulación, novas ideas atopar fértil chan para empurrar o sobre das súas posibilidades. Pero por mor desa liberdade, tamén algúns perigos se esconden. Vostede non sabe cando vai atopar o temido ping da morte, unha especial versión dunha solicitude normal de ping algún idiota penso ata desorde hospedeiros inocentes. O camiño dos nosos paquetes tomar pode ser a través de satélite, liñas telefónicas, sen fíos, ou mesmo cabo transoceânico. Non sempre ter o máis rápido, ou menores, rutas posibles. Pero eles van chegar alí un día. Quizais sexa por iso que ás veces é chamado a World Wide espera. Pero cando todo funciona sen problemas, pode evitar o globo cinco veces máis na caída dun sombreiro, literalmente - e todo para o custo de unha chamada local, ou menos. Preto do fin do noso destino, imos atopar outro cortalumes. Dependendo da súa perspectiva como un paquete de datos, a devasa pode ser un bastión de seguridade ou un adversario temido. Todo depende de que lado estás? e cales son as súas intencións. O firewall está deseñado para deixar entrar só os paquetes que respecten os criterios. Este firewall funciona nas portas 80 e 25. Todos os intentos de entrar a través doutro portas están pechadas para o negocio. A porta 25 é utilizada para paquetes de correo, mentres a porta 80 é a porta de entrada para paquetes de Internet para o servidor web. Dentro do firewall, os paquetes son seleccionados máis profundamente. Algúns paquetes de facelo facilmente a través de alfandegueiras, mentres que outros mirar un pouco dubidosa. O oficial firewall non é facilmente enganado, como cando este ping paquete morte intenta disfrazarse como un paquete de chamada normal. Devasa: Next. Aceptar. Dalle. Iso é OK. Sen problemas. Teña un bo día. Sexa aquí. Bye. Narrador: Para os paquetes de sorte suficiente para facelo tan lonxe, o viaxe está case no fin. É só unha programación na interface para ser levado para o servidor web. Hoxe en día, un servidor web pode ser executado en moitos as cousas, desde un Exposicións, a unha webcam, para o ordenador na súa mesa. Ou por que non a súa neveira? Coa configuración adecuada, pode atopar se ten os ingredientes para polo cacciatore, ou se ten que ir á tenda. Lembre, este é o alvorecer da rede. Case todo é posible. Un por un, os paquetes son recibidos, aberto, e descomprimido. A información que conteñen - é dicir, a súa solicitude para obter información - envíase á web Application Server. O paquete en si é reciclado, listo para utilizarse de novo, e cheo co seu información solicitada, dirixida e enviar, no seu camiño de volta para ti, de volta alén do firewall, routers, e en a través de Internet, de volta a través seu firewall corporativo, e no seu interfaz, listo para proporcionar o seu navegador coas informacións solicitadas - dicir, nesta película. Satisfeitos co seu esforzo e confiando nun mundo mellor, a nosa fiel paquetes de datos cabalgan alegremente en o pór do sol do outro día, sabendo enteiramente, serviron seus mestres tamén. Agora, non é un final feliz? COLUMNA 1: Iso, entón, é como funciona a web. A través do conxunto de problemas de sete vai entender mellor isto e vai aprender un pouco de HTML, PHP, e moito máis. Máis que na especificación que vai saír o venres. E imos velo na luns.