Модель OSI состоит из семи уровней, каждый из которых может иметь несколько подуровней. Верхние уровни этой модели (приложений, представлений, сеансов и транспортный - соответственно уровни 7, 6, 5 и 4) относятся к функциям связи между приложениями. На них выполняются задачи, связанные с форматами имен файлов, множествами кодов, пользовательским интерфейсом, уплотнением, кодированием и другими функциями обмена между приложениями. Нижние три уровня (сетевой, канальный, физический - уровни 3,2 и 1) отвечают за передачу данных между отправителем и получателем. Рассмотрим поподробнее каждый из уровней.
Уровень приложений (уровень 7). Приложение, которое общается с другими компьютерами, использует правила, описанные на уровне приложений эталонной модели OSI. Уровень приложений относится к службам связи приложений. Например, в тестовом редакторе, не предусматривающем связь с другими компьютерами, нет соответствующего кода, и разработчики этого этого приложения не должны беспокоится об уровне 7 модели OSI. Однако если добавляется возможность передачи файлов, то в текстовом редакторе необходима реализация уровня 7 модели OSI. Примеры протоколов используемых на уровне 7: Telnet, HTTP, FTP, Web-обозреватели, 5MTP, SNMP.
Уровень представлений (уровень 6). Основное предназначение уровня заключается в определении форматов данных, таких как текст ASCII, двоичный формат и графический формат JPEG. Кодирование так же определяется OSI как служба уровня представлений. Например, протокол передачи файлов FTPпозволяет выбрать, в каком формате передавать информацию: двоичном или текстовом. Если выбрать двоичный формат, отправитель и получатель не изменяют содержимое файла. Если выбран текстовый формат, то отправитель переводит текст из своего набора символов в стандартный набор ASCII и отправляет его. Получатель преобразует текст из стандартного ASCII в тот набор символов, который используется на его компьютере. Примеры протоколов используемых на уровне 6: JPEG, ASCII, TIFF, GIF, PICT, MPEG, MIDI.
|
Уровень сеансов (уровень 5). Работу уровня сеансов можно сравнить с работой посредника или арбитра. Основное его назначение - контроль диалога между устройствами или сетевыми узлами. Он служит для организации связи и разбивает сеанс на три фазы: установление связи, перенос данных и разъединение связи. Примеры протоколов используемых на уровне 5: RPC, SQL, AppleTalk ASP.
Транспортный уровень (уровень 4). На уровне 4 работают протоколы, которые могут выполнять коррекцию ошибок. Также производится разбиение входящих данных на потоки для каждого работающего на данном компьютере приложения. Кроме того, на этом уровне может реорганизовываться поток данных, если был нарушен порядок принятых пакетов. Примеры протоколов используемых на уровне 4: TCP, UDP, SPX.
Сетевой уровень (уровень 3). Отвечает за доставку пакетов от отправителя к получателю. Для этого на сетевом уровне определяется логическая адресация, которая может быть назначена каждому сетевому устройству. На этом уровне также определяется работа маршрутизации и методы определения маршрутов, позволяющих доставить пакеты по назначению. На сетевом уровне определяются методы разбиения пакетов на более мелкие, если этого требует передача данных. Например, протокол IP, работающий на маршрутизаторе, считывает из пакета IP-адрес назначения, ищет его в таблице маршрутизации, разбивает его на более мелкие пакеты, если этого требует исходящий интерфейс, и вставляет его в очередь на отправку. Примеры протоколов используемых на уровне 3: IP, IPX, ICMP.
|
Канальный уровень (уровень 2). Канальный уровень отвечает за передачу данных по одному конкретному каналу или среде. Протоколы канального уровня определяют передачу по одному каналу. Все эти протоколы связаны с типом среды передачи данных в сети (т.е. с типом кабеля). Например, 802.3 и 802.2 - это спецификации, разработанные организацией IEEE. Они являются протоколами канального уровня, определяющими работу сетей Ethernet. Другие протоколы, например, HDLC, отвечают за передачу данных по каналам глобальных сетей. Примеры протоколов используемых на уровне 2: IEEE 802.3/802.2, HDLS, FrameRelay, PPP, FDDI, ATM.
Физический уровень (уровень 1). Спецификации физического уровня отвечают за физические характеристики среды передачи данных. Контакты, штырьки разъемов, использование контактов, электрические цепи, кодировка и модуляция света являются частями различных физических спецификации этого уровня. Несколько спецификаций иногда используются для описания всех деталей физического уровня. Например, спецификация RJ-45 описывает форму штекера, число проводов и контактов в кабеле. Спецификации Ethernetи 802.3 определяют использование 1, 2, 3 и 6 контактов. Таким образом, чтобы использовать кабель категории 5 со штекером RJ-45 для Ethernet-сети, необходимо использовать спецификации Ethernetи RJ-45 физического уровня. Примеры протоколов используемых на уровне 1: V.35, V.24, RJ-45, Ethernet, 802.3, FDDI.
|
Такое разбиение функций или задач сети на более мелкие части, называемые уровнями, и определение стандартного взаимодействия между этими уровнями дает массу преимуществ. Уровни разбивают огромный и сложный набор понятий и протоколов на более мелкие частицы, позволяя упростить их рассмотрение, реализацию в аппаратном или программном обеспечении, а так же поиск и устранение неполадок. Эталонные модели обладают множеством полезных свойств. Например, разработчики могут сконцентрироваться на функциях одного уровня, зная, что функции, находящиеся вне сферы их деятельности, выполняются на другом. В результате развивается специализация. Другим полезным свойством является то, что изменения на одном уровне не обязательно влекут за собой изменения на другом. Оно обозначается техническим термином слабая комплексация и означает отсутствие ответственности за деятельность на другом уровне специализации.
Очень важное преимущество эталонной модели - совместимость. Если разработчики программного обеспечения придерживаются спецификации эталонной модели, протоколы, удовлетворяющие этой модели, работают совместно. Совместимость служит мощным потенциалом для создания и применения большого числа протоколов.
Далее будут рассмотрены некоторые протоколы, с которыми чаще всего приходиться сталкиваться при работе сетями./IP
Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol) на сегодня является наиболее распространенным и функциональным. Он работает в локальных сетях любых масштабов. Кроме того, это единственный из протоколов, который позволяет работать глобальной сети Интернет.
Протокол был создан в 70-х годах прошлого века управлением Министерства обороны США. Именно с его подачи началась разработка протокола, целью которого было соединение любых двух компьютеров, как бы далеко они ни находились. Конечно, они преследовали свою цель - обеспечить постоянную связь с центром управления, даже если все вокруг будет разрушено в результате военных действий. В итоге была образована глобальная сеть ARPAnet, которую министерство активно использовало в своих целях.
Толчком к дальнейшему усовершенствованию и широкому распространению стека TCP/IP стал тот факт, что его поддержка была реализована в компьютерах c операционной системой UNIX. В результате популярность протокола TCP/IP возросла.
В стек протоколов TCP/IP входит достаточно много протоколов, работающих на различных уровнях, но свое название он получил благодаря двум протоколам - TCP и IP.(Transmission Control Protocol) - транспортный протокол, предназначенный для управлением передачей данных в сетях, использующих стек протоколов TCP/ IP. IP (Internet Protocol) - протокол сетевого уровня, предназначенный для доставки данных в составной сети с использованием одного из транспортных протоколов, например TCP или UDP.
Нижний уровень стека TCP/IP использует стандартные протоколы передачи данных, что делает возможным его применение в сетях с использованием любых сетевых технологий и на компьютерах с любой операционной системой.
Изначально протокол TCP/IP разрабатывался для применения в глобальных сетях, именно поэтому он является максимально гибким. В частности, благодаря способности фрагментации пакетов данные, несмотря на качество канала связи, в любом случае доходят до адресата. Кроме того, благодаря наличию IP-протокола становится возможной передача данных между разнородными сегментами сети.
Недостатком TCP/IP-протокола является сложность администрирования сети. Так, для нормального функционирования сети требуется наличие дополнительных серверов, например DNS, DHCP и т.д., поддержание работы которых и занимает большую часть времени системного администратора./SPX
Стек протоколов IPX/SPX является разработкой и собственностью компании Novell. Он был разработан для нужд операционной системы Novell NetWare, которая еще до недавнего времени занимала одну из лидирующих позиций среди серверных операционных систем.
Протоколы IPX и SPX работают на сетевом и транспортном уровнях модели ISO/ OSI соответственно, поэтому отлично дополняют друг друга. Протокол IPX может передавать данные с помощью датаграмм, используя для этого информацию о маршрутизации в сети.
Однако для того, чтобы передать данные по найденному маршруту, необходимо сначала установить соединение между отправителем и получателем. Этим и занимается протокол SPX или любой другой транспортный протокол, работающий в паре с IPX.
К сожалению, стек протоколов IPX/SPX изначально ориентирован на обслуживание сетей небольшого размера, поэтому в больших сетях его использование малоэффективно: излишнее использование широковещательного вещания на низкоскоростных линиях связи не допустимо./SMB
Достаточно популярный стек протоколов, разработкой которого занимались компании IBM и Microsoft, соответственно, ориентированный на использование в продуктах этих компаний. Как и у TCP/IP, на физическом и канальном уровне стека NetBIOS/SMB работают стандартные протоколы, такие как Ethernet, TokenRing и другие, что делает возможным его использование в паре с любым активным сетевым оборудованием. На верхних же уровнях работают протоколы NetBIOS (Network Basic Input/Output System) и SMB (Server Message Block).
Протокол NetBIOS был разработан в середине 80-х годов прошлого века, но вскоре был заменен на более функциональный протокол NetBEUI (NetBIOS Extended User Interface), позволяющий организовать очень эффективный обмен информацией в сетях, состоящих не более чем из 200 компьютеров.
Чтобы обмен между компьютерами был возможен, каждый из них должен обладать логическим именем. Для обмена данными между компьютерами используются логические имена, присваиваемые компьютерам динамически при их подключении к сети. При этом таблица имен распространяется на каждый компьютер сети. Поддерживается также работа с групповыми именами, что позволяет передавать данные сразу нескольким адресатам.
Главные плюсы протокола NetBEUI - скорость работы и очень малые требования к ресурсам. Если требуется организовать быстрый обмен данными в небольшой сети, состоящей из одного сегмента, лучшего протокола для этого не найти. Кроме того, для доставки сообщений установленное соединение не является обязательным требованием: в случае отсутствия соединения протокол использует датаграммный метод, когда сообщение снабжается адресом получателя и отправителя и «пускается в путь», переходя от одного компьютера к другому.
Однако NetBEUI обладает и существенным недостатком: он полностью лишен понятия о маршрутизации пакетов, поэтому его использование в сложных составных сетях не имеет смысла.
Что касается протокола SMB (Server Message Block), то с его помощью организуется работа сети на трех самых высоких уровнях - сеансовом, уровне представления и прикладном уровне. Именно при его использовании становится возможным доступ к файлам, принтерам и другим ресурсам сети. Данный протокол несколько раз был усовершенствован (вышло три его версии), что позволило применять его даже в таких современных операционных системах, как Microsoft Vista и Windows 7. Протокол SMB универсален и может работать в паре практически с любым транспортным протоколом, например TCP/IP и SPX.
Пожалуй, самый востребованный из протоколов, с которым ежедневно работают десятки миллионов пользователей Интернета по всему миру.
Протокол HTTP (Hyper Text Transfer Protocol) разрабатывался специально для Интернета: для получения и передачи данных по Интернету. Он работает по технологии «клиент - сервер», которая подразумевает, что есть клиенты, запрашивающие информацию (например, просмотр содержимого веб-страницы), и серверная часть, которая обрабатывает эти запросы и отсылает ответ.работает на уровне приложений. Это означает, что данный протокол должен пользоваться услугами транспортного протокола, в качестве которого по умолчанию выступает протокол TCP.
Первая версия протокола HTTP была разработана еще в начале 90-х годов прошлого века и на то время полностью удовлетворяла пользователей своими возможностями. Но со временем, когда в Интернет пришла графика и динамичные изображения, возможностей протокола стало не хватать и он постепенно начал изменяться.
В своей работе протокол использует понятие URI (Uniform Resource Identifier) - уникального идентификатора ресурса, в качестве которого обычно выступает адрес веб-страницы, файла или любого другого логического объекта. При этом URI поддерживает работу с параметрами, что позволяет расширять функциональность протокола. Так, используя параметры, можно указать, в каком формате и кодировке вы хотите получить ответ от сервера. Это в свою очередь позволяет передавать с помощью HTTP не только текстовые документы, но и любые двоичные данные.
Основным недостатком протокола HTTP является избыточный объем текстовой информации, необходимой для того, чтобы клиент мог правильно отобразить полученный от сервера ответ. При большом объеме содержимого веб-страницы это может создавать излишне большой трафик, что ухудшает восприятие информации. Кроме того, протокол полностью лишен каких-либо механизмов сохранения состояния, что делает невозможной навигацию по веб-страницам посредством одного лишь HTTP-протокола. По этой причине вместе с HTTP-протоколом используются сторонние протоколы либо пользователю необходимо работать с браузером, обрабатывающим HTTP-запросы.. Протокол FTP (File Transfer Protocol) является «родным братом» протокола HTTP, только, в отличие от последнего, он работает не с текстовыми или двоичными данными, а с файлами.
Этот протокол - один из старейших: он появился еще в начале 70-х годов прошлого века. Как и HTTP, он работает на прикладном уровне и в качестве транспортного протокола использует TCP-протокол. Его основная задача - передача файлов с/на FTP-сервер.протокол представляет собой набор команд, которые описывают правила подключения и обмена данными. При этом команды и непосредственно данные передаются с использованием различных портов. В качестве стандартных портов используются порты 21и 20: первый - для передачи данных, второй - передачи команд. Кроме того, порты могут быть динамическими.
Размер файлов, передаваемых с помощью FTP-протокола, не лимитируется. Предусмотрен также механизм докачки файла, если в процессе передачи произошел обрыв связи. Главным недостатком FTP-протокола является отсутствие механизмов шифрования данных, что позволяет перехватить начальный трафик и определить с его помощью имя пользователя, а также его пароль подключения к FTP-серверу. Чтобы избежать подобной ситуации, параллельно используется протокол SSL, с помощью которого данные шифруются.
РОРЗ и SMTP
Использование электронной почты для обмена сообщениями уже давно является альтернативой обычной почте. Электронная почта гораздо эффективнее и быстрее. Ее использование стало возможным благодаря протоколам POP3 (Post Office Protocol Version 3) и SMTP (Simple Mail Transfer Protocol).
Протокол POP3 работает на прикладном уровне и применяется для получения электронных сообщений из почтового ящика на почтовом сервере. При этом он использует один из портов и транспортный протокол TCP.
Сеанс связи с почтовым сервером разбит на три этапа: авторизация, транзакция и обновление. Авторизации пользователя происходит при соединении с почтовым сервером, для чего может использоваться любой почтовый клиент, поддерживающий работу с протоколом POP3. На этапе транзакции клиент запрашивает у сервера выполнение необходимого действия, например получения информации о количестве сообщений, получения самих сообщения либо их удаления. Процесс обновления предназначен для выполнения запроса клиента. После окончания обновления сеанс связи завершается до поступления следующего запроса на соединение.
При прохождении этапа авторизации может использоваться любой из существующих протоколов шифрования, например SSL или TLS, что делает процесс получения электронной корреспонденции более защищенным.
Протокол POP3 позволяет только получать электронные сообщения, а для их отправки приходится использовать другой протокол, в качестве которого чаще всего применяется SMTP, точнее, его усовершенствованная версия - ESMTP (Extended SMTP).
Как и POP3, протокол SMTP работает на прикладном уровне, поэтому ему необходимы услуги транспортного протокола, в роли которого выступает протокол TCP. При этом отправка электронных сообщений также происходит с использованием одного из портов, например 25 порта.(Interactive Mail Access Protocol) - еще один почтовый протокол, созданный на основе протокола POP3. Он был разработан позже протокола POP3. В результате в нем были учтены все недостатки и добавлено большое количество новых востребованных функций.
Наиболее полезными среди них является возможность частичного скачивания сообщений, анализируя содержимое которых можно эффективно настраивать фильтры, сортирующие письма или отсеивающие спам.
Еще одна немаловажная функция - механизм оптимизации использования каналов, по которым передаются сообщения. Эти каналы не всегда быстрые и незагруженные, поэтому наличие такой функции существенно облегчает жизнь пользователя. Имеется также возможность передачи сообщений по небольшим частям, что очень полезно, когда размер письма большой, например 5-10 Мбайт.
Протокол передачи данных SLIP (Serial Line Internet Protocol) создан специально для организации постоянного подключения к Интернету с использованием имеющейся телефонной линии и обычного модема. Из-за высокой стоимости этот тип подключения могут позволить себе немногие пользователи. Как правило, такое подключение создается в организациях, имеющих сервер, на котором находится веб-страница организации и другие ресурсы (база данных, файлы).
Данный протокол работает вместе с протоколом TCP/IP и находится на более низком уровне. Перед тем как информация с модема поступит на обработку TCP/ IP-протоколу, ее предварительно обрабатывает SLIP-протокол. Выполнив все необходимые действия, он создает другой пакет и передает его TCP/IP.
РРР
Протокол РРР (Point-to-Point Protocol) выполняет ту же работу, что и описанный выше SLIP. Однако он лучше выполняет эти функции, так как обладает дополнительными возможностями. Кроме того, в отличие от SLIP, PPP может взаимодействовать не только с TCP/IP, но и с IPX/SPX, NetBIOS, DHCP, которые широко используются в локальных сетях.
Протокол PPP более распространен также благодаря использованию на интернет-серверах с установленной операционной системой семейства Windows NT (SLIP применяют для соединения с серверами, работающими в операционной системе UNIX).
Х.25
Протокол Х.25, который был создан в 1976 году и усовершенствован в 1984 году, работает на физическом, канальном и сетевом уровнях модели взаимодействия ISO/OSI. Его разработкой занимался консорциум, состоящий из представителей многих телефонных компаний, и создавали его специально для использования на существующих телефонных линиях.
Когда разрабатывался X.25, цифровая телефонная линия была редкостью - использовалась в основном аналоговая. По этой причине в нем присутствует система обнаружения и коррекции ошибок, что существенно повышает надежность связи. В то же время эта система замедляет скорость передачи данных (максимальная - 64 Кбит/с). Однако этот факт не мешает использовать его там, где прежде всего требуется высокая надежность, например в банковской системе.RelayRelay - еще один протокол, предназначенный для передачи данных по телефонной линии. Помимо высокой надежности (как у X.25), он обладает дополнительными полезными нововведениями. Поскольку передаваемые данные могут иметь формат видео, аудио или содержать электронную информацию, есть возможность выбирать приоритет передаваемого содержимого.
Еще одна особенность протокола Frame Relay - его скорость, которая достигает 45 Мбит/с.
Протокол AppleTalk является собственностью компании Apple Computer. Он был разработан для установки связи между компьютерами Macintosh.
Как и TCP/IP, AppleTalk представляет собой набор протоколов, каждый из которых отвечает за работу определенного уровня модели ISO/OSI.
В отличие от протоколов TCP/IP и IPX/SPX, стек протокола AppleTalk использует собственную реализацию физического и канального уровней, а не протоколы модели ISO/OSI.
Рассмотрим некоторые протоколы стека AppleTalk.
- DDP (Datagram Delivery Protocol) - отвечает за работу сетевого уровня. Его основное предназначение - организация и обслуживание процесса передачи данных без предварительной установки связи между компьютерами.
- RTMP (Routing Table Maintenance Protocol) - работает с маршрутными таблицами AppleTalk. Любая такая таблица содержит информацию о каждом сегменте, куда возможна доставка сообщений. Таблица состоит из номеров маршрутизаторов (порта), которые могут доставить сообщение к выбранному компьютеру, количества маошрутизаторов, параметров выбранных сегментов сети (скорости, загруженности и т.п.).
- NBP (Name Binding Protocol) - отвечает за адресацию, которая сводится к привязке логического имени компьютера к физическому адресу в сети. Кроме процесса привязки имени, он отвечает за регистрацию, подтверждение, стирание и поиск этого имени.
- ZIP (Zone Information Protocol) - работает в паре с протоколом NBP, помогая ему производить поиск имени в рабочих группах, или зонах. Для этого он использует информацию ближайшего маршрутизатора, который создает запрос по всей сети, где могут находиться входящие в заданную рабочую группу компьютеры.
- ATP (AppleTalk Transaction Protocol) - один из протоколов транспортного уровня, который отвечает за транзакции. Транзакция - это набор из запроса, ответа на этот запрос и идентификационного номера, который присваивается данному набору. Примером транзакции может быть сообщение о доставке данных от одного компьютера другому. Кроме того, ATP умеет делать разбивку больших пакетов на более мелкие с последующей их сборкой после подтверждения о приеме или доставке.
- ADSP (AppleTalk Data Stream Protocol) - протокол, аналогичный ATP. Он отвечает за доставку пакетов. Однако в данном случае осуществляется не одна транзакция, а гарантированная доставка, которая может повлечь за собой несколько транзакций. Кроме того, протокол гарантирует, что данные при доставке не будут утеряны или продублированы.