Ви не можете.
Я маю на увазі, технічно це можна було б зробити. 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 та деякі альтернативи, полягає в тому, щоб мати можливість відслідковувати окремі розмови. Це допомагає налагодити зв’язок із запущеними програмами. Отже, якщо машина отримує трафік на порту 80 TCP, машина буде знати, що мережевий трафік призначений для використання програмою, що є веб-сервером. Якщо веб-браузер одночасно завантажує декілька графічних зображень, комбінації номерів «вихідного порту» та номерів «порту призначення» можуть відслідковувати, які дані призначені для якої графіки, тому ці одночасні розмови можуть відбуватися без змішування даних.
Тепер я здогадуюсь, що у вас є доступ до DNS-сервера, і вам здається, ви думаєте, що адміністрація DNS була б зручною, щоб можна було трохи більше обробляти трафік трафіку. Але, схоже, DNS не може допомогти вам отримати номер порту. Що ти можеш зробити?
Розглянемо IPv6. IPv6 дозволяє мати більше IP-адрес. Крім того, на відміну від деяких реалізацій IPv4, пристрої, які використовують IPv6, зазвичай можуть легко підтримувати декілька активних IPv6 адрес одночасно. Отже, якщо ви хочете мати три різні мережеві протоколи на одному комп’ютері, ви можете призначити принаймні три різні адреси IPv6 одному і тому ж комп'ютеру. І тоді ви можете робити все, що вам подобається, з тими IPv6 адресами.
Тоді ви можете використовувати тип запису ресурсів AAAA, щоб призначити ім’я цій IPv6-адресі, яку ваша мережева конструкція може вважати ефективною присвяченою конкретній службі на конкретному комп'ютері, який ви хочете.
Валлах, тепер у вас DNS ефективно вказує на програмне забезпечення і досягли цієї мети, не намагаючись розраховувати на те, щоб DNS вказував на номер порту, який не працює добре просто тому, що така функціональність просто не буває звичайною підтримується.
Можливе заперечення:
І якщо ви застрягли в IPv4 і вважаєте, що IPv6 якось не підтримується, я б радив вам спробувати вирішити цю проблему. Цю проблему, ймовірно, буде легше виправити (можливо, використовуючи якусь тунель), і, ймовірно, буде кориснішим виправленням після того, як ви її реалізуєте.