24434

Функционирование NAT. Функционирование Proxy

Контрольная

Информатика, кибернетика и программирование

Диаграммы рисуют для визуализации системы с разных точек зрения. Теоретически диаграммы могут содержать любые комбинации сущностей и отношений. Всего UML предлагает девять дополняющих друг друга диаграмм входящих в различные модели: диаграммы вариантов использования; диаграммы классов; диаграммы пакетов: диаграммы последовательностей действий; диаграммы кооперации: диаграммы деятельностей: диаграммы состояний объектов: диаграммы компонентов: диаграммы размещения. Диаграммы вариантов использования.

Русский

2013-08-09

999 KB

7 чел.

1. Функционирование NAT. Функционирование Proxy.

NAT: Маршрутизация в составной сети осуществляется на основе тех адресов назначения, которые помещены в заголовки пакетов. Как правило, эти адреса остаются неизменными с момента их формирования отправителем до момента поступления на узел получателя. Однако из этого правила есть исключения. Например, в широко применяемой сегодня технологии трансляции сетевых адресов (Network Address Translation, NAT) предполагается продвижение пакета во внешней сети (в Интернете) на основании адресов, отличающихся от тех, которые используются для маршрутизации пакета во внутренней (корпоративной) сети.

NAT может использоваться для достижения двух основных целей:

  1.  Использование единственного IP-адреса для доступа в Интернет с нескольких компьютеров;
    1.  Сокрытие внутренней структуры корпоративной сети.

Традиционная технология NAT

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

Идея технологии NAT состоит в следующем. Пусть сеть предприятия образует тупиковый домен, узлам которого присвоены частные адреса (рис. 20.7). На маршрутизаторе, связывающем сеть предприятия с внешней сетью, установлено программное обеспечение NAT. Это NAT-устройство динамически отображает набор частных адресов {IP*} на набор глобальных адресов {IP}, полученных предприятием от поставщика услуг и присвоенных внешнему интерфейсу маршрутизатора предприятия.

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

Традиционная технология NAT подразделяется на технологии базовой трансляции сетевых адресов (Basic Network Address Translation, Basic NAT) и трансляции сетевых адресов и портов (Network Address Port Translation, NAPT). В технологии Basic NAT для отображения используются только IP-адреса, а в технологии NAPT — еще и так называемые транспортные идентификаторы, в качестве которых чаще всего выступают TCP- и UDP-порты.

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

- ускорить Вашу работу в глобальных сетях;

- сделать Ваше путешествие по глобальным сетям анонимным;

- помочь посмотреть те сайты, к которым закрыл доступ Ваш системный администратор; и многое другое.

Рассмотрим общие принципы функционирования прокси-серверов на классическом примере. Предположим, что существует некая локальная сеть, внутри которой используется блок статических IP-адресов, разрешенных для использования в локальных сетях, например, 10.Х.Х.Х. Всем клиентам данной сети необходимо обеспечить доступ в Интернет. Одним из наиболее простых, но далеко не самых худших решений может быть организация шлюза, в качестве которого используется специальный сервер с установленным на нем программным прокси-сервером. Сервер должен иметь 2 сетевых интерфейса, один из которых имеет адрес из диапазона 10.Х.Х.Х, а второй - реальный адрес в Интернете. В этом случае всем клиентам локальной сети для работы потребуется всего один реальный IP-адрес, что весьма способствует экономии финансовых средств и повышает степень защиты локальной сети. Когда клиенту требуется какой-то конкретный документ в Интернете, его рабочая станция пересылает запрос на прокси-сервер по соответствующему протоколу, а прокси-сервер затем уже пересылает его конечному адресату в Интернете. Запросы клиента чаще всего передаются серверу по протоколу HTTP (HyperText Transfer Protocol), однако это не является ограничением, кроме этого, не имеет значения и тип затребованного документа, поскольку в самом запросе к прокси-серверу содержится полная информация о необходимом документе, в частности его тип и необходимый для этого транспортный сетевой протокол. Для того чтобы это осуществилось, прокси-сервер сам анализирует пришедший запрос и уже после этого определяет нужный адрес, по которому он и будет перенаправлен. Соответственно ответ, пришедший на реальный IP-адрес прокси-сервера из Интернета, затем пересылается конкретному клиенту на его внутренний адрес.

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

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

- размер кэша на прокси-серверах, в отличие от Вашего компьютера, составляет не мегабайты, и даже не десятки мегабайт, а гигабайты и десятки гигабайт;

- этот кэш используете не только Вы, но еще десятки, сотни и тысячи других пользователей.

