TCP / IP Настройка соединения / что делает соединение - PullRequest
1 голос
/ 18 ноября 2011

Это просто общий вопрос.

В TCP / IP, когда вы устанавливаете соединение между двумя точками, вы делаете трехстороннее рукопожатие.

Нужно ли вам это делать повторнокаждый раз, когда вы меняете исходный порт и / или порт назначения?

Т.е. допустим, вы устанавливаете соединение с ip A на ip B и с порта источника s на порт источника d.Теперь вы хотите отправить пакет с исходного порта s на новый исходный порт e.Вам нужно установить другое соединение здесь снова?

Или вы устанавливаете соединение только при первом обнаружении IP-адресов?

СПАСИБО ПОЛУЧИЛО ЭТО *

Ответы [ 4 ]

1 голос
/ 18 ноября 2011

Соединение в TCP идентифицируется 4-мя кортежами (source-ip, source-port, destination-ip, destination-port) . Поэтому для подключения к другому порту на том же компьютере необходимо установить новое TCP-соединение.

Учтите, что с помощью NAT и других приемов маршрутизации запросы в разные порты на одном и том же IP-адресе в любом случае могут передаваться на разные машины.

0 голосов
/ 18 ноября 2011

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

0 голосов
/ 18 ноября 2011

"Вам нужно делать это каждый раз, когда вы меняете порт источника и / или порт назначения?" Да. См. эту статью в Википедии. Причина этого заключается в том, что разные IP-адреса обычно идентифицируют разные хосты в сети, а разные порты TCP обычно идентифицируют разные приложения или разные функции одного и того же приложения.

0 голосов
/ 18 ноября 2011

Соединение между двумя конкретными парами IP: порт. Каждый одноранговый объект соединения хранит эту информацию, поэтому при отправке данных на подключенную конечную точку эта информация используется для формирования IP-пакета. Нет никакой возможности изменить эту информацию, поэтому вам нужно восстановить соединение, если вам нужно подключиться к другому IP или порту.

...