Электронная библиотека » Александр Ватаманюк » » онлайн чтение - страница 2


  • Текст добавлен: 22 ноября 2013, 19:19


Автор книги: Александр Ватаманюк


Жанр: ОС и Сети, Компьютеры


сообщить о неприемлемом содержимом

Текущая страница: 2 (всего у книги 17 страниц) [доступный отрывок для чтения: 6 страниц]

Шрифт:
- 100% +
3.2. Сетевой протокол

В предыдущем разделе была кратко рассмотрена модель ISO/OSI, которая описывает работу любого сетевого оборудования и сети в целом. Однако это всего лишь модель, рисунок на бумаге. Чтобы все это начало работать, необходим механизм, ее реализующий. Таким механизмом является протокол передачи данных, а если точнее, множество протоколов.

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

Поскольку каждый из уровней модели ISO/OSI обладает своими особенностями, то реализация всех этих особенностей невозможна в рамках одного протокола. Мало того, она даже невыгодна, поскольку значительную часть логики можно разрабатывать на уровне аппаратного обеспечения, что приводит к максимально быстрой обработке данных. Исходя из этих соображений было разработано множество узконаправленных протоколов, каждый из которых выполняет свою задачу и делает это с максимальной отдачей и быстродействием.

Все протоколы можно разделить на низкоуровневые и высокоуровневые.

Низкоуровневые реализованы давно, и никаких кардинальных изменений в них не вносится, что за длительное время их использования позволило найти и устранить все возможные дыры и ошибки в их работе.

Примечание

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

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

Примечание

Как правило, высокоуровневые протоколы реализуются в виде драйверов к сетевому оборудованию для разных операционных систем.

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

Следует также упомянуть тот факт, что не все протоколы могут применяться в одинаковых условиях. Бывает, применение одного из них выгодно для небольшой группы компьютеров одноранговой сети и крайне невыгодно для большого количества машин сети на основе сервера с несколькими маршрутизаторами и общим выходом в Интернет.

Наибольшую популярность приобрели такие стеки протоколов, как NetBIOS/ NetBEUI, IPX/SPX, TCP/IP и др. Более подробно познакомиться с их возможностями вы сможете ниже.

Протокол NetBIOS

NetBIOS (Network Basic Input/Output System) – один из первых сетевых протоколов, разработанный в 1984 году с целью создания интерфейса передачи сообщений по локальной сети, как одноранговой, так и на основе сервера.

Для передачи сообщений по сети NetBIOS используются логические имена компьютеров. Когда компьютер заходит в сеть, он не только сообщает об этом всем остальным, но и заносит имена всех подключенных к сети компьютеров в свою динамическую таблицу.

В силу своей простоты NetBIOS является одним из самых быстрых протоколов, и это его сильная сторона.

На самом деле NetBIOS не является полноценным протоколом, поскольку описывает только программную часть передачи данных – набор сетевых API-функций. Это означает, что, используя его, можно только подготовить данные для передачи. Физическая же передача осуществляется только с помощью любого транспортного протокола. В частности, обычно в паре с протоколом NetBIOS используется транспортный протокол NetBEUI.

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

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

Протокол NetBEUI

NetBEUI (NetBIOS Extended User Interface) – транспортный протокол, «брат» NetBIOS, его расширение. Однако он обладает большей надежностью доставки сообщений и устойчивостью к ошибкам. Достигается все это путем подтверждающих пакетов, каждый раз присылаемых в ответ на полученное сообщение. Кроме того, до начала передачи устанавливается логическая связь между компьютером-отправителем и компьютером-получателем, что уже гарантирует доставку пакетов.

Еще один механизм, обеспечивающий надежность передачи данных, – механизм, отслеживающий время «жизни» пакета (TTL). Если по истечении этого времени компьютер-получатель не пришлет подтверждение о доставке очередного пакета данных, компьютер-отправитель отсылает порцию данных повторно. Аналогично повторная передача происходит и в случае, если пакет оказался поврежденным и компьютер-получатель его отклоняет, о чем и сообщает компьютеру-отправителю.

Так же как и NetBIOS, NetBEUI не поддерживает маршрутизацию в сети, что не позволяет эффективно использовать его скорость и применять в глобальных сетях. Тем не менее этот протокол является одним из основных компонентов NT-систем и его установка происходит автоматически.

Протокол IPX/SPX

