Основы локальных сетей и сетевая подсистема Windows

Статус
В этой теме нельзя размещать новые ответы.

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,069
Реакции
5,784
Переписал тему по просьбе автора


Основы локальных сетей и сетевая подсистема Windows

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

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

* все ссылки даны на статьи на http://ru.wikipedia.org , для более глубокого ознакомления с темой.



Основные понятия - определение сети, локальные и глобальные сети, отличительные признаки локальной сети, типы построения, технологии.


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

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

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

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

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

Отличительные признаки локальной сети:

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

В типах построения локальных сетей можно выделить одноранговые и клиент-серверные.

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

Клиент-серверные сети - сети, где сервера и клиенты являются отдельными устройствами.

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

Ethernet— самая распространенная технология локальных сетей, имеющая собственные стандарты, устройства, среду, протоколы и способы передачи данных. Существуют варианты технологии - Ethernet, Fast Ethernet, гигабитный Ethernet, 10 гигабитный и более - в зависимости от скорости передачи. В качестве среды передачи используется медная витая пара (провод) - в помещениях, и иногда оптоволоконный кабель - в основном на магистралях вне помещений. В Ethernet используется технология пакетной передачи данных.

Wi-Fi - самая распространенная технология беспроводных локальных сетей, осуществляющая передачу данных на небольшие расстояния посредством радиосвязи.
___________________________

Модель OSI


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

Для разделения сетевых функций на группы, решающие типовые задачи, была разработана эталонная модель OSI (Open Systems Interconnection) – взаимодействие открытых систем, определяющая 7 таких групп - уровней, расположенных один над другим. Каждый из уровней может напрямую взаимодействовать только со своим ниже- и вышележащим соседом. Рассмотрим модель OSI снизу вверх.

Представим структуру в виде уровней.



Первый уровень - Физический
Самый нижний уровень модели - физический (physical). Типовая задача этого уровня - передача трафика и кодирование-декодирование электрических (оптических и т д) сигналов. К устройствам, работающем на физическом уровне относятся различные концентраторы, повторители, антенны, излучатели, переходники, разьемы и т п, то есть все то, что никаким образом не анализирует данные, которые передает. Так же этому уровню принадлежит среда передачи - кабели или радиоэфир. Протоколов передачи данных нет - всё передается на то устройство, с которым существует физическая связь. Единица передаваемой информации здесь - бит.

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

Выше физического лежит канальный уровень (data link), напрямую с ним взаимодействующий. Полученные с физического уровня данные (биты) здесь упаковываются в кадры (строки бит), проверяются на целостность методом подсчета контрольной суммы CRC8 - 32, если нужно, исправляются ошибки (отправкой повторного запроса поврежденного кадра) и отправляются на вышележащий сетевой уровень. У кадра в отличие от бита появляется служебный заголовок, включающий поле "MAC-адрес", т. е. физический адрес устройства - уникальный идентификатор, который есть у каждой единицы оборудования в локальной сети. К устройствам, работающим на этом уровне относятся сетевые адаптеры, мосты (bridge), коммутаторы (switch), умеющие анализировать MAC-адреса в заголовках кадров, путем сравнения с имеющимися у них данными таблицы MAC-адресов участников сети, и передавать кадры конкретному адресату. На канальном уровне нет проверки успешности доставки, гарантируется только передача на соседний уровень. Здесь реализуется ряд протоколов, например семейства PPP (Point-to-Point Protocol) — протокол точка-точка канального уровня. Используется для установления прямой связи между двумя узлами сети. В сетях Ethernet используется подвид PPP - протокол PPPoE (Point-to-Point Protocol over Ethernet) - точка-точка поверх Ethernet.Единица передаваемой информации на этом уровне - кадр, ячейка. У кадра, в отличие от ячейки в служебном заголовке есть поле "длина".

Третий уровень - Сетевой

