Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GOSy / ГОСы / шп I.doc
Скачиваний:
56
Добавлен:
21.05.2015
Размер:
2.32 Mб
Скачать

Базовые возможности семейства командных интерпретаторов

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

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

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

25. Модель OSI. Многоуровневая архитектура. Взаимодействие уровней OSI. Сетевые протоколы. Стек протоколов TCP/IP. Программирование сокетов. Функциональные и архитектурные особенности сети Интернет. Сервисы и службы Интернет. Подключение локальной вычислительной сети к Интернет.

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

Это — абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и понятнее.

Протокол – набор правил, в соответствии с которыми компы обмениваются инф-ей. Эти правила включают в себя: формат; время; последовательность передачи данных; способы контроля и коррекции ошибок.

В соответствии с моделью OSI(OpenSystemInterconnection) существует 7 уровней протоколов:

1) Физический уровень – побитовая передача сигналов кабелях: типы кодирования и физические характеристики сигналов, скорость передачи сигналов и т.д.

2) Канальный уровень – передача кадров данных между сетевыми картами компов.

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

3) Сетевой уровень – происходит логическое взаимодействие между сетевыми картами

MAC-MediaAccessControl- физический адрес сетевого уст-ва. Представляет собой 6 байт, записанные в 16СС. Первые три байта идентифицируют производителя, вторые три- идентиф-ют уст-во Если на канальном уровне МАС-адрес сетевой карты физически "зашит" в ней производителем и не может изменяться, то на сетевом уровне сетевой карте компа может быть назначен любой логический адрес. При замене сетевой карты, МАС-адрес новой карты неизбежно будет другим, однако логический адрес новой карты можно оставить прежним, не нарушая адресацию в сети.Сетевой уровеньтакже позволяет использовать в одной сети сегменты, построенные на различных протоколах канального уровня (например, объединить в единую сеть сегмент на сетевых картахEthernetи сегмент на сетевых картахTokenRing). Кроме того, сетевой уровень отвечает за маршрутизацию (доставку) пакетов данных вне зависимости от сложности топологии сети.

4) Транспортный уровень. Обеспечивает надежность доставки пакетов данных: установка виртуального канала передачи данных между сетевыми картами, контроль искажения или утери пакетов данных, повторная передача пакетов данных при необходимости.

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

6) Представительский уровень. Позволяет менять форму представления инф-ии, не меняя ее содержания.

7)Прикладной уровень. Набор разнообразных протоколов, при помощи которых взаимодействуют между собой прикладные программы. Каждая прога по желанию программиста может иметь свой собственный протокол или использовать один из широко-известных прикладных протоколов, например HTTP,SMTP,TELNETи др. МодельOSIявл-ся международным стандартом, однако для практических целей, чаще всего пользуются упрощенной моделью в которой физический уровень подразумевается, но не рассматривается, а сеансовый и представительский уровни объединены с прикладным.Сокращ. модель OSI: 1. Канальный; 2) Сетевой; 3) Транспортный; 4) Прикладной.

Важным понятием в многоуровневой модели протоколов явл-ся "инкапсуляция" пакетов. Чисто условно пакет можно представить в виде стр-ры [заголовок] — [данные]. В таком случае, инкапсуляцию можно представить следующей схемой: З- заголовок; Д – данные

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

несколько протоколов сетевого (транспортного, прикладного) уровня.

Протоколы сетевого и транспортного уровней. Стеки протоколов: IPX/SPX, NetBIOS/SMB, TCP/IP.

На практике, протокол сетевого уровня чаще всего разрабатывается и исп-ся в паре с протоколами транспортного, а иногда и прикладного уровня, образуя стек протоколов.

1)Стек протоколов IPX/SPXразработан фирмойNovellдля сетевой ОСNetWare, оптимизирован для использования в небольших ЛВС, однако не удобен для глобальных сетей. Включает в себя протоколыIPX,SPX,SAP,NCP,

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

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

2)Стек протоколов NetBIOS /SMBприменяется фирмойMSв своих сетевых ОС, в частности "сетевое окружение" работает при помощи этого протокола.NetBIOSвключает в себя протоколы сетевого и транспортного уровня, обеспечивает поддержку имен: каждая из рабочих станций в ЛВС может иметь одно или несколько имен, кот хранятся в табл, в формате адрес сетевого адаптера - имяNetBIOS. Обеспечивает как обмен пакетами, без установления канала связи и гарантии доставки сообщений, так и передачу пакетов с установлением логического канала связи между компами с коррекцией ошибок и повторной передачей пакетов, при необходимости.

3)Стек протоколов ТСР/IР – (протокол контроля передачи данных/межсетевой протокол) разрабатывался Мин Обороны США для глобальной сетиARPANET, и впоследствии стал основным протоколом, применяющимся вInternet.

Протокол IP (ICMP) – сетевой уровень. ПротоколIPотвечает за адресацию в сети и доставку пакетов между компами сети, без установления соединения и гарантий доставки пакета. При использовании протоколаIP, каждый комп в рамках сети должен иметьуникальный IP— адрес, представляющий собой 32-битное двоичное число, разделенное на 4 равные части, называемые октетами, каждая из кот-х представляется в 10-ой системе счисления для удобства чтения и запоминания, в качестве разделителей используют точки (например, 192.168.35.1).

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

Выделяют следующие классы IP-адресов:

Класс А включает сети с адресами от 1.0.0.0 до 127.0.0.0. Сетевой номер содержится в первом октете (1-127), что предусматривает 126 сетей по 1.6 миллионов компов в каждой. Стандартная маска подсети для адреса класса имеет вид 255.0.0.0.

Класс В включает сети с адресами от 128.0.0.0 до 191.255.0.0. Сетевой номер находится в первых двух октетах (128.0 - 191.255), что предусматривает 16320 сетей с 65024 компами в каждой. Стандартная маска подсети для адреса класса имеет вид 255.255.0.0.

Класс С включает сети с адресами от 192.0.0.0 до 223.255.255.0. Сетевой номер содержится в первых трех октетах (192.0.0 - 223.255.255). Это предполагает почти 2 миллиона сетей по 254 компов в каждой. Стандартная маска подсети для адреса класса имеет вид 255.255.255.0.

Классы D включает адреса от 224.0.0.0 до 239.255.255.0. Эти адреса явл-ся групповыми. Если нескольким компам в сети назначен один и тот же групповой адрес, то пакет, адресованный на этот адрес, получат все компы. Такие адреса в ЛВС исп-ся редко и зарезервированы для того времени, когда технические возм-ти сетиInternetпозволят организовывать теле- и радиовещание на группы компов.

Классы Е и F Адреса попадающие в диапазон от 240.0.0.0 до 254.0.0.0 явл-ся или эксперимент-м, или сохранены для будущего использ-я и не определяют к-л сеть.

Помимо адресов из классов A,B,C,D,E,F, сущ также неск-ко зарезервированных адресов.IP-адрес в котором все биты адреса компа=0 яв-ся адресом сети, а где все биты адреса компа=1 яв-ся широковещательным адресом и относится к каждому компу сети.IP-адрес 0.0.0.0 – путь пакетов по умолчанию, 127.0.0.0 – кольцевой адрес или ссылка на самого себя. В несуществующей сети 127.0.0.0, адрес 127.0.0.1 будет назначен спец интерфейсу, кот-ый действует подобно закрытому кругообороту. ЛюбойIPпакет переданный на этот адрес будет возвращен на этот же комп так, как если бы пакет пришел откуда-то из сети. Это позволяет тестировать сетевое программное обеспечение без использования "реальной" сети.

Сущ-ют т.н. "серые IP-адреса, кот зарезервированы для использ-я только в ЛВС. Пакеты с "серыми" адресами не передаются маршрутизаторамиInet. К таким адресам относятся: класс А 10.0.0.0; класс В от 172.16.0.0 до 172.31.0.0; класс С от 192.168.0.0 до 192.168.255.0

Протоколы TCP и UDP – транспортный уровень. TCPпозволяет устанавливать виртуальный канал передачи данных между компами. Канал устанавливается след образом:

1.=> SYN(a) Комп А посылает компу В пакет, с установленным флагомSYN(синхронизация) и случайным числом (а).

2. <=АСК(а+1), SYN(b)Комп В отвечает компу А пакетом, с установленными флагами АСК (подтверждение), с параметром (а+1), и установленным флагомSYNи своим случайным числом (b).

3. => АСК (а+1), АСК (b+1)Комп А завершает "рукопожатие"cкомпом В пакетом, с флагами АСК (а+1), АСК (b+1).

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

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

При рассмотрении протоколов транспортного уровня необх остановиться на понятии "порт" и "сокет". Порт в протоколах транспортного уровня – это "виртуальный" порт, который программно изолирует данные передаваемые по одному порту, от данных передаваемых по другому порту. Порты нумеруются от 0 до 65535. Существуют общеизвестные порты, каждый из которых традиционно связан с тем или иным видом сетевого приложения. Напр, стандартным портом для Web-сервера явл-ся порт 80. ПортыTCPи портыUDPне зависят друг от друга. Порт 80TCPможет быть занят одним сетевым приложением, а 80 портUDP– другим приложением.

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

Соседние файлы в папке ГОСы