Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Понятие прикладных протоколов и серверы приложений (Сетевой сокет и многопоточный вариант сервера)

Содержание:

Введение

Протоколы передачи данных – это то, что делает возможным передачу информации с использованием правил модели взаимодействия открытых систем. Каждый из семи уровней описанной в прошлой статье модели взаимодействия открытых систем обслуживается своим набором протоколов, или, как еще говорят, стеком протоколов. Существует достаточно много стеков протоколов. Например, в сетях стандарта Ethernet используется стек TCP/IP (Transmission Control Protocol/Internet Protocol – Протокол управления передачей/Протокол Интернета).

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

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

На физическом уровне протоколов как таковых нет, за исключением модемных. Используется другое понятие – стандарт. Из наиболее известных стандартов можно отметить X.24, RS-232, EIA-422, RS-485. Примерами модемных являются протоколы V.21, ZyX, PEP.

Канальный уровень представлен множеством протоколов, в том числе ARP, Ethernet, Token Ring, FDDI, X.25, SMT, SNAP, Frame relay, PPP.

Представителями протоколов сетевого уровня являются такие протоколы, как IPX, IP, DDP, RTMP, CLNP, RARP и др.

Транспортный уровень как представитель более интеллектуальных уровней содержит в своем составе множество разных протоколов, яркими представителями которых являются протоколы NetBIOS, UDP, TCP, ATP, SPX, SKIP.

Представителями протоколов сеансового уровня являются такие протоколы, как RPC, SSL, WSP. На самом деле они представляют собой интерфейс – связующее звено между протоколами высших и низших уровней.

На уровне представления работают такие протоколы, как LDAP, XDR и др. Действия этих протоколов практически повторяют друг друга. Их задача – организация процесса преобразования данных в тот вид, который понятен как источнику, так и отправителю.

Прикладной уровень характеризуется наибольшим количеством разнообразнейших протоколов, их яркими представителями являются HTTP (протокол передачи гипертекста), FTP (протокол передачи файлов), SMTP (протокол передачи почты), X.400, Telnet, SNMP, POP3, IMAP4 и др.

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

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

Для реализации поставленной цели необходимо выполнить ряд задач:

- Изучить общие понятия взаимодействия;

- Рассмотреть сетевой сокет и многопоточный вариант сервера;

- Изучить функции уровней модели ISO/OSI;

- Рассмотреть протоколы передачи данных в компьютерных сетях и т.д.

В работы используются современные научные и учебные источники следующих авторов: Малыгин А.С., Михеев В.П., Лутфуллина А.Б., Поляк-Брагинский, Семенов А. Б., Смирнова, Е.В., Таненбаум, Э.С. и другие.

Глава 1. Взаимодействие компьютеров в сети

1.1 Общие понятия взаимодействия

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

Протокол — это по сути правила обмена информацией, которые описывают каким образом обмениваются информацией взаимодействующие стороны.[2] Если вспомнить достаточно распространенную фразу “дипломатический протокол”, то суть та же — вы в определенных случаях должны говорить фразы из определенного набора слов, фраз и другая сторона делает то же самое.[3] В ИТ-сфере все очень похоже -вы посылаете определенные байты и ждете в ответ определенные байты. Этот обмен и есть протокол. Если он соблюдается обеими сторонами, то они смогут о чем-нибудь договориться.

Если рассматривать полную сетевую модель OSI (Open System Interconnection — взаимодействие открытых систем), то прикладного программиста на Java затрагивают в основном протоколы Прикладного уровня — HTTP, FTP, SMTP, SNMP и протоколы Транспортного уровня — TCP и UDP.

В этой статье я хочу поговорить именно о транспортном уровне, а точнее о протоколе TCP — Transmission Control Protocol (Протокол Управления Передачей).[4] Именно этот протокол является основой для очень широкого круга задач — подключения к базам данных, работа через Интернет, web-сервисы. Это очень важный протокол и на мой взгляд, крайне важно знать инструменты, которые позволяют с ним работать. Java имеет вполне зрелый инструментарий для этой работы, и мы с ним сейчас будем знакомиться.[5]

Что касается протокола UDP, то он тоже важен и нужен, но в моей практике он встречается реже. Хотя конечно же многое зависит от того, какую задачу вы решаете. Были у меня проекты, где мы работали с UDP достаточно плотно.

Работа с TCP — сокеты

Для прикладного программиста на Java работа с TCP — это работа с сокетами. Сокет — это специальная структура на уровне операционной системы, которая в упрощенном понимании может быть описана следующим образом:[6]

В памяти выделяется структура, которая описывается двумя главными параметрами:

IP-адрес — это по сути адрес компьютера в сети. Опять же — это упрощенно, но для первого знакомства вполне подойдет

Порт — это число, которое должно быть уникально в рамках указанного компьютера. Только какое-то одно приложение должно владеть этим портом в рамках операционной системы.[7]

Можно провести достаточно простую аналогию, где компьютер — это многоквартирный дом, и каждое приложение может занять одну и более квартиру с телефоном. Дом — это IP-адрес, квартира с телефоном — порт.

TCP позволяет передавать данные из одного приложения на одном компьютере в приложение на другом компьютере путем указания пары IP-адрес + порт источника и пары IP-адрес + порт для приемника. Причем эта возможность обеспечивается операционной системой — обычная программа просто использует эту возможность. И java-программа не является исключением.[8]

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

Выглядит так, как-будто вы позвонили по телефону и кто-то на другом конце снял трубку. Если такого номера нет — соединения не будет. Точно так же — если на другом компьютере нет приложения, которое заняло указанный порт — вы при попытке соединиться получите ошибку.[9]

Ну что же — давайте поробуем написать программу, которая создает сокет и сделает запрос на какой-нибудь компьютер в Интернете. Наша программа будет клиентом — она подключается к существующему сокету (например к сайту java-course.ru) и попробует “поговорить” с ним.

Мы пока не говорили о Web-программировании, но для понимания примера нам потребуются некоторые дополнительные сведения.

Во-первых, нам потребуется порт — мы только что говорили об этом. По умолчанию номер порта для приема запросов от браузеров равен “80”.[10]

Во-вторых — сайт java-course.ru имеет совершенно конкретный IP-адрес, который может быть найден с помощью системы DNS — Domain Name System (система доменных имен). В упрощенном варианте это большой список, в котором каждому имени в Интернете соответствует определенный IP-адрес.[11] Итак, адрес и порт у нас есть — осталось разобраться, что надо послать и что можно принять. Давайте пока примем как данность, что для того, чтобы получить определенный текст с указанного сайта, нам надо послать определенную строку. Кому любопытно — может попробовать почитать про протокол HTTP и попробовать разобраться, почему именно такая строка будет передана серверу в качестве запроса.[12]

Сокет — пишем и читаем

Перед тем, как мы начнем смотреть код, скажу несколько слов о классе, который мы будем использовать — а именно о классе Socket. Что, не ожидали?

Работать с этим классом достаточно просто. При создании вы передаете ему имя хоста и номер порта, с которым хотите соединиться. При таком варианте Java сама ищет нужный IP по DNS, самостоятельно получает порт на локальном компьютере (мы об этом говорили выше — соединение требует двух сокетов и каждый имеет адрес и порт) и делает соединение с указанным хостом. Если все прошло успешно и соединение установлено, то дальше наступает очередь потоков ввода-вывода. Сокет предоставляет два потока: один на чтение — InputStream, другой на запись — OutputStream.

1.2 Модель ISO/OSI

Из того, что протокол является соглашением, принятым двумя взаимодействующими объектами, в данном случае двумя работающими в сети компьютерами, совсем не следует, что он обязательно представляет собой стандарт.[13] Но на практике при реализации сетей стремятся использовать стандартные протоколы. Это могут быть фирменные, национальные или международные стандарты.

Описание: Описание: Описание: http://web.znu.edu.ua/lab/mathdep/apmath/netlec/Lec3/html/lec3/image002.gif

Международная Организация по Стандартам (International Standards Organization, ISO) разработала модель, которая четко определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какую работу должен делать каждый уровень. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью ISO/OSI.[14]

В модели OSI взаимодействие делится на семь уровней или слоев (рис.1). Каждый уровень имеет дело с одним определенным аспектом взаимодействия. Таким образом, проблема взаимодействия декомпозирована на 7 частных проблем, каждая из которых может быть решена независимо от других. Каждый уровень поддерживает интерфейсы с выше- и нижележащими уровнями. Модель OSI описывает только системные средства взаимодействия, не касаясь приложений конечных пользователей. [15]Приложения реализуют свои собственные протоколы взаимодействия, обращаясь к системным средствам. Следует иметь в виду, что приложение может взять на себя функции некоторых верхних уровней модели OSI, в таком случае, при необходимости межсетевого обмена оно обращается напрямую к системным средствам, выполняющим функции оставшихся нижних уровней модели OSI.[16]

Кроме термина "сообщение" (message) существуют и другие названия, используемые сетевыми специалистами для обозначения единицы обмена данными. В стандартах ISO для протоколов любого уровня используется такой термин как "протокольный блок данных" - Protocol Data Unit (PDU). Кроме этого, часто используются названия кадр (frame), пакет (packet), дейтаграмма (datagram).

1.3 Функции уровней модели ISO/OSI

Физический уровень. Этот уровень имеет дело с передачей битов по физическим каналам, таким, например, как коаксиальный кабель, витая пара или оптоволоконный кабель. Функции физического уровня реализуются во всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом.[17] Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных на кабеле, и другие характеристики среды и электрических сигналов.[18]

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

В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся общая шина, кольцо и звезда. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

В локальных сетях протоколы канального уровня используются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов.[20]

В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень обеспечивает обмен сообщениями между двумя соседними компьютерами, соединенными индивидуальной линией связи. Примерами протоколов "точка - точка" (как часто называют такие протоколы) могут служить широко распространенные протоколы PPP и LAP-B.

Сетевой уровень. Этот уровень служит для образования единой транспортной системы, объединяющей несколько сетей с различными принципами передачи информации между конечными узлами. Рассмотрим функции сетевого уровня на примере локальных сетей.[21]

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

Сообщения сетевого уровня принято называть пакетами (packets). При организации доставки пакетов на сетевом уровне используется понятие "номер сети". В этом случае адрес получателя состоит из номера сети и номера компьютера в этой сети.[22]

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

На сетевом уровне определяется два вида протоколов. Первый вид относится к определению правил передачи пакетов с данными конечных узлов от узла к маршрутизатору и между маршрутизаторами.[23] Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. К сетевому уровню относят и другой вид протоколов, называемых протоколами обмена маршрутной информацией. С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями операционной системы, а также программными и аппаратными средствами маршрутизаторов.[24]

Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.

Транспортный уровень. На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Работа транспортного уровня заключается в том, чтобы обеспечить приложениям или верхним уровням стека - прикладному и сеансовому - передачу данных с той степенью надежности, которая им требуется.[25] Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное - способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней, а с другой стороны, этот выбор зависит от того, насколько надежной является вся система транспортировки данных в сети.[26] Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети - компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

Сеансовый уровень. Сеансовый уровень обеспечивает управление диалогом для того, чтобы фиксировать, какая из сторон является активной в настоящий момент, а также предоставляет средства синхронизации.[27] Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, вместо того, чтобы начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется.[28]

Уровень представления. Этот уровень обеспечивает гарантию того, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. При необходимости уровень представления выполняет преобразование форматов данных в некоторый общий формат представления, а на приеме, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных сервисов. Примером протокола, работающего на уровне представления, является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.[29]

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

1.4 Сетевой сокет и многопоточный вариант сервера

Для работы сервера используется специальный вид сокета — ServerSocket.

При его создании указывается порт, который он должен занять на локальном компьютере, что он и делает, если порт свободен и доступен. По поводу доступности — операционные системы могут ограничивать пользовательские приложения к некоторым номерам портов. Например уже упомянутый порт “80”. Он считается портом по умолчанию для HTTP-запросов. Или порт FTP — ”21”.[31]

Также надо учитывать, что сервер, в отличии от клиента, ЖДЕТ запросы. Как только приходит запрос, серверный сокет создает соединение и по нему точно так же можно отправлять/принимать данные. Вы увидите, что при создании очередного соединения создается экземпляр класса Socket, с которым вы познакомились ранее.[32]

Может создастся впечатление, что каждое соединение захватывает очередной порт (т.к. Создается объект типа Socket) на сервере, но на самом деле это не так. Если несколько упростить, то по сути серверный сокет работает как многоканальный телефон. Т.е. номер один, а клиентов можно обслужить сразу несколько. Все пакеты как-бы деляться по клиенту и все это выглядит так, что каждый объект типа Socket работает сам по себе.

Теперь мы напишем два приложения. Одно — клиент, который посылает строку с текстом. Второе — серверное, которое будет слушать запросы и отвечать на них. Клиентское приложение мы уже в принципе разбирали, так что сложностей с чтением кода быть не должно (если конечно, вы поняли первый пример).[33]

Есть некоторые отличия — во-первых, для записи мы открываем не OutputStream, а PrintWriter. Объект этого класса может принимать на вход строку и сам преобразовывает ее в байты. Есть смысл заглянуть в документацию и почитать про этот класс подробнее.[34]

Во-вторых — алгоритм работы клиента достаточно простой, но требует пояснения.

Первым шагом мы пишем текстовую строку — она определена в начале программы. Потом мы читаем ответ сервера (ответ сервера предусматривает дублирование нашей строки с префиксом «Server returns: «) и посылаем вторую строку — “bye”. Это сигнал, по которому сервер должен понять, что мы хотим прекратить работу. Он нам тоже отвечает “bye” и закрывает сокет, мы эту строку читаем и заканчиваем работу. Второе приложение — сервер. Для его работы используется специальный класс серверного сокета — ServerSocket. Серверный сокет “открывается” на локальном компьютере и занимает определенный порт.[35] В нашем случае порт 1777. Дальше сервер входит в бесконечный цикл, в рамках которого и происходит обработка запросов от клиентских приложений.

Первым шагом внутри цикла сервер переходит в режим ожидания соединения — вызов accept(). При приходе запроса от клиентского приложения метод возвращает объект Socket, который используется так же как и клиентский сокет.[36]

Дальше по коду можно видеть, что мы точно так же открываем два потока — на ввод и вывод и взаимодействуем с клиентом — принимается строка, которая анализируется, не равна ли она “bye”. Если “нет”, то возвращаем дубль строки от клиента с префиксом “Server returns: ”, если “да”, то тоже возвращаем “bye”, выходим из цикла общения с клиентом, закрываем потоки и сокет, который был нами получен из метода accept() и начинаем все заново — вызываем accept() и ждем нового соединения. Т.е схема работы серверного сокета упрощенно выглядит так:[37]

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

Входим в цикл, в котором:

вызываем метод accept()

при приходе соединения получаем объект типа Socket

работаем с этим сокетом через потоки ввода-вывода

по окончанию закрываем потоки и объект типа Socket

Если проводит бытовую аналогию серверного сокета — в офисе на телефоне сидит секретарь (вызов метода accept). Как только приходит звонок, он поднимает трубку (появляется объект типа Socket) и проводит разговор (использует потоки ввода-вывода).[38] После окончания трубка кладется и цикл повторяется. Обратите внимание, что я сделал вызов accept до блока try .. catch. Внутри этого блока я определил еще одну переменную типа Socket — localSocket. Она указывает на наш открытый сокет. Если вы помните, то такая конструкция позволяет автоматически закрывать ресурс.Таким образом наш сокет будет автоматически закрываться. И потоки ввода-вывода тоже.[39]

В принципе можно было сделать вызов accept прямо в блоке try .. catch, но мне кажется, что так наш вариант становиться более наглядным и читабельным. Хотя тут можно спорить. Теперь предлагаю посмотреть код и прочитать комментарии. И еще замечание для внимательных — я не закрыл серверный сокет.[40] Это в общем не есть хорошо, в нашем случае это не является критичным, но для самостоятельной работы можете подумать, как сделать “закрытие” сокета. Недостаток заключается в том, что обработка ВСЕХ запросов происходит последовательно. По сути, у нас только один секретарь на много канальном телефоне. Все запросы от всех клиентов выстраиваются в очередь. Крайне неэффективное решение.

Представим, что запрос от клиента может обрабатываться несколько секунд, а количество запросов — несколько десятков одновременно. Наш сервер будет обрабатывать запросы ужасно долго. Что же делать?

На помощь приходит возможность многопоточной обработки. Здесь мы оперируем потоками исполнения (threads) — не путайте с потоками ввода-вывода (streams). Идея и реализация достаточно простые — при приходе соединения мы “отстегиваем” отдельный поток, передаем туда полученный Socket и сразу возвращаемся в методу accept().

Теперь в отдельном потоке мы можем спокойно обработать запрос от клиента. Наша система будет справляться, если количество запросов можно обработать каким-то количеством потоков за необходимый временной интервал.[41] Пусть у вас в секунду приходит 20 запросов и каждый обрабатывается за 5 секунд. Значит для обработки вам потребуется 100 потоков. Для современных компьютеров вполне разумные цифры. Учитывая, что обработка не означает 100% загрузку процессора. Мы говорили об этом при обсуждении многопоточности.[42] Проводя аналогию с секретарем — теперь, его задача принять звонок и сразу перенаправить его другому сотруднику. Второй SocketThread — это класс для обработки клиентского запроса в отдельном потоке. Думаю, что вы должны просто внимательно прочитать код и потом запустить этот пример. Клиентское приложение остается тем же, что и было раньше.[43]

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

