|
Close Help |
Лекция 22
Многомашинные ассоциации.
Первые многомашинные ассоциации появились в начале 60х годов, это было связано с двумя проблемами:
К первым многомашинным комплексам можно отнести терминальные комплексы.
Терминальные комплексы
Терминальный комплекс — это набор программных и аппаратных средств, предназначенных для обеспечения взаимодействия пользователей с вычислительной установкой через телефонную или телеграфную сеть. Надо отметить, что в качестве среды взаимодействия может быть не только телефон или телеграф, но и любая среда, обеспечивающая передачу данных. Структуру терминального комплекса можно изобразить следующим образом:
К некоторому каналу передачи данных вычислительной системы подключен мультиплексор. Это устройство, назначением которого является взаимодействие внешних устройств (У) с вычислительной системой через один канал ввода-вывода. То есть любое сообщение, поданное на один из входов мультиплексора, как-то преобразовывается и попадает в вычислительную систему через один единственный канал.
К мультиплексору могут быть подключены локальные терминалы (ЛТ) (это первый уровень средств доступа к системе). Также может быть подключен модем (М) (Модем — устройство, преобразующее цифровой сигнал в аналоговый), который позволяет выйти в телефонную или телеграфную сеть и передавать через нее данные. Единственное условие — принимающим устройством с другого конца может быть только модем. К модему на другом конце может быть подключен как терминал, так и еще один мультиплексор, к которому опять же могут быть подключены какие-то устройства.
Линия связи, которая связывает один удаленный терминал с вычислительной системой называется “точка-точка”. Такая связь может быть либо арендуемой (когда линию предоставляет телефонная станция и коммутация фиксирована), либо коммутируемой, когда телефонная станция устанавливает путь связи в момент соединения.
Линия связи может быть многоточечной, когда на входе находится не удаленный терминал, а удаленный мультиплексор. Многоточечные каналы тоже могут быть как коммутируемые, так и арендуемые.
Виды каналов связи.
Симплексный канал — канал, по которому передача данных ведется в одном направлении. Например, от терминала к системе.
Дуплексный канал — передача данный осуществляется в обоих направлениях. В пример можно привести телефонную связь, когда оба собеседника могут говорить и слышать друг друга одновременно.
Полудуплексный канал — осуществляет передачу данных в двух направлениях, но в каждый момент времени передача может происходить только в одну сторону. Здесь примером может послужить разговор по рации.
В качестве локальных терминалов в системе могут присутствовать и компьютеры, эмулирующие работу терминала.
Многомашинные вычислительные комплексы (МВК)
МВК — аппаратное-программное объединение группы вычислительных машин, на каждой из которых работает своя ОС (это требование является основным, отличающим МВК от многопроцессорного вычислительного комплекса), и имеются общие физические ресурсы. Последнее означает, что имеется группа вычислительных машин, которой доступны некоторые общие ресурсы, например, ОЗУ, жесткий диск, принтер и т.д.
Соответственно, в МВК возникают все те проблемы, которые возникают при использовании различными процессами общих ресурсов.
МВК использовались в качестве систем сбора и обработки больших потоков данных или организации на их базе больших терминальных комплексов, которые обеспечивали гипермассовый доступ к данной вычислительной системе.
МВК появились в начале 60х годов и на сегодняшний день также успешно используются. Одним из применений МВК является дублирование вычислительной мощности.
Вычислительные сети
Вычислительные сети — это следующее поколение многомашинных ассоциаций после терминальных комплексов и МВК.
Пусть у нас имеется некоторое образование, которое называется коммутационной средой. Коммутационная среда включает в себя каналы передачи данных и коммутационные машины.
Абонентские машины (АМ) могут взаимодействовать друг с другом с использованием коммутационной среды через каналы связи и коммутационные машины.
Существует ряд классических разновидностей сетей:
Ее суть состоит в том, что если надо связать АМ2 и АМ3, то происходит физическое соединение каналов и комм. машин. Это соединение будет существовать до конца взаимодействия АМ2 и АМ3.
Достоинства: если мы канал коммутировали, то после этого взаимодействие идет без проблем со скоростью, равной минимальной скорости каналов, составляющих магистраль передачи данных.
Недостатки: такая организация может блокировать другие магистрали (если мы связали машины 2 и 3, то 5 и 1 машины связаться не смогут, так как каналы и комм. машины уже заняты). В качестве решения этой проблемы можно требовать от коммутационной среды большой избыточности (увеличить число коммутационных машин и каналов).
Если коммутация каналов — коммутация на время всего сеанса связи, то коммутация сообщений — это связь, при которой весь сеанс уходит на передачу сообщений (логически завершенных порций данных). При этом сеть коммутаций сообщений работает также, как и сеть коммутации каналов, но коммутация происходит не на период всего сеанса связи, а на период передачи сообщения.
Недостатки: здесь возникает проблема нагрузки на коммуникационные машины, так как они должны обладать возможностью буферизации сообщений в связи с возможно неравномерным количеством и объемом сообщений от разных машин; а также во время передачи сообщения блокируется канал, по которому происходит общение, если сообщение слишком большое, то это приводит к ощутимым задержкам в передаче остальных машин.
Достоинства: простота, как на уровне программной, так и аппаратной реализации.
Сеанс разбивается на сообщения, сообщение разбивается на порции данных одинакового объема, и по сети передаются как раз эти порции данных, которые называются пакетами. При передаче пакетов действует принцип “горячей картошки” — когда каждая из коммутационных машин стремиться, как можно скорее, избавиться от пришедшего к ней пакета.
Достоинства: так как все пакеты одинакового размера, то не возникает проблем с буферизацией; логически происходит достаточно быстрое соединение, ибо практически нет ситуаций, когда какие-то каналы заблокированы; из-за разбиения на пакеты мы можем качественно лучше исправлять ошибки — для исправления ошибки в потоке данных следует лишь передатьповторно тот пакет, в котором она произошла.
В реальных системах используются многоуровневые сети, одни их части работают в режиме коммутации каналов, другие в режиме коммутации сообщений, третьи — в пакетном режиме. “Чистых” сетей, в принципе, не бывает, так как на каждом логическом уровне сети может проявиться тот или иной режим.
Вот некоторая предыстория развития многомашинных ассоциаций (МА).
Стандартизация взаимодействия в сетях. ISO/OSI
Развитие МА вообще и сетей ЭВМ в частности определило тот факт, что возникла необходимость в стандартизации взаимодействия, происходящего в сети. Поэтому в конце 70хх, начале 80хх годов, международная организация стандартизации предложила стандарт взаимодействия открытых систем ISO/OSI.
Суть ISO/OSI в следующем:
Была предложена семиуровневая модель организации взаимодействия компьютеров со средой передачей данных.
Уровни:
Было предложено использовать такую семиуровневую модель для стандартизации взаимодействия систем (сейчас практически на все среды передачи данных такие стандарты разработаны — но это только физический уровень) и желании использовать такую схему в реальной жизни. С последним возникла проблема, так как реальные сети этой схеме не удовлетворяют.
Считается, что на каждой из вычислительных систем, функционирующих в сети, существует набор уровней сетевого взаимодействия, соответствующего такой семиуровневой модели. При этом гарантированно считается, что существуют подряд идущие уровни снизу вверх. То есть если есть сеансовый уровень, то гарантировано есть все нижестоящие, если есть сетевой уровень, то есть и канальный и физический.
Далее, у нас есть две машины, на каждой из которых реализована такая семиуровневая модель. Система взаимодействия предусматривает то, что взаимодействие осуществляется между параллельными уровнями. То есть каждый уровень может общаться только с таким же на другой машине. Правило взаимодействия систем на одноименных уровнях называется протоколом передачи данных. При этом следует обратить внимание на то, что одноименные уровни напрямую друг с другом оперировать не могут. Они функционируют через нижние уровни. В пример, на схеме приводится путь взаимодействия сеансового уровня Машины 1 и сеансового уровня Машины 2
Каждый уровень модели может непосредственно взаимодействовать только с соседними уровнями. Правила взаимодействий между соседними уровнями называются интерфейсом.
Эта модель ISO/OSI требует жесткой стандартизации всех уровней, интерфейсов, протоколов. Если эти стандарты есть, то мы можем просто менять содержимое уровней (например, если у нас есть стандарты на вилки и розетки, то мы можем включать в электрическую сеть абсолютно разные приборы).
Интернет.
Теперь мы поговорим об Интернете, но поговорим о нем с внутренней — технической стороны.
Несколько слов предыстории:
В конце 60хх годов Американское Агенство Перспективных Исследований в Обороне (DARPA) приняло решение о создании экспериментальной сети ARPANET. Основным свойством этой сети являлось то, что предполагалось отсутствие какой-либо централизации в сети (во всех, рассмотренных нами многомашинных ассоциациях подразумевается некая централизация). В 70м годом ARPANET стала действующей сетью в США. В частности, через эту сеть можно было добираться до ведущих университетов и научных центров США. Например, во второй половине 70х годов появилось понятие суперкомпьютеров (их создавала Crey Researches),так вот через ARPANET можно было получить доступ к этим суперкомпьютерам и работать с ними.
В начале 80хх годов началась стандартизация протоколов взаимодействия в сети. Вся стандартизация проходила естественным путем (что нестандартно — то нежизнеспособно). Сначала стандартизации подверглись языки программирования, потом протоколы и взаимодействие в ОС. Также появилась модель ISO/OSI.
С этого момента (появления стандартов) можно говорить о начале Интернета.
Лекция 23
Мы начали обсуждать проблемы организации Internet и обозначили основное качество этой системы, заложенное изначально — что эта сеть абсолютна симметрична с той точки зрения, что она не подразумевала какой-либо централизации и иерархии. Это свойство, которое легло в основу сети, и создало тот бум, который наблюдается сейчас, то есть Internet может свободно расширяться.
Мы с вами рассмотрели вкратце предысторию сети. Изначально сеть подразумевала чисто экспериментальную работу и уже в дальнейшем получила университетскую распространенность, коммерция же пришла в Интернет где-то в 1994-95 годах.
Internet основан на протоколах TCP/IP. Иногда говорят: “протокол TCP/IP” — но это неправильно, так как под этой аббревиатурой скрывается целый набор протоколов, объединенных под одним названием. Кстати, здесь есть отдельно протокол TCP и протокол IP.
Семейство TCP/IP строится по 4х уровневой схеме. Рассмотрим таблицу соответствия TCP/IP модели ISO/OSI:
Уровни TCP/IP |
Уровни ISO/OSI |
I. Прикладных программ |
|
II. Транспортный |
|
III. Межсетевой |
5. Сетевой |
IV. Доступа к сети |
|
Уровень доступа к сети TCP/IP обеспечивают аппаратные интерфейсы и драйверы аппаратных средств. К примеру, протоколом уровня доступа к сети являются протоколы Ethernet. Их суть в следующем:
Ethernet — это система, обеспечивающая мнгновенный доступ с контролем несущей и обнаружением столкновений. Ethernet — широковещательная сеть, это означает, что любое сообщение, выходящее из источника становится видимым всем остальным ethernet-устройствам. Ethernet симметрична (нет никакого физического главенства), она предполагает наличие некоторой физической среды (разновидности коаксиального кабеля, кабель “витая пара”, СВЧ диапазон и др.), ethernet-устройства, которое осуществляет взаимодействие в рамках данной среды. Так как сеть симметрична, то возникает проблема столкновения пакетов передающихся данных, то есть, когда одновременно посылаются два пакета данных из разных устройств — в этом случае происходит отказ передачи данных у обоих устройств, после этого они замирают на некоторое время, а затем делают еще одну попытку. Это напоминает разговор вежливых людей в темной комнате, когда, два человека, начав говорить одновременно замолкают и делают паузу..
Следующее свойство Ethernet заключается в том, что каждое из ethernet-устройств имеет уникальный адрес, этот адрес присваивается ему при изготовлении. Существует ряд международных правил, которые создают невозможным появление в мире двух ethernet-устройств с одинаковым номером, будь-то уже сгоревшие устройства или еще находящиеся в строю. Этот адрес можно сравнить со штрих-кодом, который встречается на различных продуктах.
Широковещательность. Реально любое сообщение, посланное в сеть, проходит через все ethernet-устройства сети. Соответственно все устройства имеют адресацию, и сообщения могут адресоваться всем устройствам, либо какому-то отдельному, но в любом случае — сообщение пройдет через все устройства, а уж каждое из них само решит — оставить его или нет.
Вот в нескольких словах о примере четвертого уровня доступа протоколов TCP/IP, это наиболее распространенный вариант. Можно сказать, что такая сеть имеет ряд недостатков, заключающихся в том, что когда в сети возникает много активных пользователей, то учащаются столкновения сообщений и пропускная способность существенно снижается.
Сеть сетей
Следует обратить внимание, что когда мы говорим Интернет — сеть, то это также верно, как и то, что TCP/IP — протокол. То есть Интернет — это объединение сетей.
С этой точки зрения можно выделить два вида компьютеров, которые можно выделить в сети:
Это хост-компьютеры (host) и шлюзы (gate). В двух словах покажем, что есть что. Реально каждый из компьютеров, которые работают в сети, может классифицироваться по двум признакам: в компьютере расположена только одна сетевая карта или интерфейс (это хост-компьютер) и обычно он принадлежит какой-нибудь одной сети; в компьютере находится две и более сетевых карты, при этом каждая из карт подключается к своей сети (это компьютеры-шлюзы). Соответственно, через шлюзы можно объединять сети.
То есть, если смотреть с точки зрения принадлежности сетям — хост принадлежит одной сети, а шлюз принадлежит сразу двум или более сетям. Через шлюзы осуществляется взаимодействие между компьютерами в различных сетях. И этот механизм объединения и доступа является одной из отличительных черт Интернета, которая базируется на межсетевом уровне TCP/IP, который в свою очередь базируется на протоколе IP.
Основная функция протокола IP — уникальная межсетевая адресация. Одним из основных свойств или качеств IP протокола является IP адрес. Это адрес, который приписывается как сети, так и конкретному компьютеру в сети. Исходя из этого мы можем сказать, что шлюз — это компьютер, имеющий два или более IP адреса (адрес одной сети и в другой сети), хост — компьютер, имеющий один IP адрес. Также в функции IP входит маршрутизация, то есть выбор пути, по которому будут передаваться сообщения, определение базовых блоков данных, которые передаются (они называются дейтаграмами) и взаимодействие с транспортным уровнем и уровнем доступа к сети, и, соответственно, в зависимости от этого взаимодействия возможна фрагментация и дефрагментация дейтаграм.
IP адресация
Два слова об IP адресации. IP адрес — это 4х байтовый код, в котором может размещаться информация об адресе сети и об адресе компьютера в сети. Существует несколько типов и категорий IP адресов:
Класс А.
0 |
||||
1 байт |
2 байт |
3 байт |
4 байт |
Первый байт кодирует номер сети, при этом его старший бит является нулевым (это признак класса А), остальные биты определяют номер сети. Сетей класса А может быть 126 штук. Соответственно, последние три байта — номер компьютера в сети. Сети класса А — гигантские сети, которые могут принадлежать крупнейшим корпорациям.
Класс B.
1 |
0 |
||||
1 байт |
2 байт |
3 байт |
4 байт |
Признак класса B — старшие два бита равны “10”. Для нумерации сети используется остаток первого и целиком второй байт. 3 и 4 байты — номер компьютера в сети. Это также большие сети, их может быть большое количество, но также ограниченное.
Класс C.
1 |
1 |
0 |
||||||
1 байт |
2 байт |
3 байт |
4 байт |
Признак класс C — старшие три бита равны “110”. Для нумерации сети используются: остаток первого байта, второй и третий байты целиком. Номер компьютера определяется четвертым байтом. Соответственно, класс C представляет большой набор небольших сетей.
Есть еще два класса — класс D и Е, но они достаточно специфичны, и мы не будем о них говорить.
Существует международная организация, которая распределяет номера сетей, соответственно, здесь действует определенная иерархия, и организация, получившая номер сети может распределять номера компьютеров в пределах этой сети по собственному усмотрению.
Следует отметить, что, несмотря на огромное число адресов, которое можно представить через 4 байта, существует проблема их узкости, и идут разговоры о расширении IP адресации. Это колоссальная проблема, сравнимая разве что с проблемой 2000 года.
На межсетевом уровне кроме протокола IP существует еще группа вспомогательных протоколов. Часть из них зависит от того, чем мы будем пользоваться и что мы будем делать. В любом случае — основа для них — протокол IP.
Транспортные протоколы
Следующие протоколы — транспортные. Здесь присутствует два типа протоколов — UDP и TCP.
Протокол TCP обеспечивает передачу данных с контролем и исправлением ошибок. Кроме того, TCP гарантирует логическое соединение данных. То есть TCP позволяет создавать логические каналы данных, гарантируя отправку и прием порций данных в определенном порядке. Протокол жесткий, так как контролирует ошибки. Но за все надо платить, и TCP является ресурсоемким протоколом.
Протокол UDP — это быстрая доставка сообщений без осуществления контроля доставки.
Соответственно, протокол TCP больше рассчитан на использовании в Internet’е (для передачи на дальние расстояния, где не может гарантироваться безошибочность передачи). UDP ориентирован на работу в локальной сети, где гарантирован определенный уровень качества передачи данных. Протоколы транспортного уровня общаются с прикладными протоколами и межсетевыми.
Далее идет уровень прикладных систем. TCP/IP обладает тем свойством, что в семействе этих протоколов стандартизованы протоколы, на которых базируются прикладные системы. В частности, FTP (file transfer protocol). Реально система FTP присутствует в каждой системе. Но за счет того, что имеется стандарт FTP, все эти приложения работают единообразно. Есть сетевой продукт Telnet — сетевая эмуляция алфавитно-цифрового терминала.
То есть в системе стандартизованы протоколы с помощью которых организованы прикладные системы. И мы можем строить свои приложения FTP или Telnet из предоставленных кирпичиков.
Далее, разные прикладные системы общаются с разными протоколами — кто-то с UDP, кто-то с TCP. FTP и Telnet, например, работают через TCP, а сетевая файловая система NFS, которая позволяет объединять файловые системы разных машин в одну (и видеть их, как свою локальную), основывается на UDP.
Вот и все то, что можно было сказать о многомашинных ассоциациях, протоколах и по курсу в целом.