Сетевые средства Linux

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

Показывать лекцию целиком

Содержание:

  • Многоуровневый подход к организации сетевых взаимодействий.
  • Средства настройки сетевой подсистемы Linux.
  • Многоуровневый подход к организации сетевых взаимодействий

    . Сложности связаны как с преобразованием "данные-сигналы-данные", так и с передачей сигнала по гетерогенным сетям. Для наглядной иллюстрации процесса передачи данных в сети Интернет можно, например, с помощью команды traceroute (tracert в Windows), изучить список промежуточных узлов, через которые проходят сетевые пакеты на пути от компьютера пользователя до какого-нибудь Интернет-ресурса (пример 2.1)

    $ traceroute www.kernel.org 
     traceroute to www.kernel.org (130.239.17.4), 30 hops max, 60 byte packets 
      1  192.168.240.1 (192.168.240.1)  78.016 ms  77.871 ms  77.795 ms 
      2  * * * 
      3  * * * 
      4  core.10g.net.belpak.by (93.84.122.105)  109.257 ms  109.196 ms  109.132 ms 
      5  core.10g.net.belpak.by (93.84.122.18)  117.289 ms  117.227 ms  117.164 ms 
      6  193.232.249.102 (193.232.249.102)  108.876 ms  12.377 ms  12.257 ms 
      7  po31.l3-gw-1.mck.net.belpak.by (193.232.249.78)  22.113 ms  16.070 ms  15.949 ms 
      8  * * * 
      9  83.229.226.101 (83.229.226.101)  55.643 ms msk-b4-hq-ae0.main.synterra.ru
            (83.229.225.5)  55.571 ms 83.229.226.101 (83.229.226.101)  55.512 ms 
     10  ae7.RT.MR.MSK.RU.retn.net (87.245.253.169)  55.450 ms  55.388 ms  55.323 ms 
     11  ae2-6.RT.TC1.STO.SE.retn.net (87.245.233.134)  70.087 ms  70.025 ms  67.387 ms 
     12  * * * 
     13  t1fre-ae0-v1.sunet.se (130.242.83.37)  98.493 ms umu-g.sunet.se (193.11.0.226)
            99.859 ms t1fre-ae0-v1.sunet.se (130.242.83.37)  90.245 ms 
     14  umu-g.sunet.se (193.11.0.226)  112.213 ms u2k-te.gw.umu.se (130.239.0.201)
            112.181 ms umu-g.sunet.se (193.11.0.226)  112.137 ms 
     15  pub4.kernel.org (130.239.17.4)  112.108 ms u2k-te.gw.umu.se (130.239.0.201)
            117.516 ms  117.392 ms

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

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

    В данном пособии используется терминология (нестрогая) модели стека протоколов TCP/IP, которая включает четыре уровня:

  • Уровень сетевых интерфейсов (доступа к сети). В рамках модели TCP/IP на данном уровне решаются две задачи: упаковки единиц передачи вышележащего уровня во фреймы (единицы передачи данного уровня) и получения физических адресов (MAC-адресов).
  • Сетевой уровень (интернет-уровень, межсетевой уровень). Обеспечивает передачу пакетов (единиц передачи сетевого уровня) между гетерогенными сетями на основе IP-адресации (сетевой адресации) и группировки узлов в подсети. Основным протоколом данного уровня является IP (Internet Protocol).
  • Транспортный уровень. Обеспечивает для фрагментов данных как гарантированную доставку (протокол TCP, единицы передачи - сегменты), так и доставку по возможности (протокол UDP, единицы передачи - датаграммы ). На данном уровне решается задача использования сетевого подключения несколькими приложениями (порты).
  • Прикладной уровень. Включает средства преобразования и протоколы представления информационных потоков, непосредственно взаимодействующие с приложениями пользователя.
  • Пример 2.2. Типичный процесс взаимодействия между сетевыми узлами по прикладному протоколу, использующему в качестве транспорта протокол TCP, можно описать следующим образом на узле-отправителе:

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

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

    Средства настройки сетевой подсистемы Linux

    Сетевая поддержка в .

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

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

    "Традиционные" . В данном пакете присутствуют команды: управления сетевыми интерфейсами (ifconfig), таблицей маршрутизации (route), таблицей разрешения имен (arp), сетевой статистики (netstat), статусом сетевых устройств (mii-tool) и т.д. Пакет net-tools использовался для управления сетью до ядра 2.4.; включается в современные дистрибутивы Linux для совместимости.

    Команды пакета . Пакет iproute2 разработан для управления параметрами TCP/IP и контроля трафика в Linux (в частности маршрутизация и качество обслуживания). Для управления сетью в современных ядрах Linux (ядра версии 2.4-2.6) рекомендуется использовать средства данного пакета вместо команд net-tools.

    Пакет iproute2 включает 3 основные утилиты:

    -ip - команда для просмотра параметров и настройки сетевых интерфейсов, IP-адресов, таблиц маршрутизации, правил маршрутизации, таблиц преобразования, IP-туннелей и т.д.

    -tc (traffic control) - команда для просмотра и настройки параметров управления трафиком (классификация трафика, дисциплины управления очереди для различных классов трафика)

    -ss - команда для просмотра текущих соединений и открытых портов (аналог netstat ).

    Для настройки сети при загрузке системы (а также как средство настройки работающей системы) в Linux обычно используются наборы конфигурационных файлов и обрабатывающих их скриптов и программ. В дистрибутивах применяются различные способы инициализации сетевой подсистемы, например Debian использует пакет ifupdown (см. ), а большинство RPM -основанных дистрибутивов — набор файлов вида ifup-*, ifdown-*, ifcfg-*, расположенных в каталоге /etc/sysconfig/network-scripts/ и т.п.

    , совместимый с таким графическими окружениями, как .

    Для управления межсетевым экраном и средством манипулирования сетевыми пакетами (в том числе трансляция сетевых адресов - NAT) Netfilter стандартно используется утилита командной строки iptables и ). Над Netfilter/iptables существуют различные надстройки (в том числе и GUI -средства), например, UFW/Gufw — простые утилиты настройки межсетевого экрана уровня узла (host-based), используемые в дистрибутиве . Примерами программ для настройки межсетевого экрана также могут служить такие проекты как: , , и т. д.

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

  • Команда . Простейшее средство проверки работоспособности удаленного узла.
  • Команда traceroute. Позволяет отобразить все промежуточные узлы, которые проходят пакеты на пути к целевому узлу.
  • Утилита tcpdump. Используется для перехвата и анализа сетевого трафика.
  • Более подробно эти и некоторые другие средства диагностики сети описаны в и .

    Ключевые термины

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

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

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

    IP (Internet Protocol) — маршрутизируемый протокол сетевого уровня без установления соединения.

    Сокет — пара IP-адрес: порт, однозначно определяющая сетевой процесс; точка доступа прикладного процесса к сети.

    Краткие итоги

  • К решению задачи обеспечения сетевых взаимодействий применяют многоуровневый иерархический подход, заключающийся в разбиении процесса коммуникации на набор уровней с четко определенными способами взаимодействия уровней на одном узле и на соседних узлах.
  • В данном пособии используется терминология модели стека протоколов TCP/IP, включающая следующие уровни: уровень сетевых интерфейсов, сетевой уровень, транспортный уровень и прикладной уровень.
  • Для управления сетевой подсистемой Linux существует множество средств, наиболее известными из которых являются средства пакетов net-tools, iproute2, Netfilter/iptables, утилиты диагностики сетевых подключений (ping, traceroute, tcpdump ), а также графические средства настройки сетевой подсистемы (например, NetworkManager ).
  • Вернуться к учебному плану