Ты не можешь
Я имею в виду, технически это можно сделать. DNS известен тем, что может предоставить доменное имя и получить IP-адрес. Однако я немного изучил протокол DNS, и на самом деле DNS технически способен выступать в качестве механизма запроса / ответа для гораздо большего, чем просто доменные имена и IP-адреса. Один из возможных подходов заключается в использовании записи ресурса DNS, которая не является типичным типом A или AAAA, такой как запись TXT (которая технически является просто текстом и может использоваться для чего угодно), или, возможно, запись SRV или любая другая новый тип записи ресурса вы выбираете.
Если вы создаете свое собственное программное обеспечение (как клиентское, так и серверное), то, возможно, нет технических причин не делать этого, за исключением того, что вы знаете, что некоторые люди используют DNS-хостинговые компании и ограничивают их использованием только определенных типов записей. Это прискорбно, поскольку люди, которые управляют своими собственными DNS-серверами, безусловно, обладают достаточной гибкостью для таких вещей.
Однако, если вы не создаете свой собственный сетевой протокол (например, если вы хотите использовать HTTP), вы, вероятно, столкнетесь с серьезной проблемой, заключающейся в том, что существующее программное обеспечение не будет использовать ваше собственное решение, если вы не используете решения, которые уже установлены. Это будет барьером. Не техническая невозможность. Социальный барьер: можете ли вы убедить всех поступить по-своему?
Теперь, когда я объяснил, почему вы не можете сделать это, у меня может быть решение для того, что вы ищете. Во-первых, давайте посмотрим, почему у нас даже есть IP-адреса и порты.
IP-адреса и порты делают разные вещи. Назначение IP-адреса состоит в том, чтобы выполнить цели Уровней 2 и 3 Модели OSI сетевых коммуникаций. Назначение IP-адреса состоит в том, чтобы определить, на какой компьютер должен идти трафик. Тот факт, что мы могли бы использовать номер порта для этой цели, заставляя брандмауэры / маршрутизаторы исследовать номера портов для выполнения NAPT (трансляция на основе порта сетевого адреса, также иногда называемая PNAT или просто NAT), является более новой техникой, которая использует ресурс (информация), но не был частью оригинального дизайна. Если мы на минуту отойдем от этого «злоупотребления» номерами портов и рассмотрим оригинальный дизайн, возможно, нам удастся найти более простое решение. По замыслу Интернета, машины должны были быть найдены с использованием IP-адресов.
Смысл «номера порта», используемого TCP и UDP и некоторыми альтернативами, заключается в возможности отслеживать отдельные разговоры. Это помогает выстроить связь с запущенными программами. Таким образом, если машина получает трафик через порт TCP 80, она будет знать, что сетевой трафик предназначен для использования программой, которая является веб-сервером. Если веб-браузер загружает несколько графических изображений одновременно, комбинации номеров «исходного порта» и «номера порта назначения» могут отслеживать, какие данные предназначены для какого графического объекта, поэтому эти одновременные разговоры могут происходить без смешения данных.
Теперь я предполагаю, что у вас есть доступ к DNS-серверу, и вам кажется, что вы думаете, что администрированию DNS было бы удобно иметь возможность обрабатывать часть трафика, направляемого немного больше. Но, похоже, DNS не может помочь вам получить номер порта. Что ты можешь сделать?
Рассмотрим IPv6. IPv6 позволяет вам иметь больше IP-адресов. Кроме того, в отличие от некоторых реализаций IPv4, устройства, использующие IPv6, обычно могут легко поддерживать несколько активных адресов IPv6 одновременно. Итак, если вы хотите иметь три разных сетевых протокола на одном компьютере, вы можете назначить как минимум три разных адреса IPv6 одному и тому же компьютеру. И тогда вы можете делать все, что вам угодно, с этими IPv6-адресами.
Затем вы можете использовать тип записи ресурса AAAA, чтобы назначить имя этому IPv6-адресу, который ваш сетевой дизайн может рассматривать как эффективно выделенный для конкретной службы на конкретном компьютере, который вы хотите.
Уолла, теперь у вас есть DNS, эффективно указывающий на часть программного обеспечения, и вы достигли этой цели, не пытаясь полагаться на то, что DNS указывает на номер порта, что не очень хорошо работает, просто потому, что такая функциональность просто не распространена. поддерживается.
Возможное возражение:
если вы чувствуете, что IPv4 застряли и считаете, что IPv6 каким-то образом не поддерживается, я бы посоветовал вам попытаться решить эту проблему. Эту проблему, вероятно, будет легче решить (возможно, с использованием какого-либо туннелирования), и, возможно, она станет более полезным решением после ее реализации.