IPX и SPX являются представителями стека протоколов, разработанных компанией Novell, которая в свое время являлась прямым конкурентом Microsoft. Конкуренция велась в области сетевых операционных систем: с одной стороны стояла операционная система Novell Netware, с другой – Windows NT. Соответственно каждая из этих систем использовала свой набор протоколов.

К сожалению, со временем Novell сдала свои позиции и первенство завоевали сетевые версии операционных систем Windows NT. Тем не менее разработанные Novell протоколы используются до сих пор и будут использоваться еще очень долго.

IPX/SPX представляет собой набор подпротоколов, каждый из которых может выполнять возложенную на него задачу на высоком уровне (рис. 3.2). Два нижних уровня (физический и сетевой) реализуют стандартные протоколы Ethernet.

Рис. 3.2. Распределение протоколов стека IPX/SPX по уровням модели ISO/OSI


Ниже описаны только некоторые из протоколов, входящих в состав стека протоколов IPX/SPX.

IPX (Internetwork Packet Exchange) – отвечает за работу сетевого уровня. Его основные функции – вычисление адресов компьютеров сети и организация маршрутизации между двумя выбранными машинами. Анализируя данные других протоколов, IPX составляет наиболее эффективный путь маршрутизации. После этого пакет данных (датаграмма[1]1
  В работе протокол использует понятие «датаграмма» – пакет данных, снабженных служебной информацией о получателе и отправителе.


[Закрыть]
) с добавленной информацией об адресе получателя и отправителя идет по выбранному маршруту. К сожалению, этот протокол самостоятельно работать не может, поскольку не устанавливает соединение между компьютерами. Без этого нельзя ожидать от него надежной доставки пакетов.

SPX (Sequenced Packet Exchange) – протокол транспортного уровня. Он отвечает за установку соединения между выбранными компьютерами и передает сообщения – датаграммы.

SAP (Service Advertising Protocol) – отвечает за работу сразу трех уровней: прикладного, представления и сеансового. Однако одна из основных его функций – рассылка сообщений о доступных сервисах. Благодаря этому все сетевые устройства знают об имеющихся сетевых сервисах. SAP – очень мощное средство организации службы поддержки, однако это и является его основным недостатком. Поскольку любое сетевое устройство постоянно посылает о себе информацию, это приводит к повышению трафика сети и соответственно снижению ее эффективности. Для уменьшения засорения сети используют возможности маршрутизаторов, которые позволяют фильтровать «чужие» SAP-сообщения.

NCP (NetWare Core Protocol) – протокол верхнего (прикладного) уровня. Он отвечает за взаимодействие сервера операционной системы Novell NetWare и рабочей станции. С его помощью пользователь видит любую нужную информацию о ресурсах сети, открывает, изменяет и сохраняет файлы, меняет их атрибуты, удаляет, копирует и т. д.

Протокол TCP/IP

TCP/IP – самый распространенный протокол транспортного уровня как в локальных, так и в глобальных сетях. В свое время он был разработан Министерством обороны США, что уже говорит о его надежности.

Протокол TCP/IP имеет открытый интерфейс. Это означает, что вся информация об этом протоколе открыта и любой может использовать ее по своему желанию и назначению.

На самом деле TCP/IP состоит из нескольких протоколов.

Как вы уже заметили, в его названии есть разделитель, то есть он состоит из названий двух протоколов. Первый из них – TCP (Transmission Control Protocol), второй – IP (Internet Protocol). Это говорит о том, что в нем участвует по меньшей мере два протокола (рис. 3.3).

Рис. 3.3. Распределение протоколов стека TCP/IP по уровням модели ISO/OSI


На самом деле в стеке TCP/IP участвует намного больше протоколов. Это связано с тем, что каждый из них предназначен для выполнения определенных задач. Как известно, лучше иметь несколько механизмов, работа которых отлажена до мелочей, нежели один большой, но вызывающий неполадки.

Ниже описаны некоторые протоколы, входящие в стек TCP/IP.

TCP (Transmission Control Protocol) осуществляет обмен данными между двумя компьютерами с предварительно установленной логической связью. Он постоянно используется в Интернете, поскольку надежность соединения и универсальность в этом случае играют очень большую роль. Кроме того, TCP обеспечивает надежность доставки сообщений, принимая подтверждение доставки каждой его порции путем подтверждающих пакетов, каждый раз присылаемых в ответ на полученное сообщение. При этом в самом начале устанавливается логическая связь между компьютером-отправителем и компьютером-получателем, что уже гарантирует доставку пакетов.