Над канальным уровнем находится сетевой (network). Здесь из полученных с нижележащего уровня кадров формируются пакеты. В служебных заголовках пакетов указываются адреса отправителя и получателя - их IP, которые с помощью специальных протоколов ARP и RARP определяются по известному MAC, и наоборот. Здесь же выбирается маршрут дальнейшего следования пакета на основании данных таблиц маршрутизации. Маршрутизация (роутинг) может осуществляться отдельными устройствами - роутерами (маршрутизаторами) и сетевыми адаптерами - в небольших сетях. Задачей роутинга является вычисление оптимального пути дальнейшего следования пакета. На сетевом уровне так же как и на канальном нет гарантии успешности доставки пакета, нет функционала восстановления данных, но есть информирование отправителя об ошибках передачи пакета, реализуемое протоколом ICMP - например, если запрашиваемая услуга недоступна, хост, или маршрутизатор не отвечают, отправитель получает об этом сообщение. Единица передаваемой информации - пакет. На сетевом уровне так же реализуется механизм преобразования сетевых адресов - Network Address Translation (NAT)


ARP

Address Resolution Protocol — протокол определения адреса, предназначен для определения физического MAC-адреса устройства (канального уровня) по известному логическому - IP адресу (сетевого уровня). Обратное действие - определение IP по MAC, обеспечивается протоколом InARP (Inverse ARP, в некоторых источниках его называют Reverse ARP - RARP). Протокол ARP реализуется частично на канальном уровне, частично на сетевом. Каждый узел локальной сети имеет в памяти ARP-таблицу, в которой физические адреса известных устройств (MAC) сопоставлены их логическим адресам (IP). Устройство, которому нужно узнать IP другого узла по известному MAC, формирует ARP-запрос - специальный кадр, в котором указан известный MAC и рассылает его широковещательно на все устройства сети. Каждый узел локальной сети получает ARP-запрос и сравнивает указанный в нем MAC-адрес со своим собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и отсылает его направленно отправителю.

IP

Internet Protocol — межсетевой протокол, использующийся для логической адресации устройств и групп устройств в сетях (локальных и глобальной). В настрящее время чаще всего используется протокол 4 версии - Ipv4, параллельно с ним кое где начинает применяться шестая версия - IPv6.

Ipv4 - использует 32-битные (четырёхбайтные) уникальные адреса, которые записываются в виде четырёх десятичных чисел (октетов) от 0 до 255, разделённых точками, например, 192.168.0.1, но имеет так же и другие формы представления (шестнадцатеричная, двоичная и тд). IP адрес условно делится на 2 части - одна часть является адресом сети, другая - адресом хоста (устройства) в сети. Существует классовый и бесклассовый методы IP-адресации в сетях.

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

Сети класса А — большие сети. Промежуток адресов 1.0.0.0 - 126.0.0.0 Маска сети - 255.0.0.0, то есть первое число до точки IP в адресе - это адрес сети, а 3 остальные - адрес узла.

Сети класса В — средние сети. Промежуток адресов 128.0.0.0 -191.255.0.0. Маска сети — 255.255.0.0 - первые 2 числа - адрес сети, остальные 2 - адрес узла.

Сети класса С — маленькие сети. Промежуток адресов: 192.0.1.0 - 223.255.255.0 Маска сети — 255.255.255.0 - первые 3 числа - адрес сети, последнее - адрес узла. Содержат 256 адресов, из них 254 адреса - адреса хостов, 1 адрес - адрес самой сети и 1 широковещательный адрес (пакет на этот адрес получают все хосты сети).

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

Маска подсети - битовая маска, определяющая какая часть IP адреса считается адресом сети, какая - адресом узла. С помощью маски подсети можно определить, какой узел к какой подсети относится.

Чтобы высчитать адрес узла с помощью маски подсети, необходимо преобразовать десятичный формат IP адреса и маску в двоичный, например, с помощью инженерного калькулятора, записать их друг под другом, октет под октетом, и применить к ним побитовое сложение - логическое AND. Результатом этой операции над двумя битам будет 1, если они оба равны 1, и 0 во всех остальных случаях.

AND
1 and 1 = 1
1 and 0 = 0
0 and 1 = 0
0 and 0 = 0


Пример:

Определим IP адрес сети, в которм находится хост с адресом 192.168.137.31, маска подсети - 255.255.128.0

1. Переведем IP адрес хоста - 192.168.137.31 в двоичный формат, получим 11000000 10101000 10001001 00011111, 31 в двоичном формате = 11111, для удобства сложения дополняем нулями, получаем 00011111

2. Переведем маску подсети 255.255.128.0 в двоичный формат, получим 11111111 11111111 10000000 00000000

3. Складываем IP адрес и маску, и получаем адрес сети в двоичном формате



4. Переводим двоичный формат адреса сети в десятичный, получаем 192.168.128.0

Маска подсети 255.255.128.0 в двоичном формате содержит 17 единиц (выделены красным), поэтому IP адрес данного хоста можно записать в виде 192.168.137.31/17,т е 17 бит адреса отводится на адрес сети, а 32-17=15 бит - адрес самого хоста в сети. Та часть IP адреса, которая накладывается на единицы маски подсети является адресом сети, а которая накладывается на нули - адресом хоста.

В каждом классе IP адресов зарезервирован диапазон частных адресов, для локальных сетей

Для класса A это 10.0.0.0 - 10.255.255.255
Для класса B это 172.16.0.0 - 172.31.255.255
Для класса C это 192.168.0.0 - 192.168.255.255

Адреса 127.0.0.0 - 127.255.255.255 так же зарезервированиы для реализации механизма Loopback (обратная петля) - передачи потока данных от источника самому себе. В сетях Ipv4 наиболее часто используется loopback — 127.0.0.1, в сетях IPv6 — 0:0:0:0:0:0:0:1 (::1), что можно увидеть в файле Hosts. У данных адресов есть собственное доменное имя - Localhost. Адреса loopback используются для проверки работоспособности IP стека в операционной системе или для связи с серверным приложением, расположенным на этом же компьютере.

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

Адреса в промежутке 169.254.0.0 - 169.254.255.255 (Link-local адреса) зарезервированы для службы Automatic Private IP Addressing (APIPA), которая может использоваться в небольших одноранговых сетях вместо службы Dynamic Host Configuration Protocol — протокол динамической конфигурации хоста (DHCP). Иногда адрес этого диапазона можно увидеть в свойствах сетевого подключения компьютера, если он не может установить связь с DHCP сервером.

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

IPv6 - интернет протокол версии 6, начинает использоваться в основном пока экспериментально, призван решить ряд проблем, существующих в протоколе Ipv4 и увеличить количество возможных IP адресов. Планируется, что не вытеснит, а будет использоваться параллельно с протоколом IPv4. Адрес Ipv6 имеет длину 128 бит.

Распределением IP адресов, доменных имен и других параметров интернета занимается организация IANA (Internet Assigned Numbers Authority) - Администрация адресного пространства Интернет

NAT

NAT - трансляция (преобразование) адресов на сетевом уровне осуществляется маршрутизирующими устройствами: внешний IP адрес, указанный в заголовке пакета (адрес в глобальной сети) преобразуется во внутренний - из диапазона, зарезервированного для локальных сетей. Внутренние алреса не доступны из глобальной сети. Принимая пакет, маршрутизатор сверяет IP адрес, указанный в заголовке с хранящимися у него во временной таблице адресами узлов сети - внутренними и внешними. Если в заголовке пакета указан локальный адрес - преобразования не происходит, пакет просто передается дальше по цепочке маршрута. Если указан внешний адрес - он заменяется на внутренний, согласно данным таблицы.

Если в настройках сетевого подключения компьютера (Протокол интернета IPv4) указан адрес из локального диапазона - занчит доступ в интернет происходит через NAT. В сетях IPv6 NAT не используется.
Четвертый уровень - Транспортный

Выше сетевого уровня находится транспортный (transport), который является главным связующим звеном и условной границей между тремя нижними и тремя верхними уровнями модели OSI. Предназначается для пересылки данных с гарантией доставки, без потерь и ошибок, и в нужной последовательности. Получаемые с сетевого уровня пакеты преобразуются в сегменты - длинные разбиваются, короткие объединяются в один. Наиболее значимым протоколом этого уровня является TCP (Transmission Control Protocol) - протокол управления передачей. Другой ключевой протокол этого уровня - UDP (User Datagram Protocol) — протокол пользовательских датаграмм.

TCP

