Принципы объединения сетей на основе протоколов сетевого уровня

Обновлено: 08.05.2024

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

Классификация

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

Модель OSI

Итак, эта эталонная модель распределяет сетевые функции по семи уровням:

  • Уровень 7. Прикладной.
  • Уровень 6. Представления данных.
  • Уровень 5. Сеансовый.
  • Уровень 4. Транспортный.
  • Уровень 3. Сетевой.
  • Уровень 2. Канальный.
  • Уровень 1. Физический.

При передаче информации в модели OSI используется 3 типа адресов:

  • Физический адрес или MAC -адрес, который записывается изготовителем на сетевой плате и однозначно определяет физическое устройство.
  • Сетевой (логический) адрес, который определяет сегмент сети, к которому присоединено устройство и его логический порядковый номер в сегменте.
  • Служебный (логический) адрес, определяющий порт или сокет для служб провайдера или сервера.

Рис. 1. Многоуровневая архитектура связи

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

Топология сетей описывает физическое расположение программно-аппарат­ных компонентов (физическая топология) и методы перемещения данных в среде (логическая топология). К ним относятся:

· общая шина ( bus );

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

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

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

Топология кольца имеет ряд недостатков: его трудно поддер­живать и переконфигурировать в больших сетях. Кроме того, не­поладки в кабеле или одной станции кольца фатальны для всего кольца.

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

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

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

Канальный уровень определяет правила совместного ис­ пользования узлами сети физического уровня. Протоколы этого уровня определяют, каким образом биты информации организу­ ются в логические последовательности (кадры, фреймы), и распо­ложение и вид контрольной информации (заголовки и концевики). Этот уровень структурирован по двум подуровням: управлению доступом к среде - MAC ( Media Access Control ) и управлению ло­ гической связью - LLC ( Logical Link Control ).

МАС-подуровень поддерживает множественный доступ к каналу связи, осуществляет прием и передачу информационных и управляющих кадров, обнаруживает ошибки по проверочной по­ следовательности кадров либо по его длине. Физиче ский MAC -адрес сетевой карты помещается в заголовок кадра и используется для идентификации приемника и/или источника.

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

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

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

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

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

Стандарт IEEE 802

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

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

802.3 – локальные сети CSMA/CD - множественный доступ с оп­ределением несущей и определением конфликтов (фактически Ethernet );

802.6 – региональные сети MAN ( Metropolitan Area Network );

802.8 – техническая консультационная группа по оптоволоконным сетям;

802.11 – беспроводные сети;

802.16 – беспроводной широкополосный доступ.

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


Разберемся в базовых протоколах с стандартах

Группа стандартов Ethernet IEEE 802.3

Для подключения клиентских устройств рекомендуется поддержка следующих стандартов:

IEEE 802.3z (1 Гбит/с);

IEEE 802.3u (100 Мбит/с);

IEEE 802.3 (10 Мбит/с).

Для подключения активного сетевого оборудования между собой рекомендуется поддержка следующих стандартов:

IEEE 802.3z (1 Гбит/с);

IEEE 802.3ae-2002 (10 Гбит/с);

IEEE 802.3ba (40 Гбит/с) — да, время пришло.

Питание по PoE (Power over Ethernet)

Если для подключения оконечных сетевых устройств нужно active PoE, то необходимо предусмотреть коммутаторы доступа с поддержкой нужных стандартов active PoE. Для наглядности ниже таблица по основным характеристиками active PoE:

Стандарт

Мощность на PSE (Power Supply Equipment), Вт

Мощность на PD (Powered Device), Вт

IEEE 802.3af (PoE)

IEEE 802.3at (PoE+)

IEEE 802.3bt Type 3 (PoE++)

Следует различать две характеристики мощности:

PSE (Power Supply Equipment) — мощность, которую коммутатор готов выдать на порт;

PD (Powered Device) — мощность, которая дойдет до оборудования (с учетом потерь).

VLAN (Virtual Local Area Network)

Не рекомендуется использовать VLAN 1 для передачи пользовательских данных. Рекомендуется использовать диапазон VLAN'ов с 2 по 1000 включительно.

Деление устройств на VLAN'ы рекомендуется выполнять из соображений получения общего сетевого доступа для последующего применения ACL. В большинстве случаев это существенно упростит задачу конфигурирования межсетевого экрана.

Протоколы обмена базой данных VLAN'ов

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

VTP (VLAN Trunk Protocol);

GVRP (Generic VLAN Registra on Protocol).

DTP (Dynamic Trunking Protocol)

DTP рекомендуется отключить, тип порта рекомендуется указать явно как access или trunk.

LACP (Link Aggregation Control Protocol)

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

STP (Spanning Tree Protocol)

Для минимизации использования проприетарных протоколов в сети, рекомендуется применение открытого протокола MSTP (Multiple Spanning Tree Protocol, IEEE 802.1s) с грамотным построением дерева STP. Перечислим основные рекомендации, которые помогут ничего не забыть:

На всех портах типа access рекомендуется включить port edge с двумя целями:

b) Быстрое включение передачи пользовательских данных при включении устройства в порт коммутатора;

На всех портах типа access рекомендуется включить stp guard root, а также bpdu guard, чтобы при появлении BPDU-пакета порт переходил в состояние error disabled;

На downlink портах коммутаторов ядра распределения рекомендуется включить технологии root guard;

Для настройки портов сторонних подключений, таких как провайдер Интернета, рекомендуется включить фильтрацию BPDU (bpdu lter);

Uplink порты коммутаторов распределения к резервному коммутатору ядра должны быть в роли Alternate;

Нежелательно использование half duplex портов;

На всех trunk портах рекомендуется явно указать тип порта point-to-point, чтобы гарантировать быструю сходимость протокола STP;

Storm-control

DHCP snooping

На всех коммутаторах (и на всех VLAN-ах) рекомендуется включить DHCP snooping. Все порты коммутаторов должны быть недоверенными, кроме uplink портов и портов подключения к DHCP серверу.

Dynamic ARP inspection

На всех VLAN'ах, где включен DHCP snooping и нет оконечных сетевых устройств со статическими настройками IP-адресации, рекомендуется включить Dynamic ARP inspection.

Для стабильной работы протокола некоторые производители предусматривают использование FTP или TFTP серверов для резервного хранения базы данных механизма Dynamic ARP inspection. Таким образом, в случае перезагрузки коммутатора оборудование сможет восстановить базу данных из резервной копии на FTP/TFTP сервере.

LLDP (Link Layer Discovery Protocol, IEEE 802.1AB)

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

Proxy ARP

Proxy ARP (RFC 1027) лучше отключить или использовать осознанно, так как это позволяет не использовать адрес шлюза в сетевых настройках оконечных сетевых устройств, что может дать ложные представление о корректности сетевых настроек. Например, если в сетевых настройках принтера нет адреса шлюза по умолчанию или он некорректный, но Proxy ARP позволит принтеру корректно работать. При замене оборудования или выключении Proxy ARP неправильно настроенные устройства не будут работать корректно.

VRRP (Virtual Router Redundancy Protocol)

Для объединения двух маршрутизаторов в один виртуальный маршрутизатор и назначения общего виртуального IP-адреса, рекомендуется использовать открытый протокол VRRP (RFC 5798).

OSPF (Open Shortest Path First)

Для осуществления обмена IP маршрутами между L3 устройствами сети рекомендуется использовать протокол OSPF (RFC 2328, RFC 5709). Для достижения максимально быстрой сходимости протокола OSPF рекомендуется использование протокола BFD (Bidirectional Forwarding Detection, RFC 5880, RFC 5881) совместно с OSPF. BFD позволяет сократить время обнаружения проблемы на канале до 50 мс.

Наиболее общие настройки сетевого оборудования

Доступ на активное сетевое оборудование

Для аутентификация на оборудование рекомендуется применение RADIUS сервера. В случае недоступности RADIUS сервера должна применяться локальная аутентификация;

Пароль от локальной учетной записи рекомендуется хранить на оборудовании в зашифрованном виде;

Порт для подключения по протоколу SSH рекомендуется заменить со стандартного TCP/22 на кастомный TCP/XXXX. Эта мера не так значительна, но мы стараемся использовать все возможности для увеличения времени потенциального взлома;

Для доступа на активное сетевое оборудование рекомендуется предусмотреть ACL (Access- Control List), определяющие адреса устройств, с которых разрешено подключаться к оборудованию;

