Подтвердить что ты не робот

Если TCP ориентирован на соединение, почему пакеты следуют по разным путям?

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

Служба, ориентированная на подключение к Интернету, - это TCP, а служба без подключения - UDP, и оба они находятся в транспортном уровне стека протоколов Интернета.

Сетевой уровень только для Интернета - это IP-адрес, который является услугой без подключения. Таким образом, это означает, что любое приложение, которое мы разрабатываем, в конечном итоге использует IP для передачи пакетов.

Службы, ориентированные на соединение, используют один и тот же путь для передачи всех пакетов, а соединение - нет.

Поэтому моя проблема

Если приложение, ориентированное на соединение, было разработано, оно должно передавать пакеты с использованием одного и того же пути. Но IP нарушает это правило, используя разные маршруты. Итак, как работают TCP и IP в этом смысле? Это меня совершенно смущает.

4b9b3361

Ответ 1

Вы, мой друг, путаете функциональность двух разных слоев.

TCP - это соединение, ориентированное в том смысле, что существует установление соединения между двумя концами, где они могут обсуждать различные вещи, такие как механизм контроля перегруженности между прочим. Общая цель протоколов транспортного уровня заключается в предоставлении доставки процесса для процесса, что означает, что он ничего не знает о маршрутах; как ваши пакеты достигают конечной системы, выходят за рамки их действия, они касаются только того, как пакеты передаются между двумя конечными ПРОЦЕССАМИ.

IP, с другой стороны, протокол сетевого уровня для Интернета, связан с доставкой данных между конечными системами, но с отсутствием соединения, он не поддерживает соединение, поэтому каждый пакет обрабатывается независимо от других пакетов. < ш > Оставляя вашу систему, каждый маршрутизатор выбирает путь, который, по его мнению, подходит для КАЖДОГО пакета, и этот путь может изменяться в зависимости от доступности/перегрузки.

Как это отвечает на ваш вопрос?
TCP будет следить за тем, чтобы пакеты попадали в другой процесс, это неважно, КАК они туда попали.
IP, с другой стороны, все равно, если они достигнут другого конца, он просто пересылает каждый другой пакет в соответствии с тем, что он считает наиболее подходящим для определенного пакета.

Примечание:
Предположим, что IP был ориентирован на соединение, будет ли это означать, что пакеты будут следовать одному и тому же пути? Не обязательно, это зависит от того, что означает слово "соединение" на этом уровне, если это означает согласование определенных параметров, связанных с безопасностью, например, вы все равно можете пересылать все ваши пакеты по различным маршрутам через Интернет.
< ш > EDIT:
Чтобы не запутать вас, большинство служб, ориентированных на соединение, на сетевом уровне и ниже означает, что соединение, когда установлено, также устанавливает виртуальный путь, за которым должны следовать все "пакеты", для получения дополнительной информации о:
Виртуальная схема и сети Frame Relay

Ответ 2

Эта ссылка очень хорошо отвечает на ваш вопрос http://www.tcpipguide.com/free/t_ConnectionOrientedandConnectionlessProtocols-3.htm

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

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

Ответ 3

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

Таким образом, пакет покидает пункт назначения, он может идти по любому пути (в основном) до тех пор, пока он переходит к десерации, независимо от протокола более высокого уровня (например, TCP или UDP).

Я имею в виду, это немного сложнее, чем это, но, насколько я помню, общая идея.

Ответ 4

Маршрутизатор

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

Ответ 5

Направьте мои короткие пункты правильно,

1) ориентированное на соединение означает ==> резервирование ресурсов (буфер, процессор, пропускная способность и т.д.).. но "где??". (Где ресурсы зарезервированы?? здесь причина вашей путаницы, поэтому следует ответить.).

2) Соединение, ориентированное на транспортный уровень, означает ==> резервирование ресурсов в обоих конечных процессах/портах. (Так как TCP является транспортным уровнем, его обязанностью является резервирование ресурсов только для обоих конечных процессов, независимо от того, что происходит в промежуточном пути.)

3) Соединение, ориентированное на сетевой уровень, означает ==> резервирование ресурсов на сетевых уровнях. (Теперь на всем пути прохождения пакета от источника к месту назначения сетевой уровень также обнаруживается на всех промежуточных маршрутизаторах (но не на транспортном уровне). Следовательно, если какой-либо протокол на сетевом уровне ориентирован на установление соединения, то его обязанность состоит в том, чтобы резервировать ресурсы также на всех промежуточных маршрутах, т.е. все пакеты должны будут следовать по одному и тому же промежуточному пути, но, следовательно, IP не требует соединения, поэтому промежуточные ресурсы не будут зарезервированы. путешествие пакетов может идти разными путями и т.д.)

#CONCLUSION:==> Промежуточный путь определяется сетевым уровнем, следовательно, если IP, то пути могут быть разными. (IP может содержать TCP), но TCP отвечает за резервирование ресурсов в обоих конечных процессах, независимо от промежуточного пути пакет.