Для кэширования применяются различные средства. Существует две технологии: пассивное и активное кэширование. Пассивное заключается в том, что прокси-сервер просто ожидает запрос и лишь после этого осуществляет поиск нужного документа, а также определяет, нужно ли производить кэширование. Эта технология больше распространена на корпоративных серверах. Технология активного кэширования состоит в ином. Прокси-сервер в те моменты, когда активность пользователей снижается, пытается предугадать, какие из документов с большей вероятностью будут затребованы, и извлекает их. того, чтобы ускорить доступ к ресурсам, крупные компании устанавливают сразу несколько прокси-серверов. Для управления кэшированием могут применяться специальные протоколы, такие как ICP (Internet Cache Protocol) и CARP (Cache Array Routing Protocol).


2. Типы диаграмм.

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

Всего UML предлагает девять дополняющих друг друга диаграмм, входящих в различные модели:

  1.  диаграммы вариантов использования;
  2.  диаграммы классов;
  3.  диаграммы пакетов:
  4.  диаграммы последовательностей действий;
  5.  диаграммы кооперации:
  6.  диаграммы деятельностей:
  7.  диаграммы состояний объектов:
  8.  диаграммы компонентов:
  9.  диаграммы размещения.

Диаграммы вариантов использования. Диаграммы вариантов использования позволяют наглядно представить ожидаемое поведение системы.

Основными понятиями диаграмм вариантов использования являются: действующее лицо, вариант использования, связь.

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

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

Связь – взаимодействие действующих лиц и соответствующих вариантов использования.

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

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

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

Диаграммы классов. Диаграммы классов – центральное звено объектно-ориентированных методов разработки ПО, поэтому все существующие методы используют диаграммы классов в одной из известных нотаций. Однако в основном диаграммы классов в этих методах применяют на этапе проектирования для того, чтобы показать особенности построения конкретных классов. В отличие от ранее существующих нотаций UML предлагает использовать три уровня диаграмм классов в зависимости от степени их детализации:

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

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

Диаграмма пакетов. Диаграмма пакетов показывает, из каких частей состоит проектируемая программная система, и как эти части зависят друг от друга.

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

объекты одного класса посылают сообщения объектам другого класса;

объекты одного класса обращаются к компонентам объектов другого;

объекты одного класса используют объекты другого в списке параметров методов и т.п.

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

Диаграммы последовательностей также позволяют изображать параллельные процессы.

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

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

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

Диаграммы деятельности позволяют описывать альтернативные и параллельные процессы.

Диаграммы состояний объекта. Под состоянием применительно к диаграмме состояний понимают ситуацию в жизненном цикле объекта, во время которой он: удовлетворяет некоторому условию, осуществляет определенную деятельность или ожидает некоторого события. Изменение состояния, связанное с нарушением условия или, соответственно, завершением деятельности или наступлением события называют переходом.

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

Диаграммы компонентов. Диаграммы компонентов применяют при проектировании физической структуры разрабатываемого ПО. Эти диаграммы показывают, как выглядит ПО на физическом уровне, т.е. из каких частей оно состоит и как эти части связаны между собой.

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

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

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

Принципы генерации кодов с помощью средств UML.

Одним из наиболее мощных свойств является возможность генерации программного кода после построения модели. Для этой цели присутствует большой выбор языков программирования и схем баз данных, однако возможность генерации текста программы на том или ином языке программирования зависит от установленной версии IBM Rational Rose 2002.

Общая последовательность действий, которые необходимо выполнить для генерации программного кода в среде IBM Rational Rose 2002, состоит из нескольких этапов.

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

2. Создание компонентов для реализации классов.

3. Отображение классов на компоненты.

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

5. Установка свойств генерации программного кода.

6. Выбор класса, компонента или пакета.

7. Генерация программного кода.

Особенности выполнения каждого из этапов могут изменяться в зависимости от выбора языка профаммирования или схемы базы данных.

  1.  В общем случае проверка модели может выполняться на любом этапе работы над проектом. Однако после завершения разработки графических диаграмм она является обязательной, поскольку позволяет выявить целый ряд ошибок разработчика. К числу таких ошибок и предупреждений относятся, например, неиспользуемые ассоциации и классы, оставшиеся после удаления отдельных графических элементов с диаграмм, а также операции, не являющиеся именами соответствующих сообщений.
  2.  По существу данный этап выполняется в ходе разработки диаграммы компонентов. Однако среда IBM Rational Rose 2002 позволяет генерировать текст программного кода на языке ANSI C++ для каждого класса модели без предварительного построения диаграммы компонентов.
  3.  На этом этапе необходимо осуществить включение реализации классов в выбранные компонентs/
  4.  Здесь необходимо выбрать язык программирования по умолчанию, после чего следует изменить язык реализации для каждого компонента модели.
  5.  Че ту говорить, выставляем опции, вид опций зависит от конкретного языка программирования.
  6.  Выбор класса, компонента или пакета для генерации программного кода по сути означает выделение соответствующего элемента модели в браузере проекта.
  7.  Генерация программного кода в среде IBM Rational Rose 2002 возможна для отдельного класса, пакета или компонента. Для этого нужный элемент модели предварительно следует выделить в браузере проекта и выполнить операцию контекстного меню ANSI C++ -» Generate Code.

