2009-11-20 2 views
1

Какой из следующих портов является лучшим для использования в программе. Я работаю над использованием настраиваемого протокола, который все еще находится в разработке. Я ищу тот, который будет доступен практически каждому хосту, подключенному к общедоступному Интернету (т. Е. Каждый хост, который может просматривать веб-сайты, может использовать этот порт). Три основных варианта:Какой лучший порт для программы?

Какой из них является наиболее широко доступны через Интернет, включая все ISPs, корпоративные брандмауэры и т. д.

+0

Они все вездесущие. –

+0

Есть ли причина, по которой вы бы не просто HTTP-порт 80? –

+0

Порт 42, определенно порт 42 .... –

ответ

1

Not port 53. Toss-up между 80 и 443. Если вы сделаете свой протокол достаточно похожим на HTTPS, прокси-сервер отправит его таким же образом, то, возможно, 443 - ваш лучший выбор.

+1

спасибо, порт 53 не может проходить через прокси, имеющие внутренние DNS, https-порт 443, вероятно, лучший, поскольку прозрачные прокси-серверы не могут его изменять (без генерации ошибок в браузерах для пользователей https за брандмауэром), в отличие от порта 80, где они могут попробуйте кэшировать его и модифицировать заголовки http так далее, и поэтому беспорядок мои данные –

11

Все эти порты используются известными службами, и вы не должны использовать ни один из них (если ваш продукт не является веб-сервером или DNS-сервером.) DCCP Well Известные порты НЕ ДОЛЖНЫ использоваться без регистрации IANA. Если ваша услуга коммерчески жизнеспособна или имеет преимущества для всей сети в целом, попробуйте зарегистрировать ее для более низкого номера порта. Процедура регистрации определена в RFC4340, раздел 19.9.

Для экспериментального использования используйте порт от 1024 до 49151. Помните, что даже эти порты должны быть зарегистрированы в IANA, как только ваша служба будет «жить».

Что касается брандмауэров: вы не можете предсказать, будет ли ваша служба доступна в любой сети вообще. Даже если вы используете порт 80, вы, вероятно, столкнетесь с брандмауэрами, проверяющими контент.

+1

Я отправил ответ, который сказал то же самое, но удалил его, прежде чем я увидел ваш ответ. Вы поставили его намного лучше, поэтому я не потрудился воскресить мой. – ChrisF

+0

Насколько я ценю настроение, я должен уменьшить это, потому что он отвечает на неправильный вопрос. Вопрос состоял в том, чтобы выбрать порт, чтобы максимизировать доступность услуги в общедоступном Интернете. Это факт, что многие хосты в частных сетях имеют ограниченный доступ к общедоступным интернет-услугам. У многих есть доступ только к tcp/80 и tcp/443, с прокси-серверами прикладного уровня, которые сильно влияют на tcp/80. –

1

Поскольку все назначенные вами порты используются для определенных четко определенных протоколов, это очень плохая идея использовать их для другого протокола. Существует соглашение о том, что для известного порта есть соответствующий протокол, и если вы нарушите это соглашение, то, по крайней мере, вы собираетесь вызвать путаницу и, в худшем случае, будете подозреваться в гнусных намерениях и быть заблокированы. Martin's answer указывает вам в правильном направлении.

+0

Я согласен с вами в том, что это опасная игра, но иногда это также необходимо для того, чтобы ваша служба была доступна из очень ограниченной сети. IIRC, AIM попытается использовать кучу разных портов, чтобы выйти, если его обычные порты заблокированы. Я видел, как он поселился на обоих портах 80 и в порту 23.В этом приложении также используется ряд приложений для обмена файлами. – rmeador

+0

Если это ограниченная сеть, попытка обойти это может привести к плохим вещам. Как высылка, увольнение и/или гражданские или уголовные наказания. Не пытайтесь обойти политику с помощью технологий. Был там, сделал это, получил футболку. –