Семиуровневая модель OSI. Передача данных по уровням OSI. Инкапсуляция, декапсуляция. Пакеты и инкапсуляция

Инкапсуляция пакетов и промежуточные узлы

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

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

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

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

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

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

Протоколы, основанные на модели OSI используются редко:

В силу своей не всегда оправданной сложности;

Поэтому модель OSI - опорная база для классификации и сопоставления протокольных стеков.

Модель и четыре уровня стеков TCP/IP

Сеть Internet отличается от других сетей своими протоколами и в первую очередь протоколами TCP/IP.

Протокол - это набор правил, определяющий характер взаимодействия пользователей, последовательность выполнения ими действий при обмене информацией.

Термин TCP/IP означает все, что связано с протоколами взаимодействия между компьютерами в сети. Данный протокол представляет собой совокупность нескольких протоколов, прикладные программы и даже саму сеть.

Свое название протокол TCP/IP получил от двух типов протоколов связи:

Transmission Control Protocol (TCP);

Internet Protocol (IP).

Таким образом, TCP/IP - собирательное название для стека сетевых протоколов разных уровней, используемых в Internet.

Особенности TCP/IP.

Открытые стандарты протоколов, разрабатываемые независимо от программного и аппаратного обеспечения;

Независимость от физической среды передачи;

Система уникальной адресации;

Стандартизованные протоколы высокого уровня для распространенных пользовательских сервисов.

Стек протоколов TCP/IP делится на четыре уровня :

I.Прикладной (application ). Приложения, работающие со стеком TCP/IP, могут также выполнять функции уровней представления и частично сеансового модели OSI.

Распространенными примерами приложений являются программы telnet, ftp, WWW-серверы и клиенты (Интернет-браузеры), программы работы с электронной почтой. Для пересылки данных через сеть другому приложению оно обращается к тому или иному модулю транспортного уровня;

II.Транспортный (transport). Протоколы данного уровня обеспечивают прозрачную (сквозную) доставку данных между двумя прикладными процессами. Для передачи и получения данных, отправляемых друг другу, они используют межсетевой уровень. На транспортном уровне работают два основных протокола:

1. TCP (Transmission Control Protocol) - надежный протокол с установлением соединения: он управляет логическим сеансом свя зи (устанавливает, поддерживает и закрывает соединение) между процессами и обеспечивает надежную (безошибочную и гарантированную) доставку прикладных данных от процесса к процессу;

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

Протокол TCP (Transmission Control Protocol , Протокол контроля передачи) обеспечивает сквозную доставку данных между прикладными процессами, запущенными на узлах, взаимодействующих по сети.

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

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

Таким образом, TCP делит информацию, которую надо переслать, на несколько частей . Нумерует каждую часть, чтобы позже восстановить порядок. Чтобы пересылать эту нумерацию вместе с данными, он обкладывает каждый кусочек информации своей обложкой - конвертом, который содержит соответствующую информацию. Это и есть TCP-конверт. Получившийся TCP-пакет помещается в отдельный IP-конверт и получается IP-пакет, с которым сеть уже умеет обращаться.

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

В сети Internet используется большое число и других протоколов, однако эту сеть часто называют TCP/IP сетью, так как эти два протокола являются важнейшими.

2. UDP (User Datagram Protocol ) - протокол дейтаграмм пользователя - является ненадежным протоколом без установления соединения: это значит, что ни логический сеанс связи , ни надежная доставка прикладных данных этим протоколом не обеспечиваются. Фактически UDP не предоставляет никаких услуг, кроме мультиплексирования пакетов с прикладными данными - то есть направления данных тому или иному приложению в зависимости от номера порта. Услугами UDP пользуются, например, доменная система имен (DNS), сетевая файловая система NFS;



III. Сетевой (межсетевой, или Internet ). Основным протоколом этого уровня является протокол IP (Internet Protocol). Этот протокол является центром, вокруг которого строится весь стек TCP/IP.

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

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

Протокол IP обрабатывает каждую дейтаграмму как независимую единицу, не имеющую связи ни с какими другими дейтаграммами в Internet. После того, как дейтаграмма отправляется в сеть, ее дальнейшая судьба никак не контролируется отправителем (на уровне протокола IP ). Если дейтаграмма не может быть доставлена, она уничтожается. Узел, уничтоживший дейтаграмму, может оправить по обратному адресу ICMP-сообщение , о причине сбоя.

Одна из основных задач, решаемых протоколом IP , - маршрутизация дейтаграмм, т.е. определение пути следования дейтаграммы от одного узла сети к другому на основании адреса получателя.

Таким образом, протокол IP доставляет блоки данных, называемые дейтаграммами, от одного IP-адреса к другому через компьютерную сеть. IP-адрес является уникальным 32-битным идентификатором компьютера (точнее, его сетевого интерфейса). Данными для дейтаграммы является блок данных, передаваемых IP-модулю транспортным уровнем. IP-модуль предваряет эти данные заголовком, содержащим IP-адреса отправителя и получателя и другую служебную информацию, и сформированная таким образом дейтаграмма передается на уровень доступа к сети для отправки по каналу передачи данных;

IV. Уровень доступа к сети (network access ), который выполняет следующие функции:

· отображение IP-адресов в физические адреса сети. Эту функцию выполняет протокол разрешения адресов ARP (Address Resolution Protocol);

· инкапсуляция IP-дейтаграмм в кадры для передачи по физическому каналу и извлечение дейтаграмм из кадров. При этом не требуется какого-либо контроля безошибочности передачи, поскольку в стеке TCP/IP такой контроль возложен на транспортный уровень или на само приложение;

· определение метода доступа к среде передачи, то есть способа, с помощью которого компьютер устанавливает свое право на произведение передачи данных;

· определение представления (кодирования) данных в физической среде;

· пересылка и прием кадра.

Часто в качестве уровня доступа к сети выступают целые протокольные стеки; тогда говорят об IP поверх ATM, IP поверх IPX и т. д.

IP - инкапсуляция

Это самый главный процесс, выполняемый IPTV станцией. Для передачи транспортных MPEG-потоков через традиционные сети с пакетной передачей данных, головная станция IPTV объединяет множество 188-ми байтовых MPEG транспортных пакетов и формирует из них полезную нагрузку кадра PDU (protocol data unit).

Рисунок 10 – Процесс инкапсуляции

Рисунок 10 иллюстрирует процесс инкапсуляции. Заголовок (Header) и замыкающая часть кадра (Trailer) определяются используемым сетевым протоколом.

Следующие два рисунка 11 и 12 иллюстрируют инкапсуляцию MPEG-пакетов в Gigabit Ethernet сетях.

На рисунке 11 показан кадр в формате MPEG over UDP/IP over Gigabit Ethernet. Замыкающая часть кадра это как обычно CRC (cyclic redundancy code) – контрольный циклический избыточный код.

Рисунок 11а показывает инкапсуляцию MPEG over Gigabit Ethernet в реальном времени с использованием протокола RTP.

Рисунок 11 – Инкапсуляция кадра в формате MPEG over UDP/IP в Gigabit Ethernet

Протокол RTP (Real-time transport protocol) определяет и компенсирует потерянные пакеты, обеспечивая безопасность передачи контента и распознавание информации. Протокол RTP функционирует поверх протокола UDP (User Datagram Protocol), расположенного в стеке протоколов TCP/IP над протоколом IP. Разница между двумя рисунками только в добавлении RTP-заголовка в секцию заголовка протокола (Protocol Header).

Рисунок 11a - Инкапсуляция кадра в формате MPEG в Gigabit Ethernet с использованием RTP

Рисунок 12 иллюстрирует формат MPEG over UDP/IP over ATM с классической IP-инкапсуляцией (RFC 2684 LLC инкапсуляция маршрутизируемых протоколов). В состав полезной нагрузки AAL-5 входит IP-пакет, с нагрузкой из множества транспортных пакетов MPEG, плюс RFC 2684 заголовок и замыкающая часть кадра. В этом случае полный кадр AAL-5 PDU предоставлен уровню ATM для дальнейшей сегментации в ATM ячейки. (Padding в секции Trailer это заполнение секции незначащей информацией).

Для других RFC 2684 ATM подобных инкапсуляций производятся соответствующие изменения. Так, например, для инкапсуляции в реальном времени после заголовка UDP был бы заголовок RTP. А для мостовой (bridged) инкапсуляции Ethernet был бы заголовок Ethernet MAC перед IP заголовком.

Рисунок 12a показывает инкапсуляцию MPEG over Native ATM. Он очень похож на предыдущие рисунки, различие заключается в удалении UDP/IP и RFC 2684 уровней (собственно, поэтому такой метод и называется “Native” (наследственный) ATM, так как он не имеет каких-либо дополнительных протоколов). Для этого метода заголовок протокола является пустым и этот метод более эффективно использует ширину полосы, чем другие ATM методы. Однако присутствие UDP/IP заголовков в других методах позволяет поддерживать множество однопрограммных транспортных потоков (SPTS) через одну виртуальную ATM цепь, что невозможно в методе ATM Native.

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

Напомню, что сетевая модель OSI состоит из 7 уровней (уровень приложений, уровень представления, сеансовый, транспортный, сетевой, канальный и физический). Все сетевые устройства работают согласно модели OSI, только некоторые используют все 7 уровней, а другие меньше. Это позволяет обрабатывать поступающие данные в несколько раз быстрее.

Например, Ваш компьютер использует все 7 уровней, маршрутизатор – 3 нижних уровня, коммутатор – только 2 нижних уровня.

На рисунке Вы видите взаимодействие двух компьютеров, между которыми находится маршрутизатор. Компьютерами PC1 и PC2 могут быть как домашние компьютеры, так и сервера. Маршрутизатор, как и говорилось выше, работает только на трех уровнях модели, их (трех уровней) достаточно, чтобы проложить маршрут в любой сети.

Теперь перейдем к самому процессу инкапсуляции, декапсуляции.

Инкапсуляция и декапсуляция

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

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

На этом уровне Ваш компьютер преобразует строку введенного текста (адреса) в формат удобный для передачи далее на нижний уровень.

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

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

Логические сетевые адреса – это всем известные IP-адреса, еще наверное непонятно что обозначают цифры и точки в них, но вскоре, этот пробел в знаниях заполнит соответствующая информация;)

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

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

Физические адреса устройств – это MAC-адреса.

Эти очень маленькие кусочки данных именуются кадрами или фреймами (одно и тоже). Далее кадры передаются на физический уровень.

На физический уровень кадры передаются уже в виде сигналов битов и следуют через другие сетевые устройства в пункт назначения.

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


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


Сетевая карта сервера принимает биты (на физическом уровне) и преобразует их в кадры (для канального уровня). Канальный уровень в обратной последовательности должен преобразовать кадры в пакеты (для сетевого уровня), только перед преобразованием уровень сначала смотрит на МАС-адрес (физический адрес) получателя, он должен совпадать с MAC-адресом сетевой карты, иначе кадр будет уничтожен. Затем канальный уровень (в случае совпадения MAC-адреса) высчитывает сумму полученных данных и сравнивает полученное значение со значением трейлера. Напомню, что значение трейлера высчитывалось на Вашем компьютере, а теперь оно, после передачи по проводам, сравнивается с полученным значением на сервере и если они совпадают, кадр преобразуется в пакет. Если проверочный код целостности данных рознится – кадр незамедлительно уничтожается.

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

На транспортном уровне проверяется информация из заголовка, что это за сегмент, какой используется протокол, для какого логического порта предназначается и т.п. Протокол использовался TCP, поэтому назад на Ваш компьютер посылается уведомление о прибытии сегмента. Как говорилось выше (когда данные упаковывали в сегмент) в том случае использовался 80 порт назначения. Т.к. на веб-сервере как раз открыт этот порт, данные передаются дальше на верхний уровень.

На верхних уровнях запрос (введенный адрес сайта) обрабатывается веб-сервером (проверяется, доступна-ли запрашиваемая веб-страничка).

Этот процесс преобразования сигналов из провода в данные называется процессом декапсуляции .

После того, как страница будет найдена на сервере, она (текст, изображения, музыка) преобразуется в цифровой код, удобный для инкапсулирования. Большой объём данных делится на части и поступает ниже на уровень – транспортный. Там кусочек данных преобразуется в сегмент, только порт назначения теперь будет тот, с которого вы посылали (вспоминайте, 1223). Сегмент преобразуется в пакет, в заголовке которого содержится IP-адрес вашего компьютера и переходит ниже. На канальном уровне пакет в свою очередь преобразуется в кадры и добавляется заголовок и трейлер. В заголовок помещается МАС-адрес назначения (в данном случае это будет адрес шлюза), а в трейлер проверочный код на целостность данных. Далее сетевая карта посылает кадры в виде сигналов по кабелю по направлению к Вашему компьютеру.

Так и происходит сетевой обмен данными, инкапсуляция и декапсуляция.

PDU

Вам обязательно надо запомнить, что те кусочки данных (вместе с заголовками), которые переходят с уровня на уровень (с добавлением заголовков или наоборот) называются Protocol Data Unit или PDU . Если перевести литературно на русский язык, то получается фрагмент данных на каждом уровне модели . В первой части CCNA попадаются вопросы связанные с PDU, так что обязательно запомните что это такое;)

Заключение

Вы познакомились с эталонными сетевыми моделями OSI, TCP/IP (DOD), разобрались с процессами инкапсуляции (encapsulation) и декапсуляции (decapsulation).

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

Стек протоколов TCP/IP располагает средствами поддержки целого ряда физических сетей и транспортных систем, включая технологии IZERNET, DSL, Wi-Fi и т. д.

Управление хостами, а именно аппаратной частью хостов осуществляется на канальном уровне архитектуры TCP/IP. Протоколам более высоких уровней неизвестно как именно используются аппаратные средства. Данные передаются по сети в виде пакетов, пакеты имеют максимальный размер определяемый ограничениями канального уровня. Каждый пакет состоит из заголовка и полезного содержимого. Заголовок содержит информацию о том откуда прибыл пакет и куда он направляется, также в заголовке может быть контрольная сумма, информация характерная для конкретного протокола и другие инструкции касающиеся обработки содержимого пакета. Полезное содержимое пакета – это данные подлежащие пересылке. Название базового блока передаваемых данных зависит от уровня протокола архитектуры стека TCP/IP. На канальном уровне используется термин кадр или фрейм, на уровне IP используется термин пакет, а на транспортном уровне используется термин сегмент. Готовый к отправке пакет передается по стеку протоколов и каждый протокол добавляет собственный заголовок. Таким образом сформированный пакет одного протокола становится полезным содержимым пакета генерируемого следующим протоколом. Эта операция называется инкапсуляция (запечатывание). На принимаемой стороне инкапсулированные пакеты восстанавливаются в обратном порядке при прохождении вверх по стеку.

ARP – протокол преобразования адресов.

Протоколы ARP аппаратно-независимы. Для фактической передачи данных на канальном уровне должны применяться аппаратные адреса (MAC-адреса). Протокол ARP определяет какой именно аппаратный адрес связан с тем или иным IP-адресом. ARP можно применять в любых сетях, которые поддерживают широковещательный режим на канальном уровне. Когда ПК А хочет послать пакет ПК Б он использует протокол ARP для нахождения аппаратного адреса ПК Б. Исход. запрос протокола ARP включает IP-адрес и MAC-адрес запрашивающей стороны, благодаря чему разыскивающее устройство может ответить не посылая собственный ARP-запрос, это позволяет обоим компьютерам узнать адреса друг друга за один сеанс обмена пакетами. Другие компьютеры, слышавшие исходный широковещательный запрос могут записать IP-адрес запрашивающего к себе в свою таблицу. Каждый компьютер, подключенный к сети создает в памяти специальную таблицу, которая называется КЭШем ARP. В этой таблице хранятся результаты последних ARP-запросов.

Формат ip-пакета

Имеется прямая связь между количеством полей заголовка пакета и функциональной сложностью протокола. Чем проще заголовок, тем проще протокол. Большая часть действий протокола перенесена в поле заголовка пакета, изучая название каждого поля заголовка IP-пакета мы получаем не только функциональные знания, но и знакомимся с основными функциями протокола. IP-пакет состоит из заголовка и данных.

Маршрутизация в сетях tcp/ip

Термин маршрутизация используется в 2 случаях:

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

    Процесс построения такой таблицы.

Таблица маршрутизации

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

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

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

Инкапсуляция IP

При работе в локальной сети на базе технологии CSMA/CD возможны два варианта инкапсуляции датаграмм IP в кадры уровней LLC и MAC.

Первый заключается в использовании кадров Ethernet 2.0. В этом случае поле данных (1500 октетов) полностью принадлежит IP-датаграмме, a SAP адресуется полем "тип пакета", которое содержит значение параметра Ethertype - индекса протокола верхнего уровня. В случае IP это значение равно 0x0800. Значения Ethertype для других протоколов приведены в табл. 6.11.

Таблица 6.11 . Значение Ethertype для некоторых протоколов

Второй вариант предполагает использование формата IEEE 802.3. В этом случае IP-датаграмма инкапсулируется в кадр LLC, а адресация SAP осуществляется в заголовке SNAP с помощью идентификатора Ethertype. При этом поля DSAP и SSAP не используются, и их значения устанавливаются равными 0xAA. Заметим, что в этом случае максимальный размер IP-датаграммы составляет 1492 октета.

При передаче данных TCP/IP в сетях Token Ring используется формат кадра IEEE 802.5, инкапсулирующий кадр LLC с заголовком SNAP, как описано выше.

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

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

Из книги Как функции, не являющиеся методами, улучшают инкапсуляцию автора Мейерс Скотт

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

Из книги Информатика и информационные технологии: конспект лекций автора Цветкова А В

Инкапсуляция и функции – не члены Мы теперь видим, что приемлемый способом оценки инкапсуляции является количество функций, которые могли бы быть разрушены, если изменяется реализация класса. В этом случае становится ясно, что класс с n методами более инкапсулирован, чем

Из книги Информатика и информационные технологии автора Цветкова А В

Минимальность и инкапсуляция В "Эффективном использовании C++" (Effective C++), я приводил доводы в пользу интерфейсов класса, которые являются полными и минимальный . Такие интерфейсы позволяют клиентам класса делать что-либо, что они могли бы предположительно хотеть делать,

Из книги Язык программирования С# 2005 и платформа.NET 2.0. автора Троелсен Эндрю

автора Реймонд Эрик Стивен

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

Инкапсуляция Первым принципом ООП является инкапсуляция. По сути, она означает возможность скрыть средствами языка несущественные детали реализации от пользователя объекта. Предположим, например, что мы используем класс DatabaseReader, который имеет два метода Open() и Close().//

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

Инкапсуляция на основе методов чтения и модификации Давайте снова вернемся к рассмотрению нашего класса Employee. Чтобы "внешний мир" мог взаимодействовать с частным полем данных fullName, традиции велят определить средства чтения (метод get) и модификации (метод set). Например://

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

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

Из книги Сетевые средства Linux автора Смит Родерик В.

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

4.1. Инкапсуляция и оптимальный размер модуля Первым и наиболее важным качеством модульного кода является инкапсуляция. Правильно инкапсулированные модули не открывают свое внутренне устройство друг другу. Они не обращаются к центральной части реализации друг друга,

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

Инкапсуляция действий со ссылками Теперь накоплено достаточно подтверждений того, что любая система моделирования и разработки ПО должна поддерживать понятие ссылки, а, следовательно, и динамические псевдонимы. Как теперь справиться с неприятными последствиями?

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

24.5.4 Инкапсуляция защищенной полезной нагрузки Заголовок инкапсуляции защищенной полезной нагрузки протокола IP (IP Encapsulating Security Payload) применяется как для режима транспорта, так и для режима туннеля.Формат этого заголовка показан на рис. 24.8. Получатель использует индекс SPI

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

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