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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 отвеч за адресацию в сетях Net Ware. Адрес имеет формат: номер сети (задается админом сети), адрес сетевой карты (определяется автомат), номер сокета (идентифицирует приложение, пославшее пакет). 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 не зависят друг от друга. Порт 80 TCP может быть занят одним сетевым приложением, а 80 порт UDP – другим приложением.

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

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