Как работает соединение tcp / udp? - PullRequest
0 голосов
/ 31 октября 2018

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

Однако после того, как соединение установлено, когда компьютер и сервер отправляют / получают данные, нужно ли эти данные проходить через [несколько центров обработки данных через несколько шлюзов и через несколько каналов проверки]?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Пакет TCP, отправляемый с компьютера A на компьютер B, будет адресован конкретному IP-адресу. Если этот TCP-адрес не находится в локальной сети, он сначала будет проходить через локальную сеть в любое место, обозначенное как локальный шлюз. Этот шлюз затем отправляет его через соединение с внешней сетью. В этот момент он будет доставлен на некоторый маршрутизатор вашего провайдера. Этот маршрутизатор посмотрит на IP-адрес назначения и сверится с таблицей маршрутизации, чтобы определить, куда он должен в следующий раз отправить пакет. Обычно это будет другой маршрутизатор в другом месте сети. Это продолжается, и (при условии наличия хороших таблиц маршрутизации на каждом маршрутизаторе) пакет будет ближе к своему конечному назначению на каждом прыжке. В конце концов, пакет попадет на маршрутизатор, который имеет таблицу маршрутизации, которая знает либо о фактическом IP-адресе, либо о домашнем шлюзе для этого IP-адреса, и пакет будет отправлен на этот шлюз. Этот домашний шлюз может затем доставить пакет на этот фактический IP-адрес. В некоторых случаях на каждом конце может быть частная сеть, в которой частные IP-адреса / комбинации портов преобразуются в общедоступные IP-адреса и наоборот.

Если компьютер A отправляет несколько пакетов на компьютер B, им не обязательно идти по одному и тому же пути, хотя обычно они это делают (при условии отсутствия проблем или перегрузки в сети между двумя конечными точками).

В этом сценарии, когда A и B находятся в разных частных сетях, нет прямой связи между компьютером A и компьютером B, поэтому каждый пакет должен следовать по пути от одного маршрутизатора до следующего, пока не достигнет конечного шлюза, а затем адрес назначения.

Однако после того, как соединение установлено, когда компьютер и сервер отправляют / получают данные, нужно ли эти данные проходить через [несколько центров обработки данных через несколько шлюзов и через несколько каналов проверки]?

Если маршрутизаторы выполняют свою работу надлежащим образом, самый первый пакет выбирает наиболее эффективный путь из А в В, который знает сеть. Не существует «лучшего» способа отправки последующих пакетов. Последующие пакеты будут следовать тому же процессу (маршрутизатор ищет маршрутизатор в таблице маршрутизации, куда отправлять следующий переход и т. Д.). Если две конечные точки находятся на большом расстоянии друг от друга (с точки зрения топологии сети), то пакет может проходить через множество маршрутизаторов. Маршрутизаторы - это высокооптимизированные устройства, способные передавать миллионы пакетов в секунду, так как данные перемещаются в любой сети TCP / IP, например в Интернете.

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

0 голосов
/ 31 октября 2018

Каждый пакет TCP / UDP может иметь различный сетевой путь между источником и пунктом назначения. Однако установление соединения TCP-соединения с сохранением состояния зависит от размера пакета, способа сжатия и т. Д.

На сетевом уровне - соединение без сохранения состояния. Пожалуйста, прочитайте о модели OSI подробно, также вы можете обратиться к этому https://www.ccnahub.com/wp-content/uploads/2013/09/watermarked-pc1-comm.jpg Это имеет хорошее объяснение того, как работает OSI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...