UDP (User Datagram Protocol) – при использовании этого протокола не нужно иметь установленное логическое соединение двух компьютеров. Когда передаются данные другому компьютеру, предполагается, что он где-то есть, то есть подключен к сети. В этом случае нет никакой гарантии, что обмен данными произойдет. При этом к отсылаемому пакету просто добавляется IP-адрес машины, которой нужно отослать сообщение. Если сообщение принято, присылается подтверждение об этом, иначе отсылка данных повторяется через некоторый промежуток времени. Как ни странно, протокол UDP применяется в сети достаточно часто. Благодарить за это нужно скорость его работы, которая достигается за счет того, что не устанавливаются соединения с другими компьютерами, а это позволяет использовать трафик в нужном направлении. Так, данный протокол часто используют в сетевых играх, для передачи звуковых данных интернет-радио и в других случаях, где надежность доставки пакетов не играет большой роли.

IP (Internet Protocol) – протокол более высокого уровня, чем TCP и UDP. Он используется непосредственно для передачи данных по ранее установленному (или не установленному) соединению и имеет механизмы маршрутизации. Пользуясь информацией о маршрутизации между выбранными компьютерами, он просто добавляет адрес отправителя и получателя к пакету и отсылает его дальше. Наиболее востребованной функцией протокола является разбивка большого пакета на более мелкие на одном компьютере и соответственно соединение всех частей на другом. Это значит, что IP не контролирует доставку сообщений конечному адресату. IP-адреса машины-отправителя и машины-получателя включаются в заголовок датаграммы и используются для ее передачи между шлюзами. При этом информация о маршрутизации, находящаяся на шлюзе, указывает, куда передавать датаграмму на каждом этапе.

ICMP (Internet Control Message Protocol) контролирует протокол IP, отслеживает любые изменения, влияющие на процесс маршрутизации. При возникновении каких-либо ошибок об этом узнают и отправитель, и получатель. При этом в сообщении указывается причина сбоя.

RIP (Routing Information Protocol) – «родной брат» протокола IP. Они оба связаны с маршрутизацией. Тем не менее протокол RIP отвечает за выбор наилучшего маршрута доставки данных.

ARP (Address Resolution Protocol) – работает с адресами компьютеров, то есть определяет фактический адрес машины, расположенной в той или иной ветке сети. Например, если нужно узнать физический адрес в сети Ethernet, имея при этом IP-адрес, ARP конвертирует 32-битный IP-адрес в 48-битный Ethernet-адрес.

DNS (Domain Name System) – важнейший протокол, который позволяет определять адрес компьютера, ориентируясь на его логическое имя.

RARP (Revere Address Resolution Protocol) – протокол, определяющий адрес компьютера в сети. Работает аналогично протоколу ARP, однако конвертирование происходит в обратном порядке, то есть 48-битный Ethernet-адрес конвертируется в 32-битный IP-адрес.

ВООТР (Boot Protocol) – относится к прикладному уровню. С его помощью можно запустить сетевой компьютер, используя данные о загрузке с сервера.

FTP (File Transfer Protocol) – протокол, который позволяет загружать файлы с одного компьютера на другой. Именно его вы используете каждый раз, когда пытаетесь выгрузить или загрузить файл с FTP-сервера в Интернет.

TELNET – используется для связи между двумя компьютерами с целью управления одним из них. Протокол очень эффективен в действии и позволяет связывать любые два компьютера, где бы они ни находились.

Кроме описанных, существует набор протоколов, отвечающих за разные аспекты функционирования сети, в частности администрирование, работу с электронной почтой и т. п.

Имея в составе мощный набор вспомогательных протоколов, TCP/IP не зря так популярен. К тому же сегодня это единственный эффективный протокол, который используется для работы в Интернете.

3.3. Протоколы работы с электронной почтой

Без этих протоколов невозможна работа электронной почты. Что такое электронная почта и как без нее плохо, объяснять, пожалуй, не нужно.

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

Еще одной особенностью почтовых протоколов является однозадачность: например, протокол, умеющий отсылать сообщения, не умеет их принимать, и наоборот. Именно поэтому такие протоколы работают парами.

SMTP (Simple Message Transfer Protocol) – почтовый протокол для передачи электронных сообщений. Он накапливает письма и рассылает их по тем адресам, которые указаны в заголовках.