Типы портов (L2)

Access порт – это порт, который передает и принимает только нетегированные фреймы.

Trunk порт – это порт, который передает и принимает тегированные фреймы, без тега передается и принимается только native VLAN.

Гибридный порт – передает и принимает тегированные и нетегированные фреймы, при этом в качестве нетегированного фрейма можно передавать не native VLAN. Может потребоваться при подключении некоторых типов оконечных устройств, таких как IP-телефоны, точки доступа Wi-Fi (в режиме local switched).

Рекомендации по настройке access и гибридных портов:

ARP-inspection (только если устройство получает IP-адрес динамически);

rate-limit (multicast, broadcast);

switch off SNMP trap, SYSLOG;

выключить DTP negotiation;

IEEE 802.1x (при необходимости авторизации);

Port-Security (при необходимости).

Рекомендации по конфигурации trunk портов между коммутаторами

В качестве native VLAN рекомендуется использовать дефолтный VLAN 1;

Рекомендуется включить SNMP trap и логирование SYSLOG (изменение статусов Up, Down);

На всех trunk портах рекомендуется явно указать тип порта point-to-point;

На всех trunk портах рекомендуется разрешить все VLAN'ы, которые используются на коммутаторе.

Рекомендации к конфигурации ACL

Для уменьшения “площади атаки” рекомендуется разработать и внедрить правила ACL между различными сегментами сети. Трафик, не разрешенный в явном виде, рекомендуется блокировать. Для простоты управления и визуализации правил удобно использовать матрицу правил, например:

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

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

Сетевой уровень — доставка пакета :

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

На рис. 11.8 показаны четыре сети, связанные тремя маршрутизаторами . Между узлами А и В данной сети пролегает два маршрута : первый — через маршрутизаторы 1 и 3, а второй — через маршрутизаторы 1, 2 и 3.

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

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

На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне , в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов — Address Resolution Protocol , ARP . Иногда их относят не к сетевому уровню , а к канальному , хотя тонкости классификации не изменяют сути.

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

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

На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень ( Transport layer ) обеспечивает приложениям или верхним уровням стека — прикладному и сеансовому — передачу данных с той степенью надежности , которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем . Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов .

Транспортный уровень — обеспечение доставки информации с требуемым качеством между любыми узлами сети:

Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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

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

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

Основные принципы построения компьютерных сетей

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

Линия

Топология линия фото

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

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

Топология шина фото

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

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

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

Кольцо

Топология кольцо фото

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

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

Многосвязная

Топология многосвязная фото

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

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

Звезда

Топология звезда фото

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



Seal

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

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

Установка мини-АТС открывает перед пользователями широкий спектр возможностей, в том числе и постоянный контроль над работой системы, ведение отчетности по исходящим и входящим звонкам, и, что немаловажно, минимизацию расходов на услуги офисной связи. Основное назначение АТС, которая согласно классификации может быть аналоговой или цифровой, состоит в коммутации сигналов, а также передаче данных между абонентами. К […]

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

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

Руководство по стеку протоколов TCP/IP для начинающих

Cтек протоколов TCP/IP широко распространен. Он используется в качестве основы для глобальной сети интернет. Разбираемся в основных понятиях и принципах работы стека.

Основы TCP/IP

Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол интернета) — сетевая модель, описывающая процесс передачи цифровых данных. Она названа по двум главным протоколам, по этой модели построена глобальная сеть — интернет. Сейчас это кажется невероятным, но в 1970-х информация не могла быть передана из одной сети в другую, с целью обеспечить такую возможность был разработан стек интернет-протоколов также известный как TCP/IP.

Разработкой этих протоколов занималось Министерство обороны США, поэтому иногда модель TCP/IP называют DoD (Department of Defence) модель. Если вы знакомы с моделью OSI, то вам будет проще понять построение модели TCP/IP, потому что обе модели имеют деление на уровни, внутри которых действуют определенные протоколы и выполняются собственные функции. Мы разделили статью на смысловые части, чтобы было проще понять, как устроена модель TCP/IP:


Уровневая модель TCP/IP

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

Канальный уровень (link layer)

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

Этот уровень также вычисляет максимальное расстояние, на которое пакеты возможно передать, частоту сигнала, задержку ответа и т.д. Все это — физические свойства среды передачи информации. На канальном уровне самым распространенным протоколом является Ethernet, но мы рассмотрим его на примере в конце статьи.

Межсетевой уровень (internet layer)

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

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

Маска подсети и IP-адреса


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

Протокол интернета — IP (Internet Protocol) используется маршрутизатором, чтобы определить, к какой подсети принадлежит получатель. Свой уникальный IP-адрес есть у каждого сетевого устройства, при этом в глобальной сети не может существовать два устройства с одинаковым IP. Он имеет два подвида, первым был принят IPv4 (IP version 4, версии 4) в 1983 году.

IPv4 предусматривает назначение каждому устройству 32-битного IP-адреса, что ограничивало максимально возможное число уникальных адресов 4 миллиардами (2 32 ). В более привычном для человека десятичном виде IPv4 выглядит как четыре блока (октета) чисел от 0 до 255, разделенных тремя точками. Первый октет IP-адреса означает его класс, классов всего 4: A, B, C, D.

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

Так как IPv6 адреса длинные, их разрешается сокращать по следующим правилам: ведущие нули допускается опускать, например в адресе выше :00FF: позволяется записывать как :FF:, группы нулей, идущие подряд тоже допустимо сокращать и заменять на двойное двоеточие, например, 2DAB:FFFF::01AA:00FF:DD72:2C4A. Допускается делать не больше одного подобного сокращения в адресе IPv6.

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

ICMP и IGMP


ICMP никогда не вызывается сетевыми приложениями пользователя, кроме случаев диагностики сети, к примеру, пинг (ping) или traceroute (tracert). ICMP не передает данные, это отличает его от транспортных TCP и UDP, расположенных на L3, которые переносят любые данные. ICMP работает только с IP четвертой версии, с IPv6 взаимодействует ICMPv6.

Сетевые устройства объединяются в группы при помощи IGMP, используемый хостами и роутерами в IPv4 сетях. IGMP организует multicast-передачу информации, что позволяет сетям направлять информацию только хостам, запросившим ее. Это удобно для онлайн-игр или потоковой передаче мультимедиа. IGMP используется только в IPv4 сетях, в сетях IPv6 используется MLD (Multicast Listener Discovery, протокол поиска групповых слушателей), инкапсулированный в ICMPv6.

Транспортный уровень (transport layer)

Постоянные резиденты транспортного уровня — протоколы TCP и UDP, они занимаются доставкой информации.

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

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

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

Протоколы L3 не интерпретируют информацию, полученную с верхнего или нижних уровней, они служат только как канал передачи, но есть исключения. RSVP (Resource Reservation Protocol, протокол резервирования сетевых ресурсов) может использоваться, например, роутерами или сетевыми экранами в целях анализа трафика и принятия решений о его передаче или отклонении в зависимости от содержимого.

Прикладной уровень (application layer)

В модели TCP/IP отсутствуют дополнительные промежуточные уровни (представления и сеансовый) в отличие от OSI. Функции форматирования и представления данных делегированы библиотекам и программным интерфейсам приложений (API) — своего рода базам знаний. Когда службы или приложения обращаются к библиотеке или API, те в ответ предоставляют набор действий, необходимых для выполнения задачи и полную инструкцию, каким образом эти действия нужно выполнять.

Зачем нужен порт и что означает термин сокет

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

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


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

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

После ознакомления с уровневой структурой модели становится понятно, что информация не может передаваться между двумя компьютерами напрямую. Сначала кадры передаются на межсетевой уровень, где компьютеру отправителя и компьютеру получателя назначается уникальный IP. После чего, на транспортном уровне, информация передается в виде TCP-фреймов либо UDP-датаграмм.

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

Point-to-Point протоколы


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

У PPP есть два подвида — PPPoE (PPP по Ethernet) и PPPoA (PPP через асинхронный способ передачи данных — ATM), интернет-провайдеры часто их используют для DSL соединений.

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

Заключение

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

Сама модель остается неизменной, в то время как стандарты протоколов могут обновляться, что еще дальше упрощает работу с TCP/IP. Благодаря всем преимуществам стек TCP/IP получил широкое распространение и использовался сначала в качестве основы для создания глобальной сети, а после для описания работы интернета.

Читайте также: