Сетевые технологии и Интернет
Глобальные и локальные сети
Глобальные сети (WAN, Wide Area Networks) позволяют организовать взаимодействие между компьютерами на больших расстояниях. Эти сети работают на относительно низких скоростях и могут вносить значительные задержки в передачу информации. Протяженность глобальных сетей может составлять тысячи километров и они интегрированы с сетями масштаба страны.
Локальные сети (LAN, Local Area Networks) обеспечивают наивысшую скорость обмена информацией между компьютерами и типичная локальная сеть занимает пространство в одно или несколько зданий. Протяженность локальных компьютерных сетей составляет всего лишь несколько километров.
Сравнительно недавно появились городские сети или сети мегополисов (MAN, Metropolitan Area Networks). Такие сети предназначены для обслуживания территории крупного города – мегаполиса. В то время как локальные сети наилучшим образом подходят для разделения ресурсов на коротких расстояниях и на больших скоростях (до 100 Мбит), а глобальные сети обеспечивают работу на больших расстояниях и с низкой скоростью (56 и 64 Кбит/с и только на магистралях до 2 Мбит/с), то городские сети занимают промежуточное положение: имеют скорость до 45 Мбит/с и связывают локальные сети в масштабах города с возможностью выхода в глобальные сети.
Механизмы передачи данных в глобальных и локальных сетях существенно отличаются. Глобальные сети ориентированы на соединение, т.е. еще до начала передачи данных между компьютерами сети устанавливается соединение, которое подтверждается обменом компьютеров между собой специальными сигналами (кодами). В локальных сетях, как правило, используются методы, не требующие предварительной установки соединения – данные просто передаются в канал связи без подтверждения готовности их принять. В локальных сетях каждый компьютер имеет сетевой адаптер, который достаточно просто соединяет его с каналом передачи. Глобальные сети содержат активные коммутирующие устройства, мощные маршрутизаторы для распределения сообщений и соответствующие развитые службы по обслуживанию сетевого оборудования. Среди глобальных компьютерных сетей в настоящее время наиболее популярной является сеть Internet, которую более подробно рассмотрим ниже.
Типы сетей
Ниже представлены самые популярные типы сетей
Персональная сеть (PAN).
Локальная сеть (сокращенно LAN).
Городская сеть (MAN).
WAN (глобальная сеть).
Беспроводная локальная сеть (сокращенно WLAN).
SAN (сеть хранения данных).
Корпоративная частная сеть (EPN).
VPN (виртуальная частная сеть).
Разветвленная компьютерная сеть, т. е. сеть WAN, соединяет телекоммуникационные сети в более крупных географических районах за счет использования специализированных решений. Глобальные сети обычно используются для соединения различных местоположений компании в единую сеть.
Локальная вычислительная сеть является одним из основополагающих элементов любой ИТ-инфраструктуры. Сегодня сложно представить хорошо функционирующую организацию, которая не имела бы защищенного и непрерывного доступа к сетям передачи данных. Сбои в правильном функционировании сети могут нарушить непрерывность ключевых бизнес-процессов, а это может привести к серьезным последствиям.
Узел сети (сетевой узел) – это любое компьютерное устройство, соединённое с другими компьютерными устройствами, как часть компьютерной сети. Все узлы сети делятся на пользовательские сетевые устройства и специальное сетевое оборудование.
Характерным признаком локальной сети является объединение в компьютерную сеть двух и более независимых сетевых устройств с обязательным использованием специального сетевого оборудования – компьютерных устройств для обеспечения работы самой сети.
Топология компьютерных сетей.
При построении компьютерных сетей важным является выбор физической организации связей между отдельными компьютерами, т.е. топологии сети.
При выборе топологии сети, наряду с чисто техническими проблемами передачи электрических сигналов, приходится решать и задачи экономного использования линий связи (1 км оптического волокна, например, стоит несколько тысяч долларов). Рассмотрим некоторые, наиболее часто встречающиеся топологии.
Полносвязная топология соответствует сети, в которой каждый компьютер связан со всеми остальными Полносвязная топология является громоздкой и малоэффективной, т.к. для каждой пары компьютеров выделяется отдельная электрическая линия связи и требуется большое количество коммутационных портов. Чаще всего этот вид топологии используется в глобальных сетях при небольших количествах компьютеров.
Топология общая шина является достаточно распространенной топологией для локальных сетей. В этом случае компьютеры подключаются к одному общему кабелю (шине), по которому и происходит обмен информацией между компьютерами. Основными преимуществами общей шины являются дешевизна и простота разводки кабеля по отдельным помещениям. Серьезными недостатками такой топологии является низкая надежность, т.к любой дефект общего кабеля полностью парализует всю сеть, а так же невысокая производительность, поскольку в любой момент только один компьютер может передавать данные в сеть.
Топология звезда предусматривает подключение каждого компьютера отдельным кабелем к общему устройству, называемому концентратором, который находится в центре сети. Концентратор служит для перенаправления передаваемой информации к одному или всем остальным компьютерам сети. По сравнению с общей шиной эта топология имеет более высокую надежность, т.к. неполадки с кабелем касаются лишь одного компьютера и только неисправность концентратора выводит из строя всю сеть. К недостатком топологии звезда можно отнести ее высокую стоимость ввиду необходимости установки дополнительного оборудования (концентратора). Кроме этого концентратор имеет ограниченное количество портов для подключения компьютеров. Поэтому для сетей с большим количеством компьютеров используется подключение нескольких концентраторов, иерархически соединенных между собой связями типа звезда. В настоящее время иерархическая звезда является самой распространенной топологией как в локальных, так и в глобальных компьютерных сетях.
В сетях с кольцевой топологией данные передаются по кольцу от одного компьютера к другому, как правило, в одном направлении. Если компьютер распознает данные как «свои», то он их принимает. В сетях с кольцевой топологией всегда принимаются меры для обеспечения работоспособности сети при выходе из строя одного из компьютеров. Такие сети строятся всегда, если требуется контроль предаваемой информации, т.к. данные сделав полный оборот возвращаются к компьютеру- источнику.
Отметим, что по описанным типовым топологиям строятся, как правило, небольшие сети. Для крупных сетей характерно наличие произвольных связей между компьютерами, где можно, однако, выделить описанные выше топологии. Такие сети называются сетями со смешанной топологией.
Стандартизация компьютерных сетей. Понятия интерфейса, протокола и стека
По своей сущности компьютерная сети является совокупностью компьютеров и сетевого оборудования, соединенных каналами связи. Поскольку компьютеры и сетевое оборудование могут быть разных производителей, то возникает проблема их совместимости. Без принятия всеми производителя общепринятых правил построения оборудования создание компьютерной сети было бы невозможно. Поэтому разработка и создание компьютерных сетей может происходить только в рамках утвержденных стандартов.
В основу стандартизации компьютерных сетей положен принцип декомпозиции, т.е. разделения сложных задач на отдельные более простые подзадачи. Каждая подзадача имеет четко определенные функции и строго установленные связи между подзадачами. При более внимательном рассмотрении работы компьютера в сети можно выделить две основные подзадачи:
взаимодействие программного обеспечения пользователя с физическим каналом связи (посредством сетевой карты) в пределах одного компьютера
взаимодействие компьютера через канал связи с другим компьютером
Современное программное обеспечение компьютера имеет многоуровневую модульную структуру, т.е. программный код, написанный программистом и видимый на экране монитора (модуль верхнего уровня), проходит несколько уровней обработки, прежде чем превратится в электрический сигнал (модуль нижнего уровня), передаваемый в канал связи.
При взаимодействии компьютеров через канал связи оба компьютера должны выполнять ряд соглашений. Например, они должны согласовать величину и форму электрических сигналов, длину сообщений, методы контроля достоверности и т.д. Соглашения должны быть такими, чтобы они были поняты каждым модулем на соответствующе уровне каждого компьютера.
Суть работы многоуровневого протокола можно пояснить как «письмо в конверте». Каждый уровень протокола надписывает на «конверте» свою информацию. Сетям нужно только понимать «надпись» на «конверте», чтобы предать его в место назначения, а до содержания письма им дела нет.
Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются модули, лежащие на одном уровне, но в различных компьютерах называются протоколами.
Модули, реализующие протоколы соседнего уровня и находящиеся в одном компьютере, также взаимодействуют друг с другом в соответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений. Эти правила называются интерфейсом и определяют набор сервисов, предоставляемых данным уровнем соседнему уровню.
Другими словами, в сетевых технологиях традиционно принято, что протоколы определяют правила взаимодействия модулей одного уровня, но в разных компьютерах, а интерфейсы – соседних уровней в одном компьютере. Модули, таким образом, должны обрабатывать: во- первых свой собственный протокол, а во- вторых интерфейсы с соседними уровнями.
Иерархически организованный набор протоколов для взаимодействия компьютеров в сети называется стеком коммуникационных протоколов.
Коммуникационные протоколы могут быть реализованы как программно, так и аппаратно. Протоколы нижних уровней, как правило, реализуются комбинацией программно- аппаратных средств, а протоколы верхних уровней- чисто программными средствами.
Отметим, что протоколы каждого уровня обладают независимостью друг от друга, т.е. протокол любого уровня может быть изменен не оказывая при этом никакого влияния на протокол другого уровня. Главное, чтобы интерфейсы между уровнями обеспечивали необходимые связи между ними.
Принцип взаимодействия компьютеров в сети можно объяснить на примере сотрудничества двух фирм. Два генеральных менеджера каждой из фирм осуществляют сделки между собой на основании заключенных договоров и соглашений. Указанные взаимодействия являются «протоколом уровня генеральных менеджеров». На каждой из фирм у менеджеров есть секретари, причем каждый менеджер имеет свой метод и стиль работы с секретарем. Один, например, предпочитает устные указания, а второй дает только письменные распоряжения. Таким образом, каждая фирма имеет свой собственный интерфейс «главный менеджер - секретарь», что не мешает, однако, нормально работать генеральным менеджерам между собой. Секретари в свою очередь договорились обмениваться информацией с помощью факсов, реализуя протокол «секретарь - секретарь». В случае, если секретари перейдут на электронную почту, то генеральные менеджеры этого даже и не заметят- главное, чтобы секретари выполняли их распоряжения, т.е. должен безукоризненно работать интерфейс «менеджер - секретарь». С другой стороны, менеджеры могут заключить совершенно новый договор, т.е. изменить «протокол уровня генеральных менеджеров». Передача не старого, а нового договора на уровне секретарей пройдет для этих секретарей абсолютно не замеченной.
В рассмотренном примере мы определили два уровня протоколов – уровень генеральных менеджеров и уровень секретарей. Каждый из указанных уровней имеет свой собственный протокол, который может быть изменен независимо от протокола другого уровня. Такую независимость обеспечивает правильное функционирование интерфейсов «менеджер - секретарь».
Независимость протоколов каждого уровня друг от друга и взаимодействие самих уровней посредством интерфейсов является важнейшей предпосылкой для создания ряда стандартных протоколов для компьютерных сетей
Принципы функционирования ЛВС: протоколы и адресация.
Протокол – это набор правил, в соответствии с которым компьютеры обмениваются информацией. Эти правила включают формат, время и последовательность передачи данных, способы контроля и коррекции ошибок. В соответствии с моделью OSI (Open System Interconnection) существует семь уровней протоколов:
1. Физический уровень
Побитовая передача сигналов в кабелях: типы кодирования и физические характеристики сигналов, скорость передачи сигналов и т.д.
2. Канальный уровень
Передача кадров данных между сетевыми картами компьютеров. В самом общем виде кадр данных – это группа битов, состоящая из заголовка кадра и поля данных. В заголовке указывается адрес отправителя, адрес получателя, контрольная сумма и т.п. Канальный уровень обеспечивает получение доступа к общей среде передачи данных, обнаружение ошибок в кадрах данных, их повторную передачу и др. Канальный уровень – это аппаратное взаимодействие сетевая карта – сетевая карта.
3. Сетевой уровень
Сетевая логическая адресация сетевая карта – сетевая карта. Если на канальном уровне MAC-адрес сетевой карты физически “зашит” в ней производителем и не может изменяться, то на сетевом уровне сетевой карте компьютера может быть назначен любой логический адрес. При замене сетевой карты, MAC-адрес новой карты неизбежно будет другим, однако логический адрес новой карты можно оставить прежним, не нарушая адресацию в сети. Сетевой уровень также позволяет использовать в одной сети сегменты, построенные на различных протоколах канального уровня (например, объединить в единую сеть сегмент на сетевых картах Ethernet и сегмент на сетевых картах Token Ring). Кроме того, сетевой уровень отвечает за маршрутизацию (доставку) пакетов данных вне зависимости от сложности топологии сети.
4. Транспортный уровень.
Обеспечивает надежность доставки пакетов данных: установка виртуального канала передачи данных между сетевыми картами, контроль искажения или утери пакетов данных, повторная передача пакетов данных при необходимости.
5. Сеансовый уровень.
На практике используется редко (чаще всего сеансовый и представительский уровни объединяют с прикладным уровнем). Сеансовый уровень управляет диалогом сетевая карта – сетевая карта: фиксирует, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации, которые позволяют вставлять контрольные точки в длинные передачи данных, чтобы в случае сбоя можно было вернуться назад к последней контрольной точке, а не начинать все с начала.
6. Представительский уровень.
Позволяет менять форму представления информации, не меняя ее содержания. Например, преобразования кодировки ASCII в кодировку EBCDIC, или шифрование передаваемых по сети данных при помощи протокола SSL (Secure Socket Layer). При использовании SSL, с точки зрения прикладной программы ничего не меняется: взаимодействие между клиентом и сервером по сети происходит как обычно. Однако фактически, любые данные передаваемые программой в сеть, шифруются протоколом SSL на компьютере-отправителе, передаются по сети в зашифрованном виде, а затем дешифруются протоколом SSL на компьютере получателе, прозрачно (незаметно) для работающей сетевой программы.
7. Прикладной уровень.
Набор разнообразных протоколов, при помощи которых взаимодействуют между собой прикладные программы. Каждая программа по желанию программиста может иметь свой собственный протокол или использовать один из широко-известных прикладных протоколов, например HTTP, SMTP, TELNET и др.
Модель OSI является международным стандартом, однако для практических целей, чаще всего пользуются упрощенной моделью в которой физический уровень подразумевается, но не рассматривается, а сеансовый и представительский уровни объединены с прикладным. Таким образом, упрощенная модель включает в себя:
канальный уровень
сетевой уровень
транспортный уровень
прикладной уровень
Протокол IP отвечает за адресацию в сети и доставку пакетов между компьютерами сети, без установления соединения и гарантий доставки пакета. При использовании протокола IP, каждый компьютер в рамках сети должен иметь уникальный IP – адрес, представляющий собой 32-битное число. Для удобства чтения, IP адрес разбивают на четыре 8 битовых числа, называемых октетами, например 149.76.12.4. В локальной сети, которая не подключена к Internet или другим сетям, Вы можете назначать IP-адреса произвольно (главное, чтобы они не совпадали). Однако в Internet, IP-адреса выделяются централизовано, организацией InterNIC. InterNIC выдает адреса не на каждый отдельный компьютер, а в целом на локальную сеть.
Интернет
Интернет (Internet, от лат. Inter — между и net — сеть, паутина) – это глобальная компьютерная сеть, т.е. совокупность соединенных между собой компьютеров и множества сетей.
World Wide Web сегодня – это гипермедийная служба Интернета, содержащая огромное количество гипертекстовых документов, созданных на HTML (Hypertext Markup Language – язык подготовки гипертекстовых документов). Гипертекст – это метод представления текста, изображений звука и видео, связанных друг с другом произвольной (не последовательной) ассоциативной сетью. Формат гипертекста позволяет пользователям просматривать темы в любом порядке.
С точки зрения пользователя информационное пространство «всемирной паутины» состоит из документов различного формата (документов мультемедиа), предметных указателей и ссьиок, Для перехода по ссылке или поиска по указателю пользователь применяет соответствующий браузер, «понимающий» язык разметки гипертекста. Поисковая система отыскивает по ссылке или ключевым словам в «паутине» нужный каталог, читает его структуру, считывает нужный документ и пересылает его пользователю. Затем Web-сервер автоматически генерирует гипертекстовое представление требуемых файлов по запросам пользователя.
Для получения информации в сети Интернет необходимо знать адреса ресурсов: адреса электронной почты, адреса хост-компьютеров и т.д. Хост-компьютеры (узловые компьютеры) – это компьютеры, включенные в сеть и предоставляющие различные виды сетевого сервиса. Каждый из них имеет уникальное доменное имя и числовой адрес, называемый IP-адресом.
В период создания Интернет соответствия между именами хостов и их IP- адресами были размещены в единственном файле, который назывался Hosts.txt, который размещался на компьютере в центре InterNIC. Этот файл передавался по всем хостам еще совсем тогда крохотной сети. Стремительный рост Интернет заставил выработать новую концепцию механизма разрешения имен. С этой целью была разработана специальная система DNS (Domain Name System), для реализации которой был создан специальный сетевой протокол DNS. Начальные попытки создать единую копию целой базы данных имен и адресов оказались тщетными из-за громадного объема информации. Было принято решение строить распределенную базу данных, а для увеличения производительности использовать механизм локального кэширования (сохранения в локальной базе данных). Доступ к распределенной базе данных не зависит ни от аппаратной платформы хоста, ни от коммутационной системы. Доступ к базе данных должны иметь все пользователи Интернет. Администрирование базы данных DNS возлагается на каждую организацию, которая подключается к Интернет. Организация должна инсталлировать свой собственный компьютер -сервер разрешения имен и ту часть распределенной базы данных, содержащей информацию о домене хостов данной организации. Сервер должен обслуживать хосты внутри организации и предоставлять доступ к базе данных этой организации извне.
Структура баз данных в системе DNS имеет иерархический вид, аналогичный иерархии файлов, принятой во многих файловых системах. Дерево имен начинается с корня, затем следует старшая символьная часть имени, вторая часть имени и т.д. Младшая часть имени соответствует конечному узлу сети. Все имена разделяются точками, причем иерархия задается справа налево, например, www.bseu.minsk.by
DNS имеет три основные компоненты:
Пространство имен домена (domain name space) и записи базы данных DNS (resource records).Они определяют структуру имен «дерева» и данных, связанных с этими именами. Запрос по данному имени возвратит IP- адрес хоста.
Сервера имен (name servers). Сервера имен – это специальные компьютеры со специальными серверными программами, обрабатывающие информацию имен и данных имен. Сервер управляет всей информацией подчиненной ему области имен и данных домена. При обращении за информацией, который данный сервер не обслуживает, он должен или переправить запрос серверу, обслуживающему эту информацию, или стоящему на следующей ступени иерархии. Сервер, в распоряжении которого находится определенная часть информации об именах, является владельцем (authority) имен домена, а граница владения называется зоной (zone). Зоны строятся не на основе принадлежности какой-либо части данных к определенной организации, а распределяются автоматически серверами имен и должны обеспечить полную адресацию хостов.
Программы разрешения имен (resolves). Эти программы возвращают информацию, хранящуюся в базе данных имен домена по запросу пользователя. Пользователь взаимодействует с пространством имен через указанные программы. Как правило эти программы реализуются в виде системного модуля, напрямую связанного с пользовательской программой, поэтому не требуется ни какого дополнительного протокола обмена.
Основным предназначением системы имен доменов является обеспечение механизма именования ресурсов. Этот механизм должен эффективно работать с различными хостами, сетями, семействами протоколов и типами организаций. Описанная выше структура DNS позволяет решать проблему адресации отдельных модулей изолировано, и, тем самым, создает универсальную модульную архитектуру.
Пользователь взаимодействует с пространством имен через программы разрешения. Для работы программ разрешения необходимо обращаться к серверам имен на других хостах, что может давать задержки от миллисекунд до нескольких секунд. Поэтому одной из важнейших свойств программ разрешения имен является возможность устранения сетевых задержек ответов. При этом используется механизм кэширования результатов запросов имен. Этот механизм ускоряет процесс определения имен, так в КЭШ-памяти накапливается информация о всех предыдущих именах , к которым обращалась программа.