В дизайне протокола, зачем вам использовать 2 порта? - PullRequest
22 голосов
/ 09 марта 2009

Когда TCP-сервер принимает сокет для порта, он получает новый сокет для работы с этим клиентом.
Принимающий сокет остается действительным для этого порта и может принимать других клиентов через этот порт.

Почему исходная спецификация FTP RFC 959 решила создать как порт управления, так и порт данных?

Будет ли какая-либо причина делать это в аналогичном пользовательском протоколе?

Мне кажется, что это можно было легко указать на одном порту.

Учитывая все проблемы с брандмауэрами и NATS с FTP, кажется, что один порт был бы намного лучше.

Для реализации общего протокола единственная причина, по которой я мог бы подумать, что вы захотите сделать это, - это то, что вы можете обслуживать файлы с другого хоста, чем команды.

Ответы [ 11 ]

0 голосов
/ 09 марта 2009

На мой взгляд, это просто плохой выбор дизайна. В старые времена, когда он был изобретен, брандмауэр и NAT не существовали ... В настоящее время реальный вопрос заключается в том, «почему люди все еще хотят использовать FTP»? Все, что делает FTP, можно сделать с помощью HTTP лучше.

...