Что означает установление соединения в компьютерных сетях?

Установление соединения означает, что клиент и сервер договорились о каком то формате передачи данных, например tcp? Вопрос банальный, но интересно понять суть.


Ответы (1 шт):

Автор решения: S.H.

Мне кажется, правильным ответом было бы ответить вопросом на вопрос "а на каком уровне модели OSI?"

Но по традиции когда нет уточнений - то обычно речь идёт о tcp/ip - соединениях.

А это не тот случай, когда речь не идёт о формате: tcp/ip слишком низкоуровневый, это все равно, что говорить, "если программа записывает файл-означает ли это, что это файл в каком то формате?". В общем случае-нет.

Но, как правило, клиенты пытаются коннектиться только к тем серверам, с которыми у них совместим формат обмена данными.

В комментариях хорошо уточнили (задав вопрос): "Возможность соединения, по видимому всё таки обусловлена больше наличием канала связи, нежели протоколом?"

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

И еще одно уточнение: "договорились о каком то формате передачи данных, например tcp". Это не совсем верно.

Точнее, всё зависит от того, какое значение Вы вкладываете в слово "формат".

С одной стороны, для приложения прикладного уровня tcp (точнее, tcp/ip) tcp-соединение - это "труба", в которую клиент и сервер могут запихивать байты. На то, что это будут за байты, tcp не накладывает никаких ограничений.

С другой стороны, как написал в коментарии andreymal: "Протокол — это по определению и есть формат передачи. И стек протоколов TCP/IP действительно накладывает определённые ограничения, где и какие байты должны быть (просто это всё происходит внутри ОС и детали реализации протоколов скрыты от прикладных приложений)"

→ Ссылка