1 00:00:00,000 --> 00:00:03,395 >> [Música tocando] 2 00:00:03,395 --> 00:00:13,100 3 00:00:13,100 --> 00:00:15,570 >> DAVID J. Malan: Entón, eu só quería amenizar a. 4 00:00:15,570 --> 00:00:18,260 Quere echo o que SCAZ dixo sobre a memoria institucional. 5 00:00:18,260 --> 00:00:20,350 CS50 foi en torno de preto de 20 anos en Harvard. 6 00:00:20,350 --> 00:00:22,280 E a realidade é, a partir de as persoas maiores para abaixo, 7 00:00:22,280 --> 00:00:25,045 hai anualmente tranquilidade que os calouros, os alumnos do segundo ano, 8 00:00:25,045 --> 00:00:26,870 e os juniors e Tamén as persoas maiores a tomar 9 00:00:26,870 --> 00:00:30,360 CS50, que acaba facendo moi ben. 10 00:00:30,360 --> 00:00:32,680 >> A realidade é, os alumnos non fallar CS50. 11 00:00:32,680 --> 00:00:35,740 De feito, nas raras onde tivemos Es ou Fs, 12 00:00:35,740 --> 00:00:37,990 Foi realmente a causa de circunstancias atenuantes, 13 00:00:37,990 --> 00:00:39,840 se é médico ou persoal. 14 00:00:39,840 --> 00:00:41,830 Ds son incriblemente raro así. 15 00:00:41,830 --> 00:00:45,270 E podo dicir confort, aínda que normalmente non divulgan estatísticas, 16 00:00:45,270 --> 00:00:48,450 pero xa que non hai ningunha memoria institucional aquí calquera, 17 00:00:48,450 --> 00:00:51,810 a maioría dos estudantes en CS50 non acabar recibindo un graos da escala. 18 00:00:51,810 --> 00:00:54,720 Unha parte significativa acabar terminando na franxa B tamén. 19 00:00:54,720 --> 00:00:57,490 >> Así, aínda que quizais poida estar equacionando nos seus trios mente 20 00:00:57,490 --> 00:01:00,690 con 60% e, polo tanto, Ds, ou Cs, ou similar, 21 00:01:00,690 --> 00:01:02,530 realmente non se aliñan Se coa realidade. 22 00:01:02,530 --> 00:01:05,238 En realidade, queremos dicir o que nós dicir, a comezos do termo 23 00:01:05,238 --> 00:01:08,380 que tantos estudantes en CS50, ambos en Cambridge e aquí en New Haven, 24 00:01:08,380 --> 00:01:10,220 nunca frecuentaron un curso CS antes. 25 00:01:10,220 --> 00:01:13,090 E o que de feito importa, en última instancia é onde acaba a semana 12 26 00:01:13,090 --> 00:01:15,882 en relación a si mesmo a semana cero. 27 00:01:15,882 --> 00:01:17,590 Agora temos múltiple visite o curso 28 00:01:17,590 --> 00:01:20,548 como sabe-- menos cómodo, máis cómodo, algures no medio. 29 00:01:20,548 --> 00:01:23,790 E, de feito, cando chegar estatísticas sobre a proba desta semana, 30 00:01:23,790 --> 00:01:27,460 Non desánimo, especialmente se Sente que está en torno á media 31 00:01:27,460 --> 00:01:30,780 ou por debaixo da media ou da mediana, especialmente dende que non necesariamente 32 00:01:30,780 --> 00:01:33,560 tomar todos estes datos demográficos en conta na metade do semestre 33 00:01:33,560 --> 00:01:35,000 coas estatísticas de clasificación. 34 00:01:35,000 --> 00:01:37,250 >> Noutras palabras, sabemos estatisticamente cada ano 35 00:01:37,250 --> 00:01:39,570 que os estudantes que son menos cómodos, facer un pouco peor no quiz. 36 00:01:39,570 --> 00:01:42,050 E os estudantes que son máis cómodos facer un pouco mellor o quiz. 37 00:01:42,050 --> 00:01:45,430 Pero por que a promesa no programa e tamén a primeira semana de conferencias, 38 00:01:45,430 --> 00:01:46,880 levamos todo isto en conta. 39 00:01:46,880 --> 00:01:48,900 >> Efectivamente, no extremo anos, o que acaba facendo 40 00:01:48,900 --> 00:01:52,154 é normalizar as puntuacións do outro lado seccións, tanto en Cambridge 41 00:01:52,154 --> 00:01:54,570 e agora aquí en New Haven, o que significa que, tendo en conta 42 00:01:54,570 --> 00:01:57,310 os estilos dispares, o disparate aspereza, a sorte diferente 43 00:01:57,310 --> 00:02:00,722 de personalidades que o individuo TAS teñen aquí e en Cambridge 44 00:02:00,722 --> 00:02:02,930 de xeito que non está nun desvantaxe mesmo que acaba 45 00:02:02,930 --> 00:02:06,120 pasar de ter un TF ou TA que foi un pouco máis difícil de ti 46 00:02:06,120 --> 00:02:07,170 na súa mente. 47 00:02:07,170 --> 00:02:10,139 >> Dous, hai que ter en conta o confort nivel e fondo real, ou a falta 48 00:02:10,139 --> 00:02:13,310 do mesmo, ao tomar puntuacións do cuestionario en conta. 49 00:02:13,310 --> 00:02:14,830 Polo tanto, os dous están incluídos. 50 00:02:14,830 --> 00:02:17,142 E ao final do día, porque é sempre o caso 51 00:02:17,142 --> 00:02:19,100 que un estudante rematou nunha sección menos cómodo 52 00:02:19,100 --> 00:02:24,250 cando el ou ela realmente pertencía nun de entre-ou viceversa, 53 00:02:24,250 --> 00:02:26,230 todo é tan incrible individualizada. 54 00:02:26,230 --> 00:02:29,560 En realidade, vai estar irritado con connosco en a fin do prazo, cando estamos atrasados 55 00:02:29,560 --> 00:02:32,630 enviar as súas notas porque con SCAZ, e Jason e Andy, e eu, 56 00:02:32,630 --> 00:02:35,430 eo equipo vai facer en Cambridge é, literalmente, 57 00:02:35,430 --> 00:02:38,480 ten centos de correos electrónicos para atrás e adiante con todo cento dos cursos 58 00:02:38,480 --> 00:02:41,279 TAS, aquí e en Cambridge, pedíndolles que 59 00:02:41,279 --> 00:02:44,070 pensa de todos os seus alumnos con base nun proxecto das notas. 60 00:02:44,070 --> 00:02:46,230 E todo o que hai despois é incrible individualizada. 61 00:02:46,230 --> 00:02:49,230 Entón, na medida en que quedamos a coñecer vostede en horario de oficina, seccións e máis, 62 00:02:49,230 --> 00:02:51,350 todo isto tamén é levada en conta. 63 00:02:51,350 --> 00:02:55,210 >> Así, aínda que tendemos a usar este cinco escala de puntos, por favor, elimina-se 64 00:02:55,210 --> 00:02:57,492 dende o presuposto de que tres é realmente un 60%. 65 00:02:57,492 --> 00:02:58,450 Foi creado para ser bo. 66 00:02:58,450 --> 00:03:01,360 E os asistentes de ensino son cobrados a principios termo 67 00:03:01,360 --> 00:03:04,050 para tratar de manter puntuacións nos grupos de dous, ou tres, 68 00:03:04,050 --> 00:03:06,590 fours e variar de xeito que nós realmente ten espazo para crecer. 69 00:03:06,590 --> 00:03:08,610 E nós realmente temos un criterio polo cal 70 00:03:08,610 --> 00:03:11,086 podemos darlle útil feedback sobre como está facendo 71 00:03:11,086 --> 00:03:12,210 e como está progresando. 72 00:03:12,210 --> 00:03:15,130 Entón, por favor, levar iso en serio. 73 00:03:15,130 --> 00:03:20,565 >> Hai algunha pregunta que eu poida axuda- tratar ou problemas que poden axudar a paliar? 74 00:03:20,565 --> 00:03:23,800 Ou promesas que podo tentar manter? 75 00:03:23,800 --> 00:03:24,690 Non? 76 00:03:24,690 --> 00:03:25,330 Aceptar. 77 00:03:25,330 --> 00:03:26,010 >> Todo ben. 78 00:03:26,010 --> 00:03:28,970 Entón, con iso dito, este é CS50. 79 00:03:28,970 --> 00:03:31,670 Este é o inicio da semana seis aquí en New Haven. 80 00:03:31,670 --> 00:03:33,820 Imos comezar cunha breve escurecemento das luces 81 00:03:33,820 --> 00:03:37,439 para definir o escenario para o índice de hoxe. 82 00:03:37,439 --> 00:03:38,105 [REPRODUCIÓN DE VIDEO] 83 00:03:38,105 --> 00:03:44,045 [Música tocando] 84 00:03:44,045 --> 00:03:46,600 -El Veu cunha mensaxe. 85 00:03:46,600 --> 00:03:50,300 86 00:03:50,300 --> 00:03:52,900 Cun protocolo de todos os seus propios. 87 00:03:52,900 --> 00:04:06,417 88 00:04:06,417 --> 00:04:13,090 El veu para un mundo de firewalls legal, routers indiferente, e perigos moito peores 89 00:04:13,090 --> 00:04:16,079 que a morte. 90 00:04:16,079 --> 00:04:21,079 É rápido, é forte, é TCP / IP. 91 00:04:21,079 --> 00:04:23,120 E ten o seu enderezo. 92 00:04:23,120 --> 00:04:25,820 93 00:04:25,820 --> 00:04:29,268 Guerreiros da rede. 94 00:04:29,268 --> 00:04:29,917 >> [FIN DE REPRODUCIÓN] 95 00:04:29,917 --> 00:04:31,000 DAVID J. Malan: Todo ben. 96 00:04:31,000 --> 00:04:32,030 Este é CS50. 97 00:04:32,030 --> 00:04:33,820 Este é o inicio da semana seis. 98 00:04:33,820 --> 00:04:37,270 E este é o inicio do noso ollar na programación web e web. 99 00:04:37,270 --> 00:04:41,220 E, quizais o máis excitante, hoxe marca a transición para nós 100 00:04:41,220 --> 00:04:43,780 da nosa liña de comandos mundo da C á web 101 00:04:43,780 --> 00:04:47,020 mundo baseado de PHP e HTML, e CSS, e SQL e JavaScript, 102 00:04:47,020 --> 00:04:49,800 e tanto máis que se no horizonte. 103 00:04:49,800 --> 00:04:53,390 >> Pero, primeiro, el veu ao noso coñecemento en andar polo campus que non 104 00:04:53,390 --> 00:04:57,914 determínase un baño aquí en Nova Haven chamado a sala de Harvard, que 105 00:04:57,914 --> 00:04:59,080 é un pouco acinzentado aquí. 106 00:04:59,080 --> 00:05:03,830 Pero, de feito, alguén foi ao tempo eo gasto de gravado na sala de Harvard 107 00:05:03,830 --> 00:05:05,700 aquí nesta sala. 108 00:05:05,700 --> 00:05:07,790 Grazas por iso. 109 00:05:07,790 --> 00:05:11,020 Non podo dicir que temos un Aínda análogo en Cambridge, 110 00:05:11,020 --> 00:05:14,060 pero eu creo que temos un pouco de proxecto para nós mesmos agora cando imos volver. 111 00:05:14,060 --> 00:05:15,890 Entón, grazas por iso. 112 00:05:15,890 --> 00:05:18,340 >> Entón, un rápido ollar cara atrás, onde paramos a semana pasada 113 00:05:18,340 --> 00:05:21,010 e onde está indo o próximo semana con problemas de definir cinco. 114 00:05:21,010 --> 00:05:24,350 Así, no conxunto de problemas cinco, pode reto a aplicar un corrector ortográfico. 115 00:05:24,350 --> 00:05:26,630 E para facelo, pode entregou un texto moi grande 116 00:05:26,630 --> 00:05:29,160 ficheiro como con 140.000 palabras en inglés. 117 00:05:29,160 --> 00:05:32,610 E vai ser reto a decidir sobre unha estrutura de datos coa que 118 00:05:32,610 --> 00:05:35,340 quere cargar todas esas palabras na memoria, e á memoria RAM, 119 00:05:35,340 --> 00:05:38,470 e, a continuación, aplicar algunhas funcións, un dos cales será comprobar. 120 00:05:38,470 --> 00:05:41,555 Polo que, cando pasou un argumento, Nunha palabra, a súa proba de funcionamento 121 00:05:41,555 --> 00:05:43,430 simplemente terá dicir verdadeiro ou falso, 122 00:05:43,430 --> 00:05:44,990 esta é unha palabra no dicionario. 123 00:05:44,990 --> 00:05:47,110 >> Pero vai ter un discreción proxecto e desafíos 124 00:05:47,110 --> 00:05:48,568 cando se trata de aplicar iso. 125 00:05:48,568 --> 00:05:51,250 Na implantación máis simple, podería certamente 126 00:05:51,250 --> 00:05:53,960 implantar un corrector ortográfico en o dicionario subxacente 127 00:05:53,960 --> 00:05:55,380 co tipo de estrutura de datos? 128 00:05:55,380 --> 00:05:57,796 Só ten almacenar un todo banda de cadeas na memoria? 129 00:05:57,796 --> 00:06:00,074 Cal é o movemento para responder a partir de dúas semanas, quizais? 130 00:06:00,074 --> 00:06:00,740 Audiencia: Array. 131 00:06:00,740 --> 00:06:01,500 DAVID J. Malan: Pode usar unha matriz. 132 00:06:01,500 --> 00:06:02,750 E iso non é de todo malo. 133 00:06:02,750 --> 00:06:05,631 Pero non necesariamente sabe con antelación como grande dun array 134 00:06:05,631 --> 00:06:08,630 vai ter, se non o fai sabe que o ficheiro necesariamente con antelación. 135 00:06:08,630 --> 00:06:10,110 Entón vai ter que utilizar un pouco de malandragem 136 00:06:10,110 --> 00:06:11,970 como malloc, como comezamos a usar. 137 00:06:11,970 --> 00:06:13,977 Ou poderiamos abordar que a preocupación usando 138 00:06:13,977 --> 00:06:16,810 o que outra estrutura de datos que é foi unha especie de aumento marxinal 139 00:06:16,810 --> 00:06:17,894 nunha matriz? 140 00:06:17,894 --> 00:06:18,810 Audiencia: lista encadeada. 141 00:06:18,810 --> 00:06:21,270 DAVID J. Malan: Como un conectado lista, na que temos algún dinamismo. 142 00:06:21,270 --> 00:06:22,686 Pero hai algo máis gasto. 143 00:06:22,686 --> 00:06:24,150 Temos punteiros para manter. 144 00:06:24,150 --> 00:06:25,890 E aínda non codificada esta Se, pero hai sempre 145 00:06:25,890 --> 00:06:28,473 para ser un pouco maior complexidade que só usando corchetes 146 00:06:28,473 --> 00:06:30,080 e saltando unha matriz. 147 00:06:30,080 --> 00:06:33,340 >> Pero o tempo correndo dunha matriz, se está a buscar unha palabra, 148 00:06:33,340 --> 00:06:34,179 pode ser rexistro de n. 149 00:06:34,179 --> 00:06:35,970 Pero, de novo, pode ser algo non-trivial 150 00:06:35,970 --> 00:06:38,734 para construír esa matriz non o coñecemento do tamaño de antelación. 151 00:06:38,734 --> 00:06:41,150 Unha lista ligada, pero, se só almacenar unha gran cantidade de cordas 152 00:06:41,150 --> 00:06:43,300 nunha lista vinculada, cal é o seu límite superior 153 00:06:43,300 --> 00:06:46,920 sobre a execución de tempo será este descriptor para ou comprobar a palabra nesa lista? 154 00:06:46,920 --> 00:06:47,700 >> Audiencia: n. 155 00:06:47,700 --> 00:06:50,575 >> DAVID J. Malan: Si, gran O n ou lineal porque no peor dos casos, 156 00:06:50,575 --> 00:06:52,640 a palabra é como unha palabra Z todo o camiño ao final. 157 00:06:52,640 --> 00:06:55,350 E por mor dunha lista ligada, porque estas frechas, por defecto, 158 00:06:55,350 --> 00:06:58,280 nunha lista vinculada illadamente, só van a partir dunha dirección á outra, 159 00:06:58,280 --> 00:06:59,590 non pode ir ao redor. 160 00:06:59,590 --> 00:07:01,160 Ten que seguir todos eles. 161 00:07:01,160 --> 00:07:05,505 >> Entón propuxemos a finais da semana pasada, semana cinco, que hai xeitos mellores. 162 00:07:05,505 --> 00:07:08,727 E, de feito, o Santo Graal sería realmente constante de tempo 163 00:07:08,727 --> 00:07:10,560 polo que, cando quere para buscar unha palabra, 164 00:07:10,560 --> 00:07:13,370 recibir unha resposta instantánea, independentemente de cantas palabras xa son 165 00:07:13,370 --> 00:07:14,350 no seu dicionario. 166 00:07:14,350 --> 00:07:17,680 >> Esta é a interpretación dun artista o que se pode chamar de unha táboa hash. 167 00:07:17,680 --> 00:07:21,900 E unha táboa hash é unha especie de agradable amálgama dun array-- deseñada vertical 168 00:07:21,900 --> 00:07:26,416 aquí, só porque-- e, a continuación, un ligada lista-- deseñar horizontal aquí. 169 00:07:26,416 --> 00:07:28,790 E a táboa de hash pode ser aplicado en acios de formas. 170 00:07:28,790 --> 00:07:34,110 Este fragmento dun libro didáctico pasa usar datas de nacemento destas persoas 171 00:07:34,110 --> 00:07:38,940 como o medio polo cal está decidindo onde poñer o nome de alguén. 172 00:07:38,940 --> 00:07:41,230 Polo tanto, este é un dicionario se vai de nomes. 173 00:07:41,230 --> 00:07:45,240 E, a fin de axilizar a instalación nomes para esa estrutura de datos, 174 00:07:45,240 --> 00:07:49,280 eles miran para, aparentemente, esas persoas de datas de nacemento, con respecto a un mes. 175 00:07:49,280 --> 00:07:50,570 >> Polo tanto, é de 1 a 31. 176 00:07:50,570 --> 00:07:52,910 E esquecer de febreiro e casos de canto así. 177 00:07:52,910 --> 00:07:57,050 E se o seu aniversario é en xaneiro 1, ou 01 de febreiro, ou 01 de decembro, 178 00:07:57,050 --> 00:07:59,890 vai acabar en a primeira cadea de arriba cara arriba. 179 00:07:59,890 --> 00:08:02,150 Se a súa data de nacemento é como o día 25 dun mes, 180 00:08:02,150 --> 00:08:04,567 vai acabar no balde número 25. 181 00:08:04,567 --> 00:08:07,400 E se hai alguén aí xa en calquera destes lugares, o que 182 00:08:07,400 --> 00:08:10,470 comezar a facer estes conectados listas é costura-las xuntas 183 00:08:10,470 --> 00:08:14,320 de modo que pode ter unha arbitraria número de persoas, ou calquera cousa, 184 00:08:14,320 --> 00:08:15,580 nese lugar. 185 00:08:15,580 --> 00:08:18,400 >> Entón tes unha especie de mestura de constante de tempo para hash. 186 00:08:18,400 --> 00:08:21,160 E para botar algo significa tomar como entrada como unha persoa, 187 00:08:21,160 --> 00:08:25,360 ou polo seu nome, ou o seu nacemento data, e entón decidir sobre algunha saída 188 00:08:25,360 --> 00:08:29,780 con base niso, como mirar para o seu aniversario e saída dun a 31. 189 00:08:29,780 --> 00:08:31,900 >> Entón, entón vostede pode ter un pouco de tempo lineal, 190 00:08:31,900 --> 00:08:34,429 pero, en realidade, e como no o caso de problema establecer cinco, 191 00:08:34,429 --> 00:08:36,220 nós non imos ser traballar en I axustou cinco 192 00:08:36,220 --> 00:08:40,059 tanto sobre a execución asintótica tempo, como a lentitude teórica 193 00:08:40,059 --> 00:08:41,809 cun algoritmo que pode ser executado. 194 00:08:41,809 --> 00:08:44,330 Estamos indo para preocuparse o número real de segundos 195 00:08:44,330 --> 00:08:47,350 ea cantidade real de memoria, o número real de bytes de memoria 196 00:08:47,350 --> 00:08:48,140 está a usar. 197 00:08:48,140 --> 00:08:52,710 Entón, a verdade, tendo un enorme cadea de como un millón de persoas 198 00:08:52,710 --> 00:08:56,710 é moi moi lento se está buscando para un nome nunha lista de tamaños millóns. 199 00:08:56,710 --> 00:08:59,830 >> Pero o que se dividir que lista anterior en 31 partes? 200 00:08:59,830 --> 00:09:04,400 Buscando 1/31 dese Super longa lista, en realidade, 201 00:09:04,400 --> 00:09:05,741 é, certamente, será máis rápido. 202 00:09:05,741 --> 00:09:07,240 Asintótica, é o mesmo. 203 00:09:07,240 --> 00:09:08,860 Só está dividindo por un factor constante. 204 00:09:08,860 --> 00:09:10,651 E lembrar que nós xogue as cousas de distancia. 205 00:09:10,651 --> 00:09:13,486 Pero en realidade, vai para ser 31 veces máis rápido. 206 00:09:13,486 --> 00:09:16,110 E iso é o que nós imos comezar a forza de panca en P axustou cinco. 207 00:09:16,110 --> 00:09:18,750 >> Entón P axustou cinco máis tamén propón que considere 208 00:09:18,750 --> 00:09:21,810 lixeiramente máis sofisticado estrutura de datos chamada un trie. 209 00:09:21,810 --> 00:09:24,420 E un trie é só un árbore como a estrutura de datos. 210 00:09:24,420 --> 00:09:26,672 Pero no canto de ter pequenos círculos ou rectángulos 211 00:09:26,672 --> 00:09:28,380 como nós temos deseño para nós, é, en realidade, 212 00:09:28,380 --> 00:09:30,840 ten arrays enteiros para os seus nós. 213 00:09:30,840 --> 00:09:33,430 E aínda que se trata dun pouco abstracto aquí para ollar, 214 00:09:33,430 --> 00:09:35,450 Zamyla no conxunto P camiña través ha oriente-lo 215 00:09:35,450 --> 00:09:37,580 a través de máis detalles sobre iso. 216 00:09:37,580 --> 00:09:39,980 Esta é unha estrutura de datos que, no canto de forma intelixente 217 00:09:39,980 --> 00:09:44,130 Pode que cada nodo sendo unha matriz de tamaño 26, da a Z ou cero 218 00:09:44,130 --> 00:09:45,320 a 25. 219 00:09:45,320 --> 00:09:49,260 E cando quere inserir unha persoa de nomear a esta estrutura de datos ou atopar 220 00:09:49,260 --> 00:09:53,990 el ou ela, o que fai, se o nome é como Maxwell, M-A-X-W-E-G-G, 221 00:09:53,990 --> 00:09:57,900 ollar para M. E entón salto á posición correspondente M 222 00:09:57,900 --> 00:09:59,100 na primeira matriz. 223 00:09:59,100 --> 00:10:02,400 Vostede, entón, ir a, o primeiro localización no seguinte matriz, 224 00:10:02,400 --> 00:10:03,610 seguindo as frechas. 225 00:10:03,610 --> 00:10:08,300 A continuación, X, W, a continuación, a continuación, E, a continuación, L, a continuación, L, e entón quizais algún fin especial 226 00:10:08,300 --> 00:10:11,850 carácter, algúns sentinela que di unha palabra para aquí. 227 00:10:11,850 --> 00:10:14,780 >> E o que é agradable sobre isto-- e ten en conta que a imaxe aquí, 228 00:10:14,780 --> 00:10:16,797 Observe como bordos de cada array son cortadas. 229 00:10:16,797 --> 00:10:19,630 Iso é só porque esta cousa sería ser enorme e horrible de ollar 230 00:10:19,630 --> 00:10:20,338 a na pantalla. 231 00:10:20,338 --> 00:10:21,820 Polo tanto, é extraído. 232 00:10:21,820 --> 00:10:25,920 ¿Que é agradable sobre esta visión é que, se hai un millón de nomes xa 233 00:10:25,920 --> 00:10:30,890 nesta estrutura de datos, como moitos pasos lévame para introducir Maxwell? 234 00:10:30,890 --> 00:10:36,450 M-A-X-W-E-L-L-- como sete-ish pasos para inserir ou mirar para Maxwell. 235 00:10:36,450 --> 00:10:39,320 >> Supoña que hai un billón nomes nesta estrutura de datos. 236 00:10:39,320 --> 00:10:41,900 Cantos pasos que hai que me a ollar a Maxwell? 237 00:10:41,900 --> 00:10:43,450 M-A-x-- aínda sete. 238 00:10:43,450 --> 00:10:45,770 >> E é aí onde reside o o chamado tempo constante. 239 00:10:45,770 --> 00:10:47,960 Se asumimos que as palabras son certamente delimitada 240 00:10:47,960 --> 00:10:52,150 por 20 carácteres, ou 46 caracteres, ou algún enteiro razoablemente pequeno, 241 00:10:52,150 --> 00:10:53,790 entón é efectivamente unha constante. 242 00:10:53,790 --> 00:10:57,790 E así inserción e procura un trie é super rápido. 243 00:10:57,790 --> 00:10:59,540 Por suposto, nós nunca obter algo de balde. 244 00:10:59,540 --> 00:11:02,740 E aínda que probablemente non mergullou na P axustou cinco aínda, 245 00:11:02,740 --> 00:11:06,596 que o prezo que estamos pagando probablemente a obter unha maior eficiencia tempo 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, non? 248 00:11:08,390 --> 00:11:10,240 Quero dicir, nós non deseñado toda a imaxe aquí. 249 00:11:10,240 --> 00:11:12,823 Este fragmento do libro non atraeu todas as matrices. 250 00:11:12,823 --> 00:11:16,687 Hai unha enorme cantidade de memoria e só punteiros nulos que non están a ser utilizados. 251 00:11:16,687 --> 00:11:17,520 Polo tanto, é un trade off. 252 00:11:17,520 --> 00:11:21,050 E vai deixar para ti en I axustou cinco para decidir sobre o camiño que quere ir. 253 00:11:21,050 --> 00:11:24,460 >> Agora esa idea de hashing, como un de lado, é realmente super-prevalentes. 254 00:11:24,460 --> 00:11:27,980 Entón, para botar un medio de valores, moi simplemente, para ter algo como entrada 255 00:11:27,980 --> 00:11:29,220 e producir unha saída. 256 00:11:29,220 --> 00:11:31,270 Así, unha función hash é só un algoritmo. 257 00:11:31,270 --> 00:11:34,990 >> E, xeralmente, un propósito funcións hash na vida é ter algo como entrada 258 00:11:34,990 --> 00:11:39,655 e producir un número como de saída, como o número de un a 31 ou a Z, 259 00:11:39,655 --> 00:11:40,960 de cero a 25. 260 00:11:40,960 --> 00:11:44,250 Entón, hai que un complexo de saída e encolle-lo para algo 261 00:11:44,250 --> 00:11:46,310 iso é un pouco máis útil e gerenciável. 262 00:11:46,310 --> 00:11:49,250 >> E así acontece que en unha función moi popular 263 00:11:49,250 --> 00:11:51,160 que o mundo da seguridade e do mundo humano 264 00:11:51,160 --> 00:11:53,060 usado por anos chámase SHA1. 265 00:11:53,060 --> 00:11:56,260 Esta é unha fermosa fantasía matemáticas fórmula que fai esencialmente que. 266 00:11:56,260 --> 00:11:58,870 >> Se toma un realmente grande peza de ceros e ones-- 267 00:11:58,870 --> 00:12:01,530 que podería ser un megabyte por moito tempo, un gigabyte long-- 268 00:12:01,530 --> 00:12:05,930 e encolle abaixo a só algúns anacos, algúns anacos, 269 00:12:05,930 --> 00:12:09,082 para que teña un número como dun a 31, ou da a Z. 270 00:12:09,082 --> 00:12:11,540 Pero, en realidade, é un pouco maior que a Z. 271 00:12:11,540 --> 00:12:16,640 >> Desafortunadamente, estamos no límite do que alguén de broma chamada de SHAppening 272 00:12:16,640 --> 00:12:19,840 a través do cal o mundo está a piques de probablemente terminará en poucos meses 273 00:12:19,840 --> 00:12:22,617 tempo porque os investigadores, só a semana pasada, 274 00:12:22,617 --> 00:12:25,700 publicou un informe que, contrariamente ao o que os investigadores de seguridade pensar 275 00:12:25,700 --> 00:12:29,810 durante algún tempo, por só gastan preto, o que era, 276 00:12:29,810 --> 00:12:33,420 Creo que foi de US $ 175,000-- un monte de cartos, 277 00:12:33,420 --> 00:12:36,540 pero non máis aló do alcance de particularmente malos bandidos, 278 00:12:36,540 --> 00:12:41,560 ou particularmente malo países-- $ 175.000 podería mercar-lle unha morea de servidor alugado 279 00:12:41,560 --> 00:12:42,690 espazo na nube. 280 00:12:42,690 --> 00:12:44,619 E nós imos voltar a a nube antes de tempo. 281 00:12:44,619 --> 00:12:47,410 Pero iso só significa alugar servidor espazo en como os servidores de Microsoft, 282 00:12:47,410 --> 00:12:50,285 ou Google, Amazon ou, ou a como onde podes pagar cada minuto 283 00:12:50,285 --> 00:12:51,670 usar ordenadores de outra persoa. 284 00:12:51,670 --> 00:12:54,250 >> E resulta que se pode pagar alguén para prestar os seus ordenadores 285 00:12:54,250 --> 00:12:56,730 e executar o código que escribiu nel e usar bastante chique 286 00:12:56,730 --> 00:13:01,580 matemáticas, pode esencialmente figura a fóra como función hash de alguén é 287 00:13:01,580 --> 00:13:05,320 de traballo, e dada a súa saída, enxeñería inversa que a súa entrada é. 288 00:13:05,320 --> 00:13:08,590 E para fins de hoxe, basta dicir, iso é malo. 289 00:13:08,590 --> 00:13:12,540 Como as funcións de hash SHA1 e como son super comunmente 290 00:13:12,540 --> 00:13:17,050 usado en aplicacións de seguridade, conexións cifradas na web, 291 00:13:17,050 --> 00:13:21,890 transaccións bancarias, cifrado de móbil para os seus teléfonos móbiles e similares. 292 00:13:21,890 --> 00:13:24,880 E así calquera momento alguén atopa un xeito de desfacer 293 00:13:24,880 --> 00:13:28,510 xerar unha destas tecnoloxías ou rompe-lo, as cousas malas poden ocorrer. 294 00:13:28,510 --> 00:13:30,300 >> Agora, o mundo xa sabía. 295 00:13:30,300 --> 00:13:31,310 Isto era previsible. 296 00:13:31,310 --> 00:13:34,670 E o mundo, desde entón, movidos de SHA1 para SHA256, 297 00:13:34,670 --> 00:13:37,320 que é só un xeito elegante de dicindo que empregan anacos grandes. 298 00:13:37,320 --> 00:13:40,570 E, de feito, mesmo a propia CS50 web actualizado o ano pasado a-- 299 00:13:40,570 --> 00:13:43,290 non fomos nós que afrontar todo isto moitos ameazas tentando chegar aos PDFs 300 00:13:43,290 --> 00:13:46,520 e whatnot-- pero o sitio web do CS50 utiliza a maior función hash, 301 00:13:46,520 --> 00:13:47,980 o que significa que estaremos seguros. 302 00:13:47,980 --> 00:13:50,020 Entón todos os seus PDFs estarán a salvo, pero non 303 00:13:50,020 --> 00:13:52,880 necesariamente o seu diñeiro ou calquera cousa particularmente confidencial ou persoais 304 00:13:52,880 --> 00:13:53,380 usar. 305 00:13:53,380 --> 00:13:56,550 Sp comprobar que URL Se quere como algúns detalles adicionais. 306 00:13:56,550 --> 00:13:59,840 >> Así problema é definir cinco de feito, no horizonte. 307 00:13:59,840 --> 00:14:01,560 Cuestionario é esta vindeiro mércores. 308 00:14:01,560 --> 00:14:04,479 Pero non aproveitar de oficina horas, tanto esta noite e mañá. 309 00:14:04,479 --> 00:14:07,770 E tamén aproveitar o horario de oficina, se está dispoñible, logo iso. 310 00:14:07,770 --> 00:14:11,550 O equipo e eu vou ir por aquí e facer máis Q & A ocasional ademais esta noite. 311 00:14:11,550 --> 00:14:16,610 E déixeme notar fortemente aquí, para aqueles de nós aquí en Nova Haven-- 312 00:14:16,610 --> 00:14:19,360 polo que é absolutamente per SCAZ de observacións sentín, eu estou seguro, 313 00:14:19,360 --> 00:14:21,140 como un pouco de unha loita difícil. 314 00:14:21,140 --> 00:14:24,627 E pola reputación, se aínda non aprendeu ou oído 315 00:14:24,627 --> 00:14:27,710 dalgúns amigos en Harvard, saber aquí están algunhas nova memoria institucional. 316 00:14:27,710 --> 00:14:30,790 P axustou cinco tipo de tipo de tende a ser o máis difícil en CS50, 317 00:14:30,790 --> 00:14:32,590 ou o máis reto para a maioría dos estudantes. 318 00:14:32,590 --> 00:14:37,180 >> Pero o que iso significa que somos case na parte superior do outeiro. 319 00:14:37,180 --> 00:14:38,270 E eu realmente quero dicir iso. 320 00:14:38,270 --> 00:14:40,728 É o máis reto, pero é tamén o máis gratificante 321 00:14:40,728 --> 00:14:43,560 en que a diferenza da maioría todos os outros ciencia da computación introdutoria 322 00:14:43,560 --> 00:14:47,980 curso en EEUU de que sabemos, a maioría dos estudantes non rematar unha intro 323 00:14:47,980 --> 00:14:51,400 Claro que xa teñan aplicado cousas como árbores, e intentos, 324 00:14:51,400 --> 00:14:52,880 e táboas de dispersión, e semellantes. 325 00:14:52,880 --> 00:14:54,770 >> E así que espero, e esperamos que é 326 00:14:54,770 --> 00:14:57,280 teñen un sentido enorme de satisfacción, mesmo 327 00:14:57,280 --> 00:15:00,760 O ou dúas semanas a través das cales chegar a ese satisfacción 328 00:15:00,760 --> 00:15:02,490 non se sentir un pouco como iso. 329 00:15:02,490 --> 00:15:05,250 Pero déixeme tranquilizar, nós só ten catro conxuntos P esquerda. 330 00:15:05,250 --> 00:15:07,380 Entón, que tipo de arriba está á vista. 331 00:15:07,380 --> 00:15:12,370 >> Do outro lado do mesmo, confiar en nós, é só outeiros e nubes. 332 00:15:12,370 --> 00:15:16,000 E diremos, crías de can son, en cambio. 333 00:15:16,000 --> 00:15:18,340 Entón só tes que colgar alí un pouco máis. 334 00:15:18,340 --> 00:15:22,050 É dicir, de feito, cando comezamos a transición no mundo da programación web, 335 00:15:22,050 --> 00:15:26,060 vai descubrir que as cousas become-- este é realmente encantador. 336 00:15:26,060 --> 00:15:29,680 337 00:15:29,680 --> 00:15:33,490 OK, imos sair URL máis tarde. 338 00:15:33,490 --> 00:15:36,140 Atoparás tamén que somos alcanzando unha especie de meseta 339 00:15:36,140 --> 00:15:38,150 onde todo é de feito, aínda sofisticado 340 00:15:38,150 --> 00:15:40,170 e reto por deseño, pero non é 341 00:15:40,170 --> 00:15:42,590 Vai sentirse como somos perpetuamente subindo este outeiro. 342 00:15:42,590 --> 00:15:44,390 Polo tanto, tome algún confort niso. 343 00:15:44,390 --> 00:15:47,409 >> Así, sen máis delongas, imos comezar para facer esa transición de mercado 344 00:15:47,409 --> 00:15:49,950 no semestre para o mundo da a web, e realmente o mundo 345 00:15:49,950 --> 00:15:51,420 coa que todos estamos máis familiarizados. 346 00:15:51,420 --> 00:15:53,753 Temos dispositivos de Internet nos nosos petos, nas nosas mesas, 347 00:15:53,753 --> 00:15:55,127 nas nosas mochilas, e semellantes. 348 00:15:55,127 --> 00:15:56,210 Como fai todo este traballo? 349 00:15:56,210 --> 00:15:59,077 E como podemos comezar a escribir código que non é super arcano 350 00:15:59,077 --> 00:16:01,910 e dalgunha liña de texto intermitente que ningún dos seus amigos ou familiares 351 00:16:01,910 --> 00:16:04,659 son sempre vai querer interactuar con, pero algo que pode poñer 352 00:16:04,659 --> 00:16:06,660 nos seus teléfonos, ou nos seus navegadores web, 353 00:16:06,660 --> 00:16:09,010 ou en calquera dispositivos que interactúan. 354 00:16:09,010 --> 00:16:10,430 >> Entón aquí é a casa de alguén. 355 00:16:10,430 --> 00:16:14,040 E dentro desta casa é un par de portátiles, un par de escritorio da vella escola 356 00:16:14,040 --> 00:16:17,470 ordenadores, unha cousa chamada router ou hub no medio, 357 00:16:17,470 --> 00:16:20,310 e, a continuación, unha especie de módem por cable ou módem DSL. 358 00:16:20,310 --> 00:16:24,560 E despois hai a internet, xeralmente deseñada como unha nube alí enriba no ceo. 359 00:16:24,560 --> 00:16:29,230 >> Así, este cadro, aínda algo tipo de datada, 360 00:16:29,230 --> 00:16:32,604 certamente capta o que a maioría dos probablemente ten nas súas casas, 361 00:16:32,604 --> 00:16:35,520 ou efectivamente o que todos vostedes teñen nos seus dormitorios, ou apartamentos, 362 00:16:35,520 --> 00:16:36,480 ou semellantes. 363 00:16:36,480 --> 00:16:40,010 >> Entón, o que está realmente a suceder cando tentar usar internet hoxe? 364 00:16:40,010 --> 00:16:42,010 Así, cada ordenador na internet, verifícase, 365 00:16:42,010 --> 00:16:46,860 Debe ter un enderezo único, tanto coma nós no mundo real necesidade 366 00:16:46,860 --> 00:16:52,050 un enderezo postal, como 51 Prospect Street, New Haven, Connecticut, é 33 367 00:16:52,050 --> 00:16:54,170 Oxford Street, Cambridge, Massachusetts. 368 00:16:54,170 --> 00:16:58,520 Entón faga ordenadores en internet precisa dun xeito de abordar-se de forma exclusiva. 369 00:16:58,520 --> 00:17:01,180 >> Isto é así que, cando un ordenador quere falar con outro, 370 00:17:01,180 --> 00:17:04,525 pode enviar unha mensaxe e informar o destinatario a quen 371 00:17:04,525 --> 00:17:05,900 debe enviar a resposta de volta. 372 00:17:05,900 --> 00:17:07,900 El só fai tipo de sentido intuitivo quizais 373 00:17:07,900 --> 00:17:09,980 todo o que ten un dirección de calquera tipo. 374 00:17:09,980 --> 00:17:11,240 >> Pero como obter un enderezo? 375 00:17:11,240 --> 00:17:13,589 Ben, se chegar aquí en campus, ou vai a casa 376 00:17:13,589 --> 00:17:15,760 e conectar o portátil ou ordenador de escritorio, 377 00:17:15,760 --> 00:17:17,770 e quere liga-lo ou conectarse a redes Wi-Fi, 378 00:17:17,770 --> 00:17:19,569 verifícase que hai un servidor especial 379 00:17:19,569 --> 00:17:22,089 Na maioría das redes chamado un servidor DHCP. 380 00:17:22,089 --> 00:17:23,880 Iso realmente non importa o que iso significa, 381 00:17:23,880 --> 00:17:26,660 pero é Dynamic Host Configuration protocolo, que non é máis que 382 00:17:26,660 --> 00:17:29,760 un xeito elegante de dicir, este é un ordenador que ten tanto Yale, 383 00:17:29,760 --> 00:17:32,600 ou Harvard ten, ou Comcast ten, ou ten Verizon, 384 00:17:32,600 --> 00:17:35,100 ou a súa empresa ten, cuxo propósito na vida, 385 00:17:35,100 --> 00:17:38,810 cando se oe alguén recén engadido á rede, é dicir aquí, 386 00:17:38,810 --> 00:17:40,010 usar este enderezo. 387 00:17:40,010 --> 00:17:42,790 >> Entón, nós, humanos, non ten que código duro nos nosos ordenadores 388 00:17:42,790 --> 00:17:44,040 o que o noso enderezo único é. 389 00:17:44,040 --> 00:17:47,070 Nós só liga-lo, abra a tapa, e dalgunha forma este servidor 390 00:17:47,070 --> 00:17:52,210 na rede local só me di que meu enderezo é 51 Prospect Street, ou 33 391 00:17:52,210 --> 00:17:53,940 Oxford Street, ou semellantes. 392 00:17:53,940 --> 00:17:56,000 >> Agora que non vai ser tan detallado como iso. 393 00:17:56,000 --> 00:18:00,210 Pola contra o que eu estou indo a obter un enderezo numérico chamado enderezo IP. 394 00:18:00,210 --> 00:18:01,960 IP significa Internet Protocol. 395 00:18:01,960 --> 00:18:06,025 E as probabilidades son por este momento na súa vida, probablemente xa escoitou falar ou viu a palabra IP, 396 00:18:06,025 --> 00:18:08,140 ou xeralmente xogado en torno quizais. 397 00:18:08,140 --> 00:18:10,720 Pero, en realidade, é moi á fronte dunha cousa. 398 00:18:10,720 --> 00:18:13,610 >> Un enderezo IP é só un número decimal destacou, 399 00:18:13,610 --> 00:18:17,150 é dicir que é algo dot dot dot algo algo algo. 400 00:18:17,150 --> 00:18:21,980 E cada un deses poucos anos pasa para ser un número entre 0 e 255. 401 00:18:21,980 --> 00:18:26,710 >> Así, en base a cinco semanas, máis de CS50, se estas cifras cada intervalo de 0 a 255, 402 00:18:26,710 --> 00:18:28,713 cantos bits cada destes sinais de número? 403 00:18:28,713 --> 00:18:29,420 >> Audiencia: Oito. 404 00:18:29,420 --> 00:18:30,100 >> DAVID J. Malan: Ten que ser oito. 405 00:18:30,100 --> 00:18:31,933 Así, en total, cantas bocados é un enderezo IP? 406 00:18:31,933 --> 00:18:32,710 Audiencia: 32. 407 00:18:32,710 --> 00:18:33,820 >> DAVID J. Malan: Entón 32. 408 00:18:33,820 --> 00:18:35,830 8 plus 8 plus 8 plus 8 é de 32. 409 00:18:35,830 --> 00:18:38,767 Cantos enderezos IP en total pode haber no mundo? 410 00:18:38,767 --> 00:18:39,600 Audiencia: 4 millóns. 411 00:18:39,600 --> 00:18:42,410 DAVID J. Malan: Entón aproximadamente catro millóns, porque iso é 2 o poder 32. 412 00:18:42,410 --> 00:18:44,410 E se non pode tipo de Grokar que na súa mente, 413 00:18:44,410 --> 00:18:47,470 só sei que valores de 32 bits pode ser tan grande como 4 millóns 414 00:18:47,470 --> 00:18:49,140 se é para todos os valores positivos. 415 00:18:49,140 --> 00:18:52,500 Entón, iso significa que hai 4 millóns posibles enderezos IP do mundo. 416 00:18:52,500 --> 00:18:55,090 >> E historia divertido, somos tipo de quedar sen eles. 417 00:18:55,090 --> 00:18:59,720 E de feito, é un problema enorme en que o mundo tamén viu este problema que vén, 418 00:18:59,720 --> 00:19:03,639 pero non ten necesariamente que responderon Lo da maneira máis rápida posible. 419 00:19:03,639 --> 00:19:05,680 E, de feito, xa que CS50 rematou e comezou 420 00:19:05,680 --> 00:19:06,950 prestando atención en o mundo da tecnoloxía, vai 421 00:19:06,950 --> 00:19:08,520 ver que é moi comunmente temática. 422 00:19:08,520 --> 00:19:12,260 >> Por exemplo, se somos realmente vella escola hoxe en día, Y2K. 423 00:19:12,260 --> 00:19:13,570 Isto non foi realmente unha sorpresa. 424 00:19:13,570 --> 00:19:15,700 Como todos sabían para 1.000 anos que esta 425 00:19:15,700 --> 00:19:20,250 foi-- máis dun mil anos-- que que resultou pasar. 426 00:19:20,250 --> 00:19:23,295 E, con todo, nós respondemos a ela moi no último minuto. 427 00:19:23,295 --> 00:19:24,420 E isto está a suceder de novo. 428 00:19:24,420 --> 00:19:26,740 Entón, hoxe imos falar sobre IP versión 4. 429 00:19:26,740 --> 00:19:29,250 Pero sabemos que o mundo está finalmente a recibir 430 00:19:29,250 --> 00:19:31,590 en torno ao actualice a algo chamado IPv6, 431 00:19:31,590 --> 00:19:34,540 que en vez de 32 bits enderezos, calquera uses-- 432 00:19:34,540 --> 00:19:36,443 quere dar un palpite, cantos bits? 433 00:19:36,443 --> 00:19:37,310 >> Audiencia: 64? 434 00:19:37,310 --> 00:19:38,380 >> DAVID J. Malan: Bo palpite, pero non. 435 00:19:38,380 --> 00:19:39,975 Estamos finalmente tratando chegar á fronte da 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 é un número enorme pánico 438 00:19:43,490 --> 00:19:46,250 de enderezos IP, debido que é como veces, 2 veces 2, 439 00:19:46,250 --> 00:19:49,620 2 veces, unha morea de veces TWOS riba dos 4 millóns. 440 00:19:49,620 --> 00:19:50,530 >> Entón, se curioso. 441 00:19:50,530 --> 00:19:54,110 Acontece out-- e eu pesquisei este para atopar este out-- ordenadores de Yale, 442 00:19:54,110 --> 00:19:58,910 aquí en Yale, tenden a comezar con estes números de 130,132 dot algo, 443 00:19:58,910 --> 00:20:00,669 e 128,36 dot algo. 444 00:20:00,669 --> 00:20:02,710 Pero non hai dúbida excepcións a través da tarxeta 445 00:20:02,710 --> 00:20:05,334 dependendo do que departamento e edificio e campus que está. 446 00:20:05,334 --> 00:20:09,310 Harvard tende a ter 140,247, 128,103 ou. 447 00:20:09,310 --> 00:20:11,530 E este é xeralmente información inútil, 448 00:20:11,530 --> 00:20:13,260 pero é algo que pode notar agora. 449 00:20:13,260 --> 00:20:15,593 Cando comezar a fuçar configuración nos seus ordenadores, 450 00:20:15,593 --> 00:20:18,540 pode comezar a notar estes tipos de patróns antes de tempo. 451 00:20:18,540 --> 00:20:23,470 >> Pero cando está na casa e ter unha Apple AirPort, ou un dispositivo Linksys, 452 00:20:23,470 --> 00:20:26,560 ou un D-Link, é dicir o que sexa seus pais ou irmáns instalado 453 00:20:26,560 --> 00:20:28,890 na súa casa, así o que probablemente ten 454 00:20:28,890 --> 00:20:30,800 é o que se chama enderezo IP privado. 455 00:20:30,800 --> 00:20:34,850 E estes eran, en realidade, un agradable solución, temporal 456 00:20:34,850 --> 00:20:38,050 ao problema de execución curta en enderezos IP. 457 00:20:38,050 --> 00:20:40,382 >> E o que podes facer con redes domésticas, typically-- 458 00:20:40,382 --> 00:20:42,340 e, a verdade, aínda Yale e Harvard están empezando 459 00:20:42,340 --> 00:20:46,840 facelo en areas-- diferente é vostede pode dar unha chea de ordenadores 460 00:20:46,840 --> 00:20:50,360 un enderezo IP, sempre que poñer un dispositivo especial fronte delas, 461 00:20:50,360 --> 00:20:52,410 algo chamado un router, ou pode ser chamado 462 00:20:52,410 --> 00:20:54,060 un proxy ou calquera número de outras cousas. 463 00:20:54,060 --> 00:20:56,710 Pero un certo dispositivo que ten que un enderezo IP. 464 00:20:56,710 --> 00:20:59,450 E, a continuación, detrás dese dispositivo, dentro dun edificio, 465 00:20:59,450 --> 00:21:03,030 dentro dunha casa ou un apartamento, pode ser calquera número de ordenadores, os cales 466 00:21:03,030 --> 00:21:06,460 ten un enderezo IP que comece cun destes díxitos aquí. 467 00:21:06,460 --> 00:21:08,590 E mentres ese ordenador sabe como converter 468 00:21:08,590 --> 00:21:10,900 o enderezo público para a dirección privado, 469 00:21:10,900 --> 00:21:13,340 todo pode clasificar de traballo conforme o esperado. 470 00:21:13,340 --> 00:21:17,290 >> Pero o inverso disto é que se está na casa e ten un irmán, 471 00:21:17,290 --> 00:21:19,650 e ambos son visitar algún sitio web, 472 00:21:19,650 --> 00:21:23,520 que o sitio non sei se é vostede ou o seu irmán visitar o sitio web, 473 00:21:23,520 --> 00:21:26,780 porque parece ser a mesma persoa, porque todos os seus datos 474 00:21:26,780 --> 00:21:30,050 está pasando por ese router ou aquel punto central. 475 00:21:30,050 --> 00:21:32,220 >> Pero o suficiente sobre estes detalles de nivel inferior. 476 00:21:32,220 --> 00:21:37,770 Imos dar un ollo a como os enderezos IP ás veces veñen-se cadra nos medios 477 00:21:37,770 --> 00:21:41,370 e como podemos agora comezar a arruinar, Francamente, aínda máis concertos para ti. 478 00:21:41,370 --> 00:21:45,010 Se puidésemos diminuír a intensidade da luces durante uns segundos. 479 00:21:45,010 --> 00:21:46,550 >> [REPRODUCIÓN DE VIDEO] 480 00:21:46,550 --> 00:21:49,310 >> -É Un de 32 bits en IPP 4 de enderezo. 481 00:21:49,310 --> 00:21:50,650 >> -IP ES internet-- 482 00:21:50,650 --> 00:21:52,800 >> Rede-privadas, Rede privada de tâmia. 483 00:21:52,800 --> 00:22:05,670 484 00:22:05,670 --> 00:22:08,145 Ela é tan incrible. 485 00:22:08,145 --> 00:22:09,630 -Imos Charlie. 486 00:22:09,630 --> 00:22:11,750 DAVID J. Malan: É un enderezo IP espello. 487 00:22:11,750 --> 00:22:15,093 Está deixando-nos ver que se está facendo en tempo real. 488 00:22:15,093 --> 00:22:16,285 >> [FIN DE REPRODUCIÓN] 489 00:22:16,285 --> 00:22:17,130 >> DAVID J. Malan: Aceptar. 490 00:22:17,130 --> 00:22:18,480 Entón algúns problemas con iso. 491 00:22:18,480 --> 00:22:22,740 Entón, un, o que estamos a buscar no aquí na pantalla 492 00:22:22,740 --> 00:22:25,290 é un código escrito nunha linguaxe chamada Objective-C, 493 00:22:25,290 --> 00:22:28,020 que é unha especie de sucesor a linguaxe C que estamos facendo. 494 00:22:28,020 --> 00:22:30,150 Isto non ten absolutamente nada que ver coa programación. 495 00:22:30,150 --> 00:22:32,399 En realidade, o mellor que podo dicir, este é un programa de deseño 496 00:22:32,399 --> 00:22:38,360 que alguén baixo da Internet inclúen dalgún xeito lapis de cores. 497 00:22:38,360 --> 00:22:43,660 >> Talvez menos notorio é que Neste enderezo IP válido ou non válido? 498 00:22:43,660 --> 00:22:44,520 >> Audiencia: Invalid. 499 00:22:44,520 --> 00:22:48,479 >> DAVID J. Malan: válido porque 275 é, por suposto, non entre 0 e 255. 500 00:22:48,479 --> 00:22:51,770 Isto tamén pode ser OK, porén, porque non quere banda de tolos 501 00:22:51,770 --> 00:22:54,790 que son como unha pausa na súa TV Tivos e, a continuación, visitar o IP para ver 502 00:22:54,790 --> 00:22:56,290 se hai realmente algo alí. 503 00:22:56,290 --> 00:22:58,200 Así que un é un pouco menos flagrantes. 504 00:22:58,200 --> 00:23:00,990 Pero entendo que tamén é tipo de todo o que nos rodea. 505 00:23:00,990 --> 00:23:04,980 >> Entón, por suposto, ningún de nós xamais realmente escribir enderezos numéricos 506 00:23:04,980 --> 00:23:06,410 nos nosos navegadores. 507 00:23:06,410 --> 00:23:09,580 Sería un tipo de algo malo o Google, a visitar o Google, 508 00:23:09,580 --> 00:23:15,060 tiña que ir 123.46.57.89. 509 00:23:15,060 --> 00:23:17,007 E o mundo tiña para lembrar exactamente isto. 510 00:23:17,007 --> 00:23:19,090 E, francamente, nós medio de ver este problema antes. 511 00:23:19,090 --> 00:23:24,130 De volta ao día cando a xente non teñen teléfonos móbiles e listas de contactos, 512 00:23:24,130 --> 00:23:27,640 e empresas realmente still-- de feito, Eu creo que as empresas aínda teñen 800 513 00:23:27,640 --> 00:23:30,600 números ea como-- pero xeralmente ver os números anunciados 514 00:23:30,600 --> 00:23:36,480 como 1-800-Collect, C-O-G-G-E-C-T. Porque ninguén pode realmente lembrar, 515 00:23:36,480 --> 00:23:39,754 ao ver un anuncio nun autobús ou outdoor, que de alguén número é, 516 00:23:39,754 --> 00:23:42,420 pero poden ser, con maior probabilidade, lembrar dunha palabra. 517 00:23:42,420 --> 00:23:44,530 >> Por iso, adoptou o mesmo tipo de sistema no mundo 518 00:23:44,530 --> 00:23:48,290 de Internet a través do cal hai un sistema de nomes de dominio, de xeito que nós, os humanos poden 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 e deixar a figura ordenadores o que o correspondente IP 521 00:23:56,140 --> 00:23:58,480 enderezo é para un determinado nome. 522 00:23:58,480 --> 00:24:01,620 >> E a forma de facelo no mundo real é que por US $ 10 por ano, 523 00:24:01,620 --> 00:24:05,900 quizais US $ 50 por ano, podes mercar un dominio nome, ou mesmo alugar un nome de dominio. 524 00:24:05,900 --> 00:24:09,860 E entón quen queira que está pagando para alugar ese nome de dominio, 525 00:24:09,860 --> 00:24:14,069 vostede dicir-lles que no mundo sabe o que o seu enderezo IP é. 526 00:24:14,069 --> 00:24:16,360 E nós non imos a eles particularidades, pero moitos de vós 527 00:24:16,360 --> 00:24:18,750 Convén, por último proxectos, para realmente rexistrarte 528 00:24:18,750 --> 00:24:22,120 para o seu propio web hosting empresa, sexa de balde 529 00:24:22,120 --> 00:24:23,500 ou para algúns dólares por mes. 530 00:24:23,500 --> 00:24:26,100 Algúns de vós pode querer mercar, por un, o seu propio nome de dominio algúns dólares, 531 00:24:26,100 --> 00:24:28,900 só por diversión ou para comezar un negocio ou un lugar de persoal ou semellantes. 532 00:24:28,900 --> 00:24:30,880 >> E entender que todo de que acabará por 533 00:24:30,880 --> 00:24:35,260 resumen-se a dicir ao mundo a dirección IP do servidor está. 534 00:24:35,260 --> 00:24:37,740 E, a continuación, estes DNS servidores realmente coidar 535 00:24:37,740 --> 00:24:39,910 de informar ao resto do mundo. 536 00:24:39,910 --> 00:24:41,830 Entón todo un servidor DNS ten, en suma, dentro 537 00:24:41,830 --> 00:24:44,780 da súa memoria é como o equivalente a unha folla de cálculo de Google 538 00:24:44,780 --> 00:24:49,420 ou unha folla de cálculo de Excel con polo menos dúas columnas, unha das cales ten, nomes 539 00:24:49,420 --> 00:24:52,100 como harvard.edu, e yale.edu, e google.com. 540 00:24:52,100 --> 00:24:55,870 E o outro ten a columna IP ou enderezo IP correspondente 541 00:24:55,870 --> 00:24:56,382 enderezos. 542 00:24:56,382 --> 00:24:57,590 E podemos realmente ver iso. 543 00:24:57,590 --> 00:24:59,881 Entón, no meu Mac-- e pode facelo en ordenadores Windows 544 00:24:59,881 --> 00:25:04,330 bom-- como se eu abrir unha fiestra de terminal aquí, así como a de CD50 IDE, 545 00:25:04,330 --> 00:25:08,190 a maioría dos ordenadores ten un comando chamado nslookup, servidor de nomes de ollar para arriba. 546 00:25:08,190 --> 00:25:12,380 E se eu escribir algo en como yale.edu e prema Intro, o que 547 00:25:12,380 --> 00:25:19,250 Eu debería ver se a miña rede coopera como fixo por varias probas antes da clase 548 00:25:19,250 --> 00:25:24,584 began-- imos tratar google.com. 549 00:25:24,584 --> 00:25:26,390 Claro que agora nada funciona. 550 00:25:26,390 --> 00:25:27,190 Isto é óptimo. 551 00:25:27,190 --> 00:25:30,660 Todo ben, sexa 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 >> Ben, imos ver se o internet-- non real. 555 00:25:38,660 --> 00:25:39,700 Iso é o que aconteceu. 556 00:25:39,700 --> 00:25:43,090 Oh meu deus, todo ben. 557 00:25:43,090 --> 00:25:45,490 O Wi-Fi rompe. 558 00:25:45,490 --> 00:25:47,410 >> Ei, quere saber o que o meu enderezo IP é? 559 00:25:47,410 --> 00:25:49,722 Todo ben. 560 00:25:49,722 --> 00:25:50,820 YaleSecure. 561 00:25:50,820 --> 00:25:53,330 Isto é como solucionar problemas cousas como un científico da computación. 562 00:25:53,330 --> 00:25:54,617 Nós facemos o WiFi apagado. 563 00:25:54,617 --> 00:25:57,480 564 00:25:57,480 --> 00:25:59,450 Aceptar. 565 00:25:59,450 --> 00:26:02,610 >> E, de feito, SCAZ, lle importa rexistrando connosco para o seguro? 566 00:26:02,610 --> 00:26:06,246 Se non, máis probas é-- OK, grazas vostede Yale-- ou está a piques de romper. 567 00:26:06,246 --> 00:26:07,370 Quero ir YaleSecure. 568 00:26:07,370 --> 00:26:09,880 569 00:26:09,880 --> 00:26:11,870 Ah, e quizais nós imos estar ben. 570 00:26:11,870 --> 00:26:12,686 Quizais estamos de volta. 571 00:26:12,686 --> 00:26:16,810 572 00:26:16,810 --> 00:26:19,733 E é así, como un ordenador científico fixar un ordenador. 573 00:26:19,733 --> 00:26:22,000 [Aplausos] 574 00:26:22,000 --> 00:26:23,220 Todo ben. 575 00:26:23,220 --> 00:26:27,160 Entón, onde eu estaba dentro deste o chamado fiestra de terminal, 576 00:26:27,160 --> 00:26:32,270 e se eu nslookup yale.edu, alí imos nós. 577 00:26:32,270 --> 00:26:38,350 Entón eu volver en primeiro lugar o enderezo IP do o servidor DNS que o meu portátil está a usar. 578 00:26:38,350 --> 00:26:41,610 Así, en adición a un servidor DHCP falamos de un momento atrás dicindo 579 00:26:41,610 --> 00:26:44,720 o que o meu portátil meu IP dirección é, que servidor DHCP 580 00:26:44,720 --> 00:26:46,860 tamén me di o servidor DNS para usar. 581 00:26:46,860 --> 00:26:48,860 Se non, eu tería para escribir manualmente este in. 582 00:26:48,860 --> 00:26:50,359 >> Pero iso non é todo o que interesante. 583 00:26:50,359 --> 00:26:54,310 O que me importa é que se trata o Enderezo IP do sitio web da Yale aparentemente. 584 00:26:54,310 --> 00:26:55,470 Entón, en realidade, imos tratar isto. 585 00:26:55,470 --> 00:27:02,710 Deixe-me ir cara arriba nun navegador e vai http: // e, a continuación, que o enderezo IP, 586 00:27:02,710 --> 00:27:04,220 e prema Intro. 587 00:27:04,220 --> 00:27:06,700 E imos ver. 588 00:27:06,700 --> 00:27:09,587 É dicir Canto máis lle pode visitar sitios de Yale. 589 00:27:09,587 --> 00:27:10,920 Agora non é todo o que memorable. 590 00:27:10,920 --> 00:27:12,220 Como, a pre-frosh probablemente non vai 591 00:27:12,220 --> 00:27:15,310 para recordar este enderezo específico se dixo para visitar alí despois de visitar. 592 00:27:15,310 --> 00:27:16,580 Pero iso non parece funcionar. 593 00:27:16,580 --> 00:27:21,179 E así DNS realmente só nos permite teñen enderezos amigables máis humanos. 594 00:27:21,179 --> 00:27:23,220 Pero non necesariamente só deu unha resposta. 595 00:27:23,220 --> 00:27:25,640 >> En realidade, cando é un realmente grande empresa de tecnoloxía, 596 00:27:25,640 --> 00:27:27,620 probablemente vai querer ten unha morea de servidores. 597 00:27:27,620 --> 00:27:29,027 E aínda que é enganoso. 598 00:27:29,027 --> 00:27:31,110 Así Yale probablemente non ten ter só un servidor web. 599 00:27:31,110 --> 00:27:34,150 Google probablemente non ten só a 10 ou máis servidores web. 600 00:27:34,150 --> 00:27:36,960 Google especialmente probablemente ten miles de servidores web 601 00:27:36,960 --> 00:27:40,030 de todo o mundo que poden responder a solicitudes de persoas como nós. 602 00:27:40,030 --> 00:27:43,870 >> Pero eles tamén usan unha tecnoloxía chamada balance de carga, que longa historia curta, 603 00:27:43,870 --> 00:27:48,810 ten só uns dispositivos do mundo estendendo a carga a través de máis servidores. 604 00:27:48,810 --> 00:27:52,320 Entón, é como unha especie de telaraña se vai despachar as solicitudes. 605 00:27:52,320 --> 00:27:54,380 Pero, por agora, o único que é interesante para hoxe 606 00:27:54,380 --> 00:27:56,870 que é un nome de dominio como google.com aínda pode 607 00:27:56,870 --> 00:28:00,100 ter varios enderezos IP como ese. 608 00:28:00,100 --> 00:28:04,610 >> Pero como é que todos os datos, en realidade, obter e cara atrás, a continuación, ao final? 609 00:28:04,610 --> 00:28:08,320 Ben, resulta que hai estes cousas chamados routers en Internet. 610 00:28:08,320 --> 00:28:10,980 E o que é un router para o medida en que xa sabes? 611 00:28:10,980 --> 00:28:13,730 E eu usei a palabra unha parella veces no contexto dunha casa, 612 00:28:13,730 --> 00:28:17,155 pero en termos simples, o que fai un router facer? 613 00:28:17,155 --> 00:28:18,780 Déame só unha suposición baseada no seu nome? 614 00:28:18,780 --> 00:28:20,082 >> Audiencia: Entón unha estrada ou un camiño? 615 00:28:20,082 --> 00:28:21,790 DAVID J. Malan: Entón, é unha estrada ou un camiño. 616 00:28:21,790 --> 00:28:23,980 Así, un percorrido é unha estrada ou camiño, absolutamente. 617 00:28:23,980 --> 00:28:27,000 E un router, de xeito que un dispositivo de feito, vías información, 618 00:28:27,000 --> 00:28:29,690 ía mover datos entre os puntos A e B. 619 00:28:29,690 --> 00:28:31,920 >> E así, en fact-- e este é, quizais, cando 620 00:28:31,920 --> 00:28:34,510 vostede Google representacións de routers no mundo, todo o que comeza 621 00:28:34,510 --> 00:28:35,900 son diagramas de marketing de queixo. 622 00:28:35,900 --> 00:28:38,550 E polo que esta é unha especie de máis un representante que eu podería atopar 623 00:28:38,550 --> 00:28:39,841 que parecía un pouco interesante. 624 00:28:39,841 --> 00:28:44,170 Cada un destes puntos ou signos de esperanza en todo o mundo supón un router. 625 00:28:44,170 --> 00:28:47,210 E cada un deles ten unha liña entre algún outro router. 626 00:28:47,210 --> 00:28:49,090 >> Porque, en realidade, non son miles, probablemente 627 00:28:49,090 --> 00:28:52,560 millóns de routers de todo o mundo, algúns dos cales están nas nosas casas 628 00:28:52,560 --> 00:28:56,070 e nos nosos campus, pero unha morea de que son de propiedade de grandes empresas 629 00:28:56,070 --> 00:29:00,250 e están conectados de maneira que se quere enviar algúns datos de aquí en Yale 630 00:29:00,250 --> 00:29:04,430 casa de volta a Cambridge, Yale, probablemente, non ten un só cable, certamente, 631 00:29:04,430 --> 00:29:05,650 indo directamente Harvard. 632 00:29:05,650 --> 00:29:07,399 E Yale non ten un só cable vai 633 00:29:07,399 --> 00:29:10,010 ao MIT, ou Stanford, ou para Berkeley, é a Google, 634 00:29:10,010 --> 00:29:11,820 ou calquera número de destinos. 635 00:29:11,820 --> 00:29:14,760 >> Pola contra, Yale, Harvard e, e todos en internet 636 00:29:14,760 --> 00:29:17,610 ten un ou máis routers ligada ao mesmo, quizais 637 00:29:17,610 --> 00:29:18,810 na periferia do campus. 638 00:29:18,810 --> 00:29:21,690 De xeito que cando os meus datos quere para saír do campus de Yale, 639 00:29:21,690 --> 00:29:24,770 vai para o router máis próximo, como representado por un destes puntos. 640 00:29:24,770 --> 00:29:27,940 E, a continuación, que as cifras do router para fóra se para enviá-lo deste xeito, ou Deste xeito, 641 00:29:27,940 --> 00:29:33,440 ou deste xeito, é deste xeito baseado na outra mesa na súa memoria, 642 00:29:33,440 --> 00:29:36,870 outro ficheiro Excel ou Google folla que nunha columna 643 00:29:36,870 --> 00:29:41,315 di que, se o seu enderezo IP é iniciado co número un, ir por este camiño. 644 00:29:41,315 --> 00:29:43,690 O seu enderezo IP comeza con un número de dous, ir por ese camiño. 645 00:29:43,690 --> 00:29:47,040 E así pode rompe-lo para abaixo numericamente a ter o router envío 646 00:29:47,040 --> 00:29:49,040 datos de todos os xeitos. 647 00:29:49,040 --> 00:29:51,419 >> E podemos tipo de ver iso tamén. 648 00:29:51,419 --> 00:29:54,210 Imos adiante para este terminal fiestra de novo, e deixe-me ir adiante 649 00:29:54,210 --> 00:30:00,700 e trazar a ruta para, digamos, www.mit.edu, 650 00:30:00,700 --> 00:30:02,970 que é un par cen millas de distancia. 651 00:30:02,970 --> 00:30:04,500 Iso foi realmente maldita rápido. 652 00:30:04,500 --> 00:30:06,290 >> Entón o que pasou? 653 00:30:06,290 --> 00:30:10,360 Así, en só sete etapas, e en só catro milésimas de segundo, 654 00:30:10,360 --> 00:30:14,660 Enviei datos a través da internet aquí en Yale ao MIT. 655 00:30:14,660 --> 00:30:18,240 Cada unha destas liñas, pode quizais creo que agora representa o que? 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 Entón, en realidade, parece que hai preto de sete ou máis routers, 659 00:30:24,090 --> 00:30:29,350 ou seis terminais entre min fisicamente na escola de dereito de Yale aquí 660 00:30:29,350 --> 00:30:31,612 e na páxina web do MIT por alí. 661 00:30:31,612 --> 00:30:34,570 E o que podemos recoller dende esta é como follows-- e déixeme limpa-lo. 662 00:30:34,570 --> 00:30:38,180 Eu estou indo a executa-lo novo con un comando argumento de liña q 1 a só dicir, 663 00:30:38,180 --> 00:30:39,300 só dar-me unha consulta. 664 00:30:39,300 --> 00:30:40,800 Por defecto, trace ruta fai tres. 665 00:30:40,800 --> 00:30:42,350 E é por iso que vimos acios de números. 666 00:30:42,350 --> 00:30:44,850 Quero ver o menor número só para manter o líquido de limpeza de saída. 667 00:30:44,850 --> 00:30:46,280 E veremos que pasa. 668 00:30:46,280 --> 00:30:49,220 >> Entón, por calquera motivo, alguén no pensamento Yale 669 00:30:49,220 --> 00:30:54,130 que sería divertido para chamalo a súa arubacentral router por defecto, que 670 00:30:54,130 --> 00:30:57,920 é en VLAN ou virtual LAN, virtual de área local 671 00:30:57,920 --> 00:30:59,810 rede 30-- así probablemente, ten polo menos 672 00:30:59,810 --> 00:31:03,050 29 router.net.yale.internal outros-. 673 00:31:03,050 --> 00:31:06,660 E .internal aquí é unha especie de falso Dominio de arriba para ser usado só 674 00:31:06,660 --> 00:31:07,210 no campus. 675 00:31:07,210 --> 00:31:10,335 E teña en conta a dirección IP correspondente dese router, onde queira que sexa aquí 676 00:31:10,335 --> 00:31:13,920 no campus, é 172.28.204.129. 677 00:31:13,920 --> 00:31:17,470 E levou 36 milisegundos para ir de aquí para alí. 678 00:31:17,470 --> 00:31:18,050 >> Ten unha historia divertido. 679 00:31:18,050 --> 00:31:19,716 Nós imos voltar a iso en só un momento. 680 00:31:19,716 --> 00:31:22,920 Pero agora o segundo router-- para que aparentemente arubacentral 681 00:31:22,920 --> 00:31:25,790 ten algún tipo de física conexión máis likely-- 682 00:31:25,790 --> 00:31:27,249 o ser humano non se incomodou en nomealo. 683 00:31:27,249 --> 00:31:30,373 Os seres humanos Yale non se incomodou de nomeamento iso porque é dentro da súa rede 684 00:31:30,373 --> 00:31:30,940 parece. 685 00:31:30,940 --> 00:31:32,520 E así el só ten un enderezo IP. 686 00:31:32,520 --> 00:31:34,660 >> Pero, a continuación, un terceiro router aquí na rede da Yale 687 00:31:34,660 --> 00:31:36,700 isto pode ser un pouco máis lonxe aínda 688 00:31:36,700 --> 00:31:41,330 todo o que se chama cen10g que é asr.net.yale.internal. 689 00:31:41,330 --> 00:31:43,040 E tamén ten un enderezo IP. 690 00:31:43,040 --> 00:31:44,990 >> Agora, por que son eses números tipo de flutuación? 691 00:31:44,990 --> 00:31:47,890 2,9, 1,4, 36? 692 00:31:47,890 --> 00:31:48,840 Routers estar ocupado. 693 00:31:48,840 --> 00:31:50,420 E eles están congestionadas e backup. 694 00:31:50,420 --> 00:31:53,200 Hai miles de persoas neste campus a través da internet no momento. 695 00:31:53,200 --> 00:31:56,050 Hai un centenar de persoas neste sala a través da internet no momento. 696 00:31:56,050 --> 00:31:59,030 >> E entón o que está a suceder é que os routers pode estar actividade. 697 00:31:59,030 --> 00:32:01,350 E así estes tempos pode flutuar un pouco. 698 00:32:01,350 --> 00:32:04,620 É por iso que eles non necesariamente aumentar directamente. 699 00:32:04,620 --> 00:32:07,510 >> Pero as cousas están medio interesante na etapa catro. 700 00:32:07,510 --> 00:32:13,040 Ao parecer, entre Yale e etapa catro é outro hop. 701 00:32:13,040 --> 00:32:16,480 E onde está o router na etapa catro probablemente? 702 00:32:16,480 --> 00:32:17,410 >> Audiencia: [inaudível] 703 00:32:17,410 --> 00:32:19,410 >> DAVID J. Malan: JFK quizais quizais no aeroporto. 704 00:32:19,410 --> 00:32:21,950 Pero por algunha razón, administradores de sistema, de xeito 705 00:32:21,950 --> 00:32:24,140 totós que rodan servidores para anos chamaron routers 706 00:32:24,140 --> 00:32:25,600 despois do código do aeroporto máis próximo. 707 00:32:25,600 --> 00:32:27,420 Entón probablemente significa JFK é só un lugar 708 00:32:27,420 --> 00:32:29,970 en Nova York, quizais en Manhattan ou un dos barrios. 709 00:32:29,970 --> 00:32:34,460 nyc2 indica, presuntamente, outro router que está nalgún lugar en Nova York. 710 00:32:34,460 --> 00:32:37,140 >> Non sei ben onde fileira seis é aquí, router número seis. 711 00:32:37,140 --> 00:32:40,110 quest.net un gran ISP, provedor de servizos de Internet, 712 00:32:40,110 --> 00:32:43,240 que ofrece conectividade a Internet para grandes sitios como Yale e outros. 713 00:32:43,240 --> 00:32:47,110 E, a continuación, esta última, parece que o MIT non fai mesmo 714 00:32:47,110 --> 00:32:50,180 teñen o seu propio sitio web en Cambridge, necesariamente, 715 00:32:50,180 --> 00:32:52,090 pero eles teñen terceirizou seu sitio web, 716 00:32:52,090 --> 00:32:55,150 ou, polo menos, os servidores físicos, para unha empresa chamada Akamai. 717 00:32:55,150 --> 00:32:57,940 E Akamai realmente está á dereita a estrada do MIT en Cambridge 718 00:32:57,940 --> 00:32:58,790 saia. 719 00:32:58,790 --> 00:33:02,360 >> Pero entendo tamén que ata penso vai www.mit.edu, 720 00:33:02,360 --> 00:33:05,200 poderiamos realmente enviar en calquera lugar do mundo. 721 00:33:05,200 --> 00:33:06,960 >> E veremos algún lugar outra parte do mundo. 722 00:33:06,960 --> 00:33:09,240 Deixe-me ir adiante e limpar Nesta pantalla e, en vez 723 00:33:09,240 --> 00:33:15,240 trazar a ruta, só unha vez, para consultar un, para www.cnn.co.jp, 724 00:33:15,240 --> 00:33:18,390 a páxina principal xaponés para a CNN, o sitio de novas. 725 00:33:18,390 --> 00:33:20,660 E se eu acertar Entre agora, imos ver o que acontece. 726 00:33:20,660 --> 00:33:23,610 Estamos de novo a partir de arubacentral. 727 00:33:23,610 --> 00:33:26,510 Estamos a continuación, indo ao router sen nome, un pouco máis. 728 00:33:26,510 --> 00:33:29,527 Por iso, levou 12 ao lúpulo chegar ao Xapón neste momento. 729 00:33:29,527 --> 00:33:30,860 E imos ver o que podemos recoller. 730 00:33:30,860 --> 00:33:32,450 >> Así mesmo hop, aínda hop. 731 00:33:32,450 --> 00:33:35,170 Lixeiramente diferente agora. 732 00:33:35,170 --> 00:33:36,380 Isto é interesante unha. 733 00:33:36,380 --> 00:33:40,870 Entón, eu estou supondo aquí, é un stamford1 algunhas cidades de distancia en Connecticut tamén. 734 00:33:40,870 --> 00:33:43,810 Estes routers na fileira de seis e sete non teñen nomes. 735 00:33:43,810 --> 00:33:46,370 Pero este é tipo de sorprendente. 736 00:33:46,370 --> 00:33:53,310 >> Entón, o que parece ser entre a routers no paso sete e oito? 737 00:33:53,310 --> 00:33:54,760 E por que di tanto? 738 00:33:54,760 --> 00:33:55,260 Si? 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 é certo como, intuitivamente, non? 742 00:34:01,366 --> 00:34:04,790 Pero podemos confirmar tanto tipo do tipo de empiricamente por que? 743 00:34:04,790 --> 00:34:06,860 O que cambiou entre liñas sete e oito? 744 00:34:06,860 --> 00:34:09,429 745 00:34:09,429 --> 00:34:14,739 >> Foi preciso moito máis tempo para ir ao o que quere que ese router sen nome sete é, 746 00:34:14,739 --> 00:34:18,670 probablemente nalgún lugar no continental dos Estados Unidos, mentres oito, 747 00:34:18,670 --> 00:34:22,639 que é, probablemente, algures no Xapón con base no nome de dominio de .jp alí. 748 00:34:22,639 --> 00:34:25,719 E así os adicional cen algo milisegundos 749 00:34:25,719 --> 00:34:28,960 ou 90 ou máis milisegundos é o resultado dos nosos datos vai 750 00:34:28,960 --> 00:34:31,100 ao longo dun moi grande masa de auga. 751 00:34:31,100 --> 00:34:34,570 >> Agora, curiosamente, parece que quizais que o cable pasa por todo os Estados Unidos. 752 00:34:34,570 --> 00:34:37,070 Se nós estamos indo realmente Costa Oeste para chegar ao Xapón, 753 00:34:37,070 --> 00:34:39,111 é unha especie do longo camiño se somos a outro lado. 754 00:34:39,111 --> 00:34:41,400 Polo tanto, non é totalmente claro o que está a suceder fisicamente. 755 00:34:41,400 --> 00:34:43,830 Pero o feito de que todos os hop adicional de feito 756 00:34:43,830 --> 00:34:46,020 tomou marcadamente máis do que calquera outro, é 757 00:34:46,020 --> 00:34:50,440 confirmación moi bo que a CNN de Servidor web xaponesa é probablemente de feito 758 00:34:50,440 --> 00:34:51,310 no Xapón. 759 00:34:51,310 --> 00:34:54,089 E é certamente máis lonxe lonxe do que o MIT foi. 760 00:34:54,089 --> 00:34:56,380 E paga a pena ter en conta tamén, seus datos non é necesariamente 761 00:34:56,380 --> 00:34:58,794 indo viaxar a distancia máis curta posible. 762 00:34:58,794 --> 00:35:00,960 En realidade, se xogar con seguimento de ruta na casa 763 00:35:00,960 --> 00:35:04,170 só escoller sitios aleatorios, vostede Pode considerar que só enviar un e-mail 764 00:35:04,170 --> 00:35:06,490 ou a visitar un sitio web que está aquí en New Haven, 765 00:35:06,490 --> 00:35:09,200 ás veces, os seus datos poden primeiro facer un desvío, a carón da DC, 766 00:35:09,200 --> 00:35:10,450 e despois volver para arriba. 767 00:35:10,450 --> 00:35:12,860 E iso é só por mor de as decisións de enrutamento dinámico 768 00:35:12,860 --> 00:35:14,650 que eses ordenadores están facendo. 769 00:35:14,650 --> 00:35:18,930 >> Agora só por diversión, o equipo de produción aparado un deses vídeos para nós 770 00:35:18,930 --> 00:35:20,807 para ser só un pouco máis sucinto. 771 00:35:20,807 --> 00:35:23,640 Pero, para dar unha sensación rápida aqui-- e podemos deixar as luces on-- 772 00:35:23,640 --> 00:35:32,363 como para o que é cabeamento de feito, tendo todos os nosos datos. 773 00:35:32,363 --> 00:35:33,029 [REPRODUCIÓN DE VIDEO] 774 00:35:33,029 --> 00:35:36,023 [Música tocando] 775 00:35:36,023 --> 00:36:31,911 776 00:36:31,911 --> 00:36:32,777 [FIN DE REPRODUCIÓN] 777 00:36:32,777 --> 00:36:35,860 DAVID J. Malan: Todos os vídeos de rede ten música legal sonoridade aparentemente. 778 00:36:35,860 --> 00:36:38,084 Entón, iso é para só un sentido de que ten 779 00:36:38,084 --> 00:36:39,500 vén acontecendo debaixo do capó. 780 00:36:39,500 --> 00:36:41,355 >> Pero imos ollar para un nivel lixeiramente máis baixo agora 781 00:36:41,355 --> 00:36:44,150 o que é realmente datos atravesando esas liñas, 782 00:36:44,150 --> 00:36:46,720 e mesmo indo sen fíos nunha sala como esta. 783 00:36:46,720 --> 00:36:49,580 >> Entón non é que cando pedir unha páxina web, ou enviar un correo electrónico, 784 00:36:49,580 --> 00:36:53,670 ou recibir unha páxina web, ou un correo electrónico, ou unha mensaxe Gchat, ou unha mensaxe de Facebook, 785 00:36:53,670 --> 00:36:57,800 ou similar, que non é máis que un gran peza de bits que flúen sen fíos 786 00:36:57,800 --> 00:37:00,600 a través do aire ou electronicamente nun fío. 787 00:37:00,600 --> 00:37:03,680 Pola contra, esta proposta é resposta é xeralmente 788 00:37:03,680 --> 00:37:05,810 fragmentada en anacos separados. 789 00:37:05,810 --> 00:37:08,880 >> Polo tanto, noutras palabras, cando ten un solicitar a facer doutro ordenador, 790 00:37:08,880 --> 00:37:10,980 ou recibe de volta unha resposta doutro Computador-- 791 00:37:10,980 --> 00:37:15,800 como supoñer, por exemplo, se unfamiliar-- como moitas persoas 792 00:37:15,800 --> 00:37:18,400 parecen ser estes dias-- se non familiarizados co isto-- 793 00:37:18,400 --> 00:37:20,200 non esta fellow-- este compañeiro. 794 00:37:20,200 --> 00:37:23,950 Entón supoño que esta é unha mensaxe que Quero enviar a alguén en volta. 795 00:37:23,950 --> 00:37:28,930 Quen no moi back quere recibir unha foto de Rick Astley hoxe? 796 00:37:28,930 --> 00:37:29,805 OK, cal é o seu nome? 797 00:37:29,805 --> 00:37:30,590 >> Audiencia: Cole. 798 00:37:30,590 --> 00:37:31,306 >> DAVID J. Malan: Qué é? 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-G-E, Cole. 804 00:37:34,960 --> 00:37:35,520 Desculpe. 805 00:37:35,520 --> 00:37:36,430 C-O-G-e. 806 00:37:36,430 --> 00:37:36,930 Todo ben. 807 00:37:36,930 --> 00:37:40,990 Entón, se eu queira Enviar este Cole imaxe aquí, vostede sabe diso 808 00:37:40,990 --> 00:37:42,410 é unha especie de retrato grande, non? 809 00:37:42,410 --> 00:37:44,472 Isto podería ser un pouco kilobytes, algúns megabytes, 810 00:37:44,472 --> 00:37:45,930 especialmente se é alta resolución. 811 00:37:45,930 --> 00:37:48,660 E eu realmente non quero deixar todos os outros de usar internet 812 00:37:48,660 --> 00:37:50,680 só mentres eu Enviar este realmente grande, imaxe de alta calidade 813 00:37:50,680 --> 00:37:52,138 de Rick Astley por toda a sala. 814 00:37:52,138 --> 00:37:55,310 Gustaríame que os seus datos para seguir atravesan a rede e WiFi 815 00:37:55,310 --> 00:37:56,100 ben. 816 00:37:56,100 --> 00:38:00,100 >> E por iso fai sense-- e este é recuperable por vía electrónica, 817 00:38:00,100 --> 00:38:01,780 non tanto no mundo real. 818 00:38:01,780 --> 00:38:04,904 En realidade, iso terá múltiples significados se incorporarse miña saída de audio. 819 00:38:04,904 --> 00:38:08,360 Entón, se eu trazo isto en a metade como este aquí, 820 00:38:08,360 --> 00:38:11,912 que agora pode viaxar a Internet de forma máis eficiente, 821 00:38:11,912 --> 00:38:13,120 porque é unha peza menor. 822 00:38:13,120 --> 00:38:16,780 Así, con menor probabilidade é que vai a chocar co tráfico de outra persoa 823 00:38:16,780 --> 00:38:17,650 en internet. 824 00:38:17,650 --> 00:38:21,240 >> E entón o que, de feito, fai o seu ordenador cando quere enviar unha mensaxe a Cole 825 00:38:21,240 --> 00:38:24,917 é segmenta-se unha mensaxe como esta en pequenos anacos, fragmentos por así dicir. 826 00:38:24,917 --> 00:38:28,000 E, a continuación, el coloca-los no que imos chama tipo de sobres virtuais. 827 00:38:28,000 --> 00:38:29,620 >> Entón, eu teño catro sobres de papel aquí. 828 00:38:29,620 --> 00:38:32,690 E eu teño pre-contados deles, un, dous, tres, catro e. 829 00:38:32,690 --> 00:38:35,800 E o que eu vou facer na parte da fronte deste, así como unha discusión normal, 830 00:38:35,800 --> 00:38:38,000 é que eu vou poñer o nome de Cole alí. 831 00:38:38,000 --> 00:38:41,270 E, a continuación, na parte superior, son vai poñer o meu nome alí, 832 00:38:41,270 --> 00:38:44,995 David, de xeito que o primeiro paquete, tales Estou enviando aí en internet 833 00:38:44,995 --> 00:38:47,620 parece un pouco algo isto, as características máis saíntes 834 00:38:47,620 --> 00:38:50,830 dos cales son de que ten unha a abordar, desde un enderezo, 835 00:38:50,830 --> 00:38:52,670 e tamén un número, así que esperamos que 836 00:38:52,670 --> 00:38:55,680 é información suficiente para Cole para reconstruír esta mensaxe. 837 00:38:55,680 --> 00:38:58,820 >> Entón deixe-me facer o mesmo aquí, a mesmo aquí, eo mesmo aquí, 838 00:38:58,820 --> 00:39:01,310 escribir o seu nome na Para campo en todos eles. 839 00:39:01,310 --> 00:39:04,240 E entón imos adiante e poñer esas fotos dentro. 840 00:39:04,240 --> 00:39:06,540 >> Entón aquí está un paquete que está preparado para ir. 841 00:39:06,540 --> 00:39:09,780 Aquí está outro paquete que está preparado para ir. 842 00:39:09,780 --> 00:39:14,100 Aquí está o terceiro paquete que está preparado para ir. 843 00:39:14,100 --> 00:39:16,870 E aquí está unha cuarta paquete que está preparado para ir. 844 00:39:16,870 --> 00:39:19,849 >> E agora o que é interesante sobre como a Internet, en realidade, obras 845 00:39:19,849 --> 00:39:22,140 é que aínda que eu teño catro paquetes, os cales 846 00:39:22,140 --> 00:39:24,730 están destinados para o mesmo localización, non son necesariamente 847 00:39:24,730 --> 00:39:26,870 vai percorrer o mesmo percorrido. 848 00:39:26,870 --> 00:39:32,070 E por iso mesmo que eu podería entregar estes paquetes fóra para o router máis próximo 849 00:39:32,070 --> 00:39:36,660 imos dicir, se quere envialos de todos os xeitos, imos ver 850 00:39:36,660 --> 00:39:40,706 o que realmente acontece, o obxectivo da que é para obtelos, finalmente, para Cole. 851 00:39:40,706 --> 00:39:44,850 852 00:39:44,850 --> 00:39:48,770 E, de feito, xa non son necesariamente tomar a mesma dirección. 853 00:39:48,770 --> 00:39:50,510 E iso é bo. 854 00:39:50,510 --> 00:39:52,480 Isto é un pouco raro e estilo Oprah hoxe. 855 00:39:52,480 --> 00:39:56,540 >> E agora déixeme deliberadamente tomar que unha volta. 856 00:39:56,540 --> 00:40:00,196 E agora Cole, se quere remontalo lo do mellor xeito posible. 857 00:40:00,196 --> 00:40:06,610 858 00:40:06,610 --> 00:40:10,180 Por suposto, todos podemos adiviñar o que a conclusión aquí é que vai ser. 859 00:40:10,180 --> 00:40:12,600 Terá 3/4 de Rick Astley en só un momento. 860 00:40:12,600 --> 00:40:15,920 861 00:40:15,920 --> 00:40:19,291 E o que é o implicación de que? 862 00:40:19,291 --> 00:40:20,540 Quere tentar seguro-la? 863 00:40:20,540 --> 00:40:23,540 Temos unha cámara apuntada para ti, se quere 864 00:40:23,540 --> 00:40:26,226 para pousar con Rick Astley aquí. 865 00:40:26,226 --> 00:40:28,610 866 00:40:28,610 --> 00:40:29,510 Alí imos nós. 867 00:40:29,510 --> 00:40:30,410 Encantador. 868 00:40:30,410 --> 00:40:33,230 >> Pero parece estar falta un fragmento de Rick Astley. 869 00:40:33,230 --> 00:40:37,015 Así, verifícase que a internet adoita accionado por non só IP, 870 00:40:37,015 --> 00:40:39,890 pero en realidade nós escoitamos moito no inicio da charla en que video-- 871 00:40:39,890 --> 00:40:42,473 e probablemente xa viu este acrónimo máis often-- o que realmente 872 00:40:42,473 --> 00:40:44,360 é o protocolo que tenden a escoitar falar? 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 é só unha combinación 875 00:40:48,090 --> 00:40:49,940 de dous protocolos, un chamado IP. 876 00:40:49,940 --> 00:40:52,640 Que unha vez máis, é só o set mediante convenios que 877 00:40:52,640 --> 00:40:54,740 abordar cada ordenador en internet. 878 00:40:54,740 --> 00:40:56,930 E, a continuación, TCP, que serve a un propósito. 879 00:40:56,930 --> 00:41:00,110 >> TCP é un protocolo que tipicamente utilizada en conxunto 880 00:41:00,110 --> 00:41:04,410 con IP, que, entre outros cousas, garantías de entrega. 881 00:41:04,410 --> 00:41:08,860 En realidade, o TCP é o protocolo ía notar que un dos paquetes 882 00:41:08,860 --> 00:41:10,930 aparentemente non chegou a Cole, porque parece 883 00:41:10,930 --> 00:41:12,830 estar falta número catro en catro. 884 00:41:12,830 --> 00:41:16,530 E así o TCP, un protocolo fai, é di Cole, 885 00:41:16,530 --> 00:41:19,850 hey Cole, se só recibe tres dos catro paquetes, 886 00:41:19,850 --> 00:41:22,600 me dicir cal deles están falta, esencialmente, 887 00:41:22,600 --> 00:41:25,570 e despois o meu propósito na vida debe ser a que retransmitir. 888 00:41:25,570 --> 00:41:28,580 >> E así se eu tamén, o remitente, están utilizando TCP, 889 00:41:28,580 --> 00:41:31,810 Eu debería, a continuación, facer unha packet-- non esta enrugada unha aqui-- 890 00:41:31,810 --> 00:41:35,980 retransmitir só este anaco de Lo, de xeito que, en definitiva Cole ten 891 00:41:35,980 --> 00:41:38,280 unha lembranza completa, se nada máis. 892 00:41:38,280 --> 00:41:43,000 Pero en definitiva, de xeito que os datos realmente chega ao seu destino correcto. 893 00:41:43,000 --> 00:41:48,020 >> Pero, desgraciadamente, escribindo o nome de Cole na parte dianteira non é suficiente, por si só. 894 00:41:48,020 --> 00:41:50,270 E realmente, eu non estaba a escribir O nome de Cole, pero probablemente 895 00:41:50,270 --> 00:41:51,655 seu enderezo IP no sobre. 896 00:41:51,655 --> 00:41:52,780 E eu non estaba a escribir David. 897 00:41:52,780 --> 00:41:56,550 Eu ía escribir o meu enderezo IP no sobre de xeito que os ordenadores poden realmente 898 00:41:56,550 --> 00:41:57,999 comunicar e cara atrás. 899 00:41:57,999 --> 00:42:00,540 Pero resulta que os ordenadores pode facer moito máis do que servir-se 900 00:42:00,540 --> 00:42:01,900 imaxes de Rick Astley. 901 00:42:01,900 --> 00:42:05,340 Tamén pode enviar e recibir as mensaxes, mensaxes de chat. 902 00:42:05,340 --> 00:42:09,780 Poden facer cousas como transferencias de arquivos, e calquera número de outras ferramentas 903 00:42:09,780 --> 00:42:12,330 usa en internet, servidores poden facer nestes días. 904 00:42:12,330 --> 00:42:15,300 >> E só porque unha empresa, ou unha escola, ou unha persoa 905 00:42:15,300 --> 00:42:19,420 quere ter un servidor web, e un servidor de correo electrónico, e un servidor de chat, 906 00:42:19,420 --> 00:42:21,420 non significa que precisa de tres ordenadores. 907 00:42:21,420 --> 00:42:26,200 Pode que só un ordenador de carreira varios servizos, por así dicir. 908 00:42:26,200 --> 00:42:29,190 >> E así, cando Cole recibe unha mensaxe como esta, como 909 00:42:29,190 --> 00:42:32,940 O seu ordenador para saber se mostran que a imaxe no seu navegador, 910 00:42:32,940 --> 00:42:37,730 ou en Gchat, ou en Facebook Messenger, ou en calquera número de outras ferramentas? 911 00:42:37,730 --> 00:42:40,430 >> Así, verifícase tamén no que como sobre é peza adicional 912 00:42:40,430 --> 00:42:43,070 de información coñecido como un número de porto. 913 00:42:43,070 --> 00:42:45,240 E un número de porto é só un número, de feito, 914 00:42:45,240 --> 00:42:48,342 pero non identifica exclusivamente o ordenador, pero o servizo. 915 00:42:48,342 --> 00:42:49,550 E non hai acios destes. 916 00:42:49,550 --> 00:42:51,258 Así, verifícase que no mundo, os seres humanos 917 00:42:51,258 --> 00:42:57,095 decidir sobre algúns tales convencións, algúns dos cales son estes. 918 00:42:57,095 --> 00:42:59,220 Polo tanto, hai algo chamado File Transfer Protocol. 919 00:42:59,220 --> 00:42:59,870 É moi datada. 920 00:42:59,870 --> 00:43:00,970 É completamente certo. 921 00:43:00,970 --> 00:43:02,320 Unha morea de persoas aínda o usan. 922 00:43:02,320 --> 00:43:04,240 E el usa o número de porto 21. 923 00:43:04,240 --> 00:43:07,250 Noutras palabras, se enviar un arquivo a través de FTP, 924 00:43:07,250 --> 00:43:10,570 o sobre tería non só o remitente e enderezo IP do receptor, 925 00:43:10,570 --> 00:43:14,020 Tamén tería o número 21, de xeito que o ordenador receptor sabe Oh, este 926 00:43:14,020 --> 00:43:17,280 é un ficheiro, non un correo ou unha mensaxe de chat. 927 00:43:17,280 --> 00:43:19,016 >> 25 é SMTP. 928 00:43:19,016 --> 00:43:20,516 Como moitos de vostedes xa usou SMTP? 929 00:43:20,516 --> 00:43:22,850 930 00:43:22,850 --> 00:43:23,380 Mal. 931 00:43:23,380 --> 00:43:24,490 Case todos vostedes teñen. 932 00:43:24,490 --> 00:43:28,730 Se xa usou correo electrónico, xa usou SMTP, Simple Mail Transfer Protocol, 933 00:43:28,730 --> 00:43:32,300 que é só un xeito elegante de dicir, este é o tipo de ordenador ou servizo 934 00:43:32,300 --> 00:43:34,600 que envía o teu correo de saída. 935 00:43:34,600 --> 00:43:38,780 >> E se xa viu como siglas POP, IMAP ou, e hai algúns outros, 936 00:43:38,780 --> 00:43:40,670 son aqueles para recibir correo electrónico, tipicamente. 937 00:43:40,670 --> 00:43:42,650 Isto só significa que é un servizo diferente. 938 00:43:42,650 --> 00:43:45,850 É software que alguén escribiu que envía ou escoita 939 00:43:45,850 --> 00:43:48,880 en un número de porto específico para que non confundir-e 940 00:43:48,880 --> 00:43:50,360 con algún outro tipo de datos. 941 00:43:50,360 --> 00:43:55,500 >> Agora, a web é HTTP, que é número 80, e tamén a porta 443. 942 00:43:55,500 --> 00:43:57,590 E, de feito, a pesar de Nós, seres humanos, por sorte, 943 00:43:57,590 --> 00:43:59,610 non ten que facelo, calquera momento que visita 944 00:43:59,610 --> 00:44:05,810 un sitio como http://www.yale.edu, o navegador 945 00:44:05,810 --> 00:44:07,790 é só a ser tipo de útil na medida en que é 946 00:44:07,790 --> 00:44:10,970 supoñendo que quere porta numérico 80. 947 00:44:10,970 --> 00:44:15,710 Xa sabemos que o DNS pode descubrir cal é a dirección IP é de www.yale.edu. 948 00:44:15,710 --> 00:44:17,970 Pero o ordenador é só vai inferir que 949 00:44:17,970 --> 00:44:21,560 quere a porta 80 porque está a usar Chrome ou IE, ou algún outro navegador. 950 00:44:21,560 --> 00:44:24,930 Pero eu podería facer tecnicamente colon 80. 951 00:44:24,930 --> 00:44:28,520 E entón eu podo dicir explicitamente meu navegador, enviar un paquete ou máis 952 00:44:28,520 --> 00:44:32,080 de información para www.yale.edu solicitando páxina principal de hoxe. 953 00:44:32,080 --> 00:44:36,070 Pero especialmente, a dirección Lo para IP de Yale na porta 80 954 00:44:36,070 --> 00:44:39,190 de xeito que realmente comezar copia de servidor web de Yale. 955 00:44:39,190 --> 00:44:42,229 >> Agora desaparece inmediatamente porque os navegadores só 956 00:44:42,229 --> 00:44:44,020 decidir que non Debe confundir o ser humano 957 00:44:44,020 --> 00:44:46,810 por ter aínda máis arcano información como colonos 80. 958 00:44:46,810 --> 00:44:50,640 E, francamente, navegadores como Chrome non facer aínda 959 00:44:50,640 --> 00:44:55,464 amosar-lle HTTP máis, ou o colon, ou a barra barra, ou o arrastre, 960 00:44:55,464 --> 00:44:58,380 en certo sentido, porque eles están tentando para facer as cousas máis simples para os usuarios. 961 00:44:58,380 --> 00:45:01,080 Noutro sentido, é só un tipo dunha experiencia de usuario coisa-- 962 00:45:01,080 --> 00:45:02,720 Imos librar de algúns dos desorde. 963 00:45:02,720 --> 00:45:05,405 Pero está agochar algunhas das estes detalles subxacentes. 964 00:45:05,405 --> 00:45:09,360 >> E, de feito, ningún de nós probablemente nunca escriba http anymore. 965 00:45:09,360 --> 00:45:12,060 Só escribir algo como www.harvard.edu. 966 00:45:12,060 --> 00:45:15,310 E, de novo, infere Chrome que pretende HTTP. 967 00:45:15,310 --> 00:45:18,970 Pero existen outros protocolos que seguramente poderiamos estar a usar. 968 00:45:18,970 --> 00:45:24,480 >> Así, dado todo isto, se agora sorte de poñer a chamada sombreiro enxeñaría, 969 00:45:24,480 --> 00:45:27,417 como é que as cousas chamados devasas traballar? 970 00:45:27,417 --> 00:45:29,750 Entón, probablemente está xeralmente familiarizado co firewall, 971 00:45:29,750 --> 00:45:30,990 non tanto no sentido físico. 972 00:45:30,990 --> 00:45:32,470 Entón, de volta ao día, e aínda para este día, 973 00:45:32,470 --> 00:45:35,430 se ten como centros comerciais para instancia que ten unha morea de tendas, 974 00:45:35,430 --> 00:45:38,500 xeralmente as paredes entre tendas individuais ou tendas 975 00:45:38,500 --> 00:45:43,180 firewalls son no sentido de que teñen illamento especial 976 00:45:43,180 --> 00:45:45,310 de xeito que en caso de incendio irrompe nunha tenda, 977 00:45:45,310 --> 00:45:48,210 Iso non significa necesariamente estendeuse á tenda ao lado. 978 00:45:48,210 --> 00:45:51,710 >> O mundo dos ordenadores tamén ten firewalls que facer algo diferente. 979 00:45:51,710 --> 00:45:52,798 O que fai unha bola de lume facer? 980 00:45:52,798 --> 00:45:53,298 Si? 981 00:45:53,298 --> 00:45:55,290 >> Audiencia: Basicamente eles cortaron conexión 982 00:45:55,290 --> 00:45:59,493 se atopan algo como, por exemplo, 983 00:45:59,493 --> 00:46:01,361 teñen número de declaracións id. 984 00:46:01,361 --> 00:46:04,340 E se algo acontecer, eles cortaron a conexión. 985 00:46:04,340 --> 00:46:07,570 Coma se este ataque malintencionado [Inaudível] o seu ordenador, ou-- 986 00:46:07,570 --> 00:46:08,630 >> DAVID J. Malan: bo Aceptar. 987 00:46:08,630 --> 00:46:11,220 Si, e de feito está mesmo indo un pouco máis lonxe 988 00:46:11,220 --> 00:46:14,590 na descrición de algo que podería ser chamado un sistema de detección de intrusión, 989 00:46:14,590 --> 00:46:18,305 ou IDs para breve, a través do cal realmente teñen regras definidas. 990 00:46:18,305 --> 00:46:22,140 E se comezar a ver sospeitoso comportamento, intenta poñer fin a iso. 991 00:46:22,140 --> 00:46:24,250 >> E un firewall, francamente, a un nivel de rede, 992 00:46:24,250 --> 00:46:26,821 é aínda máis burro e máis simple que, xeralmente. 993 00:46:26,821 --> 00:46:29,070 E hai distintos tipos de firewalls no mundo. 994 00:46:29,070 --> 00:46:31,569 Pero os que operan en o nivel que estamos a falar today-- 995 00:46:31,569 --> 00:46:35,330 IP e TCP-- traballar aínda máis directamente. 996 00:46:35,330 --> 00:46:39,180 >> Por exemplo, se está sistema de Yale administradores, ou sistema de Harvard 997 00:46:39,180 --> 00:46:42,020 administradores, ou algún gran Irmán nalgunha empresa, 998 00:46:42,020 --> 00:46:45,040 e quería evitar todo o seu alumnos ou os seus empregados 999 00:46:45,040 --> 00:46:47,619 ir á facebook.com, todo o que tes que facer 1000 00:46:47,619 --> 00:46:50,160 é estar seguro de que todo o seu tráfico da rede, antes de todo, 1001 00:46:50,160 --> 00:46:51,850 pasa a través dun dispositivo especial. 1002 00:46:51,850 --> 00:46:53,030 Imos chamalo de un cortalumes. 1003 00:46:53,030 --> 00:46:54,910 >> E iso é bo, porque pode facer o seu router 1004 00:46:54,910 --> 00:46:57,618 o mesmo que un firewall se poñer o mesmo tipo de software 1005 00:46:57,618 --> 00:46:58,940 na mesma máquina. 1006 00:46:58,940 --> 00:47:01,780 Polo tanto, se os seus alumnos ou tráfico de funcionarios 1007 00:47:01,780 --> 00:47:04,450 está pasando por iso firewall central, como 1008 00:47:04,450 --> 00:47:08,540 iríamos bloquear a xente de ir para facebook.com, por exemplo? 1009 00:47:08,540 --> 00:47:10,780 Cal sería o sistema administrador ten que facer? 1010 00:47:10,780 --> 00:47:11,370 Alguén? 1011 00:47:11,370 --> 00:47:12,911 Imos tentar ir ao redor. 1012 00:47:12,911 --> 00:47:15,074 >> Audiencia: [inaudível] 1013 00:47:15,074 --> 00:47:16,365 DAVID J. Malan: Diga isto de novo? 1014 00:47:16,365 --> 00:47:19,215 Audiencia: Debe só se collidos dentro do sistema. 1015 00:47:19,215 --> 00:47:22,487 Entón, só tes que poñer Facebook en 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 Entón pode realmente, a continuación, hackear sistema DNS. 1018 00:47:27,290 --> 00:47:31,180 Esta é certamente unha forma que podería facelo a través do cal calquera momento un estudante de Yale tira 1019 00:47:31,180 --> 00:47:34,670 up www.facebook.com, todo nós aquí hoxe no campus 1020 00:47:34,670 --> 00:47:38,590 Está a utilizar o servidor DNS do Yale, porque o servidor DHCP de Yale deunos 1021 00:47:38,590 --> 00:47:39,580 ese enderezo. 1022 00:47:39,580 --> 00:47:42,490 Entón, si, podería tipo de romper cousas ou convención pausa 1023 00:47:42,490 --> 00:47:49,190 só dicindo, si, enderezo de facebook.com é falso, 1024 00:47:49,190 --> 00:47:52,530 é 1.2.3.4, que é non realmente lexítimo. 1025 00:47:52,530 --> 00:47:53,930 Ou será 278. 1026 00:47:53,930 --> 00:47:57,460 todo o que estaba no programa de TV dunha hai pouco, de xeito que ningún de nós 1027 00:47:57,460 --> 00:47:59,176 realmente visitar facebook.com. 1028 00:47:59,176 --> 00:48:00,590 >> Entón supoño que Yale fixo. 1029 00:48:00,590 --> 00:48:03,336 Supoña Yale quería manter vostede fóra do facebook.com. 1030 00:48:03,336 --> 00:48:05,700 E, polo tanto, eles cambiou a configuración DNS 1031 00:48:05,700 --> 00:48:08,812 para darlle un IP falso enderezo para facebook.com. 1032 00:48:08,812 --> 00:48:10,616 Como responde? 1033 00:48:10,616 --> 00:48:12,990 Tecnicamente, não-- oh, agora todo o mundo quere participar. 1034 00:48:12,990 --> 00:48:13,490 OK, si. 1035 00:48:13,490 --> 00:48:16,190 Audiencia: Só escribir o enderezo IP real de Facebook. 1036 00:48:16,190 --> 00:48:16,710 >> DAVID J. Malan: OK, bo. 1037 00:48:16,710 --> 00:48:19,350 Entón, poderíamos só escribir o enderezo IP real de Facebook, 1038 00:48:19,350 --> 00:48:21,090 tanto como eu fixen co sitio web da Yale. 1039 00:48:21,090 --> 00:48:24,636 E se o servidor está configurado Facebook para apoiar isto, debe realmente funcionar. 1040 00:48:24,636 --> 00:48:26,510 É unha dor menor na o pescozo, porque agora nós 1041 00:48:26,510 --> 00:48:30,220 Ten que lembrar algúns aleatoria Valor de 32 bits, pero que podería traballar. 1042 00:48:30,220 --> 00:48:31,622 O que máis lle podería facer? 1043 00:48:31,622 --> 00:48:32,121 Si. 1044 00:48:32,121 --> 00:48:35,117 >> Audiencia: Podería cambiar esta configuración [inaudível]. 1045 00:48:35,117 --> 00:48:37,700 DAVID J. Malan: Si, podería ata cambiar a configuración DNS. 1046 00:48:37,700 --> 00:48:40,480 Entón, en realidade iso é realmente moi útil, a verdade, 1047 00:48:40,480 --> 00:48:45,590 se está nun aeroporto, ou se está nun café, ou algo que 1048 00:48:45,590 --> 00:48:48,834 ten internet esquisito en que, ás veces, o servidor DNS só deixa de funcionar. 1049 00:48:48,834 --> 00:48:51,000 Así, aínda que eu, en ocasións, facer este, non por mal intencionado, I 1050 00:48:51,000 --> 00:48:52,750 quere usar Facebook propósitos, pero realmente 1051 00:48:52,750 --> 00:48:56,344 porque me parece unha rede conexión, pero nada funciona. 1052 00:48:56,344 --> 00:48:58,260 E así un dos primeiros cousas que eu e vostede try-- 1053 00:48:58,260 --> 00:49:01,710 pode facelo en Windows, pero demasiado-- no meu Mac, se eu ir Rede. 1054 00:49:01,710 --> 00:49:03,330 E eu escollo a miña conexión Wi-Fi. 1055 00:49:03,330 --> 00:49:04,750 E eu ir Avanzado. 1056 00:49:04,750 --> 00:49:06,080 E eu ir DNS. 1057 00:49:06,080 --> 00:49:08,260 Estes son os tres Enderezos IP que Yale 1058 00:49:08,260 --> 00:49:10,290 é darme por tres servidores DNS. 1059 00:49:10,290 --> 00:49:14,110 O obxectivo é, entón, para min tentar calquera un deles para resolver enderezos. 1060 00:49:14,110 --> 00:49:15,946 >> Pero podo substituír estes facendo un plus. 1061 00:49:15,946 --> 00:49:18,333 E ninguén quere propoñer 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, é incrible. 1064 00:49:20,578 --> 00:49:21,650 Si, 8.8.8.8. 1065 00:49:21,650 --> 00:49:26,170 Entón, Google, bendiga seus corazóns, comprou o enderezo IP 8.8.8.8, 1066 00:49:26,170 --> 00:49:29,560 porque medio parecer Gs probablemente, e é fácil de lembrar. 1067 00:49:29,560 --> 00:49:34,820 Pero en realidade, agora eu configurar meu ordenador para usar o servidor DNS de Google. 1068 00:49:34,820 --> 00:49:38,050 >> Polo tanto, agora si é para yale.edu, aínda está indo para o traballo. 1069 00:49:38,050 --> 00:49:40,100 Pero non está a usar Yale de Servidores DNS máis. 1070 00:49:40,100 --> 00:49:44,430 E se eu for para facebook.com, todos os ollar ups 1071 00:49:44,430 --> 00:49:45,960 van pasar por Google. 1072 00:49:45,960 --> 00:49:49,120 >> Así, por unha banda, eu teño intelixente omiso o sistema local 1073 00:49:49,120 --> 00:49:51,810 administradores só por comprender como funciona a rede. 1074 00:49:51,810 --> 00:49:53,360 Pero eu estou pagando un prezo. 1075 00:49:53,360 --> 00:49:54,740 Nada é gratuíto. 1076 00:49:54,740 --> 00:49:56,096 O que eu simplemente desistir? 1077 00:49:56,096 --> 00:50:00,180 1078 00:50:00,180 --> 00:50:02,250 O que eu simplemente desistir? 1079 00:50:02,250 --> 00:50:06,090 Todos vostedes persoas intelixentes que teñen benvida a empregar 8.8.8.8, porque é legal 1080 00:50:06,090 --> 00:50:10,440 ou resolver os problemas, o que ten feito todo este tempo? 1081 00:50:10,440 --> 00:50:11,910 >> Audiencia: Viaxes máis lonxe? 1082 00:50:11,910 --> 00:50:15,201 >> DAVID J. Malan: Quizais viaxar máis lonxe, porque Google probablemente non tan 1083 00:50:15,201 --> 00:50:16,770 preto como o servidor ao final da rúa. 1084 00:50:16,770 --> 00:50:18,420 Pero máis worrisomely. 1085 00:50:18,420 --> 00:50:18,920 Si? 1086 00:50:18,920 --> 00:50:20,940 >> Audiencia: Entón agora Google sabe onde está indo. 1087 00:50:20,940 --> 00:50:23,856 >> DAVID J. Malan: Google sabe literalmente cada sitio que está a visitar, 1088 00:50:23,856 --> 00:50:26,080 porque está literalmente pedíndolles, hey Google, 1089 00:50:26,080 --> 00:50:28,360 pode traducir yale.edu para min? 1090 00:50:28,360 --> 00:50:32,430 Ou hey Google, pode traducir estoutro enderezo do sitio web para o meu 1091 00:50:32,430 --> 00:50:33,334 nun enderezo IP. 1092 00:50:33,334 --> 00:50:35,750 E así they're-- Non teño ningunha idea do que está falando. 1093 00:50:35,750 --> 00:50:38,080 E así eles saben todo sobre ti. 1094 00:50:38,080 --> 00:50:42,180 Entón, entende que se trata dun servizo gratuíto cun propósito da súa perspectiva 1095 00:50:42,180 --> 00:50:42,680 ben. 1096 00:50:42,680 --> 00:50:44,420 Pero certamente pode tiralo dun ligamento. 1097 00:50:44,420 --> 00:50:46,380 >> Agora é só para abordar outro problema que moitas veces xorde 1098 00:50:46,380 --> 00:50:48,640 entre os estudantes, especialmente en viaxes ao estranxeiro 1099 00:50:48,640 --> 00:50:50,765 en certos países como China, onde hai de feito 1100 00:50:50,765 --> 00:50:54,559 é un Gran Firewall de China en que o goberno de alí bastante bloques 1101 00:50:54,559 --> 00:50:56,100 un pouco de tráfico en diferentes niveis. 1102 00:50:56,100 --> 00:50:58,141 Non ten que bloquear o tráfico no nivel 1103 00:50:58,141 --> 00:51:01,240 estamos a falar aquí, DNS ou doutra forma, pode bloquea-lo a outros niveis. 1104 00:51:01,240 --> 00:51:04,030 >> E, de feito, só para ser claro, un firewall 1105 00:51:04,030 --> 00:51:08,400 pode operar aínda máis simple que tendo os administradores de sistema cambiar 1106 00:51:08,400 --> 00:51:09,500 Configuración DNS. 1107 00:51:09,500 --> 00:51:12,920 Un cortalumes, un dispositivo entre nós eo resto do mundo, 1108 00:51:12,920 --> 00:51:16,850 só podería bloquear calquera saída solicitudes para a dirección IP 1109 00:51:16,850 --> 00:51:21,240 para Facebook na porta 80, ou o enderezo IP para harvard.edu, 1110 00:51:21,240 --> 00:51:22,580 ou o enderezo IP de calquera cousa. 1111 00:51:22,580 --> 00:51:26,280 Así, un firewall pode ollar para o seu sobres 'enderezos IP e mesmo porto 1112 00:51:26,280 --> 00:51:29,384 números e, se Yale quería, podería simplemente deixar todos 1113 00:51:29,384 --> 00:51:32,550 do mesmo utilizando FTP máis, o que faría probablemente ser unha cousa boa, porque 1114 00:51:32,550 --> 00:51:34,320 é de feito un protocolo inseguro. 1115 00:51:34,320 --> 00:51:37,620 Yale podería incluso impedir-nos de visitar a totalidade da tea 1116 00:51:37,620 --> 00:51:42,632 só a través do bloqueo de todas as portas tráfico no número 80, así. 1117 00:51:42,632 --> 00:51:43,840 Para que poida ser doutro xeito. 1118 00:51:43,840 --> 00:51:45,740 E hai formas aínda máis extravagantes tamén. 1119 00:51:45,740 --> 00:51:47,770 >> Pero cando está viaxando no exterior, por exemplo, 1120 00:51:47,770 --> 00:51:50,740 ou se está en un internet café, ou se está en calquera lugar onde hai 1121 00:51:50,740 --> 00:51:53,179 bloqueos ou ameazas, o que pode facer? 1122 00:51:53,179 --> 00:51:56,220 Ben, se baixar a rúa para Starbucks ou viaxar nun aeroporto, 1123 00:51:56,220 --> 00:51:58,780 xeralmente pode só hop sobre o Wi-Fi, escollendo 1124 00:51:58,780 --> 00:52:04,631 como, JFK WiFi de LaGuardia WiFi, ou Logan Airport WiFi, ou que non. 1125 00:52:04,631 --> 00:52:05,880 E non está cifrado, non? 1126 00:52:05,880 --> 00:52:06,949 Non hai ningunha icona de cadeado. 1127 00:52:06,949 --> 00:52:09,490 E probablemente non solicitado un nome de usuario e contrasinal. 1128 00:52:09,490 --> 00:52:11,240 Está só solicitado con algunha maneira estúpida 1129 00:52:11,240 --> 00:52:15,260 para dicir como, de acordo en usar isto só por 30 minutos, ou algo parecido. 1130 00:52:15,260 --> 00:52:18,761 >> Pero non hai cifrado entre ti e Starbucks acceso WiFi 1131 00:52:18,761 --> 00:52:20,760 punto, as cousas con as antenas na parede. 1132 00:52:20,760 --> 00:52:24,840 Non hai cifrado entre vostede e os sinais de WiFi do aeroporto. 1133 00:52:24,840 --> 00:52:29,060 >> E entón, tecnicamente, esa persoa asustado sentando-se algúns asentos abaixo de ti 1134 00:52:29,060 --> 00:52:31,970 no Starbucks ou no aeroporto podería ser, co software correcto, 1135 00:52:31,970 --> 00:52:35,164 observando todo o seu wireless tráfico no seu portátil. 1136 00:52:35,164 --> 00:52:37,080 Non é que difícil poñer un portátil en que é 1137 00:52:37,080 --> 00:52:39,880 chamado modo promiscuo, que como o seu nome indica, 1138 00:52:39,880 --> 00:52:41,760 Significa que é o tipo de solto coas regras. 1139 00:52:41,760 --> 00:52:44,740 E só escoita non só para o tráfico significaba para el, 1140 00:52:44,740 --> 00:52:47,700 pero tamén para todo o mundo é tráfico dentro do seu alcance. 1141 00:52:47,700 --> 00:52:50,550 >> E por esa lóxica, pode ver todos os paquetes de información 1142 00:52:50,550 --> 00:52:51,360 está a recibir. 1143 00:52:51,360 --> 00:52:53,510 E se eses paquetes non son criptografía, vostede 1144 00:52:53,510 --> 00:52:56,680 está poñendo en risco de seus correos electrónicos, ou as súas mensaxes, 1145 00:52:56,680 --> 00:52:58,620 ou calquera outra cousa queda exposto. 1146 00:52:58,620 --> 00:53:01,220 >> Así, mesmo se non está no exterior pero está só na Starbucks, 1147 00:53:01,220 --> 00:53:03,800 ou está nalgunha persoa aleatoria de WiFi que non e criptografía, 1148 00:53:03,800 --> 00:53:05,410 unha VPN é unha cousa boa. 1149 00:53:05,410 --> 00:53:07,410 Unha VPN é unha rede privada virtual. 1150 00:53:07,410 --> 00:53:09,480 E é unha tecnoloxía que permite que teña 1151 00:53:09,480 --> 00:53:14,560 un, un connection-- revoltos cifrado afeccionado de César ou Vigenere-- 1152 00:53:14,560 --> 00:53:17,420 entre o seu portátil, ou o teléfono ou o seu escritorio, 1153 00:53:17,420 --> 00:53:22,460 e un servidor noutras posicións, como un servidor no campus de Yale. 1154 00:53:22,460 --> 00:53:25,840 >> E se está viaxando abroad-- e, de feito, vai atopar este en hoteis 1155 00:53:25,840 --> 00:53:26,560 o tempo. 1156 00:53:26,560 --> 00:53:28,580 E, sobre todo, como aspirante científicos da computación 1157 00:53:28,580 --> 00:53:32,090 onde podedes, como os geeks, quere usar outros 80 portos, 1158 00:53:32,090 --> 00:53:35,770 e outras que as portas e 443-- de feito para o problema de definir seis, 1159 00:53:35,770 --> 00:53:39,280 imos xogar con múltiples Portos TCP só por unha morea choice-- 1160 00:53:39,280 --> 00:53:42,940 de hoteis, e tendas e redes só bloquear este tipo de cousas 1161 00:53:42,940 --> 00:53:45,970 porque tanto inxenuamente, ou ignorantemente, basta pensar 1162 00:53:45,970 --> 00:53:48,010 que ninguén precisa deses outros portos. 1163 00:53:48,010 --> 00:53:51,150 >> E iso a usar unha VPN pode vostede evitar estes tipos de restricións, 1164 00:53:51,150 --> 00:53:54,050 porque o que unha VPN fai é el permite que na Starbucks, 1165 00:53:54,050 --> 00:53:58,630 ou do aeroporto, ou calquera parte do mundo para conectarse ao encryptedly yale.edu, 1166 00:53:58,630 --> 00:54:02,950 a un servidor aquí no campus, e, a continuación, túnel, por así dicir, 1167 00:54:02,950 --> 00:54:06,570 todo o seu tráfico de onde queira es través de Yale, en que punto 1168 00:54:06,570 --> 00:54:08,720 a continuación, vai para o seu destino final. 1169 00:54:08,720 --> 00:54:11,150 >> Pero cifrado-lo, evitar calquera destes tipos 1170 00:54:11,150 --> 00:54:15,380 de filtros ou a imposición que impuxo algunha rede local. 1171 00:54:15,380 --> 00:54:17,980 E máis, ten un defensa moito máis robusto 1172 00:54:17,980 --> 00:54:19,730 contra as persoas asustado en torno de ti que pode 1173 00:54:19,730 --> 00:54:21,300 estar intentando escoitar no seu tráfico. 1174 00:54:21,300 --> 00:54:24,591 Podería aínda haber persoas asustado aquí de volta a casa en Yale vendo o seu tráfico 1175 00:54:24,591 --> 00:54:28,440 como sae da VPN, pero polo menos vostede empurrou a ameaza máis lonxe. 1176 00:54:28,440 --> 00:54:30,490 E é tamén aquí, un trade-off. 1177 00:54:30,490 --> 00:54:33,645 >> Agora, por suposto, se está en China ou incluso no café, 1178 00:54:33,645 --> 00:54:35,770 e está túnel todo seu tráfico a través de Yale, 1179 00:54:35,770 --> 00:54:37,590 que o prezo que estamos pagando quizais? 1180 00:54:37,590 --> 00:54:38,272 >> Audiencia: Speed. 1181 00:54:38,272 --> 00:54:39,480 DAVID J. Malan: velocidade, non? 1182 00:54:39,480 --> 00:54:41,430 Ten que ser un pouco de matemáticas ou algúns fanciness implicado 1183 00:54:41,430 --> 00:54:42,574 na criptografía real. 1184 00:54:42,574 --> 00:54:44,990 Non podería haber miles de millas de distancia ou miles 1185 00:54:44,990 --> 00:54:47,250 de millas de cables entre vostede e Yale. 1186 00:54:47,250 --> 00:54:49,800 E é moi malo se está en China, por exemplo, 1187 00:54:49,800 --> 00:54:51,650 e quere visitar un sitio en China. 1188 00:54:51,650 --> 00:54:54,230 E así os seus datos están indo Estados Unidos, e, a continuación, volta a China 1189 00:54:54,230 --> 00:54:56,620 só porque está cifrado Lo través deste túnel. 1190 00:54:56,620 --> 00:54:59,960 >> Pero resolve técnico e traballar problemas parecidos. 1191 00:54:59,960 --> 00:55:02,050 Pero todo se reduce a esas ideas moi sinxelo. 1192 00:55:02,050 --> 00:55:06,530 E Harvard, para os curiosos, ten un aquí, así como, en vpn.harvard.edu, 1193 00:55:06,530 --> 00:55:09,150 que actúa só como Yale. 1194 00:55:09,150 --> 00:55:12,580 >> Así, con todo o que dixo, por que É toda esta rede é útil? 1195 00:55:12,580 --> 00:55:14,080 E o que podemos comezar a facer con el? 1196 00:55:14,080 --> 00:55:15,630 Ben, imos facelo agora máis real. 1197 00:55:15,630 --> 00:55:17,610 Esta é a sigla coa que a maioría de nós 1198 00:55:17,610 --> 00:55:22,140 son probablemente super-familiar-- HTTP-- que representa a transferencia de hiper texto 1199 00:55:22,140 --> 00:55:22,950 Protocolo. 1200 00:55:22,950 --> 00:55:26,460 E iso só quere dicir que esta é a lingua, o protocolo 1201 00:55:26,460 --> 00:55:29,140 que os navegadores web e servidor web falar. 1202 00:55:29,140 --> 00:55:31,437 >> A P en HTTP é de feito un protocolo. 1203 00:55:31,437 --> 00:55:33,270 E un protocolo é só un conxunto de convencións. 1204 00:55:33,270 --> 00:55:36,690 Vimos IP-- protocol-- internet Control de transmisión TCP-- 1205 00:55:36,690 --> 00:55:38,290 protocol-- e HTTP. 1206 00:55:38,290 --> 00:55:40,570 Pero o que é ese estúpido cousa dun protocolo? 1207 00:55:40,570 --> 00:55:41,930 É só un conxunto de convencións. 1208 00:55:41,930 --> 00:55:43,760 >> Entón, se eu especie de vir abaixo aquí, e quero cumprimento-lo. 1209 00:55:43,760 --> 00:55:44,930 Quere dicir ola, meu nome é David. 1210 00:55:44,930 --> 00:55:45,600 >> Audiencia: Luís. 1211 00:55:45,600 --> 00:55:46,475 >> DAVID J. Malan: Luís. 1212 00:55:46,475 --> 00:55:49,360 Temos este humano estúpido convenio de usar as mans aquí. 1213 00:55:49,360 --> 00:55:50,570 Pero iso é un protocolo, non? 1214 00:55:50,570 --> 00:55:51,470 Eu estendín a miña man. 1215 00:55:51,470 --> 00:55:52,530 Luis estendeu a man. 1216 00:55:52,530 --> 00:55:53,070 Nós fixemos iso. 1217 00:55:53,070 --> 00:55:54,790 E, entón, completo, feito. 1218 00:55:54,790 --> 00:55:58,100 >> E iso é o mesmo espírito dun protocolo de ordenador 1219 00:55:58,100 --> 00:56:02,770 cando, como no HTTP, o que pasa é o seguinte. 1220 00:56:02,770 --> 00:56:05,520 Se é o ordenador no deixou aquí, e hai algúns web 1221 00:56:05,520 --> 00:56:07,230 servidor alí na dereita. 1222 00:56:07,230 --> 00:56:11,130 E o ordenador á esquerda quere solicitar información a partir dese servidor. 1223 00:56:11,130 --> 00:56:13,140 É unha especie de unha operación bi-direccional. 1224 00:56:13,140 --> 00:56:15,800 O navegador á esquerda pide algunha páxina web. 1225 00:56:15,800 --> 00:56:18,404 O servidor á dereita responde con algunha páxina web. 1226 00:56:18,404 --> 00:56:20,570 E imos ver o que forma aqueles tomar en só un momento. 1227 00:56:20,570 --> 00:56:24,311 >> E parece que eses computers-- que o navegador eo servidor ou cliente 1228 00:56:24,311 --> 00:56:25,310 e do servidor, por así dicir. 1229 00:56:25,310 --> 00:56:28,120 Moi parecido un restaurante onde a cliente está pedindo algo, 1230 00:56:28,120 --> 00:56:31,670 eo servidor está a traer el ou ela estar algo-- 1231 00:56:31,670 --> 00:56:33,170 é o tipo de contrasinal. 1232 00:56:33,170 --> 00:56:38,560 Literalmente dentro do sobre que meu navegador envía aquí á web 1233 00:56:38,560 --> 00:56:40,880 servidor é a palabra get. 1234 00:56:40,880 --> 00:56:42,700 Como eu queira obter as noticias de hoxe. 1235 00:56:42,700 --> 00:56:45,370 Quero incorporarse o meu Fonte de noticias de Facebook, ou eu 1236 00:56:45,370 --> 00:56:47,330 quere obter algunha páxina do servidor. 1237 00:56:47,330 --> 00:56:50,760 >> En concreto, iso é o que é pasando dentro dese sobre. 1238 00:56:50,760 --> 00:56:53,810 Entón, eu, con Cole, esencialmente Cole enviada unha resposta. 1239 00:56:53,810 --> 00:56:56,750 Se imaxinar que, de feito, Cole quería unha imaxe de Rick Astley, 1240 00:56:56,750 --> 00:57:00,700 podería me enviar unha solicitude similares en espírito á presente. 1241 00:57:00,700 --> 00:57:04,670 Dentro do seu sobre a min, onde Agora estou facendo o papel de Google, 1242 00:57:04,670 --> 00:57:08,270 sería unha proposta que, literalmente, di, obter, a continuación, un slash-- fronte 1243 00:57:08,270 --> 00:57:10,636 e probablemente xa viu barras en URLs antes. 1244 00:57:10,636 --> 00:57:13,260 Significa só que me dea o estándar páxina, o patrón Rick Astley 1245 00:57:13,260 --> 00:57:14,560 imaxe, neste caso. 1246 00:57:14,560 --> 00:57:20,100 >> E, a propósito, Cole fala a lingua HTTP versión 1.1, é o protocolo 1.1. 1247 00:57:20,100 --> 00:57:22,090 E resulta que hai unha versión máis antiga 1,0. 1248 00:57:22,090 --> 00:57:23,910 Pero os ordenadores tenden a usar 1.1. 1249 00:57:23,910 --> 00:57:27,840 >> A segunda liña é unha cousa útil que vai voltar a quizais antes de tempo. 1250 00:57:27,840 --> 00:57:31,900 Pero é só unha especificación para min, o destinatario, que a cousa que quero 1251 00:57:31,900 --> 00:57:33,586 é www.google.com. 1252 00:57:33,586 --> 00:57:36,340 Porque é moi posible estes días para decenas, 1253 00:57:36,340 --> 00:57:39,510 centos de sitios con diferentes nomes de dominio para todos 1254 00:57:39,510 --> 00:57:40,735 vivir no mesmo servidor. 1255 00:57:40,735 --> 00:57:42,860 Non está indo a ser feito tanto no caso de Google. 1256 00:57:42,860 --> 00:57:45,261 Pero nunha pequena empresa de caso, podería ser absolutamente. 1257 00:57:45,261 --> 00:57:47,260 Entón Cole é só unha especie de poñendo no sobre, 1258 00:57:47,260 --> 00:57:50,840 por certo, cando este chega seu enderezo IP na porta 80, 1259 00:57:50,840 --> 00:57:54,450 só a certeza de que vostede sabe Eu www.google.com, non quero 1260 00:57:54,450 --> 00:57:56,740 algún outro sitio chou no mesmo servidor. 1261 00:57:56,740 --> 00:58:00,360 >> O que eu, a continuación, responder a Cole con, ao final do día, é unha imaxe. 1262 00:58:00,360 --> 00:58:02,920 Pero por riba de que a imaxe dentro do sobre 1263 00:58:02,920 --> 00:58:05,600 é, en realidade, un texto onde digo, Aceptar. 1264 00:58:05,600 --> 00:58:07,970 Falo HTTP versión 1.1 tamén. 1265 00:58:07,970 --> 00:58:09,200 200. 1266 00:58:09,200 --> 00:58:11,730 Que é un código de estado que a maioría de nós probablemente xa 1267 00:58:11,730 --> 00:58:14,185 nunca vin, porque significa Aceptar. 1268 00:58:14,185 --> 00:58:16,810 E iso é bo, porque significa que estou a responder con éxito 1269 00:58:16,810 --> 00:58:18,040 a petición de Cole. 1270 00:58:18,040 --> 00:58:21,930 >> O que as cifras teñen probablemente visto na web que non son OK? 1271 00:58:21,930 --> 00:58:22,780 >> Audiencia: 404. 1272 00:58:22,780 --> 00:58:24,830 >> DAVID J. Malan: 404-- arquivo non atopado. 1273 00:58:24,830 --> 00:58:27,520 Entón, en realidade, a calquera hora que xa viu un deses arquivos non irritante 1274 00:58:27,520 --> 00:58:31,010 erros atopados, porque a páxina web está morta, 1275 00:58:31,010 --> 00:58:34,190 ou porque ingresaran incorrectamente unha URL, que significa só 1276 00:58:34,190 --> 00:58:37,600 que o pequeno sobre que o seu ordenador recibido do servidor 1277 00:58:37,600 --> 00:58:42,670 contiña unha mensaxe HTTP 1.1, 404-- non atopado. 1278 00:58:42,670 --> 00:58:44,930 O ficheiro ou este pedido fixo non se atopou. 1279 00:58:44,930 --> 00:58:48,660 >> Ademais, no interior do sobre normalmente é esta liña, tipo de contido. 1280 00:58:48,660 --> 00:58:51,080 Ás veces é HTML, algo que veremos en breve. 1281 00:58:51,080 --> 00:58:52,225 Ás veces é un JPEG. 1282 00:58:52,225 --> 00:58:53,100 Ás veces é un GIF. 1283 00:58:53,100 --> 00:58:56,060 Ás veces é un arquivo de película, un arquivo de audio, unha serie de cousas. 1284 00:58:56,060 --> 00:59:00,059 Entón, dentro do sobre só un pequena Consello sobre o que eu estou a recibir. 1285 00:59:00,059 --> 00:59:03,100 Hai outros códigos de estado tamén, algúns de que imos explorar en I axustou seis, 1286 00:59:03,100 --> 00:59:05,890 e vai tropezar en I axustou sete e / ou oito. 1287 00:59:05,890 --> 00:59:08,580 Pero algúns aquí, como 404 que xa vimos. 1288 00:59:08,580 --> 00:59:11,700 Prohibida, 403, significa como os permisos nos foros, 1289 00:59:11,700 --> 00:59:14,740 como non ten tipo de configurados correctamente. 1290 00:59:14,740 --> 00:59:17,830 301 e 302, raramente vemos visualmente. 1291 00:59:17,830 --> 00:59:19,150 Pero significan redireccionar. 1292 00:59:19,150 --> 00:59:21,650 Cada vez que teña ido a un URL e foi Magic 1293 00:59:21,650 --> 00:59:24,410 enviada noutro lugar, que é porque o seu navegador enviou de volta 1294 00:59:24,410 --> 00:59:27,210 un sobre que contén o número 301 ou 302, 1295 00:59:27,210 --> 00:59:30,790 eo URL que quere seu navegador para ir para o seu sitio. 1296 00:59:30,790 --> 00:59:32,010 >> 500 é horrible. 1297 00:59:32,010 --> 00:59:34,842 Vai velo en pouco tempo, probablemente en I axustou seis ou sete P definido. 1298 00:59:34,842 --> 00:59:37,050 E iso xeralmente significa hai algún erro no seu código, 1299 00:59:37,050 --> 00:59:40,000 porque en realidade nós imos estar escribindo código que responde a solicitudes web. 1300 00:59:40,000 --> 00:59:42,110 E só ten algúns erro de lóxica ou de sintaxe, 1301 00:59:42,110 --> 00:59:43,820 eo servidor non pode tratar con isto. 1302 00:59:43,820 --> 00:59:47,460 >> Entón imos ver como podemos aproveitar e agora entender esas solicitudes do seguinte xeito. 1303 00:59:47,460 --> 00:59:50,716 Se eu for para, digamos, google.com. 1304 00:59:50,716 --> 00:59:55,240 Déixeme ir www.google.com. 1305 00:59:55,240 --> 01:00:01,220 E polo amor de demostración, imos ver, eu teño ir definicións aquí. 1306 01:00:01,220 --> 01:00:03,180 Eu estou indo a ir á procura Configuración. 1307 01:00:03,180 --> 01:00:08,236 E Google cada vez máis irritante recursos, pero características útiles. 1308 01:00:08,236 --> 01:00:11,110 Entón, Google ten esa cousa como instantánea resultados onde comeza a escribir, 1309 01:00:11,110 --> 01:00:12,889 e automaticamente as cousas comezan a aparecer. 1310 01:00:12,889 --> 01:00:14,680 E iso é todo ben e tecnicamente útil, 1311 01:00:14,680 --> 01:00:16,420 e nós imos entender en pouco tempo como funciona isto. 1312 01:00:16,420 --> 01:00:18,429 Pero, por agora, eu estou xirando off resultados inmediatos, 1313 01:00:18,429 --> 01:00:20,720 porque quero o meu navegador para tipo de traballo tan vella escola 1314 01:00:20,720 --> 01:00:22,940 que eu poida ver o que está pasando. 1315 01:00:22,940 --> 01:00:23,840 >> Entón agora eu estou de volta aquí. 1316 01:00:23,840 --> 01:00:25,090 E quero buscar gatos. 1317 01:00:25,090 --> 01:00:30,351 E noten que estou vendo algunhas suxestións, algunhas suxestións moi benignos 1318 01:00:30,351 --> 01:00:30,850 por sorte. 1319 01:00:30,850 --> 01:00:34,730 E agora, se eu premer Intro, imos ver o que acontece. 1320 01:00:34,730 --> 01:00:35,850 >> Polo tanto, hai algúns gatos. 1321 01:00:35,850 --> 01:00:37,540 E o top hit é na Wikipedia. 1322 01:00:37,540 --> 01:00:39,820 Pero hoxe nos preocupa a tecnoloxía aquí enriba. 1323 01:00:39,820 --> 01:00:42,479 Así, a URL para o que eu teño foron enviados é este aquí. 1324 01:00:42,479 --> 01:00:44,520 E hai algunhas cousas que eu realmente non entendo. 1325 01:00:44,520 --> 01:00:47,430 >> Entón, eu estou indo a ir adiante, porque Eu medio que sei como funciona Google, 1326 01:00:47,430 --> 01:00:50,700 e eu estou indo a destilar esta URL na súa forma máis simple. 1327 01:00:50,700 --> 01:00:52,510 E agora eu vou bater Intro novo. 1328 01:00:52,510 --> 01:00:53,360 E aínda funciona. 1329 01:00:53,360 --> 01:00:55,800 Eu teño unha páxina de resultados de todo sobre gatos. 1330 01:00:55,800 --> 01:00:58,460 >> Pero teña en conta a sinxeleza da miña URL. 1331 01:00:58,460 --> 01:01:00,820 Acontece que esta é a forma na que gran parte das obras da web. 1332 01:01:00,820 --> 01:01:03,500 A web é só un todo banda de ordenadores 1333 01:01:03,500 --> 01:01:05,320 executando un programa que tomar entrada. 1334 01:01:05,320 --> 01:01:07,480 Non é obter a entrada estilo cadea. 1335 01:01:07,480 --> 01:01:09,670 Non é a liña de comandos argumentos como estamos afeitos. 1336 01:01:09,670 --> 01:01:13,449 Eles levan entrada, estes servidores web, por medio das URLs con bastante frecuencia. 1337 01:01:13,449 --> 01:01:15,240 E calquera hora que ten buscou algo, 1338 01:01:15,240 --> 01:01:17,448 calquera momento que entrou Facebook, a calquera hora que ten 1339 01:01:17,448 --> 01:01:20,090 fixo nada interactiva con unha páxina web, o que está facendo 1340 01:01:20,090 --> 01:01:24,340 é efectivamente enviando un formulario, para para speak-- caixas de texto, caixas de selección, 1341 01:01:24,340 --> 01:01:27,880 pequenos círculos, e outros enfeites que envían información sobre vostede para o servidor. 1342 01:01:27,880 --> 01:01:31,960 >> E parece que a web servidor sabe de ollar para ese URL 1343 01:01:31,960 --> 01:01:36,040 e analiza-lo, como ollar para el de carácter por carácter procura de calquera cousa 1344 01:01:36,040 --> 01:01:38,000 interesante tras un signo de interrogación. 1345 01:01:38,000 --> 01:01:40,910 Porque despois de un punto de interrogación, ao parecer, vai vir 1346 01:01:40,910 --> 01:01:42,730 unha morea de pares de valores clave. 1347 01:01:42,730 --> 01:01:44,570 Quero dicir clave = valor. 1348 01:01:44,570 --> 01:01:48,130 E, a continuación, se hai multiple-- quizais un e comercial, algunha outra clave = valor, 1349 01:01:48,130 --> 01:01:50,200 E comercial, clave = valor. 1350 01:01:50,200 --> 01:01:54,560 >> Entón, nós tipo de visado esa idea antes de que algo ten un valor. 1351 01:01:54,560 --> 01:01:55,880 É só un novo formato aquí. 1352 01:01:55,880 --> 01:01:59,040 E eu só sei, por convención, Google usa q para consulta. 1353 01:01:59,040 --> 01:02:02,670 E entón se eu queira buscar cans, I pode buscar manualmente cans así. 1354 01:02:02,670 --> 01:02:06,360 E entón eu estou quedando aparentemente algúns resultados de busca inclúen cans. 1355 01:02:06,360 --> 01:02:07,727 >> De xeito que parece ser interesante. 1356 01:02:07,727 --> 01:02:10,060 E, de feito, o que está pasando debaixo do capó é este. 1357 01:02:10,060 --> 01:02:11,460 Deixe-me facer iso. 1358 01:02:11,460 --> 01:02:13,620 Esta é um-- veremos. 1359 01:02:13,620 --> 01:02:16,320 Déixeme volver máis aquí só por un momento. 1360 01:02:16,320 --> 01:02:19,810 >> A ver que non hai outro formas de enviar información. 1361 01:02:19,810 --> 01:02:25,340 Entón, se eu estou entrando en Facebook, ou Gmail, ou calquera outro sitio popular, 1362 01:02:25,340 --> 01:02:30,720 parece tipo de mal o que eu escriba no cadro de busca acaba na miña URL, 1363 01:02:30,720 --> 01:02:32,850 na barra de enderezos do navegador. 1364 01:02:32,850 --> 01:02:33,690 Por que? 1365 01:02:33,690 --> 01:02:35,395 Por que levemente preocupante? 1366 01:02:35,395 --> 01:02:39,567 1367 01:02:39,567 --> 01:02:40,067 Si? 1368 01:02:40,067 --> 01:02:41,380 Audiencia: Escriba un contrasinal. 1369 01:02:41,380 --> 01:02:41,720 DAVID J. Malan: Yeah. 1370 01:02:41,720 --> 01:02:44,000 Entón, o que, se o que eu teño ingresaran é o meu contrasinal? 1371 01:02:44,000 --> 01:02:47,881 Eu medio que non queres que tan obviamente visible na barra de enderezos do navegador. 1372 01:02:47,881 --> 01:02:50,630 Un, porque o meu compañeiro de cuarto irritante tende a ollar sobre o meu ombreiro, 1373 01:02:50,630 --> 01:02:53,980 e el ou ela agora pode ver, aínda que foi balas cando estou escribindo-o, 1374 01:02:53,980 --> 01:02:54,810 pequenos círculos. 1375 01:02:54,810 --> 01:02:56,010 Agora é na miña barra de enderezo. 1376 01:02:56,010 --> 01:02:59,270 >> Ademais, o que é verdade sobre as cousas tende a escribir na barra de enderezos. 1377 01:02:59,270 --> 01:03:00,230 >> Audiencia: [inaudível] 1378 01:03:00,230 --> 01:03:01,505 >> DAVID J. Malan: ¿Que é iso? 1379 01:03:01,505 --> 01:03:02,630 Audiencia: É envíase para fóra. 1380 01:03:02,630 --> 01:03:03,510 DAVID J. Malan: El é enviada para fóra. 1381 01:03:03,510 --> 01:03:05,102 E tamén, é lembrado. 1382 01:03:05,102 --> 01:03:07,060 Xa que a próxima vez escribe cousas alí enriba, 1383 01:03:07,060 --> 01:03:10,440 moitas veces, e autocompletes recorda o que escribiu antes. 1384 01:03:10,440 --> 01:03:13,850 E non hai verdadeira historia deste que o seu irmán ou o seu compañeiro de cuarto, 1385 01:03:13,850 --> 01:03:16,830 ou quen queira que pode percorrer para practicamente ver cada sitio 1386 01:03:16,830 --> 01:03:19,760 visitou porque é logueado que barra de enderezos. 1387 01:03:19,760 --> 01:03:22,790 >> Ademais, supoñamos que queira subir unha foto en Facebook. 1388 01:03:22,790 --> 01:03:26,520 Como no mundo está vai poñer unha foto nun URL? 1389 01:03:26,520 --> 01:03:30,217 >> Ben, resulta que pode facelo nalgún xeito, pero certamente non evidente. 1390 01:03:30,217 --> 01:03:33,050 E así hai esa outra forma de envío de información nun sobre, 1391 01:03:33,050 --> 01:03:35,680 non a través dun GET, pero vía algo chamado POST. 1392 01:03:35,680 --> 01:03:38,060 E, en teoría, parece practicamente o mesmo. 1393 01:03:38,060 --> 01:03:41,270 En vez de a palabra GET, dicimos POST, e, a continuación, o mesmo tipo de formato. 1394 01:03:41,270 --> 01:03:43,310 >> Por exemplo, este é o un screenshot do que 1395 01:03:43,310 --> 01:03:46,920 puido ollar como se eu tentar logging en Facebook, que me envía a un arquivo 1396 01:03:46,920 --> 01:03:51,230 chamado login.php, que é, en realidade, aínda hoxe denominado como tal. 1397 01:03:51,230 --> 01:03:53,910 É o mesmo Mark filename deu a el moitos anos. 1398 01:03:53,910 --> 01:03:58,520 É o programa que escribiu en PHP vía que os usuarios poden acceder ao sitio. 1399 01:03:58,520 --> 01:04:00,370 >> Pero ten que enviar algunha entrada adicional. 1400 01:04:00,370 --> 01:04:05,170 E en vez de el ir detrás do o nome do ficheiro como fixo antes con cats-- 1401 01:04:05,170 --> 01:04:09,720 q = cats-- pode ir máis baixo na solicitude, no interior máis profundo do sobre se 1402 01:04:09,720 --> 01:04:12,440 vontade, onde ninguén poida velo, e onde non remata 1403 01:04:12,440 --> 01:04:15,670 na barra do navegador do usuario e, polo tanto, non me lembro de persoas para bisbilhotar 1404 01:04:15,670 --> 01:04:16,290 arredor. 1405 01:04:16,290 --> 01:04:21,260 >> E aquí o meu enderezo de correo-e e meu contrasinal falso realmente ir. 1406 01:04:21,260 --> 01:04:27,400 E se o Facebook está a usar non HTTP, HTTPS, pero, 1407 01:04:27,400 --> 01:04:30,710 todo isto será cifrada, revoltos, á César ou Vigenère, 1408 01:04:30,710 --> 01:04:34,960 pero máis fancily para que ninguén pode realmente ver esta petición. 1409 01:04:34,960 --> 01:04:38,120 >> E así, de feito, calquera tempo que ten URL que comeza con HTTPS, 1410 01:04:38,120 --> 01:04:39,560 significa só que está cifrado. 1411 01:04:39,560 --> 01:04:42,710 Pero ao final do día, o que é de feito, dentro destes sobres? 1412 01:04:42,710 --> 01:04:44,070 Este foi super baixo nivel. 1413 01:04:44,070 --> 01:04:46,240 E, por sorte, non estamos terá necesariamente 1414 01:04:46,240 --> 01:04:49,310 ir tan baixo nivel de cada vez para comezar a escribir software interesante. 1415 01:04:49,310 --> 01:04:51,060 Podemos comezar a tomar as ideas dunha semana 1416 01:04:51,060 --> 01:04:54,020 a cinco, asumir que non agora é que esta infraestrutura 1417 01:04:54,020 --> 01:04:57,160 permítenos escribir software que opera na web, 1418 01:04:57,160 --> 01:05:00,120 e vai permitir-nos esta semana para comezar 1419 01:05:00,120 --> 01:05:01,840 mirando para algo chamado HTML. 1420 01:05:01,840 --> 01:05:04,750 Este é o material que é aínda máis profunda no interior do sobre, 1421 01:05:04,750 --> 01:05:06,150 pero é o material que estamos comezará a escribir. 1422 01:05:06,150 --> 01:05:08,020 E é o material máis curiosamente, estamos 1423 01:05:08,020 --> 01:05:11,420 indo para escribir programas que comeza a xerar automaticamente 1424 01:05:11,420 --> 01:05:15,410 para que os nosos sitios non son codificado, pero sacar a entrada e saída de producir. 1425 01:05:15,410 --> 01:05:18,810 >> Este é quizais o máis sinxelo web A páxina que podes facer no mundo. 1426 01:05:18,810 --> 01:05:23,000 Podo realmente abrir algo estúpido como TextEdit 1427 01:05:23,000 --> 01:05:26,160 no meu Mac, que só me dá unha fiestra de texto como este. 1428 01:05:26,160 --> 01:05:29,510 Usuarios de PC teñen Notepad.ext, que é moi semellante en espírito. 1429 01:05:29,510 --> 01:05:33,212 >> E podo literalmente escriba fóra isto-- DOCTYPE HTML, 1430 01:05:33,212 --> 01:05:34,420 que parece un pouco enigmática. 1431 01:05:34,420 --> 01:05:35,850 Pero imos volver a iso. 1432 01:05:35,850 --> 01:05:38,730 HTML, con estes estraño soportes angulares e barras, 1433 01:05:38,730 --> 01:05:42,240 dentro do cal agora eu vou dicir aquí vén a cabeza da miña páxina web. 1434 01:05:42,240 --> 01:05:45,220 Dentro diso, eu só sabe, e en breve vai saber, 1435 01:05:45,220 --> 01:05:47,850 que eu poida poñer o título da miña páxina web. 1436 01:05:47,850 --> 01:05:49,720 E, a continuación, por debaixo da cabeceira da páxina web é 1437 01:05:49,720 --> 01:05:51,972 a ir á chamada corpo da páxina web. 1438 01:05:51,972 --> 01:05:54,180 E eu só estou recuando só como en C para tipo de manter 1439 01:05:54,180 --> 01:05:57,620 cousas ben lexible estilisticamente. 1440 01:05:57,620 --> 01:06:04,745 E agora eu estou indo a salvar isto como un arquivo no meu escritorio, chamado hello.html. 1441 01:06:04,745 --> 01:06:06,770 >> E eu vou dicir que si, utilizar HTML. 1442 01:06:06,770 --> 01:06:09,690 Non cambia-lo para .txt, mesmo aínda que todo iso é un ficheiro de texto, 1443 01:06:09,690 --> 01:06:12,130 así como un programa C escrito cun editor de texto. 1444 01:06:12,130 --> 01:06:15,080 Aínda que non no CS50 IDE ao momento, só aquí no meu Mac. 1445 01:06:15,080 --> 01:06:18,490 >> E se eu agora ir ao meu escritorio, podes ver hello.html. 1446 01:06:18,490 --> 01:06:20,720 Se eu premer dúas veces este, vai abrir Chrome. 1447 01:06:20,720 --> 01:06:23,260 E aínda que o ficheiro pasa a vivir no meu escritorio, 1448 01:06:23,260 --> 01:06:26,550 que é quizais a máis simple A páxina web que eu podería facer. 1449 01:06:26,550 --> 01:06:30,080 >> Teña en conta que o título do guía camiño ata superior é Ola mundo. 1450 01:06:30,080 --> 01:06:32,470 O corpo da páxina web é de feito Ola mundo. 1451 01:06:32,470 --> 01:06:35,830 E todo o que eu fixen para chegar a este punto é implementar, 1452 01:06:35,830 --> 01:06:38,342 ou é escribir unha nova linguaxe, chamada HTML. 1453 01:06:38,342 --> 01:06:40,300 Non é unha programación linguaxe como C. Hai 1454 01:06:40,300 --> 01:06:42,508 non vai ser condicións, e loops e funcións. 1455 01:06:42,508 --> 01:06:46,560 É unha linguaxe de reserva, en que caso acaba de dicir a recepción 1456 01:06:46,560 --> 01:06:48,410 programa que quere facer. 1457 01:06:48,410 --> 01:06:51,195 Isto significa hey navegador, aquí vén unha páxina HTML. 1458 01:06:51,195 --> 01:06:53,040 Hey navegador, vén aquí o xefe da miña páxina. 1459 01:06:53,040 --> 01:06:55,130 Hey navegador, vén aquí o corpo da miña páxina. 1460 01:06:55,130 --> 01:06:57,100 Hey navegador, é tanto para o corpo. 1461 01:06:57,100 --> 01:06:59,350 Isto é todo para a páxina HTML. 1462 01:06:59,350 --> 01:07:03,560 >> E con estas definicións simples só, veremos pronto que un, 1463 01:07:03,560 --> 01:07:05,122 podemos representar isto como unha árbore. 1464 01:07:05,122 --> 01:07:06,080 Pero máis sobre iso máis tarde. 1465 01:07:06,080 --> 01:07:08,788 Entón, iso todo vai intercambiar a nosas estruturas de datos máis recentes. 1466 01:07:08,788 --> 01:07:12,460 Dous, imos presentar esa broma estúpida. 1467 01:07:12,460 --> 01:07:15,680 Este é un real que tatuaxe este cara tiña no pescozo. 1468 01:07:15,680 --> 01:07:19,660 Probablemente é divertido a primeira semana ou dous, e despois diso, quizais non tanto. 1469 01:07:19,660 --> 01:07:22,960 >> Pero HTML, e mesmo a web páxina fixen só, mente super- 1470 01:07:22,960 --> 01:07:25,670 numbingly disappointing-- só dicindo Ola mundo 1471 01:07:25,670 --> 01:07:27,210 no texto negro sobre un fondo blanco. 1472 01:07:27,210 --> 01:07:28,680 Certamente podemos facer moito mellor. 1473 01:07:28,680 --> 01:07:31,552 E nós imos facelo a través da introdución de outra linguaxe chamada CSS. 1474 01:07:31,552 --> 01:07:34,760 Isto tampouco é unha language-- programación sen loops e condicións, ou para loops, 1475 01:07:34,760 --> 01:07:38,470 pero realmente, só sintaxe polo cal podemos dicir, fan deste texto grande. 1476 01:07:38,470 --> 01:07:39,415 Fai este texto pequeno. 1477 01:07:39,415 --> 01:07:40,040 Dereito aliñar-lo. 1478 01:07:40,040 --> 01:07:40,650 Esquerda aliñar-lo. 1479 01:07:40,650 --> 01:07:41,195 Fai o rosa. 1480 01:07:41,195 --> 01:07:41,820 Facelo vermello. 1481 01:07:41,820 --> 01:07:42,650 Fai-o azul. 1482 01:07:42,650 --> 01:07:44,860 Ou facer calquera número de outros efectos visuais. 1483 01:07:44,860 --> 01:07:48,590 E por iso imos ver como comezar stylizing páxinas web de xeito que xa miran dunha forma 1484 01:07:48,590 --> 01:07:50,480 máis preto do que queremos. 1485 01:07:50,480 --> 01:07:56,930 >> E, por último, debemos feito arruinada quizais moito de televisión e cine para ti. 1486 01:07:56,930 --> 01:07:58,930 Eu penso que ía acabar aquí cos nosos segundos finais 1487 01:07:58,930 --> 01:08:03,700 nun clip final que mostra como hackear Internet funciona. 1488 01:08:03,700 --> 01:08:06,250 Se puidésemos diminuír a intensidade da acende unha última vez. 1489 01:08:06,250 --> 01:08:07,250 >> [REPRODUCIÓN DE VIDEO] 1490 01:08:07,250 --> 01:08:09,520 >> -De ningún xeito. 1491 01:08:09,520 --> 01:08:10,650 Estou hackeadas. 1492 01:08:10,650 --> 01:08:11,770 >> -Okorsky? 1493 01:08:11,770 --> 01:08:14,230 >> -No-- Non, iso é importante. 1494 01:08:14,230 --> 01:08:17,074 Xa queimou o firewall pública NCIS. 1495 01:08:17,074 --> 01:08:19,990 -Ben, Isolar o no e desaloxo los, do outro lado do router. 1496 01:08:19,990 --> 01:08:20,990 -Estou Tentando. 1497 01:08:20,990 --> 01:08:23,990 El está movendo moi rápido. 1498 01:08:23,990 --> 01:08:25,179 >> Ah, iso non é bo. 1499 01:08:25,179 --> 01:08:27,470 Eles están usando a nosa conexión [Inaudível] esta base de datos. 1500 01:08:27,470 --> 01:08:28,458 Corte-la. 1501 01:08:28,458 --> 01:08:28,958 -Eu Non podo. 1502 01:08:28,958 --> 01:08:29,454 É un punto de ataque. 1503 01:08:29,454 --> 01:08:31,438 El ou ela só é indo atrás da miña máquina. 1504 01:08:31,438 --> 01:08:32,430 >> -Non É posible. 1505 01:08:32,430 --> 01:08:33,847 Hai cifrado meu nivel DoD. 1506 01:08:33,847 --> 01:08:35,055 Levaría meses para get-- 1507 01:08:35,055 --> 01:08:35,857 Ei, o que é iso? 1508 01:08:35,857 --> 01:08:36,398 Un xogo de vídeo? 1509 01:08:36,398 --> 01:08:37,886 >> -No Tony, estamos hackeadas. 1510 01:08:37,886 --> 01:08:40,795 >> -Se Fican no ordenador de Abby, toda a rede de NCIS é o seguinte. 1511 01:08:40,795 --> 01:08:42,050 >> -Eu Non pode para-lo. 1512 01:08:42,050 --> 01:08:43,050 Faga algo McGee. 1513 01:08:43,050 --> 01:08:44,550 >> -Eu Nunca vin un código coma 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 -Onde Está o ir? 1517 01:08:49,196 --> 01:08:50,604 Abby? 1518 01:08:50,604 --> 01:08:51,520 -Eu Non fixen nada. 1519 01:08:51,520 --> 01:08:53,020 Eu penso que fixo. 1520 01:08:53,020 --> 01:08:54,520 >> -Non. 1521 01:08:54,520 --> 01:08:57,232 >> -Eu Fixen. 1522 01:08:57,232 --> 01:08:58,307 >> [FIN DE REPRODUCIÓN] 1523 01:08:58,307 --> 01:09:00,390 DAVID J. Malan: O mellor parte é dúas persoas escribindo 1524 01:09:00,390 --> 01:09:02,170 no teclado, ao mesmo tempo. 1525 01:09:02,170 --> 01:09:03,200 >> Entón é iso para CS50. 1526 01:09:03,200 --> 01:09:04,700 Imos ir por aquí para o horario de oficina. 1527 01:09:04,700 --> 01:09:06,344 E veremos que a próxima vez. 1528 01:09:06,344 --> 01:09:07,760 [Música tocando - "TEMA Seinfeld"] 1529 01:09:07,760 --> 01:09:11,139 1530 01:09:11,139 --> 01:09:11,680 Este é CS50. 1531 01:09:11,680 --> 01:09:17,960 1532 01:09:17,960 --> 01:09:20,854 Eu non quero ser un pirata. 1533 01:09:20,854 --> 01:09:21,770 COLUMNA 2: Yarr David. 1534 01:09:21,770 --> 01:09:23,700 É un fermoso gibão estar a levar posto. 1535 01:09:23,700 --> 01:09:26,450 Lote de orzar en que puff. 1536 01:09:26,450 --> 01:09:29,327