1

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

У меня все еще есть несколько вопросов по этому поводу:

  • Нужны ли пакетам какие-либо данные заголовка, кроме номера идентификатора соединения, после того как соединение установлено с другой программой?

  • После установления соединения, скажем, через порт 80; данные все еще проходят через этот порт, или в установленном идентификаторе соединения указан новый открытый порт, который будет использоваться для дальнейшей связи?

  • В соответствии с моим вопросом здесь ; Есть ли фактическое физическое разделение между различными связями? Или это чисто теоретический / виртуальный?

2 ответа2

4

Вы, кажется, путаете идеи с коммутацией каналов с TCP/IP.

Разговор о порте 80 предлагает протокол HTTP по TCP и IP. При использовании TCP/IP промежуточные узлы (маршрутизаторы) не должны отслеживать "идентификаторы соединений". Динамически поддерживаемые таблицы маршрутизации диапазонов IP-адресов используются для пересылки пакетов. Нет необходимости, чтобы последовательные пакеты следовали по одному и тому же пути.

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

Обратите внимание, что UDP не использует соединение, концепция UDP-соединения отсутствует. Многие протоколы уровня приложений Интернета используют UDP в качестве протокола транспортного уровня.

Нужны ли пакетам какие-либо данные заголовка, кроме номера идентификатора соединения, после того как соединение установлено с другой программой?

Заголовки TCP и заголовки IP в пакетах TCP/IP не содержат "идентификаторы соединения" как таковые.

После установления соединения, скажем, через порт 80; данные все еще проходят через этот порт,

Да.

или в установленном идентификаторе соединения указан новый открытый порт, который будет использоваться для дальнейшей связи?

Как я уже говорил выше, идентификаторы соединений как таковые не существуют в TCP/IP. Иногда протокол более высокого уровня устанавливает связь через другие порты (например, порты управления FTP и порты данных).

В соответствии с моим вопросом здесь; Есть ли фактическое физическое разделение между различными связями?

Как правило, не. Сервер может иметь несколько сетевых карт, обслуживающих разные группы клиентов.

Или это чисто теоретический / виртуальный?

Номера портов и так далее - это просто числа в заголовках пакетов.

0

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

Этот абзац действительно сбивает с толку. Сначала вы ссылаетесь на переключение на сетевой уровень. Затем вы ссылаетесь на соединения, сделанные на транспортном уровне. Тогда вы как-то объединяете их вместе, хотя это действительно разные слои. Учтите, что переключение каналов может быть просто идеей и могло или не могло использоваться в прошлом. Однако, когда вы ссылаетесь на порты, вы ссылаетесь на TCP/IP, который вообще не использует коммутацию каналов ...

Нужны ли пакетам какие-либо данные заголовка, кроме номера идентификатора соединения, после того как соединение установлено с другой программой? После установления соединения, скажем, через порт 80; данные все еще проходят через этот порт, или в установленном идентификаторе соединения указан новый открытый порт, который будет использоваться для дальнейшей связи?

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

Есть ли фактическое физическое разделение между различными связями? Или это чисто теоретический / виртуальный?

Все идет по одному и тому же кабелю, поэтому его можно считать виртуальным, а не физическим.

Установленное соединение - это всего лишь средство сказать: "Я буду общаться через этот пост по этому адресу". Да, соединение - это просто IP-адрес и пара портов ...


Не используйте Википедию исключительно для понимания этого, попробуйте углубиться в книгу о компьютерных сетях ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .