close

Вход

Забыли?

вход по аккаунту

?

VolkovOlenev

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное
образовательное учреждение высшего образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
П. Л. Волков, В. Л. Оленев
ИСПОЛЬЗОВАНИЕ СЕТЕВЫХ ПРОТОКОЛОВ
И УТИЛИТ В ИНТЕРНЕТ
Учебно-методическое пособие
Санкт-Петербург
2017
УДК 004.7
ББК 32.973.202
В67
Рецензент:
кандидат технических наук, доцент Ю. Д. Крылов
Утверждено
редакционно-издательским советом университета
в качестве учебно-методического пособия
Волков, П. Л.
В67 Использование сетевых протоколов и утилит в Интернет:
учеб.-метод. пособие / П. Л. Волков, В. Л. Оленев. – СПб.:
ГУАП, 2017. – 62 с., ил.
Содержит информацию для изучения сетевых протоколов (Ethernet,
ARP, RARP, ProxyARP, IPv4, IPv6, ICMP, UDP, TCP, DNS, DHCP),
сетевых утилит (ping, tracert, ipconfig, arp, nslookup), окон ОС (для настройки и просмотра состояния сети), анализатора сетевого трафика
Wireshark в сети Интернет. Описываются: вложенность протоколов,
форматы кадров/пакетов/дейтаграмм/сегментов/сообщений изучаемых протоколов, алгоритмы и режимы работы протоколов. Приводятся: встроенные справки изучаемых утилит, последовательность действий для открытия изучаемых окон ОС, краткое описание анализатора
трафика Wireshark. Сформированы: варианты заданий для студентов,
требования к содержанию отчёта, список контрольных вопросов, таблица подсчёта рейтинговых очков.
Предназначены для студентов направлений 09.03.01, 09.04.01 «Информатика и вычислительная техника», 09.05.01 «Применение и эксплуатация автоматизированных систем специального назначения» и
для самостоятельного изучения работы сетей.
Подготовлены к публикации кафедрой № 14 (аэрокосмических
компьютерных и программных систем) Санкт-Петербургского государственного университета аэрокосмического приборостроения.
УДК 004.7
ББК 32.973.202
©
©
Волков П. Л., В. Л. Оленев, 2017
Санкт-Петербургский государственный
университет аэрокосмического
приборостроения, 2017
Обозначения и сокращения
ОС – Операционная Система
СИ – Сетевой Интерфейс
ЭВМ – Электронно-Вычислительная Машина
ARP – Address Resolution Protocol
ATM – Asynchronous Transfer Mode
BOOTP – Bootstrap Protocol
CRC – Cyclic Redundancy Check
DHCP – Dynamic Host Configuration Protocol
DHCPv6 – Dynamic Host Configuration Protocol версии 6
DNS – Domain Name System
FDDI – Fiber Distributed Data Interface
FTP – File Transfer Protocol
ICMP – Internet Control Message Protocol
IEEE – Institute of Electrical and Electronics Engineers
IP – Internet Protocol
IPv4 – Internet Protocol версии 4
IPX – Internetwork Packet Exchange
MAC – Media Access Control
OSI – Open System Interconnection basic reference model
OSPF – Open Shortest Path First
PPP – Point-to-Point Protocol
RARP – Reverse Address Resolution Protocol
RFC – Request For Comments
RIP – Routing Information Protocol
SNMP – Simple Network Management Protocol
TCP – Transmission Control Protocol
UDP – User Datagram Protocol
3
1. ОБЩАЯ ТЕОРЕТИЧЕСКАЯ ИНФОРМАЦИЯ
Существует зависимость между форматом пакета и сложностью
протокола. Изучая формат пакета, изучается часть возможностей
протокола [1]. Не все возможности протокола видны из формата,
так как часть алгоритмов протокола может работать без использования служебных полей в пакете. Например:
1. Если пакеты приходят часто, то хост-приемник должен увеличить размер своего буфера.
2. Пакеты по протоколу должны идти через одинаковые интервалы времени.
3. Перед отправкой пакета источник должен выждать определенный интервал времени заполняя пакет, и по истечении этого интервала отправить пакет с теми данными, которые успели прийти.
4. И др.
1.1. Вложенность сообщений различных уровней
Согласно модели взаимодействия открытых систем OSI, при передаче сообщения пользователя, к нему добавляются служебные поля
(заголовки и концевики) различных уровней (см. рис. 1) [1, 2, 3, 4, 5].
Служебные поля необходимы для выполнения каждым уровнем своих задач. Пример вложенности реальных протоколов показан на рис. 2.
Уровень i + 1
Заголовок Поле данных Заголовок
Уровень i
Заголовок
Концевик
Поле данных
Уровень i – 1 Заголовок
Поле данных
Концевик
Рис. 1. Вложенность сообщений различных уровней
DHCP
DNS
UDP
TCP
ICMP
IP
ARP
Ethernet
Рис. 2. Пример вложенности реальных протоколов
4
1.2. Краткое описание протоколов
При записи форматов на рисунках, используется предположение, что биты в канал идут слева на право, сверху вниз.
Далее по тексту, по умолчанию (если не оговорено иного), данные будут записываться согласно представлению IPv4 (RFC 791, 1981 год) [6]:
1) Порядок бит в байте: самый правый бит является самым старшим.
2) Порядок байт в слове: самый правый байт является самым
старшим.
3) Порядок полей в слове: слева направо, сверху вниз.
4) Значение поля: самый левый байт является самым старшим,
самый левый бит является самым старшим.
Например, на рис. 3 значения полей: поле_1 = 0x55, поле_2 = 0,
поле_3 = 0x23F, поле_4 = 0x186B.
1.2.1. Ethernet/10/Fast/Giga/10G
[1, 2, 3, 7].
Стандарт передачи информации канального уровня. Основные
форматы кадров Ethernet/10/Fast/10G показаны на рис. 4.
Нумерация бит: 0
15 16
7 8
23 24
31
0101 0101 0100 0111 1111 1000 0110 1101
Поля:
поле_1 поле_2 поле_3
поле_4
Рис. 3. Пример порядка байт, бит, полей в слове
7+1
6
2
0 … 1500
0 … 46
4
Ethernet II (DIX) Преамбула SFD DA
SA
T
Data
Pad
FCS
IEEE 802.3/LLC Преамбула SFD DA
SA
1 1 1…2
L DS SS Cont
AP AP rol
Pad
FCS
Pad
FCS
Размер поля (байт):
6
Data
Заголовок LLC
Ethernet SNAP Преамбула SFD DA
Raw 802.3 Преамбула SFD DA
SA
1 1 1 3 2
0x
0x
O
L
Data
AA AA 0x03 UI T
Заголовок LLC Заголовок SNAP
1 1
SA L 0x 0x
Data
Pad
FF FF
FCS
Рис. 4. Основные форматы кадра Ethernet/10/Fast/10G
5
Описание полей:
Преамбула – состоит из 7 байт синхронизации 10101010 (используются для установки битовой синхронизации на приемной стороне) и 8-го байта SFD (Start Frame Delimiter, начальный ограничитель кадра) 10101011, который указывает, что далее последуют информационные поля.
DA (Destination Address) – адрес назначения. Аппаратный адрес
(MAC) одной или нескольких станций, которым предназначен кадр.
Иногда указывается, что размер поля может быть 2 байта, но на
практике используются 6 байт.
SA (Source Address) – адрес отправителя. Аппаратный адрес
(MAC) станции, которая посылает кадр. Иногда указывается, что
размер поля может быть 2 байта, но на практике используются
6 байт.
T (Type) – тип протокола, информация которого вложена в поле
данных. По этому типу определяется формат содержимого поля данных. Примеры типов: 0x0800 (IPv4), 0x0806 (ARP), 0x86DD(IPv6).
L (Length) – длина поля данных.
DSAP (Destination Service Access Point) – адрес точки входа сервиса назначения. Указывает, на какой сервис верхнего уровня посылаются данные (например, протоколы IPX, Spanning Tree).
SSAP (Source Service Access Point) – адрес точки входа сервиса источника. Указывает, какой сервис верхнего уровня посылает
данные.
Control – управление. Содержит тип кадра (информационный,
управляющий или ненумерованный), порядковые номера отправленных и успешно принятых кадров.
OUI (Organizationally Unique Identifier) – идентификатор организации, которая контролирует коды протоколов в поле типа T.
Для стандартов 802 эти коды протоколов контролирует организация IEEE, у которой OUI = 0x000000.
Data – Поле данных.
Pad (Padding) – заполнитель. Используется при размере поля
данных менее 46 байт, так как общая длина пакета (без учета преамбулы) должна быть не меньше 64 байт из-за обеспечения времени
двойного оборота (PDV, Path Delay Value) для устойчивого распознавания коллизий.
FCS (Frame Check Sequence) – контрольная сумма (CRC 32). Высчитывается по всем полям за исключением преамбулы.
Различие разных типов кадров выполняется следующим образом. Кадры Ethernet II для типа протокола (T) используют
6
значения больше 1500. Для протокола SNAP отведены значения
DSAP = 0xAA, SSAP = 0xAA, Control = 0x03 (использование ненумерованных кадров). В кадре RAW 802.3 (компания Novell сделала его для своей ОС NetWare) могут располагаться только пакеты
протокола IPX, в котором первыми идут два байта 0xFF, чего не
может быть в заголовке LLC (Logical Link Control, управление логической связью).
Помимо указанных форматов существуют еще несколько. Самым распространенным является формат Ethernet II (DIX).
В стандарте Gigabit Ethernet при передаче кадра размером менее
512 байт (без учета преамбулы), после FCS дописывается дополнительное поле ‘расширение носителя’ до общего размера кадра 512
байт. FCS это поле не охватывает. Сделано это для сохранения диаметра домена коллизий (по сравнению с Fast Ethernet).
MAC адрес
MAC (Medium Access Control) адрес является аппаратным адресом в стандартах IEEE. Формат MACадреса показан на рис. 5.
Описание полей:
Индивидуальный – адрес одного сетевого интерфейса.
Групповой – адрес группы сетевых интерфейсов. У одного сетевого интерфейса хранится его индивидуальный адрес и те групповые
адреса, к которым он принадлежит.
Глобальный – адрес присвоен производителем сетевого интерфейса. Обычно записан в аппаратуру.
Локальный – адрес присвоен администратором сети по своему
усмотрению.
OUI (Organizationally Unique Identifier) – уникальный номер
производителя сетевого интерфейса. Например, 0x0020AF (3COM),
0xFCFBFB (Cisco). Присваивается комитетом IEEE.
Адрес интерфейса – уникальный адрес сетевого интерфейса внутри производителя. Присваивается производителем.
Биты: 40 41 42 47 32
39 24
31 16
23 8
15 0
7
OUI
Адрес интерфейса
0 (глобальный), 1 (локальный)
0 (индивидуальный), 1 (гру
пповой)
Рис. 5. Формат MAC-адреса
7
1.2.2. Соответствие сетевых и аппаратных адресов
Существуют различные стандарты сетей канального уровня (например, Ethernet, X.25, Frame Relay, …). В каждом применяются свои
методы и алгоритмы, своя адресация, маршрутизация, свои аппаратные адреса (АА). Эти стандарты не содержат информации о сетевых
адресах (СА) стандартов сетевых уровней (например, IP) (рис. 6).
Инкапсуляция пакетов [7]: сетевые пакеты (например, IP-пакеты)
вставляются в поле данных канальных пакетов, с которыми умеет
работать сеть. В этих канальных пакетах используются аппаратные
адреса сети.
Как сетевой пакет, адресованный на сетевой адрес, пройдет через
эту сеть? Надо от сетевых адресов переходить к аппаратным адресам,
на которые и отправлять канальные пакеты.
Если сетевой адрес никаким образом не вычисляется из аппаратного адреса (нет алгоритмического соответствия), то единственный
вариант соответствия это таблица.
Протокол ARP
RFC 826 (1982 год), 1213 (1991 год), …, [1, 3, 4, 7, 8, 9, 10].
М2
Хост 1
Хост 2
СА
АА
СА
АА
СА
АА
СА
АА
Маршрутизатор 1
СА
АА
СА
АА
СА
АА
Хост 1
Хост 2
СА
АА
СА
АА
Хост 3
СА
АА
Сеть 2 (Ethernet)
Сеть 1 (ATM)
AA
Например, IP-пакет с IP-адресом
СА
АА
Рис. 6. Пример сети для иллюстрации сетевых и аппаратных адресов
Биты: 0
16 бит
Тип сети
8 бит
8 бит
Длина аппаратного адреса Длина сетевого адреса
Длина переменная
Аппаратный адрес отправителя
Длина переменная
Сетевойадрес отправителя
Длина переменная
Аппаратный адрес получателя
Длина переменная
Сетевойадрес получателя
Рис. 7. Формат ARP-пакета
8
31
16 бит
Тип протокола
16 бит
Тип операции
Address Resolution Protocol. Определение аппаратного адреса удаленного сетевого интерфейса по его сетевому адресу, если источник и
приемник находятся в одной канальной сети.
Каждый хост знает аппаратные адреса и сетевые адреса своих интерфейсов (одна строка таблицы на один интерфейс). Нужно организовать обмен этими строками между хостами.
Протокол ARP является универсальным (работает в различных канальных и сетевых стандартах). Формат ARP-пакета показан на рис. 7.
Описание полей:
Тип сети. Ethernet (1), TokenRing (4), ARCNET (7). Для других
стандартов сетей определен в соответствующем RFC.
Тип протокола. IP (0x0800), X.25 уровень 3 (0x805), Appletalk
(0x8098), SNMP (0x814C). Для других стандартов сетей определен
в соответствующем RFC.
Длина аппаратного адреса в байтах.
Длина сетевого адреса в байтах.
Тип операции. ARP-запрос (1), ARP-ответ (2), RARP-запрос (3),
RARP-ответ (4).
Устройство, отправляющее ARP-запрос заполняет все поля, кроме аппаратного адреса получателя (устанавливает его в 0).
Если канальная сеть поддерживает широковещание
Ethernet, Token Ring, FDDI, …
Для примера алгоритма работы используем сеть, показанную
на рис. 8.
Пример алгоритма работы:
1) Хост 2 хочет отправить пакет хосту-1 с IP-1.
2) Хост-2 запускает передачу IP-пакета по IP-1.
3) IP-2 обращается к ARP-2: найти AA для IP-1.
4) ARP-2 ищет в своей таблице. Если находит, возвращает АА-1.
Маршрутизатор
IP(4)
ARP(4)
ARPтабл. (3)
IP (IP-1)
IP(3)
ARP (1)
ARP(3)
ARPСИ(АА-4) табл. (4) СИ(АА-3)
Хост 1
IP (IP-2)
Хост 2
ARPтабл.
ARP (2)
ARPтабл.
СИ(AA-1)
СИ(AA-2)
Сеть
Рис. 8. Пример сети для демонстрации работы ARP-протокола
9
5) Если не находит, то ARP-2 формирует ARP-запрос и отправляет по широковещательному АА.
6) Все хосты получают этот пакет. Отправляют его своему ARP.
7) ARP-1 видит, что это ищут его. Формирует ARP-ответ, отправляет на АА отправителя.
8) ARP-2 добавляет в свою таблицу новую запись. Отдает АА-1 IP-2.
9) IP-2 отправляет своему сетевому интерфейсу (СИ) IP-пакет для
передачи его по AA-1.
Дополнительные моменты:
1) Каждый хост может добавлять запись в свою ARP-таблицу при
получении широковещательного ARP-запроса.
2) Если нет ARP-ответа, то ответа не будет и IP-пакет отбросится.
3) Записи в ARP-таблице бывают статические (не имеют срока
старения) и динамические (хранятся в течение некоторого времени
(от десятков секунд до нескольких часов) и удаляются – ARP кэширование).
4) Если хоста нет, а запись в ARP-таблице есть, то пакет уйдет
в никуда.
5) Некоторые реализации IP не ставят IP-пакет в очередь на время ожидания ARP-запросов-ответов, а удаляют их.
Если канальная сеть не поддерживает широковещание
X.35, Frame Relay, …
Используется клиент-серверный механизм. Алгоритм работы:
1) В сети выделяется один маршрутизатор или хост (ARP-сервер),
на котором хранится ARP-таблица.
2) Каждый хост должен знать АА этого ARP-сервера.
3) Каждый хост при включении обращается к этому ARP-серверу.
ARP-сервер добавляет запись в свою ARP-таблицу.
4) Каждый хост при необходимости обращается к этому ARPсерверу для получения АА интересующего его СА.
Самообращенные ARP-запросы
Gratuitous ARP (см. рис. 9).
1) Для проверки занятости СА. Хост отправляет ARP-запрос
с проверяемым СА в качестве приемника. Если приходит ARP-ответ,
то это значит, что СА занят.
2) После замены АА. Хост отправляет ARP-запрос со своим СА
в качестве источника и приемника. В сети обновится информация о
новом сочетании СА (источника) с АА (источника).
3) Для резервирования хостов (например, резервные сервера).
Если один хост вышел из строя, второй рассылает от себя ARP-запрос
10
Хост
СА
AA1
Хост
СА
AA2
Все (или сервер)
обновят
информацию
AA1
ARP-запрос
ARP-запрос
Хост
СА
Сеть
Все (или сервер)
обновят
информацию
AA2
Есть ответ –>
СА занят
Хост
СА
AA
Рис. 9. Самообращённые ARP-запросы
с СА соседа в качестве источника и своим АА в качестве источника.
Все запросы к серверу пойдут по старому СА, но на новый хост.
Протокол Proxy-ARP
RFC 1027 (1987 год), …, [1, 11].
Proxy – Address Resolution Protocol. Определение аппаратного
адреса удаленного хоста по его сетевому адресу, если приемник и источник находятся в одной сетевой сети (с точки зрения сетевого адреса), но в разных канальных сетях (самостоятельно не способных передавать информацию между собой). Например, когда к сети Ethernet
через модем (протокол PPP) подключается хост.
Для примера алгоритма работы используем сеть, показанную
на рис. 10.
Если поддерживается широковещание:
1) ARP-запрос (на широковещательный АА) принимается PARP (M).
2) PARP (M) по IP-адресу понимает, что хост-приемник находится в другой канальной сети.
Хост 1
IP(IP-1)
ARPтабл.
ARP(1)
Маршрутизатор
IP(4) PARP-табл.
(М)
Хост 2
ARP(2)
ARPтабл.
PARP(М)
СИ(AA-2)
СИ(AA-1)
СИ(АА-4)
Сеть
IP(IP-2)
IP(3)
СИ(АА-3)
Сеть
Рис. 10. Пример сети для демонстрации работы Proxy-ARP-протокола
11
3) PARP (M) отсылает источнику ARP-ответ с указанием АА своего сетевого интерфейса.
4) Источник отсылает свой IP-пакет.
5) IP-пакет доходит до PARP (M).
6) PARP (M) по PARP-таблице понимает, куда отправить пакет
дальше.
Если не поддерживается широковещание, то на ARP-сервере для
IP-приемника сразу должен быть аппаратный адрес маршрутизатора.
Протокол RARP
RFC 903, 906 (1984 год), …, [1, 3, 12, 13].
Reverse Address Resolution Protocol. Нахождение хостом своего
сетевого адреса по своему аппаратному адресу (например, для бездискового хоста или для разделения одного сетевого адреса между
несколькими редко работающими хостами).
Используется клиент-серверный механизм. RARP-сервер хранит таблицу соответствия аппаратных и сетевых адресов.
Формат кадра RARP такой же как и у ARP.
Передача через несколько сетей
Источник, отправляя пакет, выполняет маршрутизацию. Сравнивает номер сети приемника (из IP-адреса приемника) с номером своей
сети. Если совпадения нет, пакет отправляется маршрутизатору. Если
совпадение есть, то пакет отправляется по IP-адресу приемника.
Допустим, хост-3 хочет отправить пакет хосту-12. Все физические
сети являются отдельными с точки зрения IP-адреса.
1) IP-3 выполняет маршрутизацию. Определяет, что сеть IP-12 и
сеть IP-3 это разные сети и что пакет надо передать на IP-4.
2) IP-3 шлет к ARP-3 запрос. Определить АА для IP-4.
3) ARP-3 шлет запрос (широковещательный, Ethernet), получает
ответ с AA-4.
М2
Хост 8
IP-9
AA9
IP-8
AA8
IP-10
AA10
Хост
IP-7
AA7
IP-5
AA5
IP-4
AA4
IP-1
AA1
Хост
IP-2
AA2
Сеть 2 (Ethernet)
Сеть 1 (Wi-Fi)
IP-11
AA11
Хост 12
Сеть 3 (X.25)
12
Хост
М1
IP-6
AA6
IP-12
AA12
Сеть 4 (FDDI)
Хост 3
IP-3
AA3
4) IP-3 отправляет пакет с адресом приемника IP-12, адресом источника IP-3, адресом приемника AA-4 и адресом источника AA-3.
5) Порт 4 маршрутизатора M-1 принимает пакет, выделяет IP-пакет и
отдает его IP-4. Выполняется маршрутизация. Определяется, что пакет
надо передать на IP-9 маршрутизатора M-2. Передавать надо с порта 6.
6) IP-6 шлет к ARP-6 запрос. Определить АА для порта маршрутизатора IP-9.
7) ARP-6 шлет запрос, получает ответ с AA9.
8) IP-6 отправляет пакет с адресом приемника IP-12, адресом источника IP-3, адресом приемника AA9 и адресом источника AA-6.
9) Порт 9 маршрутизатора M-2 принимает пакет, выделяет IP пакет и отдает его IP-9. Выполняется маршрутизация. Определяется,
что пакет надо передать на хост IP-12. Передавать надо с порта 11.
10) IP-11 шлет к ARP-11 запрос. Определить АА для IP-12.
11) ARP-11 шлет запрос (на ARP-сервер, X.25), получает ответ с AA12.
12) IP-11 отправляет пакет с адресом приемника IP-12, адресом источника IP-3, адресом приемника AA12 и адресом источника AA-11.
13) Порт хоста 12 получает пакет. Выделяет IP-пакет и отдает его IP-12.
Если где-то надо, то и Proxy-ARP может включиться.
1.2.3. Протокол IP
RFC 791 (1981 год), … [6, 7, 14].
Передача пакета по сети любой топологии. Работа без установки
соединения хоста-источника и хоста-приемника. Доставка по возможности, без гарантии. IP-маршрутизатор прилагает усилия, чтобы доставить IP-пакет, но если это не получается, то IP-пакет отбрасывается. Может быть (не обязательно) IP-маршрутизатор отправит
хосту-отправителю ICMP-сообщение об удалении IP-пакета.
Формат заголовка IPv4
RFC 791 (1981 год), RFC 2474 (1998 год), RFC 3168 (2001 год), …,
[1, 2, 3, 4, 6, 7, 8, 15, 16].
Формат пакета IPv4 показан на рис. 11.
Описание полей:
Номер версии. 4 для IPv4.
Длина заголовка в словах. Минимально 20 байт (5 слов). Максимально 60 байт (15 слов).
До конца 1990-х годов: тип сервиса (Type of Service, ToS) [6, 17]).
Требования к качеству обслуживания пакета. Приоритет (0..7) [18].
7 – максимальный. D (delay, задержка) – минимальное время доставки
13
Биты: 0
8 бит
Тип сервиса/DSCP
4 бита 4 бита PR (3 бита)
DTRC 0
Номер Длина
DSCP
версии заголовка
ECN
ВариКласс ант IN
16 бит
Идентификатор пакета
8 бит
Время жизни
31
16 бит
Общая длина пакета
Флаги
13 бит
фрагментации
Смещение фрагмента
0 DF MF
8 бит
16 бит
Протокол
Контрольная сумма заголовка
верхнего уровня
32 бита
IP-адрес источника
32 бита
IP-адрес назначения
0 … 40 байт
Параметры (опции)
0 … 3 байта
Выравнивание
… 65515 байт
Данные
Рис. 11. Формат пакета IPv4
пакета. T (throughput, пропускная способность) – максимальная пропускная способность доставки пакета. R (reliability, надежность) – максимальная надежность доставки пакета. C (cost) – минимальная стоимость доставки пакета. Только один бит может принимать значение 1.
С конца 1990-х годов: байт дифференцированного обслуживания
(Differentiated Service, DSбайт) (Differentiated Service Code Point,
DSCP) [16] состоящий из полей DSCP (определяет способ обработки
IP-пакета) и ECN (Explicit Congestion Notification, механизм явного
уведомления о перегрузке) [15].
Поле DSCP по рекомендации может содержать подполя: Класс –
класс трафика. Вариант – вариант обслуживания внутри класса. IN –
индикатор того, что пакет «вышел» из профиля трафика (в случае проблем, IP-маршрутизатор будет сначала отбрасывать такие пакеты).
Значения поля ECN: 0 – механизм не используется (устанавливается источником), 1,2 – механизм включен (устанавливается источником), 3 – случилась перегрузка (устанавливается маршрутизатором).
Поле ToS / DSCP является пожеланием к выбору маршрута,
маршрутизатор не обязан его поддерживать.
Общая длина пакета (заголовок + данные) в байтах. Максимально 65535 байт. Часто максимальная длина пакета устанавливается исходя из максимального размера кадров канального уровня.
14
В стандарте TCP/IP предусматривается, что все хосты должны быть
готовы принимать пакеты длиной вплоть до 576 байт (независимо от
того, приходят они целиком или фрагментами).
Если размер передаваемого IP-пакета больше размера кадра канальной сети, то IP-пакет фрагментируется, т. е. разбивается на несколько
IP-пакетов, которые дальше самостоятельно идут по сети к хосту-приемнику. Далее эти IP-пакеты тоже могут быть фрагментированы.
Идентификатор пакета. Все фрагменты одного IP-пакета должны иметь одинаковый идентификатор пакета. Фрагменты разных IPпакетов (посланных с одного IP-адреса) должны иметь разные значения этого идентификатора.
Флаги фрагментации. DF (Do not Fragment) – запрещает маршрутизатору фрагментировать пакет. Если пакет надо фрагментировать,
то пакет будет отброшен, а источнику может быть будет отправлено
ICMP-сообщение. MF (More Fragments) – указывает на то, что данный пакет является промежуточным (не последним) фрагментом.
Смещение фрагмента в 8-байтовых блоках. Смещение поля данных этого фрагмента относительно начала поля данных исходного
(нефрагментированного) IP-пакета.
Время жизни в секундах (Time To Live – TTL). Предельный срок,
в течение которого пакет может перемещаться по сети. Маршрутизатор за каждую секунду пребывания у него пакета уменьшает этот
счетчик на 1. Если пакет держался меньше 1 секунды, то все равно
уменьшается на 1. Так как чаще всего пакет и держится менее 1 секунды, то это время можно интерпретировать как число маршрутизаторов, через которые может пройти пакет. Маршрутизатор сначала уменьшает значение поля на 1, а потом проверяет, если значение
равняется 0, то пакет отбрасывается.
Протокол верхнего уровня. Указывает протокол, пакет которого вложен в IP-пакет. Например: 1 – ICMP, 6 – TCP, 17 – UDP ([19],
www.iana.org, WinXP: \WINDOWS\system32\drivers\etc\protocol).
Контрольная сумма заголовка. Если при проверке ошибка, то
пакет отбрасывается. Пересчитывается на каждом маршрутизаторе
(так как есть поля, которые изменяют свое значение при прохождении через маршрутизатор).
Параметры (опции). Не обязательное поле. Состоит из нескольких полей. Для решения вспомогательных задач.
Формат опции приведен на рис. 12.
CF (copy on fragmentation) – копировать опцию в заголовки всех
фрагментов (1).
Класс – управляющая опция (0), опция измерения и отладки (2).
15
Биты: 0
31
8 бит
Тип опции
2 бита
5 бит
CF Класс Код опции
8 бит
Размер опции
Длина переменная
Данные
Рис. 12. Формат опции заголовка IP-пакета
Таблица 1
Примеры опций заголовка IP-пакета
Код
Класс
опции
Размер
опции
0
0
0
2
–
11
0
3
Переменная
0
7
Переменная
0
9
Переменная
2
4
Переменная
Данные
Конец списка опций
9 байт. Данные системы безопасности
LSR (Loose Source Routing). Свободный выбор
маршрута. Хост-источник указывает последовательность IP-адресов маршрутизаторов, через
которые IP-пакет должен пройти обязательно
(в указанной последовательности). При этом
допускается прохождение и через другие IPмаршрутизаторы
RR (Record Route). Для записи IP-адресов IPмаршрутизаторов, через которые прошел IP-пакет
SSR (Strict Source Routing). Строгий выбор
маршрута. Хост-источник указывает последовательность IP-адресов маршрутизаторов,
через которые IP-пакет должен пройти обязательно (в указанной последовательности). При
этом не допускается прохождение через другие
IP-маршрутизаторы
Временные отметки (Internet Timestamp). Хосты и/или IP-маршрутизаторы добавляют к IPпакету временной штамп (с точностью до миллисекунды)
Размер опции в байтах. Учитывает поле типа опции, поле размера опции и поле данных.
Для некоторых опций поля «Размер опции» и «Данные» могут отсутствовать. Примеры опций показаны в табл. 1.
Выравнивание поля параметров до 4-байтового слова.
Пример разбора IP-пакета версии 4:
0x453403EA_D20E3067_E711A10F_CA078E12_23E092F4
16
Номер версии: 4
Длина заголовка: 20 (dec) байт
IN: 0
Вариант: 1
Класс: 5
Общая длина пакета: 0x3EA (1002) байт
Идентификатор пакета: 0xD20E
DF: 0
MF:1
Смещение фрагмента: 0x1067 (4199) *8 = 33592 байт
Время жизни: 0xE7 (231)
Протокол верхнего уровня: 0x11 (17) UDP
Контрольная сумма: A10F
IP-адрес источника: CA.07.8E.12 (202.7.142.18)
IP-адрес назначения: 23.E0.92.F4 (35.224.146.244)
Параметров нет
Выравнивания нет.
Формат заголовка IPv6
RFC 1752 (1995 год), 2460 (1998 год), …, [1, 2, 3, 7, 20, 21].
Формат пакета IPv6 показан на рис. 13.
Размер основного заголовка фиксирован – 40 байт.
Описание полей:
Номер версии. 6 для IPv6.
Классы трафика. Подполя DSCP и ECN аналогичны таким же
подполям в заголовке IPv4.
Биты: 0
8 бит
4 бита
Номер Классы трафика
версии
DSCP
ECN
16 бит
Размер поля данных
31
20 бита
Метка потока
8 бит
8 бит
Следующий заголовок Лимит переходов
128 бит (16 байт)
IP-адрес источника
128 бит (16 байт)
IP-адрес назначения
Длина переменная
Дополнительные заголовки
Максимальный размер 65535 или сверхдлина
Данные
Рис. 13. Формат пакета IPv6
17
Метка потока. Поток – это последовательность пакетов от одного
источника одному приемнику. Значение метки генерируется источником. Все IP-пакеты одного потока должны иметь одинаковые заголовки. Маршрутизатор ориентируется по паре значений: IP-адрес источника + метка потока. Маршрутизатор, получив первый пакет потока, обрабатывает заголовки и запоминает алгоритм обработки в своем КЭШе.
После этого, все пакеты этого потока обрабатываются по этому же алгоритму. Следующие пакеты потока обрабатываются быстрее. Максимальное время жизни в КЭШе – 6 секунд (даже если пакеты потока
продолжают поступать). Источник может изменить это время, указав
его явно. Если поле не используется, то в него записывается значение 0.
Размер поля данных и дополнительных заголовков в байтах. Если равно 0, то размер пакета больше 65535 и его длина хранится в специальной
переменной (jumbo payload – сверхдлина, jumbograms – суперграмма).
Следующий заголовок. Определяет тип заголовка, следующего за
данным. Если нет дополнительных заголовков, то содержится значение,
закрепленное за протоколами TCP, UDP, RIP, OSPF и т. д., определенные в IPv4. Типы заголовков нужны для улучшения работы протоколов более высокого уровня. Примеры типов заголовков: маршрутизация
(указание полного маршрута при маршрутизации от источника для более быстрой работы маршрутизатора), фрагментация, аутентификация,
система безопасности, специальные параметры, параметры получателя.
Лимит переходов. Число маршрутизаторов, через которые может пройти пакет.
Использование дополнительных заголовков делает весь заголовок более гибким, открытым для внедрения новых механизмов.
Контрольных сумм нет, так как считается, что каналы стали надежнее.
1.2.4. Протокол ICMP
RFC 792 (1981 год), …, [1, 4, 7, 8, 22].
Internet Control Message Protocol. Протокол межсетевых управляющих сообщений. Работает поверх IP. Формат ICMP-сообщения
показа на рис. 14.
Биты: 0
31
8 бит
Тип
8 бит
Код
16 бит
Контрольная сумма
32 бита
Дополнительное
Длина переменная
Данные
Рис. 14. формат ICMP-сообщения
18
Описание полей:
Тип. Некоторые типы показаны в табл. 2.
Код. Более точно определяет тип. Некоторые коды для некоторых типов показаны в табл. 3.
Контрольная сумма. Считается для всего ICMP-сообщения.
Дополнительное. Зависит от типа и кода (табл. 4).
Данные. Зависит от типа и кода (табл. 5).
ICMP-сообщения отправляются как хостам, так и IP-маршрутизаторам
(но не промежуточным, так как в IP-пакете есть только адреса отправителя и получателя, а адресов промежуточных маршрутизаторов нет).
ICMP-сообщение об ошибке не передается:
1) При невозможности передать IP-пакет с ICMP-сообщением.
Таблица 2
Некоторые типы ICMP-сообщений
Сообщения об ошибках
(маршрутизатор не может отправить
IP-пакет (дейтаграмму) далее)
Тип
Описание
Сообщения запрос-ответ
Тип
Описание
3
Узел назначения недостижим
0
Эхо-ответ
4
Подавление источника (источник должен уменьшить скорость
передачи IP-пакетов) (например,
если в сети возникла перегрузка).
ICMP-сообщение посылается при
каждом удалении дейтаграммы
8
Эхо-запрос
5
Перенаправление маршрута (источник использует неоптимальный маршрут или изменилась
топология сети). Этот механизм
Запрос
позволяет отправителю не знать 13 отметки Используются для
синхронизации
в начале работы ни одного адреса
времени
часов
кроме маршрутизатора, который
в распределенной
сам будет возвращать нужные IPсистеме
адреса отправителю
Ответ
Время жизни дейтаграммы ис14 отметки
текло
времени
Запрос маски
Ошибка параметра IP-пакета. 17
ICMP-сообщение посылается
12
только если ошибка приводит 18
Ответ маски
к удалению дейтаграммы
11
19
Таблица 3
Некоторые коды некоторых типов ICMP-сообщений
Тип Код
3
5
11
0
1
2
3
4
5
6
7
8
9
10
11
12
13
0
1
2
3
0
1
Описание
Сеть недостижима
Узел недостижим
Протокол недостижим
Порт недостижим
Ошибка фрагментация
Ошибка в маршруте, заданном источником
Сеть назначения неизвестна
Узел назначения неизвестен
Узел-источник изолирован
Взаимодействие с сетью назначения административно запрещено
Взаимодействие с узлом назначения административно запрещено
Сеть недостижима для заданного класса сервиса
Узел недостижим для заданного класса сервиса
Взаимодействие административно запрещено путем фильтрации
Переадресация дейтаграммы для сети
Переадресация дейтаграммы для устройства
Переадресация дейтаграммы для типа сервиса и сети
Переадресация дейтаграммы для типа сервиса и устройства
Время жизни дейтаграммы истекло
Истекло время ожидания фрагмента при сборке
Таблица 4
Дополнительное поля для некоторых типов ICMP-сообщения
Тип
Описание поля
Идентификатор (2 байта) и порядковый номер (2 байта). Дублируются из ICMP-запроса в ICMP-ответ. Используются для соответствия
0, 8, ответов запросам, так как следующие запросы могут отправлять13, 14, ся до того, как были получены ответы на предыдущие. Например,
17, 18 идентификатор может указывать на процесс, а порядковый номер
на конкретный запрос от процесса (процесс может отправить несколько ICMP-запросов)
3, 4,
Не используется (должно быть равно 0)
11
IP-адрес рекомендуемого маршрута, который далее рекомендуется
5
использовать при отправке дейтаграмм по исходному IP-адресу
Указатель на ошибочный байт (1 байт), оставшиеся 3 байта не ис12
пользуются (должны быть равны 0)
20
Таблица 5
Поле данных для некоторых типов ICMP-сообщения
Тип
Описание поля
0
8
Содержит данные, скопированные из принятого эхо-запроса
Содержит данные, которые должны быть возвращены в эхоответе
3, 4,
IP-заголовок и первые 8 байт его данных (в эти байты попадает
5, 11,
заголовок протокола, вложенного в IP-пакет)
12
IP-заголовок и первые 8 байт его данных, временная метка отправителя (время, которое зафиксировал отправитель перед отправкой) (4 байта), временная метка получателя (время, когда сооб13, 14
щение дошло до получателя) (4 байта), временная метка передачи
(время, когда получатель ответил на сообщение) (4 байта).
Время указывается в миллисекундах после полуночи по Гринвичу
17, 18 Маска адреса (4 байта)
2) На все фрагменты (кроме первого) одного IP-пакета.
3) При широковещательном IP-адресе приемника.
4) При групповом IP-адресе приемника.
5) …
Поддержка протокола ICMP не является обязательной.
1.2.5. Порты UDP/TCP
[1, 2, 3, 4, 7, 8].
Порты используются для идентификации различных приложений, работающих на ЭВМ.
Порт – это системные очереди принимаемых и передаваемых сообщений одного приложения. Адресуется 2-байтовым номером. Значения от 0 до 65535.
Порты с 0 до 1023 являются стандартными, назначенными, хорошо известными. Закрепляются в [19, 23] организацией IANA
(Internet Assigned Numbers Authority, Администрация адресного
пространства Интернета). Порты от 1024 до 65535 могут быть динамическими (ОС выделяет первый свободный) и статическими.
Существуют TCP-порты и UDP-порты. В системе 65536 TCP-портов
и 65536 UDP-портов.
Существуют различные сочетания номеров портов и приложений
(см. рис. 15):
1. Одно приложение может иметь несколько TCP-портов (например, FTP).
21
FTP
20
echo
21
7
DHCP
7
67
TCP
Мультиплексирование
68
Login
Who
513
513
UDP
IP
Демультиплексирование
Рис. 15. Пример сочетания номеров портов и приложений
2. Одно приложение может иметь несколько UDP-портов (например, DHCP).
3. Одно приложение может иметь несколько TCP-портов и UDPпортов (например, echo).
4. Один номер порта может быть закреплен за одним приложением
и только за одним из двух протоколов (TCP или UDP) (например, 67).
5. Один номер порта может быть закреплен за одним приложением и за обоими протоколами (TCP и UDP) (например, 7).
6. Один номер порта может быть закреплен за разными приложениями. Тут обязательно разные протоколы (TCP или UDP) (например, 513).
В Windows XP соответствие портов и приложений указывается
в файле \WINDOWS\system32\drivers\etc\services.
1.2.6. Сокеты TCP/UDP
[1, 2, 4, 7].
Сокет это пара IP-адрес + порт. TCPСокет это пара IP-адрес +
TCPпорт. UDPСокет это пара IP-адрес + UDPпорт.
Каждое соединение однозначно идентифицируется парой сокетов:
(IP источника + порт источника) – (IP приемника + порт приемника).
Один сокет может иметь несколько соединений (к другим разным
сокетам).
Одна пара сокетов может иметь только одно соединение.
1.2.7. Протокол UDP
RFC 768 (1980 год), …, [1, 2, 3, 4, 7, 8, 24].
User Datagram Protocol. Протокол пользовательских дейтаграмм.
Не гарантирует доставку. Работает без установки соединения хоста-отправителя и хоста-получателя.
22
Биты: 0
31
16 бит
Порт источника
16 бит
Длина дейтаграммы
16 бит
Порт приёмника
16 бит
Контрольная сумма
Максимально 65535 – 20 – 8 = 65507 байт
Данные
Рис. 16. Формат UDP-дейтаграммы
UDP не разбивает сообщение пользователя на IPпакеты. Одно сообщение пользователя передается одной UDPдейтаграммой. Если приложению нужно передать более длинное сообщение, то приложение
должно само разбить свое сообщение на отдельные UDP-дейтаграммы.
Формат UDP-дейтаграммы показан на рис. 16.
Описание полей:
Поле порт отправителя может не использоваться (в таком случае оно должно равняться 0).
Длина дейтаграммы (заголовок + данные) в байтах.
Контрольная сумма. Считается для псевдозаголовка (часть заголовка IP-пакета: IP-адрес источника, IP-адрес приемника, нулевой
байт, тип протокола, общая длина IP-пакета), заголовка дейтаграммы и данных дейтаграммы. Не обязательное поле (например, может
не использоваться при работе в высоконадежной сети). Если источник не вычислял контрольную сумму, то в поле записывается 0.
Область применения:
1. Службы реального времени, допускающие потерю данных (речь,
потоковое видео).
2. Служенная информация, допускающая потерю данных. Например, периодический обмен служебной информацией между маршрутизаторами. Не получилось в этот раз – получится в другой.
3. Широковещательные рассылки. До точки разветвления идет
только один UDP пакет.
4. Первичное использование UDP с последующим переходом на
TCP (если возникли проблемы).
5. Если в приложении имеется свой механизм контроля ошибок.
6. Если сеть гарантирует надежную доставку пакетов:
a. Построена на базе надежных каналов связи и имеет защиту от
перегрузок.
b. Имеет внутренние механизмы обнаружения/исправления ошибок и механизмы повторных передач.
23
1.2.8. Протокол TCP
RFC 793 (1981 год), 1323 (1992 год), …, [1, 2, 3, 4, 7, 8, 14, 25, 26].
Transmission Control Protocol. Протокол управления передачей.
Гарантирует доставку (если она физически возможна). Работает с установкой соединения между хостом-отправителем и хостом-получателем.
TCP рассматривает информацию приложений как неструктурированный поток байт. TCP дробит этот поток на сегменты, и собирает из сегментов этот поток (см. рис. 17).
TCP – дуплексный протокол, каждый сегмент несет с собой передаваемые данные и подтверждения относительно принятых данных. Формат TCPсегмента показан на рис. 18.
Описание полей:
Номер в последовательности. Если SYN = 0, то это номер первого
байта данных сегмента относительно начала неструктурированного
Приложение А
Приложение Б
TCP
TCP
Сегменты
Рис. 17. передача сообщений приложений через TCP
Биты: 0
31
16 бит
Порт источника
16 бит
Порт приёмника
32 бита
Номер в последовательности (данных)
32 бита
Номер подтверждения
U A P R S F
4 бита
16 бит
6 бит
R C S S Y I
Длина
Размер окна
Резерв
G K H T N N
заголовка
16 бит
16 бит
Контрольная сумма
Указатель срочности
0 … 40 байт
0 … 3 байта
Параметры (опции)
Выравнивание
Максимально 65535 – 20 – 20 = 65495 байт
Данные
Рис. 18. Формат TCP-сегмента
24
потока байт. Если SYN = 1 (применяется при установке соединения),
то это начальный номер неструктурированного потока байт и номер
первого байта данных равен этому значению плюс 1. Это поле является и идентификатором сегмента.
Номер подтверждения. Если ACK = 1, то это номер следующего
байта, который ожидает принять приемник (все предыдущие байты
приняты корректно).
Длина заголовка в словах. Минимальный размер заголовка –
20 байт (5 слов). Максимальный – 60 байт (15 слов).
Резерв. Должен быть равен 0.
Биты управления.
PSH (проталкивание данных) – команда на немедленную передачу
всех имеющихся в буфере данных (предыдущих сегментов и данного
сегмента), без ожидания (иначе протокол TCP может держать данные
в буфере и посылать их в подходящее время). На приемной стороне
все имеющиеся данные (включая этот сегмент) так же должны быть
немедленно переданы приложению.
RST – перезагрузка соединения (разрыв соединения, сброс буферов).
FIN – завершение соединения, нет данных для передачи.
Размер окна. Если ACK = 1, то это число байт, которые готов принять приемник, начиная с «номера подтверждения».
Контрольная сумма. Считается по псевдозаголовку (аналогичен
псевдозаголовку UDP), заголовку сегмента TCP и полю данных сегмента TCP. В отличие от UDP, здесь это обязательное поле.
Указатель срочности. Если URG = 1, то это смещение байта (относительно ‘номера в последовательности’ данного сегмента), который следует за срочными данными. Все байты до этого нужно передать приемнику без очереди. Байты, начиная с этого, имеют обычный статус срочности, принимаются в порядке очереди.
Параметры (опции). Не обязательное поле. Состоит из нескольких полей. Для решения вспомогательных задач. Формат опции приведен на рис. 19.
Размер опции в байтах. Учитывает поле типа опции, поле размера опции и поле данных.
Биты: 0
8 бит
Тип опции
31
8 бит
Размер опции
Длина переменная
Данные
Рис. 19. Формат опции заголовка TCP-сегмента
25
Таблица 6
Примеры опций заголовка TCP-сегмента
Тип Размер
опции опции
0
–
2
4
3
3
8
10
Данные
0 байт. Конец списка опций
2 байта. Максимальный размер данных в сегменте (MSS,
Maximum Segment Size). По умолчанию 536. Сторона 1 указывает MSS для стороны 2, и наоборот. Задается при SYN = 1
1 байт. Параметр масштабирования окна (Window scale).
Размер окна считается как «размер окна» в заголовке
*2Параметр масштабирования окна. Позволяет использовать окна
размером больше чем 216. Задается при SYN = 1
Временные отметки (Timestamp). TS Value (4 байта), TS
Echo Reply (4 байта). В исходящем сегменте можно задать
поле «TS Value». Приемник ответит полем «TS Echo Reply»,
значение которого равно TS Value. Таким образом, источник может замерить время двойного обращения (Round
Trip Time, RTT). Например, такие замеры нужны для корректировки времени повторной передачи при отсутствии
подтверждения (особенно для окон большого размера)
Для некоторых опций поля «Размер опции» и «Данные» могут
отсутствовать. Примеры опций показаны в табл. 6.
Выравнивание поля параметров до 32-х разрядного слова.
1.2.9. Протокол DHCP (BOOTP)
RFC 1531 (1993), 2131, 2132 (1997 год), …, 3315 (DHCPv6) (2003 год), …,
[1, 7, 14, 27, 28, 29, 30].
Dynamic Host Configuration Protocol. Протокол динамического
конфигурирования хоста. Основан на протоколе BOOTP (RFC 951
(1985), …) [31]. Формат DHCP-сообщения показан на рис. 20.
Описание полей:
Код операции – запрос от клиента (1), ответ от сервера (2).
Тип аппаратного адреса сети канального уровня. Например,
Ethernet (1).
Длина аппаратного адреса сети канального уровня в байтах.
Шаги. Количество DHCP-агентов, через которые прошло сообщение. Клиент прописывает 0, каждый агент увеличивает на 1.
Идентификатор транзакции. Устанавливается клиентом, позволяет клиенту определить, на какой запрос пришел ответ.
Секунды. Время с начала процесса получения адреса. Может не
использоваться (ставится в 0).
26
Биты: 0
31
8 бит
8 бит
8 бит
8 бит
Код операции Тип аппаратного адреса Длина аппаратного адреса Шаги
32 бита
Идентификатор транзакции
16 бит
Флаги
Зарезервированы
16 бит
Секунды
B
32 бита
IP-адрес клиента текущий
32 бита
IP-адрес клиента предлагаемый
32 бита
IP-адрес следующего DHCP-сервера
32 бита
IP-адрес DHCP-агента
128 бит (16 байт)
Аппаратный адрес клиента
512 бит (64 байта)
Имя DHCP-сервера
1024 бита (128 байт)
Файл
Длина переменная
Опции
Рис. 20. Формат DHCP-сообщения
Флаг B – широковещание (Broadcast). Устанавливается клиентом, чтобы в некоторых случаях сервер слал свои ответы на широковещательный IP-адрес (255.255.255.255).
IP-адрес клиента текущий. Заполняется в случае, если у клиента есть IP-адрес и клиент способен отвечать на ARP-запросы.
IP-адрес клиента предлагаемый сервером.
Файл. Имя файла загрузки на сервере, используемое при удаленной загрузке.
Опции. Формат опции приведен на рис. 21.
Размер опции в байтах. Учитывает только длину поля данных.
Для некоторых опций поля «Длина опции» и «Данные» могут отсутствовать. Примеры опций показаны в табл. 7.
Биты: 0
31
8 бит
Тип опции
8 бит
Размер опции
Длина переменная
Данные
Рис. 21. Формат опции заголовка DHCP-сообщения
27
Таблица 7
Примеры опций заголовка DHCPсообщения
Тип
опции
Размер
опции
0
1
2
3
6
12
23
26
28
0
4
4
Переменная
Переменная
Переменная
1
2
4
33
35
37
51
53
69
70
255
Данные
Заполнитель
4 байта. Маска подсети
4 байта. Смещение времени
Маршрутизаторы
Список IP-адресов DNS-серверов, доступных клиенту
Имя хоста
Время жизни IP-пакета
MTU сетевого интерфейса
Широковещательный IP-адрес
Статические маршруты для таблицы маршрутизации
Переменная
клиента
4
Время жизни записи в КЭШе ARP (в секундах)
1
Время жизни TCP-сегмента
4
Время аренды IPадреса
1
1 – DHCPDISCOVER
2 – DHCPOFFER
3 – DHCPREQUEST
4 – DHCPDECLINE
Тип DHCP-сообщения
5 – DHCPACK
6 – DHCPNACK
7 – DHCPRELEASE
8 – DHCPINFORM
Переменная Список IP-адресов SMTPсерверов, доступных клиенту
Переменная Список IP-адресов POP3серверов, доступных клиенту
0
Конец списка опций
М1
АА1 АА4
DHCPDHCPклиент 3 АА1 клиент 4 АА2
Сеть 3
АА3 DHCPсервер 2
Сеть 2
АА2 АА4
М2
DHCPАА1 клиент 1
Сеть 1
АА3 DHCPсервер 1
АА2
DHCPклиент 2
Рис. 22. Пример сети для иллюстрации алгоритма работы
DHCP-протокола
28
Алгоритм работы DHCP-протокола показан с помощью сети, показанной на рис. 22.
Алгоритм работы:
1) Клиент (UDP-порт 68) отправляет сообщение DHCPDISCOVER
всем серверам (UDP-порт 67) по широковещательному IP-адресу.
2) Серверы отвечают либо на IP-адрес клиента, либо на широковещательный IP-адрес своими сообщениями DHCPOFFER с предложениями настроек.
3) Клиент делает выбор и отправляет сообщение DHCPREQUEST
либо на IP-адрес сервера, либо на широковещательный IP-адрес с указанием сервера, настройки которого он принял (для остальных серверов это признак того, что их предложение отвергнуто).
4) Выбранный сервер посылает положительную квитанцию DHCPACK
либо на IP-адрес клиента, либо на широковещательный IP-адрес (остальные серверы аннулируют свои предложения).
5) Клиент, получив положительную квитанцию, применяет полученные настройки и переходит в рабочее состояние.
В случае, если клиент хочет продлить ранее полученные настройки, то алгоритм выполняется с шага 3.
Режимы работы DHCP-сервера:
1. Ручное назначение статических адресов. Администратор прописывает на сервере жесткое соответствие аппаратных адресов и IP-адресов.
2. Автоматическое назначение статических адресов. Сервер при
первом подключении клиента выделяет ему IP-адрес (из пула свободных IP-адресов), и при каждом последующем включении выделяет этому клиенту тот же самый IP-адрес.
3. Автоматическое назначение динамических адресов. Сервер выдает клиенту IP-адрес (из пула свободных IP-адресов) на ограниченное время (срок аренды).
3.1. Срок аренды может быть разным (от нескольких минут до нескольких недель).
3.2. Клиент начинает делать попытки продления срока аренды за
долго до истечения текущего срока аренды. Если ответа от текущего
сервера нет, идут попытки обратиться к другим серверам. Если и там
ответов нет, то переход в автономный режим.
3.3. Клиент может добровольно отказаться от своих параметров
(сообщение DCHPRELEASE).
3.4. При отключении хоста IP-адрес освобождается. Если клиент
не отказался от своих параметров, то IP-адрес освобождается по истечении срока аренды.
29
3.5. Позволяет строить сеть, количество хостов в которой больше
чем имеющееся количество IP-адресов.
3.6. Это хорошее решение при редком доступе хостов в сеть.
3.7. Нельзя использовать:
3.7.1. Для хостов, требующих постоянного IP-адреса.
3.7.2. Для серверов, требующих постоянного IP-адреса.
Если в сети (с точки зрения IP-адреса) нет DHCP-сервера, то применяется DHCP-агент (DHCP-ретранслятор). Он заранее знает IP-адрес
сервера, отлавливает запросы клиентов и передает их серверу, ответы
сервера передает клиентам.
Если DHCP-клиент уже имеет IP-адрес, то он может запросить у DHCPсервера дополнительную информацию (IP-адрес шлюза, IP-адреса DNSсерверов, маску, широковещательный адрес IP-сети клиента, …) без изменения своего IP-адреса (DHCPINFORM).
1.2.10. Система DNS
RFC 1034, 1035 (1987 год), …, [1, 3, 7, 14, 32, 33].
Соответствие доменных имен и IP-адресов. Доменное имя никаким образом не вычисляется из IP-адреса (нет алгоритмического
соответствия), следовательно, единственный вариант соответствия
это таблица.
На ранних этапах развития Интернета на каждом хосте вручную
создавался текстовый файл hosts.txt. Каждая строка содержала
одну пару «доменное имя – IP-адрес».
С ростом сети пришлось искать другие решения. Domain Name
System (DNS). Определение IP-адреса по известному доменному имени и наоборот (определение доменного имени по IP-адресу).
Формат DNS-сообщения показан на рис. 23.
Описание полей:
Идентификация – устанавливается клиентом, позволяет клиенту определить, на какой запрос пришел ответ.
QR – тип сообщения, запрос (0), ответ (1).
Тип запроса – стандартный (0), инверсный (1), запрос статуса
сервера (2).
AA (authoritative answer) – ответ от DNS-сервера, в ведении которого находится домен, упомянутый в запросе.
TC (truncated) – укороченное сообщение, полный размер ответа
превысил 512 байт, были приняты только первые 512 байт ответа.
RD (recursion desired) – устанавливается клиентом, требует от
сервера обработать запрос рекурсивно.
30
Биты: 0
31
16 бит
Идентификация
16 бит
Флаги
4 бита
4 бита
Тип
Тип AA TC RD RA 0 0 0
ответа
запроса
16 бит
16 бит
Количество записей запросов
Количество записей ответов
16 бит
16 бит
Количество записей
Количество записей
дополнительной информации
полномочных серверов имён
Длина переменная
Запросы
Длина переменная
Ответы
Длина переменная
Полномочные серверы имён
Длина переменная
Дополнительная информация
QR
Рис. 23. Формат DNS-сообщения
RA (recursion available) – устанавливается сервером, если он поддерживает рекурсию.
Тип ответа – нет ошибки (0), ошибка в формате запроса (1), сбой
в сервере (2), ошибка имени (не существует имени домена, указанного в запросе) (3).
Запрос имеет формат записи ресурса, показанный на рис. 24.
Имя – искомое имя в формате <длина части имени (1 байт)><часть
имени><длина части имени (1 байт)><часть имени>…0. Например:
www.iiioo.ru будет записано: 3www5iiioo2ru0.
Тип. Например: IP-адрес (запрос на получение IP-адреса по доменному имени) (A) (1), сервер имен (NS) (2), имя домена почтового
ящика (MB) (7), запись указателя (запрос на получение доменного
имени по IP-адресу) (PTR) (12), запись о почтовом сервере (MX) (15),
IPv6адрес (AAAA) (28), запрос зонного обмена (AXFR) (252).
Класс. Имена, адреса Интернета (IN) (1), HS (4), ANY (255), для
других объектов другие классы.
Биты: 0
31
Длина переменная
Имя
16 бит
16 бит
Тип
Класс
Рис. 24. Формат записи запроса DNS
31
Биты: 0
31
Длина переменная
Имя
16 бит
16 бит
Тип
Класс
32 бита
Время жизни
16 бит
Длина поля данных
Длина переменная
Данные
Рис. 25. Формат записи ресурса DNS (RR – resource record)
Ответы, Полномочные серверы имен, Дополнительная информация имеют одинаковый формат записи ресурса, показанный на рис. 25.
Имя – имя, которому соответствуют следующие данные ресурса.
Тип, Класс совпадают с типом и классом записи запроса.
Время жизни – количество секунд, в течение которых запись ресурса может быть КЭШирована клиентом (например, несколько дней).
Длина поля данных в байтах.
Формат поля данных зависит от типа и класса.
DNS это централизованная, распределенная служба, построенная
по клиент-серверному механизму. DNS-серверы поддерживают распределенную базу, DNS-клиенты обращаются к DNS-серверам с запросами.
Для каждого домена имен создается свой DNS-сервер.
DNS-сервер хранит:
1) Информацию обо всех именах его домена (прописывается администратором).
a. Информацию об адресах поддоменов чаще всего не хранит.
2) IP-адреса DNS-серверов своих поддоменов.
Для обслуживания корневого домена выделено несколько десятков дублирующих друг друга DNS-серверов. Их IP-адреса широко
известны. Эти сервера хранят информацию обо всех DNS-серверах,
обслуживающих домены первого уровня.
Существуют две схемы разрешения имен: рекурсивная (косвенная) и нерекурсивная (итеративная).
При рекурсивной схеме DNS-запрос посылается DNS-серверу, и если
у него есть информация для ответа, то он шлет ее в DNS-ответе. Если
у DNS-сервера нет информации для ответа, то он сам выполняет ее поиск у других DNS-серверов (по рекурсивной или нерекурсивной схеме).
32
При нерекурсивной схеме DNS-запрос посылается DNS-серверу, и
если у него есть информация для ответа, то он шлет ее в DNS-ответе.
Если у DNS-сервера нет информации для ответа, то он шлет DNSответ с указанием полномочных или корневых DNS-серверов, у которых инициатор DNS-запроса должен сам запрашивать информацию
(по рекурсивной или нерекурсивной схеме).
Полномочные и корневые DNS-серверы при отсутствии информации у себя работают с полномочными DNS-серверами поддоменов
(сами их опрашивают при рекурсивной схеме или шлют инициатору
DNS-запроса DNS-ответы с их адресами при нерекурсивной схеме).
Рекурсивные и нерекурсивные схемы могут применяться в разных
сочетаниях даже в ходе одного поиска через несколько DNS-серверов.
Система DNS может выполнять распределение нагрузки на DNSсерверы, которые закреплены за одним сайтом. DNS-сервер в разных DNS-ответах может прописывать одни и те же полномочные
DNS-серверы в разном порядке. Распределение нагрузки получается, например, если DNS-клиент всегда выбирает из этого списка
первый DNS-сервер.
В системе DNS обычно используются запросы UDP (порт 53).
Если приходят сообщения с ошибками или размер данных ответа
больше 512 байт, то запросы могут идти по TCP (порт 53).
Существуют первичный сервер и вторичные. Первичный всегда
один, вторичных может быть много. Администратор настраивает только первичный сервер. Вторичные периодически (например,
с периодом несколько часов) запрашивают информацию у первичного – зонные обмены (всегда по TCP).
Используется DNS-кэширование, северы и клиенты часто выполняют кэширование проходящих через них ответов. Обычно от
нескольких часов до нескольких дней.
Обратная зона
Та же служба DNS выполняет и обратную задачу: нахождение
доменного имени по IP-адресу.
Обратная зона – это система таблиц, которая хранит соответствие
между IP-адресами и доменными именами хостов некоторой сети.
Эта задача решается по тем же самым алгоритмам, что и прямая
задача. Числовые IP-адреса (например, a4.a3.a2.a1) представляются в виде доменного имени (строки) «a1.a2.a3.a4» (верхним доменом
считается старшая часть адреса a4).
Для каждого домена заводится своя обратная зона и свой DNS-сервер.
33
Корнем в этом доменном имени является специальная зона in-addr.
arpa, задача которой – хранить записи о серверах, поддерживающих старшие обратные зоны. В итоге полное доменное имя a1.a2.a3.a4.in-addr.arpa.
Серверы обратных зон используют базы данных не зависящие от
файлов основных зон.
1.3. Сетевые утилиты ОС Windows XP/7
1.3.1. Ping
Утилита ping [14] посылает серию ICMP-эхо-запросов и ждет на них
ICMP-эхо-ответы. Выводится время от момента отправки эхо-запроса
до момента приема эхо-ответа, TTL принятого эхоответа. Если время
сильно отличается, значит сеть работает нестабильно. Если за установленное время тайм-аута эхо-ответа нет, или пришло ICMP-сообщение
об ошибке, то утилита ping выведет соответствующее сообщение.
Справка утилиты выводится по команде «ping» (смори рис. 26, 27).
Пример вывода утилиты показан на рис. 28, 29.
1.3.2. Tracert
Tracert (Windows), traceroute (Unix).
На конечный хост отправляется ICMP-эхозапрос в IP-пакете с TTL
равным 1. Первый маршрутизатор уменьшает TTL на 1, получает 0 и
шлет обратно ICMP-сообщение об ошибке. В IP-пакете этого ICMPсообщения указывается IP-адрес маршрутизатора. Далее шлется ICMPзапрос «эхо-запрос» в IP-пакете с TTL равным 2. И т. д. Выводится число
хопов до маршрутизатора, время для трех попыток (от момента отправки запроса до момента приема ICMP-сообщения об ошибке).
Рис. 26. Пример справки утилиты ping в ОС Windows XP
34
Рис. 27. Пример справки утилиты ping в ОС Windows 7
Рис. 28. Пример вывода утилиты ping в ОС Windows XP
Рис. 29. Пример вывода утилиты ping в ОС Windows 7
35
Справка утилиты выводится по команде «tracert» (см. рис. 30, 31).
Пример вывода утилиты показан на рис. 32, 33.
Рис. 30. Пример справки утилиты tracert в ОС Windows XP
Рис. 31. Пример справки утилиты tracert в ОС Windows 7
Рис. 32. Пример вывода утилиты tracert в ОС Windows XP
Рис. 33. Пример вывода утилиты tracert в ОС Windows 7
36
1.3.3. Ipconfig
Позволяет работать с сетевыми интерфейсами хоста. Справка
утилиты выводится по команде «ipconfig /?» (см. рис. 34, 35).
Рис. 34. Пример справки утилиты ipconfig в ОС Windows XP
Рис. 35. Пример справки утилиты ipconfig в ОС Windows 7
37
Рис. 36. Пример вывода утилиты ipconfig в ОС Windows XP
Рис. 37. Пример вывода утилиты ipconfig в ОС Windows 7
Пример вывода утилиты ipconfig показан на рис. 36, 37.
1.3.4. Arp
Позволяет работать с ARP-таблицей хоста. Справка утилиты выводится по команде «arp» (см. рис. 38, 39).
Пример вывода утилиты показан на рис. 40, 41.
Рис. 38. Пример справки утилиты arp в ОС Windows XP
38
Рис. 39. Пример справки утилиты arp в ОС Windows 7
Рис. 40. Пример вывода утилиты arp в ОС Windows XP
Рис. 41. Пример вывода утилиты arp в ОС Windows 7
1.3.5. Nslookup
Позволяет работать с системой DNS. Справка утилиты выводится по команде «help» (см. рис. 42, 43).
39
Рис. 42. Пример справки утилиты nslookup в ОС Windows XP
Рис. 43. Пример справки утилиты nslookup в ОС Windows 7
40
1.4. Окна состояния и настройки сети
1.4.1. В ОС Windows XP
Для открытия окна состояния сети надо кликнуть на иконку сети
в правом нижнем углу рабочего стола, выбрать в появившемся окне
закладку «Поддержка», нажать кнопку «Подробности» (см. рис. 44).
Для открытия окна настроек сети надо кликнуть на иконку сети
в правом нижнем углу рабочего стола, выбрать в появившемся окне
закладку «Общие», нажать кнопку «Свойства», выбрать компонент
«Протокол Интернета», нажать кнопку «Свойства» (см. рис. 45).
Рис. 44. Открытие окна состояния сети в ОС Windows XP
Рис. 45. Открытие окна настроек сети в ОС Windows XP
41
1.4.2. В ОС Windows 7
Для открытия окна состояния сети надо кликнуть на иконку
сети в правом нижнем углу рабочего стола, перейти в появившемся
окне по ссылке «Центр управления сетями и общим доступом», перейти в появившемся окне по ссылке «Изменение параметров адаптера», выбрать нужный сетевой интерфейс, дважды кликнуть по
нему, в появившемся окне нажать кнопку «Сведения» (см. рис. 46).
Для открытия окна настроек сети надо кликнуть на иконку сети
в правом нижнем углу рабочего стола, перейти в появившемся окне по
ссылке «Центр управления сетями и общим доступом», перейти в появившемся окне по ссылке «Изменение параметров адаптера», выбрать
Рис. 46. Открытие окна состояния сети в ОС Windows 7
42
Рис. 47. Открытие окна настроек сети в ОС Windows 7
нужный сетевой интерфейс, вызвать его выпадающее меню, выбрать
пункт «Свойства», выбрать компонент «Протокол Интернета», нажать
кнопку «Свойства» (см. рис. 47).
1.5. Анализатор трафика wireshark
Анализатор трафика (sniffer) – программа или программно-аппаратное устройство, предназначенное для прослушивания и анализа
трафика в сети.
В разделяемой среде анализатор трафика получает данные со своего сетевого интерфейса, на который идет вся информация сети.
Wireshark – простой и свободно распространяемый (лицензия
GNU GPL) программный анализатор трафика. Выдает информацию
43
о пакетах, передаваемых на сетевой интерфейс и принимаемых от сетевого интерфейса.
Для входа в режим анализа трафика wireshark необходимо:
1) Для wireshark в ОС Windows XP или wireshark legacy в ОС
Windows 7 запустить программу. Откроется главное окно. Нажать
поле ‘Interface List’. Откроется окно доступных сетевых интерфейсов. Выбрать сетевой интерфейс. Нажать кнопку ‘Options’. Откроется окно настроек захвата трафика. Существует возможность задать
фильтр для захвата трафика сетевым интерфейсом (Capture Filter).
Нажать кнопку ‘Start’ (см. рис. 48).
Рис. 48. Запуск анализатора трафика wireshark (версии 1.10.8)
в ОС Windows XP
44
Рис. 49. Запуск анализатора трафика wireshark (версии 2.0.5)
в ОС Windows 7
2) Для wireshark в ОС Windows XP запустить программу. Откроется главное окно. Существует возможность задать фильтр для
захвата трафика сетевым интерфейсом (capture filter). Нажать на
требуемый сетевой интерфейс (см. рис. 49).
Откроется основное рабочее окно, состоящее из областей:
– краткое описание всех пакетов, прошедших через фильтр сетевого интерфейса;
– внутренняя вложенная структура одного сообщения и значения
его полей;
– дамп этого одного сообщения в том виде, в котором оно идет по
каналу.
В основном рабочем окне так же существует возможность задать
фильтр сообщений (Filter / display filter). В отличие от фильтра сетевого интерфейса (который отбрасывает лишние сообщения, т. е.
они теряются) этот фильтр является фильтром отображения сообщений и всегда работает с полным списком сообщений, полученных
от сетевого интерфейса.
45
2. УЧЕБНО-ИССЛЕДОВАТЕЛЬСКИЕ ЛАБОРАТОРНЫЕ РАБОТЫ
2.1. ЛР № 1
Цели работы:
1) Изучение сетевых протоколов Ethernet, ARP, IP, ICMP, UDP,
TCP, DHCP, DNS с помощью сетевых утилит ping, tracert, ipconfig и
анализатора трафика wireshark.
2) Получение навыков самостоятельного поиска информации и
самостоятельного изучения предметной области.
Сетевые утилиты и сетевые протоколы изучаются студентом самостоятельно.
2.2. ЛР № 2
Цели работы:
1) Изучение сетевых протоколов Ethernet, ARP, IP, ICMP, UDP,
TCP, DHCP, DNS с помощью сетевых утилит arp, nslookup и анализатора трафика wireshark.
2) Получение навыков самостоятельного поиска информации и
самостоятельного изучения предметной области.
Сетевые утилиты и сетевые протоколы изучаются студентом самостоятельно.
2.3. ЛР № 3
Цели работы:
1) Изучение сетевых протоколов Ethernet, ARP, IP, ICMP, UDP,
TCP, DHCP, DNS с помощью сетевых окон ОС (состояния и настроек)
и анализатора трафика wireshark.
2) Получение навыков самостоятельного поиска информации и
самостоятельного изучения предметной области.
Сетевые окна ОС, анализатор трафика и сетевые протоколы изучаются студентом самостоятельно.
2.4. Варианты заданий
Варианты заданий приведены в табл. 8. Они одинаковы для каждой лабораторной работы.
X – любой (на выбор студента) неиспользованный (студентом и другими студентами группы) параметр из новой области (утилита, протокол,
…), которая не охвачена изначально заданными параметрами варианта.
Если в утилите / окне используемой ОС нет заданного в варианте
параметра/ключа, он заменяется на другой параметр / ключ, наиболее близкий по смыслу, если такого нет, то на любой другой.
46
Таблица 8
Варианты заданий
Вар.
1
2
3
4
5
6
7
8
9
Параметры
С помощью анализатора
трафика узнать моменты времени в течение
дня, в которые передавались IP пакеты
nslookup class = X
ARP. Тип операции
IPv6. DSCP. Класс
ping –j
nslookup domain = NAME
Ethernet. DA
ping –a
Окно настроек. ИсЭкспериментально
пользовать следующие проверить работу брауадреса DNS-северов
зера с КЭШем DNS
tracert –w
ipconfig /setclassid
Анализатор трафика.
tracert на широковеStatistics. Protocol
щательный IP-адрес
Hierarchy
DHCP. АА клиента
ping –w
ARP. СА отправителя
Трафик протокола FTP
DNS. Дополнительная информация. Данные
(прямая задача)
X
Анализатор трафика. Filter
X
Анализатор трафика. Analyze. Expert
Info. Errors
X
ipconfig. Маска
подсети в выдаваемой информации
X
DNS. Полномочные
серверы имен. Имя
(прямая задача)
X
ping –6
IPv4. Длина заголовка
С помощью анализатора Найти чужие Ethernet
трафика узнать момен- кадры сети (которые
Окно состояния.
ты времени в течение отправлены не с нашеDNS-сервер
дня, в которые переда- го хоста и не нашему
вались ARP сообщения
хосту)
IPv6. Данные
TCP. RST
X
DNS.Тип запроса
MAC. Индивидуальный
DHCP. B
(обратная задача)
ipconfig адаптер
tracert –h
X
DNS. AA (прямая
DHCP. Опции. Тип
MAC.Адрес интерфейса
задача)
опции
IPv4. Параметры.
arp –d
X
Данные
Экспериментально
DNS. Ответ. Длина
IPv6. IP-адрес источпроверить работу
поля данных (пряника
tracert с КЭШем DNS
мая задача)
DHCP. IP-адрес клиенping на групповой
X
та текущий
IP-адрес
47
Продолжение табл. 8
Вар.
10
11
12
13
14
15
16
48
Параметры
Найти несколько
сайтов, передающих
информацию по TCP
протоколу
ipconfig / displaydns
Анализатор трафика.
DHCP. Имя DHCPAnalyze. Expert Info.
сервера
Warnings
ARP.АА отправителя
X
С помощью анализатора
трафика узнать моменIPv4. Параметры. Код Работа механизма
ты времени в течение
опции
cookies
дня, в которые передавались DHCP сообщения
ipconfig / registerdns
ARP. Длина АА
X
ipconfig. IP-адрес в вы- Узнать физический ад- DNS. Запрос. Имя
даваемой информации рес другого компьютера (прямая задача)
nslookup ls –a
IPv4. Тип сервиса. R
X
Узнать на какие
Окно настроек. Исполь- Время жизни динамисайты выходил
зовать следующий IP- ческой записи в КЭШе
другой компьютер
адрес. Основной шлюз
ARP
локальной сети
ICMP. Данные. Слуnslookup type=X
X
чайные
С помощью анализатора трафика узнать
насколько увеличивают время отклика для
утилиты ping обращения к системе DNS
Трафик протокола
HTTPS
ipconfig / flushdns
arp –a
ARP. Тип сети
DHCP. Длина АА
IPv6. Лимит переходов
X
DHCP. Шаги
Сгенерировать DNSсообщения, вложенные в протокол TCP
tracert –S
X
Отправить DNSзапросы на несколько корневых DNS
серверов
DHCP. IPадрес
следующего
DHCPсервера
nslookup ls –t TYPE
X
Узнать количество
сетевых карт в локальной сети, сделанных
тем же производителем, что и сетевая карта нашего компьютера
IPv6. Следующий
заголовок
Продолжение табл. 8
Вар.
17
18
19
20
21
22
Параметры
Найти сообщения
об ошибках в сети
IPv4. DF
DHCP.
Код операции
Инициировать зонный
обмен DNS
TCP. Размер окна
X
Распределение нагрузки
на полномочные DNSсерверы, закрепленные
за одним сайтом
Экспериментально
узнать по какому
протоколу выполняется доступ к папкам
другого компьютера
С помощью анализатора трафика узнать время между
ARP-запросом и
ARP-ответом
IPv6. DSCP. ECN
ICMP. Контрольная
сумма
X
nslookup NAME1
NAME2
Анализатор трафика.
Statistics. HTTP
Трафик IPv4 адресов класса «D»
ARP. Тип протокола
ICMP. Тип
X
Трафик при обновлении какой-нибудь программы
ICMP. Данные.
IP-заголовок
DNS. Идентификация (прямая
задача)
Окно состояния.
Физический адрес
IPv4.
Общая длина пакета
X
Найти в сети кадры
Etherner, в которые
вложены пакеты, не
соответствующие типу
поля T
Экспериментально
проверить работу
nslookup с КЭШем
ARP
Узнать все начальные записи
зоны DNS домена,
к которому принадлежит сайт
UDP. Контрольная
сумма
TCP. Параметры.
Тип опции
X
Экспериментально узнать с какими
UDPсокетами устанавливали соединения
с других компьютеров
ICMP.
Дополнительное.
Порядковый номер
nslookup экспериментально продемонстрировать
разницу между
командами server и
lserver
IPv4. DSCP. IN
ipconfig. MAC-адрес
в выдаваемой информации
X
49
Продолжение табл. 8
Вар.
23
Параметры
Найти сайт, за котоЭкспериментально
рым закреплено макпроверить работу ping
симальное количество
с КЭШем DNS
IP-адресов
Окно состояния.
IP-адрес
24
25
26
27
Экспериментально
узнать используются
Окно настроек.
ли для решения пряИспользовать следумой и обратной задачи ющий IP-адрес.Маска
разные DNS-сервера
подсети
или один
X
tracert. Время
передачи-приема в выдаваемой
информации
nslookup root
TCP. Параметры.
Данные
X
arp. Интерфейс в выдаваемой информации
Сравнить несколько
сайтов по времени
отклика и качеству
связи
DNS. Тип ответа
(прямая задача)
UDP. Данные
IPv4. Тип сервиса. C
Добавление динамической записи в таблицу
ARP
Трафик протокола
POP3
ping –l
TCP. PSH
Найти пакеты разных
канальных протоколов
Экспериментально
(например, Ethernet, проверить работу ping
Wi-Fi, BlueTooth,
с КЭШем ARP
TokenRing)
X
DNS. Дополнительная информация. Длина поля
данных (обратная
задача)
X
DNS. Запрос. Тип
(прямая задача)
ipconfig / showclassid
IPv4. Номер версии
X
Ethernet.Data
IPv4. Протокол верхнего уровня
DNS. Количество
записей ответов
(обратная задача)
Анализатор трафика.
Statistics. Endpoints
Визуально изучить
разницу в информации протоколов HTTP
и HTTPS
X
28
50
IPv4. Контрольная
сумма заголовка
tracert на широковещательный
физический адрес
Продолжение табл. 8
Вар.
29
Параметры
Экспериментально узнать по каким папкам
удаленного компьютера ходили с другого
компьютера
nslookup server NAME
30
Окно состояния.
DHCP-сервер
ARP. СА получателя
31
32
33
34
С помощью анализатора трафика узнать
время между ICMP
эхо-запросом и ICMP
эхо-ответом
IPv4. Идентификатор
пакета
Анализатор трафика.
Analyze. Expert Info.
Details
IPv4.
IP-адрес источника
Анализатор трафика.Statistics.
TCP StreamGraph
X
DNS. QR (прямая
задача)
X
Узнать адреса (IP и
Сравнить время отсимвольные) всех
клика и качество
Анализатор трапочтовых серверов, обсвязи до разных
фика.Statistics.
служивающих домен,
IPадресов, закрепленPacket Lengths
к которому принадленых за одним сайтом
жит сайт
ping на широковещательный физический
nslookup retry = X
X
адрес
IPv4. Тип сервиса. PR TCP. Длина заголовка
ipconfig / all
Экспериментально
DNS. Полномочные
проверить работу
серверы имен. Класс
X
nslookup с КЭШем
(прямая задача)
DNS
Экспериментально
DNS. Дополниузнать на какие IPАнализатор трафика. тельная информаадреса запускались
Capture Filter
ция.Тип (прямая
утилиты tracert с друзадача)
гих компьютеров
Окно состояния.Основnslookup srchlist = N1…
X
ной шлюз
С помощью анализатора трафика узнать
DNS. Дополнинасколько увеличивательная информаIPv4. DSCP. Вариант
ют время отклика для
ция. Имя (прямая
утилиты tracert образадача)
щения к системе DNS
arp if_addr
TCP.URG
X
51
Продолжение табл. 8
Вар.
35
36
37
38
39
40
41
52
Параметры
Экспериментально
узнать с какими TCPping на широковещаDHCP. Опции.
сокетами устанавливательный IP-адрес
Размер опции
ли соединения с других компьютеров
Трафик протокола
IPv6. IP-адрес приX
SMTP
емника
С помощью анализатора
трафика узнать время
DNS.Полномочные
TCP.Номер в помежду DHCP-сообщением серверы имен.Данные
следовательности
запроса и DHCP(обратная задача)
сообщением ответа
tracert –6
Ethernet. Pad
X
Экспериментально узнать IP-адреса и DNS- DNS. Дополнительная DHCP.Идентифиимена всех корневых
информация. Класс
катор транзакции
DNS-серверов
IPv4. Тип сервиса. T
ping –r
X
С помощью утилиты
tracert.Количество
arp закрыть доступ
IPv4. Параметр.
прыжков в выдаваемой
своего компьютера
Размер опции
информации
в Интернет
nslookup [no]search
Ethernet. FCS
X
IPv4. Время жизни
DHCP. Секунды
ping –n
Экспериментально узнать на какие страницы
DNS. Запрос. Класс
X
сайтов в браузере ходи(обратная задача)
ли с другого компьютера
Узнать IP-адрес компьютера по его имени
DHCP. IP-адрес
Окно состояния.
в локальной сети
клиента предлагаМаска подсети
(не имени DNS, а имеемый
ни компьютера)
ping –i
IPv6. Метка потока
X
С помощью анализатора
Найти сайт, за
трафика узнать моменАнализатор трафика.
которым закреты времени в течение
Statistics. DNS
плено несколько
дня, в которые передаIP-адресов
вались TCP сегменты
ping –R
ipconfig /renew
X
Продолжение табл. 8
Вар.
42
43
44
45
46
47
48
Параметры
С помощью анализатора трафика узнать
Анализатор трафика.
IPv4.
время между DNSAnalyze. Expert Info.
Выравнивание
сообщением запроса и
Notes
DNS-сообщением ответа
arp inet_addr
ping –t
X
Найти несколько сайтов,
ipconfig. DNStracert на групповой
передающих информасерверы в выдаваеIP-адрес
цию по UDP протоколу
мой информации
ping –v
DHCP. Файл
X
Трафик протокола
ipconfig / release
IPv4. Данные
HTTP
Узнать, через какой
тип сетевого устройства (шина, концентра- Время жизни записи
X
тор (hub), коммутатор
в КЭШе DNS
(switch)) компьютер
соединен с сетью
С помощью анализатора трафика узнать
ICMP.
моменты времени
DNS. TC
Дополнительное.
в течение дня, в кото(прямая задача)
IP-адрес
рые передавались UDP
дейтаграммы
Ethernet. T
IPv4. DSCP. Класс
X
ARP. АА получателя UDP. Порт приемника
IPv4.MF
Окно состояния.
nslookup lserver
X
Тип адреса
NAME
Узнать адреса (IP и
символьные) всех DNS
Экспериментально
tracert на группосерверов, обслуживаю- проверить работу бравой физический
щих домен, к которому узера с КЭШем ARP
адрес
принадлежит сайт
Размер поля данных
IPv6. DSCP. Вариант
X
TCP-сегмента
ping. Время передачиАнализатор трафиDNS.RD (обратная
приема в выдаваемой
ка.Statistics.IPv4
задача)
информации
Statistics
TCP.
ARP.Длина СА
X
Контрольная сумма
53
Продолжение табл. 8
Вар.
49
50
51
52
53
54
55
54
Параметры
TCP. FIN
IPv4. Параметры.
Класс
ICMP. Код
DHCP.
IP-адрес DHCP-агента
Окно состояния.
Аренда истекает
X
Найти компьютеры локальной сети, работающие в настоящий момент
по протоколу IPv6
TCP. Параметры.
Размер опции
Трафик протокола
SSH
nslookup NAME
IPv4. DSCP. ECN
X
Окно настроек. Дополнительно. Параметры
IP. Основные шлюзы.
Добавить
ipconfig. Аренда истекает в выдаваемой
информации
DNS. Ответ. Класс
(обратная задача)
nslookup root = NAME
IPv4. Тип сервиса. D
X
С помощью анализатора
трафика узнать моменты времени в течение
дня, в которые передавались ICMP сообщения
IPv6.
Дополнительные
заголовки
ping на групповой
физический адрес
TCP. Резерв
Анализатор трафика. Statistics. DHCP
(BOOTP) Statistics
ping –4
nslookup ls –d
X
DNS. Ответ. Данные
(обратная задача)
IPv6. DSCP. IN
nslookup ixfrver=X
X
С помощью анализатора трафика узнать
время между TCPсегментом «запрос на
установку соединения»
и TCP-сегментом «подтверждение установки
соединения»
ICMP.
Дополнительное.
Идентификатор
DNS. Количество
записей дополнительной информации (прямая задача)
Ethernet. SFD
IPv6.
Размер поля данных
X
Трафик протокола
IGMP
Трафик IPv4 адресов
класса «E»
nslookup [no]d2
TCP. ACK
tracert –R
X
Продолжение табл. 8
Вар.
56
Параметры
Анализатор трафика. Statistics. UDP
Multicast Streams
TCP. SYN
57
58
59
60
61
63
tracert –4
X
Анализатор трафика.
DNS. Ответ. Время
Statistics. IPv6 Statistics жизни (прямая задача)
IPv4. Смещение
фрагмента
DHCP. Опции. Данные
X
Анализатор трафика. Statistics.
Comments
Summary
TCP. Данные
ipconfig. DNS-суффикс DNS. Дополнительная
подключения в выдаинформация. Время
ваемой информации жизни (обратная задача)
nslookup [no]defname
TCP.
Номер подтверждения
X
Ethernet.
преамбула (без SFD)
Анализатор трафика. Statistics.
Conversations
nslookup [no]debug
arp –N
DHCP. Тип АА
X
Сравнить несколько
сайтов по длине маршрута до них, времени отклика и качеству связи
DNS-сообщения
по протоколу TCP
tracert –j
nslookup [no]vc
TCP. Порт источника
X
Узнать сколько IPАнализатор трафика.
адресов соответствует
Statistics. Flow Graph
одному доменному имени
DNS. RA (прямая задача)
62
Найти сайт, за котоОкно настроек.
рым закреплено неИспользовать следуюсколько IP адресов
щий IP-адрес. IP-адрес
с разными именами
IPv4. IP-адрес
назначения
TCP.
Выравнивание
X
Проверить в какой
Трафик протокола,
ipconfig. Аренда
протокол вкладывакоторый не встречался получена в выдаваются DNS-сообщения
ни в одном варианте
емой информации
длиной более 512 байт
IPv6. Номер версии
ping –s
X
arp –s
TCP.
Указатель срочности
UDP.
Длина дейтаграммы
nslookup [no]msxfr
ping –f
X
55
Окончание табл. 8
Вар.
64
Параметры
С помощью анализатора
DNS. Полномочные
трафика узнать моменсерверы имен.Длина
ты времени в течение
поля данных (прямая
дня, в которые передазадача)
вались Ethernet кадры
Анализатор трафика.
Statistics. IO Graph
65
66
67
68
69
70
56
DNS. Количество
записей полномочных
серверов имен
(прямая задача)
tracert –d
TCP. Порт приемника
ipconfig.
DHCPсервер в выдаваемой информации
X
Окно настроек.
Анализатор трафиДополнительно. DNS. ка. Statistics. Show
Добавить
address resolution
Ethernet. SA
X
Сравнить маршруты,
время отклика и качество связи до разных
IP-адресов, закрепленных за одним сайтом
Анализатор трафика.
Statistics.Summary
DNS.Количество
записей запросов
(прямая задача)
nslookup [no]recurse
arp –v
X
DNS. Полномочные серверы имен. Время жизни (обратная задача)
UDP. Порт источника
IPv4. Параметры.
CF
ping –k
MAC.OUI
X
arp eth_addr
Окно состояния.
Аренда получена
DNS. Ответ. Тип
(прямая задача)
ping –S
nslookup all
X
Экспериментально
проверить работу
tracert с КЭШем ARP
DNS. Полномочные
серверы имен. Тип
DHCP. Опции.
Данные.
Тип сообщения
IPv6. Приоритет
MAC. Глобальный
X
Экспериментально
узнать по какому протоколу выполняется
просмотр страниц
сайтов в браузере
Анализатор трафика.
Analyze. Expert Info.
Chats
DNS. Ответ. Имя
(прямая задача)
ipconfig. Основной
шлюз в выдаваемой
информации
nslookup timeout = X
X
2.5. Содержание отчета
Структура содержания отчета для каждой лабораторной работы
одинакова:
1. Цель работы.
2. Вариант задания.
3. Для каждой заданной в лабораторной работе утилиты, окна,
анализатора сетевого трафика (сначала все пункты для одной утилиты, потом для второй, потом для третьей и т. д.):
3.1. Краткое описание.
3.2. Список всех адресов, имен, времен, сетевых протоколов, полей кадров/пакетов протоколов, масок, сетевых интерфейсов, таблиц, КЭШей,
режимов работы с которыми работает утилита / окно / анализатор (не переписывание / копирование описания всех входных параметров / ключей
утилиты / окна / анализатора с описанием их действий). Для каждого:
3.2.1. Исходные значения (численные / символьные значения по
умолчанию).
3.2.2. Режим работы со значением (можно / нельзя просматривать,
можно / нельзя изменять, можно / нельзя добавлять, можно / нельзя
удалять).
3.3. Пример использования.
3.3.1. Практическая демонстрация преподавателю.
4. Результаты изучения заданных в варианте параметров сетевыми утилитами, окнами настроек/состояния, анализатором трафика
и другими подручными средствами. Для каждого параметра (сначала все пункты для одного параметра, потом для второго, потом для
третьего и т. д.):
4.1. Описание назначения утилиты/протокола к которому относится параметр.
4.2. Описание назначения параметра.
4.3. Результат работы с параметром:
4.3.1. Краткий словесный алгоритм простейшего мониторинга работы параметра (отслеживание значений параметра без влияния на
них со стороны пользователя).
4.3.1.1. Практическая демонстрация преподавателю (если возможно увидеть значения параметра).
4.3.1.2. Доказательство невозможности мониторинга значения параметра (если невозможно увидеть значения параметра).
4.3.2. Краткий словесный алгоритм простейшего активного тестирования работы параметра (изменение значений параметра под влиянием действий пользователя).
57
4.3.2.1. Практическая демонстрация преподавателю (если возможно изменять значения параметра).
4.3.2.2. Доказательство невозможности активного тестирования параметра (если пользователю невозможно изменять значения параметра).
5. После завершения работы все критичные сетевые параметры
ОС необходимо вернуть в исходное состояние.
6. Выводы.
7. Список использованных источников.
2.6. Контрольные вопросы
1. Почему знание формата пакета не дает полной информации
о возможностях протокола?
2. Приведите пример вложенности существующих протоколов.
3. Каким образом отличаются в канале кадры Ethernet разных форматов?
4. Зачем необходимо выполнять отображение сетевых адресов в аппаратные?
5. Алгоритм работы протокола ARP в канальной сети, поддерживающей широковещание.
6. Дополнительные моменты протокола ARP.
7. Алгоритм работы протокола ARP в канальной сети, не поддерживающей широковещание.
8. Самообращенные ARP запросы.
9. Алгоритм работы протокола Proxy-ARP.
10. Алгоритм работы протокола RARP.
11. Передача IP-пакета через несколько сетей.
12. В каких случаях IP-маршрутизатор не отправляет ICMP-сообщения об ошибках?
13. Что такое порт? Какая у него область допустимых значений?
14. Какие существуют варианты сочетания портов и приложений?
15. Что такое сокет?
16. Область применения протокола UDP.
17. Алгоритм работы протокола DHCP.
18. Режимы работы DHCP-сервера.
19. Какую информацию хранит у себя DNS-сервер?
20. Алгоритмы работы схем разрешения имен DNS.
21. Обратная зона DNS.
2.7. Система подсчета рейтинговых очков
Система подсчета рейтинговых очков для одной лабораторной работы приведена в табл. 9.
58
Таблица 9
Система подсчета рейтинговых очков
Пункты содержания отчета
Баллы
Контрольные вопросы
1,2
3
4
5,6,7
1
2
3
0,5
10
11
0,5
1
1
1
Всего
25
Существует система штрафов (вычетов).
59
Список использованных источников
1. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы,
технологии, протоколы: Учебник для вузов. 4-е изд. – СПб.: Питер,
2012. – 944 с.
2. Современные компьютерные сети. 2-е изд. / В. Столлингс. –
СПб.: Питер, 2003.
3. Ирвин Дж., Харль Д. Передача данных в сетях: инженерный подход. – СПб: БХВ-Петербург, 2003.
4. Кульгин М. Технологии корпоративных сетей. Энциклопедия. –
СПб: Питер, 1999.
5. Тюхтин, М. Ф. Системы Интернет-телевидения. – М.: Горячая
линия – Телеком, 2008. – 320 с.
6. RFC 791. Internet protocol. September 1981.
7. Куроуз Д., Росс К. Компьютерные сети: Нисходящий подход.
6-е изд. – М.: «Э», 2016. – 912 с.
8. Телекоммуникационные технологии. Введение в технологии GSM:
учебное пособие / С. Б. Макаров [и др.]. – 2-е изд., испр. –М.: Академия,
2008. – 256 с.
9. RFC 826. An Ethernet Address Resolution Protocol or Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware. November 1982.
10. RFC 1213. Management Information Base for Network Management of TCP/IP-based internets: MIB-II. March 1991.
11. RFC 1027. Using ARP to Implement Transparent Subnet Gateways. October 1987.
12. RFC 903. A Reverse Address Resolution Protocol. June 1984.
13. RFC 906. Bootstrap Loading using TFTP. June 1984.
14. Ватаманюк А. И. Создание, обслуживание и администрирование сетей на 100 %. СПб: Питер, 2010. – 232 с.
15. RFC 3168. The Addition of Explicit Congestion Notification
(ECN) to IP. September 2001.
16. RFC 2474. Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers. December 1998.
17. RFC 1349. Type of Service in the Internet Protocol Suite. July 1992.
18. RFC 1122. Requirements for Internet Hosts – Communication
Layers. October 1989.
19. RFC 1700. Assigned numbers. October 1994.
20. RFC 1752. The Recommendation for the IP Next Generation
Protocol. January 1995.
60
21. RFC 2460. Internet Protocol, Version 6 (IPv6) Specification. December 1998.
22. RFC 792. Internet control message protocol. September 1981.
23. RFC 3232. Assigned Numbers: RFC 1700 is Replaced by an Online Database. January 2002.
24. RFC 768. User Datagram Protocol. 28 August 1980.
25. RFC 793. Transmission control protocol. September 1981.
26. RFC 1323. TCP Extensions for High Performance. May 1992.
27. RFC 1531. Dynamic Host Configuration Protocol. October 1993.
28. RFC 2131. Dynamic Host Configuration Protocol. March 1997.
29. RFC 2132. DHCP Options and BOOTP Vendor Extensions. March 1997.
30. RFC 3315. Dynamic Host Configuration Protocol for IPv6
(DHCPv6). July 2003.
31. RFC 951. Bootstrap protocol (BOOTP). September 1985.
32. RFC 1034. Domain names – concepts and facilities. November 1987.
33. RFC 1035. Domain names – implementation and specification.
November 1987.
61
СОДЕРЖАНИЕ
Обозначения и сокращения.......................................................
3
1. ОБЩАЯ ТЕОРЕТИЧЕСКАЯ ИНФОРМАЦИЯ...........................
1.1. Вложенность сообщений различных уровней................... 1.2. Краткое описание протоколов........................................ 1.2.1. Ethernet/10/Fast/Giga/10G..................................... 1.2.2. Соответствие сетевых и аппаратных адресов......... 1.2.3. Протокол IP......................................................... 1.2.4. Протокол ICMP.................................................... 1.2.5. Порты UDP/TCP.................................................. 1.2.6. Сокеты TCP/UDP.................................................. 1.2.7. Протокол UDP...................................................... 1.2.8. Протокол TCP...................................................... 1.2.9. Протокол DHCP (BOOTP)..................................... 1.2.10. Система DNS...................................................... 1.3. Сетевые утилиты ОС Windows XP/7................................ 1.3.1. Ping.................................................................... 1.3.2. Tracert................................................................. 1.3.3. Ipconfig................................................................ 1.3.4. Arp....................................................................... 1.3.5. Nslookup............................................................... 1.4. Окна состояния и настройки сети................................... 1.4.1. В ОС Windows XP.................................................. 1.4.2. В ОС Windows 7..................................................... 1.5. Анализатор трафика wireshark....................................... 4
4
5
5
8
13
18
21
22
22
24
26
30
34
34
34
37
38
39
41
41
42
43
2. УЧЕБНО-ИССЛЕДОВАТЕЛЬСКИЕ ЛАБОРАТОРНЫЕ РАБОТЫ..... 2.1. ЛР № 1....................................................................... 2.2. ЛР № 2....................................................................... 2.3. ЛР № 3....................................................................... 2.4. Варианты заданий........................................................ 2.5. Содержание отчета....................................................... 2.6. Контрольные вопросы................................................... 2.7. Система подсчета рейтинговых очков.............................. 46
46
46
46
46
57
58
58
Список использованных источников...........................................
60
62
ДЛЯ ЗАМЕТОК
Учебное издание
Волков Павел Леонидович,
Оленев Валентин Леонидович
ИСПОЛЬЗОВАНИЕ СЕТЕВЫХ ПРОТОКОЛОВ
И УТИЛИТ В ИНТЕРНЕТ
Учебно-методическое пособие
Публикуется в авторской редакции.
Компьютерная верстка В. Н. Костиной
Сдано в набор 02.05.17. Подписано к печати 26.05.17. Формат 60 × 84 1/16.
Усл. печ. л. 3,7. Уч.-изд. л. 4. Тираж 50 экз. Заказ № 217.
Редакционно-издательский центр ГУАП
190000, Санкт-Петербург, Б. Морская ул., 67
Документ
Категория
Без категории
Просмотров
8
Размер файла
3 181 Кб
Теги
volkovolenev
1/--страниц
Пожаловаться на содержимое документа