[Музыка Воспроизведение] Выступающий 1: Ладно, добро пожаловать вернуться к CS50. Это конец недели восемь и почти Хэллоуина. Офис завтра ночью часы будут самая страшная из них еще и не потому, что Хэллоуина. Но на этой ноте, понимают, что Проблема установить шесть, проверка орфографии Проблема набора, известен быть, по многим студентов, наиболее сложной, конечно, среди множества С проблемой, и действительно, в общем. И я говорю об этом только потому, что это неделе, где много людей получают особо подчеркнул, просто пытается с чтобы получить чертовски проверки орфографии на работу. И единственное, что я хотел бы призвать вас является то, что, как вы увидите сегодня, и в понедельник, мы начинаем, чтобы ударить этого пика этой неделе, где, в настоящее время, все становится немного больше знакомых, немного больше доступным, как переход от командной строки в среде С до веб-среде в PHP. И поэтому я призываю вас, даже если вы действительно в догадках в пытается получить р приступили к работе, если это действительно место, где вы находитесь, или окажетесь в, действительно попробуйте к власти через него. Потому что я думаю, вам будет довольно доволен, и вполне гордиться собой, Если вы действительно конец той части Конечно, часть С, на что высокий, Если напряженный, обратите внимание. Так вот, чтобы не напугать. Это просто означало, чтобы побудить вас ложиться, что дополнительный час для того, чтобы получить рабочую проверку орфографии. И если вы делаете, понимаю, что это не является обязательным, полностью. Но у нас есть так называемая большая доска , которые пошли жить сегодня утром. На это утро, я был на вершине большой платы, которая является измерение того, как объем оперативной памяти и сколько время работы ваша программа требует правописанию. Но я с тех пор были перемещены. Я сейчас несчастливое число 13. И то, что вы увидите здесь, Дэвид Кауфман, и Лорен, и Адам, и Jason, а другие сейчас на вершине большой доске. Если вы посмотрите там в нужное, у всех нас есть действительно хорошие реализациях размер по крайней мере - возвращение количества слов в словаре. И в каждом из этих столбцов, вы будете увидеть, сколько оперативной памяти каждого из наших реализаций используется, сколько время работы он принимает для выполнения нагрузка, по сравнению с чеком, по сравнению с размером и разгрузки, а затем общее время работы. Так просто, чтобы успокоить Элмера, и Патрик, и Линда, а все остальные , кто придет после вас, нет абсолютно Нет стыда в том, к в нижней части большой доски. Во всяком случае, это означает, что вы получили рабочие, и это правильно, но это Не обязательно в качестве эффективной, пространство или времени-мудрый, как это может быть. Итак, совершенно необязательно. Но означало быть морковь родов так , что, когда вы работаете над вашей P установить, ты так гордишься собой, вы получили его работы, которое вы публикуете в большом доска, у вас есть действительно хорошие номера, Вы идете на обед, вы приходите назад, а ваши соседи по комнате была краями вас на большой доске. Ну, это время, в этот момент, чтобы пойти назад к чертежной доске таким образом, чтобы повторно оспорить большую доску. Если вы посмотрите на спецификации, Инструкции для взаимодействия с большая доска в настоящее время размещены. Так пару взлетов головы - один, предварительное предложение для окончательного Проект должен следующий понедельник. Смотрите эту спецификацию на курсы сайт, что это значит. Это действительно просто случайный, но думал, E-mail провоцирующих между вами и вашим TF, на самом деле просто начать вещи, Разговор начался, хотя большинство из вас никогда даже не написано веб-страницы и раньше, даже не знаю, что Вы могли бы, как Вы могли бы, реализации ваш окончательный проект. Перейти на веру, что вы будете знать, как это сделать довольно много вещи в течение нескольких недель. Так что начать этот процесс в соответствии с спецификацию изучения возможных идей. Кроме того, то, что мы приглашаем вас сделать, это - у нас есть традиция, на протяжении многих лет Теперь, в курсе, хостинг это - store.cs50.net. Все продали по себестоимости. И это действительно просто возможность CS50 носить, если вы хотели бы сделать , что на и курса. Например, есть такие вещи, как футболки, которые вы могли видеть собирается по всему университетскому городку, толстовки. И потом, мы также приглашаем студентов представить проекты, будет увековечена в CS50 магазине. Например, один из прошлогодних фаворитов, которые, быть может, в настоящее время резонируют с вами это здесь. Очень популярный пункт. Так что если вы хотели бы принять участие в это, мы поставили форму в ближайшее время, в cs50.net/design, к которому вы можете загрузить изображения, которые вы сделали в Illustrator или Photoshop, или другие подобные программы. И если вы знакомы с этими видами спецификаций, мы хотим, чтобы быть изображение PNG, по крайней мере, 200 точек на дюйм, и меньше, чем количество пикселей, и до 10 мегабайт. Для более подробной информации, только по электронной почте Конечно головами в heads@cs50.net если Вы хотели бы принять участие в этом. Ладно, так что сегодня, не более C. Таким образом, мы начинают тянуть обратно слоев Интернет, веб, и как вы можете на самом деле начать писать программное обеспечение для это другой среде. Таким образом, в частности, давайте спросим, Во-первых, вопрос - позвольте мне получить нас к нашим знакомым рисунок приложения здесь. Позвольте мне задать вопрос, Как же в Интернете работу. [? СТУДЕНТ: Магия. ?] Выступающий 1: Магия. ОК. Хороший ответ. Поэтому мы начнем там сегодня, и посмотреть, если мы не можем сделать его немного меньше магической в течение часа. Давайте попробуем сказать, что это в контексте истории. Так ты фанатов собираются facebook.com, или reddit.com или все, что в эти дни. И что на самом деле происходит, когда вы вводите что-то вроде facebook.com, и нажмите Enter, в Chrome, или Firefox или IE или Safari, или любой другой браузер вы на самом деле делать? Можем ли мы рассказать эту историю, может быть, предложение за предложением? Что одна из первых вещей, которые происходит, когда вы нажмете Enter, после набрав facebook.com? [? СТУДЕНТ: Ваш] компьютер делает запрос HTTP. Выступающий 1: OK. Такой компьютер делает - мы называем это - запрос HTTP. Теперь то, что это значит? Ну, мы все, наверное, видели или набрали, на протяжении нескольких лет, Н-Т-Т-Р часто идти двоеточие, слэш, слэш. Так что это такое? Ну, HTTP является гипертекста Протокол передачи. И это только причудливый способ сказать, Это язык, что веб-браузеры, Chrome, как и другие, и веб-серверов, как facebook.com, поговорить с друг к другу. И это довольно просто, английский ориентированном языке. Это почти как псевдо-код. И это способ клиентом, в качестве мы будем называть его - браузер - обмена данными с сервером. И так же, как в ресторане, когда вы, Клиент, садись за стол , а затем заказать что-то прочь меню сервера, причем это собираюсь вернуть вас что-то, то, что вы просили. То же самое в компьютерном мире. Браузер - Клиент - собирается сделать запрос, и Затем, мы надеемся вернуться что-то с сервера. И что-то, по крайней высоком уровне, веб-страницы. На несколько более низком уровне, это файла, написанного на другом язык, называемый HTML - Язык разметки гипертекста. Но об этом через минуту. Так протокол передачи гипертекста - HTTP - это протокол, который браузером и сервером использования. Ну, что это протокол, точно? Ну, вы можете думать о его в качестве языка. Но если бы я дотянуться до нашей аудитории здесь, нормальная вещь для нас, людей сделать, это, когда мы поприветствовать кого-то, Я говорю: Привет, меня зовут Дэвид. [? СТУДЕНТ: Привет,] меня зовут Dipty?. Выступающий 1: "Привет, меня зовут Dipty ", отвечает она. И так у нас было это достаточно произвольной Взаимодействие рукопожатие, как это Часто человеку Конвенции в большинстве стран. И это протокол, не так ли? Я, конечно, его инициировал, расширяя мое стороны, довольно неуклюже, на сцене Сандерс здесь. Она поняла, о, я получил просить за руку по-видимому. И так она ответила на эту просьбу на самом деле это признание. Признавая, ACK, на самом деле Фраза очень распространены в мире сети, чтобы сервер признать клиента. Тогда, мы вроде как завершен, что сделки, и неловкости за. Так что на самом деле то, что происходит под капотом, а также. Позволь мне сделать это немного больше Технически под капотом. Я собираюсь перейти на здесь в окне терминала. Это окно терминала оказывается, находится на моем Mac, но вы могли бы сделать такую ​​же вещи в CS50 Appliance. И на самом деле я собираюсь использовать программу что мы не будем действительно используются для много на всех семестра. Но это называется Telnet. Назад в день, Telnet была программа , которые вы использовали для подключения к удаленном сервере, для проверки почты или делать что-то подобное. В настоящее время мы собираемся использовать это старое школьная программа, Telnet, чтобы претендовать на быть браузера. И я собираюсь идти вперед и сделать следующее - дайте мне увеличить мой размер шрифта. И я собираюсь сказать, Telnet к сервер под названием www.facebook.com, но В частности, Telnet к порту 80. Мы еще вернемся к этому. Но сейчас, знаю, что большинство услуг в интернете идентифицируются однозначно на некоторое число. В данном случае это 80. Теперь большинство из вас, наверное никогда не набрали 80 раньше. Но на самом деле, если я иду в браузере и потянуть вверх, например, http://www.facebook.com/-- это автоматическое заполнение, это не моя история - Все в порядке, так что теперь, мы идем Колон 80 косую черту. Поэтому я утверждаю, что даже если вы вероятно, никогда не набрал это прежде, с толстой кишки после 80 facebook.com, Будем надеяться, что она по-прежнему будет работать. И действительно, он идет в facebook.com. Вот и получается, что 80 была неявной. Ни один из нас, людей, не имели типу, что в течение многих лет. Поскольку браузеры, по умолчанию, просто Предположим, что номер, который вы хотите использовать При вызове сервера, так говорить, на самом деле, 80. Потому что долго короткий рассказ, серверы может сделать намного больше, чем просто обслуживать веб-страницах. Они могут реагировать на мгновенные сообщения. Они могут посылать электронные письма. Там много услуг, которые может работать на одном сервере. Так что эти цифры - в этом случае, 80 - однозначно идентифицирует один из тех услуг, что является HTTP, веб-протоколов, чем сервер может на самом деле поддерживают. Но я могу имитировать этот запрос сейчас, текстуально, используя эту старую школу Telnet программы. Так что я собираюсь сейчас претендуют по существу быть браузер и говорить HTTP , отправив, с моей клавиатурой, точно команды, Chrome просто знал, как Чтобы отправить для меня волшебным. Так что я собираюсь идти вперед и нажмите Enter. Обратите внимание, что он пытается 31.13.69.32. 13 Что это? Так что это IP-адрес. Теперь, даже если вы не слишком хорошо знакомы с тонкостями из них, вы вероятно, есть общий смысл что эти вещи существуют. И IP-адрес - Адрес интернет-протокола - это просто уникальный идентификатор для компьютер в Интернете. Это немного упрощенно на данный момент. Но каждый компьютер в Интернете имеет уникальный IP-адрес, так же, как каждый дома, скажем, в США есть уникальная почтовый адрес, что-то вроде 123 Main Street, в Anytown, США. Так что-то вроде этого. И это тоже является упрощением. Но эти адреса, которые мы имеем в почтовый мире, и эти адреса что у нас есть в компьютерном мире однозначно идентифицировать серверы так, что когда Вы отправляете сообщение с ними по Интернет, или, когда вы положили письмо в старый почтовый ящик школы - почте - службы знает, как получить, что запроса или это письмо, чтобы получателю. Теперь мой компьютер, так или иначе, только что выяснили, что Facebook уникальных IP- является 31.13.69.32. В самом деле, что, вероятно, может изменяться. Facebook, вероятно, имеет несколько IP адреса, поскольку они совершенно иметь более одного сервера. Но это случилось для нас волшебным. В самом деле, внутренний секретный название сервер я видимо, связано , называется star.c10r.facebook.com, что бы это ни. Это просто независимо от системы администратор в Facebook решили называем это конкретный сервер, что я был несколько случайно послал в. Так что теперь, если мое соединение не Тайм-аут, я собираюсь притворяться, что браузер. Я собираюсь сказать, получить место косую черту пространстве. И я буду делать вид, что говорит HTTP версии 1.1, который тот, который наиболее браузеры используют. И я специально буду называть, чтобы Сервер, кстати, я хочу сайт известным во всем мире как facebook.com. Enter, Enter. И вот, обратите внимание, что произошло. Сервер, официант, ответил к моему заказу, или моей просьбе, с другого текстового сообщения. Теперь снова, в мире браузерами, такими как Chrome и Safari, вы не захотели убедиться в этом, как человеческий. Microsoft и Google просто скрыть эти детали от нас. Но Facebook отреагировала Ответ, и на языке HTTP. Обратите внимание, есть код здесь, 302, которые на самом деле имеет особое значение по Конвенции. Найдены, так что, по крайней мере перспективным. Но, видимо, говорит Facebook Мне, мм-мм, вы не хотите, то, что вы просили. Вы хотите вместо сегодняшних специальное, которое является facebook.com / unsupportedbrowser. Так на высоком уровне, что делает Facebook кажется, здесь делаете? Это перенаправление меня. Так Facebook не любит То, что я притворяюсь, чтобы быть этим другим браузером. И таким образом, это перенаправление меня к некоторым веб-сайте. Я на самом деле любопытно, сейчас, что эта вещь выглядит. Позвольте мне перейти к, что в Chrome Так что мы может видеть то, что они хотят меня видеть. Так что теперь они на самом деле послал меня к Facebook, потому что они поняли, О, у вас есть поддерживаемый браузер. Мы даже не собираюсь показать вам эту страницу. Так что давайте идти вперед и посмотреть, если мы не можем это исправить. Я собираюсь должны обмануть немного. И подробнее об этом в ближайшие недели. Но я собираюсь сделать одну вещь здесь. И я объясню это в скором времени. Дайте мне только одну минуту, чтобы обманывают, и ничего себе вы. Итак, позвольте мне получить это. ОК. Я объясню, что я делаю через минуту. Я собираюсь пойти дальше и отменить это связи и попробуем еще раз. Получить сократить HTTP 1.1 хост www.facebook.com агента пользователя. ОК. Теперь я сделал вид, что Chrome. Вот и получается, что когда браузер посылает запрос на сервер, это просто система чести. Если я говорю, что я Chrome, Facebook Предположим, я Chrome. И средства, которые я определил себе как Chrome является этим ужасно длинная строка. По существу, все браузере производителей в мире имеют решил, ну это версия этого браузер на этой операционной системе есть строки агента пользователя, который выглядит , как тот сумасшедший беспорядок там. И Mozilla находится в там В силу исторических причин. Но обратите внимание, как много информации я утечку facebook.com, даже не входа в учетную запись Я говорю Марку, что это Mac, который я использую. Я говорю ему, что это Intel основана Mac под управлением Mac OS 10.8.5. Как в стороне, эта информация собирается для каждого веб-сайта, который вы посещаете с ваш браузер. Довольно безобидные сих пор, но это становится немного сочнее. Обратите внимание, что, если мы читаем достаточно далеко, Я использую версию Chrome 30.0.1599.101. Но вот, обратите внимание, что ответ не так плохо, как это было раньше. Где Facebook говорят мне теперь идти? Это говорит мне, опять же, на сайте - он говорит мне, что это переехал на постоянное жительство. Ну, и где, черт возьми, Facebook идти? Да, так что это тонкое различие. Но обратите внимание, вот, что веб-сайт фактически переехал в HTTPS. Так короче говоря, это один из способов , что Facebook является соблюдение, что я на самом деле в конечном итоге на безопасную версию их веб-сайт, который использует Шифрование - более сложным, чем шифрование мы говорили в течение множества Р два, но Шифрование тем не менее. Теперь в этот момент он получает жесткий Для меня подменить их веб- запрос, используя Telnet. Потому что, если они говорят мне использовать SSL - префикс HTTPS является то, что , что подразумевает - Если они говорят, чтобы я использовал криптографии, нет никакого способа, которым я собираюсь вручную зашифровать сообщение перед всех вас здесь, и попытайтесь выяснить, как это сделать. Это просто будет получить намного сложнее. Но это то, что браузер делает для вас. Давайте посмотрим, если мы не можем сделать это немного более просто, то с веб-сайта , что не ожидает , чтобы мы были как безопасные. Давайте, скажем, harvard.edu на порт 80. Enter. Ладно, так что получить слэш HTTP 1.1. И что это первый слэш в виду? Просто чтобы быть ясно, почему Я продолжаю печатать это? Ну нормально, когда вы набираете URL - и, к сожалению, браузеры обычно скрыть эти дни - Обычно, когда вы идете в harvard.edu, URL, что официально кончается в черту. Потому что одной косой чертой обозначает какую часть жесткого диска? Квадратный из жесткого диска. Мы в приборе действительно не было думать об этом, потому что мы Всегда в папке Джона Гарварда. Но его папки в другую папку. И это папка находится в корне Жесткий бытовой езды, так сказать, даже если он виртуальный. Так одной косой чертой, как это значит квадратный из жесткого диска. Это как обратная косая черта C толстой кишки, или это корень вашего объема, на Mac OS. Но Chrome и другие браузеры этих дней, получили удобный и они скрывают, что сократить в целом. Но это все, что средства в моей текстовое сообщение - дайте мне корне harvard.edu 'ы домашней страницы, то есть умолчанию самой страницы. Итак, позвольте мне идти вперед и нажмите ввод. Напомню хозяин, что я хочу www.harvard.edu, на всякий случай есть другие веб-сайты, живущих на одном физическом сервере. ОК. Гарвард стал немного нетерпеливых со мной. Итак, давайте сделаем это снова, быстрее. Получить сократить HTTP 1.1 хост www.harvard.edu агент пользователя - Я предполагаю, что наши серверы не волнует, как много об этом - Enter, Enter. Вот так. О блин, Bad Request. ОК. Так, что здесь происходит - привет, harvard.edu. Почему это делать - интересно. О, хорошо. Так что Гарвард сейчас делаем - и мы собираются быстро свернуть из этот путь, потому что это происходит чтобы получить утомительно быстро - заметить, что на самом деле Гарвардского сжатии его ответ мне, что не является идеальным. Потому что я, видимо, как человек, не знает, как распаковать битов, которые были посланы мне сжаты. И они показывали это мусор там, потому что они нули и единицы, но они не ASCII символов. Они моделей из нулей и единиц, что были сжаты, чтобы занять меньше места. Так очень быстро, дайте мне посмотреть Если я могу восстановить здесь. Давайте попробуем, может быть, другой Кампус в целом. mit.edu Get слэш слэш HTTP 1.1 хост www.mit.edu User-Agent толстой кишки там. Спасибо, Массачусетском технологическом институте. ОК. Так вот у нас есть веб-страница. Так что это язык известный как HTML - Язык разметки гипертекста. Я просто прокрутка назад во времени, чтобы добраться до самого Совет верхней части этой страницы. И обратите внимание, как MIT отреагировала на мою просьбу. 200 хорошая. 200 означает, что все буквально OK. И это код состояния, который мы, люди, действительно никогда см., в хорошем смысле. Потому что это означает, что все хорошо. Обратите внимание, что МИТ сообщив мне, эй, Сервер мы бежим называется Apache, который является очень популярным бесплатно с открытым исходным кодом веб-сервера. Они бегут, по-видимому, UNIX, который операционной системы, как Linux. Обратите внимание, что они, видимо, обновляется их веб-страницы в 4:00 утра, Среднее время по Гринвичу. Обратите внимание несколько других деталей. Они возвращаются, для меня, текст / HTML. Так что посмотрим, что это значит через минуту. Они дали мне видимо 14717 байт ценность HTML. И некоторые другие, более эзотерические Информация находится в там. Но именно здесь начинается самое интересное. Это, как вы сделать веб-страницу. Это, как вы сделать веб-страницу которого титул в вкладке Главная в вашем браузере, MIT дефис Massachusetts Institute Технологии. И действительно, если мы вернемся к Chrome и посетить www.mit.edu, заметить, что, В самом деле, в названии здесь, является MIT тире Массачусетс Институт точка, точка, точка. А теперь обратите внимание, также, если я правой кнопкой мыши или контролировать мыши на рабочем столе здесь, и идти для просмотра кода страницы - по крайней мере в Chrome, хотя каждый браузер делает это с помощью некоторых средств - Вот то же файла. Это, оказывается, цвета, или подсветки синтаксиса. Но, как и с вашим кодом C, что не раскрашенный вами, это был раскрашенное по Gedit, подобно Chrome будет просто сделать это красивее читать. Но это материал, который мы скоро писать. Так вот в эндшпиле. Сервер ответил, что Информация, как и вы ответили рукой для нашего рукопожатия. Но что еще должен идти в промежутке между эти шаги? Ну, когда я печатаю в, в этом последнем случае, www.mit.edu и нажмите Enter, мы знаю, что это говорит в порт 80 автоматически, порт только в том, что число. Но где же IP адрес идти? Как мой компьютер выяснить, что IP-адрес является mit.edu? Что ж, оказывается, в этом мире, которые, что называется DNS серверов. И позвольте мне идти вперед и привлечь быструю картину здесь. И это просто наметить, в Грубо говоря, то, что происходит. Таким образом, мы сделаем вид, как это мой ноутбук здесь, в Сандерс. И это Wi-Fi, так что это связано беспроводное что-то. Что он на самом деле связан с? Ну, где-то здесь, есть что-то на стена с некоторых антенн. И это называется точкой доступа - AP. Беспроводная точка доступа, беспроводной маршрутизатор - называйте, как хотите. Но они во всем кампусе, с этих маленьких антенн. Наши сделаны Cisco, обычно. И так или иначе, мой компьютер говорит на что беспроводная точка доступа, где-то здесь, в Сандерс, или Внизу, или снаружи. Между тем, эта вещь имеет много физические провода, идущие к, возможно, Научный центр, который мы рисовать, как эта. Это на самом деле не выглядят. Это на самом деле выглядит намного лучше. Таким образом, научный центр имеет целый букет компьютеров внутри него, который так или иначе физически подключен ко всем из этих точек доступа на территории кампуса. А те физические компьютеры, мы позвоните маршрутизаторов или шлюзов. Маршрутизатор, как предполагает его название, это Цель в жизни, чтобы маршрут информации. Это занимает некоторое бит, с компьютера, в качестве входных данных, и определяет, туда, где эти биты должны быть отправлены. Так что в случае моего запроса о mit.edu, это на самом деле довольно легко. Мой запрос приходит из моего браузера, по Wi-Fi, к точке доступа, то, через некоторое кабель, в маршрутизатор в научный центр. И как-то, маршрутизатор в Научный центр выясняет MIT, что в том, что путь. И я собираюсь двигаться вперед тех, бит, я собираюсь маршрут те биты, вниз по дороге, вниз Mass Ave., в Массачусетском технологическом институте. Но как же мой компьютер знает, что IP адреса, даже был? Хорошо оказывается, что в другом месте здесь есть серверы - и я собираюсь сделать это довольно абстрактно - в качестве сервера DNS - Система доменных имен. Они не являются маршрутизаторами. Эти различные типы серверов , цель которой в жизни, чтобы перевести имена хостов, как www.mit.edu, к IP адреса, как 1.2.3.4 Так DNS серверов сделать именно это. Вы можете думать о них как имеющие большой базе данных, или действительно, как большой Excel файл с двумя колонками. Одним из них является имя хоста, один является IP-адресов. И они просто конвертировать из одного друга, в любом направлении. Сейчас на самом деле, это немного более сложным, чем это. Но это, как мой компьютер, мои случайные Mac или ПК на этом столе здесь, знает, что уникальный идентификатор для www.mit.edu или Facebook, или harvard.edu, если на то пошло. Но, конечно, есть полностью из Mass Ave здесь. И потом, мы получаем в Массачусетский технологический институт, который в этом на самом деле более убедительными. Это будет Массачусетском технологическом институте. И поэтому они тоже есть некоторые серверы. И они как-то проводной или беспроводные, подключение к Гарварда. И, конечно, мы можем пойти гораздо дальше вниз по дороге, чем Массачусетском технологическом институте, и поговорить с Наиболее любого компьютера в мире. Но давайте посмотрим, если мы не можем видеть, что. Позвольте мне вернуться к моей терминал окна на мгновение. И давайте предположим, что я понял, то, что IP-адрес для mit.edu Telnet, как понял это раньше, и мой браузер может четко понять это для меня. И я собираюсь запустить другую программу, В этом окне терминала, называется Traceroute, прослеживая Маршрут отсюда - буквально, в этой таблице - к www.mit.edu. Давайте посмотрим, что произойдет. Позвольте мне на самом деле уменьшить размер шрифта. ООП. Нет, я хотел, чтобы удивить вас. ОК. Поэтому здесь мы идем. Позвольте мне идти вперед и запустить это здесь. И то, что я видел минуту назад, и мы видим, сейчас снова, это выход - Traceroute www.mit.edu. Обратите внимание, в первой строке, эта программа действительно понял, что Массачусетского технологического института IP-адрес это число здесь. И теперь, что происходит между нами и ими? Так что эта линия здесь, в одной строке, и эта линия здесь, во втором ряду, а затем, третья строка - что каждый из этих линии, вероятно, представляете? Места, точки, конечно. Они называются хмель, концептуально. Но физически, какие они? Они маршрутизаторов. У нас есть только, на самом деле, одна часть аппаратные здесь, чтобы говорить о до сих пор. Они маршрутизаторов. Так что эта вещь здесь - сумасшедшие название - но это, вероятно, машинный зал, MR, в научный центр. Это шлюз, он же маршрутизатор. Это лишь некоторые уникальный номер, который кто-то придумал для него. И это в пределах harvard.edu. И это IP-адрес этого маршрутизатора это, опять же, вероятно, в Научный центр, основываясь на его имени. Это второй ряд представляет собой еще один Маршрутизатор, который не имеет ника судя по всему - имя хоста - это просто имеет IP-адрес. Так короче говоря, для получения данных из пункта А в пункт Б, есть больше, чем просто Гарвард маршрутизатора, маршрутизатора и Массачусетского технологического института, и Google, маршрутизатор, и Facebook, маршрутизатора. Там в десятки, сотни, тысячи маршрутизаторы между любыми точками А и любого точку B в Интернете. Но, как правило, вы можете получить данные из одной точки в другую в менее 30 прыжков. Другими словами, у вас есть только передать Данные до 30 или меньше таких маршрутизаторов. И это правило, в несколько меньше, чем это. Что ж, давайте посмотрим, что происходит здесь. В строке три, мы попали в маршрутизаторе называется основной научный центр шлюза то или другое. В строке 4, у нас есть Border Gateway - это лишь загадочно сокращений - Также в harvard.edu. Вот еще один Border Gateway. А потом, вдруг, эй, мы, кажется, в Нью-Йорке. Вот и получается, - и я в выведение только по имени хоста. Это может ввести в заблуждение. Это может быть в будущем. Трудно сказать - но это может быть использовано как раскрытие что кратчайшее расстояние между двумя точек на интернет не обязательно по прямой линии. Если мы думаем о кратчайших как самый быстрый путь, наименее перегруженной пути, вполне возможно, - хотя мы не можем быть уверены - что данные путешествующих достойных Расстояние между рядами пяти и шести. Сейчас, к сожалению Массачусетском технологическом институте, или кто-то, получил немного самообороны, и они начали игнорировать наши просьбы. Эти маршрутизаторы были настроены на игнорировать запросы вида, которые Вы, кто ты, кто ты. Итак, давайте посмотрим, если мы не можем сделать этого с кем-то более тесного сотрудничества. Так Стэнфорд имеет хорошую традицию имеющие немного больше открытости. Итак, давайте посмотрим, что происходит здесь. Опять же, довольно загадочные. Но мы начнем, опять же, в машине номер в науке Центра, в ряд один. Так что это хорошо. Большинство из серверов сделал ответ в том числе Стэнфорде. Так что мы пошли заметить из машинного помещения в научный центр, в некоторой анонимный маршрутизатор в другом месте, в другое Научный центр шлюз для работы в пограничном шлюзом, а затем, чтобы что-то здесь - nox.org. Это северная перекрестках, очень популярной точкой обмена данными, где много кабелей, много интернет-провайдеров - интернет-провайдеры - подключить в. Вот еще один безымянный IP здесь. Вот еще один такой сервер. Но это интересно. Где маршрутизатор восемь строк, наверное? Так что это, наверное, в Вашингтоне, округ Колумбия. И я могу подтвердить вид Гипотеза, что на этот раз. Потому что, сколько времени это займет, чтобы мы пошли из Научного центра к этому маршрутизатору в строке семь? Ну, эти миллисекунды измерений на правой стороне здесь оценки того времени. Есть три из них, потому что Программа, трассировки, пытается каждый Маршрутизатор три раза, только так вы можете получить визуальный среднем количестве. Но он, очевидно, занимает шесть миллисекунд, чтобы получить грести маршрутизатора в семь. Но как быстро, по-видимому, вы путешествовать, если вы немного, между Бостоне и Вашингтоне? 14 миллисекунд тех пор, пока он принимает за это сообщение, если на то электронной почте, для этого запроса веб-страницы путешествовать между здесь и Вашингтоне. Если я пойду дальше, к маршрутизатору номер 10, какой город я-видимому, в настоящее время? Так, Хьюстон. И это подтверждается скачок во времени. Это очень медленно, чтобы добраться до Хьюстона. Она занимает 47 миллисекунд, чтобы получить от Бостон в Хьюстон в этом случае. И если мы посмотрим дальше, Лос-Анджелес - Похоже, что мы получаем в Стэнфорд рода Таким образом, проходя через Лос-Анджелес. Но я, что выведение из Лос-Анджелеса. Вундеркиндов, как правило, использовать коды аэропортов для маршрутизаторов имена здесь. А это вид последовательной с этим предположением. 82 миллисекунд. Затем мы видимо пойти в другое LAX, LA другого маршрутизатора, а затем, некоторые безымянный, а затем, наконец, загадочное имя на сети Стэнфорда, или близко к ней, stanford.edu, является 90 миллисекунд, или 6 с лишним часа на самолете. Так что это, как быстро данные передаются в Интернете. И это то, что мы абсолютно считаем само собой разумеющимся в эти дни. Если у вас возникли некоторые Gchat с кто-то и сообщения только появляться, рассмотрим, насколько быстро, что происходит. И визуально, это действительно происходит на такой скорости. Так между точками одного и 18, В этом случае, есть вещи, кроме маршрутизаторов. Какие машины в Интернете , которые могут блокировать трафик от получения до конца? СТУДЕНТ: брандмауэры. Выступающий 1: Итак, брандмауэры. И у нас есть такие персональные брандмауэры что ваши собственные Mac или ПК может держать движение внутрь или наружу. Гарвард имеет брандмауэры. MIT предположительно имеет брандмауэры. И Стэнфордского же, как и все Интернет-провайдеры, которые владеют эти маршрутизаторы между точками А и В. Но знаете ли вы когда-нибудь остановиться, чтобы рассмотреть, или ухода, как работает брандмауэр. Хорошо уже, у нас есть основное здание Блоки с которой инженер что ответить. Если бы вы были Firewall - и предположим, что вы где-то между точками А и Б. Кабель входит в вас, и выходит из вас. Так что у вас есть технологические способности смотреть на все огибающих информации, которые протекают между Вас и другого человека. Другими словами, те, получаю сообщения я был ручного ввода, вы можете думать о их, как написание быстрое примечание, чтобы кто-то, поставить IP-адрес получателя и номер порта получателю, на этом конверт, то написание собственных IP-адрес и ваши собственные номер порта в верхней левой руке углу, как вы бы письмом. Тогда, вы отправите его по беспроводной сети. И это как-то путешествий, через маршрутизаторы, через провода, беспроводной связи, в будущем в Массачусетском технологическом институте. Так что если вы брандмауэр, как делать Вы этого не случилось? Что бы вы сделали, если ваш следующий р Набор был реализовать брандмауэр? Как я могу остановить все люди из Гарварда когда-либо разговаривал с MIT людьми? [? СТУДЕНТ: Вы] обратная письмо?. Выступающий 1: Ты что? [? СТУДЕНТ: Обратное] Письмо рано. Выступающий 1: Обратный письмо - то, что вы имеете в виду? [? СТУДЕНТ: Отправить] это обратно к отправителю. Выступающий 1: Пошлите его назад. ОК. Таким образом, можно отказаться от виртуальной конверт, вроде, делая возвращение в Отправитель как-то. Так что уверен, это то, что мы хотим достичь. Но давайте погрузимся немного глубже. Как я могу это сделать? Если вход на эту проблему - если я брандмауэр, и я эффективно стоящий между точками А и В, и Я средний человек, который получает смотреть внутри этой оболочки, а затем решить следует ли отправить его обратно в Гарвард или позволить ей продолжать, то, что не я, брандмауэр, собираюсь хотите смотреть? Я думаю, что я слышал его здесь. [? СТУДЕНТ: Где это] приходят?. Выступающий 1: где он и откуда. Таким образом, если IP-адрес источника - небольшое количество здесь - является IP-адресом в Гарвард - и я могу на самом деле знаем, что с высокой вероятностью. Большинство IP адреса Гарварда начать с 140,247 точка что-то точка что-то, или 128,103 точка что-то в точку. Гарвардский владеет этих блоков из IP-адресов. Ну, если я вижу, что IP-адреса, отправителя, я могу просто отправить его обратно. На самом деле, Интернет не потрудитесь тратить впустую время отправку битов обратно. Это просто буквально отбрасывает пакет удалив его, эффективно. Так что еще я мог смотреть на то? Предположим, что я хочу, чтобы люди в Гарвардский Посетить mit.edu, и потянуть вверх веб-сайтов, и смотреть видео в Массачусетском технологическом институте, и тому подобное. Но я не хочу людей в Гарварде по электронной почте любому в Массачусетском технологическом институте. Как я мог позволить движение из Гарварда в Массачусетском технологическом институте, с помощью сети, но запретить что-то вроде электронной почты? [? СТУДЕНТ:] номер порта. Выступающий 1: номер порта - вот Только другие ингредиенты у нас есть. У нас есть IP адрес, который мы только что заемных средств, или у нас есть номер порта, где 80, мы уже говорили, однозначно идентифицирует веб-трафика. Теперь я не ожидал бы, чтобы вы знали это - Некоторые из вас, возможно, уже знаете от знакомства - что такое число, используемое для электронной почты, обычно? Это часто 25. 25 относится к SMTP, который представляет собой почты Протокол передачи, которые могут возникнуть была создана в определенный момент, если вы использованием Eudora или Outlook, или что-то вроде этого. Это просто еще один номер - 25. Telnet, который мы использовали раньше, использует 23. FTP - протокол передачи файлов, если вы когда-либо слышал, что одна - использует 21. HTTPS, безопасной версией HTTP, которых мы вернемся к в скором времени, использует 443. Таким образом, мир имеет целый букет номера, которые коррелируют пакеты - Скорее, коррелируют услуги тем, реальные цифры. Так что все брандмауэр делает. Это занимает заглянуть внутрь этого виртуального конверт, а затем решение да или нет направить вместе, основанная на этих ингредиентов. Теперь то, что могли сделать Гарвардского четко пройти этот брандмауэр тогда? Если вы хотите, чтобы иметь возможность отправить сообщение в MIT но не обнаружен, Ну, вы могли обмануть ваши IP адреса, и просто как-то быть фантазии достаточно, знаю как писать код C, и написать свой собственный сети программа, которая изменяет Фирма адресу. Проблема в том, вы можете отправить абсолютно данные анонимно, но если вы хотите, чтобы получить любой ответ, хотел увидеть Массачусетского технологического института домашняя страница, очевидно, что это адреса должно быть корректным. В противном случае можно говорить вы хотите, вы не собираетесь услышать от них. Но это всего лишь один из видов атак, которые мы можем отправить. Но оказывается, когда мы посылаем эти сообщений - и давайте сделаем Примером этого. Получается, если у меня есть сообщение, что Я хочу отправить, это не только что отправил в один конверт. Ради эффективности, особенно когда файлы вы запрашиваете или ответы вы получаете являются особенно велика, что TCP/IP-- Transmission Control Protocol / Internet Протокол - это просто фантазия способ сказать, что сеть программное обеспечение и компьютеры - это они принять сообщение, как это, и они разрезать его на фрагменты - скажем, четыре фрагмента. И если я сейчас разрубить этот вверх в здесь, сократить это до в здесь, что моя Компьютер затем собираемся сделать, это это собираюсь взять один фрагмент и поместить его в конверте. Ладно, и позвольте мне получить - давайте посмотрим. Он собирается взять один. Это собирается сделать еще один конверт и он собирается поставить вторую часть этого сообщения здесь. Хорошо. Это собирается занять третье части, положить его в здесь. Может, в следующий раз мы будем просто сделайте две части. И мы будем принимать четвертую часть, и положил его в здесь. А что, сейчас, должно быть написано на этих конвертах - который мы сделаем вид, сделать, ибо время в ради, а на самом деле не выписывают. Что должно быть написано на каждой из эти четыре конверта, с моим сообщение кому-то? [? Ученик:] заказ?. Выступающий 1: в этом случае порядок. Мне нужно не только IP-адрес и номера портов, как мы только что обсуждали, я Теперь необходимо порядковый номер некоторого вида говорить, что это является одним пакетом, это это два, это три, это четыре. И это на самом деле полезно. Потому что Интернет, оказывается, на самом деле довольно ненадежны. Маршрутизаторы могут получить перегружена. Кабели могут получить перегружены - упрощение - но, с битами так, что то, что маршрутизаторы нужно сделать, это просто отбрасывать пакеты. Иными словами, если в Интернет только действительно перегружены, вы можете получить три из этих четырех пакетов. Но если у вас есть уникальный идентификатор на каждый из них, вы будете знать, что вы отсутствует пакет номер четыре из четырех. Таким образом, вы можете попросить парня на Другой конец для повтора. Но при условии, что не произойдет, давайте посмотрим, что может случиться. Так что, если я хочу послать сообщение - кто хотели бы получить мое сообщение из Интернета? Как о ком-то ближе фронт. Брайан, не так ли? Хорошо. Ты останешься там. Я собираюсь отправить его к вам. И дело об интернете является то, что они могли бы даже не по тому же пути. Так вот, я иду. Я посылаю сообщение, фрагмент одного из четырех. Быть маршрутизатором. Просто дайте другим людям справиться с ней. Там вы идете. Мы дадим тебе это, и мы дадим вам это. И мы увидим, как быстро - сколько миллисекунд требуется чтобы получить это сообщение для Брайана. Каждый получает участвовать сегодня. Хорошо. Brian имеет один и два. Если кто-то хочет быть - [? СТУДЕНТ: все четыре. ?] Выступающий 1: У него есть все четыре. Так что никто не выбрал отказаться от пакета. Это круто. Это прекрасно. Так Брайан в настоящее время все четыре. Если вы хотите пойти дальше и собрать тех, для нас. Я знаю, мы притворяться. Так ради Времени - у нас есть четыре. Так, хорошо, открыть одну из них. ОК. Это одна четвертая мое послание к вам. Теперь открыть вторую. Это может быть смешно, в конце концов, только мне и Брайана. Ладно, у вас есть два. Таким образом, в то же время мы сделали физически это с ножницами, но все это требуется, чтобы фрагмент эти вещи в компьютер просто послать некоторые битов в одном пакете, в одной виртуальной конверт, некоторые из битов другу, некоторые в другой, а в некоторых четвертый и затем, чтобы компьютер принять решение, исходя эти цифры, в каком порядке у вас есть чтобы объединить их. И Брайан, может быть, только тот, который может это увидеть. Послание, которое я послал в мозг - из-за Конечно, Интернет наполнен этих, есть - Да. Таким образом, это сообщение. И Брайан можете повесить на это сейчас. Так что взяли, очевидно, некоторое время, чтобы сделать это. Но это то, что происходит на самом деле, как маршрутизации данных через аудитории таким образом. Но есть, опять же, количество очков, маршрутизаторы, межсетевые экраны и другие такие вещи между точками А и В. И а не просто рассказать историю устно, я думал, что это подтянуть видео, что некоторые наши друзья, от Эриксон, лет назад, на самом деле взятые вместе, что объясняет как это все работает. А это около 10 или около того минут. Так давайте дадим вас, теперь, Воины в Сети. [Музыка Воспроизведение] Рассказчик: В первый раз в истории, людей и машин, является совместной работы, реализации мечты - объединяющей силы, который не знает географических границ, без независимо от расы, вероисповедания или цвета кожи - новую эру, где связь действительно объединяет людей. Это заре сети. Хотите знать, как это работает? Нажмите здесь, чтобы начать Путешествие в сетку. Сейчас именно то, что произошло, когда Вы нажали на эту ссылку? Вы начали поток информации. Эта информация проходит вниз в вашу личный номер почте, когда г-н IP-пакетов, которые она, лейблов, и посылает его на своем пути. Каждый пакет ограничен в своих размерах. Комната почты должны решить, как разделить информации, и как упаковать его. Теперь пакет должен иметь метку, содержащую важную информацию, такую как адрес отправителя, адрес получателя, и тип пакета оно есть. Поскольку этот конкретный пакет будет выходят на Интернет, а также получает адрес для прокси-сервера, который имеет специальную функцию Как мы увидим позже. Пакет настоящее время запущен на вашем локальной сети или сети. Эта сеть используется для подключения всех локальные компьютеры, маршрутизаторы, принтеры, и т.д. для информации обмену в рамках физической стен здания. Локальная сеть представляет собой довольно неконтролируемые места, и, к сожалению, несчастные случаи может случиться. Шоссе упакован LAN со всеми видами информации. Это IP-пакеты, пакеты Novell, AppleTalk пакеты - они собираются против трафика, как обычно. Локальный маршрутизатор читает решение, и, При необходимости, поднимает пакет на другой сети. Ах, маршрутизатор - символ управления в по-видимому дезорганизованы мире. Маршрутизатор: Ой, сожалею об этом. Давайте поставим этот здесь, это здесь. Это перемещает здесь. Это одна переходы. Я не люблю этого. Давайте перейдем этот. Это одна идет здесь. [Неразборчиво] Иными пререкания здесь. Давайте поставим этот здесь. Нет, я пойду с этим. Скажем, что здесь. Рассказчик: Там он - систематический, безразлично, методические, консервативным, а иногда и не совсем до скорости. Но по крайней мере он точно, по большей части. Маршрутизатор: Положите вон тот. Тот идет туда, что один идет там, и этот идет туда. Ну, еще один идет туда. Это идет здесь. [Неразборчиво] Ведущий: Как пакеты покидают маршрутизатором, они делают свой путь в корпоративной интрасети и головы для маршрутизатора переключателя. Немного более эффективным, чем маршрутизаторы, маршрутизатор играет переключатель быстро и свободно с IP-пакетами, ловко маршрутизации им путь - цифровая мастер пинбол, если вы будете. Маршрутизатор переключатель: Здесь мы идем. Вот еще один. И это другое. Смотреть на это, мама. Вот он идет. Возглас, вокруг спины. Эй, там, там. На левую. На правую. На левую. На правую. Вы его получили. Здесь речь идет. Он стреляет, он забивает. Это собирается. Уэйн Эй, берегись, здесь приходит другой. О, здесь мы идем. Ведущий: Как пакеты поступают на их назначения, они подобрали Сетевой интерфейс, готов стать отправлен на следующий уровень - В этом случае, прокси-сервер. Прокси используется многими компаниями, как рода посредника для того, чтобы уменьшить нагрузку на их интернет связи, так и для Из соображений безопасности, а также. Как вы можете видеть, пакеты Все различных размеров, в зависимости от их содержания. Прокси открывает пакет и выглядит для веб-адрес или URL-адрес. В зависимости от того, какие адреса приемлемым, пакет отправляется на Интернет. Существуют, однако, некоторые адреса, которые не отвечают с одобрения прокси - то есть, корпоративных или Руководящие указания по управлению. Они суммарно дело. У нас не будет ничего подобного. Для тех, кто делает это, это на дороге снова. Затем, брандмауэр. Корпоративный брандмауэр служит двум целям. Это предотвращает некоторые довольно неприятные вещи из интернета от вступления в интранет, а также может предотвращать конфиденциальной корпоративной информации от быв посланы на Интернет. Как только через межсетевой экран, маршрутизатор поднимает пакет и помещает его на гораздо более узкий дороги, или пропускная способность, как мы говорим. Очевидно, что дорога не широкая достаточно, чтобы принять их всех. Теперь вы можете спросить, что происходит со всеми те пакеты, которые не делают это на этом пути. Ну, когда г-н IP не получает признание того, что пакет был получил в свое время, он просто посылает замены пакета. Теперь мы готовы войти в мир в Интернете, веб-паук взаимосвязанных сетей, которые охватывают наш весь земной шар. Здесь, маршрутизаторы и коммутаторы установить связи между сетями. Теперь чистая это совершенно другой среды, чем вы найдете в защитные стены вашей локальной сети. Здесь у нас, это на Диком Западе - много места, много возможностей, много вещей, чтобы исследовать, и места, чтобы пойти. Благодаря очень мало контроля и регулирование, новые идеи находят благодатную почвы, чтобы выйти за границы их возможности. Но из-за этой свободы, Также определенные опасности таятся. Вы никогда не будете знать, когда вы встретитесь страшный пинг смерти, специальный версии нормальной пинг-запрос, который какой-то идиот придумал, чтобы испортить ничего не подозревающих хозяев. Путь наш пакеты принять может быть сообщение спутниковые, телефонные линии, беспроводной связи, или даже трансокеанских кабелей. Они не всегда принимают самые быстрые, или самый короткий, маршруты возможного. Но они получат там в конечном счете. Может быть, поэтому иногда он называют во всем мире ожидания. Но когда все работает гладко, Вы можете обойти земной шар пять раз на падение из шляпы, буквально - и все за стоимость местного звонка, или меньше. Ближе к концу нашего назначения, мы найдем другой брандмауэр. В зависимости от вашей точки зрения, как Пакет данных, брандмауэр может быть бастионом безопасности, или страшный противник. Все зависит от того, с какой стороны вы и на то, что ваши намерения. Брандмауэр предназначен для впустить только те пакеты, которые удовлетворяют ее критериям. Этот брандмауэр работает на порты 80 и 25. Все попытки войти через другие порты закрыты для бизнеса. Порт 25 используется для почты пакеты, тогда порт 80 является входом для Пакеты из Интернета на веб-сервере. Внутри брандмауэра, пакеты скрининг более тщательно. Некоторые пакеты сделать его легко через обычаями, в то время как другие выглядят просто немного сомнительным. Брандмауэр офицер не легко заблуждение, например, когда эта пинг из смерть пакет пытается замаскироваться как обычный пакет Ping. Firewall: Далее. ОК. Продолжай. Это нормально. Это не проблема. Иметь хороший день. Быть здесь. Пока. Рассказчик: для этих пакетов повезло достаточно, чтобы сделать это настолько далеко, путешествие подходит к концу. Это просто очереди в интерфейс быть взят на веб-сервере. В настоящее время веб-сервер может работать на многих вещей, от мэйнфреймов, чтобы веб-камеры, к компьютеру, на вашем столе. Или почему бы не ваша холодильнике? При правильной настройке, вы можете найти , если у вас есть задатки для курица по-охотничьи, или если Вы должны ходить по магазинам. Помните, что это заря сети. Почти все, что возможно. Один за другим, пакеты принимаются, открылась, и распаковал. Содержащейся в них информации - то есть, ваш запрос информации - посылается в веб сервера приложений. Пакет сама переработанного, готовые использоваться снова, и наполнен ваш запрашиваемую информацию, решены, и отправить, на обратном пути к вам, обратно мимо брандмауэра, маршрутизаторов и на через интернет, обратно через корпоративным брандмауэром, и на вашем Интерфейс, готова поставлять ваших Веб-браузер с информацией Вы просили - то есть этот фильм. Довольны их усилия и доверяя в лучшем мире, наш верный Пакеты данных ускакал в блаженном Закат в другой день, зная в полном объеме, они служили а их хозяева. Теперь это не счастливый конец? Выступающий 1: Это, тогда, является как работает Интернет. Через семь проблематика будет вам лучше понять это и Ты узнать немного HTML, PHP, и многое другое. Подробнее об этом в спецификации , который выйдет в пятницу. И мы будем видеть вас в понедельник.