Протокол TCP обеспечивает надежность передачи данных. Для обеспечения качества передачи, перед отправкой сегментов протокол TCP устанавливает выделенное соединение с сервером (приложением, обслуживающим данное соединение), то есть, обменивается с ним служебной информацией, подтверждающей, что другая сторона готова принять данные. Если соединение установлено, серверное приложение поднимает сОкет- конечную точку соединения, представляющую собой связку: IP адрес - протокол - порт. Порт - строка в служебном заголовке сегментов TCP, означающая какому приложению адресованы данные. За некоторыми приложениями закреплены постоянные порты, за некоторыми - нет. Какой порт сопоставлен какому приложению на конкретном хосте можно узнать из файла %windir%\System32\drivers\etc\services
В процессе передачи, принимающая сторона проверяет порядковые номера сегментов, их контрольную сумму, складывает в нужной последовательности, повторно запрашивает не полученные и регулирует интенсивность передачи отправляющей стороной (в случае если не успевает обрабатывать приходящие данные - отправка тормозится) путем пересылки друг другу служебных сегментов. Таким же образом передается информация о том, что все данные переданы и соединение завершается.

UDP

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

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

Сеансовый уровень (session) обеспечивает установление, поддержание и завершение сеанса обмена информацией между приложениями-участниками, называемого диалогом (dialog). Задачей этого уровня является выбор режима, в котором будет происходить этот обмен. Наиболее часто используются два режима: полудуплексный, позволяющий в конкретный момент времени передавать данные только в одну сторону (прием или передача - по очереди), и полнодуплексный (дуплексный), когда возможен одновременно и прием, и передача в обе стороны. Согласование процессов, проходящих на этом уровне реализуется за счет ряда протоколов, из их числа L2TP, PPTP, NetBIOS. Единица передаваемой информации на этом и вышележащих уровнях - поток данных.


PPTP

Point-to-Point Tunneling Protocol — туннельный протокол типа точка-точка. Туннелирование - способ вложения (инкапсуляция) протоколов друг в друга, когда один из них (несущий) представляет собой закрытый от внешней среды "туннель", по которому движется "поезд" - несомый протокол, "нагруженный" передаваемыми данными. Протокол-"туннель" создает защищенный канал для протокола-"поезда", следующего из пункта А в пункт Б (от одного до другого узла сети). Несомый (вложенный, инкапсулируемый) протокол относится к тому же или более низкому уровню, чем несущий. PPTP позволяет организовывать подобные туннели в IP-сетях для создания VPN (Virtual Private Network) - виртуальных частных сетей, то есть каналов связи, созданных поверх другой, более крупной сети, например Интернет, обеспечивающих связь "узел-узел", "узел-сеть" или "сеть-сеть". PPTP основывается на протоколе PPP и является его расширением - передаваемые с его помощью данные сначала вкладываются в PPP (PPPoE). Использует механизмы аутентификации и шифрования, на сегодняшний день считающиеся достаточно уязвимыми. Работает по 1723 порту TCP.


L2TP

Layer 2 Tunneling Protocol - туннельный протокол 2 (канального) уровня. Более новый, усовершенствованный протокол, созданный на базе PPTP и L2F (Layer 2 Forwarding - протокол эстафетной передачи второго уровня, разработанный компанией Cisco для создания VPN). L2TP не имеет своих средств шифрования и аутентификации, эти механизмы реализуются за счет протокола IPSec, с которым L2TP используется в связке. Это сочетание обеспечивает лучшую чем у PPTP защищенность VPN-сети. Работает по 1701 портам TCP и UDP.


NetBIOS

Network Basic Input/Output System - основная сетевая система ввода-вывода. Является программным интерфейсом разработки приложений (API) для работы с сетью, в настоящее время устаревшим, и протоколом, позволяющим устанавливать удаленные соединения типа клиент-сервер. В настоящее время используется для обеспечения совместимости со старыми приложениями. Не поддерживает маршрутизацию, то есть не может использоваться в более-менее больших сетях. Использует собственную систему имен хостов и собственные методики определения IP-адресов по ним, в частности, файл %windir%\System32\drivers\etc\LMHosts, который содержит сопоставление имен NetBIOS IP-адресам. Имена NetBIOS сопоставляются адресам TCP/IP сетевым сервисом WINS (Windows Internet Name Service) - служба имён Windows Internet. Использует TCP и UDP порты 137, 138, 139. Отличается крайне низким уровнем безопасности.

Шестой уровень - Представительский

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

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

На прикладном (application) уровне происходит взаимодействие сети и пользователя, посредством интерфейса связанных с сетью программ. Этот уровень управляет сервисами электронной почты, обмена файлов, браузерными приложениями, доступом к удаленным базам данных и прочим подобным. Здесь работают протоколы, такие как HTTP, FTP, BitTorrent, POP, IMAP, SMTP, RDP, DNS, Telnet, SSH , OSCAR и ряд других.

HTTP

HyperText Transfer Prоtocоl - протокол передачи гипертекста (т. е. наборов текстов, содержащих в себе точки перехода между ними - различного вида ссылки). Разработан как основа Интернета для получения информации с вэб-сайтов. Работа протокола строится следующим образом: программа-клиент (вэб-браузер) устанавливает TCP-соединение с сервером (стандартный номер порта - 80) и отсылает ему HTTP-запрос, например, открыть HTML-страницу по такому-то адресу, или выдать данные иного формата: картинку, звук и т.д. - это указывается в параметре HTML-запроса "Content-Type" - тип содержимого. В случае корректно установленного соединения сервер обрабатывает запрос и выдает запрошенные данные (HTTP-ответ). В случае проблем выдается сообщение об ошибке. Для защиты передаваемой информации иногда используется расширение HTTP - HTTPS (Hypertext Transfer Protocol Secure)- защищенный протокол передачи гипертекста, поддерживающий шифрование (SSL или TLS). Использует TCP, порт 443.


FTP

File Transfer Protocol - протокол передачи файлов — стандартный протокол, предназначенный для обмена файлами через TCP-соединения. Так же как и HTTP, программа ftp-клиент (браузер либо специальные программы) делает запрос серверу и получает от него ответ. В процессе соединения обычно используется аутентификация - система проверки подлинности, сравнивающая введенные пользователем данные - логин, пароль, e-mail, цифровую подпись или что-то еще, с хранящимися в базе данных сервера. После подтверждения подлинности пользователь получает доступ к запрошенному файлу. Протокол использует по умолчанию 20 и 21 порты. Существует упрощенная версия FTP - протокол TFTP, не имеющий системы проверки подлинности и базирующийся на протоколе UDP. По умолчанию использует порт 69.

BitTorrent

битовый поток — пиринговый (P2P) протокол обмена файлами через Интернет, от пользователя к пользователю, по принципу ты — мне, я — тебе. Файлы, находящиеся у разных пользователей, передаются друг другу частями с помощью программы torrent-клиента. Каждый torrent-клиент, получая эти части, в то же время раздает другим клиентам то что успел загрузить себе. Для подключения к процессу скачивания-раздачи, скачав специальный torrent-файл, программа-клиент отправляет по протоколу TCP запрос трекеру - серверу, координирующему обмен файлами между клиентами, но не участвующему в нем. В torrent-файле содержится информация о контрольной сумме (SHA-1) файла и адресе клиента. В ответ на запрос, клиент получает адреса других клиентов, раздающих скачиваемый файл и устанавливает с ними соединение. Порты по умолчанию находятся в промежутке 68816889. Чаще всего используется 6969 порт, но нередко пользователями назначаются другие.

POP

Протокол электронной почты. В настоящее время чаще всего время используется версия 3 - POP3 (Post Office Protocol Version 3). Протокол предназначен для получения электронной корреспонденции с почтового сервера по TCP-соединению. B процессе получения почты клиент проходит авторизацию - предоставление сервером прав на доступ к своему почтовому ящику. На стадии авторизации клиент так же проходит аутентификацию (подтверждает подлинность). Далее программа-клиент загружает на компьютер пользователя почту. После завершения сеанса сервер удаляет отданные клиенту письма и закрывает соединение. POP3 использует по умолчанию порт 110. Если POP3 использует шифрование по протоколам TLS или SSL, соединение идет через 995 порт.

IMAP

Internet Message Access Protocol — еще один протокол доступа к электронной почте. Предоставляет бОльшие возможности чем POP3, поскольку позволяет пользователю манипулировать корреспонденцией прямо на сервере - открывать, перемещать, удалять, не загружая ее на свой компьютер, и прямо на сервере хранить. Все эти действия выполняются при помощи различных команд, поддерживаемых IMAP, возможности которых предоставляет программа-почтовый клиент. IMAP, как и POP, базируется на протоколе TCP. Использует порт 143. Поддерживает аутентификацию и авторизацию.

SMTP

