Интерфейсный уровень и его представление
Задачи интерфейсного уровня:
- Организация процесса передачи данных
- Как отличить данные от не-данных (или начало от середины)?
- Как идентифицировать абонентов среды?
- Дисциплина использования среды
- Очерёдность, коллизии, приоритеты и т. п.
- Защита данных и авторизация абонента
Инкапсуляция на аппаратном уровне (то, чего на интерфейсном уровне не видно):
- Заворачивание фрейма в маркеры начала и конца, межфреймовый заполнитель
- eth: 0x55*7 0xD5
- в действительности 10101010*7 10101011, потому что старший бит — последний
- eth: 0x55*7 0xD5
- избыточность при кодировании (борьба с шумом на аппаратном уровне: payload vs overhead)
Фреймы (пакеты интерфейсного уровня)
- Сеть с разделением пакетов (окончательно)
- Размер фрейма:
- Паспорт (ID отправителя и получателя, сведения о топологии, всякое)
- Полезная нагрузка
- Контрольная сумма (нужно ли больше избыточного кодирования?)
- Данные по шифрованию / авторизации
Ethernet
Общая среда ⇒
- ID отправителя и получателя (MAC: 3*8 VENDOR + 3*8 ID [+ 4*8 VLAN])
- Аппаратная фильтрация MAC и promiscuous mode
- Широковещательный адрес
Алгоритм доступа: неодновременный
- определение коллизий (CD)
- определение идущей передачи (CSMA)
- определение работоспособности сети
- вычисление задержки для повторной передачи / общий тайм-аут
⇒ нет гарантированного времени доставки
Linux
ethtool — взаимодействие с аппаратным уровнем
iproute2 — основной инструмент настройки
ip link (поднятие, останов, свойства)
tcpdump — основной инструмент анализа
Настройка внутренней сети в VBox
- Типы сетей в VB
- «Внутренняя» появляется просто по факту наименования — это общая среда
- «Втыкание провода» и «неразборчивый режим»
Название intnet — произвольное
Проверка работоспособности:
Клон (не забываем: другие MAC-адреса всем интерфейсам)
(забегая вперёд) Настройка IP: ip address add dev eth1 10.10.10.##/24
ping (на самом деле не такой простой, как кажется!)
tcpdump -XX
Немного про протокол arp
arping
Протоколы интерфейсного уровня
Вообще-то Тысячи их
Wi-Fi
Например, IEEE 802.11g
- Воздух: затухание и вариабельность сигнала ⇒ избыточность
- Совместный доступ:
- Несколько «каналов»
OFDM (FDM+ортогональность)
(совместимость: Complementary_code_keying, DSSS)
- Воздух общий ⇒ авторизация/шифрование
- ESSID
- Короткие, предсказуемые пакеты ⇒ ухудшение стойкости ключа со временем
⇒ регулярное пересоздание ключей WPA2
Шифрование ⇒ сертификация
WIFI в Linux
rfkill
ip link set wlan0 up
iw wlan0 scan
iw wlan0 link
(stty -echo; wpa_passphrase) > config
wpa_supplicant -B -D wext -i wlan0 -c config
iw wlan0 link
dhcpcd wlan0
Д/З
На забывайте сразу сделать снапшот, чтобы было куда откатывать.
Задание 2
Воспроизвести пример из лекции с двумя виртуалками, объединёнными внутренней сетью
- Настроить в самом virtualbox общую виртуальную сеть
- Склонировать базовую виртуалку и настроить на обеих машинах «Адаптер 2» как подключённый к некоторой одинаковой сети
- Отчёты:
На базовой машине (report 2 base)
Поднять сетевой интерфейс, к которому подключена виртуальная сеть, настроить на нём IP-адрес 10.10.10.1/24
Выполнить команду ip address
Выполнить команду ip neighbour flush all
Запустить tcpdump -XX -c 8 на этот интерфейс; дождаться окончания
Выполнить команду ip neighbour
На клоне (report 2 clone)
Поднять сетевой интерфейс, к которому подключена виртуальная сеть, настроить на нём IP-адрес 10.10.10.2/24
Выполнить команду ip address
Выполнить команду ip neighbour flush all
Выполнить команду ping -c 8 10.10.10.1; дождаться окончания
Выполнить команду ip neighbour
Оба отчёта (report.02.base и report.02.clone) именно с такими названиями переслать одним письмом в качестве приложений на uneexlectures@cs.msu.ru