Благодаря своей простоте[2]2
  Именно так переводится с английского полное название протокола – «простой протокол передачи сообщений».


[Закрыть]
и возможностям, SMTP завоевал достойное место под солнцем. Есть, конечно, и недостатки, основной из которых – отсутствие механизма аутентификации входящих соединений и шифрования передачи данных между серверами.

SMTP рассчитан на передачу только текстовой информации, поэтому для отсылки файлов разработан стандарт UUENCODE. Благодаря этому дополнению также появляется возможность использовать разную кодировку писем. Однако и UUENCODE не является полноценным дополнением, поскольку при кодировании файла в текстовый формат теряется информативность, то есть его эмоциональный характер, формат и т. п.

Поэтому вместе с SMTP работает еще одно расширение почты – MIME (Multipurpose Internet Mail Extension), выполняющее больше функций.

Достоинством протокола SMTP является возможность отправлять сообщения с любым форматом вложения, будь то простой текстовый файл или файл с любимой песней. Однако у всего есть свои недостатки – сообщение, прошедшее через кодовую обработку UUENCODE, увеличивается в размере в среднем на 30 %.

Перед тем как отправить письмо, SMTP устанавливает предварительное соединение с адресатом, что позволяет ему получить письмо в кратчайшие сроки. В случае если адресат, указанный в заголовке письма, не найден, пользователь получает об этом сообщение от почтового сервера.

POP[3]3
  В настоящее время распространена третья версия протокола, поэтому он носит название POP3.


[Закрыть]
(Post Office Protocol) – один из самых распространенных почтовых протоколов. С его помощью пользователь может загружать адресованные ему письма с почтового сервера.

Данный протокол имеет простой интерфейс, который на все запросы отвечает недвусмысленно: ОК или ERR. Возможно, это и не позволяет использовать некоторые желательные функции, например чтение писем без копирования их на локальный компьютер или выборочный прием писем. Для выполнения этих и других полезных функций вместе с POP используют протокол IMAP.

IMAP (Interactive Mail Access Protocol) – еще один почтовый протокол. Он был разработан позже протокола POP3, что позволило учесть все недостатки и добавить много новых востребованных функций.

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

Еще одно немаловажное нововведение – механизм оптимизации использования каналов, по которым передаются сообщения. Эти каналы не всегда быстрые и незагруженные, поэтому наличие такой функции существенно облегчает жизнь пользователя. Также имеется возможность передачи сообщений по частям, что очень полезно, когда размер письма большой, например 5-10 Мбайт.

3.4. Другие протоколы

HTTP. О протоколе HTTP вы, скорее всего, слышали. Именно он является одним из прародителей обмена информацией в Интернете. Каждый раз, переходя с одной веб-страницы на другую или выбирая ссылку, вы тем самым приводите в действие механизм, который напрямую связан с HTTP-протоколом.

Особенностью протокола является то, что он может передавать любую информацию – текстовую и графическую. Это позволяет использовать дополнительные средства в разработке веб-страниц и веб-ресурсов, делая их оформление разнообразным, красочным и даже анимированным.

FTP (File Transfer Protocol) – «собрат» HTTP-протокола, так как они всегда работают вместе. Главное отличие заключается в том, что FTP-протокол был разработан специально для передачи файлов в Интернете. Каждый раз, скачивая, например, музыку или нужные документы, вы пользуетесь услугами механизмов FTP-протокола. Представить себе Интернет без FTP невозможно.

SLIP (Serial Line Internet Protocol) создан специально для организации постоянного подключения к Интернету с использованием имеющейся телефонной линии и обычного модема. Из-за высокой стоимости этот тип подключения могут позволить себе не многие пользователи. Как правило, такое подключение применяется в организациях, имеющих серверы, на которых находятся их веб-страницы и другие ресурсы (базы данных, файлы).

Данный протокол работает вместе с протоколом TCP/IP, находясь на более низком уровне. Перед тем как информация с модема поступит на обработку TCP/IP-протоколу, ее предварительно обрабатывает SLIP-протокол. Выполнив все необходимые действия, он создает другой пакет и передает его TCP/IP.

В другую сторону формирование пакетов происходит в обратном порядке. Получив пакет данных от TCP/IP, SLIP создает другой пакет, предварительно выбрав всю ценную информацию.

