10.18 Замечания о реализациях

10.18 Замечания о реализациях

С самого начала протокол TCP предназначен для взаимодействия сетевого оборудования от различных производителей. Спецификация TCP не указывает точно, как должны работать внутренние структуры реализации. Эти вопросы оставлены для разработчиков, которые призваны найти наилучшие механизмы для каждой конкретной реализации.

Даже RFC 1122 (документ Host Requirements — требования к хостам) оставляет достаточную свободу для вариаций. Каждая из реализуемых функций маркируется определенным уровнем совместимости:

? MUST (Необходимо)

? SHOULD (Рекомендовано)

? MAY (Разрешено)

? SHOULD NOT (Не рекомендовано)

? MUST NOT (Не нужно)

К сожалению, иногда встречаются продукты, не реализующие требования MUST. В результате пользователи испытывают неудобства от снижения производительности.

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

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

Фактически разработчики основывают свои комплекты инструментов на программном интерфейсе Socket, заимствованном из Berkeley. Значение программного интерфейса возросло с появлением WINSock (Windows Socket), что привело к быстрому увеличению новых приложений для настольных систем, которые могли работать поверх любого интерфейса WINSock, совместимого со стеком TCP/IP.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Замечания по Реализации

Из книги C++ автора Хилл Мюррей

Замечания по Реализации Во время написания этой книги все реализации С++ использовали версии единственного интерфейсного компилятора*. Он используется на многих архитектурах, включая действующие версии системы операционной системы UNIX на AT amp;T 3B, DEC VAX, IBM 370 и Motorolla 68000.


Исторические Замечания

Из книги Сущность технологии СОМ. Библиотека программиста автора Бокс Дональд

Исторические Замечания Безусловно, С++ восходит главным образом к C [7]. C сохранен как подмножество, поэтому сделанного в C акцента на средствах низкого уровня достаточно, чтобы справляться с самыми насущными задачами системного программирования. C, в свою очередь, многим


Философские Замечания

Из книги Компьютер + мобильник: эффективное взаимодействие автора Гольцман Виктор Иосифович

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


Замечания для Программистов на C

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Замечания для Программистов на C Чем лучше кто-нибудь знает C, тем труднее окажется избежать писания на С++ в стиле C, теряя, тем самым, некоторые возможные выгоды С++. Поэтому проглядите, пожалуйста, раздел «Отличия от C» в справочном руководстве (#с.15). Там указываются области,


Снова об интерфейсах и реализациях

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Снова об интерфейсах и реализациях Цель отделения интерфейса от реализации заключалась в сокрытии от клиента всех деталей внутренней работы объекта. Этот фундаментальный принцип предусматривал уровень косвенности, или изоляции (level of indirection), который позволял


Полезные замечания

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

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


Библиографические замечания

Из книги автора

Библиографические замечания Вопрос об ОО-декомпозиции рассматривается с использованием различных аргументов в [Cox 1990] (первоначально в 1986), [Goldberg 1981], [Goldberg 1985], [Page-Jones 1995] и [M 1978], [M 1979], [M 1983], [M 1987], [M 1988]. Метод проектирования сверху вниз отстаивается во многих книгах и статьях.


Библиографические замечания

Из книги автора

Библиографические замечания Ряд материалов этой лекции представлен в докладах на форумах OOPSLA 95 и TOOLS PACIFIC 95, а также опубликован в [M 1996a]. Ряд обзорных материалов заимствован из статьи [M 1989e].Понятие автоматического выведения типов введено в [Milner 1989], где описан алгоритм


Библиографические замечания

Из книги автора

Библиографические замечания Проблемы перечислимых типов были изучены в работах [Welsh 1977] и [Moffat 1981]. Некоторые приемы, рассмотренные в этой лекции, впервые представлены в [M


15.17.5 Заметки о реализациях NFS

Из книги автора

15.17.5 Заметки о реализациях NFS Программа может постоянно запрашивать от своей операционной системы чтение или запись небольшого числа байт. Постоянный доступ к жесткому диску за небольшим количеством данных крайне неэффективен. Обычно операционная система проводит


12.4.6. Дополнительные замечания

Из книги автора

12.4.6. Дополнительные замечания Поскольку библиотека Qt написана на C++, неизбежны некоторые идиомы, отражающие ограничения этого языка. Иногда перевод на Ruby не выглядит на 100% естественным, поскольку в Ruby аналогичные вещи делаются несколько иначе. Поэтому в ряде случаев


4.5.4. Заключительные замечания

Из книги автора

4.5.4. Заключительные замечания Три решения задачи о восьми ферзях показывают, как к одной и той же задаче можно применять различные подходы. Мы варьировали также и представление данных. В одних случаях это представление было более экономным, в других — более наглядным и,


14.7. Заключительные замечания

Из книги автора

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


16.4. Заключительные замечания

Из книги автора

16.4. Заключительные замечания Нашего простого интерпретатора было вполне достаточно для того, чтобы проиллюстрировать некоторые идеи, лежащие в основе программирования в терминах образцов. Применение этого интерпретатора для более сложных приложений потребовало бы