Добрый день!
Вы никогда не задумывались, как ваш мобильный телефон преобразует имена хостов в IP адреса? Да, на телефоне есть DNS клиент, но куда он отправляет запросы? На некоторых моделях DNS можно прописать вручную, но если такой возможности нет? Откуда телефон получает информацию о DNS серверах?
В данном посте я расскажу кратко о всех способах доставки информации о DNS серверах мобильной станции.
Способ 1: Ручная настройка
Про этот пункт писать особо нечего — все и так понятно
Способ 2: Запрос DNS данных во время подключения
Самый популярный способ доставки DNS информации на мобильные станции. При отправке запроса на подключение (Attach Request), мобильная станция добавляет в запрос специальное поле — Protocol Configuration Options (PCO), в котором она запрашивает адреса DNS серверов — Primary и Secondary. После выполнения всех процедур для подключения мобильной станции, сеть шлет сообщение Attach Accept, которое также содержит поле Protocol Configuration Options, в котором указаны адрес Primary и Secondary DNS серверов. Да, сами DNS серверы прописываются в настройках APN на PGW. Этот способ используется как для IPv4, так и для IPv6
Способ 3: DHCP
Способ очень простой. Мобильная станция после подключения к сети по DHCP запрашивает IP адрес и другую информацию (включая DNS). Этот запрос долетает до PGW, который либо сам может выступать в роли DHCP сервера, либо выступать в качестве DHCP Relay. Этот способ используется для IPv4 и IPv6
Способ 4: Опция RDNSS
Самый экзотичный способ. В реальных сетях практически не встречался, но видел в лабораториях. Этот способ используется только для IPv6 подключений. Суть проста.
RDNSS — эта одна из опций в сообщении Router Advertisement. Более подробно прочитать про нее можно в RFC 6106. Так вот, эта опция состоит из нескольких полей, включая поле Lifetime, которое определяет в течение какого времени эта информация будет актуальна, и список IPv6 DNS серверов.
После подключения мобильной станции к сети, PGW шлет в сторону мобильной станции сообщение Router Advertisement (либо сразу после подключения, либо в ответ за Router Solicitation Request от мобильной станции), которое содержит опцию RDNSS, которая в свою очередь содержит список DNS серверов. Поле Lifetime определяет, в течение какого времени эта информация будет актуальна. По истечении этого времени мобильная станция опять отправит Router Solicitation Request, в ответ на которое PGW снова отправит Router Advertisement с опцией RDNSS.
Да, для того чтобы все это работало, мобильная станция должна эту опцию поддерживать, т.е уметь ее обрабатывать. В противном случае, мобильная станция ее просто игнорирует
Ссылки
Спасибо за внимание!
Автор: Alexey06