Надежный поток байтов VS надежный поток сообщений

Nov 07, 2020 22:40

Вопрос из книги Таненбаума про компьютерные сети к главе 1 «Введение», цитата:

12. Представим себе две сети, предоставляющие надежные, ориентированные на соединение службы. Одна из сетей обеспечивает надежный поток байтов, а другая - надежный поток сообщений. Идентичны ли эти сети? Если да, то почему проводится различие? Если нет, объясните на примере, чем они отличаются.

Ответы на вопросы этого задания содержатся в книге Таненбаума в подразделе 1.3.3 «Службы на основе соединений и службы без установления соединений».

Первый вопрос - «Идентичны ли эти сети?» - это неправильный перевод. В оригинале речь идет про сравнение служб (сервисов), предоставляемых двумя разными сетями. То есть на самом деле вопрос звучит как «Идентичны ли эти службы?».

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

Под «надежностью» обычно подразумевают то, что получатель сообщает отправителю о получении каждой порции данных. Плюс в том, что отправитель точно знает, какие порции данных получатель получил, а какие - нет. Минусы в том, что отправка подтверждений создает дополнительную нагрузку на сеть (увеличивает «накладные расходы», по-английски «overhead») и система подтверждений может создавать задержки в передаче, вызванные тем, что отправитель ожидает подтверждения от получателя и только потом отправляет следующую порцию данных.

Под «ориентированностью на соединение» подразумевают, что перед обменом данными сначала устанавливается соединение, потом это соединение используется для обмена данными, а в конце, после окончания обмена данными, это соединение разрывается. Такой сервис (служба) создан по аналогии со стационарной телефонной связью: перед тем, как начать разговор, инициатор разговора снимает трубку, набирает номер того, с кем хочет поговорить, и ждет установления соединения. После установления соединения на другом конце линии тоже снимают трубку и происходит общение (обмен данными). После окончания общения соединение разрывают, вешая трубку.

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

Чем же отличаются два указанных в тексте задания сервиса (службы)?

В принципе, при использовании обоих сервисов происходит обмен данными, размер которых измеряется в байтах. Однако, при использовании сервиса «надежный поток сообщений» данные представляют из себя последовательность сообщений. Это тоже поток байтов, но получатель кроме потока байтов еще и получает данные о границах сообщений в этом потоке байтов.

В качестве примера использования службы «надежный поток сообщений» в книге Таненбаума приводится отправка страниц книги по сети (каждая страница книги - отдельное сообщение в последовательности сообщений) на фотонаборное устройство (по-английски «phototypesetter»).

В качестве примера использования службы «надежный поток байтов» в книге Таненбаума приводится скачивание по сети кинофильма. Для этого нужен лишь поток байтов, а границы сообщений внутри фильма не нужны.

Образование

Previous post Next post
Up