После генерации программного кода в выбранной папке появятся файлы с текстом кода на языке ANSI C++. При этом каждому классу, например, ustroistvochteniya, реализованному на этом компоненте, будет соответствовать два файла — заголовочный, с расширением h, и файл реализации с расширением срр.

Как видно из рис. 14.19, в файле UstroistvoChtenie.cpp содержится заготовка для реализации в соответствии с правилами синтаксиса языка ANSI C++ всех операций класса UstroistvoChteniya. При этом, каждая из операций имеет пустое тело реализации, которое должен написать программист самостоятельно, исходя из функциональных требований модели и синтаксиса языка программирования ANSI C++. Данную работу удобнее выполнять в среде программирования, например, MS Visual C++ или Borland C++. При использовании среды программирования, кроме компиляции, отладки и тестирования исходных модулей программы разработчик получает возможность дополнить приложение графическим интерфейсом, необходимым для взаимодействия с пользователем.

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

В заключение следует отметить, что эффект от использования средства IBM Rational Rose 2002 проявляется при разработке масштабных проектов.


 

А также другие работы, которые могут Вас заинтересовать

78846. Наука и власть 29.5 KB
  Наука и власть Любая власть как институционализированная государственноправовые институты так и не институционализированная например власть старшего в семье власть учителя в школе власть женщины над любящим ее мужчиной и т. Власть государственная необходима для организации общественного производства которое немыслимо без подчинения участников единой воле а также для регулирования взаимоотношений между людьми в обществе. Проблема наука и власть имеет два аспекта: 1 проблема самой науки как формы власти;...
78847. Наука и нравственность. Этика науки 29 KB
  Этика науки Современная наука имеет ряд особенностей качественно отличающих ее от науки даже недавнего прошлого. Довольно быстро обнаружились и некоторые опасности связанные с возможным применением достижений современной науки. Этика науки изучает нравственные основы научной деятельности. Этические проблемы науки рождались в связи с развитием физики биологии в частности генетики психологии.
78848. Научная рациональность и ее типы 29 KB
  Научная рациональность и ее типы Основными свойствами научной рациональности являются: объектная предметность эмпирическая или теоретическая однозначность доказанность проверяемость способность к улучшению. Наука это прежде всего специфическая форма культуры порождающая особую агрессивную форму рациональности развивающуюся в сложном историческом социокультурном контексте. Анализ научной рациональности и научного знания является комплексным междисциплинарным исследованием предусматривающим синтез различных видов и форм знаний. ...
78849. Научное, ненаучное, псевдонаучное знание 30.5 KB
  Научное ненаучное псевдонаучное знание. Научное знание система знаний о законах природы общества мышления. Научное знание составляет основу научной картины мира и отражает законы его развития. Научное знание: является результатом постижения действительности и когнитивной основой человеческой деятельности; социально обусловлено; и обладает различной степенью достоверности.
78850. Метатеоретический уровень научного знания 26.5 KB
  мета за после это теория о теории: объектом научного анализа для метатеории выступает сама теория. Метатеоретический подход не просто реорганизует научное знание является не только способом научного анализа теории но производит в ней сдвиги содержательного порядка порождает новое знание. Рефлексия является своеобразным способом развития самого содержания знания одним из важных путей разработки теории Дело в том что плодотворен сам по себе выход за пределы теории отстраненный взгляд на нее. На основе метатеории в процессе...
78852. Философские основания науки 27 KB
  Философские основания науки Предисловие: Философское основание науки представляет особой один из элементов философии науки направление в философии изучающее научную деятельность ее особенности и характеристики; ее цель – устанавливать правильность научных суждений и теорий и объяснять место и роль науки в современной культуре наряду с теоретическим и эмпирическим знанием. Философские основания науки. Философские основания науки. Функции функция философского обоснования: Любая новая идея для того чтобы стать либо частью картины мира...
78853. Структура эмпирического знания. Проблема факта 28.5 KB
  Проблема факта Эмпирические факты образуют базис на который опираются научные теории. Факты фиксируются в языке науки в высказываниях типа: более половины опрошенных в городе недовольны экологией городской среды и т. Вернадский: эмпирические факты хлеб науки. Проблема факта: Эмпирические факты содержат не только информацию об изучаемых явлениях но и как правило включают ошибки наблюдателя и т.
78854. Структура теоретического знания 29 KB
  Теоретический уровень научного познания как и эмпирический имеет ряд подуровней среди которых можно выделить следующие по степени общности: а аксиомы теоретические законы; б частные теоретические законы описывающие структуру свойства и поведение идеализированных объектов; в частные единичные высказывания утверждающие нечто о конкретных во времени и пространстве состояниях свойствах и отношениях некоторых идеализированных объектов 2 вида научных законов: 1Универсальные и частные законы. Универсальными принято называть законы...