Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Принцип декомпозиции задачи





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

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

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

Интерфейс определяет набор сервисов, предо­ставляемый данным уровнем соседнему уровню.

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

Стандартные стеки протоколов:

· OSI – полностью соответствует модели OSI, включает спецификации протоколов для всех 7 уровней

· TCP/IP – TCP

· IPX/SPX

· NetBIOS(NetBEUI)/SMB

Единица данных, которой оперируют верхние три уровня, обычно называется сообщением (message).

 

Модель OSI.

Модель OSI представляет собой набор спецификаций, описывающий сети с неоднородными устройствами, требования к ним, а также способы их взаимодействия. Основной принцип построения модели, обеспечивающий независимость уровней, состоит в том, что пакет вышележащего уровня на нижележащем уровне рассматривается как данные, а вся необходимая для работы информация добавляется в виде заголовка/хвостовика

Модель OSI имеет вертикальную структуру, в которой все сетевые функуии распределены между семью уровнями. Каждому уровню соответствует набор операций, оборудование и протоколы.

 

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

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

· Физический уровень

o Учитывает свойства физической среды передачи данных

o Определяет физические параметры сети

o Не имеет протоколов и структуры передаваемых данных

o Передача битов по физическим каналам.

· Канальный уровень

o Передача логических битов между отправителем и получателем.

o Работает только внутри сети

o PDU чаще всего называется кадром

o Может контролировать достоверность передаваемой информации

· Сетевой уровень

o Решает вопросы маршрутизации

o Передача данных в системе из нескольких сетей

o PDU называется пакетом

o Используются два вида протоколов. Сетевые протоколы и протоколы маршрутизации.

· Транспортный уровень

o Обеспечение передачи данных с необходимым уровнем надежности

o Установление и контроль соединения

o Обнаружение и исправление ошибок

· Сеансовый уровень

o Управление синхронизацией между передатчиком и приемником

o Реализуется в виде отдельного уровня крайне редко

· Представительский уровень


o Преобразование формы передаваемой информации

o Решение проблем защиты передаваемой информации

· Прикладной уровень

o Создание передаваемой информации

o Предоставление сервисов пользователю

 

1. Уровни сети.

· Уровень 0 - не определен в общей схеме. Здесь представлены посредники по которым происходит передача сигналов: кабели различных типов, радио-, ИК-сигналы. На этом уровне ничего не описывается, данный уровень 0 предоставляет физическому уровню 1 только среду передачи.

· уровень 1 - Физический. Здесь осуществляется передача неструктурированного потока битов, полученных от вышележащего канального уровня 2. по физической среде - например, в виде электрических или световых сигналов. Физический уровень отвечает за поддержание связи и детально описывает электрические, оптические, механические и функциональные интерфейсы со средой передачи: напряжения, частоты, длины волн, типы коннекторов, число и функциональность контактов, схемы кодирования сигналов.

· Уровень 2 - Канальный. Обеспечивает безошибочную передачу данных, полученных от вышележащего сетевого уровня 3, через физический уровень 1, который сам по себе отсутствия ошибок не гарантирует и может искажать. информация на этом уровне помещается в кадры (frames) где в начале (заголовке кадра) содержатся адреса получателя и отправителя, а также управляющая информация, а в конце - контрольная сумма, позволяющая выявить возникающие при передаче ошибки. При получении данных на канальном уровне определяются начало и конец кадра в потоке битов, сам кадр извлекается из потока и проверяется на наличие ошибок. Поврежденные при передаче кадры, а также кадры, для которых не получено подтверждение о приеме, пересылаются заново (ретранслируются). Наконец на канальном уровне обеспечивается управление доступом к среде передачи.

· Уровень 3 - Сетевой. Отвечает за обеспечение связи между любыми точками в сети. Этот уровень осуществляет проводку сообщений по сети, которая может состоять из множества отдельных сетей, соединенных множеством линий связи. Такая доставка требует маршрутизации, т.е. определения пути доставки сообщения, а также решения задач управления потоками данных и обработки ошибок передачи.

· Уровень 4 - Транспортный. Гарантирует доставку информации от одного компьютера к другому. На этом уровне компьютера - отправителя большие блоки данных разбиваются на более мелкие пакеты, которые доставляются компьютеру - получателю в нужной последовательности, без потерь и дублирования. Таким образом, транспортный уровень завершает процесс передачи данных, скрывая от более высоких уровней все детали и проблемы, связанные с доставкой информации любого объема между любыми точками во всей сети.

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

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


