По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Рост статичных веб-сайтов является доказательством того, что старые вещи возвращаются раз за разом. Сегодня как малые, так и крупные предприятия используют статические веб-сайты и свои расширенные преимущества. Статические веб-сайты вернулись, сильнее, чем когда-либо. Но в чем причина, которая стимулировала внезапный рост статических сайтов? Ну, тенденции в веб-разработке приходят и уходят, но одно остается постоянным всегда - желание иметь высокоэффективный сайт. Кроме того, поведение конечных пользователей быстро меняется, поскольку они ожидают быстрой загрузки страницы и более привлекательного опыта без места для разочарования. Чтобы удовлетворить этот спрос, веб-разработчики постоянно добавляют к веб-сайтам и приложениям больше функций. Но в процессе этого производительность веб-сайта оказывается под угрозой. Вот где статичные веб-сайты приходят на сцену! Что такое статичный веб-сайт? Существует распространенный миф, что статичные веб-сайты - это новая технология. На самом деле, статичные сайты – это самые первые сайты эпохи Интернета. Ранее для создания веб-сайта разработчики использовали чистый HTML, JavaScript и CSS без библиотек, плагинов или фреймворков. Проще говоря, контент на статичном веб-сайте остается одинаковым после каждого посещения, в отличие от динамического, где он меняется. Сервер создает эти статичные файлы и возвращает их браузерам. Эти веб-сайты могут извлекать данные практически из любого места, включая API, CMS и другие файлы данных. Такой веб-сайт отбрасывает ненужные сложности и в основном фокусируется на повышении эффективности и производительности. Она не опирается на базы данных; вместо этого он включает базовые HTML, JavaScript и CSS для создания невесомых бизнес-профилей и целевых страниц. В результате это помогает избавиться от долгих загрузок и раздражающих задержек. Таким образом, разработчики могут создавать быстрые, надежные и эффективные приложения, предлагая пользователям хорошие впечатления от работы на вашем сайте с меньшим временем разработки. Какие плюсы использования статичных веб-сайтов? Скорость Так как отсутствуют бэкэнд система, запросы клиент-сервер или запросы к базам данных, связанных с доставкой статического веб-сайта, такие сайты демонстрирует высочайшую производительность, поскольку его серверы всегда готовы к HTML-выводам. Кроме того, он может включать в себя функцию кэширования для устранения задержек. Безопасность Из-за отсутствия базы данных, а также подключаемых модулей и расширений статичные веб-сайты предлагают гораздо большую безопасность, чем динамический веб-сайт. Таким образом, вы избежите фишинговых кампаний, онлайн-отслеживаний, вредоносных программ или любой потери данных. Расширяемость Масштабирование статичных веб-сайтов относительно проще, в то время как сложные приложение более стабильны. Ввиду статичности файлов уменьшается нагрузка на серверы, а те легко справляются с обработкой огромного трафика. Хостинг и доступность Базовые HTML файлы требуют меньше места, что упрощает размещение этих веб-сайтов. Можно сократить расходы, направляя ресурсы на интеграцию автоматизированных сборок или Git для включения модификаций в систему. Звучит круто? Если ответ утвердительный, давайте выясним лучшие платформы, где можно разместить статичный веб-сайт, чтобы начать использовать его преимущества. 1. Netlify С помощью Netlify можно публиковать веб-проекты из репозиториев Git без сложных настроек и навыков обслуживания сервера. Поддерживается автоматизация процессов с помощью конвейера CI/CD для разработчиков веб-сайтов. Также есть возможность предварительного просмотра всего сайта, чтобы увидеть, как будет выглядеть веб-сайт, прежде чем публиковать его. Развернув статичный веб-сайт в глобальной сети CDN с несколькими облаками – Edge, вы получите хорошую производительность. Netlify поддерживает множество сторонних приложений и инструментов, включая такие надстройки, как Analytics, Identity, Forms и база данных Fauna. Netifly предоставляет удобные инструменты для автоматизации рабочих процессов, в том числе с помощью Atomic можно упростить развертывание новых сайтов, можно делать неограниченное количество снимков состояния и откатывать до них, можно назначать пользовательские заголовки, управлять DNS, перенаправлением и правилам прокси. Netlify размещает веб-сайт в отказоустойчивой глобальной сети доставки приложений для непрерывного и быстрого обслуживания веб-страниц. Можно также управлять зонами DNS с помощью их панели мониторинга. Автоматического HTTPS обеспечивает безопасность сайта, так как Netlify предлагает сертификат TLS бесплатно. Она обеспечивает расширенные функции, управляемые API, без сложных интеграций. Он предлагает шлюз API, управление доступом к данным на основе JWT, прокси-заголовки для аутентификации, сохраненные переменные и вебхуки. Благодаря Netlify Analytics можно получить подробную информацию о посетителях веб-сайта, источниках, просмотрах страниц и т.д. Также можно использовать функции AWS Lambda, управлять подписями, восстановлением паролей, входами в систему и т. д. без развертывания службы аутентификации. Управление отправками и формами без внедрения JavaScript или дополнительных кодов. Netlify Large Media позволяет управлять большими ресурсами и контролем версий файлов независимо от их размера. 2. Google Cloud Storage Высокая безопасность и масштабируемость платформы Google Cloud расширяет возможности компаний любого размера, от индивидуальных разработчиков до крупных предприятий. Возможность управления жизненным циклом объектов (Object Lifecycle Management OLM), которое можно использовать для настройки автоматического перехода всех данных на более недорогие хранилища. Можно легко устанавливать критерии для данных и управлять ими. Google Cloud включает в себя растущий список глобальных центров обработки данных с достаточно большим количеством вариантов автоматического резервирования. Можно выбрать расположение и способ хранения данных, чтобы оптимизировать веб-сайт для быстрого реагирования и создать полный план аварийного восстановления. С помощью класса хранения можно определить модель ценообразования, а также доступность, применимую к хранению данных. Вы можете выбрать из четырех возможных вариантов: Стандарт Nearline - один раз в месяц Coldline - раз в квартал Архивирование один раз в год Google Cloud предлагает управление версиями объектов, которое позволяет хранить копии объектов в случае их перезаписи или удаления. Можно определить периоды хранения данных перед безвозвратным удалением. Можно даже прикрепить объект, чтобы предотвратить его удаление. Шифрование и хранение объектных данных с помощью ключей шифрования, хранящихся в службе управления облачными ключами. Можно отключить ACL объектов для равномерного управления доступом к ресурсам в Google Cloud. Функция Bucket Lock включена для настройки политик хранения данных. Отправка уведомлений при создании, удалении или обновлении объектов. Ведение журналов доступа к данным и активности, и управление разрешениями доступа с помощью облачного управления удостоверениями и доступом (IAM). Google Cloud предлагает интегрированные репозитории для машинного обучения и аналитики. Альтернативы облачным хранилищам Google: Amazon S3 Amazon S3 включает прямые функции управления, чтобы позволить Вам организовать и настроить данные. Он предназначен для обеспечения высокой долговечности и хранения данных для огромного числа приложений. Amazon S3 может создать копии объекта, предлагает доступные тарифы для мест хранения, обладает возможностями аудита и утверждает, что соблюдает строгие меры безопасности как собственные в виде S3 Block Public Access, так и известные стандарты соответствия PCI-DSS, HITECH/HIPAA, FISMA, и т.д. Vultr Vultr поддерживает гибкую интеграцию через S3 API и предоставляет масштабируемому по требованию архитектуру, на которую вы можете полагаться. Она использует кэширование NVMe для обеспечения сверхпроизводительности и постоянной доступности данных. Можно также хранить статические данные мультимедиа, такие как изображения, видео и аудио. 3. Surge Surge предоставляет разработчику простой путь для развертывания проектов на высококачественном CDN через Grunt, NPM и Gulp. С каждым проектом можно использовать поддержку настраиваемого домена, поддержку pushState, бесплатную сертификацию SSL для доменов Surge, пользовательские страницы ошибок 404, развертывание CLI без ограничений, интеграцию с цепью инструментов Grunt и перекрестную поддержку ресурсов. Surge интегрируется с инструментом сборки, который используется для упрощения развертывания. Такие инструменты включают плагин Grunt, плагин Gulp, скрипт npm, хуки Git, Jekyll, Node.js, статические генераторы сайтов, службы CI и другие инструменты автоматического развертывания. Пригласите своих коллег и сотрудников. Все, что вам нужно для публикации содержимого на вашем веб-сайте – это ввести одну команду. 4. Render Легко разворачивайте статичный сайт в Render. Просто привяжите GitLab или репозиторий GitHub, и пусть он создаст ваш веб-сайт и обслуживает его на глобальном CDN. Лучше всего то, что статичные сайты с трафиком до 100 ГБ в месяц на Render можно размещать совершенно бесплатно. После превышения данного лимита за каждый гигабайт придется платить $0,10 в месяц. Render предлагает автоматическое и непрерывное развертывание и превентивное аннулирование кэша. Можно бесплатно присоединять к проекту сотрудников, чтобы получить их помощь в управлении сайтом. Render предлагает функцию Pull Request Preview, которая позволяет автоматически тестировать и просматривать введенные изменения перед публикацией. Хостинг предоставляет подробные графики пропускной способности, встроенную поддержку HTTP/2 для повышения скорости загрузки страниц, возможности перезаписи и перенаправления, поэтому для повышения производительности и безопасности не требуется писать дополнительный код и пользовательские заголовки HTTP. Для повышения производительности Render предлагает автоматическое сжатие Brotli, которое уменьшает размеры страниц и ускоряет работу сайтов. Render также включает автоматические перенаправления с HTTP на HTTPS, а также неограниченное количество пользовательских доменов. Помимо поддержки простых HTML/JavaScript/CSS сайтов, он предлагает мощные генераторы сайтов, такие как Create React Application, Jekyll, Vue.js, Gatsby, Hugo, Next.js и Docusaurus. Его глобальная сеть CDN невероятно быстрая, безопасная и надежная, и они также кэшируют весь ваш контент по всему миру, чтобы обеспечить наилучшие возможности для пользователей. 5. GitHub Pages Отдельные разработчики и желающие разместить статичные веб-сайты и развернуть коды онлайн могут использовать GitHub бесплатно. Добавить настраиваемый домен просто: для этого достаточно включить файл CNAM в свою учетную запись. Для создания статичного кода можно создать новый репозиторий из панели управления учетными записями и развернуть его с помощью поддомена, чтобы протестировать его. GitHub предоставляет вам один веб-сайт для каждой учетной записи GitHub, а также организацию вместе с неограниченными сайтами проектов. 6. Firebase Хотите статический хостинг сайта производственного уровня? Firebase - хороший вариант! В дополнение к размещению сайта, вы можете использовать его базу данных в реальном времени вместе с хранилищем файлов. Он предлагает бесплатный SSL сертификат и индивидуальный домен, даже в бесплатном тарифном плане. Однако для увеличения пропускной способности и объема хранилища можно купить платную версию. С помощью Firebase можно развернуть не только личный веб-сайт, но и одностраничное веб-приложение, прогрессивное веб-приложение и целевую страницу мобильного приложения без проблем. Не имеет значения, откуда пользователь обращается к вашему сайту; Firebase обеспечивает высокую производительность с помощью твердотельных накопителей на эффективных CDN. Вы получаете автоматически настроенный SSL абсолютно бесплатно для каждого сайта. Пользователи также могут подключать свои домены без нудной проверки. Развертывание сайта также возможно с помощью одной команды, и можно выполнить откат к предыдущей версии или просмотреть историю развертываний через консоль Firebase. 7. Vercel Платформа Vercel, которую можно назвать платформой все в одном, предлагает развертывание JAMStack и Static веб-сайтов. Она не требует настройки и работает с любым типом веб-инфраструктуры. С каждым сайтом вы получаете предварительный URL-адрес, которым вы можете поделиться со своей группой для совместной работы. Vercel обеспечивает высочайшую производительность сайта благодаря масштабируемым и упрощенным развертываниям. Просто перейдите в Git, чтобы оживить ваш сайт. Он поддерживает популярные фронтэнд-фреймворки, такие как Next.js, Vue.js, React, Angular, Gatsby, Hugo, Nuxt, Ember и Svelte. На данной платформе можно запускать мгновенные тесты для каждого развертывания, а затем выпускать их с полной уверенностью. Это облегчает интеграцию с такими поставщиками Git, как GitHub, Bitbucket и GitLab. Кроме того, Vercel предлагает динамическое восстановление сайта с помощью развертываемых хуков, что удобно при работе с CMS. Можно создать одну страницу за один раз, поэтому не нужно перестраивать весь сайт. Vercel благодаря своим сверхбыстрым глобальным CDN, расположенным в 70 городах, гарантирует доступность в 99,99%. Заключение Статичные сайты еще не забыты. Особенно сегодня, когда угрозы в Интернете вызывают наибольшую обеспокоенность во всем мире, статичные сайты становятся еще сильнее, чем когда-либо, чтобы снова управлять Интернетом и поддерживать ваш бизнес.
img
Второй метод, который мы можем использовать для настройки адреса, называется EUI-64 (расширенный уникальный идентификатор). Он может быть использован для того, чтобы заставить роутер генерировать свой собственный идентификатор интерфейса вместо того, чтобы вводить его самостоятельно. Роутер будет принимать MAC-адрес своего интерфейса и использовать его в качестве идентификатора интерфейса. Однако MAC-адрес - это 48 бит, а идентификатор интерфейса-64 бит. Что мы будем делать с недостающими частями? В первой части статьи мы рассказывали о стандартной настройке IPv6 на оборудовании Cisco Вот что мы сделаем, чтобы заполнить недостающие биты: Мы берем MAC-адрес и делим его на две части; Мы вставляем "FFFE" между двумя частями, так что бы у нас получилось 64-битное значение; Мы инвертируем 7-й бит идентификатора интерфейса. Например, если мой MAC-адрес 1234.5678.ABCD тогда, после преобразования идентификатор интерфейса получиться: Выше вы видите, как мы разделяем MAC-адрес и помещаем FFFE в середину. "Инвертирование 7-го бита" не является заключительным шагом. Для этого вам нужно преобразовать первые два шестнадцатеричных символа первого байта в двоичный, найти 7-й бит и инвертировать его. Это означает, что если это 0, то вам нужно сделать его 1, а если это 1, то он должен стать 0. 7-й бит представляет собой "универсальный уникальны" бит. По умолчанию в MAC-адресе этот бит всегда будет установлен в 0. При изменении MAC-адреса этот бит должен быть установлен на 1. Обычно люди не меняют MAC-адрес этого роутера, что означает, что EUI-64 будет самостоятельно менять 7-й бит с 0 на 1. Вот как это выглядит: Мы берем первые два шестнадцатеричных символа первого байта, которые являются "12", и преобразуем их обратно в двоичный код. Затем мы инвертируем 7-й бит от 1 до 0 и снова делаем его шестнадцатеричным. Так что на самом деле мой идентификатор интерфейса EUI-64 будет выглядеть следующим образом: Теперь давайте взглянем на конфигурацию EUI-64 на роутере! Я буду использовать 2001:1234:5678:abcd::/64 в качестве префикса: OFF1(config)#interface fastEthernet 0/0 OFF1(config-if)#ipv6 address 2001:1234:5678:abcd::/64 eui-64 В этом случае настроен роутер с префиксом IPv6 и с использованием EUI-64 в конце. Именно так мы можем автоматически генерировать идентификатор интерфейса, используя mac-адрес. Теперь взгляните на IPv6-адрес, который он создал: OFF1#show interfaces fastEthernet 0/0 | include Hardware Hardware is Gt96k FE, address is c200.185c.0000 (bia c200.185c.0000) OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 No Virtual link-local address(es): Global unicast address(es): 2001:1234:5678:ABCD:C000:18FF:FE5C:0, subnet is 2001:1234:5678:ABCD::/64 [EUI] Видите эту часть C000:18FF:FE5C:0? Это MAC-адрес, который разделен на 2, FFFE в середине и "2" в "C200" MAC-адреса были инвертированы, поэтому теперь он отображается как "C000". Когда вы используете EUI-64 на интерфейсе, который не имеет MAC-адреса, то он выберет MAC-адрес самого низкого нумерованного интерфейса на роутере. При использовании EUI-64 вы должны ввести 64-битный префикс, а не полный 128-битный IPv6 адрес. Если вы сделаете это, вы не получите ошибку, но Cisco IOS будет только сохранять 64-битный префикс, и в любом случае сгенерирует идентификатор интерфейса. Скорее всего вы, вероятно, не будете использовать EUI-64 на роутере для настройки интерфейса, но это очень полезный метод для обычных хостов, таких как компьютеры windows, linux или mac. Вы, возможно, настроите IPv6-адрес вручную на интерфейсе вашего роутера или используете метод автоконфигурации, такой как DHCP или SLAAC. Когда вы внимательно посмотрите на выходные данные show ipv6 interface, вы можете заметить, что там есть еще один IPv6-адрес: OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 Кстати, про теоретические основы IPv6 можно изучить тут Этот адрес называется локальным адресом связи (link-local address), и он имеет некоторые специальные цели для IPv6. Каждое устройство с включенным IPv6 автоматически генерирует локальный адрес связи. Эти адреса являются одноадресными, не могут быть маршрутизированы и используются только в пределах подсети, поэтому они называются "link-local". Некоторые протоколы используют локальные адреса связи вместо глобальных одноадресных адресов, хорошим примером является NDP (Neighbour Discovery Protocol), который используется для обнаружения MAC-адресов других устройств IPv6 в подсети (NDP заменяет ARP для IPv4). Протоколы маршрутизации также используют эти локальные адреса связи для установления соседних областей, а также в качестве следующего перехода для маршрутов. Мы увидим это, когда будем говорить о маршрутизации IPv6. Адресное пространство FE80:: / 10 было зарезервировано для link-local, которые охватывают FE8, FE9, FEA и FEB. Однако RFC, описывающий link-local, утверждает, что следующие 54 бита должны быть нулями, поэтому link-local всегда будут выглядеть так: link-local всегда будет начинаться с FE80:0000:0000:0000, а ID можно настроить с помощью различных методов. Роутеры Cisco будут использовать EUI-64 для создания идентификатора интерфейса, в то время как другие операционные системы, такие как Microsoft, используют случайный метод для создания идентификатора интерфейса. В приведенном ниже примере вы можете видеть, что EUI-64 был использован для создания link-local: OFF1#show interfaces fastEthernet 0/0 | include Hardware Hardware is Gt96k FE, address is c200.185c.0000 (bia c200.185c.0000) OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 Первая часть-это FE80:: и вторая часть - это созданный идентификатор интерфейса EUI-64: C000:18FF:FE5C:0 Когда вы настраиваете IPv6-адрес на интерфейсе (глобальный одноадресный или уникальный локальный) или когда вы включаете IPv6 на интерфейсе, вы можете сделать это следующим образом: OFF1(config)#interface fa0/0 OFF1(config-if)#ipv6 enable Использование команды ipv6 enable роутеру создать link-local адрес. OFF1#show ipv6 int fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:15FF:FE94:0 По умолчанию Cisco IOS будет использовать EUI-64 для создания link-local адреса, но вы также можете настроить его самостоятельно. Просто убедитесь, что адрес начинается с FE80:: / 10 (FE8, FE9, FEA или FEB). Вот как вы можете настроить link-local адрес: OFF1(config-if)#ipv6 address FE90:1234:5678:ABCD::1 link-local Просто используйте ключевое слово link-local, чтобы сообщить роутеру, что это должен быть адрес link-local. Давайте проверим это: OFF1#show ipv6 int fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE90:1234:5678:ABCD::1 Помимо link-local адресов существует еще один тип адресации, который мы должны обсудить, и это multicast. Я надеюсь, вы обладаете званиями об одноадресных и широковещательных доменах. Когда хост отправляет широковещательную передачу, все остальные устройства в подсети получат ее независимо от того, хотят они этого или нет. Отправка широковещательных сообщений очень неэффективна, и они были удалены из IPv6. Многоадресная рассылка также используется для отправки чего-то с одного хоста на несколько приемников, но разница заключается в том, что многоадресный трафик заканчивается только на хостах, которые хотят его получить. Каждый, кто прослушивает определенный адрес многоадресной рассылки, получит эти пакеты. Это просто как радиостанция, если вы хотите слушать...вы должны настроиться на нужную частоту. IPv6 использует многоадресную рассылку по многим причинам. Узлы IPv6, которые хотят отправить что-то всем узлам, работающим под управлением IPv6, могут использовать адрес многоадресной рассылки FF02::1. Все, у кого включен IPv6, слушают этот адрес. Когда роутер IPv6 хочет отправить что-то всем другим роутерам IPv6 (но не хостам!) он может отправить его в FF02:: 2. Протоколы маршрутизации также используют многоадресные адреса. Например, EIGRP уже использует виде FF02::A и OSPF использует виде FF02::5 и виде FF02::6. Многоадресный трафик маршрутизируется, но часть трафика должна оставаться в пределах подсети. Если это так, то эти адреса будут иметь link-local область, и они не будут перенаправляться роутерами из одной подсети в другую. Диапазон FF00:: / 8 был зарезервирован для многоадресной рассылки IPv6, в то время как диапазон FF02::/16 зарезервирован для многоадресных адресов link-local области. На роутере Cisco вы можете видеть по интерфейсу, к которому многоадресные адреса роутер прослушивает: OFF1#show ipv6 int fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE90:1234:5678:ABCD::1 No Virtual link-local address(es): No global unicast address is configured Joined group address(es): FF02::1 FF02::2 FF02::1:FF00:1 Этот конкретный роутер прослушивает адреса многоадресной рассылки "все хосты IPv6" и "все роутеры IPv6". Как только вы настроите OSPF или EIGRP для IPv6, вы заметите, что интерфейс присоединится к соответствующим адресам многоадресной рассылки. Третий адрес, который у нас есть (FF02::1:FF00:1), называется адресом многоадресной рассылки запрошенного узла. Он используется для обнаружения соседей. Многоадресный адрес запрашиваемого узла основан на одноадресном IPv6-адресе хоста, а если быть более точным...последние шесть шестнадцатеричных символов одноадресного адреса. Все хосты, имеющие одинаковые 6 шестнадцатеричных символов в своем одноадресном IPv6-адресе, в конечном итоге получат один и тот же адрес запрашиваемого узла. Когда вы отправляете что-то на этот адрес запрашиваемого узла, все хосты с одним и тем же адресом получат пакеты. Это что-то вроде многоадресного адреса "все хосты IPv6", но на этот раз у нас есть отдельная комната, где единственными членами являются VIP-персоны, которые разделяют одни и те же последние 6 шестнадцатеричных символов. Все адреса запрашиваемых узлов начинаются с FF02::1:FF, поэтому они выглядят следующим образом: Мой маршрутизатор имеет запрошенный адрес узла FF02:: 1:FF00:1, а link-local адрес -FE90:1234:5678: ABCD:: 1. Когда мы записываем link-local адрес полностью, это выглядит так: FE90:1234:5678:ABCD:0000:0000:0000:0001 Возьмите последние 6 шестнадцатеричных символов из этого адреса: 00:0001 И поместите их за префиксом адреса запрашиваемого узла, чтобы получить полный адрес запрашиваемого узла: FF02:0000:0000:0000:0000:0001:FF00:0001 Мы можем удалить некоторые нули, чтобы сделать его короче, и это будет выглядеть так: FF02::1:FF00:1
img
Перед тем как начать: это цикл статей. Мы рекомендуем до этого материала ознакомиться со статьей про Interlayer Discovery. Хотя IPv6 является основной темой этих лекций, в некоторых случаях IPv4 представляет собой полезный пример решения; Address Resolution Protocol IPv4 (ARP) является одним из таких случаев. ARP - это очень простой протокол, используемый для решения проблемы межуровневого обнаружения, не полагаясь на сервер любого типа. Рисунок ниже будет использован для объяснения работы ARP. Предположим, A хочет отправить пакет C. Зная IPv4-адрес C, 203.0.113.12 недостаточно, чтобы A правильно сформировал пакет и поместил его на канал связи по направлению к C. Чтобы правильно построить пакет, A также должен знать: Находится ли C на том же канале связи, что и A MAC или физический адрес C Без этих двух частей информации A не знает, как инкапсулировать пакет в канал связи, поэтому C фактически получит пакет, а B проигнорирует его. Как можно найти эту информацию? На первый вопрос, находится ли C на том же канале вязи, что и A, можно ответить, рассмотрев IP-адрес локального интерфейса, IP-адрес назначения и маску подсети. ARP решает вторую проблему, сопоставляя IP-адрес назначения с MAC-адресом назначения, с помощью следующего процесса: Хост A отправляет широковещательный пакет каждому устройству в сети, содержащему адрес IPv4, но не MAC-адрес. Это запрос ARP; это запрос A на MAC-адрес, соответствующий 203.0.113.12. B и D получают этот пакет, но не отвечают, поскольку ни один из их локальных интерфейсов не имеет адреса 203.0.113.12. Хост C получает этот пакет и отвечает на запрос, снова используя unicast пакет. Этот ответ ARP содержит как IPv4-адрес, так и соответствующий MAC-адрес, предоставляя A информацию, необходимую для создания пакетов в направлении C. Когда A получает этот ответ, он вставляет сопоставление между 203.0.113.12 и MAC-адресом, содержащимся в ответе, в локальном кэше ARP. Эта информация будет храниться до истечения времени ожидания; правила тайм-аута записи кэша ARP различаются в зависимости от реализации и часто могут быть настроены вручную. Продолжительность кэширования записи ARP - это баланс между слишком частым повторением одной и той же информации в сети в случае, когда сопоставление IPv4-адресов с MAC-адресами не меняется очень часто, и отслеживанием любых изменений в расположении устройство в случае, когда конкретный адрес IPv4 может перемещаться между хостами. Когда A получает этот ответ, он вставляет сопоставление между 203.0.113.12 и MAC-адресом, содержащимся в ответе, в локальный кэш ARP. Эта информация будет храниться до тех пор, пока не истечет время ожидания; правила для тайм-аута записи кэша ARP варьируются в зависимости от реализации и часто могут быть настроены вручную. Продолжительность кэширования записи ARP - это баланс между тем, чтобы не повторять одну и ту же информацию слишком часто в сети, в случае, когда сопоставление IPv4-MAC-адресов меняется не очень часто, и идти в ногу с любыми изменениями в местоположении устройства, в случае, когда конкретный IPv4-адрес может перемещаться между хостами. Любое устройство, получающее ответ ARP, может принять пакет и кэшировать содержащуюся в нем информацию. Например, B, получив ответ ARP от C, может вставить сопоставление между 203.0.113.12 и MAC-адресом C в свой кэш ARP. Фактически, это свойство ARP часто используется для ускорения обнаружения устройств, когда они подключены к сети. В спецификации ARP нет ничего, что требовало бы от хоста ожидания запроса ARP для отправки ответа ARP. Когда устройство подключается к сети, оно может просто отправить ответ ARP с правильной информацией о сопоставлении, чтобы ускорить процесс начального подключения к другим узлам на том же проводе; это называется gratuitous ARP. Gratuitous ARP также полезны для Duplicate. Gratuitous ARP также полезны для обнаружения дублирующихся адресов (Duplicate Address Detection - DAD); если хост получает ответ ARP с адресом IPv4, который он использует, он сообщит о дублированном адресе IPv4. Некоторые реализации также будут посылать серию gratuitous ARPs в этом случае, чтобы предотвратить использование адреса или заставить другой хост также сообщить о дублирующемся адресе. Что произойдет, если хост A запросит адрес, используя ARP, который не находится в том же сегменте, например, 198.51.100.101 на рисунке 5? В этой ситуации есть две разные возможности: Если D настроен для ответа как прокси-ARP, он может ответить на запрос ARP с MAC-адресом, подключенным к сегменту. Затем A кэширует этот ответ, отправляя любой трафик, предназначенный для E, на MAC-адрес D, который затем может перенаправить этот трафик на E. Наиболее широко распространенные реализации по умолчанию не включают прокси-ARP. A может отправлять трафик на свой шлюз по умолчанию, который представляет собой локально подключенный маршрутизатор, который должен знать путь к любому пункту назначения в сети. IPv4 ARP - это пример протокола, который отображает interlayer идентификаторы путем включения обоих идентификаторов в один протокол. Обнаружение соседей IPv6 IPv6 заменяет более простой протокол ARP серией сообщений Internet Control Message Protocol (ICMP) v6. Определены пять типов сообщений ICMPv6: Тип 133, запрос маршрутизатора Тип 134, объявление маршрутизатора Тип 135, запрос соседа Тип 136, объявление соседа Тип 137, перенаправление Рисунок ниже используется для объяснения работы IPv6 ND. Чтобы понять работу IPv6 ND, лучше всего проследить за одним хостом, поскольку он подключен к новой сети. Хост A на рисунке ниже используется в качестве примера. A начнет с формирования link local address, как описано ранее. Предположим, A выбирает fe80 :: AAAA в качестве link local address. Теперь A использует этот link local address в качестве адреса источника и отправляет запрос маршрутизатору на link local multicast address (адрес многоадресной рассылки для всех узлов). Это сообщение ICMPv6 типа 133. B и D получают этот запрос маршрутизатора и отвечают объявлением маршрутизатора, которое является сообщением ICMPv6 типа 134. Этот одноадресный пакет передается на локальный адрес канала A, используемый в качестве адреса источника, fe80 :: AAAA. Объявление маршрутизатора содержит информацию о том, как вновь подключенный хост должен определять информацию о своей локальной конфигурации в виде нескольких флагов. Флаг M указывает, что хост должен запросить адрес через DHCPv6, потому что это управляемый канал. Флаг O указывает, что хост может получать информацию, отличную от адреса, который он должен использовать через DHCPv6. Например, DNS-сервер, который хост должен использовать для разрешения имен DNS, должен быть получен с помощью DHCPv6. Если установлен флаг O, а не флаг M, A должен определить свой собственный IPv6-адрес интерфейса. Для этого он определяет набор префиксов IPv6, используемых в этом сегменте, исследуя поле информации о префиксе в объявлении маршрутизатора. Он выбирает один из этих префиксов и формирует IPv6-адрес, используя тот же процесс, который он использовал для формирования link local address: он добавляет локальный MAC-адрес (EUI-48 или EUI-64) к указанному префиксу. Этот процесс называется SLAAC. Теперь хост должен убедиться, что он не выбрал адрес, который использует другой хост в той же сети; он должен выполнять DAD. Чтобы выполнить обнаружение повторяющегося адреса: Хост отправляет серию сообщений запроса соседей, используя только что сформированный IPv6-адрес и запрашивая соответствующий MAC-адрес (физический). Это сообщения ICMPv6 типа 135, передаваемые с link local address, уже назначенного интерфейсу. Если хост получает объявление соседа или запрос соседа с использованием того же адреса IPv6, он предполагает, что локально сформированный адрес является дубликатом; в этом случае он сформирует новый адрес, используя другой локальный MAC-адрес, и попытается снова. Если хост не получает ни ответа, ни запроса соседа другого хоста, использующего тот же адрес, он предполагает, что адрес уникален, и назначает вновь сформированный адрес интерфейсу. Устранение ложных срабатываний при обнаружении повторяющегося адреса Процесс DAD, описанный здесь, может привести к ложным срабатываниям. В частности, если какое-то другое устройство на канале связи передает исходные пакеты запроса соседа обратно к A, оно будет считать, что это от другого хоста, требующего тот же адрес, и, следовательно, объявит дубликат и попытается сформировать новый адрес. Если устройство постоянно повторяет все запросы соседей, отправленные A, A никогда не сможет сформировать адрес с помощью SLAAC. Чтобы решить эту проблему, RFC7527 описывает усовершенствованный процесс DAD. В этом процессе A будет вычислять одноразовый номер, или, скорее, случайно выбранную серию чисел, и включать ее в запрос соседей, используемый для проверки дублирования адреса. Этот одноразовый номер включен через расширения Secure Neighbor Discovery (SEND) для IPv6, описанные в RFC3971. Если A получает запрос соседа с тем же значением nonce, который он использовал для отправки запроса соседа вовремя DAD, он сформирует новый одноразовый номер и попытается снова. Если это произойдет во второй раз, хост будет считать, что пакеты зацикливаются, и проигнорирует любые дальнейшие запросы соседей с собственным одноразовым номером в них. Если полученные запросы соседей имеют одноразовый номер, отличный от того, который выбрал локальный хост, хост будет предполагать, что на самом деле существует другой хост, который выбрал тот же адрес IPv6, и затем сформирует новый адрес IPv6. Как только у него есть адрес для передачи данных, A теперь требуется еще одна часть информации перед отправкой информации другому хосту в том же сегменте - MAC-адрес принимающего хоста. Если A, например, хочет отправить пакет в C, он начнет с отправки multicast сообщения запроса соседа на C с запросом его MAC-адреса; это сообщение ICMPv6 типа 135. Когда C получает это сообщение, он ответит с правильным MAC-адресом для отправки трафика для запрошенного IPv6-адреса; это сообщение ICMPv6 типа 136. В то время как предыдущий процесс описывает объявления маршрутизатора, отправляемые в ответ на запрос маршрутизатора, каждый маршрутизатор будет периодически отправлять объявления маршрутизатора на каждом подключенном интерфейсе. Объявление маршрутизатора содержит поле lifetime, указывающее, как долго действует объявление маршрутизатора. А теперь почитайте о проблемах шлюза по умолчанию. У нас получился отличным материал на эту тему.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59