Недостатки взаимодействия устройств в сети: такая сеть дороже из-за отдельного компьютера под сервер; менее гибкая по сравнению с равноправной. Сети с выделенным сервером являются более распространенными. Примеры сетевых операционных систем такого типа: LAN Server, IBM Corp., VINES, Banyan System Inc., NetWare, Novell Inc.

Глава 2. Разработка сети передачи данных

2.1 Протоколы передачи данных в компьютерных сетях

Функционирование как локальных, так и глобальных компьютерных сетей, мобильных и иных коммуникационных сервисов предполагает задействование различных протоколов связи. Какие из них можно считать самыми распространенными? В чем может заключаться значимость соответствующих стандартов? Что представляют собой протоколы связи? Протокол связи — это перечень унифицированных инструкций, которые устанавливают то, каким образом те или иные программные либо аппаратные интерфейсы должны обеспечивать передачу данных — например, текстовых, графических, аудио- и видеопотоков.[44]

Соответствующие протоколы создаются главным образом для облегчения масштабирования различных компьютерных сетей. Например, внедрение протокола TCP/IP позволило унифицировать передачу данных фактически по всему миру, благодаря чему стало возможно объединение компьютеров в глобальную сеть Интернет.[45] На современном рынке информационных технологий протоколы каналов связи используются на самых разных уровнях внедрения коммуникационных интерфейсов. Они постоянно дорабатываются, обновляются.

Периодически разрабатываются новые протоколы, отражающие специфику развития коммуникационного рынка. Могут использоваться различные протоколы связи в сетях как бытового, так и промышленного назначения, реализованных на базе инфраструктуры научно-исследовательских центров и т. д.[46] В числе самых распространенных стандартов соответствующего типа — Ethernet, CAN, HART. Использование протоколов связи осуществляется также в сфере услуг мобильных коммуникаций. В числе таковых — 3G, 4G, GPRS. [47]

Данные протоколы в сетях мобильных операторов различаются, в частности:

- по скорости передачи данных между абонентом и поставщиком коммуникационных услуг;

- по диапазонам частот;

- по показателям максимального расстояния коммуникационного устройства до базовой станции.

Что касается классификации протоколов компьютерной связи — она характеризуется достаточно высоким уровнем сложности. Рассмотрим ее специфику подробнее.[48] Классификация соответствующих протоколов может быть осуществлена с использованием достаточно большого количества подходов. Распространен тот, по которому стандарты связи могут быть подразделены на нижестоящие и вышестоящие уровни.

В числе таковых:

- прикладной;

- представительский;

- сеансовый;

- транспортный;

- сетевой;

- канальный;

- физический.

Изучим их подробнее. Прикладной уровень сетевых протоколов Рассматриваемый уровень, в рамках которого может быть классифицирован тот или иной протокол связи, относится, прежде всего, к приложениям. То есть, он обеспечивает коммуникации между инфраструктурой сети и конкретными программами пользователя. Здесь используются такие протоколы, как HTTP, Telnet, DNS, IRC, BitTorrent и многие другие, посредством которых осуществляется поставка современных онлайновых сервисов.[49]

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

Конкретные приложения задают определенные запросы в сеть, после чего — преобразуются в язык, понятный серверу. Далее происходит обработка запроса. Затем ответ от сервера преобразуется, в свою очередь, в язык, понятный приложению. В числе популярных протоколов соответствующего типа — ASN, FTP, SMTP. Можно также в определенной степени отнести к таковым и HTTP, FTP. [50]

Сеансовый уровень протоколов связи На данном уровне протокол связи используется в целях осуществления конкретной операции — например, синхронизации тех или иных задач, создания сеанса связи, отправки или получения файла. В числе распространенных протоколов, что используются в подобных целях — ASP, DLC, SOCKS. [51]

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

Следующий тип стандартов, на основе которого может функционировать система связи — протоколы сетевого уровня. Они отвечают, прежде всего, за способы передачи данных, трансляцию адресов, коммутацию, мониторинг качества работы инфраструктуры. К таким протоколам можно отнести, в частности, тот же TCP/IP, ICMP. DHCP. [52]

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

При необходимости также осуществляется их корректировка. В числе таких стандартов — распространенный протокол связи PPP, такие алгоритмы, как SLIP, L2F, PROFIBUS. В принципе, к канальным протоколам можно отнести и Ethernet.

Следующий уровень действия стандартов, о которых идет речь — физический. Здесь протокол связи — это инструмент, посредством которого осуществляется непосредственно передача потока цифровых данных — посредством направления сигнала по кабелю или же по радиоканалу.[53] В случае с проводной передачей могут задействоваться такие стандарты, как RS-232, xDSL, 100BASE-T. Распространенные протоколы беспроводной связи — в частности, реализованной с помощью Wi-Fi-роутеров - те, что относятся к типу IEEE 802.11. [54]

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

Таких как, например, протокол управления PPP (связью – именно она является объектом воздействия алгоритмов, которые предусмотрены соответствующим стандартом). Что представляет собой протокол PPP? Рассматриваемый протокол относится, как мы отметили выше, к стандартам, которые предназначены для обеспечения функционирования инфраструктуры сетей на канальном уровне.[55] Он универсален: посредством соответствующего протокола можно реализовать аутентификацию устройства, задействовать механизм шифрования данных, при необходимости — сжатие файлов.

Рассматриваемый протокол обеспечивает функционирование сетей на базе распространенных коммуникационных ресурсов — таких как телефонные линии, каналы сотовой связи.[56]

Если в той или иной программе выскакивает надпись о том, что протокол PPP связью был прерван, то это, скорее всего, будет означать невозможность получения пользователем фактического доступа к сетевым ресурсам, что предоставляются его провайдером. [57]

Существует несколько разновидностей соответствующего стандарта — например, PPPoE, PPPoA. При этом структура протокола, о котором идет речь, включает несколько стандартов: LCP, NCP, PAP, CHAP, MLPPP. Еще один распространенный на современном IT-рынке протокол — HTTP. Что представляет собой протокол HTTP? Соответствующий стандарт задействуется в целях обеспечения работы инфраструктуры обмена гипертекстовыми данными — в общем случае между компьютерами и серверами в интернете.

Относится к основополагающим протоколам, которые обеспечивают работу Всемирной паутины. По умолчанию поддерживается большинством современных программных инструментов коммуникации в распространенных операционных системах.[58] Отличается стабильностью — сложно представить ситуацию, при котором на экран пользователя выскочит сообщение HTTP-программы наподобие «протокол PPP-связью был прерван».[59] В крайнем случае — если по каким-либо причинам инструменты для задействования стандарта HTTP недоступны, можно для передачи файлов в режиме онлайн задействовать, к примеру, протокол FTP, хотя во многих случаях его применение может быть не самым оптимальным решением.

Стандарт, о котором идет речь, предполагает передачу данных от программно-аппаратного объекта в статусе клиента к серверу и наоборот. Первый направляет второму запросы, а тот отвечает на них по установленному алгоритму. Существует несколько разновидностей рассматриваемого протокола: например, HTTPS, HTTP-NG. [60]

Главные преимущества, обуславливающие тот факт, что протокол связи HTTP стал одним из самых популярных:

- универсальность;

- простота реализации;

- возможность расширения;

- наличие широкой поддержки со стороны производителей программного обеспечения.

Есть и у него и ряд недостатков, выделяемых экспертами:

- достаточно большая величина отдельных сообщений;

- неприспособленность к распределенным вычислениям;

- отсутствие возможности осуществлять навигацию по ресурсам, размещенным на сервере.

Выше мы отметили, что рассматриваемый стандарт связи поддерживается основными пользовательскими операционными системами, а также распространенными программными продуктами. Однако, сфера применения данного протокола существенно шире, чем реализация коммуникационных алгоритмов в рамках пользовательских решений.[61]

Стандарт HTTP применим и в промышленности, системах видеонаблюдения, в инфраструктуре SCADA. Большое количество производителей, рассматривая различные протоколы связи в сетях как базовые для выстраивания коммуникационной инфраструктуры, выбирают именно HTTP — как функциональный и надежный инструмент организации доступа к различным онлайн-ресурсам, конфигурирования объектов, управления различными девайсами.[62]

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

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

Есть версии Mobdus, адаптированные для передачи данных поверх TCP/IP. Еще одно популярное в среде промышленных предприятий решение — PROFIBUS-FDL. Что представляет собой протокол PROFIBUS-FDL? Рассматриваемый протокол функционирует в рамках сети PROFIBUS, которая получила распространение среди европейских промышленных предприятий.[64] Ее прототип был разработан специалистами компании Siemens и подлежал применению на участках производства, где задействовались контроллеры. Впоследствии на базе разработок немецкой корпорации была сформирована инфраструктура сети, в которой были объединены различные технологические, а также функциональные особенности последовательных коммуникаций, относящихся к полевому уровню. Рассматриваемый сетевой протокол позволил осуществить интеграцию разнотипных устройств автоматизации в рамках единой системы производства.[65]

Стоит отметить, что протокол PROFIBUS-FDL — не единственный, что функционирует а указанной промышленной сети. Однако, он является единым с точки зрения применимости в целях организации доступа к основной шине. Так или иначе, рассматриваемый протокол связи дополняется следующими стандартами: - DP; - PA; - FMS.[66]

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

Стандарт PROFIBUS PA позволяет осуществить обмен данными между инфраструктурой, которая состоит из оборудования, относящегося к полевому уровню. Данный протокол оптимизирован для подключения различных датчиков и механизмов на общую линейную или же кольцевую шину. Стандарт PROFIBUS FMS характеризуется универсальностью.[67]

Он предназначен, прежде всего, для организации обмена данными между высокотехнологичными компонентами промышленной инфраструктуры — компьютерами, программаторами, контроллерами. В числе самых сильных сторон протоколов, функционирующих в сети PROFIBUS — открытость (то есть, они могут быть использованы любыми заинтересованными промышленными предприятиями), широкая распространенность (что обуславливает облегчение масштабирования промышленной инфраструктуры при расширении рынков, открытии новых производств).[68]

Протоколы передачи данных в компьютерных сетях, осуществляющиеся среди абонентов, представляют собой набор определенных правил. Самой распространенной моделью для квалификации сетевых протоколов признано называть OSI.[69]

Она подразумевает, что все имеющиеся протоколы разделяются на семь уровневых систем:

«Application Layer» (прикладной) – начальный уровень. Он выстраивает модельную пирамиду и обеспечивает связь между сетью и самим пользователем. Кроме того, он качественно передает служебные информационные данные.

«Presentation Layer» (представляющий) – шестой уровень квалификационной структуры, который отвечает за изменение протокола и шифрование информации. Также здесь происходит сжатие и последующая распаковка данных или отправка запроса на другой ресурс.[70]

«Session Layer» (сеансовый) – пятый уровень, отвечающий за поддерживание сеансового соединения, предоставляющего длительное взаимодействие между приложениями. Он управляет началом и завершением любого процесса, обменом информацией, задачной синхронизацией и т.д.

«Transport Layer» (транспортный) – четвертый уровень модельной классификации, обеспечивающий безошибочную отправку и получение информации без потерь и неточностей.[71]

«Network Layer» – третий уровень, определяющий пути, по которым передаются данные. Здесь в работу включается маршрутизатор.

«Data link Layer» (звено данных) – канальный уровень, обеспечивающий взаимодействующую работу сетей и контролирующий возникновение неточностей или сдвигов.

«Physical Layer» (физический) – нижний уровень OSI. Именно он предназначается для конкретной передачи данных.

К локальным протоколам относятся:

AppleTalk;

DNA;

HTTP;

TCP/IP;

FTP;

WAP;

NetBEUI;

РОР3;

SNA;

DLC и т.д.

Наиболее распространенным является TCP/IP – «Transmission Control Protocol/Internet Protocol».

Большее количество операционных систем поддерживают работу с данным протоколом:

Windows;

IBM;

MAC OS;

NetWare;

OpenMVS и т.д.

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

Протоколы передачи данных в компьютерных сетях и множество других операционных программ, технологий, оборудования и систем представляются на международной выставке «Связь», что ежегодно проводится в Москве[73].

Уже более двух десятков лет Центральный выставочный комплекс «Экспоцентр» организовывает и проводит данное мероприятие. Оно охватывает все тематические категории данной отрасли.[74]

Среди них:

оборудование и передовые решения;

IT технологии;

теле- и радиовещание;

центры обработки и хранения данных;

программное обеспечение и много других интересных тем.

Лидирующие мировые компании делятся своими разработками и новыми идеями, которые стремительно и результативно выдвигают коммуникации на новую ступень развития.

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

2.2 Разработка сети

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

Рисунок 1 Схема типовой локальной вычислительной сети

Решение задачи объединения объектов информатизации в единую локальную вычислительную сеть путем использования беспроводного радиодоступа D-Link, работающего в диапазоне спектра частот 2,400 …2,4835ГГц, позволяет избежать значительных капитальных вложений в инфраструктуру и приобретение лицензий на частоты вещания. Указанный спектр частот 2,400 …2,4835ГГц выделен в настоящее время в РФ под подобные системы.

Схема подключения объектов информатизации (штабов) с помощью беспроводной системы D-Link может быть представлена следующим образом (рисунок 3.2).

Рис. 2 Схема беспроводного подключения объектов информатизации

Из анализа рис.3.2 видно, что антенна, установленная на одной площадке, может обслуживать абонентов, находящихся в радиусе от 1 км до 10 км с применением выносной антенны, и до 30 км, с использованием усилителей. Напряжение питающей сети 5 переменного тока промышленной частоты основных 3 и дополнительных 2 пользователей поступает на входы блоков 4 электрического питания, выходные напряжения постоянного тока которых направляется по сдвоенным жилам кабельных линий категории 5Е витая пара на гнезда электрического питания неуправляемых коммутаторов. Такое подключение блоков питания 4 к неуправляемым коммутаторам 1 обеспечивает их защиту от несанкционированного демонтажа (кражи), так как без блоков питания 4 неуправляемые коммутаторы 1 не имеют коммерческого спроса и потому не требуют сейфовой защиты.

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

Рисунок 3 Структурная схема предлагаемой локальной компьютерной сети с комплексной защитой объектов информатизации

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

В результате разработки предложений по развертыванию локальных сетей можно сформулировать следующие выводы:

1. Наибольшее предпочтение по развертыванию абонентской части локальной сети следует отдать технологии беспроводного радиодоступа компании D-Link, так как она обладает:

- большим радиусом зоны действия;

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

- минимальными потерями в антенно-фидерном тракте для уменьшения утечек информации из сети;

- возможностью подключения к уже существующим кабельным сетям и т.д.

2. Предложена локальная компьютерная сеть с комплексной защитой объектов информатизации, которая позволяет увеличить не менее, чем на 15-20 % число пользователей (абонентской емкости) и на 10-15 % ее протяженность.

Глава 3 Исследование стандартных стеков коммуникационных протоколов

3.1 Стек TCP/IP

Стек TCP/IP, называемый также стеком DoD и стеком Internet, является одним из наиболее популярных и перспективных стеков коммуникационных протоколов. Если в настоящее время он распространен в основном в сетях с ОС UNIX, то реализация его в последних версиях сетевых операционных систем для персональных компьютеров (Windows NT, NetWare ) является хорошей предпосылкой для быстрого роста числа установок стека TCP/IP.[75]

Большой вклад в развитие стека TCP/IP внес университет Беркли, реализовав протоколы стека в своей версии ОС UNIX. Широкое распространение ОС UNIX привело и к широкому распространению протокола IP и других протоколов стека. На этом же стеке работает всемирная информационная сеть Internet, чье подразделение Internet Engineering Task Force (IETF) вносит основной вклад в совершенствование стандартов стека, публикуемых в форме спецификаций RFC.[76]

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

Структура протоколов TCP/IP приведена на рисунке 4. Протоколы TCP/IP делятся на 4 уровня.

Следующий уровень (уровень III) - это уровень межсетевого взаимодействия, который занимается передачей дейтаграмм с использованием различных локальных сетей, территориальных сетей X.25, линий специальной связи и т. п.[78] В качестве основного протокола сетевого уровня (в терминах модели OSI) в стеке используется протокол IP, который изначально проектировался как протокол передачи пакетов в составных сетях, состоящих из большого количества локальных сетей, объединенных как локальными, так и глобальными связями. Поэтому протокол IP хорошо работает в сетях со сложной топологией, рационально используя наличие в них подсистем и экономно расходуя пропускную способность низкоскоростных линий связи. Протокол IP является дейтаграммным протоколом.[79]

Описание: Описание: Описание: http://web.znu.edu.ua/lab/mathdep/apmath/netlec/Lec3/html/lec3/image008.gif

К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP(Routing Internet Protocol) и OSPF (Open Shortest Path First), а также протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol).[80] Последний протокол предназначен для обмена информацией об ошибках между маршрутизатором и шлюзом, системой-источником и системой-приемником, то есть для организации обратной связи.

С помощью специальных пакетов ICMP сообщается о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т.п.[81] Следующий уровень (уровень II) называется основным. На этом уровне функционируют протокол управления передачей TCP (Transmission Control Protocol) и протокол дейтаграмм пользователяUDP (User Datagram Protocol). Протокол TCP обеспечивает устойчивое виртуальное соединение между удаленными прикладными процессами.[82]