· Уровень 7 - Прикладной или уровень приложений. Обеспечивает интерфейс взаимодействия программ, работающих на компьютерах в сети. Именно с помощью этих программ пользователь получает доступ к таким сетевым услугам, как обмен файлами, передача электронной почты, удаленный терминальный доступ и т.д.

 

2. Структура передаваемой информации.

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

 


 

10. Транспортный уровень в Интернете. Протоколы TCP и UDP.

UDP (User Datagram Protocol — пользовательский дейтаграммный протокол)

UDP — это быстрый протокол, не гарантирующий доставки. Если требуется поддержание порядка сообщений и надежная доставка, нужно использовать TCP. UDP главным образом предназначен для широковещательной и групповой передачи. Протокол UDP определен в RFC 786.

отличие от TCP UDP — очень быстрый протокол, поскольку в нем определен самый минимальный механизм, необходимый для передачи данных. Конечно, он имеет некоторые недостатки. Сообщения поступают в любом порядке, и то, которое отправлено первым, может быть получено последним. Доставка сообщений UDP вовсе не гарантируется, сообщение может потеряться, и могут быть получены две копии одного и того же сообщения. Последний случай возникает, если для отправки сообщений в один адрес использовать два разных маршрута.

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


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

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

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

В основе службы TCP лежат так называемые сокеты, создаваемые как отправителем, так и получателем. У каждого сокета есть номер, состоящий из IP-адреса хоста и 16-битного номера, локального по отношению к хосту, называемого портом. Один сокет может использоваться одновременно для нескольких соединений. Номера портов со значениями ниже 1024, называемые популярными портами, зарезервированы стандартными сервисами.

Все TCP-соединения являются полнодуплексными и двухточечными. Полный дуплекс означает, что трафик может следовать одновременно в противопо­ложные стороны. Двухточечное соединение подразумевает, что у него имеются ровно две конечные точки. Широковещание и многоадресная рассылка протоколом TCP не поддерживаются

· URG – устанавливается если используется поле – указатель на срочные данные. Данным образом реализованы прерывающие сообщения.

· ACK – устанавливает если в поле Номер подтверждения содержаться данные.

· PSH – указывает на то, что данный сегмент необходимо отправить приложению сразу, а не хранить в буфере.

· RST – указывает на сброс соединения из-за какой-либо проблемы.

· SYN – используется для установления соединения вместе с битом ACK

· FIN – используется для разрыва соединения.

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

В протоколе ТСР соединения устанавливаются с помощью «тройного рукопожатия». Чтобы установить соединение, одна сторона пассивно ожидает входящего соединения, выполняя примитивы LISTEN и ACCEPT, либо указывая конкретный источник, либо не указывая его. Другая сторона выполняет примитив CONNECT, указывая IP-адрес и порт, с которым он хочет установить соединение, максимальный размер TCP-сегмента и, по желанию, некоторые данные пользователя. Примитив CONNECT посылает TCP-сегмент с установленным битом SYN и сброшенным битом АСК и ждет ответа. Когда этот сегмент прибывает в пункт назначения, TCP-сущность проверяет, выполнил ли какой-нибудь процесс примитив LISTEN, указав в качестве параметра тот же порт, который содержится в поле Порт получателя. Если такого процесса нет, она отвечает отправкой сегмента с установленным битом RST для отказа от соединения.

Хотя TCP-соединения являются полнодуплексными, чтобы понять, как происходит их разъединение, лучше считать их парами симплексных соединений. Каждое симплексное соединение разрывается независимо от своего напарника. Чтобы ра­зорвать соединение, любая из сторон может послать TCP-сегмент с установленным в единицу битом FIN, что означает, что у него больше нет данных для передачи. Когда этот TCP-сегмент получает подтверждение, это направление передачи закрывается. Тем не менее, данные могут продолжать передаваться неопределенно долго в противоположном направлении. Соединение разрывается, когда оба направления закрываются. Обычно для разрыва соединения требуются четыре TCP-сегмента: по одному с битом FIN и по одному с битом АСК в каждом направлении.







Date: 2016-06-06; view: 733; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.013 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию