2015-05-07 3 views
0

С моей точки зрения, сеанс TCP идентифицирован как <ServerIP, ServerPort, ClientIP, ClientPort>.OPNET Simulation - невозможно установить несколько TCP-соединений на одном и том же порту

Например, сеанс <192.168.0.1, 80, 192.168.0.2, 1000> отделен от <192.168.0.1, 80, 192.168.0.2, 1001>, и эти два сеанса могут сосуществовать на хостах одновременно.

Однако в OPNET, если <192.168.0.1, 80, 192.168.0.2, 1000> уже установлен, то <192.168.0.1, 80, 192.168.0.2, 1001> не может быть установлен, так как порт 80 из 192.168.0.1 уже используется.

Учитывая эту модель, если я попытаюсь разместить HTTP-службу на 192.168.0.1:80, может быть только одно подключение к моему серверу за раз, что серьезно ограничивает возможности моделирования.

Пожалуйста, проверьте, действительно ли модель проблематична, или что-то, что я упустил. Также было бы очень полезно оценить решение проблемы.

+0

Похоже на ошибку в OPNET. Просто проверьте этот вопрос: http://stackoverflow.com/questions/489036/how-does-the-socket-api-accept-function-work – werewindle

+0

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

+0

Какая ошибка возникает при попытке подключения к серверу на порту 80? – Prabhu

ответ

1

Я выкопал в исходный код модели OPNET TCP и нашел ошибку.

Прежде всего, OPNET рассматривает <192.168.0.1, 80, 192.168.0.2, 1000> и <192.168.0.1, 80, 192.168.0.2, 1001> как два отдельных и независимых сеанса, и их можно отличить с помощью session_key.

Однако в модели есть незначительная ошибка. Когда открытый запрос выдается на уровень модели TCP (либо PASSIVE (прослушивание), либо ACTIVE (connect)), модель проверяет, используется ли локальный порт. Если используется локальный порт, сигнал ошибки будет возвращен независимо от типа открытого запроса, тогда как правильное действие должно проверять только на ACTIVE.

Решение состоит в том, чтобы изменить процедуру проверки, чтобы работать только с открытым корпусом ACTIVE. Предварительный тест показывает, что в одном и том же порту прослушивания можно установить несколько соединений.

 Смежные вопросы

  • Нет связанных вопросов^_^