Сетевые технологии и протоколы

Лекция 3

Сетевой уровень

Пономаренко Роман
@rerand0m
rerandom@ispras.ru




2026

Сетевой уровень

Прикладной
Представления
Сеансовый
Транспортный
Сетевой
Канальный
Физический
  • Объединение сетей
  • Маршрутизация
    • Идентификация сетей
    • И всех участников глобальной сети
  • Пример протоколов: IP

Ip address

ip address struct

Ip mask

ip mask struct

Классовая маршрутизация (устарело)

  • Класс A - 0.0.0.0-127.255.255.255 (первый бит равен 0)
  • Класс B - 128.0.0.0-191.255.255.255 (первые биты 1 0)
  • Класс C - 192.0.0.0-223.255.255.255 (первые биты 1 1 0)
  • Класс D - 224.0.0.0-239.255.255.255 (первые биты 1 1 1 0)
    • используются для многоадресной рассылки (до сих пор)
  • Класс E - 240.0.0.0-255.255.255.255 (первые биты 1 1 1 1)
    • запрещены к использованию

Некоторые зарезервированные диапазоны (актуально)

  • 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12 - используются в частных сетях
  • 127.0.0.0/8 - loopback, коммутация в рамках одного хоста
    • никогда не обрабатываются сетевой картой
  • 255.255.255.255/32 - ограниченный широковещательный адрес
  • 224.0.0.0/4 - многоадресная рассылка (multicast)
  • 192.0.2.0/24, 198.51.100.0/24 - примеры в документации

Распределение адресов - IANA

Функции выполняет ICANN при помощи региональных регистраторов - RIR:

iana

Internet Assigned Numbers Authority

source

IP header

0 1 2 3
01234567 01234567 01234567 01234567
0 Version IHL DSCP ECN Total length
4 Id Flags Fragment offset
8 TTL Protocol Header checksum
12Source address
16Destination address
20Options
...
56

Локальная сеть

network scheme
  • Маршрутизатор - участник сети и имеет адрес, в отличие от коммутатора
  • Каждый участник имеет адрес и знает маску подсети
  • Каждый участник строит таблицу маршрутизации

Таблица маршрутизации

network scheme
  • Router:
    Subnetiface /
    next hop
    192.168.1.0/24lan
    10.10.0.0/23wan
    0.0.0.0/010.10.0.1
  • PC:
    Subnetiface /
    next hop
    192.168.1.0/24eth0
    0.0.0.0/0192.168.1.1

Forwarding

"Из коробки" в большинстве дистрибутивов linux не работает пересылка пакетов с одного интерфейса на другой. На L2 это решалось при помощи bridge. Если сети не нужно объединять, но нужно обеспечить связность (на L3) необходимо включить forwarding:

sysctl -w net.ipv4.ip_forward=1

sysctl -w net.ipv6.conf.all.forwarding=1

Большая сеть

network scheme

Множественные маршруты

network scheme
  • Допустимо существование нескольких маршрутов
    • Выбор маршрута в этом случае определяется метрикой
    • Метрика может зависеть от различных параметров соединения:
      • Расстояния в маршрутизаторах
      • Скорости работы канала
      • Стоимости использования канала

Множественные маршруты

network scheme
  • Для каждого отдельного пакета выбор маршрута независим
  • Возможны петли маршрутизации при неправильной настройке
    • В качестве меры защиты используется поле TTL

Выбор маршрута в таблице маршрутизации

routes

Address Resolution Protocol

ARP

ARP

ARP

ARP

ARP

ARP

ARP

ARP

ARP

ARP

ARP

ARP

ARP

0 1 2 3
0 Hardware Type Protocol Type
4 hardware Length Protocol Length Operation
8Sender hardware address
...Sender protocol address
...Target hardware address
...Target protocol address

ARP (Ethernet)

0 1 2 3
0 0x0001 (Eth) 0x0800 (IPv4)
4 0x06 0x04 0x0001 / 0x0002
80xAAAAAAAAAAAA
...0xC0A80A02 (192.168.10.2)
...0x00000000
...0xC0A80A04 (192.168.10.4)

Широковещательные IP пакеты

broadcast

Широковещательные пакеты

Ограниченный широковещательный адрес

broadcast

limited broadcast

Широковещательные пакеты

Ограниченный широковещательный адрес

broadcast

limited broadcast

Широковещательные пакеты

broadcast

Широковещательные пакеты

Направленное широковещание

broadcast

directed broadcast

Широковещательные пакеты

Направленное широковещание

broadcast

directed broadcast

Широковещательные пакеты

Направленное широковещание

broadcast

directed broadcast

Широковещательные пакеты

Направленное широковещание

broadcast

directed broadcast

Широковещательные пакеты

Если вы решите проверить, как это работает, то можете столкнуться с тем, что пересылка и ответы на широковещательные запросы могут быть запрещены. В linux это поведение настраивается:

Не игнорировать широковещательные пакеты (icmp):

sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0

Пересылать широковещательные пакеты (icmp):

sysctl -w net.ipv4.conf.all.bc_forwarding=1

sysctl -w net.ipv4.conf.eth0.bc_forwarding=1

Internet Control Message Protocol (ICMP)

Функции:

  • Оповещение об ошибках (оповещения)
  • Тестирование и отладка работоспособности (запрос - ответ)

Ping

ping

Traceroute

traceroute

Traceroute

traceroute

Traceroute

traceroute

Traceroute

traceroute

Traceroute

traceroute

Traceroute

traceroute

Traceroute

traceroute

Traceroute

traceroute

Фрагментация IPv4

0 1 2 3
01234567 01234567 01234567 01234567
0 Version IHL DSCP ECN Total length
4 Id 0 DF MF Fragment offset
8 TTL Protocol Header checksum
12Source address
16Destination address
20Options
...
56

Фрагментация IPv4

Схема фрагментации IPv4

Опции IPv4

Структура опций

Все существующие коды

DHCP

IPv6

0 1 2 3
01234567 01234567 01234567 01234567
0 Version DiffServ ECN Flow label
4 Payload Length Next Header Hop Limit
8 Source Address
12
16
20
24Destination Address
28
32
36

IPv6

ipv6 address struct

http://[2a11:7306:0:c::1]:778

Упражняемся в уме

Какая-то схема

Литература

  • Таненбаум Э., Фимстер Н., Уэзеролл Д. - Компьютерные сети. 6-е изд.
    • Пункты 5.2, 5.5, 5.7.
  • В. Олифер, Н. Олифер - Компьютерные сети. Принципы, технологии, протоколы. 6-е изд.
    • Глава 13 (кроме DNS), Глава 14, 17.