УДК 004.7
ББК 32.973.202
С50
Р е ц е н з е н т ы:
генеральный директор АО «РтСофт», д-р техн. наук О.В. Синенко;
директор фирмы «1С», канд. экон. наук Б.Г. Нуралиев
Смирнова, Е.В.
С50
Технологии TCP/IP в современных компьютерных сетях : учебное пособие /
Е. В. Смирнова, А. В. Пролетарский, Е. А. Ромашкина. — Москва : Издательство МГТУ
им. Н. Э. Баумана, 2019. — 638, [2] с. : ил. — (Компьютерные системы и сети).
ISBN 978-5-7038-5166-1
Книга посвящена изучению стека протоколов TCP/IP — технологической основе
сети Интернет. Описывается стек протоколов TCP/IP. Рассматривается протокол
РРР и его основные компоненты, протоколы аутентификации, сжатия и шифрования
данных PPP, протоколы туннелирования PPP, включая РРРoE, PPPoA, PPTP и L2TP,
типы подключения к провайдерам.
Изучается протокол IP версии 4 и версии 6, технология NAT, архитектура безопасности
IP. Рассматривается протокол разрешения адресов ARP, методы Gratuitous
ARP и Proxy ARP. Описан протокол ICMP версии 4 и версии 6. Рассматривается
разрешение адресов IPv6, определение недоступности соседа, дублирования адресов,
обнаружение маршрутизатора с помощью протокола NDP.
Отдельная глава посвящена технологиям маршрутизации. Изучается архитектура
протоколов маршрутизации, алгоритмы маршрутизации, подробно описан
протокол OSPF, включая версию 3. Рассматриваются основополагающие протоколы
транспортного уровня TCP и UDP. Приведено описание протоколов уровня приложений
Telnet, SSH, SSL/TLS, DHCP, DHCPv6. Изложена методика поиска неисправностей
в сетях TCP/IP.
Предлагаемые практические работы охватывают все рассмотренные темы. Издание
содержит обширный глоссарий. Учебное пособие является результатом многолетнего
сотрудничества МГТУ им. Н.Э. Баумана и компании D-Link по подготовке
кадров для сферы информационно-коммуникационных технологий.
УДК 004.7
ББК 32.973.202
© Смирнова Е.В., Пролетарский А.В.,
Ромашкина Е.А., 2019
ISBN 978-5-7038-5166-1
© Оформление. Издательство
МГТУ им. Н.Э. Баумана, 2019
Стр.5
Оглавление
Предисловие .............................................................. 10
1. Обзор TCP/IP ............................................................
1.1. История TCP/IP .....................................................
1.2. Стек протоколов TCP/IP..............................................
2. Протокол PPP ............................................................
2.1. Общий формат кадра PPP.............................................
2.2. Функционирование канала PPP .......................................
2.3. Link Control Protocol (LCP) ...........................................
2.4. Network Control Protocol (NCP)........................................
2.5. Протоколы аутентификации PPP ......................................
2.5.1. Протокол Password Authentication Protocol (PAP) ...................
2.5.2. Протокол Challenge Handshake Authentication Protocol (CHAP).......
2.5.3. Протокол Microsoft Challenge Handshake Authentication Protocol
(MS-CHAP) ....................................................
2.6. Сжатие данных в PPP ................................................
2.7. Протоколы шифрования данных PPP ..................................
2.8. Протоколы туннелирования PPP ......................................
2.9. Передача PPP через Ethernet ..........................................
2.10. Передача PPP через ATM ............................................
2.10.1. Обзор технологии ADSL........................................
2.10.2. Обзор технологии ATM.........................................
2.11. Протокол PPTP.....................................................
2.12. Протокол L2TP .....................................................
2.13. Типы подключения к провайдерам ...................................
3. Протокол IP..............................................................
3.1. Протокол IP версии 4 ................................................
3.1.1. Поле Type of Service .............................................
3.1.2. Фрагментация пакетов IPv4 ......................................
3.1.3. Понятие IP-адресации...........................................
3.1.4. Представление и структура адреса IPv4............................
3.1.5. Классовая адресация IPv4........................................
3.1.6. Частные и публичные адреса IPv4 ................................
3.1.7. Формирование подсетей.........................................
12
12
13
15
16
17
19
23
25
26
28
31
34
35
39
40
50
51
58
64
69
80
85
86
88
90
93
94
96
98
99
3.1.8. Маски подсети переменной длины (VLSM)........................ 103
3.1.9. Бесклассовая адресация IPv4 ..................................... 105
3.1.10. Технология NAT ............................................... 110
3.1.11. Многоадресная передача пакетов IPv4 ........................... 114
3.2. Протокол IP версии 6 ................................................ 117
3.2.1. Формат заголовка IPv6 .......................................... 119
3.2.2. Размер пакета IPv6.............................................. 122
3.2.3. Представление и структура адреса IPv6 ........................... 123
3.2.4. Типы адресов IPv6 .............................................. 125
3.2.5. Индивидуальные адреса ......................................... 126
3.2.6. Альтернативные адреса .......................................... 132
3.2.7. Групповые адреса ............................................... 133
5
Стр.6
Оглавление
3.2.8. Способы конфигурации адреса IPv6 .............................. 135
3.2.9. Планирование подсетей IPv6..................................... 139
3.3. Обзор архитектуры безопасности для протокола IP ...................... 141
3.3.1. Компоненты IPSec.............................................. 144
3.3.2. Протокол Encapsulating Security Payload (ESP)...................... 154
3.3.3. Протокол Internet Key Exchange (IKE)............................. 160
3.3.4. Использование NAT в протоколе IPSec ........................... 169
3.3.5. Определение жизнеспособности IPSec-соединения ................. 174
4. Протоколы разрешения адресов ............................................. 177
4.1. Протокол ARP....................................................... 178
4.2. Gratuitous ARP....................................................... 182
4.3. Proxy ARP........................................................... 184
4.4. Разрешение адресов для IPv6 ......................................... 184
5. Протокол ICMP .......................................................... 186
5.1. Классы, типы и коды сообщений ICMP ................................ 188
5.2. Правила генерации сообщений ICMP .................................. 190
5.3. Утилита ping......................................................... 191
6. Протокол NDP ........................................................... 194
6.1. Разрешение адресов IPv6 и определение недоступности соседа............ 195
6.2. Определение дублирования адресов .................................... 198
6.3. Обнаружение маршрутизатора......................................... 199
7. Понятие маршрутизации ................................................... 200
7.1. IP-интерфейсы маршрутизирующих коммутаторов ...................... 206
7.2. Архитектура протоколов маршрутизации ............................... 209
7.3. Алгоритмы маршрутизации ........................................... 211
7.4. Дистанционно-векторные протоколы маршрутизации.................... 215
7.4.1. Протокол RIP .................................................. 216
7.4.2. Проблемы при функционировании дистанционно-векторного
алгоритма маршрутизации ....................................... 222
7.4.3. Протокол RIPv2 ................................................ 226
7.4.4. Протокол RIPng ................................................ 228
7.5. Протокол OSPF...................................................... 229
7.5.1. Обзор протокола................................................ 230
7.5.2. Типы пакетов протокола OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
7.5.3. Состояния соседства ............................................ 240
7.5.4. Установление соседства.......................................... 241
7.5.5. Вычисление маршрутов ......................................... 251
7.5.6. Обновление маршрутной информации внутри области.............. 253
7.6. Протокол OSPF версии 3 ............................................. 255
7.6.1. Пакеты OSPFv3................................................. 257
7.6.2. Обзор LSA OSPFv3.............................................. 258
8. Протоколы транспортного уровня............................................ 261
8.1. Адресация протоколов TCP и UDP .................................... 261
8.2. Протокол UDP ...................................................... 266
8.3. Протокол TCP ....................................................... 267
8.3.1. Сегмент TCP ................................................... 268
8.3.2. Модель управления TCP-соединением ............................ 270
6
Стр.7
Оглавление
8.3.3. Установка соединения TCP ...................................... 273
8.3.4. TCP Fast Open .................................................. 277
8.3.5. Подтверждения и повторная передача............................. 282
8.3.6. Завершение соединения TCP..................................... 283
8.3.7. Механизм скользящего окна ..................................... 284
8.3.8. Контроль и предотвращение перегрузки в TCP..................... 287
8.3.9. Явное уведомление о перегрузке (ECN) ........................... 293
8.3.10. Функция Virtual Server.......................................... 296
9. Протоколы уровня приложений.............................................. 299
9.1. Протокол Telnet...................................................... 299
9.2. Протокол SSH ....................................................... 301
9.2.1. Транспортный протокол SSH..................................... 302
9.2.2. Протокол аутентификации пользователей SSH..................... 309
9.2.3. Протокол соединений SSH ...................................... 310
9.3. Протоколы SSL/TLS ................................................. 313
9.3.1. Архитектура SSL/TLS ........................................... 315
9.3.2. Основные отличия TLS 1.2 от TLS 1.3............................. 316
9.3.3. Протокол Change Cipher Spec .................................... 317
9.3.4. Протокол Alert ................................................. 318
9.3.5. Сертификаты X.509 ............................................. 318
9.3.6. Протокол Handshake в TLS 1.2 ................................... 323
9.3.7. Протокол Handshake в TLS 1.3 ................................... 332
9.3.8. Протокол Record ............................................... 341
9.4. Протокол DHCP..................................................... 342
9.4.1. Аритектура DHCP .............................................. 343
9.4.2. Формат сообщения DHCP ....................................... 347
9.4.3. Взаимодействие между клиентом и сервером DHCP ................ 350
9.4.4. Функционирование relay-агента DHCP............................ 359
9.4.5. Опция DHCP Relay Agent Information (Option 82) .................. 368
9.4.6. Функция DHCP Local Relay...................................... 372
9.4.7. Технология DHCP Snooping...................................... 373
9.5. Протокол DHCPv6 ................................................... 378
9.5.1. Типы сообщений DHCPv6 ....................................... 380
9.5.2. Уникальный идентификатор DHCP (DUID) ....................... 383
9.5.3. Ассоциация идентичности (IA) ................................... 385
9.5.4. Stateful DHCPv6 ................................................ 386
9.5.5. Stateless DHCPv6 ............................................... 394
9.5.6. DHCPv6 Prefix Delegation ........................................ 396
9.5.7. Опции DHCPv6 Relay Agent...................................... 402
9.5.8. Функция DHCPv6 Guard ........................................ 402
10. Поиск неисправностей в сетях TCP/IP ..................................... 404
10.1. Методика поиска неисправностей .................................... 404
10.2. Средства поиска и устранения неполадок.............................. 405
10.3. Анализ неисправностей.............................................. 406
10.3.1. Проверка параметров протокола IP .............................. 408
10.3.2. Проверка физического соединения .............................. 412
10.3.3. Проверка канального уровня.................................... 418
7
Стр.8
Оглавление
10.3.4. Проверка сетевого уровня ...................................... 419
10.3.5. Проверка протоколов верхних уровней........................... 422
Лабораторные работы ........................................................ 429
Лабораторная работа № 1. Подключение к сети провайдера с использованием
метода доступа PPPoE.................................................... 430
1.1. Настройка PPPoE-соединения между рабочими станциями и сервером. 430
1.2. Настройка маршрутизатора в качестве PPPoE-клиента ............... 439
1.3. Настройка маршрутизатора в качестве прозрачного моста для передачи
PPPoE-трафика ...................................................... 442
Лабораторная работа № 2. Подключение к PPPoE-серверу из разных VLAN
стандарта IEEE 802.1Q ................................................... 443
Лабораторная работа № 3. Подключение к сети провайдера с использованием
метода доступа L2TP ..................................................... 449
3.1. Настройка L2TP-соединения между клиентами LAC и LNS........... 450
3.2. Настройка маршрутизатора в качестве LAC-клиента ................. 456
3.3. Настройка маршрутизатора в качестве прозрачного моста для передачи
L2TP-трафика ....................................................... 459
Лабораторная работа № 4. Планирование IP-подсетей....................... 461
4.1. Планирование подсетей с использованием VLSM.................... 463
4.2. Поиск ошибок адресации в IP-сетях................................ 466
Лабораторная работа № 5. Настройка фильтрации трафика по IP-адресам ..... 467
5.1. Фильтрация IPv4-адресов ......................................... 467
5.2. Фильтрация IPv6-адресов ......................................... 471
Лабораторная работа № 6. Изучение команд настройки коммутатора через CLI 474
6.1. Подключение к интерфейсу командной строки коммутатора .......... 476
6.2. Основные команды коммутатора................................... 478
Лабораторная работа № 7. Настройка IPSec-туннеля между двумя сетями ..... 483
Лабораторная работа № 8. Изучение протоколов разрешения адресов ......... 493
8.1. Изучение принципа работы протокола ARP ......................... 495
8.2. Изучение механизма Gratuitous ARP................................ 497
8.3. Изучение разрешения IPv6-адресов с помощью протокола NDP....... 499
Лабораторная работа № 9. Настройка протокола маршрутизации RIP с агрегированными
каналами .................................................... 503
Лабораторная работа № 10. Настройка протокола маршрутизации OSPF
в широковещательной сети ............................................... 514
10.1. Настройка протокола OSPFv2 .................................... 517
10.2. Настройка протокола OSPFv3 .................................... 526
Лабораторная работа № 11. Настройка перераспределения маршрутов между
RIP и OSPF ............................................................. 533
Лабораторная работа № 12. Обнаружение и защита от атаки TCP SYN Flood... 539
12.1. Защита от атаки TCP SYN Flood в ОС Linux........................ 540
12.2. Защита от атаки TCP SYN Flood на маршрутизаторе ................ 544
Лабораторная работа № 13. Изучение механизма TCP Fast Open .............. 547
Лабораторная работа № 14. Настройка доступа к локальному FTP-серверу
из внешней сети ......................................................... 553
Лабораторная работа № 15. Организация удаленного доступа к коммутатору
по Telnet ........................................................... 557
8
Стр.9
Оглавление
Лабораторная работа № 16. Организация удаленного доступа к коммутатору
по SSH............................................................. 565
16.1. Доступ к коммутатору по SSH с рабочей станции ОС Linux .......... 566
16.2. Доступ к коммутатору по SSH с рабочей станции ОС Windows ....... 573
Лабораторная работа № 17. Настройка безопасного доступа к Web-интерфейсу
коммутатора ............................................................ 580
17.1. Подключение к коммутатору через Web-интерфейс ................. 582
17.2. Настройка доступа к коммутатору по SSL.......................... 584
Лабораторная работа № 18. Изучение взаимодействия между клиентом
и сервером DHCP ....................................................... 589
Лабораторная работа № 19. Функционирование relay-агента DHCP........... 594
Лабораторная работа № 20. Настройка сети провайдера для подключения
клиентов по IPoE ........................................................ 601
Лабораторная работа № 21. Настройка функции DHCP Local Relay ........... 612
Лабораторная работа № 22. Самостоятельная настройка сети и поиск
неисправностей ......................................................... 616
Приложение А. Инструкция по импорту и настройке образа виртуальной
машины в VirtualBox ..................................................... 625
Приложение Б. Отключение механизма удаления тегов 802.1Q для сетевого
адаптера в ОС Windows ................................................... 628
Глоссарий .................................................................. 630
9
Стр.10