19 Работа с сетью, модель ISO OSI Маршрутизация тр
19 Работа с сетью, модель ISO/OSI. Маршрутизация трафика¶
Сетевое взаимодействие компьютеров предполагает множество аспектов, связанных с передачей данных, конфигурацией сетевых интерфейсов, маршрутизацией, и анализом трафика. У большинства современных операционных систем есть встроенные инструменты для работы с сетью, такие как ifconfig, ip, ping, netstat, и другие. Основные команды:
ifconfig
: Настройка сетевых интерфейсов. Пример: ifconfig eth0 up — включить сетевой интерфейс eth0.ip
: Инструмент для управления IP-адресами, маршрутизацией, туннелями и устройствами. Пример: ip addr show — показать IP-адреса и сетевые интерфейсы.ping
: Проверка доступности хоста (обычно используется для диагностики сетевых проблем). Пример: ping google.com — проверить доступность Google.netstat
: Отображает сетевую статистику, состояние соединений, маршрутизацию и др. Пример: netstat -an — показать все активные соединения и их состояние.traceroute
: Отслеживание маршрута к хосту. Пример: traceroute google.com — показать маршрут до Google.
Модель OSI (Open Systems Interconnection)
Модель OSI — это концептуальная схема, разработанная для стандартизации функций сетевого взаимодействия в семи уровнях.
Каждый уровень модели OSI отвечает за определенные сетевые функции:
- Физический уровень (Physical Layer):
- Определяет электрические и физические стандарты устройств. Пример: кабели, разъемы, напряжение.
- Канальный уровень (Data Link Layer):
- Обеспечивает надежную передачу данных через физический канал.
- Делится на подуровни: LLC (Logical Link Control) и MAC (Media Access Control). Пример: Ethernet, MAC-адреса.
- Сетевой уровень (Network Layer):
- Определяет пути для передачи данных между узлами (роутинг). Пример: IP-адреса, маршрутизация.
- Транспортный уровень (Transport Layer):
- Обеспечивает надежную передачу данных между процессами. Пример: TCP, UDP.
- Сеансовый уровень (Session Layer):
- Управляет диалогом и синхронизацией между приложениями. Пример: сессии, RPC (вызов удаленных процедур).
- Представительный уровень (Presentation Layer):
- Отвечает за преобразование и кодирование данных. Пример: шифрование, сжатие данных.
- Прикладной уровень (Application Layer):
- Обеспечивает доступ приложений к сетевым службам.
- Пример: HTTP, FTP, SMTP.
Маршрутизация трафика
Маршрутизация является процессом выбора маршрутов для передачи сетевых пакетов через сеть. Основные задачи маршрутизации включают выбор оптимального пути для передачи данных и управление маршрутизаторами для обеспечения эффективной доставки пакетов.
Основные компоненты маршрутизации:
- Маршрутизаторы (routers): Устройства, которые пересылают пакеты данных между различными сетями. Маршрутизаторы используют таблицы маршрутизации для определения наилучшего пути передачи.
- Таблицы маршрутизации (routing tables): Содержат информацию о том, куда отправлять пакеты данных. Пример строки таблицы маршрутизации: 0.0.0.0/0 via 192.168.1.1 — указывающий, что для любых пакетов, которые не соответствуют другим маршрутам, используется шлюз 192.168.1.1.
- Протоколы маршрутизации (routing protocols): Используются для обмена информацией о маршрутах между маршрутизаторами. Примеры протоколов: RIP (Routing Information Protocol), OSPF (Open Shortest Path First), BGP (Border Gateway Protocol).
Основные команды маршрутизации в Linux:
- Добавление маршрута:
- ip route add [адрес сети] via [шлюз] — добавить маршрут. Пример: ip route add 192.168.2.0/24 via 192.168.1.1.
- Удаление маршрута:
- ip route del [адрес сети] — удалить маршрут. Пример: ip route del 192.168.2.0/24.
- Просмотр таблицы маршрутизации:
- ip route show или route -n — отобразить таблицу маршрутизации.