Верхний уровень (уровень I) называется прикладным. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и сервисов прикладного уровня. К ним относятся такие широко используемые протоколы, как протокол копирования файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet и ее российской ветви РЕЛКОМ, гипертекстовые сервисы доступа к удаленной информации, такие как WWW и многие другие. Остановимся несколько подробнее на некоторых из них, наиболее тесно связанных с тематикой данного курса.[83]

Протокол SNMP (Simple Network Management Protocol) используется для организации сетевого управления. Проблема управления разделяется здесь на две задачи. Первая задача связана с передачей информации. Протоколы передачи управляющей информации определяют процедуру взаимодействия сервера с программой-клиентом, работающей на хосте администратора.

Протокол telnet обеспечивает передачу потока байтов между процессами, а также между процессом и терминалом. Наиболее часто этот протокол используется для эмуляции терминала удаленной ЭВМ.[84]

3.2 Стек IPX/SPX

Стек протоколов IPX/SPX (англ. Internetwork Packet Exchange / Sequenced Packet Exchange – межсетевой обмен пакетами / последовательный обмен пакетами) является собственностью компании Novell. Он был разработан в начале 80-х годов для сетевой операционной системы NetWare, которая еще до недавнего времени занимала одну из лидирующих позиций среди серверных операционных систем.[85]

Протоколы IPX (Internetwork Packet Exchange) и SPX, которые дали имя стеку, являются прямой адаптацией протоколов XNS фирмы Xerox, распространенных в гораздо меньше степени, чем IPX/SPX.[Источник 1] По количеству установок протоколы IPX/SPX лидируют, и это обусловлено тем, что сама ОС NetWare занимает лидирующее положение с долей установок в мировом масштабе примерно в 65%.[86]

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

Этот стек является оригинальным стеком протоколов фирмы Novell, который она разработала для своей сетевой операционной системы NetWare еще в начале 80-х годов.[87] Протоколы Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX), которые дали имя стеку, являются прямой адаптацией протоколов XNS фирмы Xerox, распространенных в гораздо меньше степени, чем IPX/SPX. По количеству установок протоколы IPX/SPX лидируют, и это обусловлено тем, что сама ОС NetWare занимает лидирующее положение с долей установок в мировом масштабе примерно в 65%.[88]

Семейство протоколов фирмы Novell и их соответствие модели ISO/OSI представлено на рисунке 5.

Описание: Описание: Описание: http://web.znu.edu.ua/lab/mathdep/apmath/netlec/Lec3/html/lec3/image010.gif

На физическом и канальном уровнях в сетях Novell используются все популярные протоколы этих уровней (Ethernet, Token Ring, FDDI и другие).[89]

На сетевом уровне в стеке Novell работает протокол IPX, а также протоколы обмена маршрутной информацией RIP и NLSP (аналог протокола OSPF стека TCP/IP). IPX является протоколом, который занимается вопросами адресации и маршрутизации пакетов в сетях Novell. Маршрутные решения IPX основаны на адресных полях в заголовке его пакета, а также на информации, поступающей от протоколов обмена маршрутной информацией.

Транспортному уровню модели OSI в стеке Novell соответствует протокол SPX, который осуществляет передачу сообщений с установлением соединений. На верхних прикладном, представительном и сеансовом уровнях работают протоколы NCP и SAP. Протокол NCP (NetWare Core Protocol) является протоколом взаимодействия сервера NetWare и оболочки рабочей станции.[90]

SAP (Service Advertising Protocol) - протокол объявления о сервисе - концептуально подобен протоколу RIP. Подобно тому, как протокол RIP позволяет маршрутизаторам обмениваться маршрутной информацией, протокол SAP дает возможность сетевым устройствам обмениваться информацией об имеющихся сетевых сервисах.[91]

В сетях Novell серверы NetWare 3.x каждую минуту рассылают широковещательные пакеты SAP. Пакеты SAP в значительной степени засоряют сеть, поэтому одной из основных задач маршрутизаторов, выходящих на глобальные связи, является фильтрация трафика SAP-пакетов и RIP-пакетов.[92] Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать у нее лицензию, долгое время ограничивали распространенность его только сетями NetWare. Именно компания Novell ответственна за использование IPX в качестве популярного компьютерного сетевого протокола из-за их преобладания на рынке программного обеспечения сетевой операционной системы (с NetWare) с конца 1980-х и до середины 1990-х. Чотя в последнее время ее популярность намного снизилась, и по темпам роста она заметно отстает от Microsoft Windows NT.

Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare (до версии 4.0) на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Понятно, что для таких компьютеров компании Novell нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением DOS (Disk Operating System) объемом 640 Кбайт) и которые быстро работали бы на процессорах небольшой вычислительной мощности.[93]

В результате протоколы стека IPX/SPX до недавнего времени хорошо работали в локальных сетях и не очень — в больших корпоративных сетях, так как они слишком перегружали медленные глобальные связи широковещательными пакетами, которые интенсивно используются несколькими протоколами этого стека (например, для установления связи между клиентами и серверами).[94]

Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell, и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), долгое время ограничивали его поле деятельности только сетями NetWare.[95] Однако с момента выпуска версии NetWare 4.0 специалисты Novell внесли и продолжают вносить в протоколы серьезные изменения, направленные на их адаптацию для работы в корпоративных сетях. Сейчас стек IPX/SPX реализован не только в NetWare, но и в нескольких других популярных сетевых ОС, например SCO UNIX, Sun Solaris, Microsoft Windows NT.

DOS

Изначально NetWare клиент был написан компанией Novell для DOS. Первые версии требовали жестко связанный стек протоколов, где исполняемый файл создавался бы администратором для каждой сетевой карты в отдельности. Этот исполняемый файл был бы загружен в течение установленного времени и оставался бы в памяти до тех пор, пока система не завершит программу.[96] Позже реализации позволили сетевому стеку загружаться и разгружаться динамически с помощью исполняемых модулей. Это значительно упростило процедуру обслуживания клиентских терминалов в сети.

Протокол IPX/SPX на деле был образцом для многопользовательских сетевых игр эры DOS. Жизненный цикл многих игр был увеличен за счет туннельных программ таких, как Kali Linux и Kahn, которые позволили играть в них через Интернет.[97]

Windows

Вследствие распространенности IPX/SPX в локальных сетях в 1990-х, Microsoft Corporation добавил поддержку для протоколов в сетевые стеки Microsoft Windows, начиная с Windows for Workgroups и Microsoft Windows NT. Microsoft даже назвал свои реализации "NWLink", подразумевая, что включение транспортов уровня 3/4 обеспечит связь с серверами NetWare.[98]

В действительности, протоколы поддерживались как исходный транспорт для Microsoft Windows SMB (Server Message Block)/NetBIOS, и связь с NetWare требовала дополнительную установку NCP клиента (Microsoft Corporation предоставила Microsoft Windows 95 базовому клиенту NetWare, но она не установилась автоматически, и первоначально поддерживался только режим системной базы данных NetWare).

NWLink был все еще обеспечен Microsoft Windows (ранними версиями по Windows Server 2003 включительно), но не поддерживался Microsoft Windows Vista. Его использованию строго препятствовали, так как он не мог быть использован для организации сети Microsoft Windows за исключением транспорта для NetBIOS, который устарел.[99]

Главным образом, 32-битное клиентское программное обеспечение Microsoft Windows компании Novell избежало NWLink благодаря альтернативе, разработанной Novell, хотя некоторые версии допускают использование реализации IPX/SPX Microsoft Corporation (с предупреждением о потенциальной несовместимости).

Другие

В течение нескольких лет компания Novell поставляла исходный клиент NetWare для OS/2.[Источник 3] По структуре он напоминал клиент для DOS.

Novell также выпускала IPX клиент для Classic Mac OS X, называемый MacIPX. Он использовался не только Mac NetWare клиентом, а также играми такими, как Doom и Warcraft III для многопользовательской игры.[100]

Реализации были написаны для разновидностей Unix/Linux, обе компанией Novell и другими разработчиками. В частности, Novell’s UnixWare изначально поддерживала IPX/SPX. Конечно, пока UnixWare могла выступать в качестве клиента NetWareслужбы, и приложения могли дополнительно поддерживать IPX/SPX как транспорт, UnixWare не предоставляла возможности совместно использовать файлы или принтеры в NetWare сети без дополнительного программного пакета. Open Enterprise Server – Linux не поддерживает IPX/SPX.[101]

Открытая исходная операционная система FreeBSD включает IPX/SPX стек, чтобы поддержать файловый системный клиент NetWare и службу NetWare, использующий Mars NWE (обеспечивая тем самым некоторую функциональность). OpenBSD отказалась от поддержки с версии 4.2 и 4.1 понадобилось немного доработать, чтобы скомпилировать с IPX.