РРР (Point-to-Point Protocol) выполняет ту же работу, что и описанный выше SLIP. Однако он более приспособлен к ней, так как обладает дополнительными функциями. Кроме того, в отличие от SLIP, РРР может взаимодействовать не только с TCP/IP, но и с IPX/SPX, NetBIOS, DHCP, которые получили распространение в локальных сетях.

Протокол РРР более распространен также благодаря использованию на веб-серверах с установленной операционной системой Windows NT (SLIP применяют для соединения с серверами, работающими в операционной системе UNIX).

Х.25 был создан в 1976 году и усовершенствован в 1984-м, работает на физическом, канальном и сетевом уровнях модели взаимодействия ISO/OSI. Его разработкой занимался консорциум, состоящий из представителей многих телефонных компаний, и создавали его специально для использования на существующих телефонных линиях.

Учитывая год создания протокола, а соответственно и качество тогдашних телефонных линий, можно с уверенностью сказать, что протокол Х.25 – один из самых надежных. Когда создавался Х.25, цифровая телефонная линия была редкостью – использовалась в основном аналоговая. По этой причине в нем присутствует система обнаружения и коррекции ошибок, что существенно повышает надежность связи. В то же время она замедляет скорость передачи данных (максимальная – 64 Кбит/с). Однако этот факт не мешает использовать его там, где прежде всего требуется высокая надежность, например в банковской системе.

Frame Relay – еще один протокол, предназначенный для передачи данных по телефонной линии, который, кроме высокой надежности Х.25, обладает дополнительными полезными нововведениями. Поскольку передаваемые данные могут иметь формат видео, аудио или содержать электронную информацию, есть возможность выбирать приоритет пересылаемого содержимого.

Еще одна особенность протокола Frame Relay – его скорость, которая достигает 45 Мбит/с.

AppleTalk является собственностью компании Apple Computer, был разработан для установки связи между компьютерами Macintosh.

Так же как и TCP/IP, протокол AppleTalk представляет собой набор протоколов, каждый из которых отвечает за работу определенного уровня модели ISO/OSI.

В отличие от протоколов TCP/IP и IPX/SPX, стек протокола AppleTalk использует собственную реализацию физического и канального уровней, а не протоколы модели ISO/OSI (рис. 3.4).

Рис. 3.4. Распределение протоколов стека AppleTalk по уровням модели ISO/OSI


Рассмотрим протоколы стека AppleTalk.

DDP (Datagram Delivery Protocol) – отвечает за работу сетевого уровня. Его основное предназначение – организация и обслуживание процесса передачи данных без предварительной установки связи между компьютерами.

RTMP (Routing Table Maintenance Protocol) – работает с маршрутными таблицами AppleTalk. Любая такая таблица содержит информацию о каждом сегменте, куда возможна доставка сообщений. Таблица состоит из номеров маршрутизаторов (порта), которые могут доставить сообщение к выбранному компьютеру, количества пунктов «пересадки»,[4]4
  Количество других маршрутизаторов, которые будут задействованы для доставки сообщения выбранному компьютеру.


[Закрыть]
параметров выбранных сегментов сети – скорости, загруженности и т. п.

NBP (Name Binding Protocol) – отвечает за адресацию, которая сводится к привязке логического имени компьютера к физическому адресу в сети. Кроме процесса привязки имени, он отвечает за регистрацию, подтверждение, стирание и поиск этого имени.

ZIP (Zone Information Protocol) – протокол, работающий в паре с NBP, помогая ему производить поиск имени в рабочих группах, или зонах. Для этого он использует информацию ближайшего маршрутизатора, который создает запрос по всей сети, где могут находиться компьютеры, входящие в заданную рабочую группу.

ATP (AppleTalk Transaction Protocol) – один из протоколов транспортного уровня, который отвечает за транзакции. Транзакция – это набор из запроса, ответа на этот запрос и идентификационного номера, который присваивается данному набору. Примером транзакции может быть сообщение о доставке данных от одного компьютера другому. Кроме того, АТР умеет делать разбивку больших пакетов на более мелкие с последующей их сборкой после подтверждения о приеме или доставке.

ADSP (AppleTalk Data Stream Protocol) – протокол, аналогичный ATP, отвечающий за доставку пакетов. Однако в данном случае осуществляется не одна транзакция, а гарантированная доставка, которая может повлечь за собой несколько транзакций. Кроме того, протокол гарантирует, что данные при доставке не будут утеряны или продублированы.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 | Следующая
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации