1 00:00:00,000 --> 00:00:03,395 >> [REPRODUCCIÓN DE MÚSICA] 2 00:00:03,395 --> 00:00:13,100 3 00:00:13,100 --> 00:00:15,570 >> DAVID J. MALAN: Así que sólo querido calmar a. 4 00:00:15,570 --> 00:00:18,260 Me volvería a repetir exactamente lo Scaz dicho de la memoria institucional. 5 00:00:18,260 --> 00:00:20,350 CS50 ha sido de alrededor de unos 20 años en Harvard. 6 00:00:20,350 --> 00:00:22,280 Y la realidad es, desde los de la tercera edad para abajo, 7 00:00:22,280 --> 00:00:25,045 hay anualmente tranquilidad que los estudiantes de primer año, los estudiantes de segundo año, 8 00:00:25,045 --> 00:00:26,870 y los menores de edad y También las personas mayores teniendo 9 00:00:26,870 --> 00:00:30,360 CS50, que terminan haciendo bien. 10 00:00:30,360 --> 00:00:32,680 >> La realidad es que los estudiantes no dejéis CS50. 11 00:00:32,680 --> 00:00:35,740 De hecho, en los casos raros donde hemos tenido Es o Fs, 12 00:00:35,740 --> 00:00:37,990 ha sido realmente debido circunstancias extenuantes, 13 00:00:37,990 --> 00:00:39,840 ya sea médica o personal. 14 00:00:39,840 --> 00:00:41,830 Ds son increíblemente raro también. 15 00:00:41,830 --> 00:00:45,270 Y puedo decir con comodidad, aunque normalmente no revelan las estadísticas, 16 00:00:45,270 --> 00:00:48,450 pero dado que no hay memoria institucional aquí en absoluto, 17 00:00:48,450 --> 00:00:51,810 una mayoría de estudiantes en CS50 no terminar recibiendo A los grados de rango. 18 00:00:51,810 --> 00:00:54,720 Una parte significativa terminan terminando en la serie B también. 19 00:00:54,720 --> 00:00:57,490 >> Así que, aunque es posible que igualando en sus tríos mente 20 00:00:57,490 --> 00:01:00,690 con 60% y por lo tanto Ds, o Cs, o similares, 21 00:01:00,690 --> 00:01:02,530 realmente no se alinea con la realidad. 22 00:01:02,530 --> 00:01:05,238 De hecho, queremos decir exactamente lo que decir al comienzo de la expresión 23 00:01:05,238 --> 00:01:08,380 que tantos estudiantes en CS50, ambos en Cambridge y aquí en New Haven, 24 00:01:08,380 --> 00:01:10,220 nunca han tomado un curso CS antes. 25 00:01:10,220 --> 00:01:13,090 Y lo que en verdad importa en última instancia, es donde se termina en la semana 12 26 00:01:13,090 --> 00:01:15,882 con respecto a ti mismo en la semana cero. 27 00:01:15,882 --> 00:01:17,590 Ahora tenemos múltiples pistas en el curso 28 00:01:17,590 --> 00:01:20,548 como usted sabes-- menos cómodo, más cómodo, en algún lugar en el medio. 29 00:01:20,548 --> 00:01:23,790 Y de hecho, cuando llegues estadísticas sobre el concurso de esta semana, 30 00:01:23,790 --> 00:01:27,460 no se desanime si, sobre todo si sientes que estás alrededor de la media 31 00:01:27,460 --> 00:01:30,780 o por debajo de la media o la mediana, sobre todo porque no lo hacemos necesariamente 32 00:01:30,780 --> 00:01:33,560 tomar todas esas demografía en cuenta la mitad del semestre 33 00:01:33,560 --> 00:01:35,000 con las estadísticas de clasificación. 34 00:01:35,000 --> 00:01:37,250 >> En otras palabras, sabemos estadísticamente cada año 35 00:01:37,250 --> 00:01:39,570 que los estudiantes que son menos cómodo, hacer un poco peor en el cuestionario. 36 00:01:39,570 --> 00:01:42,050 Y los estudiantes que se sienten más cómodos hacer un poco mejor en el concurso. 37 00:01:42,050 --> 00:01:45,430 Pero por esa promesa en el plan de estudios y también en la primera semana de clases, 38 00:01:45,430 --> 00:01:46,880 tomamos todo eso en cuenta. 39 00:01:46,880 --> 00:01:48,900 >> De hecho, a finales de año, lo que terminamos haciendo 40 00:01:48,900 --> 00:01:52,154 está normalizando todos las partituras través secciones, tanto en Cambridge 41 00:01:52,154 --> 00:01:54,570 y ahora aquí en New Haven, lo que significa tener en cuenta 42 00:01:54,570 --> 00:01:57,310 los estilos dispares, la dispar dureza, la distinta suerte 43 00:01:57,310 --> 00:02:00,722 de personalidades que el individuo TA tienen aquí y en Cambridge 44 00:02:00,722 --> 00:02:02,930 de modo que usted no está en un inconveniente incluso si sólo 45 00:02:02,930 --> 00:02:06,120 suceder haber tenido un TF o un TA que ha sido un poco más duro en usted 46 00:02:06,120 --> 00:02:07,170 en tu mente. 47 00:02:07,170 --> 00:02:10,139 >> Dos, que tienen en cuenta la comodidad nivel y el fondo real, o la falta 48 00:02:10,139 --> 00:02:13,310 del mismo, al tomar puntuaciones de las pruebas en cuenta. 49 00:02:13,310 --> 00:02:14,830 Así que esos dos se tienen en cuenta. 50 00:02:14,830 --> 00:02:17,142 Y al final del día, porque siempre es el caso 51 00:02:17,142 --> 00:02:19,100 que un estudiante terminó en una sección menos cómodo 52 00:02:19,100 --> 00:02:24,250 cuando él o ella realmente pertenecía en una en el medio o viceversa, 53 00:02:24,250 --> 00:02:26,230 todo es tan muy individualizada. 54 00:02:26,230 --> 00:02:29,560 De hecho, obtendrá molesto por nosotros en Al final del plazo, cuando llegamos tarde 55 00:02:29,560 --> 00:02:32,630 la presentación de sus grados, ya que con Scaz, y Jason, y Andy, y yo, 56 00:02:32,630 --> 00:02:35,430 y el equipo habrá hecho en Cambridge es, literalmente, 57 00:02:35,430 --> 00:02:38,480 tener cientos de correos electrónicos de ida y adelante con todo centenar de los cursos 58 00:02:38,480 --> 00:02:41,279 TAS, aquí y en Cambridge, preguntándoles qué 59 00:02:41,279 --> 00:02:44,070 que piensan de todos sus estudiantes sobre la base de un proyecto de las calificaciones. 60 00:02:44,070 --> 00:02:46,230 Y todo lo que hay después es increíblemente individualizada. 61 00:02:46,230 --> 00:02:49,230 Así que en la medida en que lleguemos a conocerte en horas de oficina, secciones y más, 62 00:02:49,230 --> 00:02:51,350 todo eso también se tiene en cuenta. 63 00:02:51,350 --> 00:02:55,210 >> Así que, aunque tendemos a usar este de cinco escala de puntos, por favor, desapegarse 64 00:02:55,210 --> 00:02:57,492 a partir de la suposición de que un tres es de hecho un 60%. 65 00:02:57,492 --> 00:02:58,450 Está destinado a ser bueno. 66 00:02:58,450 --> 00:03:01,360 Y los ayudantes de cátedra se cargan en el arranque plazo 67 00:03:01,360 --> 00:03:04,050 para tratar de mantener las puntuaciones en los grupos de dos y de tres en tres, 68 00:03:04,050 --> 00:03:06,590 y cuatro patas se extienden para que podamos en realidad tienen espacio para crecer. 69 00:03:06,590 --> 00:03:08,610 Y en realidad tenemos un criterio por el cual 70 00:03:08,610 --> 00:03:11,086 podemos darle utilidad retroalimentación en cuanto a cómo lo está haciendo 71 00:03:11,086 --> 00:03:12,210 y cómo se está progresando. 72 00:03:12,210 --> 00:03:15,130 Así que por favor no tomar eso en serio. 73 00:03:15,130 --> 00:03:20,565 >> ¿Hay alguna pregunta que puedo ayudar dirección o preocupaciones que pueden ayudar a mitigar? 74 00:03:20,565 --> 00:03:23,800 O promesas que puedo tratar de mantener? 75 00:03:23,800 --> 00:03:24,690 ¿No? 76 00:03:24,690 --> 00:03:25,330 OK. 77 00:03:25,330 --> 00:03:26,010 >> Correcto. 78 00:03:26,010 --> 00:03:28,970 Así que con eso dicho, esto es CS50. 79 00:03:28,970 --> 00:03:31,670 Este es el comienzo de la semana de seis aquí en New Haven. 80 00:03:31,670 --> 00:03:33,820 Comencemos con una breve oscurecimiento de las luces 81 00:03:33,820 --> 00:03:37,439 para sentar las bases para el contenido actual. 82 00:03:37,439 --> 00:03:38,105 [REPRODUCCIÓN DE VÍDEO] 83 00:03:38,105 --> 00:03:44,045 [REPRODUCCIÓN DE MÚSICA] 84 00:03:44,045 --> 00:03:46,600 -Él Vino con un mensaje. 85 00:03:46,600 --> 00:03:50,300 86 00:03:50,300 --> 00:03:52,900 Con un protocolo de todos los suyos. 87 00:03:52,900 --> 00:04:06,417 88 00:04:06,417 --> 00:04:13,090 Él vino a un mundo de cortafuegos fresco, routers indiferentes, y los peligros mucho peores 89 00:04:13,090 --> 00:04:16,079 que la muerte. 90 00:04:16,079 --> 00:04:21,079 Es rápido, es fuerte, él es TCP / IP. 91 00:04:21,079 --> 00:04:23,120 Y tiene su dirección. 92 00:04:23,120 --> 00:04:25,820 93 00:04:25,820 --> 00:04:29,268 Guerreros de la red. 94 00:04:29,268 --> 00:04:29,917 >> [FIN DE REPRODUCCIÓN] 95 00:04:29,917 --> 00:04:31,000 DAVID J. MALAN: De acuerdo. 96 00:04:31,000 --> 00:04:32,030 Esto es CS50. 97 00:04:32,030 --> 00:04:33,820 Este es el comienzo de la sexta semana. 98 00:04:33,820 --> 00:04:37,270 Y este es el comienzo de nuestra mirada en la programación de Internet y la web. 99 00:04:37,270 --> 00:04:41,220 Y, quizás lo más emocionante, hoy marca la transición para nosotros 100 00:04:41,220 --> 00:04:43,780 de nuestra línea de comandos mundo de la C a la web 101 00:04:43,780 --> 00:04:47,020 basada mundo de PHP y HTML, y CSS y SQL y JavaScript, 102 00:04:47,020 --> 00:04:49,800 y mucho más que está en el horizonte. 103 00:04:49,800 --> 00:04:53,390 >> Pero en primer lugar, se ha llegado a nuestra atención al caminar por el campus que hay 104 00:04:53,390 --> 00:04:57,914 una cierta baño aquí en Nueva Asilo llama la sala de Harvard, que 105 00:04:57,914 --> 00:04:59,080 es un poco de color gris aquí. 106 00:04:59,080 --> 00:05:03,830 Pero de hecho, alguien fue a la vez y los gastos de grabado en la habitación de Harvard 107 00:05:03,830 --> 00:05:05,700 aquí en esta habitación. 108 00:05:05,700 --> 00:05:07,790 Gracias por eso. 109 00:05:07,790 --> 00:05:11,020 No puedo decir que tenemos una analógica en Cambridge, sin embargo, 110 00:05:11,020 --> 00:05:14,060 pero yo creo que tenemos un pequeño proyecto para nosotros ahora cuando volvamos. 111 00:05:14,060 --> 00:05:15,890 Así que gracias por eso. 112 00:05:15,890 --> 00:05:18,340 >> Así que una rápida mirada hacia atrás en donde lo dejamos la semana pasada 113 00:05:18,340 --> 00:05:21,010 y donde vas próximo semana con problemas fijó cinco. 114 00:05:21,010 --> 00:05:24,350 Así que en el problema fijó cinco, podrás el reto de implementar un corrector ortográfico. 115 00:05:24,350 --> 00:05:26,630 Y para hacer eso, podrás entregó un texto bastante grande 116 00:05:26,630 --> 00:05:29,160 presentar ante como 140.000 palabras en inglés. 117 00:05:29,160 --> 00:05:32,610 Y usted será desafiado para decidir en una estructura de datos con la que se 118 00:05:32,610 --> 00:05:35,340 quiere cargar todas esas palabras en la memoria, y en la memoria RAM, 119 00:05:35,340 --> 00:05:38,470 y luego aplicar un par de funciones, uno de los cuales va a ser comprobar. 120 00:05:38,470 --> 00:05:41,555 Por lo que cuando pasa un argumento, una palabra, el control de funcionamiento 121 00:05:41,555 --> 00:05:43,430 simplemente va a tener decir verdadero o falso, 122 00:05:43,430 --> 00:05:44,990 se trata de una palabra en el diccionario. 123 00:05:44,990 --> 00:05:47,110 >> Pero vas a tener un poco de discreción diseño y desafíos 124 00:05:47,110 --> 00:05:48,568 cuando se trata de la aplicación de esta. 125 00:05:48,568 --> 00:05:51,250 En la implementación más simple, ciertamente se podría 126 00:05:51,250 --> 00:05:53,960 aplicar un corrector ortográfico en el diccionario subyacente 127 00:05:53,960 --> 00:05:55,380 con qué tipo de estructura de datos? 128 00:05:55,380 --> 00:05:57,796 Sólo tiene que guardar en su conjunto montón de cadenas en la memoria? 129 00:05:57,796 --> 00:06:00,074 ¿Cuál es el camino para responder desde la semana dos, tal vez? 130 00:06:00,074 --> 00:06:00,740 AUDIENCIA: Array. 131 00:06:00,740 --> 00:06:01,500 DAVID J. MALAN: Puede utilizar una matriz. 132 00:06:01,500 --> 00:06:02,750 Y eso no es tan malo. 133 00:06:02,750 --> 00:06:05,631 Pero usted no necesariamente sabe de antemano qué tan grande de un array 134 00:06:05,631 --> 00:06:08,630 vas a necesitar, si no lo hace conocer el archivo necesariamente por adelantado. 135 00:06:08,630 --> 00:06:10,110 Así que vas a tener que utilizar un poco de engaño 136 00:06:10,110 --> 00:06:11,970 como malloc, como que empezamos a utilizar. 137 00:06:11,970 --> 00:06:13,977 O podríamos abordar que la preocupación por el uso 138 00:06:13,977 --> 00:06:16,810 ¿qué otra estructura de datos que es sido una especie de mejora marginal 139 00:06:16,810 --> 00:06:17,894 en una matriz? 140 00:06:17,894 --> 00:06:18,810 AUDIENCIA: lista Vinculado. 141 00:06:18,810 --> 00:06:21,270 DAVID J. MALAN: Como una vinculadas lista, en la que tenemos un poco de dinamismo. 142 00:06:21,270 --> 00:06:22,686 Pero hay un poco más de gasto. 143 00:06:22,686 --> 00:06:24,150 Tenemos punteros para mantener. 144 00:06:24,150 --> 00:06:25,890 Y aún no ha codificado esta , pero definitivamente hay 145 00:06:25,890 --> 00:06:28,473 a ser un poco más complejidad que sólo mediante corchetes 146 00:06:28,473 --> 00:06:30,080 y saltando alrededor de una matriz. 147 00:06:30,080 --> 00:06:33,340 >> Pero el tiempo de funcionamiento de una matriz, si estás buscando una palabra, 148 00:06:33,340 --> 00:06:34,179 podría iniciar la sesión de n. 149 00:06:34,179 --> 00:06:35,970 Pero, de nuevo, podría ser un poco no trivial 150 00:06:35,970 --> 00:06:38,734 a no construir esa matriz conocer el tamaño de antelación. 151 00:06:38,734 --> 00:06:41,150 Una lista enlazada embargo, si usted simplemente almacenar un montón de cuerdas 152 00:06:41,150 --> 00:06:43,300 en una lista enlazada, ¿cuál es su límite superior 153 00:06:43,300 --> 00:06:46,920 corriendo el tiempo va a ser para buscar a favor o comprobar una palabra en la lista? 154 00:06:46,920 --> 00:06:47,700 >> AUDIENCIA: n. 155 00:06:47,700 --> 00:06:50,575 >> DAVID J. MALAN: Sí, gran O de n o lineal porque en el peor de los casos, 156 00:06:50,575 --> 00:06:52,640 la palabra es como una palabra Z todo el camino al final. 157 00:06:52,640 --> 00:06:55,350 Y a causa de una lista enlazada, porque esas flechas de forma predeterminada, 158 00:06:55,350 --> 00:06:58,280 en una lista simplemente enlazada, sólo van de una dirección a la otra, 159 00:06:58,280 --> 00:06:59,590 no se puede saltar. 160 00:06:59,590 --> 00:07:01,160 Usted tiene que seguir todos ellos. 161 00:07:01,160 --> 00:07:05,505 >> Así que nos propusimos al final de la semana pasada, semana cinco, que hay mejores maneras. 162 00:07:05,505 --> 00:07:08,727 Y de hecho, el santo grial sería realmente constante de tiempo 163 00:07:08,727 --> 00:07:10,560 por lo que cuando usted quiere para buscar una palabra, 164 00:07:10,560 --> 00:07:13,370 obtener una respuesta inmediata con independencia de cuántas palabras ya están 165 00:07:13,370 --> 00:07:14,350 en su diccionario. 166 00:07:14,350 --> 00:07:17,680 >> Esta es una representación artística de lo que podríamos llamar una tabla hash. 167 00:07:17,680 --> 00:07:21,900 Y una tabla hash es una especie de agradable amalgama de un array-- dibujada verticalmente 168 00:07:21,900 --> 00:07:26,416 aquí, sólo porque-- y luego un vinculados películas-- dibujar horizontalmente aquí. 169 00:07:26,416 --> 00:07:28,790 Y la tabla hash puede ser implementado en racimos de maneras. 170 00:07:28,790 --> 00:07:34,110 Este extracto de un libro de texto que sucede utilizar las fechas de nacimiento de estas personas 171 00:07:34,110 --> 00:07:38,940 como el medio por el cual se decidir donde poner el nombre de alguien. 172 00:07:38,940 --> 00:07:41,230 Así que este es un diccionario si va de nombres. 173 00:07:41,230 --> 00:07:45,240 Y con el fin de agilizar la puesta nombres en esta estructura de datos, 174 00:07:45,240 --> 00:07:49,280 miran, al parecer, de estas personas Fechas de nacimiento con respecto a un mes. 175 00:07:49,280 --> 00:07:50,570 >> Así que es el 1 al 31. 176 00:07:50,570 --> 00:07:52,910 Y olvídate de febrero y casos de esquina por el estilo. 177 00:07:52,910 --> 00:07:57,050 Y si su cumpleaños es el enero 1, o 1 de febrero o el 1 de diciembre de 178 00:07:57,050 --> 00:07:59,890 usted va a terminar en la primera parte superior de la cadena hacia arriba. 179 00:07:59,890 --> 00:08:02,150 Si su fecha de nacimiento es al igual que el día 25 de un mes, 180 00:08:02,150 --> 00:08:04,567 usted va a terminar en el número 25 de cubo. 181 00:08:04,567 --> 00:08:07,400 Y si ya hay alguien allí en cualquiera de esos lugares, lo 182 00:08:07,400 --> 00:08:10,470 empezar a hacer con ellos vinculados listas está cosiendo juntos 183 00:08:10,470 --> 00:08:14,320 para que pueda tener una arbitraria número de personas, ni nada, 184 00:08:14,320 --> 00:08:15,580 en ese lugar. 185 00:08:15,580 --> 00:08:18,400 >> Así que hay una especie de mezcla de constante de tiempo para hash. 186 00:08:18,400 --> 00:08:21,160 Y para discutir algo significa tomar como entrada como una persona, 187 00:08:21,160 --> 00:08:25,360 o su nombre, o su nacimiento fecha y, a continuación, decidir sobre alguna salida 188 00:08:25,360 --> 00:08:29,780 sobre la base de que, como mirar a su cumpleaños y la salida del uno al 31. 189 00:08:29,780 --> 00:08:31,900 >> Así que es posible que tenga un poco de tiempo lineal, 190 00:08:31,900 --> 00:08:34,429 pero en realidad, y como en el caso de un problema fijó cinco, 191 00:08:34,429 --> 00:08:36,220 nosotros no vamos a ser trabajando en conjunto P de cinco 192 00:08:36,220 --> 00:08:40,059 tanto de funcionamiento asintótica tiempo, como la lentitud teórico 193 00:08:40,059 --> 00:08:41,809 con la que un algoritmo podría funcionar. 194 00:08:41,809 --> 00:08:44,330 Vamos a cuidar de el número real de segundo 195 00:08:44,330 --> 00:08:47,350 y la cantidad real de memoria, el número real de bytes de memoria 196 00:08:47,350 --> 00:08:48,140 que está utilizando. 197 00:08:48,140 --> 00:08:52,710 Así que, francamente, que tiene un enorme cadena de un millón de personas 198 00:08:52,710 --> 00:08:56,710 es muy muy lento si usted está buscando de un nombre en una lista de tamaño millones. 199 00:08:56,710 --> 00:08:59,830 >> Pero lo que si se divide esa lista hasta en 31 partes? 200 00:08:59,830 --> 00:09:04,400 Busca 1/31 de ese súper larga lista, en la realidad, 201 00:09:04,400 --> 00:09:05,741 está seguro que va a ser más rápido. 202 00:09:05,741 --> 00:09:07,240 Asintóticamente, es la misma cosa. 203 00:09:07,240 --> 00:09:08,860 No eres más que dividir por un factor constante. 204 00:09:08,860 --> 00:09:10,651 Y recordar que tirar esas cosas. 205 00:09:10,651 --> 00:09:13,486 Pero, en realidad, va para ser 31 veces más rápido. 206 00:09:13,486 --> 00:09:16,110 Y eso es lo que vamos a empezar a aprovechar en P puesto cinco. 207 00:09:16,110 --> 00:09:18,750 >> Así P fijó cinco demasiado también Propone que se tiene en cuenta 208 00:09:18,750 --> 00:09:21,810 un poco más sofisticado estructura de datos llamado un trie. 209 00:09:21,810 --> 00:09:24,420 Y un trie es sólo una árbol como la estructura de datos. 210 00:09:24,420 --> 00:09:26,672 Pero en lugar de tener pequeños círculos o rectángulos 211 00:09:26,672 --> 00:09:28,380 y cuando mantengamos dibujo para los nodos, que en realidad 212 00:09:28,380 --> 00:09:30,840 tiene arrays enteras para sus nodos. 213 00:09:30,840 --> 00:09:33,430 Y a pesar de que se trata de una poco abstracto aquí para mirar, 214 00:09:33,430 --> 00:09:35,450 Zamyla en el conjunto P paseo a través de le guiará 215 00:09:35,450 --> 00:09:37,580 a través de más detalles sobre esto. 216 00:09:37,580 --> 00:09:39,980 Esta es una estructura de datos que en lugar inteligentemente 217 00:09:39,980 --> 00:09:44,130 podría tener cada nodo siendo una matriz de tamaño 26, la A a la Z o cero 218 00:09:44,130 --> 00:09:45,320 a través de 25. 219 00:09:45,320 --> 00:09:49,260 Y cuando desee insertar una persona de nombrar a esta estructura de datos o encontrar 220 00:09:49,260 --> 00:09:53,990 él o ella, lo que haces, si el nombre es como Maxwell, M-A-X-W-E-L-L, 221 00:09:53,990 --> 00:09:57,900 que primero mire M. Y entonces saltar a la ubicación correspondiente M 222 00:09:57,900 --> 00:09:59,100 en la primera matriz. 223 00:09:59,100 --> 00:10:02,400 A continuación, saltar a A, el primero ubicación en la siguiente matriz, 224 00:10:02,400 --> 00:10:03,610 siguiendo las flechas. 225 00:10:03,610 --> 00:10:08,300 Entonces X, entonces W, entonces E, entonces L, entonces L, y luego tal vez algún fin especial 226 00:10:08,300 --> 00:10:11,850 carácter, algunos centinela que dice una palabra se detiene aquí. 227 00:10:11,850 --> 00:10:14,780 >> Y lo que es bueno de esto-- y tener en cuenta que la imagen aquí, 228 00:10:14,780 --> 00:10:16,797 Observe cómo bordes de cada variedad se cortan. 229 00:10:16,797 --> 00:10:19,630 Eso es sólo porque esto haría ser masiva y horrible para mirar 230 00:10:19,630 --> 00:10:20,338 en en la pantalla. 231 00:10:20,338 --> 00:10:21,820 Así que ha extraído. 232 00:10:21,820 --> 00:10:25,920 Lo bueno de este enfoque es que si hay un millón de nombres ya 233 00:10:25,920 --> 00:10:30,890 en esta estructura de datos, la cantidad de pasos Qué me lleve para insertar Maxwell? 234 00:10:30,890 --> 00:10:36,450 M-A-X-W-E-L-L-- como siete ish pasos para insertar o buscar Maxwell. 235 00:10:36,450 --> 00:10:39,320 >> Supongamos que hay un billón nombres en esta estructura de datos. 236 00:10:39,320 --> 00:10:41,900 ¿Cuántos pasos toma yo busco Maxwell? 237 00:10:41,900 --> 00:10:43,450 M-A-X- todavía siete. 238 00:10:43,450 --> 00:10:45,770 >> Y ahí está el la llamada constante de tiempo. 239 00:10:45,770 --> 00:10:47,960 Si suponemos que las palabras son sin duda limitada 240 00:10:47,960 --> 00:10:52,150 por 20 caracteres o 46 caracteres, o algún razonablemente pequeño número entero, 241 00:10:52,150 --> 00:10:53,790 entonces es efectivamente una constante. 242 00:10:53,790 --> 00:10:57,790 Y así la inserción y búsqueda un trie es súper rápido. 243 00:10:57,790 --> 00:10:59,540 Por supuesto, nunca conseguir cualquier cosa de forma gratuita. 244 00:10:59,540 --> 00:11:02,740 Y a pesar de que es probable que no han zambullido en P puesto de cinco, sin embargo, 245 00:11:02,740 --> 00:11:06,596 qué precio estamos pagando probablemente a conseguir que el mayor tiempo de la eficiencia sabio? 246 00:11:06,596 --> 00:11:07,470 >> AUDIENCIA: Memoria. 247 00:11:07,470 --> 00:11:08,390 >> DAVID J. MALAN: Memoria, verdad? 248 00:11:08,390 --> 00:11:10,240 Quiero decir, no hemos dibujado el cuadro completo aquí. 249 00:11:10,240 --> 00:11:12,823 Este extracto del libro de texto no ha dibujado todos los arrays. 250 00:11:12,823 --> 00:11:16,687 Hay una gran cantidad de memoria y justo punteros nulos que no están siendo utilizados. 251 00:11:16,687 --> 00:11:17,520 Así que es una solución de compromiso. 252 00:11:17,520 --> 00:11:21,050 Y que va a dejar a usted en P set de cinco para decidir en qué dirección quiere ir. 253 00:11:21,050 --> 00:11:24,460 >> Ahora bien, esta idea de hash, como a un lado, es en realidad muy frecuente. 254 00:11:24,460 --> 00:11:27,980 Así que para discutir una forma de valor, bastante simplemente, tomar algo como entrada 255 00:11:27,980 --> 00:11:29,220 y producir una salida. 256 00:11:29,220 --> 00:11:31,270 Así que una función hash es sólo un algoritmo. 257 00:11:31,270 --> 00:11:34,990 >> Y, en general, un propósito funciones hash en la vida es tomar algo como entrada 258 00:11:34,990 --> 00:11:39,655 y producir un número como de salida, como el número uno hasta el 31 o la A a la Z, 259 00:11:39,655 --> 00:11:40,960 cero a 25. 260 00:11:40,960 --> 00:11:44,250 Así que toma una salida compleja y se contrae hacia abajo a algo 261 00:11:44,250 --> 00:11:46,310 eso es un poco más útil y manejable. 262 00:11:46,310 --> 00:11:49,250 >> Y lo que resulta en una función muy popular 263 00:11:49,250 --> 00:11:51,160 que el mundo de la seguridad y del mundo humano 264 00:11:51,160 --> 00:11:53,060 estado utilizando durante años se llama SHA1. 265 00:11:53,060 --> 00:11:56,260 Este es un muy elegante matemática fórmula que hace básicamente eso. 266 00:11:56,260 --> 00:11:58,870 >> Se toma una muy grande trozo de ceros y ones-- 267 00:11:58,870 --> 00:12:01,530 que podría ser un megabyte de largo, un long-- gigabyte 268 00:12:01,530 --> 00:12:05,930 y se contrae hacia abajo para Sólo unos pocos bits, unos pocos bits, 269 00:12:05,930 --> 00:12:09,082 para que tenga un número como uno a través de 31, o de la A a la Z. 270 00:12:09,082 --> 00:12:11,540 Pero, en realidad, es un poco más grande que sólo la A a la Z. 271 00:12:11,540 --> 00:12:16,640 >> Por desgracia, estamos en la cúspide de lo alguien en broma llama SHAppening 272 00:12:16,640 --> 00:12:19,840 por lo que el mundo está a punto probablemente terminará en unos pocos meses 273 00:12:19,840 --> 00:12:22,617 tiempo porque los investigadores, Sólo la semana pasada, 274 00:12:22,617 --> 00:12:25,700 publicó un informe que, contrariamente a lo que los investigadores de seguridad han pensado 275 00:12:25,700 --> 00:12:29,810 durante algún tiempo, con sólo gasto de alrededor, ¿qué era, 276 00:12:29,810 --> 00:12:33,420 Creo que era de $ 175,000-- mucho dinero, 277 00:12:33,420 --> 00:12:36,540 pero no más allá del alcance de los particularmente malos chicos malos, 278 00:12:36,540 --> 00:12:41,560 o particularmente mala países- $ 175,000 Usted podría comprar una gran cantidad de servidores alquilados 279 00:12:41,560 --> 00:12:42,690 espacio en la nube. 280 00:12:42,690 --> 00:12:44,619 Y volveremos a la nube en poco tiempo. 281 00:12:44,619 --> 00:12:47,410 Pero sólo significa alquilar servidor como espacio en los servidores de Microsoft, 282 00:12:47,410 --> 00:12:50,285 o la de Google o Amazon, o la como donde se puede pagar por el minuto 283 00:12:50,285 --> 00:12:51,670 utilizar los ordenadores de otros. 284 00:12:51,670 --> 00:12:54,250 >> Y resulta que si usted puede pagar otra persona para pedir prestado sus ordenadores 285 00:12:54,250 --> 00:12:56,730 y ejecutar código que has escrito en él y utilizar muy elegante 286 00:12:56,730 --> 00:13:01,580 matemáticas, usted puede esencialmente figura cómo función hash de alguien es 287 00:13:01,580 --> 00:13:05,320 trabajo, y dada su salida, ingeniería inversa cuál es su entrada. 288 00:13:05,320 --> 00:13:08,590 Y para los propósitos de la actualidad, baste decir, esto es malo. 289 00:13:08,590 --> 00:13:12,540 Debido a que las funciones de hash SHA1 y como lo son super comúnmente 290 00:13:12,540 --> 00:13:17,050 utilizado en aplicaciones de seguridad, conexiones cifradas en la web, 291 00:13:17,050 --> 00:13:21,890 transacciones bancarias, cifrado celular para sus teléfonos celulares, y similares. 292 00:13:21,890 --> 00:13:24,880 Y así, cada vez que alguien encuentra una manera de revertir 293 00:13:24,880 --> 00:13:28,510 diseñar una de estas tecnologías o romperlo, cosas malas pueden suceder. 294 00:13:28,510 --> 00:13:30,300 >> Ahora el mundo ya sabía esto. 295 00:13:30,300 --> 00:13:31,310 Esto era previsible. 296 00:13:31,310 --> 00:13:34,670 Y el mundo tiene ya movido de SHA1 para SHA256, 297 00:13:34,670 --> 00:13:37,320 que es sólo una forma elegante de diciendo que utilizan trozos más grandes. 298 00:13:37,320 --> 00:13:40,570 Y de hecho, incluso la propia CS50 sitio web actualizado año pasado a-- 299 00:13:40,570 --> 00:13:43,290 no es que nos enfrentamos a todo esto muchos amenazas tratando de llegar a los archivos PDF 300 00:13:43,290 --> 00:13:46,520 y whatnot-- pero el sitio web del CS50 utiliza la función hash más grande, 301 00:13:46,520 --> 00:13:47,980 lo que significa que estaremos a salvo. 302 00:13:47,980 --> 00:13:50,020 Así que todos sus archivos PDF estará a salvo, pero no 303 00:13:50,020 --> 00:13:52,880 necesariamente su dinero o cualquier cosa particularmente privado o personal 304 00:13:52,880 --> 00:13:53,380 para usar. 305 00:13:53,380 --> 00:13:56,550 Sp echa un vistazo a esa URL Si desea como algunos detalles adicionales. 306 00:13:56,550 --> 00:13:59,840 >> Así problema establece cinco es de hecho en el horizonte. 307 00:13:59,840 --> 00:14:01,560 Cuestionario es el próximo miércoles. 308 00:14:01,560 --> 00:14:04,479 Pero no tomar ventaja de oficina hora, tanto esta noche y mañana. 309 00:14:04,479 --> 00:14:07,770 Y también aprovechar las horas de oficina, si usted está disponible, justo después de esto. 310 00:14:07,770 --> 00:14:11,550 El personal y yo quedaré por aquí y hacer más informal Q & A en adición a esta noche. 311 00:14:11,550 --> 00:14:16,610 Y permítaseme señalar fuertemente aquí, por aquellos de nosotros aquí en New Haven-- 312 00:14:16,610 --> 00:14:19,360 por lo que es absolutamente por Scaz de observaciones sentían, estoy seguro, 313 00:14:19,360 --> 00:14:21,140 como un poco de una lucha cuesta arriba. 314 00:14:21,140 --> 00:14:24,627 Y por su reputación, si Ya no han aprendido o escuchado 315 00:14:24,627 --> 00:14:27,710 de algunos amigos en Harvard, saber aquí están algunos de los nuevos de la memoria institucional. 316 00:14:27,710 --> 00:14:30,790 P fijó cinco tipo de clase de tiende a ser el más difícil en CS50, 317 00:14:30,790 --> 00:14:32,590 o los más difíciles para la mayoría de los estudiantes. 318 00:14:32,590 --> 00:14:37,180 >> Pero lo que eso significa es que estamos casi en la cima de esta colina. 319 00:14:37,180 --> 00:14:38,270 Y realmente quiero decir esto. 320 00:14:38,270 --> 00:14:40,728 Es lo más difícil, pero que es también el más gratificante 321 00:14:40,728 --> 00:14:43,560 en que a diferencia de la mayoría de cada otro ciencias de la computación introductoria 322 00:14:43,560 --> 00:14:47,980 Por supuesto, en los EE.UU., que sepamos, la mayoría de los estudiantes no terminan una intro 323 00:14:47,980 --> 00:14:51,400 Por supuesto que ya ha implementado cosas como árboles, y trata, 324 00:14:51,400 --> 00:14:52,880 y tablas hash, y similares. 325 00:14:52,880 --> 00:14:54,770 >> Y por lo que espero y esperamos que usted es 326 00:14:54,770 --> 00:14:57,280 tener un sentido enorme de satisfacción, incluso 327 00:14:57,280 --> 00:15:00,760 Si la semana o dos a través del cual se llega a que la satisfacción 328 00:15:00,760 --> 00:15:02,490 ¿Se siente un poco como esto. 329 00:15:02,490 --> 00:15:05,250 Pero permítanme asegurarles, que sólo tienen cuatro series P izquierda. 330 00:15:05,250 --> 00:15:07,380 Así especie de que la parte superior está a la vista. 331 00:15:07,380 --> 00:15:12,370 >> En el otro lado de la misma, confiar en nosotros, es sólo colinas y las nubes. 332 00:15:12,370 --> 00:15:16,000 Y diremos, cachorros están en el otro lado. 333 00:15:16,000 --> 00:15:18,340 Así que sólo tienes que colgar allí un poco más. 334 00:15:18,340 --> 00:15:22,050 Quiero decir, de hecho, como nos ponemos a la transición en el mundo de la programación web, 335 00:15:22,050 --> 00:15:26,060 usted encontrará que las cosas become-- este es adorable realidad. 336 00:15:26,060 --> 00:15:29,680 337 00:15:29,680 --> 00:15:33,490 OK, vamos a publicar este URL después. 338 00:15:33,490 --> 00:15:36,140 Encontrarás también que estamos llegando a una especie de meseta 339 00:15:36,140 --> 00:15:38,150 donde todo es de hecho todavía sofisticada 340 00:15:38,150 --> 00:15:40,170 y desafiante por diseño, pero no estás 341 00:15:40,170 --> 00:15:42,590 va a sentir como somos perpetuamente subiendo esta colina. 342 00:15:42,590 --> 00:15:44,390 Así que toma un poco de consuelo en eso. 343 00:15:44,390 --> 00:15:47,409 >> Así que sin más preámbulos, vamos a empezar para hacer esta transición de mercado 344 00:15:47,409 --> 00:15:49,950 en el semestre para el mundo de la la web, y realmente el mundo 345 00:15:49,950 --> 00:15:51,420 con el que todos estamos más familiarizados. 346 00:15:51,420 --> 00:15:53,753 Tenemos dispositivos de Internet en nuestros bolsillos, en nuestros escritorios, 347 00:15:53,753 --> 00:15:55,127 en nuestras mochilas, y similares. 348 00:15:55,127 --> 00:15:56,210 ¿Cómo funciona todo este trabajo? 349 00:15:56,210 --> 00:15:59,077 ¿Y cómo podemos empezar a escribir código que no es super arcana 350 00:15:59,077 --> 00:16:01,910 y en algunas pronta texto parpadeante que ninguno de sus amigos o familiares 351 00:16:01,910 --> 00:16:04,659 son cada vez va a querer interactuar con, pero algo que puede poner 352 00:16:04,659 --> 00:16:06,660 en sus teléfonos, o en sus navegadores web, 353 00:16:06,660 --> 00:16:09,010 o en cualquier dispositivo con que interactúan. 354 00:16:09,010 --> 00:16:10,430 >> Así que aquí está la casa de alguien. 355 00:16:10,430 --> 00:16:14,040 Y en el interior de esta casa es un par de ordenadores portátiles, un par de escritorio de la vieja escuela 356 00:16:14,040 --> 00:16:17,470 ordenadores, algo llamado enrutador o concentrador en el medio, 357 00:16:17,470 --> 00:16:20,310 y luego una especie de módem de cable o DSL. 358 00:16:20,310 --> 00:16:24,560 Y luego está el Internet, en general, dibujado como una nube allá arriba en el cielo. 359 00:16:24,560 --> 00:16:29,230 >> Así que esta imagen, aunque un poco de suerte de anticuado, 360 00:16:29,230 --> 00:16:32,604 sin duda capta lo que la mayoría de es probable que tenga en sus hogares, 361 00:16:32,604 --> 00:16:35,520 o efectivamente lo que todos ustedes tienen en sus dormitorios o apartamentos, 362 00:16:35,520 --> 00:16:36,480 o similares. 363 00:16:36,480 --> 00:16:40,010 >> Entonces, ¿qué es en realidad va en cuando intenta utilizar el Internet hoy? 364 00:16:40,010 --> 00:16:42,010 Así que cada computadora en la Internet, resulta que, 365 00:16:42,010 --> 00:16:46,860 necesita tener una dirección única, al igual que nosotros, en el mundo real necesidad 366 00:16:46,860 --> 00:16:52,050 una dirección postal, al igual que 51 de Prospect Street, New Haven, Connecticut, o 33 367 00:16:52,050 --> 00:16:54,170 Oxford Street, Cambridge, Massachusetts. 368 00:16:54,170 --> 00:16:58,520 Lo mismo ocurre con los ordenadores en Internet necesitan una forma de abordar a sí mismos de forma única. 369 00:16:58,520 --> 00:17:01,180 >> Esto es de modo que cuando un ordenador quiere hablar con otro, 370 00:17:01,180 --> 00:17:04,525 puede enviar un mensaje y informar al destinatario a quien 371 00:17:04,525 --> 00:17:05,900 debe enviar la respuesta de vuelta. 372 00:17:05,900 --> 00:17:07,900 Así que sólo tiene una especie de sentido intuitivo quizá 373 00:17:07,900 --> 00:17:09,980 que todo tiene una Dirección de algún tipo. 374 00:17:09,980 --> 00:17:11,240 >> Pero, ¿cómo conseguir una dirección? 375 00:17:11,240 --> 00:17:13,589 Bueno, si has llegado hasta aquí en campus, o te vas a casa 376 00:17:13,589 --> 00:17:15,760 y se enciende el laptop o computadora de escritorio, 377 00:17:15,760 --> 00:17:17,770 y, o bien conectarlo o conectarse a Wi-Fi, 378 00:17:17,770 --> 00:17:19,569 Resulta que hay un servidor especial 379 00:17:19,569 --> 00:17:22,089 en la mayoría de redes llamado un servidor DHCP. 380 00:17:22,089 --> 00:17:23,880 No importa realmente lo que esto significa, 381 00:17:23,880 --> 00:17:26,660 pero es configuración dinámica de host protocolo, que es justo 382 00:17:26,660 --> 00:17:29,760 una forma elegante de decir, esto es un equipo que sea de Yale tiene, 383 00:17:29,760 --> 00:17:32,600 o Harvard tiene, o Comcast tenga o Verizon tiene, 384 00:17:32,600 --> 00:17:35,100 o su empresa tiene, cuyo propósito en la vida, 385 00:17:35,100 --> 00:17:38,810 cuando oye que alguien acaba de agregar a la red, es decir aquí, 386 00:17:38,810 --> 00:17:40,010 usa esta dirección. 387 00:17:40,010 --> 00:17:42,790 >> Así que nosotros los humanos no tienen que código duro en nuestros ordenadores 388 00:17:42,790 --> 00:17:44,040 lo que nuestra dirección es única. 389 00:17:44,040 --> 00:17:47,070 Nos convertimos en, abra la tapa, y de alguna manera este servidor 390 00:17:47,070 --> 00:17:52,210 en la red local sólo me dice que mi dirección es 51 Prospect Street, o 33 391 00:17:52,210 --> 00:17:53,940 Oxford Street, o similares. 392 00:17:53,940 --> 00:17:56,000 >> Ahora no va a ser tan detallada como eso. 393 00:17:56,000 --> 00:18:00,210 Más bien lo que voy a conseguir es un dirección numérica denomina una dirección IP. 394 00:18:00,210 --> 00:18:01,960 IP significa Internet Protocol. 395 00:18:01,960 --> 00:18:06,025 Y las probabilidades son por este momento de su vida, usted probablemente ha escuchado o visto la palabra IP, 396 00:18:06,025 --> 00:18:08,140 o generalmente tirado alrededor tal vez. 397 00:18:08,140 --> 00:18:10,720 Pero, de hecho, es bastante sencillo nada. 398 00:18:10,720 --> 00:18:13,610 >> Una dirección IP es sólo un número decimal con puntos, 399 00:18:13,610 --> 00:18:17,150 lo que significa que es algo de punto algo dot dot algo algo. 400 00:18:17,150 --> 00:18:21,980 Y cada uno de esos tantos sucede ser un número entre 0 y 255. 401 00:18:21,980 --> 00:18:26,710 >> Así que basado en cinco semanas más de CS50, si estos números cada rango de 0 a 255, 402 00:18:26,710 --> 00:18:28,713 cuántos bits es cada de esos signos de número? 403 00:18:28,713 --> 00:18:29,420 >> AUDIENCIA: Ocho. 404 00:18:29,420 --> 00:18:30,100 >> DAVID J. MALAN: Tiene que ser ocho. 405 00:18:30,100 --> 00:18:31,933 Así que en total, ¿cuántos los bits es una dirección IP? 406 00:18:31,933 --> 00:18:32,710 AUDIENCIA: 32. 407 00:18:32,710 --> 00:18:33,820 >> DAVID J. MALAN: Hasta 32. 408 00:18:33,820 --> 00:18:35,830 8 y de 8 y de 8, más 8 es 32. 409 00:18:35,830 --> 00:18:38,767 ¿Cuántas direcciones IP totales puede haber en el mundo? 410 00:18:38,767 --> 00:18:39,600 AUDIENCIA: 4000000000. 411 00:18:39,600 --> 00:18:42,410 DAVID J. MALAN: Así que más o menos de cuatro millones porque eso es 2 el poder 32. 412 00:18:42,410 --> 00:18:44,410 Y si usted no puede especie de asimilar que en su mente, 413 00:18:44,410 --> 00:18:47,470 sólo sé que los valores de 32 bits puede ser tan grande como 4000000000 414 00:18:47,470 --> 00:18:49,140 si se trata de todos los valores positivos. 415 00:18:49,140 --> 00:18:52,500 Así que eso significa que hay 4 mil millones direcciones IP posibles que existen. 416 00:18:52,500 --> 00:18:55,090 >> Y historia divertida, somos clase de quedarse sin ellos. 417 00:18:55,090 --> 00:18:59,720 Y de hecho, es un gran problema en ese el mundo también vio este problema que viene, 418 00:18:59,720 --> 00:19:03,639 pero no necesariamente ha respondido a en la más rápida manera posible. 419 00:19:03,639 --> 00:19:05,680 Y, en efecto, una vez que haya terminado CS50 y empezó 420 00:19:05,680 --> 00:19:06,950 prestar atención en el mundo de la tecnología, se le 421 00:19:06,950 --> 00:19:08,520 ver que esto es muy común temática. 422 00:19:08,520 --> 00:19:12,260 >> Por ejemplo, si vamos realmente vieja escuela hoy en día, el Y2K. 423 00:19:12,260 --> 00:19:13,570 Eso no era realmente una sorpresa. 424 00:19:13,570 --> 00:19:15,700 Al igual que todo el mundo sabía de 1.000 años que esa 425 00:19:15,700 --> 00:19:20,250 era-- más de un mil años-- que que fue finalmente va a suceder. 426 00:19:20,250 --> 00:19:23,295 Y, sin embargo, respondimos a ella mucho en el último minuto. 427 00:19:23,295 --> 00:19:24,420 Y eso ocurra de nuevo. 428 00:19:24,420 --> 00:19:26,740 Así que hoy vamos a hablar de IP versión 4. 429 00:19:26,740 --> 00:19:29,250 Pero saber que el mundo es finalmente llegar 430 00:19:29,250 --> 00:19:31,590 en torno a la actualización a algo llamado IPv6, 431 00:19:31,590 --> 00:19:34,540 que en lugar de 32 bits direcciones, uses-- cualquiera 432 00:19:34,540 --> 00:19:36,443 querer tomar una conjetura, la cantidad de bits? 433 00:19:36,443 --> 00:19:37,310 >> AUDIENCIA: 64? 434 00:19:37,310 --> 00:19:38,380 >> DAVID J. MALAN: Buen intento, pero no. 435 00:19:38,380 --> 00:19:39,975 Finalmente estamos tratando de salir adelante de la curva. 436 00:19:39,975 --> 00:19:40,558 >> AUDIENCIA: 128. 437 00:19:40,558 --> 00:19:43,490 DAVID J. MALAN: 128, que es un número enorme enloqueciendo 438 00:19:43,490 --> 00:19:46,250 de direcciones IP, porque eso es como los tiempos de 2, 2 veces, 439 00:19:46,250 --> 00:19:49,620 Tiempos 2, un montón de veces grupos de dos a partir de 4 mil millones. 440 00:19:49,620 --> 00:19:50,530 >> Así que si curiosa. 441 00:19:50,530 --> 00:19:54,110 Resulta fuera-- y yo googled este encontrar este fuera-- ordenadores de Yale, 442 00:19:54,110 --> 00:19:58,910 aquí en Yale, tienden a comenzar con éstos numbers-- 130.132 puntos algo, 443 00:19:58,910 --> 00:20:00,669 y 128,36 dot algo. 444 00:20:00,669 --> 00:20:02,710 Pero no hay duda, excepciones en todos los ámbitos 445 00:20:02,710 --> 00:20:05,334 dependiendo de qué departamento y la construcción y el campus que te encuentres. 446 00:20:05,334 --> 00:20:09,310 Harvard tiende a tener 140.247, o 128.103. 447 00:20:09,310 --> 00:20:11,530 Y, en general esto es información inútil, 448 00:20:11,530 --> 00:20:13,260 pero es algo que usted puede notar ahora. 449 00:20:13,260 --> 00:20:15,593 Al iniciar hurgando configuración de sus equipos, 450 00:20:15,593 --> 00:20:18,540 usted puede comenzar a notar estos tipos de patrones de poco. 451 00:20:18,540 --> 00:20:23,470 >> Pero cuando estás en casa y tener un AirPort de Apple, o un dispositivo de Linksys, 452 00:20:23,470 --> 00:20:26,560 o una D-Link, o lo que es sus padres o hermanos instalados 453 00:20:26,560 --> 00:20:28,890 en su casa, así lo que es probable que tenga 454 00:20:28,890 --> 00:20:30,800 es lo que se llama una dirección IP privada. 455 00:20:30,800 --> 00:20:34,850 Y estos fueron en realidad un buena solución, temporal 456 00:20:34,850 --> 00:20:38,050 al problema de funcionamiento corto en direcciones IP. 457 00:20:38,050 --> 00:20:40,382 >> ¿Y qué se puede hacer con redes domésticas, typically-- 458 00:20:40,382 --> 00:20:42,340 y, francamente, incluso Yale y Harvard están empezando 459 00:20:42,340 --> 00:20:46,840 hacer esto en diferentes areas-- es usted puede dar un montón de ordenadores 460 00:20:46,840 --> 00:20:50,360 una dirección IP, siempre y cuando se pone un dispositivo especial en frente de ellos, 461 00:20:50,360 --> 00:20:52,410 algo que se llama un router, o puede ser llamado 462 00:20:52,410 --> 00:20:54,060 un proxy o cualquier número de otras cosas. 463 00:20:54,060 --> 00:20:56,710 Pero un dispositivo que tiene que una dirección IP. 464 00:20:56,710 --> 00:20:59,450 Y luego detrás de esa dispositivo, dentro de un edificio, 465 00:20:59,450 --> 00:21:03,030 dentro de una casa o un apartamento, puede ser cualquier número de equipos, todos los cuales 466 00:21:03,030 --> 00:21:06,460 tener una dirección IP que empiece con uno de estos dígitos aquí. 467 00:21:06,460 --> 00:21:08,590 Y mientras ese equipo sabe cómo convertir 468 00:21:08,590 --> 00:21:10,900 la dirección pública para la dirección privada, 469 00:21:10,900 --> 00:21:13,340 todo puede ordenar de trabajo como se esperaba. 470 00:21:13,340 --> 00:21:17,290 >> Pero lo contrario de esto es que si estás en casa y tiene un hermano, 471 00:21:17,290 --> 00:21:19,650 y ambos están visitar algún sitio web, 472 00:21:19,650 --> 00:21:23,520 que el sitio web no sabe si es usted o de su hermano que visiten la página web, 473 00:21:23,520 --> 00:21:26,780 porque usted parece ser el mismo persona, porque todos sus datos 474 00:21:26,780 --> 00:21:30,050 está pasando por ese router o ese punto central. 475 00:21:30,050 --> 00:21:32,220 >> Pero lo suficiente en estos detalles de nivel inferior. 476 00:21:32,220 --> 00:21:37,770 Echemos un vistazo a las direcciones IP cómo a veces llegar quizá en los medios de comunicación 477 00:21:37,770 --> 00:21:41,370 y cómo podemos comenzar a la ruina, Francamente, aún más espectáculos para usted. 478 00:21:41,370 --> 00:21:45,010 Si pudiéramos atenuar la luces durante unos segundos. 479 00:21:45,010 --> 00:21:46,550 >> [REPRODUCCIÓN DE VÍDEO] 480 00:21:46,550 --> 00:21:49,310 >> -Es Una de 32 bits en IPP 4 direcciones. 481 00:21:49,310 --> 00:21:50,650 >> -IP ES Internet- 482 00:21:50,650 --> 00:21:52,800 >> Red -Private, La red privada de Tamia. 483 00:21:52,800 --> 00:22:05,670 484 00:22:05,670 --> 00:22:08,145 Ella es tan increíble. 485 00:22:08,145 --> 00:22:09,630 -Vamos Charlie. 486 00:22:09,630 --> 00:22:11,750 DAVID J. MALAN: Es una dirección IP espejo. 487 00:22:11,750 --> 00:22:15,093 Ella dejarnos observamos que que está haciendo en tiempo real. 488 00:22:15,093 --> 00:22:16,285 >> [FIN DE REPRODUCCIÓN] 489 00:22:16,285 --> 00:22:17,130 >> DAVID J. MALAN: OK. 490 00:22:17,130 --> 00:22:18,480 Así que un par de problemas con esto. 491 00:22:18,480 --> 00:22:22,740 Así que uno, lo que estamos buscando por lo que aquí en la pantalla 492 00:22:22,740 --> 00:22:25,290 es un código escrito en un lenguaje llamado Objective-C, 493 00:22:25,290 --> 00:22:28,020 que es una especie de sucesor el lenguaje C que estamos haciendo. 494 00:22:28,020 --> 00:22:30,150 Esto no tiene absolutamente nada que ver con la programación. 495 00:22:30,150 --> 00:22:32,399 De hecho, lo mejor que puedo decir, este es un programa de dibujo 496 00:22:32,399 --> 00:22:38,360 que alguien descargado desde el Internet implica de alguna manera crayones. 497 00:22:38,360 --> 00:22:43,660 >> Tal vez menos atroz es que esta dirección IP, válida o no válida? 498 00:22:43,660 --> 00:22:44,520 >> AUDIENCIA: no válido. 499 00:22:44,520 --> 00:22:48,479 >> DAVID J. MALAN: inválido, porque 275 es, por supuesto, no entre 0 y 255. 500 00:22:48,479 --> 00:22:51,770 Eso también es probablemente correcto sin embargo, porque usted no quiere montón de gente loca 501 00:22:51,770 --> 00:22:54,790 que son como pausar TV en su TiVo y luego visitar la IP para ver 502 00:22:54,790 --> 00:22:56,290 si en realidad hay algo allí. 503 00:22:56,290 --> 00:22:58,200 Así que uno es un poco menos atroz. 504 00:22:58,200 --> 00:23:00,990 Pero se dan cuenta de eso también es especie de nuestro alrededor. 505 00:23:00,990 --> 00:23:04,980 >> Así que por supuesto, ninguno de nosotros realmente escribir direcciones numéricas 506 00:23:04,980 --> 00:23:06,410 en nuestros navegadores. 507 00:23:06,410 --> 00:23:09,580 Sería una especie de cosa mala si Google, para visitar Google, 508 00:23:09,580 --> 00:23:15,060 que tenía que ir al 123.46.57.89. 509 00:23:15,060 --> 00:23:17,007 Y todo el mundo tenía a sólo recuerda eso. 510 00:23:17,007 --> 00:23:19,090 Y, francamente, no tenemos clase de visto este problema antes. 511 00:23:19,090 --> 00:23:24,130 De vuelta en el día en que la gente no lo hacen tener teléfonos celulares y listas de contactos, 512 00:23:24,130 --> 00:23:27,640 y empresas realmente still-- realidad, Supongo que las empresas todavía tienen 800 513 00:23:27,640 --> 00:23:30,600 números y el como-- sino que en general, ver los números anunciados 514 00:23:30,600 --> 00:23:36,480 como 1-800-COLLECT, C-O-L-L-E-C-T. Porque nadie puede recordar, 515 00:23:36,480 --> 00:23:39,754 al ver un anuncio en un autobús o cartelera, lo de alguien número, 516 00:23:39,754 --> 00:23:42,420 pero pueden probablemente, con mayor probabilidad, recuerda una palabra. 517 00:23:42,420 --> 00:23:44,530 >> Así que hemos adoptado la misma tipo de sistema en el mundo 518 00:23:44,530 --> 00:23:48,290 de la Internet por lo que hay una sistema de nombres de dominio para que los seres humanos podemos 519 00:23:48,290 --> 00:23:52,340 escriba google.com, facebook.com, yale.edu, harvard.edu, 520 00:23:52,340 --> 00:23:56,140 y dejar que la cifra ordenadores lo que el correspondiente IP 521 00:23:56,140 --> 00:23:58,480 dirección es un nombre dado. 522 00:23:58,480 --> 00:24:01,620 >> Y la manera de hacerlo en el mundo real es que por $ 10 al año, 523 00:24:01,620 --> 00:24:05,900 tal vez $ 50 al año, usted puede comprar un dominio nombrar, o realmente alquilar un nombre de dominio. 524 00:24:05,900 --> 00:24:09,860 Y entonces todo el que usted está pagando alquilar ese nombre de dominio, 525 00:24:09,860 --> 00:24:14,069 usted les dice que en el mundo sabe cuál es su dirección IP es. 526 00:24:14,069 --> 00:24:16,360 Y no vamos a entrar en estos datos, pero muchos de ustedes 527 00:24:16,360 --> 00:24:18,750 puede ser que desee, por último proyectos, para firmar en realidad hasta 528 00:24:18,750 --> 00:24:22,120 para su propio alojamiento web empresa, ya sea de forma gratuita 529 00:24:22,120 --> 00:24:23,500 o por unos pocos dólares al mes. 530 00:24:23,500 --> 00:24:26,100 Algunos de ustedes podrían querer comprar, por unos pocos dólares, su propio nombre de dominio, 531 00:24:26,100 --> 00:24:28,900 sólo por diversión o para iniciar un negocio o un sitio personal o similar. 532 00:24:28,900 --> 00:24:30,880 >> Y darse cuenta de que todo de que en última instancia, 533 00:24:30,880 --> 00:24:35,260 se reducen a que le dice al mundo lo que la dirección IP de su servidor es. 534 00:24:35,260 --> 00:24:37,740 Y luego estos DNS servidores realmente cuidan 535 00:24:37,740 --> 00:24:39,910 de informar al resto del mundo. 536 00:24:39,910 --> 00:24:41,830 Así que todo un servidor DNS tiene, en definitiva, en el interior 537 00:24:41,830 --> 00:24:44,780 de su memoria es como el equivalente a una hoja de cálculo de Google 538 00:24:44,780 --> 00:24:49,420 o una hoja de cálculo Excel con al menos dos columnas, una de las cuales tiene nombres, 539 00:24:49,420 --> 00:24:52,100 como harvard.edu, y yale.edu y google.com. 540 00:24:52,100 --> 00:24:55,870 Y la otra columna tiene la correspondiente dirección IP o IP 541 00:24:55,870 --> 00:24:56,382 direcciones. 542 00:24:56,382 --> 00:24:57,590 Y en realidad podemos ver esto. 543 00:24:57,590 --> 00:24:59,881 Así que en mi Mac-- y puedes hacer esto en los equipos con Windows 544 00:24:59,881 --> 00:25:04,330 tan bien-- si abro una ventana de terminal aquí, absolutamente como la de CD50 IDE, 545 00:25:04,330 --> 00:25:08,190 la mayoría de las computadoras tienen un comando llamado nslookup, servidor de nombres de mirar hacia arriba. 546 00:25:08,190 --> 00:25:12,380 Y si escribo algo en como yale.edu y pulsa Enter, lo 547 00:25:12,380 --> 00:25:19,250 Debería ver si mi red coopera como lo hizo para múltiples pruebas antes de la clase 548 00:25:19,250 --> 00:25:24,584 began-- probemos google.com. 549 00:25:24,584 --> 00:25:26,390 Por supuesto, ahora no está funcionando. 550 00:25:26,390 --> 00:25:27,190 Eso es genial. 551 00:25:27,190 --> 00:25:30,660 Muy bien, una pausa por un momento. 552 00:25:30,660 --> 00:25:32,100 nslookup google.com. 553 00:25:32,100 --> 00:25:35,570 554 00:25:35,570 --> 00:25:38,660 >> Bueno, vamos a ver si el real Internet- no. 555 00:25:38,660 --> 00:25:39,700 Eso es lo que pasó. 556 00:25:39,700 --> 00:25:43,090 Oh, Dios mío, de acuerdo. 557 00:25:43,090 --> 00:25:45,490 El Wi-Fi se rompió. 558 00:25:45,490 --> 00:25:47,410 >> Hola, quiero saber cuál es mi dirección IP es? 559 00:25:47,410 --> 00:25:49,722 Correcto. 560 00:25:49,722 --> 00:25:50,820 YaleSecure. 561 00:25:50,820 --> 00:25:53,330 Esta es la forma de solucionar cosas como un científico de la computación. 562 00:25:53,330 --> 00:25:54,617 Damos vuelta a la conexión Wi-Fi apagado. 563 00:25:54,617 --> 00:25:57,480 564 00:25:57,480 --> 00:25:59,450 OK. 565 00:25:59,450 --> 00:26:02,610 >> Y en realidad, Scaz, ¿te importa nosotros ingresando en el seguro? 566 00:26:02,610 --> 00:26:06,246 De lo contrario, más pruebas son-- OK, gracias que Yale-- o está a punto de romperse. 567 00:26:06,246 --> 00:26:07,370 Quiero ir a YaleSecure. 568 00:26:07,370 --> 00:26:09,880 569 00:26:09,880 --> 00:26:11,870 Ah, y tal vez vamos a estar bien. 570 00:26:11,870 --> 00:26:12,686 Tal vez estamos de vuelta. 571 00:26:12,686 --> 00:26:16,810 572 00:26:16,810 --> 00:26:19,733 Y así es como, como un ordenador científico arreglar un ordenador. 573 00:26:19,733 --> 00:26:22,000 [Aplausos] 574 00:26:22,000 --> 00:26:23,220 Correcto. 575 00:26:23,220 --> 00:26:27,160 Así que donde yo estaba dentro de este la llamada ventana de terminal, 576 00:26:27,160 --> 00:26:32,270 y si yo nslookup yale.edu, ahí vamos. 577 00:26:32,270 --> 00:26:38,350 Así que regrese primero la dirección IP el servidor DNS que mi portátil está utilizando. 578 00:26:38,350 --> 00:26:41,610 Así que además de un servidor DHCP que hemos hablado hace un momento decía 579 00:26:41,610 --> 00:26:44,720 lo que mi laptop mi IP dirección es, ese servidor DHCP 580 00:26:44,720 --> 00:26:46,860 También me dice qué servidor DNS a utilizar. 581 00:26:46,860 --> 00:26:48,860 De lo contrario tendría que escribir manualmente esto en. 582 00:26:48,860 --> 00:26:50,359 >> Pero eso no es tan interesante. 583 00:26:50,359 --> 00:26:54,310 Lo que me importa es que este es el Dirección IP del sitio web de la Universidad de Yale, aparentemente. 584 00:26:54,310 --> 00:26:55,470 Así que, de hecho, vamos a probar esto. 585 00:26:55,470 --> 00:27:02,710 Déjame ir para arriba en un navegador y vaya a http: //, y luego de que la dirección IP, 586 00:27:02,710 --> 00:27:04,220 y pulsa Enter. 587 00:27:04,220 --> 00:27:06,700 Y vamos a ver. 588 00:27:06,700 --> 00:27:09,587 Así es como los demás que pueda visite los sitios web de Yale. 589 00:27:09,587 --> 00:27:10,920 Ahora no es tan memorable. 590 00:27:10,920 --> 00:27:12,220 Al igual que, la pre-frosh probablemente no van 591 00:27:12,220 --> 00:27:15,310 recordar esta dirección particular, si le dicen que visitar allí después de visitar. 592 00:27:15,310 --> 00:27:16,580 Pero sí parece funcionar. 593 00:27:16,580 --> 00:27:21,179 Y así DNS realmente sólo nos permite tener direcciones amigables mucho más humanos. 594 00:27:21,179 --> 00:27:23,220 Pero no lo hacen necesariamente simplemente dar una respuesta. 595 00:27:23,220 --> 00:27:25,640 >> De hecho, cuando usted es un realmente grande compañía de tecnología, 596 00:27:25,640 --> 00:27:27,620 es probable que desee tienen un montón de servidores. 597 00:27:27,620 --> 00:27:29,027 Y aunque esto es engañoso. 598 00:27:29,027 --> 00:27:31,110 Así Yale probablemente no tener un solo servidor web. 599 00:27:31,110 --> 00:27:34,150 Google probablemente no tiene sólo 10 o así los servidores web. 600 00:27:34,150 --> 00:27:36,960 Google especialmente probable tiene miles de servidores web 601 00:27:36,960 --> 00:27:40,030 todo el mundo que puede responder a las peticiones de la gente como nosotros. 602 00:27:40,030 --> 00:27:43,870 >> Pero también usan una tecnología llamada balanceo de carga, lo que cuento largo, 603 00:27:43,870 --> 00:27:48,810 tiene sólo unos pocos dispositivos en el mundo la difusión de la carga entre varios servidores. 604 00:27:48,810 --> 00:27:52,320 Así que es como una especie de tela de araña, si usted despachar las solicitudes. 605 00:27:52,320 --> 00:27:54,380 Pero por ahora, todo lo que es interesante para hoy 606 00:27:54,380 --> 00:27:56,870 es que un nombre de dominio como google.com incluso puede 607 00:27:56,870 --> 00:28:00,100 tener múltiples direcciones IP así. 608 00:28:00,100 --> 00:28:04,610 >> Pero, ¿cómo todos nuestros datos realmente ir y venir a continuación, en el final? 609 00:28:04,610 --> 00:28:08,320 Bueno, resulta que no hay estos cosas llamados enrutadores en Internet. 610 00:28:08,320 --> 00:28:10,980 Y lo que es un router para la medida en que usted ya sabe? 611 00:28:10,980 --> 00:28:13,730 Y yo he usado la palabra un par veces en el contexto de un hogar, 612 00:28:13,730 --> 00:28:17,155 pero en términos simples, ¿Qué hace un router? 613 00:28:17,155 --> 00:28:18,780 Dame sólo una suposición basada en su nombre? 614 00:28:18,780 --> 00:28:20,082 >> AUDIENCIA: Así que una carretera o un camino? 615 00:28:20,082 --> 00:28:21,790 DAVID J. MALAN: Así es una carretera o un camino. 616 00:28:21,790 --> 00:28:23,980 Así que una ruta es un camino o la ruta, absolutamente. 617 00:28:23,980 --> 00:28:27,000 Y un router, por lo que un dispositivo que en realidad la información de rutas, 618 00:28:27,000 --> 00:28:29,690 sería mover datos entre los puntos A y B. 619 00:28:29,690 --> 00:28:31,920 >> Y así, en fact-- y esto es quizás cuando 620 00:28:31,920 --> 00:28:34,510 Google le representaciones de routers en el mundo, todo lo que obtiene 621 00:28:34,510 --> 00:28:35,900 son diagramas de marketing cursi. 622 00:28:35,900 --> 00:28:38,550 Y por lo que esta es una especie de los más un representante que pude encontrar 623 00:28:38,550 --> 00:28:39,841 que parecía medianamente interesante. 624 00:28:39,841 --> 00:28:44,170 Cada uno de estos puntos o destellos de esperanza en todo el mundo representa un router. 625 00:28:44,170 --> 00:28:47,210 Y cada uno de ellos tiene una línea entre algún otro router. 626 00:28:47,210 --> 00:28:49,090 >> Porque de hecho, no son miles, probablemente 627 00:28:49,090 --> 00:28:52,560 millones de routers de todo el mundo, algunos de los cuales están en nuestras casas 628 00:28:52,560 --> 00:28:56,070 y en nuestros campus, pero una gran cantidad de que son propiedad de grandes empresas 629 00:28:56,070 --> 00:29:00,250 y están interconectados de manera que si yo quiere enviar algunos datos de aquí en Yale 630 00:29:00,250 --> 00:29:04,430 casa de nuevo a Cambridge, Yale, probablemente, no tiene un único cable, sin duda, 631 00:29:04,430 --> 00:29:05,650 ir directamente a Harvard. 632 00:29:05,650 --> 00:29:07,399 Y Yale no tiene un solo cable que va 633 00:29:07,399 --> 00:29:10,010 al MIT o Stanford, o a Berkeley, o Google, 634 00:29:10,010 --> 00:29:11,820 o cualquier número de destinos. 635 00:29:11,820 --> 00:29:14,760 >> Más bien, Yale y Harvard, y todos los demás en internet 636 00:29:14,760 --> 00:29:17,610 no tener uno o más routers conectado a él, tal vez 637 00:29:17,610 --> 00:29:18,810 en la periferia del campus. 638 00:29:18,810 --> 00:29:21,690 Así que cuando mis datos quiere al salir de la escuela de Yale, 639 00:29:21,690 --> 00:29:24,770 se va a ese router más cercano, tal como se representa por uno de estos puntos. 640 00:29:24,770 --> 00:29:27,940 Y luego que las cifras del router fuera de si enviar esta manera o de esta manera, 641 00:29:27,940 --> 00:29:33,440 o esta manera, o de esta manera basan en otra mesa en su memoria, 642 00:29:33,440 --> 00:29:36,870 otro archivo de Excel o Google hoja de cálculo que en una columna 643 00:29:36,870 --> 00:29:41,315 dice, si su dirección IP comienza con el número uno, ir por este camino. 644 00:29:41,315 --> 00:29:43,690 Si la dirección IP comienza con un número dos, ir de esa manera. 645 00:29:43,690 --> 00:29:47,040 Y por lo que puede descomponerlo numéricamente tener el router enviar 646 00:29:47,040 --> 00:29:49,040 datos en todas direcciones. 647 00:29:49,040 --> 00:29:51,419 >> Y que tipo de podemos ver esto también. 648 00:29:51,419 --> 00:29:54,210 Vamos a seguir adelante en este terminal ventana otra vez, y déjame ir por delante 649 00:29:54,210 --> 00:30:00,700 y traza la ruta de, digamos, www.mit.edu, 650 00:30:00,700 --> 00:30:02,970 que es un par de cientos de millas de distancia. 651 00:30:02,970 --> 00:30:04,500 Eso fue realmente maldita rápido. 652 00:30:04,500 --> 00:30:06,290 >> Entonces, ¿qué ha pasado? 653 00:30:06,290 --> 00:30:10,360 Así que en sólo siete pasos, y en sólo cuatro milésimas de segundo, 654 00:30:10,360 --> 00:30:14,660 Envié datos en internet de aquí en Yale al MIT. 655 00:30:14,660 --> 00:30:18,240 Cada una de estas filas, se puede quizás adivinar representa ahora qué? 656 00:30:18,240 --> 00:30:19,060 >> AUDIENCIA: Un router. 657 00:30:19,060 --> 00:30:20,101 >> DAVID J. MALAN: Un router. 658 00:30:20,101 --> 00:30:24,090 Así que de hecho, parece que no hay alrededor de siete o más routers, 659 00:30:24,090 --> 00:30:29,350 o seis routers en entre yo físicamente en la escuela de derecho de Yale aquí 660 00:30:29,350 --> 00:30:31,612 y el sitio web del MIT allá. 661 00:30:31,612 --> 00:30:34,570 Y lo que podemos deducir de esto es como follows-- y déjame limpiarlo. 662 00:30:34,570 --> 00:30:38,180 Voy a volver a ejecutar con un comando argumento de la línea de q 1 a decir simplemente, 663 00:30:38,180 --> 00:30:39,300 sólo dame una consulta. 664 00:30:39,300 --> 00:30:40,800 Por defecto, trazado de ruta hace tres. 665 00:30:40,800 --> 00:30:42,350 Y es por eso que vimos racimos de números. 666 00:30:42,350 --> 00:30:44,850 Quiero ver menos números sólo para mantener el filtro de salida. 667 00:30:44,850 --> 00:30:46,280 Y vamos a ver qué pasa. 668 00:30:46,280 --> 00:30:49,220 >> Así que por la razón que sea, alguien en el pensamiento de Yale 669 00:30:49,220 --> 00:30:54,130 que sería divertido para decir que es su arubacentral router por defecto, lo que 670 00:30:54,130 --> 00:30:57,920 está en vlan o virtual LAN, de área local virtual 671 00:30:57,920 --> 00:30:59,810 red 30-- por lo que probablemente al menos 672 00:30:59,810 --> 00:31:03,050 29 router.net.yale.internal otros--. 673 00:31:03,050 --> 00:31:06,660 Y .internal aquí es una especie de falsa dominio de primer nivel destinado a ser utilizado solo 674 00:31:06,660 --> 00:31:07,210 en el campus. 675 00:31:07,210 --> 00:31:10,335 Y note la dirección IP correspondiente de ese router, donde quiera que esté aquí 676 00:31:10,335 --> 00:31:13,920 en el campus, es 172.28.204.129. 677 00:31:13,920 --> 00:31:17,470 Y tardó 36 milisegundos ir de aquí para allá. 678 00:31:17,470 --> 00:31:18,050 >> Historia divertida. 679 00:31:18,050 --> 00:31:19,716 Nos pondremos en contacto con que, en un momento. 680 00:31:19,716 --> 00:31:22,920 Pero ahora el segundo router-- a que aparentemente arubacentral 681 00:31:22,920 --> 00:31:25,790 tiene una especie de física conexión más likely-- 682 00:31:25,790 --> 00:31:27,249 los seres humanos no se molestaron nombrarlo. 683 00:31:27,249 --> 00:31:30,373 Los seres humanos de Yale no se molestaron nombrando porque es en el interior de su red 684 00:31:30,373 --> 00:31:30,940 parece. 685 00:31:30,940 --> 00:31:32,520 Y por lo que sólo tiene una dirección IP. 686 00:31:32,520 --> 00:31:34,660 >> Pero luego una tercera enrutador aquí en la red de la Universidad de Yale 687 00:31:34,660 --> 00:31:36,700 eso es probablemente un poco más lejos aún 688 00:31:36,700 --> 00:31:41,330 se llama cen10g lo es decir asr.net.yale.internal. 689 00:31:41,330 --> 00:31:43,040 Y también tiene una dirección IP. 690 00:31:43,040 --> 00:31:44,990 >> Ahora ¿por qué son estos números tipo de fluctuación? 691 00:31:44,990 --> 00:31:47,890 2.9, 1.4, 36? 692 00:31:47,890 --> 00:31:48,840 Los routers se llene de gente. 693 00:31:48,840 --> 00:31:50,420 Y consiguen congestionadas y copia de seguridad. 694 00:31:50,420 --> 00:31:53,200 Hay miles de personas en este campus de uso de Internet en este momento. 695 00:31:53,200 --> 00:31:56,050 Hay un centenar de personas en este sala de uso de Internet en este momento. 696 00:31:56,050 --> 00:31:59,030 >> Y así lo que está sucediendo es que los routers pueden conseguir congestionado. 697 00:31:59,030 --> 00:32:01,350 Y así aquellos tiempos podría fluctuar un poco. 698 00:32:01,350 --> 00:32:04,620 Así que por eso no lo hacen necesariamente aumentar rodeos. 699 00:32:04,620 --> 00:32:07,510 >> Pero las cosas se ponen tipo de interesante en el paso cuatro. 700 00:32:07,510 --> 00:32:13,040 Al parecer, entre Yale y paso cuatro es otro salto. 701 00:32:13,040 --> 00:32:16,480 ¿Y dónde está el router en el paso cuatro, probablemente? 702 00:32:16,480 --> 00:32:17,410 >> AUDIENCIA: [inaudible] 703 00:32:17,410 --> 00:32:19,410 >> DAVID J. MALAN: JFK tal vez, tal vez en el aeropuerto. 704 00:32:19,410 --> 00:32:21,950 Pero por alguna razón, los administradores del sistema, por lo que 705 00:32:21,950 --> 00:32:24,140 frikis que se ejecutan los servidores de años han llamado routers 706 00:32:24,140 --> 00:32:25,600 después del código del aeropuerto más cercano. 707 00:32:25,600 --> 00:32:27,420 Así JFK probablemente significa es simplemente un lugar 708 00:32:27,420 --> 00:32:29,970 en Nueva York, tal vez en Manhattan o uno de los condados. 709 00:32:29,970 --> 00:32:34,460 nyc2 denota, presumiblemente, otro router que está en algún lugar en Nueva York. 710 00:32:34,460 --> 00:32:37,140 >> Yo no sé muy bien dónde fila seis es aquí, el número enrutador seis. 711 00:32:37,140 --> 00:32:40,110 quest.net un gran ISP, proveedor de servicios de Internet, 712 00:32:40,110 --> 00:32:43,240 que proporciona conectividad a Internet a lugares grandes como Yale y otros. 713 00:32:43,240 --> 00:32:47,110 Y luego esta última, parece que el MIT no lo hace aun 714 00:32:47,110 --> 00:32:50,180 tener su propio sitio web en Cambridge necesariamente, 715 00:32:50,180 --> 00:32:52,090 sino que han externaliza su página web, 716 00:32:52,090 --> 00:32:55,150 o al menos los servidores físicos, a una empresa llamada Akamai. 717 00:32:55,150 --> 00:32:57,940 Y Akamai realidad está justo bajando el camino del MIT en Cambridge 718 00:32:57,940 --> 00:32:58,790 resulta. 719 00:32:58,790 --> 00:33:02,360 >> Pero darse cuenta también que incluso pensó vas a www.mit.edu, 720 00:33:02,360 --> 00:33:05,200 que realmente podría ser enviado en cualquier parte del mundo. 721 00:33:05,200 --> 00:33:06,960 >> Y vamos a ver en algún lugar otra parte del mundo. 722 00:33:06,960 --> 00:33:09,240 Déjame ir por delante y claro esta pantalla y en lugar de 723 00:33:09,240 --> 00:33:15,240 trazar la ruta, sólo una vez, por lo que consultar uno, para www.cnn.co.jp, 724 00:33:15,240 --> 00:33:18,390 la página principal de Japón para la CNN, el sitio de noticias. 725 00:33:18,390 --> 00:33:20,660 Y si me golpeó Entra ahora, Veamos qué pasa. 726 00:33:20,660 --> 00:33:23,610 Estamos de nuevo a partir de las arubacentral. 727 00:33:23,610 --> 00:33:26,510 A continuación, vamos a la enrutador sin nombre, unos cuantos más. 728 00:33:26,510 --> 00:33:29,527 Así que tomó 12 lúpulo a llegar a Japón este tiempo. 729 00:33:29,527 --> 00:33:30,860 Y vamos a ver lo que podemos recoger. 730 00:33:30,860 --> 00:33:32,450 >> Así mismo hop, hop misma. 731 00:33:32,450 --> 00:33:35,170 Ligeramente diferente ahora. 732 00:33:35,170 --> 00:33:36,380 De interesante esta. 733 00:33:36,380 --> 00:33:40,870 Así que supongo que aquí, stamford1 es un pocas ciudades de distancia, en Connecticut también. 734 00:33:40,870 --> 00:33:43,810 Estos routers en la fila de seis y el siete no tienen nombres. 735 00:33:43,810 --> 00:33:46,370 Pero esto es algo increíble. 736 00:33:46,370 --> 00:33:53,310 >> Así que lo que parece ser entre el routers en el paso siete y ocho? 737 00:33:53,310 --> 00:33:54,760 ¿Y por qué dices tanto? 738 00:33:54,760 --> 00:33:55,260 ¿Sí? 739 00:33:55,260 --> 00:33:56,060 >> AUDIENCIA: Océano. 740 00:33:56,060 --> 00:33:57,640 >> DAVID J. MALAN: Probablemente un océano. 741 00:33:57,640 --> 00:34:01,366 Sabemos que es verdad al igual que, intuitivamente, ¿verdad? 742 00:34:01,366 --> 00:34:04,790 Pero podemos confirmarlo como mucho tipo del tipo de forma empírica por qué? 743 00:34:04,790 --> 00:34:06,860 Lo que ha cambiado entre filas siete y ocho? 744 00:34:06,860 --> 00:34:09,429 745 00:34:09,429 --> 00:34:14,739 >> Le tomó mucho más tiempo para ir a cualquiera que sea este router sin nombre siete es, 746 00:34:14,739 --> 00:34:18,670 probablemente en algún lugar en el continental de Estados Unidos, a un paso de ocho, 747 00:34:18,670 --> 00:34:22,639 que es, probablemente, en algún lugar de Japón basado en el nombre de dominio .jp allí. 748 00:34:22,639 --> 00:34:25,719 Y por lo que aquellos adicional cien algo milisegundos 749 00:34:25,719 --> 00:34:28,960 o 90 milisegundos o menos es el resultado de nuestros datos va 750 00:34:28,960 --> 00:34:31,100 en un bonito gran masa de agua. 751 00:34:31,100 --> 00:34:34,570 >> Ahora, curiosamente, parece que tal vez que el cable pasa a través de todo los EE.UU.. 752 00:34:34,570 --> 00:34:37,070 Si en realidad estamos repasando la costa oeste para llegar a Japón, 753 00:34:37,070 --> 00:34:39,111 que es un poco el camino más largo si nos vamos a otro lado. 754 00:34:39,111 --> 00:34:41,400 Así que no es del todo claro ¿qué está pasando físicamente. 755 00:34:41,400 --> 00:34:43,830 Pero el hecho de que cada salto adicional de hecho 756 00:34:43,830 --> 00:34:46,020 tomó considerablemente más largo que cualquier otro, es 757 00:34:46,020 --> 00:34:50,440 bastante buena confirmación de que el programa de CNN Servidor web japonesa es probablemente de hecho 758 00:34:50,440 --> 00:34:51,310 en Japon. 759 00:34:51,310 --> 00:34:54,089 Y es sin duda más lejos de lo que el MIT ha sido. 760 00:34:54,089 --> 00:34:56,380 Y vale la pena señalar también, sus datos no es necesariamente 761 00:34:56,380 --> 00:34:58,794 va a viajar por el distancia más corta posible. 762 00:34:58,794 --> 00:35:00,960 De hecho, si usted juega alrededor con trazado de ruta en el hogar 763 00:35:00,960 --> 00:35:04,170 sólo recogiendo sitios web al azar, que podrían encontrar que acaba de enviar un correo electrónico 764 00:35:04,170 --> 00:35:06,490 o para visitar un sitio web eso es aquí en New Haven, 765 00:35:06,490 --> 00:35:09,200 a veces sus datos podría primero tomar un desvío, bajar a DC, 766 00:35:09,200 --> 00:35:10,450 y luego volverá a subir. 767 00:35:10,450 --> 00:35:12,860 Y eso es sólo por las decisiones de enrutamiento dinámico 768 00:35:12,860 --> 00:35:14,650 que estos equipos están haciendo. 769 00:35:14,650 --> 00:35:18,930 >> Ahora sólo por diversión, el equipo de producción recortado uno de estos videos para nosotros 770 00:35:18,930 --> 00:35:20,807 ser sólo un poco más conciso. 771 00:35:20,807 --> 00:35:23,640 Sin embargo, para darnos una idea rápida aquí-- y podemos dejar las luces en-- 772 00:35:23,640 --> 00:35:32,363 en cuanto a lo mucho que el cableado es en realidad llevar a todos nuestros datos. 773 00:35:32,363 --> 00:35:33,029 [REPRODUCCIÓN DE VÍDEO] 774 00:35:33,029 --> 00:35:36,023 [REPRODUCCIÓN DE MÚSICA] 775 00:35:36,023 --> 00:36:31,911 776 00:36:31,911 --> 00:36:32,777 [FIN DE REPRODUCCIÓN] 777 00:36:32,777 --> 00:36:35,860 DAVID J. MALAN: Todos los vídeos de redes tiene buena música que suena al parecer. 778 00:36:35,860 --> 00:36:38,084 Así que eso es para llegar a un sentido de lo mucho que tienen 779 00:36:38,084 --> 00:36:39,500 estado pasando por debajo de la capucha. 780 00:36:39,500 --> 00:36:41,355 >> Pero echemos un vistazo a un nivel ligeramente inferior ahora 781 00:36:41,355 --> 00:36:44,150 en qué datos es en realidad atravesar esas líneas, 782 00:36:44,150 --> 00:36:46,720 e incluso ir de forma inalámbrica en una habitación como esta. 783 00:36:46,720 --> 00:36:49,580 >> Así que resulta cuando se solicita una página web, o envíe un e-mail, 784 00:36:49,580 --> 00:36:53,670 o recibir una página web o un correo electrónico, o un mensaje Gchat, o un mensaje de Facebook, 785 00:36:53,670 --> 00:36:57,800 o similares, que no es sólo una gran parte de los bits que fluyen de forma inalámbrica 786 00:36:57,800 --> 00:37:00,600 a través del aire o electrónicamente en un alambre. 787 00:37:00,600 --> 00:37:03,680 Más bien, esa petición o la respuesta es generalmente 788 00:37:03,680 --> 00:37:05,810 fragmentada en piezas separadas. 789 00:37:05,810 --> 00:37:08,880 >> En otras palabras, cuando usted tiene un solicitar para hacer del otro equipo, 790 00:37:08,880 --> 00:37:10,980 o te devuelven una respuesta de otro computer-- 791 00:37:10,980 --> 00:37:15,800 al igual que suponer, por ejemplo, si unfamiliar-- como demasiada gente 792 00:37:15,800 --> 00:37:18,400 parecen ser estos days-- si no están familiarizados con esto-- 793 00:37:18,400 --> 00:37:20,200 No esta fellow-- este hombre. 794 00:37:20,200 --> 00:37:23,950 Así que supongamos que este es un mensaje que Quiero enviar a alguien en la espalda. 795 00:37:23,950 --> 00:37:28,930 ¿Quién en la parte de atrás le gustaría recibir una foto de Rick Astley hoy? 796 00:37:28,930 --> 00:37:29,805 ¿OK como te llamas? 797 00:37:29,805 --> 00:37:30,590 >> AUDIENCIA: Cole. 798 00:37:30,590 --> 00:37:31,306 >> DAVID J. MALAN: ¿Qué es? 799 00:37:31,306 --> 00:37:31,672 >> AUDIENCIA: Cole. 800 00:37:31,672 --> 00:37:32,040 >> DAVID J. MALAN: Holt? 801 00:37:32,040 --> 00:37:32,540 H-O? 802 00:37:32,540 --> 00:37:33,711 AUDIENCIA: C-O-L-E. 803 00:37:33,711 --> 00:37:34,960 DAVID J. MALAN: C-O-L-E, Cole. 804 00:37:34,960 --> 00:37:35,520 Apenado. 805 00:37:35,520 --> 00:37:36,430 C-O-L-E. 806 00:37:36,430 --> 00:37:36,930 Correcto. 807 00:37:36,930 --> 00:37:40,990 Así que si quiero enviar Cole este imagen aquí, sabes que esto 808 00:37:40,990 --> 00:37:42,410 es una especie de cuadro grande, ¿no? 809 00:37:42,410 --> 00:37:44,472 Esto podría ser unos pocos kilobytes, unos pocos megabytes, 810 00:37:44,472 --> 00:37:45,930 sobre todo si es de alta resolución. 811 00:37:45,930 --> 00:37:48,660 Y yo realmente no quiero parar todo el mundo el uso de internet 812 00:37:48,660 --> 00:37:50,680 justo mientras yo enviaré esta realidad grande, gran calidad de imagen 813 00:37:50,680 --> 00:37:52,138 de Rick Astley en toda la habitación. 814 00:37:52,138 --> 00:37:55,310 Me gustaría que sus datos para continuar atravesar la red y la conexión Wi-Fi 815 00:37:55,310 --> 00:37:56,100 así como. 816 00:37:56,100 --> 00:38:00,100 >> Y por lo que hace sentido-- y esto es recuperable por vía electrónica, 817 00:38:00,100 --> 00:38:01,780 no tanto en el mundo real. 818 00:38:01,780 --> 00:38:04,904 En realidad, esto va a tener múltiples significados si toman mi salida de audio. 819 00:38:04,904 --> 00:38:08,360 Así que si rompo esto en el medio como esto aquí, 820 00:38:08,360 --> 00:38:11,912 esto ahora se puede viajar por el internet de manera más eficiente, 821 00:38:11,912 --> 00:38:13,120 porque es un pedazo más pequeño. 822 00:38:13,120 --> 00:38:16,780 Así que con menor probabilidad se va a chocar con el tráfico de otra persona 823 00:38:16,780 --> 00:38:17,650 En Internet. 824 00:38:17,650 --> 00:38:21,240 >> Y así lo que su computadora hace de hecho cuando se quiere enviar un mensaje a Cole 825 00:38:21,240 --> 00:38:24,917 es Trozos de un mensaje como este en pedazos más pequeños, fragmentos por así decirlo. 826 00:38:24,917 --> 00:38:28,000 Y luego los pone dentro de lo llamaremos tipo de sobres virtuales. 827 00:38:28,000 --> 00:38:29,620 >> Así que tengo cuatro sobres de papel aquí. 828 00:38:29,620 --> 00:38:32,690 Y he ellas pre-numerados, uno, dos, tres y cuatro. 829 00:38:32,690 --> 00:38:35,800 Y lo que voy a hacer en el frente esto, al igual que un correo normal 830 00:38:35,800 --> 00:38:38,000 es que me voy a poner el nombre de Cole allí. 831 00:38:38,000 --> 00:38:41,270 Y luego en la parte superior, estoy voy a poner mi nombre en ella, 832 00:38:41,270 --> 00:38:44,995 David, de modo que la primera tales paquete Estoy enviando por ahí en internet 833 00:38:44,995 --> 00:38:47,620 se ve un poco algo como esto, las características más destacadas 834 00:38:47,620 --> 00:38:50,830 de los cuales son que tiene una para abordar, desde una dirección, 835 00:38:50,830 --> 00:38:52,670 y también un número, por lo que que se espera 836 00:38:52,670 --> 00:38:55,680 es información suficiente para Cole para reconstruir este mensaje. 837 00:38:55,680 --> 00:38:58,820 >> Así que déjame hacer lo mismo aquí, la mismo aquí, y lo mismo aquí, 838 00:38:58,820 --> 00:39:01,310 escribir su nombre en el Campo Para en todos ellos. 839 00:39:01,310 --> 00:39:04,240 Y luego vamos a seguir adelante y poner estas imágenes en el interior. 840 00:39:04,240 --> 00:39:06,540 >> Así que aquí es un paquete que está listo para ir. 841 00:39:06,540 --> 00:39:09,780 Aquí hay otro paquete que está listo para ir. 842 00:39:09,780 --> 00:39:14,100 Aquí hay un tercer paquete que está listo para ir. 843 00:39:14,100 --> 00:39:16,870 Y aquí es cuarto paquete que está listo para ir. 844 00:39:16,870 --> 00:39:19,849 >> Y ahora lo que es interesante acerca de cómo el Internet en las obras de realidad 845 00:39:19,849 --> 00:39:22,140 es que a pesar de que tengo cuatro paquetes, todos los cuales 846 00:39:22,140 --> 00:39:24,730 están destinados para el mismo ubicación, que no son necesariamente 847 00:39:24,730 --> 00:39:26,870 va a recorrer el mismo camino. 848 00:39:26,870 --> 00:39:32,070 Y así, a pesar de que yo podría entregar estos los paquetes fuera al router más cercano 849 00:39:32,070 --> 00:39:36,660 digamos, si a usted le gustaría enviarlos en todas direcciones, vamos a ver 850 00:39:36,660 --> 00:39:40,706 lo que realmente sucede, el objetivo de que es conseguir que en última instancia, a Cole. 851 00:39:40,706 --> 00:39:44,850 852 00:39:44,850 --> 00:39:48,770 Y, en efecto, que ya no están teniendo necesariamente la misma dirección. 853 00:39:48,770 --> 00:39:50,510 Y eso está bien. 854 00:39:50,510 --> 00:39:52,480 Esto es un poco incómodo y el estilo de Oprah hoy. 855 00:39:52,480 --> 00:39:56,540 >> Y ahora me deja deliberadamente tener que una vuelta. 856 00:39:56,540 --> 00:40:00,196 Y ahora Cole, si usted le gustaría reensamblarlo lo mejor que pueda. 857 00:40:00,196 --> 00:40:06,610 858 00:40:06,610 --> 00:40:10,180 Por supuesto, todos podemos adivinar lo que la conclusión de que aquí va a ser. 859 00:40:10,180 --> 00:40:12,600 Vas a tener 3/4 de Rick Astley en un momento. 860 00:40:12,600 --> 00:40:15,920 861 00:40:15,920 --> 00:40:19,291 Y lo que es sin embargo la implicación de eso? 862 00:40:19,291 --> 00:40:20,540 Usted quiere tratar de sostenerlo? 863 00:40:20,540 --> 00:40:23,540 Tenemos una cámara apuntando a usted si desea 864 00:40:23,540 --> 00:40:26,226 para posar con Rick Astley aquí. 865 00:40:26,226 --> 00:40:28,610 866 00:40:28,610 --> 00:40:29,510 Allá vamos. 867 00:40:29,510 --> 00:40:30,410 Encantador. 868 00:40:30,410 --> 00:40:33,230 >> Pero parece que falta un fragmento de Rick Astley. 869 00:40:33,230 --> 00:40:37,015 Así que resulta que el Internet es accionado generalmente por no sólo IP, 870 00:40:37,015 --> 00:40:39,890 pero en realidad hemos escuchado en el mismo a partir de la conferencia en la que video-- 871 00:40:39,890 --> 00:40:42,473 y usted probablemente ha visto este sigla más often-- lo que realmente 872 00:40:42,473 --> 00:40:44,360 es el protocolo que tienden a oír hablar? 873 00:40:44,360 --> 00:40:45,120 >> AUDIENCIA: TCP / IP. 874 00:40:45,120 --> 00:40:48,090 >> DAVID J. MALAN: TCP / IP, que es sólo una combinación 875 00:40:48,090 --> 00:40:49,940 de dos protocolos, uno llamado IP. 876 00:40:49,940 --> 00:40:52,640 ¿Qué de nuevo, es sólo el conjunto de los convenios a través de la cual 877 00:40:52,640 --> 00:40:54,740 abordar todos los ordenadores en internet. 878 00:40:54,740 --> 00:40:56,930 Y entonces TCP, que sirve a otro propósito. 879 00:40:56,930 --> 00:41:00,110 >> TCP es un protocolo que se típicamente utilizar en conjunción 880 00:41:00,110 --> 00:41:04,410 con IP, que, entre otros cosas, la entrega de garantías. 881 00:41:04,410 --> 00:41:08,860 De hecho, TCP es el protocolo que daría cuenta de que uno de los paquetes 882 00:41:08,860 --> 00:41:10,930 al parecer no llegó a Cole, porque parece 883 00:41:10,930 --> 00:41:12,830 ser el número cuatro desaparecidos de cada cuatro. 884 00:41:12,830 --> 00:41:16,530 Y así lo TCP, un protocolo hace, es que le dice a Cole, 885 00:41:16,530 --> 00:41:19,850 bueno Cole, si usted recibe sólo tres de cada cuatro paquetes, 886 00:41:19,850 --> 00:41:22,600 Me cuál te dirá Faltan, en esencia, 887 00:41:22,600 --> 00:41:25,570 y entonces mi propósito en la vida debe ser para retransmitir eso. 888 00:41:25,570 --> 00:41:28,580 >> Y así, si yo también, la remitente, están utilizando TCP, 889 00:41:28,580 --> 00:41:31,810 Entonces debería crear un nuevo packet-- No esta arrugada de un aquí-- 890 00:41:31,810 --> 00:41:35,980 retransmitir sólo esta pieza de , de modo que en última instancia tiene Cole 891 00:41:35,980 --> 00:41:38,280 un recuerdo completo, si nada más. 892 00:41:38,280 --> 00:41:43,000 Pero lo que en última instancia los datos en realidad llega a su destino correcto. 893 00:41:43,000 --> 00:41:48,020 >> Pero, por desgracia, escribiendo el nombre de Cole en la parte frontal no es suficiente, per se. 894 00:41:48,020 --> 00:41:50,270 Y de verdad, yo no escribiría El nombre de Cole, pero probablemente 895 00:41:50,270 --> 00:41:51,655 su dirección IP en el sobre. 896 00:41:51,655 --> 00:41:52,780 Y yo no escribiría David. 897 00:41:52,780 --> 00:41:56,550 Me gustaría escribir mi dirección IP en el sobre de manera que las computadoras realmente puede 898 00:41:56,550 --> 00:41:57,999 comunicarse de ida y vuelta. 899 00:41:57,999 --> 00:42:00,540 Pero resulta que los ordenadores puede hacer mucho más que servir hasta 900 00:42:00,540 --> 00:42:01,900 fotos de Rick Astley. 901 00:42:01,900 --> 00:42:05,340 También pueden enviar y recibir correos electrónicos, mensajes de chat. 902 00:42:05,340 --> 00:42:09,780 Ellos pueden hacer cosas como la transferencia de archivos, y cualquier número de otras herramientas 903 00:42:09,780 --> 00:42:12,330 se utiliza en Internet, servidores pueden hacer en estos días. 904 00:42:12,330 --> 00:42:15,300 >> Y sólo porque una empresa, o una escuela, o una persona 905 00:42:15,300 --> 00:42:19,420 quiere tener un servidor web y un servidor de correo electrónico, y un servidor de chat, 906 00:42:19,420 --> 00:42:21,420 no significa que usted necesita tres computadoras. 907 00:42:21,420 --> 00:42:26,200 Usted puede tener un solo equipo que ejecuta múltiples servicios, por así decirlo. 908 00:42:26,200 --> 00:42:29,190 >> Y así, cuando Cole recibe un mensaje así, ¿cómo 909 00:42:29,190 --> 00:42:32,940 no su equipo sabía si mostrar esa imagen en su navegador, 910 00:42:32,940 --> 00:42:37,730 o en Gchat, o en Facebook Messenger, o en cualquier número de otras herramientas? 911 00:42:37,730 --> 00:42:40,430 >> Así que resulta también de que como sobre es pieza adicional 912 00:42:40,430 --> 00:42:43,070 de la información conocida como un número de puerto. 913 00:42:43,070 --> 00:42:45,240 Y un número de puerto es sólo un número en efecto, 914 00:42:45,240 --> 00:42:48,342 pero no identifica de forma exclusiva la computadora, pero el servicio. 915 00:42:48,342 --> 00:42:49,550 Y hay racimos de estos. 916 00:42:49,550 --> 00:42:51,258 Así resulta que en el mundo, los seres humanos 917 00:42:51,258 --> 00:42:57,095 han decidido por unos pocos, convenciones, algunas de las cuales son estos. 918 00:42:57,095 --> 00:42:59,220 Así que hay algo llamado Protocolo de transferencia de archivos. 919 00:42:59,220 --> 00:42:59,870 Es bastante anticuado. 920 00:42:59,870 --> 00:43:00,970 Es completamente inseguro. 921 00:43:00,970 --> 00:43:02,320 Mucha gente todavía lo utilizan. 922 00:43:02,320 --> 00:43:04,240 Y utiliza el número de puerto 21. 923 00:43:04,240 --> 00:43:07,250 En otras palabras, si enviar un archivo a través de FTP, 924 00:43:07,250 --> 00:43:10,570 el sobre tendría no sólo el remitente y la dirección IP del receptor, 925 00:43:10,570 --> 00:43:14,020 también tendría el número 21 de manera que el equipo receptor sabe oh, esto 926 00:43:14,020 --> 00:43:17,280 es un archivo, no un correo electrónico o un mensaje de chat. 927 00:43:17,280 --> 00:43:19,016 >> 25 es SMTP. 928 00:43:19,016 --> 00:43:20,516 ¿Cuántos de ustedes han utilizado SMTP? 929 00:43:20,516 --> 00:43:22,850 930 00:43:22,850 --> 00:43:23,380 Equivocado. 931 00:43:23,380 --> 00:43:24,490 Casi todos ustedes tienen. 932 00:43:24,490 --> 00:43:28,730 Si alguna vez has usado el correo electrónico, usted ha utilizado SMTP, Simple Mail Transfer Protocol, 933 00:43:28,730 --> 00:43:32,300 que es sólo una forma elegante de decir, este es el tipo de equipo o servicio 934 00:43:32,300 --> 00:43:34,600 que envía su salida de correo electrónico. 935 00:43:34,600 --> 00:43:38,780 >> Y si alguna vez has visto siglas como POP o IMAP, y hay algunos otros, 936 00:43:38,780 --> 00:43:40,670 esos son para recibir correo electrónico, típicamente. 937 00:43:40,670 --> 00:43:42,650 Eso sólo significa que es un servicio diferente. 938 00:43:42,650 --> 00:43:45,850 Es software que alguien escribió que envía o escucha 939 00:43:45,850 --> 00:43:48,880 en un número de puerto específico por lo que no confunde correos electrónicos 940 00:43:48,880 --> 00:43:50,360 con algún otro tipo de datos. 941 00:43:50,360 --> 00:43:55,500 >> Ahora la web es HTTP, que es número 80, y también el puerto 443. 942 00:43:55,500 --> 00:43:57,590 Y de hecho, aunque que los humanos, afortunadamente, 943 00:43:57,590 --> 00:43:59,610 No tienes que hacer esto, cualquier momento usted visita 944 00:43:59,610 --> 00:44:05,810 un sitio web como http://www.yale.edu, el navegador 945 00:44:05,810 --> 00:44:07,790 es simplemente ser clase de útil en la que es 946 00:44:07,790 --> 00:44:10,970 asumiendo que usted quiere puerto numérico 80. 947 00:44:10,970 --> 00:44:15,710 Ya sabemos que el DNS puede averiguar lo que la dirección IP es de www.yale.edu. 948 00:44:15,710 --> 00:44:17,970 Pero el equipo es sólo va a inferir que 949 00:44:17,970 --> 00:44:21,560 quieren puerto 80 porque usted está utilizando Chrome, o IE, o algún otro navegador. 950 00:44:21,560 --> 00:44:24,930 Pero podría técnicamente hacer de colon 80. 951 00:44:24,930 --> 00:44:28,520 Y entonces puedo decirle explícitamente mi navegador, enviar un paquete o más 952 00:44:28,520 --> 00:44:32,080 de información para www.yale.edu solicitando la página de inicio de hoy. 953 00:44:32,080 --> 00:44:36,070 Pero específicamente, dirección a IP de Yale en el puerto 80 954 00:44:36,070 --> 00:44:39,190 por lo que en realidad llegue respaldar el servidor web de la Universidad de Yale. 955 00:44:39,190 --> 00:44:42,229 >> Ahora desaparece inmediatamente porque los navegadores sólo 956 00:44:42,229 --> 00:44:44,020 decidimos que no lo hacemos tenga que confundir los seres humanos 957 00:44:44,020 --> 00:44:46,810 por tener aún más arcana información como de colon 80. 958 00:44:46,810 --> 00:44:50,640 Y, francamente, los navegadores al igual que Chrome no hacer aún 959 00:44:50,640 --> 00:44:55,464 muestran que HTTP más, o el colon, o la barra barra, o de la barra final, 960 00:44:55,464 --> 00:44:58,380 en cierto sentido, porque están tratando para hacer las cosas más simples para los usuarios. 961 00:44:58,380 --> 00:45:01,080 En otro sentido, es sólo un poco de una experiencia de usuario cosa-- 962 00:45:01,080 --> 00:45:02,720 Vamos a deshacernos de algunos de los obstáculos. 963 00:45:02,720 --> 00:45:05,405 Pero esconde algunos de estos detalles subyacentes. 964 00:45:05,405 --> 00:45:09,360 >> Y de hecho, ninguno de nosotros probablemente nunca escriba http más. 965 00:45:09,360 --> 00:45:12,060 Basta con escribir en algo como www.harvard.edu. 966 00:45:12,060 --> 00:45:15,310 Y de nuevo, infiere Chrome que desea HTTP. 967 00:45:15,310 --> 00:45:18,970 Pero hay otros protocolos que sin duda podríamos estar usando. 968 00:45:18,970 --> 00:45:24,480 >> Así que dado todo esto, si ahora ordenar de poner en el llamado sombrero de la ingeniería, 969 00:45:24,480 --> 00:45:27,417 ¿cómo cosas llamadas firewalls funcionan? 970 00:45:27,417 --> 00:45:29,750 Así que usted está probablemente en general familiarizado con el servidor de seguridad, 971 00:45:29,750 --> 00:45:30,990 no tanto en el sentido físico. 972 00:45:30,990 --> 00:45:32,470 Así que de vuelta en el día, y aún hoy en día, 973 00:45:32,470 --> 00:45:35,430 si tienes como centros comerciales para instancia que tiene una gran cantidad de tiendas, 974 00:45:35,430 --> 00:45:38,500 en general, las paredes de entre tiendas individuales o tiendas 975 00:45:38,500 --> 00:45:43,180 son servidores de seguridad en el sentido de que tienen aislamiento especial 976 00:45:43,180 --> 00:45:45,310 de manera que si un incendio estalla en una tienda, 977 00:45:45,310 --> 00:45:48,210 No necesariamente extendido a la tienda de al lado. 978 00:45:48,210 --> 00:45:51,710 >> El mundo de la informática también tiene cortafuegos que hacer algo diferente. 979 00:45:51,710 --> 00:45:52,798 ¿Qué hace una bola de fuego? 980 00:45:52,798 --> 00:45:53,298 ¿Sí? 981 00:45:53,298 --> 00:45:55,290 >> AUDIENCIA: Básicamente le cortaron la conexión 982 00:45:55,290 --> 00:45:59,493 si encuentran algo como, por ejemplo, 983 00:45:59,493 --> 00:46:01,361 tienen varias declaraciones id. 984 00:46:01,361 --> 00:46:04,340 Y si pasa algo, le cortaron la conexión. 985 00:46:04,340 --> 00:46:07,570 Al igual que si este ataque malicioso [Inaudible] el equipo, o-- 986 00:46:07,570 --> 00:46:08,630 >> DAVID J. MALAN: OK bueno. 987 00:46:08,630 --> 00:46:11,220 Sí, y de hecho eres incluso ir un poco más lejos 988 00:46:11,220 --> 00:46:14,590 en la descripción de algo que podría ser llamado un sistema de detección de intrusos, 989 00:46:14,590 --> 00:46:18,305 o IDS para abreviar, por el que usted en realidad tienen reglas definidas. 990 00:46:18,305 --> 00:46:22,140 Y si usted comienza a ver sospechosa comportamiento, intenta poner fin a la misma. 991 00:46:22,140 --> 00:46:24,250 >> Y un firewall, francamente, a nivel de redes, 992 00:46:24,250 --> 00:46:26,821 es aún más tonto y más simple de que, en general. 993 00:46:26,821 --> 00:46:29,070 Y hay diferentes tipos los servidores de seguridad en el mundo. 994 00:46:29,070 --> 00:46:31,569 Pero los que operan a el nivel que estamos hablando hoy-- 995 00:46:31,569 --> 00:46:35,330 IP y TCP-- trabajar aún más directa. 996 00:46:35,330 --> 00:46:39,180 >> Por ejemplo, si usted fuera el sistema de Yale administradores, o el sistema de la Universidad de Harvard 997 00:46:39,180 --> 00:46:42,020 administradores, o algún grande Brother en alguna empresa, 998 00:46:42,020 --> 00:46:45,040 y que quería evitar que la totalidad de su estudiantes o todos sus empleados 999 00:46:45,040 --> 00:46:47,619 de ir a facebook.com, todo lo que tienes que hacer 1000 00:46:47,619 --> 00:46:50,160 es asegurarse de que todos los de su tráfico de la red, en primer lugar, 1001 00:46:50,160 --> 00:46:51,850 pasa a través de un dispositivo especial. 1002 00:46:51,850 --> 00:46:53,030 Digamos que es un servidor de seguridad. 1003 00:46:53,030 --> 00:46:54,910 >> Y eso está bien, porque usted puede hacer su enrutador 1004 00:46:54,910 --> 00:46:57,618 lo mismo que un servidor de seguridad si pones el mismo tipo de software 1005 00:46:57,618 --> 00:46:58,940 en la misma máquina. 1006 00:46:58,940 --> 00:47:01,780 Así que si todos sus estudiantes o empleados tráfico 1007 00:47:01,780 --> 00:47:04,450 está pasando a través de este firewall central, cómo 1008 00:47:04,450 --> 00:47:08,540 podríamos bloquear la gente de ir a facebook.com, por ejemplo? 1009 00:47:08,540 --> 00:47:10,780 ¿Cómo sería el sistema administrador tiene que hacer? 1010 00:47:10,780 --> 00:47:11,370 ¿Alguien mas? 1011 00:47:11,370 --> 00:47:12,911 Vamos a tratar de dar la vuelta. 1012 00:47:12,911 --> 00:47:15,074 >> AUDIENCIA: [inaudible] 1013 00:47:15,074 --> 00:47:16,365 DAVID J. MALAN: Diga eso otra vez? 1014 00:47:16,365 --> 00:47:19,215 AUDIENCIA: Debe acaba de obtener atrapados en el interior del sistema. 1015 00:47:19,215 --> 00:47:22,487 Así que sólo hay que poner en Facebook 127.0.0-- 1016 00:47:22,487 --> 00:47:23,820 DAVID J. MALAN: Oh, interesante. 1017 00:47:23,820 --> 00:47:27,290 Así que en realidad se puede entonces hackear su sistema DNS. 1018 00:47:27,290 --> 00:47:31,180 Este es de hecho una forma de poder hacer esto por el que cada vez que un estudiante de Yale tira 1019 00:47:31,180 --> 00:47:34,670 hasta www.facebook.com, todo los que estamos aquí hoy en el campus 1020 00:47:34,670 --> 00:47:38,590 están utilizando el servidor DNS de Yale, porque el servidor DHCP de Yale nos dio 1021 00:47:38,590 --> 00:47:39,580 esa dirección. 1022 00:47:39,580 --> 00:47:42,490 Así que sí, usted podría tipo de romper cosas o convención descanso 1023 00:47:42,490 --> 00:47:49,190 por sólo decir, sí, dirección del facebook.com es falso, 1024 00:47:49,190 --> 00:47:52,530 es 1.2.3.4, que es en realidad no legítimo. 1025 00:47:52,530 --> 00:47:53,930 O tal vez es 278. 1026 00:47:53,930 --> 00:47:57,460 lo que estaba en el programa de televisión de una Hace momento para que ninguno de nosotros 1027 00:47:57,460 --> 00:47:59,176 en realidad puede visitar facebook.com. 1028 00:47:59,176 --> 00:48:00,590 >> Así que supongamos Yale hizo eso. 1029 00:48:00,590 --> 00:48:03,336 Supongamos Yale quería mantener a salir de facebook.com. 1030 00:48:03,336 --> 00:48:05,700 Y por lo tanto, cambiado la configuración de DNS 1031 00:48:05,700 --> 00:48:08,812 para darle una IP falsa abordar para facebook.com. 1032 00:48:08,812 --> 00:48:10,616 ¿Cómo responde usted? 1033 00:48:10,616 --> 00:48:12,990 Técnicamente, no-- oh, ahora todo el mundo quiere participar. 1034 00:48:12,990 --> 00:48:13,490 OK, sí. 1035 00:48:13,490 --> 00:48:16,190 AUDIENCIA: Basta con escribir en el dirección IP real de Facebook. 1036 00:48:16,190 --> 00:48:16,710 >> DAVID J. MALAN: OK, bueno. 1037 00:48:16,710 --> 00:48:19,350 Así que podríamos sólo tienes que escribir en el dirección IP real de Facebook, 1038 00:48:19,350 --> 00:48:21,090 al igual que lo hice con el sitio web de la Universidad de Yale. 1039 00:48:21,090 --> 00:48:24,636 Y si el servidor de Facebook se configura para apoyar eso, debe de hecho trabajar. 1040 00:48:24,636 --> 00:48:26,510 Es un dolor menor en el cuello, porque ahora 1041 00:48:26,510 --> 00:48:30,220 hay que recordar algunos al azar Valor de 32 bits, pero que podría trabajar. 1042 00:48:30,220 --> 00:48:31,622 ¿Qué más se puede hacer? 1043 00:48:31,622 --> 00:48:32,121 Sí. 1044 00:48:32,121 --> 00:48:35,117 >> AUDIENCIA: Usted podría cambiar los ajustes [inaudible]. 1045 00:48:35,117 --> 00:48:37,700 DAVID J. MALAN: Sí, usted podría incluso cambiar la configuración de DNS. 1046 00:48:37,700 --> 00:48:40,480 Así que, de hecho, esto es en realidad bastante útil, francamente, 1047 00:48:40,480 --> 00:48:45,590 si estás en un aeropuerto, o si estás en un café, o algo que 1048 00:48:45,590 --> 00:48:48,834 tiene internet escamosa por el cual a veces el servidor DNS simplemente deja de funcionar. 1049 00:48:48,834 --> 00:48:51,000 Así que hasta yo lo hago de vez en cuando esto, no para malicioso, me 1050 00:48:51,000 --> 00:48:52,750 querer usar Facebook propósitos, pero en realidad 1051 00:48:52,750 --> 00:48:56,344 porque me parece que tienen una red conexión, pero nada funciona. 1052 00:48:56,344 --> 00:48:58,260 Y así uno de los primeros cosas que try-- y usted 1053 00:48:58,260 --> 00:49:01,710 puede hacer esto en Windows también-- pero en mi Mac, si voy a la red. 1054 00:49:01,710 --> 00:49:03,330 Y elijo mi conexión Wi-Fi gratuita. 1055 00:49:03,330 --> 00:49:04,750 Y voy a Avanzado. 1056 00:49:04,750 --> 00:49:06,080 Y voy a DNS. 1057 00:49:06,080 --> 00:49:08,260 Estos son los tres Direcciones IP que Yale 1058 00:49:08,260 --> 00:49:10,290 es darme por tres servidores DNS. 1059 00:49:10,290 --> 00:49:14,110 El objetivo es, pues, para mí tratar cualquier uno de estos para resolver direcciones. 1060 00:49:14,110 --> 00:49:15,946 >> Pero puedo anular estas haciendo un plus. 1061 00:49:15,946 --> 00:49:18,333 Y alguien quiere proponer un servidor DNS? 1062 00:49:18,333 --> 00:49:19,120 >> AUDIENCIA: 8.8.8.8? 1063 00:49:19,120 --> 00:49:20,578 >> DAVID J. MALAN: Oh, eres increíble. 1064 00:49:20,578 --> 00:49:21,650 Sí, 8.8.8.8. 1065 00:49:21,650 --> 00:49:26,170 Así que Google, bendiga sus corazones, comprado la dirección IP 8.8.8.8, 1066 00:49:26,170 --> 00:49:29,560 ya que poco parece Gs Probablemente, y es fácil de recordar. 1067 00:49:29,560 --> 00:49:34,820 Pero de hecho, ahora he configurado mi equipo para utilizar el servidor DNS de Google. 1068 00:49:34,820 --> 00:49:38,050 >> Así que ahora si voy a yale.edu, todavía va a funcionar. 1069 00:49:38,050 --> 00:49:40,100 Pero yo no estoy usando Yale Servidores DNS más. 1070 00:49:40,100 --> 00:49:44,430 Y si voy a facebook.com, todos los que se ven ups 1071 00:49:44,430 --> 00:49:45,960 van a ir a través de Google. 1072 00:49:45,960 --> 00:49:49,120 >> Así, por un lado, tengo inteligentemente eludido el sistema local 1073 00:49:49,120 --> 00:49:51,810 administradores simplemente por la comprensión de cómo la creación de redes obras. 1074 00:49:51,810 --> 00:49:53,360 Pero yo estoy pagando un precio. 1075 00:49:53,360 --> 00:49:54,740 Nada es gratis. 1076 00:49:54,740 --> 00:49:56,096 Lo que he acabo entregado? 1077 00:49:56,096 --> 00:50:00,180 1078 00:50:00,180 --> 00:50:02,250 Lo que he acabo entregado? 1079 00:50:02,250 --> 00:50:06,090 Todos los de ustedes personas inteligentes que tienen estado usando 8.8.8.8, porque es fresco 1080 00:50:06,090 --> 00:50:10,440 o resuelve problemas, lo tienen has estado haciendo todo este tiempo? 1081 00:50:10,440 --> 00:50:11,910 >> AUDIENCIA: Viajar más lejos? 1082 00:50:11,910 --> 00:50:15,201 >> DAVID J. MALAN: viajar Tal vez más lejos, porque de Google, probablemente no es tan 1083 00:50:15,201 --> 00:50:16,770 cerca como el servidor por la calle. 1084 00:50:16,770 --> 00:50:18,420 Pero más preocupantemente. 1085 00:50:18,420 --> 00:50:18,920 ¿Sí? 1086 00:50:18,920 --> 00:50:20,940 >> AUDIENCIA: Así que ahora Google sabe a dónde va. 1087 00:50:20,940 --> 00:50:23,856 >> DAVID J. MALAN: Google sabe, literalmente, cada sitio web que está visitando, 1088 00:50:23,856 --> 00:50:26,080 porque usted es, literalmente, pidiéndoles que, hey Google, 1089 00:50:26,080 --> 00:50:28,360 puede traducir yale.edu para mí? 1090 00:50:28,360 --> 00:50:32,430 O bueno Google, se puede traducir esta otra dirección del sitio web para mí 1091 00:50:32,430 --> 00:50:33,334 en una dirección IP. 1092 00:50:33,334 --> 00:50:35,750 Y así they're-- no tengo idea de lo que estás hablando. 1093 00:50:35,750 --> 00:50:38,080 Y para que sepan todo sobre ti. 1094 00:50:38,080 --> 00:50:42,180 Entonces se da cuenta de que este es un servicio gratuito con un propósito desde su perspectiva 1095 00:50:42,180 --> 00:50:42,680 así como. 1096 00:50:42,680 --> 00:50:44,420 Pero sin duda puede que salir de un aprieto. 1097 00:50:44,420 --> 00:50:46,380 >> Ahora sólo tienes que hacer frente a otro cuestión que surge con frecuencia 1098 00:50:46,380 --> 00:50:48,640 entre los estudiantes, sobre todo en viajes internacionales 1099 00:50:48,640 --> 00:50:50,765 en algunos países como China, donde hay de hecho 1100 00:50:50,765 --> 00:50:54,559 Es un Gran Cortafuegos de China por el que el gobierno allí bloques bastante 1101 00:50:54,559 --> 00:50:56,100 un poco de tráfico en diferentes niveles. 1102 00:50:56,100 --> 00:50:58,141 Usted no tiene que simplemente bloquear el tráfico a nivel 1103 00:50:58,141 --> 00:51:01,240 estamos hablando aquí, DNS o de otra manera, puedes bloquearlo en otros niveles. 1104 00:51:01,240 --> 00:51:04,030 >> Y, de hecho, sólo para ser claros, un servidor de seguridad 1105 00:51:04,030 --> 00:51:08,400 puede operar aún más simple que sólo tener los administradores de sistemas cambian 1106 00:51:08,400 --> 00:51:09,500 Configuración de DNS. 1107 00:51:09,500 --> 00:51:12,920 Un servidor de seguridad, un dispositivo intermedio nosotros y el resto del mundo, 1108 00:51:12,920 --> 00:51:16,850 simplemente podría bloquear cualquier saliente solicitudes a la dirección IP 1109 00:51:16,850 --> 00:51:21,240 para Facebook en el puerto 80, o la dirección IP para harvard.edu, 1110 00:51:21,240 --> 00:51:22,580 o la dirección IP de cualquier cosa. 1111 00:51:22,580 --> 00:51:26,280 Así que un firewall puede mirar a su sobres 'direcciones IP y hasta el puerto 1112 00:51:26,280 --> 00:51:29,384 números, y si Yale quería, que sólo podía dejar de todos nosotros 1113 00:51:29,384 --> 00:51:32,550 desde incluso mediante FTP más, lo que haría probablemente sería una buena cosa porque 1114 00:51:32,550 --> 00:51:34,320 es de hecho un protocolo inseguro. 1115 00:51:34,320 --> 00:51:37,620 Yale incluso podría impedirnos visitar la totalidad de la web 1116 00:51:37,620 --> 00:51:42,632 simplemente mediante el bloqueo de todos los puertos el tráfico en el número 80 también. 1117 00:51:42,632 --> 00:51:43,840 Así que podría ser de otra manera. 1118 00:51:43,840 --> 00:51:45,740 Y hay maneras incluso más elegantes también. 1119 00:51:45,740 --> 00:51:47,770 >> Pero cuando estás de viaje en el extranjero, por ejemplo, 1120 00:51:47,770 --> 00:51:50,740 o si usted está en un café internet, o si estás en cualquier lugar donde hay 1121 00:51:50,740 --> 00:51:53,179 bloqueos o amenazas, ¿qué puedes hacer? 1122 00:51:53,179 --> 00:51:56,220 Bueno, si vas por la calle de Starbucks o viajar en un aeropuerto, 1123 00:51:56,220 --> 00:51:58,780 por lo general usted puede simplemente hop en el Wi-Fi eligiendo 1124 00:51:58,780 --> 00:52:04,631 como, JFK Wi-Fi de LaGuardia Wi-Fi, o Logan Airport Wi-Fi, o lo que no. 1125 00:52:04,631 --> 00:52:05,880 Y no es encriptada, ¿verdad? 1126 00:52:05,880 --> 00:52:06,949 No hay icono de candado. 1127 00:52:06,949 --> 00:52:09,490 Y es probable que no le pida un nombre de usuario y contraseña. 1128 00:52:09,490 --> 00:52:11,240 Sólo le solicita con alguna forma estúpida 1129 00:52:11,240 --> 00:52:15,260 decir como, estoy de acuerdo en usar esto sólo durante 30 minutos, o algo por el estilo. 1130 00:52:15,260 --> 00:52:18,761 >> Pero no hay cifrado entre usted y Starbucks Wi-Fi 1131 00:52:18,761 --> 00:52:20,760 punto, las cosas con las antenas en la pared. 1132 00:52:20,760 --> 00:52:24,840 No hay cifrado entre usted y señales Wi-Fi del aeropuerto. 1133 00:52:24,840 --> 00:52:29,060 >> Y por lo que técnicamente, esa persona espeluznante sentado unos asientos abajo de usted 1134 00:52:29,060 --> 00:52:31,970 en Starbucks o en el aeropuerto podría ser, con el software adecuado, 1135 00:52:31,970 --> 00:52:35,164 viendo todos los de su inalámbrico el tráfico en su ordenador portátil. 1136 00:52:35,164 --> 00:52:37,080 No es tan difícil de poner un portátil en lo que es 1137 00:52:37,080 --> 00:52:39,880 llamado modo promiscuo, que como su nombre lo indica, 1138 00:52:39,880 --> 00:52:41,760 significa que eres la clase de suelto con las reglas. 1139 00:52:41,760 --> 00:52:44,740 Y simplemente escucha no sólo para el tráfico destinado para ello, 1140 00:52:44,740 --> 00:52:47,700 sino también a todos los demás es el tráfico dentro del alcance. 1141 00:52:47,700 --> 00:52:50,550 >> Y por esa lógica, se puede ver todos los paquetes de información 1142 00:52:50,550 --> 00:52:51,360 que está recibiendo. 1143 00:52:51,360 --> 00:52:53,510 Y si esos paquetes no cifrado, 1144 00:52:53,510 --> 00:52:56,680 se está poniendo en riesgo de tus correos electrónicos, o sus mensajes, 1145 00:52:56,680 --> 00:52:58,620 o cualquier otra cosa quedar expuesto. 1146 00:52:58,620 --> 00:53:01,220 >> Así que incluso si no estás en el extranjero pero no eres más que en Starbucks, 1147 00:53:01,220 --> 00:53:03,800 o estás en una persona al azar de Wi-Fi que no está encriptada, 1148 00:53:03,800 --> 00:53:05,410 una VPN es una buena cosa. 1149 00:53:05,410 --> 00:53:07,410 Una VPN es una red privada virtual. 1150 00:53:07,410 --> 00:53:09,480 Y es una tecnología que le permite tener 1151 00:53:09,480 --> 00:53:14,560 una, un connection-- revueltos cifrada más elegante que César o Vigenere-- 1152 00:53:14,560 --> 00:53:17,420 entre su ordenador portátil, o el teléfono, o el escritorio, 1153 00:53:17,420 --> 00:53:22,460 y un servidor en otro lugar, como un servidor en el campus de la Universidad de Yale. 1154 00:53:22,460 --> 00:53:25,840 >> Y si vas a viajar abroad-- y de hecho, se encuentra esta en hoteles 1155 00:53:25,840 --> 00:53:26,560 todo el tiempo. 1156 00:53:26,560 --> 00:53:28,580 Y sobre todo como aspirante científicos de la computación 1157 00:53:28,580 --> 00:53:32,090 donde ustedes podrían, como frikis, desee utilizar puertos distintos de 80, 1158 00:53:32,090 --> 00:53:35,770 y los puertos que no sean 443-- y de hecho, para el problema planteado seis, 1159 00:53:35,770 --> 00:53:39,280 vamos a jugar con múltiples Puertos TCP con sólo choice-- mucho 1160 00:53:39,280 --> 00:53:42,940 de los hoteles y tiendas, y redes simplemente bloquear ese tipo de cosas 1161 00:53:42,940 --> 00:53:45,970 porque un tanto ingenuamente, o por ignorancia, piensa 1162 00:53:45,970 --> 00:53:48,010 que nadie necesita esos otros puertos. 1163 00:53:48,010 --> 00:53:51,150 >> Y así, mediante el uso de una VPN puede usted eludir ese tipo de restricciones, 1164 00:53:51,150 --> 00:53:54,050 porque lo que hace es una VPN que le permite a Starbucks, 1165 00:53:54,050 --> 00:53:58,630 o el aeropuerto, o en cualquier lugar en el mundo para conectar encryptedly a yale.edu, 1166 00:53:58,630 --> 00:54:02,950 a algún servidor aquí en el campus, y después del túnel, por así decirlo, 1167 00:54:02,950 --> 00:54:06,570 todo su tráfico de donde sea usted es a través de la Universidad de Yale, y en ese momento 1168 00:54:06,570 --> 00:54:08,720 que luego se va a su destino final. 1169 00:54:08,720 --> 00:54:11,150 >> Pero mediante la encriptación de ella, evitar cualquiera de estos tipos 1170 00:54:11,150 --> 00:54:15,380 de filtros o la imposición que alguna red local ha impuesto. 1171 00:54:15,380 --> 00:54:17,980 Y además, tiene una defensa mucho más robusto 1172 00:54:17,980 --> 00:54:19,730 contra las personas espeluznantes a tu alrededor que podría 1173 00:54:19,730 --> 00:54:21,300 estar tratando de escuchar en su tráfico. 1174 00:54:21,300 --> 00:54:24,591 Todavía puede haber gente espeluznante aquí de vuelta a casa en Yale viendo su tráfico 1175 00:54:24,591 --> 00:54:28,440 como viene fuera de la VPN, pero al menos que ha empujado la amenaza más lejos. 1176 00:54:28,440 --> 00:54:30,490 Y es también en este caso, una solución de compromiso. 1177 00:54:30,490 --> 00:54:33,645 >> Ahora, por supuesto, si usted está en China o incluso en la cafetería, 1178 00:54:33,645 --> 00:54:35,770 y ya está todo túnel su tráfico a través de Yale, 1179 00:54:35,770 --> 00:54:37,590 qué precio estamos pagando tal vez? 1180 00:54:37,590 --> 00:54:38,272 >> AUDIENCIA: velocidad. 1181 00:54:38,272 --> 00:54:39,480 DAVID J. MALAN: velocidad, ¿no? 1182 00:54:39,480 --> 00:54:41,430 Tiene que haber algo de matemáticas o algún fanciness involucrado 1183 00:54:41,430 --> 00:54:42,574 en el cifrado real. 1184 00:54:42,574 --> 00:54:44,990 Podría haber miles de millas de distancia o miles 1185 00:54:44,990 --> 00:54:47,250 de millas de cables entre usted y Yale. 1186 00:54:47,250 --> 00:54:49,800 Y es realmente malo si estás en China, por ejemplo, 1187 00:54:49,800 --> 00:54:51,650 y quieres visitar un sitio web en China. 1188 00:54:51,650 --> 00:54:54,230 Y lo que sus datos se va a los EE.UU., y luego de vuelta a China 1189 00:54:54,230 --> 00:54:56,620 sólo porque usted está cifrando a través de este túnel. 1190 00:54:56,620 --> 00:54:59,960 >> Pero los que resuelve técnico y trabajar problemas por igual. 1191 00:54:59,960 --> 00:55:02,050 Pero todo se reduce a estas ideas muy simples. 1192 00:55:02,050 --> 00:55:06,530 Y de Harvard, para los curiosos, tiene uno aquí también, en vpn.harvard.edu, 1193 00:55:06,530 --> 00:55:09,150 que opera como Yale. 1194 00:55:09,150 --> 00:55:12,580 >> Así que con todo esto dicho, ¿por qué es útil toda esta red? 1195 00:55:12,580 --> 00:55:14,080 ¿Y qué podemos empezar a hacer con él? 1196 00:55:14,080 --> 00:55:15,630 Bueno, vamos a hacer esto ahora más real. 1197 00:55:15,630 --> 00:55:17,610 Este es el acrónimo con la que la mayoría de nosotros 1198 00:55:17,610 --> 00:55:22,140 son probablemente muy familiar-- HTTP-- que significa la transferencia de hipertexto 1199 00:55:22,140 --> 00:55:22,950 protocolo. 1200 00:55:22,950 --> 00:55:26,460 Y esto sólo significa que se trata de el lenguaje, el protocolo 1201 00:55:26,460 --> 00:55:29,140 que los navegadores web y servidor web hablan. 1202 00:55:29,140 --> 00:55:31,437 >> El P en HTTP es de hecho un protocolo. 1203 00:55:31,437 --> 00:55:33,270 Y un protocolo es sólo un conjunto de convenciones. 1204 00:55:33,270 --> 00:55:36,690 Hemos visto IP-- protocol-- internet Control de la transmisión TCP-- 1205 00:55:36,690 --> 00:55:38,290 protocol-- y HTTP. 1206 00:55:38,290 --> 00:55:40,570 Pero lo que es este estúpido cosa de un protocolo? 1207 00:55:40,570 --> 00:55:41,930 Es sólo un conjunto de convenciones. 1208 00:55:41,930 --> 00:55:43,760 >> Así que si en cierto modo me vengo abajo aquí, y quiero saludar a usted. 1209 00:55:43,760 --> 00:55:44,930 Yo diría hola, mi nombre es David. 1210 00:55:44,930 --> 00:55:45,600 >> AUDIENCIA: Luis. 1211 00:55:45,600 --> 00:55:46,475 >> DAVID J. MALAN: Luis. 1212 00:55:46,475 --> 00:55:49,360 Tenemos esta estupidez humana convención de dar la mano aquí. 1213 00:55:49,360 --> 00:55:50,570 Pero eso es un protocolo, ¿verdad? 1214 00:55:50,570 --> 00:55:51,470 Extendí mi mano. 1215 00:55:51,470 --> 00:55:52,530 Luis le tendió la mano. 1216 00:55:52,530 --> 00:55:53,070 Hicimos esto. 1217 00:55:53,070 --> 00:55:54,790 Y luego completa, hecho. 1218 00:55:54,790 --> 00:55:58,100 >> Y eso es exactamente lo mismo espíritu de un protocolo informático 1219 00:55:58,100 --> 00:56:02,770 donde como en HTTP, lo que pasa es esto. 1220 00:56:02,770 --> 00:56:05,520 Si usted es el equipo de la fue de aquí, y hay algo de Web 1221 00:56:05,520 --> 00:56:07,230 servidor de allí a la derecha. 1222 00:56:07,230 --> 00:56:11,130 Y el equipo de la izquierda quiere solicitar información a ese servidor. 1223 00:56:11,130 --> 00:56:13,140 Es una especie de una operación bidireccional. 1224 00:56:13,140 --> 00:56:15,800 El navegador de la izquierda pide alguna página web. 1225 00:56:15,800 --> 00:56:18,404 El servidor de la derecha responde con alguna página web. 1226 00:56:18,404 --> 00:56:20,570 Y veremos qué forma los toman en un momento. 1227 00:56:20,570 --> 00:56:24,311 >> Y resulta que esos computers-- que el navegador y el servidor o cliente 1228 00:56:24,311 --> 00:56:25,310 y el servidor, por así decirlo. 1229 00:56:25,310 --> 00:56:28,120 Al igual que un restaurante donde el cliente está pidiendo algo, 1230 00:56:28,120 --> 00:56:31,670 y el servidor está trayendo él o ella algo-- llegar 1231 00:56:31,670 --> 00:56:33,170 es una especie de la palabra operativa. 1232 00:56:33,170 --> 00:56:38,560 Literalmente dentro de la envoltura que mi navegador envía desde aquí a una red 1233 00:56:38,560 --> 00:56:40,880 servidor es la palabra get. 1234 00:56:40,880 --> 00:56:42,700 Me gusta Quiero recibir noticias de hoy. 1235 00:56:42,700 --> 00:56:45,370 Quiero conseguir mi Facebook suministro de noticias, o yo 1236 00:56:45,370 --> 00:56:47,330 que desee obtener alguna página del servidor. 1237 00:56:47,330 --> 00:56:50,760 >> En concreto, se trata de lo que es pasando dentro de ese sobre. 1238 00:56:50,760 --> 00:56:53,810 Así que, con Cole, esencialmente Cole enviado una respuesta. 1239 00:56:53,810 --> 00:56:56,750 Si usted se imagina que Cole realidad quería una foto de Rick Astley, 1240 00:56:56,750 --> 00:57:00,700 él podría haberme enviado una solicitud similares en espíritu a esto. 1241 00:57:00,700 --> 00:57:04,670 Dentro de su sobre para mí, donde Ahora estoy haciendo el papel de Google, 1242 00:57:04,670 --> 00:57:08,270 sería una petición que, literalmente, dice, conseguir, y luego una slash-- hacia adelante 1243 00:57:08,270 --> 00:57:10,636 y lo que has visto barras diagonales en las URL antes. 1244 00:57:10,636 --> 00:57:13,260 Sólo significa dame el valor por defecto página, el valor por defecto Rick Astley 1245 00:57:13,260 --> 00:57:14,560 imagen en este caso. 1246 00:57:14,560 --> 00:57:20,100 >> Y, por cierto, Cole habla el idioma HTTP versión 1.1, o el protocolo 1.1. 1247 00:57:20,100 --> 00:57:22,090 Y resulta que hay una versión anterior 1.0. 1248 00:57:22,090 --> 00:57:23,910 Pero las computadoras tienden a utilizar 1.1. 1249 00:57:23,910 --> 00:57:27,840 >> La segunda línea es una cosa útil que volverá a quizá en poco tiempo. 1250 00:57:27,840 --> 00:57:31,900 Pero es sólo una especificación para mí, el destinatario, que la cosa que quiero 1251 00:57:31,900 --> 00:57:33,586 es www.google.com. 1252 00:57:33,586 --> 00:57:36,340 Debido a que es muy posible en estos días para docenas, 1253 00:57:36,340 --> 00:57:39,510 cientos de sitios web con diferentes nombres de dominio a todos 1254 00:57:39,510 --> 00:57:40,735 vivir en el mismo servidor. 1255 00:57:40,735 --> 00:57:42,860 No va a ser verdad tanto en el caso de Google. 1256 00:57:42,860 --> 00:57:45,261 Pero en una empresa más pequeña de caso, podría ser absolutamente. 1257 00:57:45,261 --> 00:57:47,260 Así que Cole es sólo un poco poniendo en el sobre, 1258 00:57:47,260 --> 00:57:50,840 por cierto, cuando este alcanza su dirección IP en el puerto 80, 1259 00:57:50,840 --> 00:57:54,450 sólo asegúrese de que usted sabe Quiero www.google.com, no 1260 00:57:54,450 --> 00:57:56,740 algún otro sitio web al azar en el mismo servidor. 1261 00:57:56,740 --> 00:58:00,360 >> Lo que entonces respondo a Cole con, al final del día, es un cuadro. 1262 00:58:00,360 --> 00:58:02,920 Pero lo alto de esa foto en el interior de la envoltura 1263 00:58:02,920 --> 00:58:05,600 En realidad, es un poco de texto, donde digo, OK. 1264 00:58:05,600 --> 00:58:07,970 Hablo HTTP versión 1.1 también. 1265 00:58:07,970 --> 00:58:09,200 200. 1266 00:58:09,200 --> 00:58:11,730 ¿Qué es un código de estado que la mayoría de nosotros probablemente 1267 00:58:11,730 --> 00:58:14,185 nunca había visto, porque significa OK. 1268 00:58:14,185 --> 00:58:16,810 Y esto es bueno, porque significa que estoy respondiendo con éxito 1269 00:58:16,810 --> 00:58:18,040 a la solicitud de Cole. 1270 00:58:18,040 --> 00:58:21,930 >> ¿Qué números que tienen, probablemente, visto en la web que no están de acuerdo? 1271 00:58:21,930 --> 00:58:22,780 >> AUDIENCIA: 404. 1272 00:58:22,780 --> 00:58:24,830 >> DAVID J. MALAN: 404-- archivo no encontrado. 1273 00:58:24,830 --> 00:58:27,520 Así que de hecho, cada vez que he visto uno de los archivos no molesta 1274 00:58:27,520 --> 00:58:31,010 errores encontrados, porque La página web está muerto, 1275 00:58:31,010 --> 00:58:34,190 o porque escribiste mal una URL, que sólo significa 1276 00:58:34,190 --> 00:58:37,600 que el pequeño sobre que su computadora recibido del servidor 1277 00:58:37,600 --> 00:58:42,670 contenía un mensaje HTTP 1.1, 404-- no encontrado. 1278 00:58:42,670 --> 00:58:44,930 Ese archivo o esa petición usted hizo no se encuentra. 1279 00:58:44,930 --> 00:58:48,660 >> Por otra parte, en el interior de la envoltura normalmente es esta línea, tipo de contenido. 1280 00:58:48,660 --> 00:58:51,080 A veces es HTML, algo pronto veremos. 1281 00:58:51,080 --> 00:58:52,225 A veces es un JPEG. 1282 00:58:52,225 --> 00:58:53,100 A veces es un GIF. 1283 00:58:53,100 --> 00:58:56,060 A veces es un archivo de película, un archivo de audio, cualquier número de cosas. 1284 00:58:56,060 --> 00:59:00,059 Así que en el interior del sobre es sólo una poca idea de lo que estoy recibiendo. 1285 00:59:00,059 --> 00:59:03,100 Hay otros códigos de estado también, algunos de los cuales vamos a explorar en P establece seis, 1286 00:59:03,100 --> 00:59:05,890 y te tropiezas con en P puesto siete y / u ocho. 1287 00:59:05,890 --> 00:59:08,580 Pero algunos de los presentes, al igual que 404 que hemos visto. 1288 00:59:08,580 --> 00:59:11,700 Prohibida, 403, significa como los permisos son incorrectos, 1289 00:59:11,700 --> 00:59:14,740 como que no tiene clase de configurado correctamente. 1290 00:59:14,740 --> 00:59:17,830 301 y 302, que rara vez se ven visualmente. 1291 00:59:17,830 --> 00:59:19,150 Pero que significan redirigir. 1292 00:59:19,150 --> 00:59:21,650 Cada vez que te has ido a uno URL y usted ha sido mágicamente 1293 00:59:21,650 --> 00:59:24,410 enviado a otro lugar, eso es debido a que el navegador ha enviado de vuelta 1294 00:59:24,410 --> 00:59:27,210 un sobre con el número 301 o 302, 1295 00:59:27,210 --> 00:59:30,790 y la URL que quiere su navegador para ir a su lugar. 1296 00:59:30,790 --> 00:59:32,010 >> 500 es horrible. 1297 00:59:32,010 --> 00:59:34,842 Verás que en poco tiempo, probablemente en P puesto seis o P establece siete. 1298 00:59:34,842 --> 00:59:37,050 Y significa generalmente hay algún error en su código, 1299 00:59:37,050 --> 00:59:40,000 porque de hecho vamos a estar escribiendo código que responde a las peticiones web. 1300 00:59:40,000 --> 00:59:42,110 Y usted acaba de conseguir un poco de error en la lógica o la sintaxis, 1301 00:59:42,110 --> 00:59:43,820 y el servidor no puede manejarlo. 1302 00:59:43,820 --> 00:59:47,460 >> Así que vamos a ver cómo podemos aprovechar y entender estas solicitudes de la siguiente manera. 1303 00:59:47,460 --> 00:59:50,716 Si voy a, digamos, google.com. 1304 00:59:50,716 --> 00:59:55,240 Déjame ir a www.google.com. 1305 00:59:55,240 --> 01:00:01,220 Y por el amor de la demostración, vamos a veo, tengo que ir a Ajustes aquí. 1306 01:00:01,220 --> 01:00:03,180 Voy a ir a Configuración de búsqueda. 1307 01:00:03,180 --> 01:00:08,236 Y Google tiene cada vez más molesto características, pero características útiles. 1308 01:00:08,236 --> 01:00:11,110 Así que Google tiene esta cosa como instantánea resultados donde se empieza a escribir, 1309 01:00:11,110 --> 01:00:12,889 y automáticamente las cosas empiezan a aparecer. 1310 01:00:12,889 --> 01:00:14,680 Y eso es todo muy bien y técnicamente útil, 1311 01:00:14,680 --> 01:00:16,420 y nos entenderemos en poco tiempo cómo funciona esto. 1312 01:00:16,420 --> 01:00:18,429 Pero por ahora, me estoy convirtiendo de resultados inmediatos, 1313 01:00:18,429 --> 01:00:20,720 porque quiero que mi navegador tipo de trabajo de la vieja escuela de manera 1314 01:00:20,720 --> 01:00:22,940 que yo pueda ver lo que está pasando. 1315 01:00:22,940 --> 01:00:23,840 >> Así que ahora estoy de vuelta aquí. 1316 01:00:23,840 --> 01:00:25,090 Y quiero buscar gatos. 1317 01:00:25,090 --> 01:00:30,351 Y noto que estoy viendo algunas sugerencias, algunas sugerencias muy benignas 1318 01:00:30,351 --> 01:00:30,850 afortunadamente. 1319 01:00:30,850 --> 01:00:34,730 Y ahora si me golpeó Enter, Veamos qué pasa. 1320 01:00:34,730 --> 01:00:35,850 >> Así que hay algunos gatos. 1321 01:00:35,850 --> 01:00:37,540 Y el éxito de arriba es en la Wikipedia. 1322 01:00:37,540 --> 01:00:39,820 Pero hoy nos importa la tecnología aquí. 1323 01:00:39,820 --> 01:00:42,479 Así que la URL a la que he ha enviado es esto aquí. 1324 01:00:42,479 --> 01:00:44,520 Y hay algunas cosas que realmente no entender. 1325 01:00:44,520 --> 01:00:47,430 >> Así que voy a seguir adelante, porque Yo como que sé cómo funciona Google, 1326 01:00:47,430 --> 01:00:50,700 y yo voy a destilar este URL en su forma más simple. 1327 01:00:50,700 --> 01:00:52,510 Y ahora voy a pulse Enter de nuevo. 1328 01:00:52,510 --> 01:00:53,360 Y todavía funciona. 1329 01:00:53,360 --> 01:00:55,800 Tengo una página de resultados de todo sobre los gatos. 1330 01:00:55,800 --> 01:00:58,460 >> Pero note la simplicidad de mi URL. 1331 01:00:58,460 --> 01:01:00,820 Resulta que esta es la forma gran parte de las obras web. 1332 01:01:00,820 --> 01:01:03,500 La web es sólo un conjunto manojo de ordenadores 1333 01:01:03,500 --> 01:01:05,320 que ejecuta el software que tienen entrada. 1334 01:01:05,320 --> 01:01:07,480 No es llegar de entrada estilo cadena. 1335 01:01:07,480 --> 01:01:09,670 No es la línea de comandos argumentos como que estamos acostumbrados. 1336 01:01:09,670 --> 01:01:13,449 Toman de entrada, estos servidores web, por medio de los URLs bastante a menudo. 1337 01:01:13,449 --> 01:01:15,240 Y cada vez que tienes buscado por algo, 1338 01:01:15,240 --> 01:01:17,448 cualquier momento que haya iniciado sesión en Facebook, en cualquier momento que tienes 1339 01:01:17,448 --> 01:01:20,090 hecho nada interactivo con una página web, lo que estás haciendo 1340 01:01:20,090 --> 01:01:24,340 es la presentación de una forma efectiva, por lo que a speak-- cuadros de texto, casillas de verificación, 1341 01:01:24,340 --> 01:01:27,880 pequeños círculos, y otras cosas que envían información de usted al servidor. 1342 01:01:27,880 --> 01:01:31,960 >> Y resulta que la web servidor sabe mirar a esa URL 1343 01:01:31,960 --> 01:01:36,040 y analizarlo, como mirada al personaje que por el personaje en busca de cualquier cosa 1344 01:01:36,040 --> 01:01:38,000 interesante después de un signo de interrogación. 1345 01:01:38,000 --> 01:01:40,910 Porque después de un signo de interrogación, Resulta que va a venir 1346 01:01:40,910 --> 01:01:42,730 un montón de pares de valores clave. 1347 01:01:42,730 --> 01:01:44,570 Me refiero clave = valor. 1348 01:01:44,570 --> 01:01:48,130 Y luego si hay multiple-- quizá un signo, alguna otra clave = valor, 1349 01:01:48,130 --> 01:01:50,200 signo, clave = valor. 1350 01:01:50,200 --> 01:01:54,560 >> Para ello hemos especie de visto esta idea antes de que algo tiene un valor. 1351 01:01:54,560 --> 01:01:55,880 Es sólo un nuevo formato aquí. 1352 01:01:55,880 --> 01:01:59,040 Y yo sólo sé, por convención, Google usa q para consulta. 1353 01:01:59,040 --> 01:02:02,670 Y luego si quiero buscar perros, me pueden buscar manualmente perros así. 1354 01:02:02,670 --> 01:02:06,360 Y luego estoy parecer conseguir algunos resultados de búsqueda con perros. 1355 01:02:06,360 --> 01:02:07,727 >> Así que parece ser interesante. 1356 01:02:07,727 --> 01:02:10,060 Y de hecho, lo que está pasando debajo del capó es esto. 1357 01:02:10,060 --> 01:02:11,460 Déjame hacer esto. 1358 01:02:11,460 --> 01:02:13,620 Esta es A-- vamos a ver. 1359 01:02:13,620 --> 01:02:16,320 Permítanme volver sobre aquí sólo por un momento. 1360 01:02:16,320 --> 01:02:19,810 >> Vamos a ver que hay otra formas de presentar la información. 1361 01:02:19,810 --> 01:02:25,340 Así que si me estoy iniciando sesión en Facebook, o Gmail o cualquier otro sitio web popular, 1362 01:02:25,340 --> 01:02:30,720 parece un poco mal si lo que he escrito en el cuadro de búsqueda termina en mi URL, 1363 01:02:30,720 --> 01:02:32,850 en la barra de direcciones de mi navegador. 1364 01:02:32,850 --> 01:02:33,690 ¿Por qué? 1365 01:02:33,690 --> 01:02:35,395 ¿Por qué es que medianamente preocupante? 1366 01:02:35,395 --> 01:02:39,567 1367 01:02:39,567 --> 01:02:40,067 ¿Sí? 1368 01:02:40,067 --> 01:02:41,380 AUDIENCIA: Escriba una contraseña. 1369 01:02:41,380 --> 01:02:41,720 DAVID J. MALAN: Sí. 1370 01:02:41,720 --> 01:02:44,000 ¿Y qué si lo tengo tecleado es mi contraseña? 1371 01:02:44,000 --> 01:02:47,881 Yo como que no lo quiero así que obviamente visible en la barra de direcciones de mi navegador. 1372 01:02:47,881 --> 01:02:50,630 Uno, porque mi compañero de piso molesto tiende a mirar por encima del hombro, 1373 01:02:50,630 --> 01:02:53,980 y él o ella puede ver ahora, a pesar de que era balas cuando estoy escribiendo en, 1374 01:02:53,980 --> 01:02:54,810 pequeños círculos. 1375 01:02:54,810 --> 01:02:56,010 Ahora está en mi barra de direcciones. 1376 01:02:56,010 --> 01:02:59,270 >> Por otra parte, lo que es verdad sobre cosas que tienden a escribir en la barra de direcciones. 1377 01:02:59,270 --> 01:03:00,230 >> AUDIENCIA: [inaudible] 1378 01:03:00,230 --> 01:03:01,505 >> DAVID J. MALAN: ¿Qué es eso? 1379 01:03:01,505 --> 01:03:02,630 AUDIENCIA: Se pone enviado. 1380 01:03:02,630 --> 01:03:03,510 DAVID J. MALAN: Se pone enviado. 1381 01:03:03,510 --> 01:03:05,102 Y también, se recordó. 1382 01:03:05,102 --> 01:03:07,060 Debido a que la próxima vez escribe cosas allá arriba, 1383 01:03:07,060 --> 01:03:10,440 a menudo se completa automáticamente y se recuerda lo que has escrito antes. 1384 01:03:10,440 --> 01:03:13,850 Y así hay esta historia verdadera que su hermano o su compañero de cuarto, 1385 01:03:13,850 --> 01:03:16,830 o quien puede caminar a través de más o menos ver todos los sitios web 1386 01:03:16,830 --> 01:03:19,760 que ha visitado porque es conectado a esa barra de direcciones. 1387 01:03:19,760 --> 01:03:22,790 >> Por otra parte, supongamos que desea subir una foto a Facebook. 1388 01:03:22,790 --> 01:03:26,520 ¿Cómo en el mundo es usted va a poner una foto en un URL? 1389 01:03:26,520 --> 01:03:30,217 >> Pues resulta que usted puede hacerlo en alguna cierto, pero es sin duda no es evidente. 1390 01:03:30,217 --> 01:03:33,050 Y por lo que hay esta otra forma de el envío de información en un sobre, 1391 01:03:33,050 --> 01:03:35,680 no a través de un GET, pero a través de algo que se llama POST. 1392 01:03:35,680 --> 01:03:38,060 Y en teoría, parece prácticamente lo mismo. 1393 01:03:38,060 --> 01:03:41,270 En lugar de la palabra GET, decimos POST, y luego el mismo tipo de formato. 1394 01:03:41,270 --> 01:03:43,310 >> Por ejemplo, esto es una captura de pantalla de lo que 1395 01:03:43,310 --> 01:03:46,920 puede parecer que si trato de registro en Facebook, que me envía a un archivo 1396 01:03:46,920 --> 01:03:51,230 login.php llamada, que es en realidad aún hoy en día llamado como tal. 1397 01:03:51,230 --> 01:03:53,910 Es el mismo Marcos nombre dio hace muchos años. 1398 01:03:53,910 --> 01:03:58,520 Es el programa que escribió en PHP a través de que los usuarios pueden iniciar sesión en el sitio web. 1399 01:03:58,520 --> 01:04:00,370 >> Pero usted necesita enviar alguna entrada adicional. 1400 01:04:00,370 --> 01:04:05,170 Y en lugar de lo que pasa después de la el nombre de archivo como lo hizo antes con cats-- 1401 01:04:05,170 --> 01:04:09,720 q = cats-- puede bajar más en la solicitud, en el interior más profundo del sobre si 1402 01:04:09,720 --> 01:04:12,440 va donde nadie puede verlo, y donde no termine 1403 01:04:12,440 --> 01:04:15,670 en la barra de navegador del usuario, y por lo tanto No recuerdo que la gente snoop 1404 01:04:15,670 --> 01:04:16,290 alrededor. 1405 01:04:16,290 --> 01:04:21,260 >> Y aquí mi dirección de correo electrónico y la mi contraseña falsa realidad ir. 1406 01:04:21,260 --> 01:04:27,400 Y si Facebook está usando no HTTP, HTTPS, pero, 1407 01:04:27,400 --> 01:04:30,710 todo esto se encripta, revueltos, ala César o Vigenére, 1408 01:04:30,710 --> 01:04:34,960 pero más fancily para que nadie en realidad puede ver esta solicitud. 1409 01:04:34,960 --> 01:04:38,120 >> Y así, de hecho, cada vez que tenga una dirección URL que comience con HTTPS, 1410 01:04:38,120 --> 01:04:39,560 sólo significa que está encriptado. 1411 01:04:39,560 --> 01:04:42,710 Pero al final del día, lo que es en realidad dentro de estos sobres? 1412 01:04:42,710 --> 01:04:44,070 Esto fue muy bajo nivel. 1413 01:04:44,070 --> 01:04:46,240 Y, afortunadamente, no estamos va a tener necesariamente 1414 01:04:46,240 --> 01:04:49,310 ir tan bajo nivel cada vez que comenzar a escribir software interesante. 1415 01:04:49,310 --> 01:04:51,060 Podemos empezar a tomar las ideas de la primera semana 1416 01:04:51,060 --> 01:04:54,020 a través de cinco, asumir que hay ahora es que esta infraestructura 1417 01:04:54,020 --> 01:04:57,160 nos permite escribir software que opera en la web, 1418 01:04:57,160 --> 01:05:00,120 y que va a permitirnos esta próxima semana para comenzar 1419 01:05:00,120 --> 01:05:01,840 mirando algo llamado HTML. 1420 01:05:01,840 --> 01:05:04,750 Esta es la materia que es aún más profundo dentro de la envolvente, 1421 01:05:04,750 --> 01:05:06,150 pero es las cosas que estamos va a empezar a escribir. 1422 01:05:06,150 --> 01:05:08,020 Y es la materia más curiosamente, estamos 1423 01:05:08,020 --> 01:05:11,420 va a escribir programas que comienza la generación automática 1424 01:05:11,420 --> 01:05:15,410 para que nuestros sitios web no están codificados, pero tenga entrada y producir una salida. 1425 01:05:15,410 --> 01:05:18,810 >> Esta es quizás la web más sencilla página puede hacer en el mundo. 1426 01:05:18,810 --> 01:05:23,000 De hecho puedo abrir algo estúpido como TextEdit 1427 01:05:23,000 --> 01:05:26,160 en mi Mac, que sólo me da una ventana de texto simple como esto. 1428 01:05:26,160 --> 01:05:29,510 Los usuarios de PC tienen Notepad.ext, que es muy similar en espíritu. 1429 01:05:29,510 --> 01:05:33,212 >> Y puedo escribir, literalmente, cabo esto-- HTML DOCTYPE, 1430 01:05:33,212 --> 01:05:34,420 el que se ve un poco críptico. 1431 01:05:34,420 --> 01:05:35,850 Pero vamos a volver a eso. 1432 01:05:35,850 --> 01:05:38,730 HTML, con estas raras soportes y barras inclinadas, 1433 01:05:38,730 --> 01:05:42,240 dentro de los cuales ahora te voy a decir aquí viene el jefe de mi página web. 1434 01:05:42,240 --> 01:05:45,220 Dentro de eso, sólo sabes, y pronto sabrás, 1435 01:05:45,220 --> 01:05:47,850 que puedo poner el título de mi página web. 1436 01:05:47,850 --> 01:05:49,720 Y a continuación, por debajo de la la cabeza de la página web es 1437 01:05:49,720 --> 01:05:51,972 va a ir a la llamada cuerpo de la página web. 1438 01:05:51,972 --> 01:05:54,180 Y sólo estoy sangría justo como en C al tipo de mantener 1439 01:05:54,180 --> 01:05:57,620 cosas muy bien legible estilísticamente. 1440 01:05:57,620 --> 01:06:04,745 Y ahora voy a guardar esto como un presentar en mi escritorio, llamado hello.html. 1441 01:06:04,745 --> 01:06:06,770 >> Y yo voy a decir que sí, usar HTML. 1442 01:06:06,770 --> 01:06:09,690 No lo cambie a .txt, incluso aunque todo esto es un archivo de texto, 1443 01:06:09,690 --> 01:06:12,130 al igual que un programa de C escrito con un editor de texto. 1444 01:06:12,130 --> 01:06:15,080 Aunque no en CS50 IDE en el momento, justo aquí en mi Mac. 1445 01:06:15,080 --> 01:06:18,490 >> Y si ahora me voy a mi escritorio, verás hello.html. 1446 01:06:18,490 --> 01:06:20,720 Si hago doble clic en este, se abrirá Chrome. 1447 01:06:20,720 --> 01:06:23,260 Y a pesar de que este archivo que pasa a vivir en mi escritorio, 1448 01:06:23,260 --> 01:06:26,550 que es tal vez el más simple página web que podría hacer. 1449 01:06:26,550 --> 01:06:30,080 >> Tenga en cuenta que el título de la pestaña camino hasta la parte superior es hola mundo. 1450 01:06:30,080 --> 01:06:32,470 El cuerpo de la página web es de hecho hola mundo. 1451 01:06:32,470 --> 01:06:35,830 Y todo lo que he hecho para llegar a este punto es poner en práctica, 1452 01:06:35,830 --> 01:06:38,342 o es escribir un nuevo lenguaje llamado HTML. 1453 01:06:38,342 --> 01:06:40,300 No es una programación lenguaje como C. Hay 1454 01:06:40,300 --> 01:06:42,508 no va a haber condiciones, y bucles y funciones. 1455 01:06:42,508 --> 01:06:46,560 Es un lenguaje de marcas, en el que Si acaba de decir el receptor 1456 01:06:46,560 --> 01:06:48,410 programa de lo que quieres hacer. 1457 01:06:48,410 --> 01:06:51,195 Esto significa bueno navegador, aquí viene una página HTML. 1458 01:06:51,195 --> 01:06:53,040 Hey navegador, aquí viene la cabeza de mi página. 1459 01:06:53,040 --> 01:06:55,130 Hey navegador, aquí viene el cuerpo de mi página. 1460 01:06:55,130 --> 01:06:57,100 Hey navegador, eso es todo por el cuerpo. 1461 01:06:57,100 --> 01:06:59,350 Eso es todo por la página HTML. 1462 01:06:59,350 --> 01:07:03,560 >> Y con esas definiciones simples solo, pronto veremos que uno, 1463 01:07:03,560 --> 01:07:05,122 podemos representar esto como un árbol. 1464 01:07:05,122 --> 01:07:06,080 Pero lo veremos más adelante. 1465 01:07:06,080 --> 01:07:08,788 Así que esto lo hará todo interconexión a nuestras estructuras de datos más recientes. 1466 01:07:08,788 --> 01:07:12,460 Dos, vamos a introducir esta estúpida broma. 1467 01:07:12,460 --> 01:07:15,680 Este es un tatuaje real que este chico tenía en el cuello. 1468 01:07:15,680 --> 01:07:19,660 Probablemente es divertido la primera semana o dos, y después de eso, tal vez no tanto. 1469 01:07:19,660 --> 01:07:22,960 >> Pero HTML, e incluso la web página que acabo de hacer, super mente 1470 01:07:22,960 --> 01:07:25,670 numbingly disappointing-- sólo decir hola mundo 1471 01:07:25,670 --> 01:07:27,210 en texto negro sobre un fondo blanco. 1472 01:07:27,210 --> 01:07:28,680 Sin duda, podemos hacer mucho mejor. 1473 01:07:28,680 --> 01:07:31,552 Y lo haremos mediante la introducción otro lenguaje llamado CSS. 1474 01:07:31,552 --> 01:07:34,760 Esto tampoco un language-- programación no hay bucles y condiciones, o para los bucles, 1475 01:07:34,760 --> 01:07:38,470 pero en realidad, sólo la sintaxis por el cual podemos decir, hacen de este texto grande. 1476 01:07:38,470 --> 01:07:39,415 Haga este pequeño texto. 1477 01:07:39,415 --> 01:07:40,040 Derecho alinearlo. 1478 01:07:40,040 --> 01:07:40,650 Izquierda alinearlo. 1479 01:07:40,650 --> 01:07:41,195 Que sea de color rosa. 1480 01:07:41,195 --> 01:07:41,820 Que sea de color púrpura. 1481 01:07:41,820 --> 01:07:42,650 Que sea azul. 1482 01:07:42,650 --> 01:07:44,860 ¿O cualquier número de otros efectos visuales. 1483 01:07:44,860 --> 01:07:48,590 Y así que veremos cómo iniciar estilización páginas web para que se vean de una manera 1484 01:07:48,590 --> 01:07:50,480 más cerca de lo que queremos. 1485 01:07:50,480 --> 01:07:56,930 >> Y por último, hemos hecho ruinas tal vez mucho de la televisión y el cine para usted. 1486 01:07:56,930 --> 01:07:58,930 Pensé que terminaríamos aquí con nuestros últimos segundos 1487 01:07:58,930 --> 01:08:03,700 en un clip final que muestra cómo la piratería de las obras en Internet. 1488 01:08:03,700 --> 01:08:06,250 Si pudiéramos atenuar la luces por última vez. 1489 01:08:06,250 --> 01:08:07,250 >> [REPRODUCCIÓN DE VÍDEO] 1490 01:08:07,250 --> 01:08:09,520 >> -De ninguna manera. 1491 01:08:09,520 --> 01:08:10,650 Me estoy hackeado. 1492 01:08:10,650 --> 01:08:11,770 >> -Okorsky? 1493 01:08:11,770 --> 01:08:14,230 >> -No-- No, esto es importante. 1494 01:08:14,230 --> 01:08:17,074 Ellos ya han quemado a través el servidor de seguridad pública NCIS. 1495 01:08:17,074 --> 01:08:19,990 -Bueno, Aislar el nodo y volcado ellos al otro lado del router. 1496 01:08:19,990 --> 01:08:20,990 -Lo estoy intentando. 1497 01:08:20,990 --> 01:08:23,990 Se está moviendo demasiado rápido. 1498 01:08:23,990 --> 01:08:25,179 >> -OH, Esto no es bueno. 1499 01:08:25,179 --> 01:08:27,470 Están usando nuestra conexión [Inaudible] esta base de datos. 1500 01:08:27,470 --> 01:08:28,458 Sever ella. 1501 01:08:28,458 --> 01:08:28,958 -No Puedo. 1502 01:08:28,958 --> 01:08:29,454 Es un ataque punto. 1503 01:08:29,454 --> 01:08:31,438 Él o ella es única pasando después de mi máquina. 1504 01:08:31,438 --> 01:08:32,430 >> -No es posible. 1505 01:08:32,430 --> 01:08:33,847 Hay cifrado mina de nivel del Departamento de Defensa. 1506 01:08:33,847 --> 01:08:35,055 Se necesitarían meses para get-- 1507 01:08:35,055 --> 01:08:35,857 -Oye, ¿Qué es eso? 1508 01:08:35,857 --> 01:08:36,398 ¿Un videojuego? 1509 01:08:36,398 --> 01:08:37,886 >> -No, Tony, que estamos recibiendo hackeado. 1510 01:08:37,886 --> 01:08:40,795 >> -Si Se ponen en la computadora de Abby, toda la red de NCIS está al lado. 1511 01:08:40,795 --> 01:08:42,050 >> -Yo No lo puede parar. 1512 01:08:42,050 --> 01:08:43,050 Haga algo McGee. 1513 01:08:43,050 --> 01:08:44,550 >> -He Nunca visto código como este. 1514 01:08:44,550 --> 01:08:47,432 1515 01:08:47,432 --> 01:08:48,571 -Oh. 1516 01:08:48,571 --> 01:08:49,196 -¿Dónde Es todo ir? 1517 01:08:49,196 --> 01:08:50,604 Abby? 1518 01:08:50,604 --> 01:08:51,520 -Yo No hice nada. 1519 01:08:51,520 --> 01:08:53,020 Pense que lo habías hecho. 1520 01:08:53,020 --> 01:08:54,520 >> -No. 1521 01:08:54,520 --> 01:08:57,232 >> -Yo si. 1522 01:08:57,232 --> 01:08:58,307 >> [FIN DE REPRODUCCIÓN] 1523 01:08:58,307 --> 01:09:00,390 DAVID J. MALAN: La mejor parte es dos personas al escribir 1524 01:09:00,390 --> 01:09:02,170 en el teclado al mismo tiempo. 1525 01:09:02,170 --> 01:09:03,200 >> Así que eso es todo por CS50. 1526 01:09:03,200 --> 01:09:04,700 Nos quedaremos durante horas de oficina. 1527 01:09:04,700 --> 01:09:06,344 Y nos vemos la próxima vez. 1528 01:09:06,344 --> 01:09:07,760 [REPRODUCCIÓN DE MÚSICA - "TEMA Seinfeld"] 1529 01:09:07,760 --> 01:09:11,139 1530 01:09:11,139 --> 01:09:11,680 Esto es CS50. 1531 01:09:11,680 --> 01:09:17,960 1532 01:09:17,960 --> 01:09:20,854 No quiero ser un pirata. 1533 01:09:20,854 --> 01:09:21,770 ALTAVOZ 2: Yarr David. 1534 01:09:21,770 --> 01:09:23,700 Es un buen doblete que estar usando. 1535 01:09:23,700 --> 01:09:26,450 Lote de orzar en ese soplo. 1536 01:09:26,450 --> 01:09:29,327