Заключение

Если вспомнить достаточно распространенную фразу “дипломатический протокол”, то суть та же — вы в определенных случаях должны говорить фразы из определенного набора слов, фраз и другая сторона делает то же самое. В ИТ-сфере все очень похоже -вы посылаете определенные байты и ждете в ответ определенные байты. Этот обмен и есть протокол. Если он соблюдается обеими сторонами, то они смогут о чем-нибудь договориться.

Если рассматривать полную сетевую модель OSI (Open System Interconnection — взаимодействие открытых систем), то прикладного программиста на Java затрагивают в основном протоколы Прикладного уровня — HTTP, FTP, SMTP, SNMP и протоколы Транспортного уровня — TCP и UDP. (там еще есть парочка, но они крайне редко встречаются)

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

Что касается протокола UDP, то он тоже важен и нужен, но в моей практике он встречается реже. Хотя конечно же многое зависит от того, какую задачу вы решаете. Были у меня проекты, где мы работали с UDP достаточно плотно. Для прикладного программиста на Java работа с TCP — это работа с сокетами. Сокет — это специальная структура на уровне операционной системы, которая в упрощенном понимании может быть описана следующим образом:

В памяти выделяется структура, которая описывается двумя главными параметрами:

IP-адрес — это по сути адрес компьютера в сети. Опять же — это упрощенно, но для первого знакомства вполне подойдет

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

В результате предложений по развертыванию локальных сетей можно сформулировать следующие выводы:

1. Наибольшее предпочтение по развертыванию абонентской части локальной сети следует отдать технологии беспроводного радиодоступа компании D-Link, так как она обладает:

- большим радиусом зоны действия;

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

- минимальными потерями в антенно-фидерном тракте для уменьшения утечек информации из сети;

- возможностью подключения к уже существующим кабельным сетям и т.д.

2. Предложена локальная компьютерная сеть с комплексной защитой объектов информатизации, которая позволяет увеличить не менее, чем на 15-20 % число пользователей (абонентской емкости) и на 10-15 % ее протяженность.

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

  1. Андреев, Остроух Автоматизация управления компьютерными сетями / Остроух Андрей , Нгуен Дык Тхань und Эдгар Чернов. - М.: LAP Lambert Academic Publishing, 2014. - 284 c.
  2. Антонова, Галина Технологии передачи информации на физическом уровне модели OSI / Галина Антонова. - М.: Palmarium Academic Publishing, 2018. - 192 c.
  3. Баринов, Андрей Безопасность сетевой инфраструктуры предприятия / Андрей Баринов. - М.: LAP Lambert Academic Publishing, 2016. - 331 c.
  4. Беззатеев, Сергей Классы кодов Гоппы / Сергей Беззатеев. - М.: LAP Lambert Academic Publishing, 2017. - 320 c.
  5. Дансмор, Брэдли Справочник по телекоммуникационным технологиям / Брэдли Дансмор , Тоби Скандьер. - М.: Вильямс, 2017. - 640 c.
  6. Епанешников, А.М. Локальные вычислительные сети / А.М. Епанешников. - М.: Диалог-Мифи, 2014. - 793 c.
  7. Жуков, Юрий Основы веб-хакинга. Нападение и защита: моногр. / Юрий Жуков. - М.: Книга по Требованию, 2018. - 208 c.
  8. Ибе, О. Компьютерные сети и службы удаленного доступа / О. Ибе. - М.: Книга по Требованию, 2017. - 334 c.
  9. Корячко, Вячеслав Петрович Анализ и проектирование маршрутов передачи данных в корпоративных сетях / Корячко Вячеслав Петрович. - М.: Горячая линия - Телеком, 2014. - 971 c.
  10. Кузьменко, Николай Гаврилович Компьютерные сети и сетевые технологии / Кузьменко Николай Гаврилович. - М.: Наука и техника, 2015. - 564 c.
  11. Майкл, Дж. Монкур Дженкинс-мл. Джон У. Переход к NetWare 5 (тест 50-638) / Дж. Майкл Дженкинс-мл. Монкур, У. Джон, Джеймс Челлис. - М.: ЛОРИ, 2016. - 272 c.
  12. Малыгин, Иван Широкополосные системы связи / Иван Малыгин. - М.: LAP Lambert Academic Publishing, 2018. - 200 c.
  13. Михеев, М. Администрирование VMware vSphere / М. Михеев. - М.: Книга по Требованию, 2014. - 408 c.
  14. Надежда, Лутфуллина und Елена Рудская Информационные технологии для государства и бизнеса / Надежда Лутфуллина und Елена Рудская. - М.: LAP Lambert Academic Publishing, 2014. - 260 c.
  15. Найэл, Ричард Мэрфи IPv6. Администрирование сетей / Найэл Ричард Мэрфи, Дэвид Мэлоун. - М.: КУДИЦ-Пресс, 2014. - 320 c.
  16. Орлов, С. А. Организация ЭВМ и систем / С.А. Орлов, Б.Я. Цилькер. - М.: Книга по Требованию, 2018. - 688 c.
  17. Павел, Михеев und Сергей Сущенко Анализ сетей абонентского доступа / Павел Михеев und Сергей Сущенко. - М.: LAP Lambert Academic Publishing, 2015. - 172 c.
  18. Палмер, Майкл Проектирование и внедрение компьютерных сетей / Майкл Палмер , Роберт Брюс Синклер, Майкл Палмер. - М.: БХВ-Петербург, 2018. - 740 c.
  19. Поляк-Брагинский, А. В. Локальная сеть. Самое необходимое / А.В. Поляк-Брагинский. - М.: БХВ-Петербург, 2016. - 576 c.
  20. Поляк-Брагинский, А. Сеть под Microsoft Windows. Экспресс-курс / А. Поляк-Брагинский. - М.: БХВ-Петербург, 2015. - 336 c.
  21. Семенов, А. Б. Волоконно-оптические подсистемы современных СКС / А.Б. Семенов. - М.: ДМК Пресс, Компания АйТи, 2014. - 632 c.
  22. Семенов, А. Б. Структурированные кабельные системы. Стандарты, компоненты, проектирование, монтаж и техническая эксплуатация / А.Б. Семенов, С.К. Стрижаков, И.Р. Сунчелей. - М.: КомпьютерПресс, 2018. - 482 c.
  23. Смирнова, Е.В. Технологии современных сетей Ethernet. Методы коммутации и управления потоками данных / Е.В. Смирнова. - М.: БХВ-Петербург, 2017. - 480 c.
  24. Стахнов, Алексей Сеть для офиса и LINUX-сервер своими руками / Алексей Стахнов. - М.: БХВ-Петербург, 2017. - 320 c.
  25. Сухов, Андрей Научные основы анализа качества интернет трафика / Андрей Сухов. - М.: LAP Lambert Academic Publishing, 2017. - 264 c.
  26. Таненбаум, Э.С. Компьютерные сети / Э.С. Таненбаум. - М.: Питер, 2017. - 608 c.
  27. Чекмарев, Ю.В. Локальные вычислительные сети / Ю.В. Чекмарев. - М.: Книга по Требованию, 2017. - 204 c.
  28. Черноухов, Дмитрий Сравнительный анализ веб-сайтов федеральных университетов России / Дмитрий Черноухов. - М.: LAP Lambert Academic Publishing, 2014. - 124 c.
  29. Шалак, В. И. Логический анализ сети Интернет / В.И. Шалак. - Москва: Машиностроение, 2016. - 100 c.
  1. Орлов, С. А. Организация ЭВМ и систем / С.А. Орлов, Б.Я. Цилькер. - М.: Книга по Требованию, 2018. - 688 c.

  2. Андрей, Остроух Автоматизация управления компьютерными сетями / Остроух Андрей , Нгуен Дык Тхань und Эдгар Чернов. - М.: LAP Lambert Academic Publishing, 2014. - 284 c.

  3. Палмер, Майкл Проектирование и внедрение компьютерных сетей / Майкл Палмер , Роберт Брюс Синклер, Майкл Палмер. - М.: БХВ-Петербург, 2018. - 740 c.

  4. Малыгин, Иван Широкополосные системы связи / Иван Малыгин. - М.: LAP Lambert Academic Publishing, 2018. - 200 c.

  5. Антонова, Галина Технологии передачи информации на физическом уровне модели OSI / Галина Антонова. - М.: Palmarium Academic Publishing, 2018. - 192 c.

  6. Баринов, Андрей Безопасность сетевой инфраструктуры предприятия / Андрей Баринов. - М.: LAP Lambert Academic Publishing, 2016. - 331 c

  7. Таненбаум, Э.С. Компьютерные сети / Э.С. Таненбаум. - М.: Питер, 2017. - 608 c.

  8. Шалак, В. И. Логический анализ сети Интернет / В.И. Шалак. - Москва: Машиностроение, 2016. - 100 c.

  9. Беззатеев, Сергей Классы кодов Гоппы / Сергей Беззатеев. - М.: LAP Lambert Academic Publishing, 2017. - 320 c.

  10. Семенов, А. Б. Структурированные кабельные системы. Стандарты, компоненты, проектирование, монтаж и техническая эксплуатация / А.Б. Семенов, С.К. Стрижаков, И.Р. Сунчелей. - М.: КомпьютерПресс, 2018. - 482 c.

  11. Стахнов, Алексей Сеть для офиса и LINUX-сервер своими руками / Алексей Стахнов. - М.: БХВ-Петербург, 2017. - 320 c.

  12. Сухов, Андрей Научные основы анализа качества интернет трафика / Андрей Сухов. - М.: LAP Lambert Academic Publishing, 2017. - 264 c.

  13. Майкл, Дж. Монкур Дженкинс-мл. Джон У. Переход к NetWare 5 (тест 50-638) / Дж. Майкл Дженкинс-мл. Монкур, У. Джон, Джеймс Челлис. - М.: ЛОРИ, 2016. - 272 c.

  14. Епанешников, А.М. Локальные вычислительные сети / А.М. Епанешников. - М.: Диалог-Мифи, 2014. - 793 c.

  15. Смирнова, Е.В. Технологии современных сетей Ethernet. Методы коммутации и управления потоками данных / Е.В. Смирнова. - М.: БХВ-Петербург, 2017. - 480 c.

  16. Дансмор, Брэдли Справочник по телекоммуникационным технологиям / Брэдли Дансмор , Тоби Скандьер. - М.: Вильямс, 2017. - 640 c.

  17. Жуков, Юрий Основы веб-хакинга. Нападение и защита: моногр. / Юрий Жуков. - М.: Книга по Требованию, 2018. - 208 c.

  18. Павел, Михеев und Сергей Сущенко Анализ сетей абонентского доступа / Павел Михеев und Сергей Сущенко. - М.: LAP Lambert Academic Publishing, 2015. - 172 c.

  19. Черноухов, Дмитрий Сравнительный анализ веб-сайтов федеральных университетов России / Дмитрий Черноухов. - М.: LAP Lambert Academic Publishing, 2014. - 124 c.

  20. Корячко, Вячеслав Петрович Анализ и проектирование маршрутов передачи данных в корпоративных сетях / Корячко Вячеслав Петрович. - М.: Горячая линия - Телеком, 2014. - 971 c.

  21. Поляк-Брагинский, А. В. Локальная сеть. Самое необходимое / А.В. Поляк-Брагинский. - М.: БХВ-Петербург, 2016. - 576 c.

  22. Ибе, О. Компьютерные сети и службы удаленного доступа / О. Ибе. - М.: Книга по Требованию, 2017. - 334 c.

  23. Чекмарев, Ю.В. Локальные вычислительные сети / Ю.В. Чекмарев. - М.: Книга по Требованию, 2017. - 204 c.

  24. Лутфуллина und Елена Рудская. - М.: LAP Lambert Academic Publishing, 2014. - 260 c.

  25. Михеев, М. Администрирование VMware vSphere / М. Михеев. - М.: Книга по Требованию, 2014. - 408 c.

  26. Семенов, А. Б. Волоконно-оптические подсистемы современных СКС / А.Б. Семенов. - М.: ДМК Пресс, Компания АйТи, 2014. - 632 c.

  27. Поляк-Брагинский, А. Сеть под Microsoft Windows. Экспресс-курс / А. Поляк-Брагинский. - М.: БХВ-Петербург, 2015. - 336 c.

  28. Надежда, Лутфуллина und Елена Рудская Информационные технологии для государства и бизнеса / Надежда Найэл, Ричард Мэрфи IPv6. Администрирование сетей / Найэл Ричард Мэрфи, Дэвид Мэлоун. - М.: КУДИЦ-Пресс, 2014. - 320 c.

  29. Шалак, В. И. Логический анализ сети Интернет / В.И. Шалак. - Москва: Машиностроение, 2016. - 100 c.

  30. Антонова, Галина Технологии передачи информации на физическом уровне модели OSI / Галина Антонова. - М.: Palmarium Academic Publishing, 2018. - 192 c.

  31. Кузьменко, Николай Гаврилович Компьютерные сети и сетевые технологии / Кузьменко Николай Гаврилович. - М.: Наука и техника, 2015. - 564 c.

  32. Жуков, Юрий Основы веб-хакинга. Нападение и защита: моногр. / Юрий Жуков. - М.: Книга по Требованию, 2018. - 208 c.

  33. Беззатеев, Сергей Классы кодов Гоппы / Сергей Беззатеев. - М.: LAP Lambert Academic Publishing, 2017. - 320 c.

  34. Баринов, Андрей Безопасность сетевой инфраструктуры предприятия / Андрей Баринов. - М.: LAP Lambert Academic Publishing, 2016. - 331 c.

  35. Сухов, Андрей Научные основы анализа качества интернет трафика / Андрей Сухов. - М.: LAP Lambert Academic Publishing, 2017. - 264 c

  36. Поляк-Брагинский, А. В. Локальная сеть. Самое необходимое / А.В. Поляк-Брагинский. - М.: БХВ-Петербург, 2016. - 576 c.

  37. Андрей, Остроух Автоматизация управления компьютерными сетями / Остроух Андрей , Нгуен Дык Тхань und Эдгар Чернов. - М.: LAP Lambert Academic Publishing, 2014. - 284 c.

  38. Смирнова, Е.В. Технологии современных сетей Ethernet. Методы коммутации и управления потоками данных / Е.В. Смирнова. - М.: БХВ-Петербург, 2017. - 480 c.

  39. Майкл, Дж. Монкур Дженкинс-мл. Джон У. Переход к NetWare 5 (тест 50-638) / Дж. Майкл Дженкинс-мл. Монкур, У. Джон, Джеймс Челлис. - М.: ЛОРИ, 2016. - 272 c.

  40. Дансмор, Брэдли Справочник по телекоммуникационным технологиям / Брэдли Дансмор , Тоби Скандьер. - М.: Вильямс, 2017. - 640 c.

  41. Поляк-Брагинский, А. Сеть под Microsoft Windows. Экспресс-курс / А. Поляк-Брагинский. - М.: БХВ-Петербург, 2015. - 336 c.

  42. Кузьменко, Николай Гаврилович Компьютерные сети и сетевые технологии / Кузьменко Николай Гаврилович. - М.: Наука и техника, 2015. - 564 c.

  43. Епанешников, А.М. Локальные вычислительные сети / А.М. Епанешников. - М.: Диалог-Мифи, 2014. - 793 c.

  44. Семенов, А. Б. Структурированные кабельные системы. Стандарты, компоненты, проектирование, монтаж и техническая эксплуатация / А.Б. Семенов, С.К. Стрижаков, И.Р. Сунчелей. - М.: КомпьютерПресс, 2018. - 482 c.

  45. Баринов, Андрей Безопасность сетевой инфраструктуры предприятия / Андрей Баринов. - М.: LAP Lambert Academic Publishing, 2016. - 331с.

  46. Таненбаум, Э.С. Компьютерные сети / Э.С. Таненбаум. - М.: Питер, 2017. - 608 c

  47. Андрей, Остроух Автоматизация управления компьютерными сетями / Остроух Андрей , Нгуен Дык Тхань und Эдгар Чернов. - М.: LAP Lambert Academic Publishing, 2014. - 284 c.

  48. Таненбаум, Э.С. Компьютерные сети / Э.С. Таненбаум. - М.: Питер, 2017. - 608 c.

  49. Епанешников, А.М. Локальные вычислительные сети / А.М. Епанешников. - М.: Диалог-Мифи, 2014. - 793 c.

  50. Михеев, М. Администрирование VMware vSphere / М. Михеев. - М.: Книга по Требованию, 2014. - 408 c.

  51. Поляк-Брагинский, А. В. Локальная сеть. Самое необходимое / А.В. Поляк-Брагинский. - М.: БХВ-Петербург, 2016. - 576 c.

  52. Дансмор, Брэдли Справочник по телекоммуникационным технологиям / Брэдли Дансмор , Тоби Скандьер. - М.: Вильямс, 2017. - 640 c.

  53. Надежда, Лутфуллина und Елена Рудская Информационные технологии для государства и бизнеса / Надежда Лутфуллина und Елена Рудская. - М.: LAP Lambert Academic Publishing, 2014. - 260 c.

  54. Беззатеев, Сергей Классы кодов Гоппы / Сергей Беззатеев. - М.: LAP Lambert Academic Publishing, 2017. - 320 c.

  55. Кузьменко, Николай Гаврилович Компьютерные сети и сетевые технологии / Кузьменко Николай Гаврилович. - М.: Наука и техника, 2015. - 564 c.

  56. Жуков, Юрий Основы веб-хакинга. Нападение и защита: моногр. / Юрий Жуков. - М.: Книга по Требованию, 2018. - 208 c.

  57. Майкл, Дж. Монкур Дженкинс-мл. Джон У. Переход к NetWare 5 (тест 50-638) / Дж. Майкл Дженкинс-мл. Монкур, У. Джон, Джеймс Челлис. - М.: ЛОРИ, 2016. - 272 c.

  58. Ибе, О. Компьютерные сети и службы удаленного доступа / О. Ибе. - М.: Книга по Требованию, 2017. - 334 c.

  59. Найэл, Ричард Мэрфи IPv6. Администрирование сетей / Найэл Ричард Мэрфи, Дэвид Мэлоун. - М.: КУДИЦ-Пресс, 2014. - 320 c.

  60. Смирнова, Е.В. Технологии современных сетей Ethernet. Методы коммутации и управления потоками данных / Е.В. Смирнова. - М.: БХВ-Петербург, 2017. - 480 c

  61. Малыгин, Иван Широкополосные системы связи / Иван Малыгин. - М.: LAP Lambert Academic Publishing, 2018. - 200 c.

  62. Поляк-Брагинский, А. Сеть под Microsoft Windows. Экспресс-курс / А. Поляк-Брагинский. - М.: БХВ-Петербург, 2015. - 336 c.

  63. Корячко, Вячеслав Петрович Анализ и проектирование маршрутов передачи данных в корпоративных сетях / Корячко Вячеслав Петрович. - М.: Горячая линия - Телеком, 2014. - 971 c.

  64. Семенов, А. Б. Волоконно-оптические подсистемы современных СКС / А.Б. Семенов. - М.: ДМК Пресс, Компания АйТи, 2014. - 632 c.

  65. Павел, Михеев und Сергей Сущенко Анализ сетей абонентского доступа / Павел Михеев und Сергей Сущенко. - М.: LAP Lambert Academic Publishing, 2015. - 172 c.

  66. Чекмарев, Ю.В. Локальные вычислительные сети / Ю.В. Чекмарев. - М.: Книга по Требованию, 2017. - 204 c.

  67. Дансмор, Брэдли Справочник по телекоммуникационным технологиям / Брэдли Дансмор , Тоби Скандьер. - М.: Вильямс, 2017. - 640 c

  68. Стахнов, Алексей Сеть для офиса и LINUX-сервер своими руками / Алексей Стахнов. - М.: БХВ-Петербург, 2017. - 320 c.

  69. Михеев, М. Администрирование VMware vSphere / М. Михеев. - М.: Книга по Требованию, 2014. - 408 c.

  70. Беззатеев, Сергей Классы кодов Гоппы / Сергей Беззатеев. - М.: LAP Lambert Academic Publishing, 2017. - 320 c

  71. Епанешников, А.М. Локальные вычислительные сети / А.М. Епанешников. - М.: Диалог-Мифи, 2014. - 793 c

  72. Поляк-Брагинский, А. В. Локальная сеть. Самое необходимое / А.В. Поляк-Брагинский. - М.: БХВ-Петербург, 2016. - 576 c

  73. Смирнова, Е.В. Технологии современных сетей Ethernet. Методы коммутации и управления потоками данных / Е.В. Смирнова. - М.: БХВ-Петербург, 2017. - 480 c.

  74. Жуков, Юрий Основы веб-хакинга. Нападение и защита: моногр. / Юрий Жуков. - М.: Книга по Требованию, 2018. - 208 c

  75. Максимов, Н.В. Компьютерные сети: Учебное пособие для студентов учреждений среднего профессионального образования / Н.В. Максимов, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2013. - 464 c.

  76. Малыгин, Иван Широкополосные системы связи / Иван Малыгин. - М.: LAP Lambert Academic Publishing, 2018. - 200 c

  77. Ибе, О. Компьютерные сети и службы удаленного доступа / О. Ибе. - М.: Книга по Требованию, 2017. - 334 c.

  78. Павел, Михеев und Сергей Сущенко Анализ сетей абонентского доступа / Павел Михеев und Сергей Сущенко. - М.: LAP Lambert Academic Publishing, 2015. - 172 c.

  79. Чекмарев, Ю.В. Локальные вычислительные сети / Ю.В. Чекмарев. - М.: Книга по Требованию, 2017. - 204 c.

  80. Майкл, Дж. Монкур Дженкинс-мл. Джон У. Переход к NetWare 5 (тест 50-638) / Дж. Майкл Дженкинс-мл. Монкур, У. Джон, Джеймс Челлис. - М.: ЛОРИ, 2016. - 272 c.

  81. Стахнов, Алексей Сеть для офиса и LINUX-сервер своими руками / Алексей Стахнов. - М.: БХВ-Петербург, 2017. - 320 c.

  82. Поляк-Брагинский, А. Сеть под Microsoft Windows. Экспресс-курс / А. Поляк-Брагинский. - М.: БХВ-Петербург, 2015. - 336 c.

  83. Черноухов, Дмитрий Сравнительный анализ веб-сайтов федеральных университетов России / Дмитрий Черноухов. - М.: LAP Lambert Academic Publishing, 2014. - 124 c.

  84. Сухов, Андрей Научные основы анализа качества интернет трафика / Андрей Сухов. - М.: LAP Lambert Academic Publishing, 2017. - 264 c.

  85. Корячко, Вячеслав Петрович Анализ и проектирование маршрутов передачи данных в корпоративных сетях / Корячко Вячеслав Петрович. - М.: Горячая линия - Телеком, 2014. - 971 c.

  86. Надежда, Лутфуллина und Елена Рудская Информационные технологии для государства и бизнеса / Надежда Лутфуллина und Елена Рудская. - М.: LAP Lambert Academic Publishing, 2014. - 260 c.

  87. Найэл, Ричард Мэрфи IPv6. Администрирование сетей / Найэл Ричард Мэрфи, Дэвид Мэлоун. - М.: КУДИЦ-Пресс, 2014. - 320 c

  88. Андрей, Остроух Автоматизация управления компьютерными сетями / Остроух Андрей , Нгуен Дык Тхань und Эдгар Чернов. - М.: LAP Lambert Academic Publishing, 2014. - 284 c.

  89. Кузьменко, Николай Гаврилович Компьютерные сети и сетевые технологии / Кузьменко Николай Гаврилович. - М.: Наука и техника, 2015. - 564 c.

  90. Беззатеев, Сергей Классы кодов Гоппы / Сергей Беззатеев. - М.: LAP Lambert Academic Publishing, 2017. - 320 c.

  91. Епанешников, А.М. Локальные вычислительные сети / А.М. Епанешников. - М.: Диалог-Мифи, 2014. - 793 c.

  92. Дансмор, Брэдли Справочник по телекоммуникационным технологиям / Брэдли Дансмор , Тоби Скандьер. - М.: Вильямс, 2017. - 640 c.

  93. Жуков, Юрий Основы веб-хакинга. Нападение и защита: моногр. / Юрий Жуков. - М.: Книга по Требованию, 2018. - 208 c.

  94. Ибе, О. Компьютерные сети и службы удаленного доступа / О. Ибе. - М.: Книга по Требованию, 2017. - 334 c.

  95. Баринов, Андрей Безопасность сетевой инфраструктуры предприятия / Андрей Баринов. - М.: LAP Lambert Academic Publishing, 2016. - 331 c.

  96. Поляк-Брагинский, А. В. Локальная сеть. Самое необходимое / А.В. Поляк-Брагинский. - М.: БХВ-Петербург, 2016. - 576 c.

  97. Семенов, А. Б. Волоконно-оптические подсистемы современных СКС / А.Б. Семенов. - М.: ДМК Пресс, Компания АйТи, 2014. - 632 c.

  98. Смирнова, Е.В. Технологии современных сетей Ethernet. Методы коммутации и управления потоками данных / Е.В. Смирнова. - М.: БХВ-Петербург, 2017. - 480 c.

  99. Корячко, Вячеслав Петрович Анализ и проектирование маршрутов передачи данных в корпоративных сетях / Корячко Вячеслав Петрович. - М.: Горячая линия - Телеком, 2014. - 971 c.

  100. Михеев, М. Администрирование VMware vSphere / М. Михеев. - М.: Книга по Требованию, 2014. - 408 c.

  101. Поляк-Брагинский, А. Сеть под Microsoft Windows. Экспресс-курс / А. Поляк-Брагинский. - М.: БХВ-Петербург, 2015. - 336 c.