По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Почитайте предыдущую статью про криптографический обмен ключами. Предположим, вы хотите отправить большой текстовый файл или даже изображение, и позволить получателям подтвердить, что он исходит именно от вас. Что делать, если рассматриваемые данные очень большие? Или что, если данные нужно сжать для эффективной передачи? Существует естественный конфликт между криптографическими алгоритмами и сжатием. Криптографические алгоритмы пытаются произвести максимально случайный вывод, а алгоритмы сжатия пытаются воспользоваться преимуществом неслучайности данных для сжатия данных до меньшего размера. Или, возможно, вы хотите, чтобы информация была прочитана кем-либо, кто хочет ее прочитать, что означает, что не нужно ее шифровать, но вы хотите, чтобы получатели могли проверить, что вы ее передали. Криптографические хэши предназначены для решения этих проблем. Возможно, вы уже заметили по крайней мере одно сходство между идеей хеширования и криптографического алгоритма. В частности, хэш предназначен для получения очень большого фрагмента данных и создания представления фиксированной длины, поэтому на выходе для широкого диапазона входных данных очень мало конфликтов. Это очень похоже на концепцию максимально близкого к случайному выходу для любого ввода, необходимого для криптографического алгоритма. Еще одно сходство, о котором стоит упомянуть, заключается в том, что хэш-алгоритмы и криптографические алгоритмы работают лучше с очень редко заполненным входным пространством. Криптографический хеш просто заменяет обычную хеш-функцию криптографической функцией. В этом случае хэш может быть вычислен и отправлен вместе с данными. Криптографические хэши могут использоваться либо с системами с симметричными ключами, либо с системами с открытым ключом, но обычно они используются с системами с открытым ключом. Сокрытие информации о пользователе Возвращаясь к начальным статьям, еще одна проблема безопасности - это исчерпание данных. В случае отдельных пользователей исчерпание данных можно использовать для отслеживания того, что пользователи делают, пока они находятся в сети (а не только для процессов). Например: Если вы всегда носите с собой сотовый телефон, можно отслеживать перемещение Media Access Control (MAC), когда он перемещается между точками беспроводного подключения, чтобы отслеживать ваши физические перемещения. Поскольку большинство потоков данных не симметричны - данные проходят через большие пакеты, а подтверждения передаются через небольшие пакеты, наблюдатель может обнаружить, когда вы выгружаете и скачиваете данные, и, возможно, даже когда вы выполняете небольшие транзакции. В сочетании с целевым сервером эта информация может дать хорошую информацию о вашем поведении как пользователя в конкретной ситуации или с течением времени. Этот и многие другие виды анализа трафика могут выполняться даже для зашифрованного трафика. Когда вы переходите с веб-сайта на веб-сайт, наблюдатель может отслеживать, сколько времени вы тратите на каждый из них, что вы нажимаете, как вы перешли на следующий сайт, что вы искали, какие сайты вы открываете в любое время и т. д. информация может многое рассказать о вас как о личности, о том, чего вы пытаетесь достичь, и о других личных факторах. Рандомизация MAC-адресов Institute of Electrical and Electronic Engineers (IEEE) первоначально разработал адресное пространство MAC-48 для назначения производителями сетевых интерфейсов. Эти адреса затем будут использоваться "как есть" производителями сетевого оборудования, поэтому каждая часть оборудования будет иметь фиксированный, неизменный аппаратный адрес. Этот процесс был разработан задолго до того, как сотовые телефоны появились на горизонте, и до того, как конфиденциальность стала проблемой. В современном мире это означает, что за одним устройством можно следить независимо от того, где оно подключено к сети. Многие пользователи считают это неприемлемым, особенно потому, что не только провайдер может отслеживать эту информацию, но и любой, кто имеет возможность прослушивать беспроводной сигнал. Один из способов решить эту проблему-позволить устройству регулярно менять свой MAC-адрес, даже, возможно, используя другой MAC-адрес в каждом пакете. Поскольку сторонний пользователь (прослушиватель) вне сети провайдера не может "угадать" следующий MAC-адрес, который будет использоваться любым устройством, он не может отслеживать конкретное устройство. Устройство, использующее рандомизацию MAC-адресов, также будет использовать другой MAC-адрес в каждой сети, к которой оно присоединяется, поэтому оно не будет отслеживаться в нескольких сетях. Существуют атаки на рандомизацию MAC-адресов, в основном сосредоточенные вокруг аутентификации пользователя для использования сети. Большинство систем аутентификации полагаются на MAC-адрес, поскольку он запрограммирован в устройстве, чтобы идентифицировать устройство и, в свою очередь, пользователя. Как только MAC-адрес больше не является неизменным идентификатором, должно быть какое-то другое решение. Места, где рандомизация MAC-адресов может быть атакована, - это Время (timing): если устройство собирается изменить свой MAC-адрес, оно должно каким-то образом сообщить другому абоненту беспроводного соединения об этих изменениях, чтобы канал между подключенным устройством и базовой станцией мог оставаться жизнеспособным. Должна быть какая-то согласованная система синхронизации, чтобы изменяющийся MAC-адрес мог продолжать обмен данными при изменении. Если злоумышленник может определить, когда произойдет это изменение, он сможет посмотреть в нужное время и обнаружить новый MAC-адрес, который принимает устройство. Порядковые номера (Sequence numbers): как и во всех транспортных системах, должен быть какой-то способ определить, все ли пакеты были получены или отброшены. Злоумышленник может отслеживать порядковые номера, используемые для отслеживания доставки и подтверждения пакетов. В сочетании с только что отмеченной атакой по времени это может обеспечить довольно точную идентификацию конкретного устройства при изменении MAC-адреса. Отпечатки информационных элементов (Information element fingerprints): каждое мобильное устройство имеет набор поддерживаемых функций, таких как установленные браузеры, расширения, приложения и дополнительное оборудование. Поскольку каждый пользователь уникален, набор приложений, которые он использует, также, вероятно, будет довольно уникальным, создавая "отпечаток" возможностей, которые будут сообщаться через информационный элемент в ответ на зонды от базовой станции. Отпечатки идентификатора набора услуг (SSID): каждое устройство хранит список сетей, к которым оно может подключиться в настоящее время, и (потенциально) сетей, которые оно могло достичь в какой-то момент в прошлом. Этот список, вероятно, будет довольно уникальным и, следовательно, может выступать в качестве идентификатора устройства. Хотя каждый из этих элементов может обеспечить определенный уровень уникальности на уровне устройства, комбинация этих элементов может быть очень близка к идентификации конкретного устройства достаточно часто, чтобы быть практически полезной при отслеживании любого конкретного пользователя, подключающегося к беспроводной сети. Это не означает, что рандомизация MAC-адресов бесполезна, это скорее один шаг в сохранении конфиденциальности пользователя при подключении к беспроводной сети. Луковая маршрутизация Луковая маршрутизация - это механизм, используемый для маскировки пути, а также шифрования пользовательского трафика, проходящего через сеть. Рисунок 1 используется для демонстрации. На рисунке 1 хост А хочет безопасно отправить некоторый трафик на K, чтобы ни один другой узел в сети не мог видеть соединение между хостом и сервером, и чтобы ни один злоумышленник не мог видеть открытый текст. Чтобы выполнить это с помощью луковой маршрутизации, A выполняет следующие действия: Он использует службу для поиска набора узлов, которые могут соединяться между собой, и предоставления пути к серверу K. Предположим, что этот набор узлов включает [B, D, G], хотя на рисунке они показаны как маршрутизаторы, скорее всего, это программные маршрутизаторы, работающие на хостах, а не выделенные сетевые устройства. Хост A сначала найдет открытый ключ B и использует эту информацию для создания сеанса с шифрованием с симметричным ключом B. Как только этот сеанс установлен, A затем найдет открытый ключ D и использует эту информацию для обмена набором симметричных ключей с D, наконец, построит сеанс с D, используя этот симметричный секретный ключ для шифрования защищенного канала. Важно отметить, что с точки зрения D, это сеанс с B, а не с A. Хост A просто инструктирует B выполнить эти действия от его имени, а не выполнять их напрямую. Это означает, что D не знает, что A является отправителем трафика, он знает только, что трафик исходит от B и передается оттуда по зашифрованному каналу. Как только этот сеанс будет установлен, A затем проинструктирует D настроить сеанс с G таким же образом, как он проинструктировал B настроить сеанс с D. D теперь знает, что пункт назначения-G, но не знает, куда будет направлен трафик G. У хоста A теперь есть безопасный путь к K со следующими свойствами: Трафик между каждой парой узлов на пути шифруется с помощью другого симметричного закрытого ключа. Злоумышленник, который разрывает соединение между одной парой узлов на пути, по-прежнему не может наблюдать трафик, передаваемый между узлами в другом месте на пути. Выходной узел, которым является G, знает пункт назначения, но не знает источник трафика. Входной узел, которым является B, знает источник трафика, но не пункт назначения. В такой сети только А знает полный путь между собой и местом назначения. Промежуточные узлы даже не знают, сколько узлов находится в пути-они знают о предыдущем и следующем узлах. Основная форма атаки на такую систему состоит в том, чтобы захватить как можно больше выходных узлов, чтобы вы могли наблюдать трафик, выходящий из всей сети, и соотносить его обратно в полный поток информации. Атака "Человек посередине" (Man-in-the-Middle) Любой вид безопасности должен не только изучать, как вы можете защитить информацию, но также учитывать различные способы, которыми вы можете вызвать сбой защиты данных. Поскольку ни одна система не является идеальной, всегда найдется способ успешно атаковать систему. Если вам известны виды атак, которые могут быть успешно запущены против системы безопасной передачи данных, вы можете попытаться спроектировать сеть и среду таким образом, чтобы предотвратить использование этих атак. Атаки "человек посередине" (MitM) достаточно распространены, и их стоит рассмотреть более подробно. Рисунок 2 демонстрирует это. Рисунок 2-б аналогичен рисунку 2-а с одним дополнением: между хостом A и сервером C расположен хост B, который хочет начать зашифрованный сеанс. Некоторыми способами, либо подменяя IP-адрес C, либо изменяя записи службы доменных имен (DNS), чтобы имя C преобразовывалось в адрес B, или, возможно, даже изменяя систему маршрутизации, чтобы трафик, который должен быть доставлен в C, вместо этого доставлялся в B, злоумышленник заставил B принять трафик, исходящий из A и предназначенный для C. На рисунке 2-б: Хост A отправляет полуслучайное число, называемое одноразовым номером, в C. Эту информацию получает B. Хост B, который злоумышленник использует в качестве MitM, передает этот одноразовый номер на узел C таким образом, что создается впечатление, что пакет действительно исходит от узла A. В этот момент злоумышленник знает одноразовый идентификатор, зашифрованный A. Злоумышленник не знает закрытый ключ A, но имеет доступ ко всему, что A отправляет зашифрованным с помощью закрытого ключа A. Сервер C также отправляет ответ с зашифрованным одноразовым случайным числом. B получает это и записывает. Хост B передает одноразовое случайное число, полученное от C, на A. Хост A по-прежнему будет считать, что этот пакет пришел непосредственно от C. Хост B вычисляет закрытый ключ с помощью A, как если бы это был C. Хост B вычисляет закрытый ключ с помощью C, как если бы это был A. Любой трафик, который A отправляет в C, будет получен B, что: Расшифруйте данные, которые A передал, используя закрытый ключ, вычисленный на шаге 5 на рисунке 2-б. Зашифруйте данные, которые A передал, используя закрытый ключ, вычисленный на шаге 6 на рисунке 2-б, и передайте их C. Во время этого процесса злоумышленник на B имеет доступ ко всему потоку в виде открытого текста между A и C. Ни A, ни C не осознают, что они оба построили зашифрованный сеанс с B, а не друг с другом. Такого рода атаки MitM очень сложно предотвратить и обнаружить.
img
К Avaya Aura можно подключать не только «фирменные», но и сторонние SIP аппараты, а также SIP-софтфоны (Zoiper, MicroSIP, PhonerLite и так далее). Понятно, что полноценный функционал на таких аппаратах получить не получится, но совершать и принимать вызовы, а также использовать простые функции вполне возможно. В данной статье рассмотрим создание SIP-абонентов на релизах Avaya Aura 5.2 и 6.3 как на одних из самых распространенных. Создание SIP-абонента на релизе Avaya Aura 5.2 на базе медиа-сервера S8300 Подразумевается, что развернут не только Communication Manager (СМ), но и Session Manager (SES), на котором и будет происходить регистрация SIP-абонентов. На релизе 5.2 SIP-абоненты со стороны СМ только создаются как абоненты, но мониторинг их не осуществляется. Для СМ они всегда в состоянии Out of Service. Сначала на СМ создаем абонента. В GEDI может создавать абонентов очень легко и просто. Тут везде доступны подсказки, а выбор осуществляется с помощью мышки. Например, при нажатии на правую кнопку мыши в поле Type появится меню с выбором доступных типов подключаемых аппаратов. В консоли все тоже самое, только навигация осуществляется с клавиатуры и подсказки высвечиваются внизу экрана по нажатии F5. Вводим команду add station НОМЕР или NEXT. В случае NEXT будет выбран первый свободный номер из доступного номерного плана. Дальше будут приведены скриншоты с применением GEDI. Выбираем тип аппарата 9630SIP. В принципе можно выбрать любой тип аппарата, но аппараты 96хх серии являются более современными, а 9630 является средним аппаратом из этой серии. При этом поле Port будет автоматически выбран IP. Также лучше выставить IP SoftPhone? в y, что даст возможность использовать этот номер для регистрации софтфона. Поле Security Code НЕ ЗАПОЛНЯЕМ! Пароль для регистрации данного абонента будем вводить позже. Остальные настройки ничем не отличаются от настройки обычных абонентов. Остальные настройки ничем не отличаются от настройки обычных абонентов. Если необходимо настроить переадресацию при вызовах на этот номер, то настраиваем её на 3 странице: Unconditional – переадресация всех вызовов; Busy – переадресация при занятости абонента; No Reply – переадресация по неответу абонента; По каждому виду можно настраивать отдельно переадресацию для внутренних и внешних вызовов. Особенностью настройки SIP-абонента является необходимость указывать номер SIP-транка, созданного между СМ и SES. Дальше подключаемся через веб-браузер по адресу нашего CM и через Administration → SIP Enablemend Services попадаем в управление нашего SES. Далее Users → Add добавляем учетную запись для регистрации созданного ранее SIP-абонента. Важно: пароль для создаваемой учетной записи мы вводим именно на SES. В открывшейся форме заполняем: Primary Handle – указываем созданный ранее в СМ номер; User ID – указываем тот же номер; Password, Confirm Password – вводим и подтверждаем пароль для регистрации учетной записи; Host – указываем адрес SES, где будет регистрироваться абонент; First Name, Last Name – вводим имя и фамилию абонента; HostAdd Communication Manager Extension – ОБЯЗАТЕЛЬНО! отмечаем этот. Это позволит сразу перейти к настройке связанности регистрируемого аккаунта с номером в СМ; Далее нажимаем Add и Continue для сохранения настроек. После этого добавляем номер, созданный ранее на СМ для привязки созданного аккаунта к номеру. Далее нажимаем Add и Continue для сохранения настроек. Создание SIP-абонента на релизе Avaya Aura 6.3 Тут все немного проще. Настройка производится через System Manager. Он выполняет роль общей точки входа, объединяющей СМ и SES. Подключаемся по адресу System Manager. Далее User → User Management → Manage Users: На первой вкладке Identity вносим общую информацию о пользователе: заполняем поля, отмеченные звездочками. Имя и фамилию можно писать по-русски, они будут автоматически переведены в латиницу. Login name – вводится в формате НОМЕР@ДОМЕН (который заведен в System Manager заранее) Важно – пароль на этой странице не вводим! Переходим на вторую, основную вкладку Communication Profile, где и проводятся основные настройки. Именно тут и вводится пароль для регистрации абонента. Но вводить его нужно после заполнения всей необходимой информации, перед сохранением. Сначала добавляем Communication Address. Нажимаем New и заполняем форму: Type – автоматически подставится Avaya SIP; Handle – вводим номер абонента; Domain – выбираем из списка. Как правило он один и заведен в System Manager заранее; Далее заполняем 2 профайла: Session Manager Profile (данные, необходимые для регистрации); CM Endpoint Profile (данные, по которым будет создан абонент в Communication Manager); После заполнения нажимаем вверху страницы кнопку Commit для сохранения введенной информации. Для настроек самого абонента со стороны Communication Manager нажимаем View Endpoint. На вкладке General Options указываем номер SIP-транка, уровень ограничений (COR и COS) и так далее. На следующей вкладке Feature Options указываем необходимые функции данного абонента. В том числе отмечаем и IP SoftPhone, необходимую для использования SIP-софтфонов. После настройки сохраняем через кнопку Done. Теперь вводим и подтверждаем пароль для регистрации через этот профайл вверху страницы: Сохраняем и применяем настройки через кнопку Commit & Continue вверху страницы: На этом настройка SIP-абонента закончена. Теперь с использованием указанных данных можно зарегистрировать как сторонний SIP-аппарат, так и SIP-софтфон.
img
Если вы начинающий веб-разработчик, возможно вы уже знаете, как работает всемирная сеть, по крайней мере, на базовом уровне. Но когда начинаете кому-то объяснять принцип работы веб-сайта, то терпите неудачу. Что такое IP-адрес? Как работает модель «клиент-сервер» на самом деле? В наши дни есть достаточно мощные фреймворки, которые можно использовать в своих проектах. Настолько мощные, что начинающие разработчики легко могут запутаться в принципах работы веб. Базовый веб-поиск Начнем с того места, где мы все были раньше: введите «www.github.com» в адресную строку браузера и просмотрите загрузку страницы. С первого взгляда может показаться, что тут происходит какая-то магия. Но давайте заглянем глубже. Определение частей web Из-за обилия жаргонных слов, понимание работы интернета поначалу пугает. Но к сожалению, для дальнейшего погружения в тему, придется разобраться с ними. Клиент: Приложение, например, Chrome или Firefox, которое запущено на компьютере и подключено к Интернету. Его основная роль состоит в том, чтобы принимать пользовательские команды и преобразовывать их в запросы к другому компьютеру, называемому веб-сервером. Хотя мы обычно используем браузер для доступа к Интернету, вы можете считать весь ваш компьютер «клиентом» модели клиент-сервер. Каждый клиентский компьютер имеет уникальный адрес, называемый IP-адресом, который другие компьютеры могут использовать для идентификации. Сервер: Компьютер, который подключен к Интернету и также имеет IP-адрес. Сервер ожидает запросов от других машин (например, клиента) и отвечает на них. В отличие от вашего компьютера (т.е. клиента), который также имеет IP-адрес, на сервере установлено и работает специальное серверное программное обеспечение, которое подсказывает ему, как реагировать на входящие запросы от вашего браузера. Основной функцией веб-сервера является хранение, обработка и доставка веб-страниц клиентам. Существует множество типов серверов, включая веб-серверы, серверы баз данных, файловые серверы, серверы приложений и многое другое. Подробнее про сервера можно прочитать тут IP-адрес: Internet Protocol Address. Числовой идентификатор устройства (компьютера, сервера, принтера, маршрутизатора и т.д.) в сети TCP/IP. Каждый компьютер в Интернете имеет IP-адрес, который он использует для идентификации и связи с другими компьютерами. IP-адреса имеют четыре набора чисел, разделенных десятичными точками (например, 244.155.65.2). Это называется «логический адрес». Для определения местоположения устройства в сети логический IP-адрес преобразуется в физический адрес программным обеспечением протокола TCP/IP. Этот физический адрес (т.е. MAC-адрес) встроен в оборудование. Подробнее про IP-адрес можно прочитать тут Интернет-провайдер: Интернет-провайдер. Интернет-провайдер - посредник между клиентом и серверами. Для типичного домовладельца ИП обычно является «кабельной компанией». Когда браузер получает от вас запрос на переход к www.github.com, он не знает, где искать www.github.com. Это задание поставщика услуг Интернета - выполнить поиск DNS (системы доменных имен), чтобы спросить, на какой IP-адрес настроен сайт, который вы пытаетесь посетить. DNS: система доменных имен. Распределенная база данных, которая хранит соответствие доменных имен компьютеров и их IP-адресов в Интернете. Не беспокойтесь о том, как сейчас работает «распределенная база данных»: просто знайте, что DNS существует, чтобы пользователи могли вводить www.github.com вместо IP-адреса. Подробнее про DNS можно прочитать тут Имя домена: используется для идентификации одного или нескольких IP-адресов. Пользователи используют доменное имя (например, www.github.com) для доступа к веб-сайту в Интернете. При вводе имени домена в обозреватель DNS использует его для поиска соответствующего IP-адреса данного веб-сайта. TCP/IP: Наиболее широко используется протокол связи. «Протокол» - это просто стандартный набор правил для чего-либо. TCP/IP используется в качестве стандарта для передачи данных по сетям. Подробнее про TCP/IP можно прочитать тут Номер порта: 16-разрядное целое число, которое идентифицирует определенный порт на сервере и всегда связано с IP-адресом. Он служит способом идентификации конкретного процесса на сервере, на который могут пересылаться сетевые запросы. Хост: Компьютер, подключенный к сети - это может быть клиент, сервер или любой другой тип устройства. Каждый хост имеет уникальный IP-адрес. Для веб-сайта, как www.google.com, хост может быть веб-сервером, который обслуживает страницы для веб-сайта. Часто между хостом и сервером происходит какая-то путаница, но заметьте, что это две разные вещи. Серверы - это тип хоста - это конкретная машина. С другой стороны, хост может ссылаться на всю организацию, которая предоставляет службу хостинга для обслуживания нескольких веб-серверов. В этом смысле можно запустить сервер с хоста. HTTP: протокол передачи гипертекста. Протокол, используемый веб-браузерами и веб-серверами для взаимодействия друг с другом через Интернет. URL: URL-адреса идентифицируют конкретный веб-ресурс. Простой пример https://github.com/someone. URL указывает протокол («https»), имя хоста (github.com) и имя файла (чья-то страница профиля). Пользователь может получить веб-ресурс, идентифицированный по этому URL-адресу, через HTTP от сетевого хоста, доменное имя которого github.com. Подробнее про URL можно прочитать тут Переход от кода к веб-странице Теперь у нас есть необходимая база, чтобы разобраться, что происходит за кулисами, когда мы вводим в строку поиска адрес Github: 1) Введите URL-адрес в браузере 2) Браузер анализирует информацию, содержащуюся в URL. Сюда входят протокол («https»), доменное имя («github.com») и ресурс («/»). В этом случае после «.com» нет ничего, что указывало бы на конкретный ресурс, поэтому браузер знает, как получить только главную (индексную) страницу. 3) Браузер связывается с поставщиком услуг Интернета, чтобы выполнить DNS-поиск IP-адреса для веб-сервера, на котором размещен веб-сервер www.github.com. Служба DNS сначала свяжется с корневым сервером имен, который просматривает https://www.github.com и отвечает IP-адресом сервера имен для домена верхнего уровня .com. Получив этот адрес служба DNS выполняет еще один запрос на сервер имен, который отвечает за домен .com и запрашивает адрес https://www.github.com. 4) Получив IP-адрес сервера назначения, Интернет-провайдер отправляет его в веб-браузер. 5) Ваш браузер берет IP-адрес и заданный номер порта из URL (протокол HTTP по умолчанию - порт 80, а HTTPS - порт 443) и открывает TCP-сокет. На этом этапе связь между веб-браузером и веб-сервер наконец-то установлена. 6) Ваш веб-браузер отправляет HTTP-запрос на веб-сервер главной HTML-страницы www.github.com. 7) Веб-сервер получает запрос и ищет эту HTML-страницу. Если страница существует, веб-сервер подготавливает ответ и отправляет его обратно в браузер. Если сервер не может найти запрошенную страницу, он отправляет сообщение об ошибке HTTP 404 (тот самый Error 404 Not Found), которое означает «Страница не найдена». 8) Ваш веб-браузер берет HTML-страницу, которую он получает, а затем анализирует ее, делая полный обзор, чтобы найти другие ресурсы, которые перечислены в ней: это адреса изображений, CSS файлов, JavaScript файлов и т.д. 9) Для каждого перечисленного ресурса браузер повторяет весь указанный выше процесс, делая дополнительные HTTP-запросы на сервер для каждого ресурса. 10) После того, как браузер закончит загрузку всех других ресурсов, перечисленных на странице HTML, страница будет загружена в окно браузера и соединение будет закрыто. Пересечение Интернет-пропасти Стоит отметить, как информация передается при запросе информации. Когда вы делаете запрос, эта информация разбивается на множество крошечных порций, называемых пакетами. Каждый пакет маркируется заголовком TCP, который включает в себя номера портов источника и назначения, и заголовком IP, который включает в себя IP-адреса источника и назначения. Затем пакет передается через сеть Ethernet, WiFi или сотовую сеть. Пакет может перемещаться по любому маршруту и проходить столько транзитных участков, сколько необходимо для того, чтобы добраться до конечного пункта назначения. И пакеты передаются отнюдь не в том, порядке, в котором они сформировались. Например, первый пакет может прийти третьим, а последний первым. Нам на самом деле все равно, как пакеты туда попадут - важно только то, что они доберутся до места назначения в целости и сохранности! Как только пакеты достигают места назначения, они снова собираются и доставляются как единое целое. Так как же все пакеты знают, как добраться до места назначения без потери? Ответ: TCP/IP. TCP/IP - это двухкомпонентная система, функционирующая как фундаментальная «система управления» Интернета. IP означает Интернет-протокол; его задачей является отправка и маршрутизация пакетов на другие компьютеры с использованием заголовков IP (т.е. IP-адресов) каждого пакета. Вторая часть, протокол управления передачей (TCP), отвечает за разбиение сообщения или файла на меньшие пакеты, маршрутизацию пакетов к соответствующему приложению на целевом компьютере с использованием заголовков TCP, повторную отправку пакетов, если они теряются в пути, и повторную сборку пакетов в правильном порядке, как только они достигают другого конца. Получение финальной картины Но подождите - работа еще не закончена! Теперь, когда ваш браузер имеет ресурсы, составляющие веб-сайт (HTML, CSS, JavaScript, изображения и т.д.), он должен пройти несколько шагов, чтобы представить вам ресурсы в виде читабельной для нас с вами веб-страницы. В браузере имеется механизм визуализации, отвечающий за отображение содержимого. Обработчик рендеринга получает содержимое ресурсов в небольших фрагментах. Затем существует алгоритм синтаксического анализа HTML, который сообщает браузеру, как анализировать ресурсы. После анализа создается древовидная структура элементов DOM. DOM (Document Object Model) обозначает объектную модель документа и является условным обозначением для представления объектов, расположенных в HTML-документе. Этими объектами - или «узлами» - каждого документа можно управлять с помощью таких языков сценариев, как JavaScript. После построения дерева DOM анализируются таблицы стилей, чтобы понять, как определить стиль каждого узла. Используя эту информацию, браузер проходит вниз по узлам DOM и вычисляет стиль CSS, положение, координаты и т.д. для каждого узла. После того как в браузере появятся узлы DOM и их стили, он наконец готов соответствующим образом нарисовать страницу на экране. Результат – все, что вы когда-либо просматривали в интернете. Итог Интернет - это комплексная вещь, но вы только что закончили сложную часть! О структуре веб-приложений мы расскажем в нашей следующей статье.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59