Исследование моделей передачи информации на базе сетевых протоколов - Студенческий научный форум

XI Международная студенческая научная конференция Студенческий научный форум - 2019

Исследование моделей передачи информации на базе сетевых протоколов

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

Выбор темы обусловлен интересом и желанием сравнить и на личном, непредвзятом опыте понять какие именно сетевые протоколы и для каких целей подходят лучше, чем их аналоги. Данная работа может помочь в выборе технологий для перспективных проектов в сфере IT индустрии.

Объектом исследования являются представленные на рынке модели передачи информации и протоколы, опираясь на которые эти сами модели работают.

Целью работы является произвести подробный анализ протоколов передачи информации с целью выявления какие из них лучше подходят и для каких ситуаций.

Существует две основных классификации моделей передачи данных, а именно модель TCP/IP и модель OSI.

Сетевая модель OSI [9] (open systems interconnection basic reference model — Базовая Эталонная Модель Взаимодействия Открытых Систем (ЭМВОС)) — сетевая модель стека сетевых протоколов OSI/ISO. Посредством данной модели различные сетевые устройства могут взаимодействовать друг с другом. Модель определяет различные уровни взаимодействия систем. Каждый уровень выполняет определённые функции при таком взаимодействии.

Далее будет приведена общепринятая таблица моделей OSI с описанием уровней, типов данных, функций и параметров входящий в модель OSI(см. таблица 1)[9].

Таблица 1 Модель OSI [9]

Модель OSI

Уровень

Тип данных

Функции

Параметры

Програм-мный уровень

Прикладной

Данные

Доступ к сетевым службам

HTTP, FTP, POP3

Представительский

Представление и шифрование данных

ASCII, EBCDIC

Сеансовый

Управление сеансом связи

RPC, PAP

Транспортный

Сегменты

Дейтограммы

Прямая связь между конечными пунктами и надёжность

TCP, UDP, SCTP, PORTS

Уровни среды передачи данных

Сетевой

Пакеты

Определение маршрута и логическая адресация

IPv4, IPv6, IPsec, AppleTalk

Канальный

Биты

Кадры

Физическая адресация

PPP, IEEE 802.22, Ethernet, DSL, ARP, L2TP, сетевая карта.

Физический

Биты

Работа со средой передачи, сигналами и двоичными данными

USB, кабель («витая пара", коаксиальный, оптоволоконный), радиоканал

В литературе наиболее часто принято начинать описание уровней модели OSI с 7-го уровня, называемого прикладным, на котором пользовательские приложения обращаются к сети. Модель OSI заканчивается 1-м уровнем — физическим, на котором определены стандарты, предъявляемые независимыми производителями к средам передачи данных:

тип передающей среды (медный кабель, оптоволокно, радиоэфир и др.),

тип модуляции сигнала,

сигнальные уровни логических дискретных состояний (нули и единицы).

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

Каждому уровню с некоторой долей условности соответствует свой операнд — логически неделимый элемент данных, которым на отдельном уровне можно оперировать в рамках модели и используемых протоколов: на физическом уровне мельчайшая единица — бит, на канальном уровне информация объединена в кадры, на сетевом — в пакеты (датаграммы), на транспортном — в сегменты. Любой фрагмент данных, логически объединённых для передачи — кадр, пакет, датаграмма — считается сообщением. Именно сообщения в общем виде являются операндами сеансового, представительского и прикладного уровней.

К базовым сетевым технологиям относятся физический и канальный уровни.

Прикладной уровень

Прикладной уровень (уровень приложений; application layer) — верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью:

позволяет приложениям использовать сетевые службы:

удалённый доступ к файлам и базам данных,

пересылка электронной почты;

отвечает за передачу служебной информации;

предоставляет приложениям информацию об ошибках;

формирует запросы к уровню представления.

Протоколы прикладного уровня: RDP, HTTP, SMTP, SNMP, POP3, FTP, XMPP, OSCAR, Modbus, SIP, TELNET и другие.

Уровень представления

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

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

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

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

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

Стандарты уровня представлений также определяют способы представления графических изображений. Для этих целей может использоваться формат PICT — формат изображений, применяемый для передачи графики QuickDraw между программами.

Другим форматом представлений является тэгированный формат файлов изображений TIFF, который обычно используется для растровых изображений с высоким разрешением. Следующим стандартом уровня представлений, который может использоваться для графических изображений, является стандарт, разработанный Объединённой экспертной группой по фотографии (Joint Photographic Expert Group); в повседневном пользовании этот стандарт называют просто JPEG.

Существует другая группа стандартов уровня представлений, которая определяет представление звука и кинофрагментов. Сюда входят интерфейс электронных музыкальных инструментов (англ. Musical Instrument Digital Interface, MIDI) для цифрового представления музыки, разработанный Экспертной группой по кинематографии стандарт MPEG, используемый для сжатия и кодирования видеороликов на компакт-дисках, хранения в оцифрованном виде и передачи со скоростями до 1,5 Мбит/с, и QuickTime — стандарт, описывающий звуковые и видео элементы для программ, выполняемых на компьютерах Macintosh и PowerPC.

Сеансовый уровень

Сеансовый уровень (англ. session layer) модели обеспечивает поддержание сеанса связи, позволяя приложениям взаимодействовать между собой длительное время. Уровень управляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определением права на передачу данных и поддержанием сеанса в периоды неактивности приложений.

Протоколы сеансового уровня: ADSP (AppleTalk Data Stream Protocol), ASP (AppleTalk Session Protocol), H.245 (Call Control Protocol for Multimedia Communication), ISO-SP (OSI Session Layer Protocol (X.225, ISO 8327)), iSNS (Internet Storage Name Service), L2F (Layer 2 Forwarding Protocol), L2TP (Layer 2 Tunneling Protocol), NetBIOS (Network Basic Input Output System), PAP (Password Authentication Protocol), PPTP (Point-to-Point Tunneling Protocol), RPC (Remote Procedure Call Protocol), RTCP (Real-time Transport Control Protocol), SMPP (Short Message Peer-to-Peer), SCP (Session Control Protocol), ZIP (Zone Information Protocol), SDP (Sockets Direct Protocol).

Транспортный уровень

Транспортный уровень (англ. transport layer) модели предназначен для обеспечения надёжной передачи данных от отправителя к получателю. При этом уровень надёжности может варьироваться в широких пределах. Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции (например, функции передачи данных без подтверждения приёма), и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности, мультиплексируют несколько потоков данных, обеспечивают механизм управления потоками данных и гарантируют достоверность принятых данных. Например, UDP ограничивается контролем целостности данных в рамках одной датаграммы и не исключает возможности потери пакета целиком или дублирования пакетов, нарушение порядка получения пакетов данных; TCP обеспечивает надёжную непрерывную передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и наоборот, склеивая фрагменты в один пакет.

Протоколы транспортного уровня: ATP (AppleTalk Transaction Protocol), CUDP (Cyclic UDP), DCCP (Datagram Congestion Control Protocol), FCP (Fibre Channel Protocol), IL (IL Protocol), NBF (NetBIOS Frames protocol), NCP (NetWare Core Protocol), SCTP (Stream Control Transmission Protocol), SPX (Sequenced Packet Exchange), SST (Structured Stream Transport), TCP (Transmission Control Protocol), UDP (User Datagram Protocol).

Сетевой уровень

Сетевой уровень (англ. network layer) модели предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и «заторов» в сети.

Протоколы сетевого уровня маршрутизируют данные от источника к получателю. Работающие на этом уровне устройства (маршрутизаторы) условно называют устройствами третьего уровня (по номеру уровня в модели OSI).

Протоколы сетевого уровня: IP/IPv4/IPv6 (Internet Protocol), IPX (Internetwork Packet Exchange, протокол межсетевого обмена), X.25 (частично этот протокол реализован на уровне 2), CLNP (сетевой протокол без организации соединений), IPsec (Internet Protocol Security). Протоколы маршрутизации — RIP (Routing Information Protocol), OSPF (Open Shortest Path First).

Канальный уровень

Канальный уровень (data link layer) предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть. Полученные с физического уровня данные, представленные в битах, он упаковывает в кадры, проверяет их на целостность и, если нужно, исправляет ошибки (формирует повторный запрос повреждённого кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием.

Спецификация IEEE 802 разделяет этот уровень на два подуровня: MAC (media access control) регулирует доступ к разделяемой физической среде, LLC (англ. logical link control) обеспечивает обслуживание сетевого уровня.

На этом уровне работают коммутаторы, мосты и другие устройства. Эти устройства используют адресацию второго уровня (по номеру уровня в модели OSI).

Протоколыканальногоуровня: ARCnet, ATM, Controller Area Network (CAN), Econet, IEEE 802.3 (Ethernet), Ethernet Automatic Protection Switching (EAPS), Fiber Distributed Data Interface (FDDI), Frame Relay, High-Level Data Link Control (HDLC), IEEE 802.2 (предоставляетфункции LLC дляподуровня IEEE 802 MAC), Link Access Procedures, D channel (LAPD), IEEE 802.11 wireless LAN, LocalTalk, Multiprotocol Label Switching (MPLS), Point-to-Point Protocol (PPP), Point-to-Point Protocol over Ethernet (PPPoE), Serial Line Internet Protocol (SLIP, устарел), StarLan, Token ring, Unidirectional Link Detection (UDLD), x.25, ARP.

При разработке стеков протоколов на этом уровне решаются задачи помехоустойчивого кодирования. К таким способам кодирования относится код Хемминга, блочное кодирование, код Рида-Соломона.

В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой. Это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI (англ.), NDIS, UDI.

Физический уровень

Физический уровень (physical layer) — нижний уровень модели, который определяет метод передачи данных, представленных в двоичном виде, от одного устройства (компьютера) к другому. Составлением таких методов занимаются разные организации, в том числе: Институт инженеров по электротехнике и электронике, Альянс электронной промышленности, Европейский институт телекоммуникационных стандартов и другие. Осуществляют передачу электрических или оптических сигналов в кабель или в радиоэфир и, соответственно, их приём и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов.

На этом уровне также работают концентраторы, повторители сигнала и медиаконвертеры.

Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. К физическому уровню относятся физические, электрические и механические интерфейсы между двумя системами. Физический уровень определяет такие виды сред передачи данных как оптоволокно, витая пара, коаксиальный кабель, спутниковый канал передач данных и т.п. Стандартными типами сетевых интерфейсов, относящимися к физическому уровню, являются: V.35, RS-232, RS-485, RJ-11, RJ-45, разъёмы AUI и BNC.

При разработке стеков протоколов на этом уровне решаются задачи синхронизации и линейного кодирования. К таким способам кодирования относится код NRZ, код RZ, MLT-3, PAM5, Манчестер II.

Протоколы физического уровня: IEEE 802.15 (Bluetooth), IRDA, EIA RS-232, EIA-422, EIA-423, RS-449, RS-485, DSL, ISDN, SONET/SDH, 802.11 Wi-Fi, Etherloop, GSM Um radio interface, ITU и ITU-T, TransferJet, ARINC 818, G.hn/G.9960.

Рассмотрим предлагаемые на рынке решений (протоколы) при помощи которые можно передавать различные типы данных для различных целей и задач.

HTTP (HyperText Transfer Protocol — протокол передачи гипертекста) [10] — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов в формате «HTML», в настоящий момент используется для передачи произвольных данных). Основой HTTP является технология «клиент-сервер», то есть предполагается существование:

потребителей (клиентов), которые инициируют соединение и посылают запрос;

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

HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов.

HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP, XML-RPC, WebDAV.

Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т. д. (в частности, для этого используется HTTP-заголовок). Именно благодаря возможности указания способа кодирования сообщения, клиент и сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.

Для идентификации ресурсов HTTP использует глобальные URI. В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера). Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки запросов последних клиентов. Однако сам протокол не осведомлён о предыдущих запросах и ответах, в нём не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.

HTTPS (HyperText Transfer Protocol Secure – протокол передачи гипертекста защищённый) [10] — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS. В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443

Протокол был разработан компанией Netscape Communications для браузера Netscape Navigator в 1994 году.

HTTPS не является отдельным протоколом. Это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Он обеспечивает защиту от атак, основанных на прослушивании сетевого соединения — от снифферских атак и атак типа man-in-the-middle, при условии, что будут использоваться шифрующие средства и сертификат сервера проверен и ему доверяют.

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

Существует возможность создать такой сертификат, не обращаясь в ЦС. Подписываются такие сертификаты этим же сертификатом и называются самоподписанными (self-signed). Без проверки сертификата каким-то другим способом (например, звонок владельцу и проверка контрольной суммы сертификата) такое использование HTTPS подвержено атаке man-in-the-middle.

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

В HTTPS для шифрования используется длина ключа 40, 56, 128 или 256 бит. Некоторые старые версии браузеров используют длину ключа 40 бит (пример тому — IE версий до 4.0), что связано с экспортными ограничениями в США. Длина ключа 40 бит не является сколько-нибудь надёжной. Многие современные сайты требуют использования новых версий браузеров, поддерживающих шифрование с длиной ключа 128 бит, с целью обеспечить достаточный уровень безопасности. Такое шифрование значительно затрудняет злоумышленнику поиск паролей и другой личной информации.

Традиционно на одном IP-адресе может работать только один HTTPS-сайт. Для работы нескольких HTTPS-сайтов с различными сертификатами применяется расширение TLS под названием Server Name Indication (SNI).

На 17 июля 2017 года, 22,67 % используют протокол HTTPS по умолчанию. HTTPS используется на 4% от общего числа зарегистрированных российских доменов.

FTP (File Transfer Protocol – протокол передачи файлов) [10] — протокол передачи файлов по сети. В отличие от TFTP, гарантирует передачу (либо выдачу ошибки) за счёт применения квитируемого протокола TCP. Стандартный порт управления FTP-соединением — 21. Типичное применение FTP-протокола — загрузка сайтов и других документов с частного устройства разработки на общедоступные сервера хостинга.

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

Первые клиентские FTP-приложения были интерактивными инструментами командной строки, реализующими стандартные команды и синтаксис. Графические пользовательские интерфейсы с тех пор были разработаны для многих используемых по сей день операционных систем. Среди этих интерфейсов как программы общего веб-дизайна вроде Microsoft Expression Web, так и специализированные FTP-клиенты (например, FileZilla).

FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP, и даже до TCP/IP, в 1971 году. Он и сегодня широко используется для распространения ПО и доступа к удалённым хостам.

POP3 (Post Office Protocol Version 3 — протокол почтового отделения, версия 3) [5] — стандартный интернет-протокол прикладного уровня, используемый клиентами электронной почты для получения почты с удалённого сервера по TCP-соединению.

POP поддерживает простые требования «загрузи-и-удали» для доступа к удалённым почтовым ящикам. Хотя большая часть POP-клиентов предоставляет возможность оставить почту на сервере после загрузки, использующие POP клиенты обычно соединяются, извлекают все письма, сохраняют их на пользовательском компьютере как новые сообщения, удаляют их с сервера, после чего разъединяются.

Другие протоколы, в частности IMAP, предоставляют более полный и комплексный удалённый доступ к типичным операциям с почтовым ящиком. Многие клиенты электронной почты поддерживают как POP, так и IMAP; однако, гораздо меньше интернет-провайдеров поддерживают IMAP.

POP3-сервер прослушивает общеизвестный порт 110. Шифрование связи для POP3 запрашивается после запуска протокола, с помощью либо команды STLS (если она поддерживается), либо POP3S, которая соединяется с сервером используя TLS или SSL по TCP-порту 995.

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

IMAP (Internet Message Access Protocol - Протокол доступа к Интернет-сообщениям) [5] — протокол прикладного уровня для доступа к электронной почте.

Базируется на транспортном протоколе TCP и использует порт 143.

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

Для отправки писем используется обычно протокол SMTP, так как собственная команда отправки протокола IMAP, называемая APPEND, считается «неудачной» и «небезопасной

TELNET (teletype network - телекоммуникационная сеть) [11] — сетевой протокол для реализации текстового терминального интерфейса по сети (в современной форме — при помощи транспорта TCP). Название «telnet» имеют также некоторые утилиты, реализующие клиентскую часть протокола.

Хотя в сессии Telnet выделяют клиентскую и серверную стороны, протокол на самом деле полностью симметричен. После установления транспортного соединения (как правило, TCP) оба его конца играют роль «сетевых виртуальных терминалов»,обменивающихся двумя типами данных:

Прикладными данными (то есть данными, которые идут от пользователя к текстовому приложению на стороне сервера и обратно);

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

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

SSH (Secure Shell — безопасная оболочка) [11] — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем. SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол. Таким образом, можно не только удалённо работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры). Также SSH может использовать сжатие передаваемых данных для последующего их шифрования, что удобно, например, для удалённого запуска клиентов X Window System.

Большинство хостинг-провайдеров за определённую плату предоставляет клиентам доступ к их домашнему каталогу по SSH. Это может быть удобно как для работы в командной строке, так и для удалённого запуска программ (в том числе графических приложений).

L2TP (Layer 2 Tunneling Protocol — протокол туннелирования второго уровня) [7] — в компьютерных сетях туннельный протокол, использующийся для поддержки виртуальных частных сетей. Главное достоинство L2TP состоит в том, что этот протокол позволяет создавать туннель не только в сетях IP, но и в таких, как ATM, X.25 и Frame Relay. Несмотря на то, что L2TP действует наподобие протокола канального уровня модели OSI, на самом деле он является протоколом сеансового уровня и использует зарегистрированный UDP-порт 1701.

L2TP использует два вида пакетов: управляющие и информационные сообщения. Управляющие сообщения используются при установлении, поддержании и аннулировании туннелей и вызовов. Информационные сообщения используются для инкапсуляции PPP-кадров, пересылаемых по туннелю. Управляющие сообщения используют надежный контрольный канал в пределах L2TP, чтобы гарантировать доставку. Информационные сообщения при потере не пересылаются повторно.

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

PAP (Password Authentication Protocol - Протокол аутентификации паролей) [6] — протокол простой проверки подлинности, предусматривающий отправку имени пользователя и пароля на сервер удалённого доступа открытым текстом (без шифрования). Протокол аутентификации PAP используется в протоколе PPP (Point-to-Point Protocol – Протокол точка-точка), для предоставления пользователям доступа к серверным ресурсам. Почти все сетевые операционные системы поддерживают протокол PAP. PAP передает незашифрованные ASCII коды по сети и поэтому крайне небезопасен, поскольку пересылаемые пароли можно легко читать в пакетах, которыми обмениваются стороны в ходе проверки подлинности. Обычно PAP используется только при подключении к старым серверам удалённого доступа на базе UNIX, которые не поддерживают никакие другие протоколы проверки подлинности.

CHAP (Challenge Handshake Authentication Protocol – протокол аутентификации) [6] — протокол аутентификации с косвенным согласованием. Является алгоритмом проверки подлинности и предусматривает передачу не самого пароля пользователя, а косвенных сведений о нём. Аутентификация узла выполняется путём трехэтапной процедуры согласования. Протокол CHAP широко используется различными поставщиками серверов и клиентов сетевого доступа

Можно выделить цикл, который состоит из трёх основных частей:

После установления PPP-соединения и одобрения обеих сторон на подключение по CHAP-протоколу аутентификатор отправляет на узел пакет CHAP, имеющий тип вызов, который содержит в себе открытый ключ.

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

Аутентификатор сравнивает полученное значение хеша со своим расчётом ожидаемого значения хеша. Если значения совпадают, то проверка подлинности считается успешной. При отличающихся значениях происходит разрыв соединения.

Через различные промежутки времени аутентификатор посылает новый запрос узлу, и шаги 1-3 повторяются.

PPTP (Point-to-Point Tunneling Protocol – протокол туннелирования точка-точка) [8] — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи по глобальной IP-сети, например Интернет. PPTP может также использоваться для организации туннеля между двумя локальными сетями. РРТР использует дополнительное TCP-соединение для обслуживания туннеля.

SSL (Secure Sockets Layer — уровень защищённых cокетов) [12] — криптографический протокол, который подразумевает более безопасную связь. Он использует асимметричную криптографию для аутентификации ключей обмена, симметричное шифрование для сохранения конфиденциальности, коды аутентификации сообщений для целостности сообщений. Протокол широко использовался для обмена мгновенными сообщениями и передачи голоса через IP (англ. Voice over IP — VoIP) в таких приложениях, как электронная почта, интернет-факс и др.

TLS (transport layer security — Протокол защиты транспортного уровня) [12], как и его предшественник SSL (англ. secure sockets layer — слой защищённых сокетов), — криптографические протоколы, обеспечивающие защищённую передачу данных между узлами в сети Интернет. TLS и SSL используют асимметричное шифрование для аутентификации, симметричное шифрование для конфиденциальности и коды аутентичности сообщений для сохранения целостности сообщений. Данный протокол широко используется в приложениях, работающих с сетью Интернет, таких как веб-браузеры, работа с электронной почтой, обмен мгновенными сообщениями и IP-телефония (VoIP).

TCP (Transmission Control Protocol - протокол управления передачей) [9] — один из основных протоколов передачи данных интернета, предназначенный для управления передачей данных. В стеке протоколов TCP/IP выполняет функции транспортного уровня модели OSI. Механизм TCP предоставляет поток данных с предварительной установкой соединения, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета, гарантируя тем самым, в отличие от UDP, целостность передаваемых данных и уведомление отправителя о результатах передачи. Реализации TCP обычно встроены в ядра ОС. Существуют реализации TCP, работающие в пространстве пользователя. Когда осуществляется передача от компьютера к компьютеру через Интернет, TCP работает на верхнем уровне между двумя конечными системами, например, браузером и веб-сервером. TCP осуществляет надёжную передачу потока байтов от одного процесса к другому. TCP реализует управление потоком, управление перегрузкой, рукопожатие, надежную передачу.

UDP (User Datagram Protocol — протокол пользовательских датаграмм) [9] — один из ключевых элементов TCP/IP, набора сетевых протоколов для Интернета. С UDP компьютерные приложения могут посылать сообщения (в данном случае называемые датаграммами) другим хостам по IP-сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных.

UDP использует простую модель передачи, без неявных «рукопожатий» для обеспечения надёжности, упорядочивания или целостности данных. Таким образом, UDP предоставляет ненадёжный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. UDP подразумевает, что проверка ошибок и исправление либо не нужны, либо должны исполняться в приложении. Чувствительные ко времени приложения часто используют UDP, так как предпочтительнее сбросить пакеты, чем ждать задержавшиеся пакеты, что может оказаться невозможным в системах реального времени. При необходимости исправления ошибок на сетевом уровне интерфейса приложение может задействовать TCP или SCTP, разработанные для этой цели.

Природа UDP как протокола без сохранения состояния также полезна для серверов, отвечающих на небольшие запросы от огромного числа клиентов, например DNS и потоковые мультимедийные приложения вроде IPTV, Voice over IP, протоколы туннелирования IP и многие онлайн-игры.

Проведем сравнительный анализ протоколов передачи данных выбранных нами и объединенных в группы по признаку одинаковой направленности.

1. “Почтовые протоколы”

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

Сравним два протокола работы с почтой и по результатам сравнения сделаем выводы и их пригодности в том или ином случае (см. таблица 2).

Таблица 2 Сравнение почтовых протоколов

Пункт сравнения

POP3

IMAP

Автономный просмотр поступившей почты

+

-

Одновременная работа только одного пользователя

+

+

Многопользовательский режим

-

+

Только онлаин работа

-

+

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

2. Протоколы соединения с другими Ethernet машинами

Для рассмотрения возьмем два протокола передачи данных которые устанавливают соединение типа точка-точка, а именно PPTP (RFC1661) и PPPoE (RFC2516). Задачи этих протоколов одинаковы, установить соединение с сервером, но способы установки соединения и свойства этого соединения в корне отличаются.

Сравним два протокола и по результатам сравнения выясним в каких случаях какой из них подходит для создания соединения (см. таблица 3).

Таблица 3 Сравнение протоколов установки соединений.

Пункт сравнения

PPTP

PPPoE

Большая скорость работы

-

+

Надёжность

-

+

Легкость настройки

-

+

Среда работы

IP

Ethernet

Работа с кадрами

+

+

Работа с пакетами

+

-

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

3. Прикладные протоколы передачи данных

В настоящие время почти весь интернет трафик передается по протоколам HTTP (RFC 2616) и HTTPS (RFC2818), требуется выяснить какой из этих протоколов более приоритетный и в каких ситуациях (см. таблица 4).

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

Таблица 4 Сравнение протоколов передачи данных.

Пункт сравнения

HTTP

HTTPS

Скорость работы

=

=

Защищенность

-

+

Полностью бесплатно

+

-

Требуется сертификат

-

+

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

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

4. Протоколы тунелирования

Для создания подключения поверх существующего подключения или для туннелирования можно использовать два протокола PPTP (RFC 2637) и L2TP (RFC 2661).

Сравнив два протокола создания туннелей необходимо понять для каких ситуаций каждый из них подходит (см. таблица 5).

Таблица 5 Сравнение протоколов туннелирования.

Протокол

PPTP

L2TP

Распространенность

+

-

Безопасность

-

+

Легкость настройки

+

-

При работе с туннелированнием использование L2TP по отношению к PPTP имеет преимущество только в плане более безопасной передачи данных.

5. Протоколы защиты

При организации защищенного канала связи или одностороннего подключения при передачи какой-либо информации можно использовать актуальные на сегодняшний день два протокола безопасности, это SSL (RFC 6101) и TLS (RFC 5246).

Сравним протоколы шифрования для выяснения их надежность и перспектив применения.

Таблица 6 Сравнение протоколов шифронвания.

Пункт сравнения

SSL

TLS

Более совершенный алгоритм шифрования

-

+

Больше alert сообщений

-

+

В сфере защиты передачи данных на данный момент TLS превосходит SSL по всем параметрам, так как является продолжением развития SSL.

6. Протоколы проверки подлинности

В тех ситуациях, когда требуется организовать аутентификацию при подключении к какому-либо каналу связи на выбор имеются протокола PAP (RFC 1334) и CHAP (RFC 1994).

Сравним два протокола авторизации выяснив что у них общего и в чем их отличия (см. таблица 7).

Таблица 7 Сравнение протоколов аутентификации.

Пункт сравнения

PAP

CHAP

Работа без шифрования

+

-

Более совершенный алгоритм проверки доступа

-

+

Проверка доступа в процессе работы

-

+

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

7. Протоколы терминального подключения

В ситуациях организации удаленного подключения к компьютерному оборудованию есть выбор из двух глобальных протоколов работы с удалёнными подключениями, это TELNET (RFC 854) и SSH (RFC 4253).

Сравним два протокола удаленного управления и выясним их востребованность в сферах применения (см. таблица 8).

Таблица 8 Сравнение протоколов терминального доступа.

Пункт сравнения

TELNET

SSH

Удаленное управление компьютером

+

+

Графический интерфейс

-

-

Шифрование

-

+

Главное отличие этих двух протоколов это отсутствие шифрования передаваемых данных в TELNET и присутствие шифрования в SHH.

8. Протоколы управления передачей данных

В вопросах выбора протокола передачи данных в сетях имеется лишь два глобальных выбора на базе которых и функционируют сети TCP/IP, а именно TCP (RFC 793) и UDP (RFC 768).

Сравним два самых популярных протокола передачи данных и поймем где и для каких целей они применяются (см. таблица 9).

Таблица 9 Сравнение протоколов управления передачей данных.

Пункт сравнения

TCP

UDP

Использование другими протоколами

HTTP, HTTP, FTP, SMTP, Telnet

DNS, DHCP, TFTP, SNMP, RIP, VOIP.

Скорость передачи

-

+

Надежность

+

-

Управление потоком данных

+

-

При использование этих протоколов UDP имеет приоритет если требуется большая скорость передачи данных, TCP при необходимости контроля за процессом передачи.

9. Модели передачи информации

В вопросах стандартизации можно выделить две основных модели построения сетей, это модель OSI (ГОСТ Р ИСО/МЭК 7498-1-99) и мтек протоколов TCP/IP (RFC 791; 791;1122; 6335)

После сравнения этих двух моделей необходимо понять которая их них более приоритета (см. таблица 10).

Таблица 10 Сравнение моделей передачи информации.

Пункт сравнения

OSI

TCP/IP

Теоретические распределение уровней работы

Уровень приложений

Уровень приложений

Уровень презентаций

Уровень сессий

Уровень транспортный

Уровень транспортный

Уровень сетевой

Уровень сетевой

Уровень канальный

Канальный уровень

Уровень физический

Модель OSI является более приоритетной моделью передачи информации, так как более подробно описывает уровни и ответственность протоколов передачи данных.

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

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

Для передачи почты более приемлем протокол IMAP. Если требуется создать подключение “точка-точка”, то приоритетней использовать PPPoE. В качестве работы с веб ресурсами больше подходит протокол HTTPS. Для мероприятий, требующих создания подключения поверх другого подключения более верным выбором будет L2TP. В сфере защиты подключений приоритет отдается протоколу TLS. При необходимости установки аутентификации на подключения CHAP протокол показывает лучше характеристики. В вопросах удаленного управления компьютерным оборудованием через консоль однозначный выбор в пользу SSH протокола. В вопросах работы протоколов передачи данных выбор между TCP и UDP не однозначен так как тут для разных задач требуется разные особенности этих протоколов. В данный момент при выборе моделей сетевых протоколов модель OSI более подробно описывает структур взаимодействия слоев и протоколов.

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

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

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

Просмотров работы: 196