Simple Mail Transfer Protocol - простой протокол передачи почты. Используется для передачи исходящей корреспонденции клиентскими почтовыми программами на сервер. Базируется на протоколе TCP, использует порт 25.

RDP

Remote Desktop Protocol — протокол удаленного рабочего стола. Предназначен для удаленного доступа к рабочему столу или для терминального доступа к серверу приложений - в клиент-серверных сетях, когда загрузка рабочей станции (терминала, тонкого клиента) и вся вычислительная работа выполняется терминальным сервером. С терминала, в рамках RDP-сессии осуществляется только ввод и передача данных. RDP позволяет использовать подсистему печати, буфер обмена, аудиоподсистему удаленного компьютера. Соединение по RDP требует особых мер безопасности, таких как аутентификация пользователя, шифрование и обеспечение целостности данных - всё это поддерживается. Базируется на TCP, по умолчанию использует порт 3389.

DNS

Domain Name System — система доменных имён. Обеспечивает поиск хостов по известному имени или IP, используя распределенную по сетевым DNS-серверам базу данных, в которой доменным именам хостов сопосталены IP-адреса. Своеобразным локальным "мини" DNS-сервером является файл Hosts. Данные, передаваемые по протоколу DNS проверяются на целостность, без шифрования. Поверка на достоверность осуществляется с помощью сертификатов. Использует TCP и UDP, порт 53 или другие.

Telnet и SSH

Telnet (TErminaL NETwork) - протокол удаленного доступа по сети. Предназначен для связи двух "виртуальных терминалов" (конечных точек соединения), один из которых выполняет роль клиента, запрашивающего данные и отсылающего команды, другой - сервера, обслуживающего запрос и формирующего ответ клиенту. Разделение на клиент-сервер условное, т. к. обе стороны имеют равные возможности. При соединении создается восьмибитный канал, базирующийся на TCP, по которому данные передаются в текстовом виде. Для использования Telnet в Windows, необходимо включить одноименную службу, отключенную по умолчанию. Через оснастку "Включение или отключение компонентов Windows" должны быть установлены Telnet-клиент или Telnet-сервер. Возможно использование сторонних программ для подключения, например Putty. В протоколе не предусмотрено ни шифрования, ни проверки подлинности данных, поэтому он уязвим для любого вида атак, к которым уязвим транспортирующий его протокол TCP. Использует 23 порт. Схожим по функциональности с Telnet является протокол SSH (Secure SHell) - "безопасная оболочка", в отличие от Telnet, передающий данные защищённо. SSH шифрует трафик и использует его сжатие. Используя SSH можно обмениваться не только текстовой информацией, но и передавать файлы и мультимедийные данные. Базируется на TCP, порт 22.

OSCAR - сетевой протокол, обеспечивающий обмен мгновенными текстовыми сообщениями. Используется для систем AIM , ICQ и его различных клиентов: Miranda IM (Windows), QIP (Windows), &RQ (Windows), Pidgin (Windows, GNU/Linux), Licq (GNU/Linux), Kopete (GNU/Linux), qutIM (Windows, GNU/Linux, Mac OS X), Adium (Mac OS X). Базируется на TCP и UDP, порт 5190.

___________________________


Стек протоколов TCP/IP

Под стеком TCP/IP, иначе - моделью DoD, понимают логическую модель сетевого взаимодействия протоколов различных уровней. В нем, в отличие от модели OSI выделяют их 4.

Первому, прикладному уровню стека TCP/IP (Application Layer) соответствуют 7 (прикладной), 6 (представительский) и 5 (сеансовый) уровни модели OSI. Уровни объединены по принципу того, что работа здесь организуется на уровне пользовательских приложений. Не зависит от сетевого оборудования.

Второму, транспортному уровню (Transport Layer) соответствует 4 (траснспотрый) модели OSI. Протоколы этого уровня обеспечивают сохранность целостности данных при передаче и управляют открытием и закрытием соединений.

Третьему, уровню интернета или сетевому (Internet Layer) - соответствует 3 (сетевой) OSI. Этот и нижележащий уровни полностью зависят от сети. Протоколы реализуются сетевым оборудованием. Управляет адресацией устройств и маршрутизацией.

Четвертому, уровню доступа к сети или канальному (Network Access layer) - соответствуют 2 (канальный) и 1 (физический). Управляет физической пересылкой данных по сети.

Предназначенный для пересылки поток данных с прикладного уровня отправляется на транспортный, где, согласно требованиям протокола (на примере TCP), делится на сегменты нужной длины, к которым добавляются служебные заголовки, содержащие информацию о том, в каком порядке эти сегменты собирать. На уровне интернета сегменты преобразуются в IP-пакеты и "оборачиваются" служебными данными этого уровня (сюда входят адреса получателя, отправителя и другое), поверх данных транспортного уровня. Ниже, на канальном уровне, происходит следующая инкапсуляция, поверх данных уровня интернета. Таким образом вокруг полезных данных пакета формируется многослойная служебная оболочка. После этого осуществляется пересылка получателю. У получателя происходит обратный процесс - снятие слоев служебной оболочки на каждом из уровней - деинкапсуляция.


Сетевая подсистема Windows

Сетевое программное обеспечение Windows существует как поставляемое в составе операционной системы, так и созданное сторонними разработчиками и условно разделено на четыре основных типа:

• Протоколы
• Драйвера
• Службы
• API

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

Сетевые драйвера

По принципу действия сетевые драйвера условно делятся на 2 основные группы:

• обеспечивающие контакт операционной системы и сетевого оборуждования (NDIS)
• обеспечивающие передачу данных на сетевом и транспортном уровнях модели OSI (TDI)

NDIS (Network Driver Interface Specification) - спецификация интерфейса сетевых драйверов, одна из стркутур ядра Windows и основной компонент сетевой подсистемы. Состоит из файла Ndis.sys и ряда других драйверов, использующих (импортирующих) его функции. Назначение NDIS - обеспечение контакта сетевого оборудования с операционной системой. Представляет собой виртуальтную оболочку (капсулу), "разграничивающую" среду работы драйверов сетевого оборудования от среды Windows и обеспечивающую контакт этих двух сред. Благодаря NDIS, прикладные программы, использующие сеть абстрагированы (независимы) от того, какое сетевое оборудование установлено на компьютере, каким образом предоставляется доступ к интернету, топологии сети и тд.

TDI (Transport Driver Interface) - транспортный интерфейс драйверов режима ядра - система взаимодействия сетевых драйверов с различными транспортными протоколами, позволяющая им не зависеть друг от друга.

В зависимости от выполнения типовых задач, сетевые драйвера подразделяются на 3 уровня:

• Нижний уровень. Miniport drivers - Драйвера сетевых адаптеров или минипорт-драйвера, обеспечивают работу сетевого адаптера и прием/отправку данных;

• Средний уровнень. Intermediate drivers - промежуточные драйвера и драйвера-фильтры - маршрутизируют, фильтруют, перехватывают, модифицируют трафик;

• Верхний уровень. Protocol drivers - драйвера протоколов. Обрабатывают и преобразуют потоки данных на различных уровнях модели OSI, например, tcpip.sys, http.sys, netbt.sys и тд.

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

В различных ОС Windows используются разные версии NDIS:

Операционная система|Версия NDIS|Имя файла
Windows 2000 | 5.0| ndis.sys
Windows XP | 5.1| ndis.sys
Windows Server 2003 SP1 |5.1| ndis.sys
Windows Server 2003 SP2 |5.2| ndis.sys
Windows Vista|6.0|ndis.sys
Windows Server 2008|6.1|ndis.sys
Windows 7|6.20|ndis.sys
Windows 8|6.30| ndis.sys
_____________________________

Сетевые API

Windows NT обеспечивает поддержку приложений, использующих сеть за счет различных сетевых API (application programming interfaces) - базовых функций средств разработки сетевых приложений, за счет которых приложение может взаимодействоваь с операционной системой. Область использования API зависит от его характеристик и нужд конкретного приложения. Подключение API к прикладной программе происходит через динамические библиотеки (dll) Windows.

Сетевые API условно разделены на группы, в зависимоти от назначения и способа получения доступа к сети:

Windows Sockets API (WSA, Winsock) - представляет собою интерфейс (средство, обеспечивающее контакт) между сетевым клиентским программным обеспечением и транспортными протоколами (например TCP/IP или NetBEUI для сетей, базирующихся на NetBIOS), выполняющими передачу данных. Основные функции Windows Sockets экспортируются библиотекой Ws2_32.dll.

Версии библиотеки WinSock:

WinSock 1.1
WinSock 2 (2.2)

В WinSock 2, чтобы реализовать всевозможные сетевые потребности приложений, Ws2_32.dll использует другие модули (DLL), связанные друг с другом по цепочке и зависящие друг от друга. В зависимости от назначения их делят на группы:

• Провайдеры (поставщики) транспортных сервисов (TSP)
• Провайдеры пространств имен (NSP)

Провайдеры транспортных сервисов - TSP (transport service providers) обеспечивают установление связи и передачу данных по сети, провайдеры пространств имен - NSP (namespace service providers), отвечают за разрешение имен, в ходе которого символьное имя хоста преобразуется в его числовой адрес в сети. (примеры - DNS (Domain Name System), WINS (Windows Internet Name Service)). Подключение провайдеров к WinSock осуществляется через специальный Интерфейс Провайдеров Сервисов - SPI (Service Provider Interface).

Различают базовые и многоуровневые - LSP (Layered Service Provider) провайдеры сервисов. Суть технологии LSP состоит в том, что любое обращение к WinSock API будет передано по цепочке всем зарегистрированным модулям. Каждый из этих модулей может модифицировать принимаемые/передаваемые данные и/или адреса, либо вообще сбросить выполнение запроса. Повреждение или выпадение из структуры какого либо из зарегистрированных модулей приводит к неработоспособности всей структуры WinSock и проблемам с доступом в интернет.

Технология WinSock поддерживает расширение функциональности - дает возможность разработчикам ПО создавать и регистрировать свои TSP- и NSP-сервисы, что делает возможным внедрение вредоносных компонентов в ее структуру.

WinSock 2 поддерживает управление качеством обслуживания (Quality of Service, QoS)- технологию перераспределения ресурсов сети в зависимости от требований к надежности и очередности доставки пакетов различных видов трафика (например, увеличение полосы пропускания канала (bandwidth) для потокового видео, уменьшение времени задержки передачи пакета для голосового трафика и тд).

Основным средством коммуникации в WinSock являются сОкеты - конечные точки соединения, средство контакта двух процессов, обменивающихся данными. В зависимости от типа приложения различают клиентские сокеты, созданные клиентскими приложениями, и серверные. Сокет представляет собой логическую связку: IP адрес узла, с которым происходит обмен данными + протокол, по которому происходит соединение + порт операционной системы, сопоставленный приложению. Для создания сокетов WinSock использует дескрипторы файлов (handle) - уникальные числовые идентификаторы всех обьектов в Windows, для чего обращается к функциям AFD (Ancillary Function Driver) драйвера файловой системы Afd.sys.

• Ещё одна группа сетевых API обеспечивает Remote Procedure Call (RPC) - удалённый вызов процедур. Технология, позволяющая приложению RPC выполнять часть своего функционала на локальном компьютере (местно), а часть (например обработка данных, печать и тп.) - на удаленном, иногда на отличной от Windows платформе. Для вызова процедур расположенных удаленно, приложение загружает специальные библиотеки (DLL), обеспечивающие преобразование переданных параметров в формат, пригодный для передачи по сети (маршалинг или сериализация), отправку данных и прием ответа.

БОльшая часть сетевых служб Windows является приложениями RPC. Работа RPC чаще всего базируется на протоколах TCP, UDP, HTTP. Подключения библиотек сторонних разработчиков, начиная с Windows XP и выше - не поддерживается (но в отдельных реализациях RPC такая возможность есть). Для защиты данных при передаче используются технологии аутентификации и шифрования.

Другие группы API отвечают за доступ приложений к интернету и возможность использовать сервисы FTP, HTTP, обеспечивают связь клиент - сервер с использованием именованных каналов (Named Pipes) и почтовых ящиков (Mail slots), сюда же входят NetBIOS API (для обратной совместимости MS-DOS программ, 16-разрядной Windows и OS/2 и передачи запросов в формате SMB), RTC API (специфичные для телекоммуникационной связи), DCOM API (обеспечивающие доступность по сети для COM-объектов - компонентов программного обеспечения, доступных для одновременного использования многими программами), стандартные API, обеспечивающие функции ввода/вывода на удаленной машине (открытия, закрытия, чтения, записи и тп.), API доступа к удаленным файловым системам (Wnet и Net) и прочие.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу