Який найвищий порт номер один може використовувати?
Який найвищий порт номер один може використовувати?
Відповіді:
Номер порту - це непідписане 16-бітове ціле число, тому 65535.
Найбільший номер порту - це ненаписаний короткий 2 ^ 16-1: 65535
Зареєстрований порт - це той, який присвоюється Інтернет-корпорацією для присвоєних імен та номерів (ICANN) певному використанню. Кожен зареєстрований порт знаходиться в діапазоні 1024–49151.
З 21 березня 2001 року реєстровим агентством є ICANN; до цього часу це була IANA.
Порти з числами меншими, ніж у зареєстрованих портів, називаються добре відомими портами; порти з числами, більшими за числа зареєстрованих портів, називаються динамічними та / або приватними портами.
Як я розумію, вам слід використовувати лише до 49151, оскільки від 49152 до 65535 зарезервовано для ефемерних портів
$ cat /proc/sys/net/ipv4/ip_local_port_range
призводить до виходу 32768 61000
. Що стосується того, чи варто або не слід використовувати порт у ефемерному порту системи, я підозрюю, що більшість сучасних мережевих операційних систем пропускатимуться через порт, який уже використовується.
Просто продовження відповіді розгрому . Діапазон ефемерних портів (як мінімум, в Linux, і я підозрюю, що також в інших Unices) не є фіксованим. Це можна контролювати, написавши до
/proc/sys/net/ipv4/ip_local_port_range
Єдине обмеження (що стосується IANA) полягає в тому, що порти нижче 1024 позначаються як добре відомі порти. Порти вище, які безкоштовні для використання. Часто ви виявите, що порти нижче 1024 обмежені для доступу суперпользователя, я вважаю, саме з цієї причини.
За даними RFC 793, порт - це 16-бітний неподписаний int.
Це означає, що діапазон становить 0 - 65535.
Однак у межах цього діапазону порти 0 - 1023 зазвичай зарезервовані для конкретних цілей. Я кажу, що, окрім порту 0, зазвичай не виконується застереження 0-1023. Реалізації TCP / UDP зазвичай не застосовують резервування за винятком 0. Ви можете, якщо хочете, запустити порт TLS веб-сервера на порт 80, або 25, або 65535 замість стандартних 443. Так само, навіть якщо це стандарт, який SMTP-сервери слухають на порту 25, ви можете запустити його на 80, 443 або інших.
Більшість реалізацій резервують 0 для певної мети - випадкове призначення порту. Тож у більшості реалізацій сказати, що "слухати порт 0" насправді означає "Мені все одно, який порт я використовую, просто дайте мені якийсь випадковий непризначений порт для прослуховування".
Отже, будь-яке обмеження на використання порту в діапазоні 0-65535, включаючи 0, діапазон ефемерних резервувань тощо, є специфічним для реалізації (тобто ОС / драйвера) , проте всі, включаючи 0, є дійсними портами в RFC 793.
Це залежить від діапазону, про який ви говорите, але динамічний діапазон піднімається до 65535 або 2 ^ 16-1 (16 біт).
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Дійсні числа портів: від 0 до 2 ^ 16-1 = 0 до 65535
Це пов'язано з тим, що номер порту дорівнює 16 бітам.
Однак порти поділяються на:
Добре відомі порти : від 0 до 1023 (використовуються для системних служб, наприклад, HTTP, FTP, SSH, DHCP ...)
Зареєстровані / користувацькі порти : від 1024 до 49151 (ви можете використовувати його для свого сервера, але будь обережно деякі відомі програми: наприклад, сервер системи управління базами даних SQL Server (MSSQL) або сервер Apache Derby Network вже беруть з цього діапазону, тобто не рекомендується призначати порт MSSQL своєму серверу в іншому випадку, якщо MSSQL працює, то ваш сервер найбільше мабуть, не працюватиме через конфлікт портів.
Динамічні / приватні порти : 49152 до 65535. (не використовується для серверів, а не для клієнтів, наприклад, в службі NATing)
При програмуванні ви можете використовувати для свого сервера будь-які цифри від 0 до 65535, однак слід дотримуватися згаданих вище діапазонів, інакше деякі системні служби або деякі програми не працюватимуть через конфлікт з портовими портами.
Перегляньте список більшості портів тут: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers