Исследование протоколов TCP

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Сети и системы связи
  • 56 56 страниц
  • 11 + 11 источников
  • Добавлена 04.07.2023
4 785 руб.
  • Содержание
  • Часть работы
  • Список литературы

Содержание
ВВЕДЕНИЕ 2
1. РОЛЬ ТРАНСПОРТНЫХ ПРОТОКОЛОВ 3
1.1 Роль протоколов 3
1.2 Способы представления протоколов 6
1.3 Назначение транспортного уровня 7
1.4 Необходимость изучения транспортных протоколов 12
2. ПРОТОКОЛ УПРАВЛЕНИЯ ПЕРЕДАЧЕЙ 15
2.1 Основные характеристики 15
2.2 Этапы установления соединения 21
2.3 Этапы завершения соединения 23
2.4 Управление передачей данных 24
2.5 Восстановление потерянных данных 33
2.6 Преимущества и недостатки 36
3. РАЗРАБОТКА ЛАБОРАТОРНОЙ РАБОТЫ 38
3.1 Захват трафика 38
3.2 Установление и завершение соединения 44
3.3 Передача данных 47
3.4 Восстановление потерянных данных 50
ЗАКЛЮЧЕНИЕ 53
СПИСОК ЛИТЕРАТУРЫ 55

Фрагмент для ознакомления

Если время таймера истекает, повторно передаются все сегменты из очереди и таймер обнуляется.Индивидуальная. Для каждого сегмента в очереди существует отдельный таймер. При получении подтверждения из очереди повторной передачи удаляется первый сегмент, а соответствующий таймер обнуляется. По истечении времени какого-либо таймера повторно передается только соответствующий сегмент и его таймер сбрасывается.Первая стратегия повышает эффективность передачи трафика, поскольку повторно передается лишь потерянный сегмент (или тот, чье подтверждение о приеме было потеряно). Однако из-за того, что таймер для второго сегмента в очереди не устанавливается, пока не подтвержден прием первого сегмента, могут возникать некоторые задержки. Индивидуальная стратегия решает эти проблемы ценой более сложной реализации. Использование пакетного режима также снижает вероятность длительных задержек, но способно привести к ненужным повторным передачам.Реальная эффективность политики повторной передачи зависит от реализуемой схемы приема сегментов на стороне получателя. Если избран подход, при котором принимаются только сегменты, следующие в порядке отправления, то сегменты, поступившие после потерянного, будут отброшены. Такая схема хорошо подходит для пакетной стратегии. Если же получатель принимает все сегменты, независимо от порядка их прибытия, то оптимальными являются стратегии «только первый» и индивидуальная.При поступлении сегмента протокол TCP на приемной стороне имеет два варианта выбора времени отправки подтверждения.«Немедленно». Сразу после принятия данных с определенным номером последовательности передается пустой (без данных) сегмент, содержащий соответствующий номер подтверждения.«С накоплением». Когда данные успешно приняты, отмечается необходимость в подтверждении, но последнее отправляется с очередным исходящим сегментом данных, в котором устанавливается флаг АСК. Во избежание длительных задержек устанавливается таймер окна. Если время таймера истекает до момента отсылки очередного сегмента данных, то отправителю посылается пустой сегмент, содержащий соответствующий номер подтверждения.2.6 Преимущества и недостаткиПреимущества набора протоколов TCP/IP:Это стандартная отраслевая модель, которую можно эффективно применять для решения практических сетевых задач.Он совместим, т. е. позволяет осуществлять межплатформенное взаимодействие между разнородными сетями.Это набор открытых протоколов. Он не принадлежит какому-либо конкретному институту и поэтому может использоваться любым человеком или организацией.Это масштабируемая клиент-серверная архитектура. Это позволяет добавлять сети без прерывания работы текущих услуг.Он назначает IP-адрес каждому компьютеру в сети, что позволяет идентифицировать каждое устройство в сети. Он назначает каждому сайту доменное имя. Он предоставляет услуги разрешения имен и адресов.Недостатки модели TCP/IP:Он не носит общего характера. Таким образом, он не может представлять какой-либо стек протоколов, кроме набора TCP/IP. Например, он не может описать соединение Bluetooth.В нем нет четкого разделения понятий сервисов, интерфейсов и протоколов. Так что описывать новые технологии в новых сетях не годится.Он не делает различий между каналом передачи данных и физическими уровнями, которые имеют очень разные функциональные возможности. Канальный уровень должен заниматься передачей кадров. С другой стороны, физический уровень должен определять физические характеристики передачи. Правильная модель должна разделять два слоя.Первоначально он был разработан и реализован для глобальных сетей. Он не оптимизирован для небольших сетей, таких как LAN (локальная сеть) и PAN (персональная сеть).Среди набора протоколов TCP и IP были тщательно разработаны и хорошо реализованы. Некоторые из других протоколов были разработаны ad hoc и поэтому в долгосрочной перспективе оказались непригодными. Однако из-за популярности модели эти протоколы используются даже через 30–40 лет после их появления.РАЗРАБОТКА ЛАБОРАТОРНОЙ РАБОТЫ3.1 Захват трафикаОдной из самых популярных утилит для анализа сетевого трафика является Wireshark.  Программный продукт Wireshark перехватывает входящие и исходящие TCP-пакеты. И благодаря встроенным функциям мониторит содержимое, ищет ошибки. Заметно упрощает использование программы система фильтров, а также простой и логичный графический интерфейс на фреймворке GTK+ с поддержкой открытого API (внешне окна похожи на Windows).В программу «заложена» структура различных протоколов, поэтому пользователь работает с перехватываемым информационным потоком.Востребованные функции сетевого анализатора Wireshark:Захват пакетов в реальном времени или при чтении из файла.Поддержка проводного интерфейса Ethernet, беспроводных IEEE 802.11, PPP и локальных виртуальных интерфейсов.Отсеивание сетевых пакетов по большому количеству установленных фильтров, включая расшифровку только VoIP-звонков, HTTPS-трафика.Подсвечивание разных протоколов при смешанном трафике, выделение TCP, HTTP, FTP, DNS, ICMP и т.д.Расшифровка WEP-, WPA-трафика беспроводных сетей при наличии ключа безопасности и Handshake.Параллельно программа фиксирует нагрузку на сеть, сохраняет статистику, отображает в реальном времени отправку и получение пакетов, но это уже второстепенные функции. Основной остается перехват трафика. В большинстве случаев анализ перехваченного трафика происходит в офлайн-режиме. Сначала его сохраняют в файл (дамп) и только потом проводят исследование. Такой подход позволяет снизить риск ошибок, приводящих к потере важной информации (например, когда неправильно настроили в Wireshark встроенные фильтры или была неверно поставлена задача по перехвату). Сохраненный файл доступен для повторного анализа без ограничений.Основные приемы:Поиск по пакетам. Открывается панель поиска стандартной комбинацией клавиш Ctrl+F. После активации режима доступно несколько вариантов поиска. Наиболее востребованный режим «Дисплейный фильтр», он предназначен для обнаружения пакетов, отвечающих заданному выражению. Второй интересный вариант – «Строка».Отметка пакетов. Все интересующие нас пакеты помечаются цветовым выделением с помощью комбинации кнопок Ctrl+M (или через пункт выпадающего меню после нажатия правой кнопки мыши «Выполнить/Отменить пометку пакета»). Перемещение между ними работает комбинациями Shift+Ctrl+N (следующий) и Shift+Ctrl+B (предыдущий).Фильтры. Задают критерии исключения и включения в анализируемую подборку пакетов. Чем больше анализируемый дамп, тем детальнее фильтруется информация. Это упрощает работу с потоком данных и снижает риски механических ошибок пользователя.Работас Wiresharkв LinuxРассмотрим работу Wireshark в операционной системе семейства Linux с подключением через локальную сеть Ethernet к глобальной сети Интернет.Для полной работы программы необходимо запустить ее с правами администратора:#sudo wiresharkПосле запуска открывается главное окно программы (Рисунок 3.1). Интерфейс для захвата трафика можно выбрать как из представленного списка,выбрав интерфейс и нажав на иконкутак и через меню Capture пункт меню Options.Рисунок 3.1 Главное окно программы WiresharkРисунок 3.2 Меню Capture(Захват) трафикаМы исследуем протокол TCP, поэтому после выбора интерфейса для захвата, необходимо настроить фильтр,Рисунок 3.3, для чегонеобходимо напечатайть tcp в Фильтре захвата для выбранного интерфейса (Capture filter for selected interfaces). Рисунок 3.3 Окно Capture OptionsКак видно на рисунке, мы выбрали для интерфейса enp0s3 Promiscuousmode(«смешанный», или «неразборчивый» режим), что означает что мы собираемся принимать все пакеты независимо от того, кому они адресованы.Ограничимся перехватом всех пакетов трафика интерфейсом ensp0s3, для того чтобы не включался режим приема всех пакетов для остальных интерфейсов, уберем галочку с пункта Enable promiscuous mode on all interfaces(Разрешить беспорядочный режим на всех интерфейсах). Если она включена, индивидуальные настройки пункта Promiscuous игнорируются.По умолчанию Wiresharkвключает опцию разрешения имен для MACадресов. При этом осуществляется попытка преобразовать MAC-адрес Ethernet (например, 00:09:5b:01:02:03) в удобочитаемое имя,используя таблицы ARP,коды Ethernet (адрес Ethernet в известное имя устройства, которое было назначено пользователем с помощью файла ethers) или преобразовать первые 3 байта адреса Ethernet в сокращенное имя производителя, присвоенное IEEE (например, 00:09:5b:01:02:03 → Netgear_01:02:03). Мы собираемся просматривать данные в исходном формате, как пересылаются, поэтому во вкладке Опций (Options) – Рисунок 3.4, снимаем галочки со всех пунктов в панели Разрешение имен (Name resolution). Рисунок 3.4 ОкноCapture Options,подразделOptions (настройкиName Resolution)Для стартазахвататрафика -кнопкаStartвпанелиЗахватОпции (CaptureOptions), рисунок3.4При старте, после инициализации программа приобретет вид на Рисунке 3.5:Рисунок 3.5 Окно захвата трафика после стартаПо мере поступления пакетов в линию связи, в верхней части отобразятся принятые пакеты, посередине расшифровка заголовка перехваченного пакета, в нижней части содержимое пакета, например:Рисунок 3.6 Захваченные пакетыЕсли пакеты не появляются, активируем работу сети передачи трафика запросом к веб странице сети интернет, например example.com, используя программу терминала и утилиту curl:user@Computer:~$ curl example.comПосле этого в терминале должен отобразиться текст веб-страницы в формате HTML.Остановить захват трафика программой WireShark можно нажав кнопку Stop capturing packets () на главной панели. Настройка фильтров отображения WiresharkЕсли мы хотим читать трафик с определенным хостом, например с приведенным выше example.com, необходимо настроить фильтр для его отображения (display filter). Для этого, например при помощи утилиты nslookup,нужно определить IP-адрес сервера example.com:user@Computer:~$ nslookup example.comПосле этого настройте фильтр отображения для трафика только с IP-адресом сайта example.com, рисунок 3.7.Рисунок 3.7 - Настройка фильтра отображенияПосле нажатия на клавишу Enter в панели отображения должны отображаться только пакеты обмена трафиком с сайтом example.com.3.2 Установление и завершение соединения3.2.1 Настройка отображенияПроцесс установления TCP-соединения между клиентом и сервером проходит в три этапа (трехкратное рукопожатие) и заключается в передаче трех TCP-сегментов.Отсортируйте пакеты в панели отображения в порядке возрастания номеров. Для этого нажмите на заголовок колонки Numbers (No.).3.2.2 Установление TCP-соединенияПроцесс установления TCP-соединения начинается с посылке клиентом первого TCP-сегмента с установленным флагом SYN (синхронизация). Для изучения первого сегмента нажмите правой кнопкой мыши на первый пакет в панели отображения. В нижней панели, показывающей детальную информацию о пакте разверните информацию протокола TCP и информацию о флагах (Flags), рис. 3.8:Рисунок 3.8 - Детальная информация о ТСРВнесите в таблицу 3.1 полученную информацию о первом сегменте TCP-соединения: порты источника и назначения, флаги, порядковые номера и номера подтверждения (относительные! - relative), длину сегмента.Таблица 3.1 - Параметры TCP№ сегментаИсточникПорт источника(Src port)Порт назначения(Dst port)Флаги(Flags)Порядко-вый номер (Seq)Номер подтверж-дения (Ack)Длина (Len)1Клиент5615480SYN0002Сервер8056154SYN, ACK0103Клиент5615480ACK1104Клиент5615480PSH, ACK11755Сервер8056154ACK17606Сервер8056154PSH, ACK17615917Клиент5615480ACK76159208Клиент5615480FIN, ACK77159209Сервер8056154FIN, ACK1592770В ответ на первый сегмент клиента сервер должен ответить посылкой сегмента с флагами SYN и ACK (Acknowledgement).Выберите второй пакет и внесите его информацию в таблицу 3.1. На сегмент сервера клиент отвечает сегментом, подтверждающим установление соединение с флагом ACK.Выберите третий пакет и также внесите TCP-информацию в таблицу 3.1.3.2.3 Передача сегментов с даннымиПосле установления соединения начинается между клиентом и сервером начинается обмен TCP-сегментами с данными. В рассматриваемом случае объем данных загружаемых с сайта example.com очень небольшой и состоит из 4-5 сегментов. Внесите их TCP-параметры в таблицу 3.1. Обратите внимание на значения порядковых номеров (Seq), номеров подтверждения (Ack) и длин сегментов (Len). Флаг Push (PSH) в TCP-сегментах сигнализирует другой стороне о возможности немедленной отправки данных без задержки на ожидание подтверждения.3.2.4 Завершение TCP-соединенияПроцесс штатного завершения TCP-соединения обычно производится в три этапа. После загрузки всех данных с сервера, клиент отправляет сегмент с флагом FIN, сигнализирующий о начале процесса завершения соединения. Внесите параметры TCP данного сегмента в таблицу 3.1. В ответ сервер отправляет клиенту свой сегмент с флагами FIN и ACK. Внесите параметры TCP данного сегмента в таблицу 3.1.В заключении клиент отправляет сегмент с флагом ACK, после получения которого TCP-соединение считается завершенным. Внесите параметры TCP данного сегмента в таблицу 3.1.3.3Передача данных3.3.1 Захват трафикаДля изучения процесса передачи данных через TCP вновь запустите захват TCP трафика программой Wireshark аналогично п. 3.1.С помощью утилиты curl загрузите относительно большой текстовый файл (более 500 килобайт) с публичной библиотеки lib.ru, например:user@Computer:~$ curl lib.ru/POEZIQ/GETE/faust.txtЗавершите захват трафика, при помощи утилиты nslookup определите IP-адрес сервера lib.ru. Настройте фильтр отображения Wireshark только для пакетов с участием данного адреса. Данные об IP-адресах TCP клиента и сервера и их номера портов внесите в таблицу 3.2.Таблица 3.2 - Общие параметры TCP-сессииСторонаIP-адресМин. размер окна, байтМакс. размер окна, байтiRTT, секМинимальная скорость, кбит/cМаксимальная скорость, кбит/cКлиент192.168.1.4565002630000,016463159127825Сервер81.176.66.1630285500,016460138763.3.2 Порядковые номера и номера подтверждения сегментовПосле установления TCP-соединения и HTTP GET-запроса выберите 12 последовательных сегментов, в которых производится передача данных. Каждый сегмент имеет порядковый номер (Seq) и номер подтверждения данных (Ack), которые были получены (относительные! - relative). Внесите эти номера в таблицу 3.3. Также занесите данные о длине данных в сегменте (Len).Внимание! В Wireshark по-умолчанию для удобства отображаются относительные порядковые номера и номера подтверждения (relative numbers). Истинные номера (raw) можно посмотреть в детальной информации о пакете. Обратите внимание как соотносятся порядковые номера и номера подтверждения от клиента к серверу:Ack(клиент)=Seq(сервер)+Len(сервер)Таблица 3.3 - Передача данных по TCP№ сегментаИсточникПорядковый номер (Seq)Номер подтверждения (Ack)Длина (Len)Размер окна (Window size), байт100Сервер374419228805824101Клиент9240321064128102Сервер403219228805824103Клиент9243201064128104Сервер432019214405824105Сервер446419228805824106Клиент9247521064128107Сервер475219228805824108Клиент9250401064128109Сервер504019228805824110Клиент9253281069888111Сервер532819214405824112Клиент92547210785923.3.3 Размер окнаМаксимальный размер данных в байтах, который может быть последовательно передан по TCP без подтверждения указывается в размере окна (Window size). В современных версиях TCP данный параметр рассчитывается как произведение значения поля окно (Window) на фактор увеличения (scaling factor):Window size = Window * scaling factorНапример: Window size = 614 * 128 = 78592Укажите размер окна для каждого сегмента в таблице 3.2. Размер окна может изменяться во время TCP-сессии, тем самым регулируя скорость передачи данных. Характер изменения размеров окна во время TCP-сессии можно получить используя графики TCP из пункта Статистика главного меню: Statistics - TCP Stream Graphs - Window Scaling. Используя данные графики определите максимальный и минимальный размеры окна для клиента и сервера, внесите их в таблицу 3.2.3.3.3 Оценка скорости передачи данных по TCPНа основе размеров окна и данных о начальной круговой задержке между клиентом и сервером (iRTT) можно оценить теоретически возможную скорость передачи данных по TCP-соединению в каждую сторону по формуле:Скорость, бит/c = Window size * 8 / iRTTПараметр iRTT указан в TCP опциях. Используя данный параметр, минимальный и минимальный размер окна, вычислите оценки минимальной и максимальной скорости обмена данных между клиентом и сервером. Полученные значение внесите в таблицу 3.2. 3.4 Восстановление потерянных данных3.4.1 Захват трафикаДля изучения процесса восстановления потерянных при передаче TCP-сегментов вновь запустите захват TCP трафика программой Wireshark аналогично п. 3.1.Откройте веб-браузер и в течении пяти-десяти минут просматривайте несколько ресурсов в сети Интернет. После чего остановите захват трафика Wireshark. 3.4.2 Запрос потерянных сегментовЕсли на получатель определяет по последовательным номерам в сегментах, что не получил какой-либо TCP-сегмент, то он запрашивает его повторную передачу отправив один или несколько сегментов с повторяющимся номером подтверждения (duplicate ack).Для отображения сегментов с повторными номерами подтверждения установите фильтр отображения: tcp.analysis.duplicate_ack.Внесите данные сегментов с повторными номерами подтверждения в таблицу 3.4.Таблица 3.4 - Сегменты с повторяющимися номерами подтвержденияНомер в дампеIP-ист.(Source)IP-назн.(Destination)Порт ист.Порт назн.Порядковый номер (Seq)Номер подтверждения (Ack)Повторныйномердляпакета (Duplicate to Ack in frame)5628192.168.1.4574.125.131.198372744432201156173.4.3 Повторная передача и быстрая повторная передачаЕсли в течении определенного времени отправитель не получает подтверждения на отправленный ТСР-сегмент, то он передает его заново. Данный процесс в TCP называют повторной передачей (retransmission). Если отправитель получает сегмент с повторным номером подтверждения, то сразу отправляет его повторно. Данный процесс в ТСР называют быстрой повторной передачей (fast retransmission). В некоторый случаях отправитель может повторно передать сегмент, который был успешно получен. Такой процесс называют неправильной повторной передачей (spurious retransmission).Для отображения сегментов повторной передачи настройте фильтр отображения: tcp.analysis.retransmission.Внесите данные сегментов повторной передачи в таблицу 3.5.Таблица 3.5 - Сегменты повторной передачиНомер в дампеIP-ист.(Source)IP-назн.(Destination)Порт ист.Порт назн.Порядковый номер (Seq)Номер подтверждения (Ack)Тип передачи (повтор. или быстрая)4604192.168.1.4581.19.74.4609444323145130Повт.659874.125.131.198192.168.1.45443373401518Быстрая.ЗАКЛЮЧЕНИЕСовременное развитие информационной среды требует понимания транспортных протоколов, которые лежат в основе ее стабильного функционирования. В том числе,их пониманиенеобходимо если стандартная функциональность не соответствует требованиям разрабатываемого приложения, или возникает необходимость в разработкеспециализированного ПО для маршрутизации, анализа трафика.Международной организацией ISO был разработан единый, общий для всех систем стек протоколов, объединяющийся в рамках сетевой модели OSI (open systems interconnection basic reference model).В модели OSI средства взаимодействия делятся на семь уровней: прикладной, представления, сеансовый, транспортный, сетевой, канальный и физический.Транспортный уровень предназначен для передачи надежной последовательностей данных произвольной длины через коммуникационную сеть от отправителя к получателю. Уровень надежности может варьироваться в зависимости от класса протокола транспортного уровня. Так например UDP гарантирует только целостность данных в рамках одной датаграммы и не исключает возможности потери/дублирования пакета или нарушения порядка получения данных; TCP обеспечивает передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и наоборот, склеивая фрагменты в один пакет.Одной из самых популярных утилит для анализа сетевого трафика является Wireshark.  Программный продукт Wireshark перехватывает входящие и исходящие TCP-пакеты. И благодаря встроенным функциям мониторит содержимое, ищет ошибки. Заметно упрощает использование программы система фильтров, а также простой и логичный графический интерфейс на фреймворке GTK+ с поддержкой открытого API (внешне окна похожи на Windows).В программу «заложена» структура различных протоколов, поэтому пользователь работает с перехватываемым информационным потоком.В рамках данной дипломной работы были рассмотрены основы организации обмена по протоколу TCP/IPи проверка форматов и алгоритмов, образующих стандарт обмена, при помощи специализированного ПО Wireshark и разработаны методические указания для обучения практическим навыкам анализа сетевого трафика.СПИСОК ЛИТЕРАТУРЫ1. Microsoft TCP/IP. Учебныйкурс. - М.: Microsoft Press. Русская Редакция; Издание 3-е, испр., 2021. - 400 c.2. Microsoft TCP/IP: Учебный курс. - М.: Издательский отдел Русская редакция' ТОО 'Channel Trading Ltd., 2019. - 392 c.3. Джозеф, Дэвис Microsoft Windows Server 2003. Протоколы и службы TCP/IP (+ CD-ROM) / Дэвис Джозеф. - М.: Эком, 2018. - 303 c.4. Досталек, Л. TCP/IP и DNS в теории и на практике. Полное руководство / Л. Досталек, А. Кабелова. - М.: Наука и техника, 2018. - 608 c.5. Дэвис, Джозеф Microsoft Windows Server 2003. Протоколы и службы TCP/IP. Техническое руководство / Джозеф Дэвис , Томас Ли. - М.: Эком, 2019. - 752 c.6. Паркер TCP/IP. Для профессионалов / Паркер, Сиян Тим; , К.. - М.: СПб: Питер; Издание 3-е, 2021. - 859 c.7. Фейт, С. TCP / IP. Архитектура. Протоколы. Реализация / С. Фейт. - Москва: ИЛ, 2019. - 424 c.8. Фейт, С. TCP/IP. Архитектура, протоколы, реализация (включая IPv6 и IP Security) / С. Фейт. - М.: ЛОРИ, 2018. - 554 c.9. Хант, К. TCP/IP. Сетевое администрирование / К. Хант. - М.: СПб: Символ-Плюс; Издание 3-е, 2018. - 816 c.10. Хант, К. TCP/IP. Сетевое администрирование / К. Хант. - М.: Символ-плюс, 2018. - 693 c.11. https://www.wireshark.org/docs/wsug_html/

СПИСОК ЛИТЕРАТУРЫ

1. Microsoft TCP/IP. Учебный курс. - М.: Microsoft Press. Русская Редакция; Издание 3-е, испр., 2021. - 400 c.
2. Microsoft TCP/IP: Учебный курс. - М.: Издательский отдел Русская редакция' ТОО 'Channel Trading Ltd., 2019. - 392 c.
3. Джозеф, Дэвис Microsoft Windows Server 2003. Протоколы и службы TCP/IP (+ CD-ROM) / Дэвис Джозеф. - М.: Эком, 2018. - 303 c.
4. Досталек, Л. TCP/IP и DNS в теории и на практике. Полное руководство / Л. Досталек, А. Кабелова. - М.: Наука и техника, 2018. - 608 c.
5. Дэвис, Джозеф Microsoft Windows Server 2003. Протоколы и службы TCP/IP. Техническое руководство / Джозеф Дэвис , Томас Ли. - М.: Эком, 2019. - 752 c.
6. Паркер TCP/IP. Для профессионалов / Паркер, Сиян Тим; , К.. - М.: СПб: Питер; Издание 3-е, 2021. - 859 c.
7. Фейт, С. TCP / IP. Архитектура. Протоколы. Реализация / С. Фейт. - Москва: ИЛ, 2019. - 424 c.
8. Фейт, С. TCP/IP. Архитектура, протоколы, реализация (включая IPv6 и IP Security) / С. Фейт. - М.: ЛОРИ, 2018. - 554 c.
9. Хант, К. TCP/IP. Сетевое администрирование / К. Хант. - М.: СПб: Символ-Плюс; Издание 3-е, 2018. - 816 c.
10. Хант, К. TCP/IP. Сетевое администрирование / К. Хант. - М.: Символ-плюс, 2018. - 693 c.
11. https://www.wireshark.org/docs/wsug_html/