Text
                    ИВАН ТРЕЩЕВ
Сети
и телекоммуникации


Иван Трещев Сети и телекоммуникации. Для студентов «Издательские решения»
Трещев И. Сети и телекоммуникации. Для студентов / И. Трещев — «Издательские решения», ISBN 978-5-44-939742-3 В данной книге сделана попытка обобщить материал по дисциплинам «Сети и телекоммуникации», «Безопасность сетей ЭВМ», «Информационная безопасность распределенных информационных систем», проводимых на базе кафедры в течении 5 лет. Наши выпускники положительно отзываются о наличии в учебном плане группы дисциплин, связанных с сетями и телекоммуникациями и в качестве предложений высказывают пожелание увеличить их долю в учебном плане. ISBN 978-5-44-939742-3 © Трещев И. © Издательские решения
И. Трещев. «Сети и телекоммуникации. Для студентов» Содержание Введение 7 1 ВВЕДЕНИЕ В СЕТЕВЫЕ ТЕХНОЛОГИИ 8 1.1 Основные определения 8 1.2 Виды сетей 10 1.3 Надежность сетей 11 1.4 Коммуникация и протоколы 12 1.5 Введение в эталонную модель сети 14 1.6 Модель стека T CP/IP 15 1.7 Сегментация и инкапсуляция данных 17 1.8 Передача данных в сети 18 2 Модель стека TCP/IP 21 2.1 Физический (первый) уровень 21 2.1.1 Описание и характеристика 22 2.1.2 Среды передачи данных 23 2.2 Канальный (второй) уровень 26 2.2.1 Описание и характеристика 27 2.2.2 Виды топологий 28 2.2.3 Методы управление доступа к среде передачи 31 2.2.4 Протокол Ethernet 32 2.2.5 MAC-адрес 34 2.2.6 Коммутатор 35 2.2.7 ARP 36 2.3 Сетевой (третий) уровень 37 2.3.1 Описание и характеристика 38 2.3.2 Протоколы IP 39 2.3.3 Маршрутизация 42 2.3.4 ^4-адресация 43 2.3.5 ^6-адресация 45 2.3.6 Разделение сети на подсети 49 2.4 Транспортный (четвертый) уровень 54 2.4.1 Описание и характеристика 55 2.4.2 Протоколоы TCP и UDP 56 2.4.3 Порты 59 2.5 ТРАНСПОРТНЫЙ (ЧЕТВЕРТЫЙ) УРОВЕНЬ 60 2.5.1 Описание и характеристика 61 2.5.2 Основные протоколы прикладного уровня 62 3 GNU/Linux 64 3.1 Немного о дистрибутивах GNU/Linux 64 3.2 Процесс установки дистрибутива GNU/Linux 66 3.3 Работа с терминалом в GNU/Linux 70 3.4 Настройка маршрутизации в GNU/Linux 76 3.4.1 Построение виртуальной сети 77 3.4.2 Статическая маршрутизация 79 3.4.3 Динамическая маршрутизация с помощью протокола 83 RIPv2 3.4.4 Динамическая маршрутизация с помощью протокола OSPF 88 4
И. Трещев. «Сети и телекоммуникации. Для студентов» 3.4.5 Проверка сети Заключение Список использованных источников 92 94 95 5
И. Трещев. «Сети и телекоммуникации. Для студентов» Сети и телекоммуникации Для студентов Иван Трещев Специалист по сетям и телекоммуникациям Семен Васильевич Евсеев Разработка сетевых инфраструктур, сбор материалов Андрей Игоревич Рыжков © Иван Трещев, 2018 ISBN 978-5-4493-9742-3 Создано в интеллектуальной издательской системе Ridero 6
И. Трещев. «Сети и телекоммуникации. Для студентов» Введение Ни одно современное предприятие не обходится без использования технологий сетевого обмена включая телефонию, передачу данных, видеоконференцсвязь и других. Каждое пред¬ приятие сегодня обязательно подключено к сети интернет- аптеки для передачи данных о кас¬ совых чеках, учебные заведения для передачи данных об обучающихся, магазины для связи с налоговой, министерства и ведомства подключены к системе межведомственного электрон¬ ного взаимодействия и так далее. Практически у каждого читателя дома установлено и настроено оборудование для бес¬ проводного доступа к сети общего информационного обмена, либо к локальной вычислитель¬ ной сети. Знания в области обеспечения сетевого взаимодействия необходимы для любого спе¬ циалиста по информационным технологиям и являются обязательным условием выполнения должностных обязанностей практически по любой профессии связанной с ЭВМ сегодня. Отдельно оговоримся, что программирование для сетевых технологий (для сетей гло¬ бального и локального информационного обмена, а так же для пассивного и активного сете¬ вого оборудования, описание имеющегося на рынке оборудования) выходит за рамки данной книги и может быть рассмотрено отдельно. Мы заострим внимание именно на сетевом взаимодействии и обеспечении функциони¬ рования сетей. Основные теоретические сведения об оборудовании и терминологии использу¬ емых в работе приведены вначале. 7
И. Трещев. «Сети и телекоммуникации. Для студентов» 1 ВВЕДЕНИЕ В СЕТЕВЫЕ ТЕХНОЛОГИИ 1.1 Основные определения Сеть передачи данных - совокупность трёх и более оконечных устройств связи, объ¬ единённых каналами передачи данных и коммутирующими устройствами (узлами сети), обес¬ печивающими обмен сообщениями между всеми оконечными устройствами. Передача данных - физический перенос данных в виде сигналов от точки к точке или от точки к нескольким точкам средствами связи по каналу передачи данных. Примерами подобных каналов могут служить медные провода, волокно-оптические линии связи, беспро¬ водные каналы передачи. Сетевая инфраструктура включает в себя три категории компонентов сети: 1. Устройства; 2. Среда передачи; 3. Сервисы. Устройства и среды передачи - это физические элементы или аппаратное обеспече¬ ние сети. Аппаратное обеспечение зачастую является видимой частью сетевой платформы: ноутбук, ПК, коммутатор, маршрутизатор, беспроводная точка доступа или кабели, использу¬ емые для соединения устройств. Оконечное устройство является либо отправителем (источником), либо получателем (адресатом) сообщения. Каждому оконечному устройству в сети назначается адрес, чтобы устройства можно было отличить от других. Если оконечное устройство инициирует обмен данными, то в качестве получателя сообщения оно использует адрес оконечного устройства назначения. Примерами оконечных устройств могут служить: 1. Настольные персональные компьютеры; 2. Ноутбук; 3. Принтер; 4. IP-телефон; 5. Беспроводной планшетный компьютер; 6. Смартфон. Промежуточные устройства соединяют отдельные оконечные устройства с сетью и могут соединять несколько отдельных сетей для создания глобальных сетей. Такие устрой¬ ства обеспечивают подключение и прохождение потоков данных по сети. Для определения пути передачи сообщения промежуточные устройства используют адрес оконечного устрой¬ ства назначения в сочетании с информацией о связях в сети. Примерами промежуточных устройств могут служить: 1. Коммутатор; 2. Маршрутизатор; 3. Межсетевой экран; 4. Репитер. Среда передачи данных - физический канал, по которому сообщение передается от источника к адресату. Типы физических сред передачи данных: 1. Медный кабель; 2. Оптоволоконный кабель; 3. Беспроводная связь. 8
И. Трещев. «Сети и телекоммуникации. Для студентов» Сетевая топология - граф, вершинами которого являются оконечные и промежуточ¬ ные устройства, а ребрами - физические и информационные связи между вершинами. Схема обеспечивает наглядный способ понимания, каким образом устройства в большой сети свя¬ заны между собой. Подразделяется на несколько типов: 1. Физическая топология - отображает физическое расположение промежуточных устройств и кабельных линий; 2. Логическая топология - отображает устройства, порты и схемы адресации. Изображения топологий приведены на рисунках 1 и 2. Рисунок 1 - Пример физической топологии Рисунок 2 - Пример логической топологии Сетевая карта - устройство, позволяющее взаимодействовать с другими устройствами в сети. Физический порт - разъем на сетевом устройстве, через который кабели подключены к компьютеру или другому сетевому устройству. Интерфейс - специализированные порты в сетевом устройстве, которые подключаются к отдельным сетям. Поскольку маршрутизаторы соединяют между собой сети, порты маршру¬ тизатора называются сетевыми интерфейсами. Часто на практике слова «Порт» и «Интерфейс» являются взаимозаменяемыми. 9
И. Трещев. «Сети и телекоммуникации. Для студентов» 1.2 Виды сетей Сети сильно отличаются по площади покрытия, количества пользователей, типа и объема предоставляемых услуг пользователям. Наиболее распространенными типами сетевых инфра¬ структур являются локальные сети LAN и глобальные сети WAN. Локальная сеть (LAN) - сетевая инфраструктура, предоставляющая высокоскорост¬ ной доступ пользователям и оконечным устройствам на небольшой территории. Обычно явля¬ ется домашней сетью, сетью малого или крупного предприятия. Управляется одним квалифи¬ цированным лицом или отдельным IT-отделом на предприятии. Глобальная сеть (WAN) - сетевая инфраструктура, предоставляющая доступ к дру¬ гим сетям на большой территории. Принадлежит провайдерам телекоммуникационных услуг и находится под их управлением. Интернет - всемирное объединение взаимосвязанных сетей для хранения и передачи информации. Экстранет - защищённая от несанкционированного доступа корпоративная сеть, использующая Интернет-технологии для внутрикорпоративных целей, а также для предостав¬ ления части корпоративной информации и корпоративных приложений деловым партнерам компании. Интранет - частные сети LAN и WAN, которые принадлежат организации и доступны только ее членам, сотрудникам и прочим авторизованным лицам. Для сети Экстранет особенно важны аутентификация пользователя (который может и не являться сотрудником компании) и, особенно, защита от несанкционированного доступа, тогда как для приложений Интранет они играют гораздо менее существенную роль, поскольку доступ к этой сети ограничен физическими рамками компании. Для доступа к Интернет существует множество способов подключения. Домашние поль¬ зователи, удаленные сотрудники компаний и малые офисы, как правило, для доступа в Интер¬ нет нуждаются в подключении к поставщикам услуг Интернета. Варианты подключения существенно меняются в зависимости от провайдера, географического местоположения и раз¬ вития инфраструктуры. Популярные варианты включают в себя широкополосную кабельную сеть, широкополосную цифровую абонентскую линию (DSL), беспроводные глобальные сети и мобильные сервисы. 10
И. Трещев. «Сети и телекоммуникации. Для студентов» 1.3 Надежность сетей Для поддержания работоспособности и надежности сети требуется, чтобы она соответ¬ ствовала четырем основным требованиям: 1. Отказоустойчивости; 2. Масштабируемость; 3. Качество обслуживание; 4. Безопасность. Отказоустойчивость - свойство сети сохранять свою работоспособность после отказа одного или нескольких составных компонентов. Для этого сети используют несколько путей передачи данных от источника к месту назначения. Если один путь недоступен, сообщения можно немедленно отправить по другой линии связи. Наличие нескольких путей к месту назна¬ чения называется резервированием. Масштабируемость - свойство сети, позволяющая быстро расширить, обеспечив под¬ держку новых пользователей и приложений без снижения эффективности обслуживания суще¬ ствующих. Качество обслуживания (QoS - Quality of Service) - технология предоставления раз¬ личным классам трафика различных приоритетов в обслуживании во избежание перегрузки сети. Обеспечение безопасности инфраструктуры сети включает в себя физическую защиту всех устройств, которые необходимы для сетевых подключений, и предотвращение несанкци¬ онированного доступа к установленному на них ПО управления. Безопасность информации означает защиту пакетов данных, передаваемых по сети, а также информации, хранящейся на подключенных к сети устройствах. Критерии безопасности: 1. Конфиденциальность - только указанные и авторизованные получатели могут иметь доступ к данным; 2. Целостность - гарантия того, что информация не была изменена в процессе передачи от исходного пункта к месту назначения; 3. Доступность - своевременный и надежный доступ к данным для авторизованных поль¬ зователей. 11
И. Трещев. «Сети и телекоммуникации. Для студентов» 1.4 Коммуникация и протоколы Коммуникация - тип взаимодействия между объектами, который подразумевает обмен информацией между этими объектами. Все способы коммуникаций имеют три общих эле¬ мента. Первый - это источник сообщения, или отправитель. Второй элемент - это адресат, или получатель сообщения. Адресат получает и интерпретирует сообщение. Третий элемент, назы¬ ваемый каналом, представляет собой среду передачи данных, по которой сообщение переда¬ ется от источника к получателю. В сетях существует несколько способов передачи данных: 1. Индивидуальная (Unicast); 2. Групповая (Multicast); 3. Широковещательная (Broadcast). Unicast подразумевает собой передачу данных одному единственному адресату в сети. При передаче данных способом Multicast данные получают одновременно несколько адреса¬ тов в сети. Broadcast означает, что данные получат все узлы в сети за исключением того, кто информацию и передает. Сетевые протоколы определяют общий формат и набор правил для обмена сообще¬ ниями между устройствами. Набор протоколов представляет собой множество протоколов, которые используются вместе для предоставления комплексных сетевых сервисов. Набор протоколов может быть определен организацией по стандартизации или разработан производителем сетевого обору¬ дования. К примеру, набор протоколов TCP/IP является открытым стандартом. Данные прото¬ колы находятся в свободном доступе, и любой разработчик может использовать эти протоколы в аппаратном или программном обеспечении. Каждый стандартный протокол принят отрасле¬ выми компаниями и утвержден организацией по стандартизации. Использование стандартов в разработке и реализации протоколов гарантирует, что продукты от разных производителей будет успешно взаимодействовать между собой. Открытые стандарты способствуют совместимости, конкуренции и инновациям. Кроме того, они гарантируют, что продукт отдельной компании не сможет монополизировать рынок или получить несправедливое преимущество по сравнению с конкурентами. Пример - покупка беспроводного маршрутизатора для дома. Существует множество вариантов маршрутизаторов различных производителей, каждый из которых включает стандартные протоколы, такие как IPv4, DHCP, 802.3 (Ethernet) и 802.11 (беспроводная сеть LAN). Открытые стандарты также позволяют клиенту с операционной системой OS X от компании Apple загрузить веб-страницу с веб-сервера под управлением GNU/Linux. Это связано с тем, что обе операционные системы используют протоколы открытых стандартов, например из набора протоколов TCP/IP. Организации по стандартизации обычно являются независимыми от поставщиков неком¬ мерческими организациями, созданными для разработки и продвижения концепции открытых стандартов. Некоторые протоколы являются проприетарными. Это означает, что описание прото¬ кола и принципы его работы определяются одной конкретной компанией или поставщиком. Примерами частных протоколов являются устаревшие наборы протоколов AppleTalk и Novell Netware. Нередко поставщик (или группа поставщиков) разрабатывает частный протокол для удовлетворения потребностей своих заказчиков, а затем способствует принятию этого част¬ ного протокола в качестве открытого стандарта. Примеры различных протоколов различных компаний продемонстрированы на рисунке 3. 12
И. Трещев. «Сети и телекоммуникации. Для студентов» Название уровня TCP/IP ISO Уровень приложений HTTP ACSE DNS ROSE DHCP TRSE FTP 5ESE Транспортный уровень TPO TCP TP1 UDP TP2 TP3 TP4 Межсетевой уровень IPv4 IPv6 CONP/CMNS !CMPv4 CLNP/CLN5 ICMPv6 Уровень доступа к сети Ethernet PPP Frame Relay ATM WLAN Рисунок 3 - Примеры сетевых протоколов и их расположение на различных уровнях стека TCP/IP 13
И. Трещев. «Сети и телекоммуникации. Для студентов» 1.5 Введение в эталонную модель сети Чтобы представить взаимодействие между различными протоколами, принято использо¬ вать многоуровневые модели. Многоуровневая модель изображает работу протоколов, проис¬ ходящую внутри каждого уровня, а также взаимодействие с уровнями выше и ниже. Есть ряд преимуществ в использовании многоуровневой модели для описания сетевых протоколов и операций. Преимущества в использование многоуровневой модели: 1. Упрощение разработки протоколов, поскольку протоколы, работающие на определен¬ ном уровне, определяют формат обрабатываемых данных и интерфейс верхних и нижних уров¬ ней; 2. Стимулирование конкуренции, так как продукты разных поставщиков могут взаимо¬ действовать друг с другом; 3. Предотвращение влияния изменений технологий или функций одного уровня на дру¬ гие уровни (верхние и нижние); 4. Общий язык для описания функций сетевого взаимодействия. Эталонная модель OSI определяет широкий список функций и сервисов, реализуемых на каждом уровне. Кроме того, она описывает взаимодействие каждого уровня с вышестоя¬ щими и нижестоящими уровнями. Всего модель насчитывает семь уровней. На рисунке 4 пред¬ ставлен стек модели OSI с указанием единицы данных, с которым работает каждый из уровней. Уровень сети модели OSI Единица данных 7. Прикладной Данные 6. Представления 5. Сеансовый 4. Транспортный Сегменты 3. Сетевой Пакеты 2. Канальный Кадры 1. Физический Биты Рисунок 4 - Эталонная модель стека OSI Описание каждого уровня: 7. Прикладной уровень содержит протоколы для обмена данными между приложениями; 6. Уровень представления обеспечивает общее представление данных, передаваемых между службами прикладного уровня; 5. Сеансовый уровень передает сервисы на уровень представления для организации его диалога и управления обмена данными; 4. Транспортный уровень определяет сервисы для сегментации, передачи и сборки дан¬ ных для отдельных коммуникаций между оконечными устройствами; 3. Сетевой уровень представляет функции для обмена отдельными частями данных по сети между указанными оконечными устройствами; 2. Протоколы канального уровня описывают способы обмена кадрами данных при обмене данными между устройствами по общей среде передачи данных; 1. Протоколы физического уровня описывают электрические, механические, функцио¬ нальные и процедурные средства для активации, поддержки, деактивации физического соеди¬ нения, обеспечивающего передачу битов из одного сетевого устройства в другое. 14
И. Трещев. «Сети и телекоммуникации. Для студентов» 1.6 Модель стека TCP/IP Протокольная модель сетевого взаимодействия TCP/IP была создана в начале 70-х годов и иногда называется моделью сети Интернет. Как показано на рисунке 5, такая модель опре¬ деляет четыре категории функций, необходимых для успешного взаимодействия. Архитек¬ тура набора протоколов TCP/IP построена на основе этой модели. TCP/IP представляет собой открытый стандарт, ни одна компания не вправе контролировать ее определение. Уровень сети модели TCP/IP Единица данных Приложений (прикладной) Данные Транспортный Сегменты Сетевой Пакеты Уровень сетевого доступа Кадры Биты Рисунок 5 - Модель стека TCP/IP Описание каждого уровня: 1. Уровень приложений отображает данные для пользователя, а также обеспечивает коди¬ рование и управление сеансами связи; 2. Транспортный уровень поддерживает связь между различными устройствами в разных сетях; 3. Межсетевой уровень определяет наилучший пути через сеть; 4. Уровень сетевого доступа управляет устройствами и средами передачи данных, из которых состоит сеть. Следует отметить, что различные авторы интерпретировали модель TCP/IP по-разному и не согласны с тем, что уровень связи или вся модель TCP/IP охватывает проблемы уровня OSI уровня 1 (физический уровень) или предполагается, что аппаратный уровень ниже уровня канала. Несколько авторов попытались включить слои 1 и 2 модели OSI в модель TCP/IP, поскольку они обычно упоминаются в современных стандартах. Набор протоколов TCP/IP может быть описан с точки зрения эталонной модели OSI. В модели OSI уровень доступа к сети и уровень приложений модели TCP/IP дополнительно подразделяются для описания отдельных функций, которые реализуются на этих уровнях. На рисунке 6 показано сопостовление моделей OSI и TCP/IP. Модель OSI Модель TCP/IP 7. Прикладной Приложений (прикладной) 6. Представления 5. Сеансовый 4. Транспортный Транспортный 3. Сетевой Сетевой 2. Канальный Уровень сетевого доступа 1. Физический Рисунок 6 - Сопоставление моделей OSI и TCP/IP На уровне доступа к сети набор протоколов TCP/IP не определяет список протоколов, используемых при работе со средой передачи данных, он описывает только передачу информа¬ ции с сетевого уровня физическим сетевым протоколам. Уровни 1 и 2 модели OSI описывают процедуры доступа к среде передачи и физическим способам отправки данных по сети. Уровень 3 модели OSI, или сетевой уровень, соответствует сетевому уровню модели TCP/ IP. Этот уровень описывает протоколы, определяющие пути передачи данных в сети. 15
И. Трещев. «Сети и телекоммуникации. Для студентов» Уровень 4 модели OSI, или транспортный уровень, соответствует транспортному уровню модели TCP/IP. Этот уровень описывает общие сервисы и функции, которые обеспечивают упорядоченную и надежную доставку данных от источника до места назначения. Уровень приложений TCP/IP включает в себя ряд протоколов, которые поддерживают определенные функции для работы разнообразных приложений конечных пользователей. Уровни 5, 6 и 7 модели OSI используются в качестве образцов разработчиками и поставщи¬ ками прикладного программного обеспечения для производства продуктов, предназначенных для работы в сети. Обе модели (TCP/IP и OSI) широко применяются в отношении протоколов различных уровней. Так как модель OSI разделяет канальный и физический уровни, именно она исполь¬ зуется для этих уровней. 16
И. Трещев. «Сети и телекоммуникации. Для студентов» 1.7 Сегментация и инкапсуляция данных Для обеспечения надежности и бесперебойности передачи данных, уменьшения задер¬ жек используется разделение сообщения на несколько частей - сегментация. Данный процесс имеет несколько преимуществ: 1. Отправка небольших отдельных частей от источника к получателю в сети позволяет поддерживать множество различных чередующихся сеансов обмена сообщениями. Это назы¬ вается мультиплексированием; 2. Сегментация позволяет повысить надежность сетевого взаимодействия. Если какую- либо часть сообщения не удается доставить к месту назначения из-за отказа сети, необходимо будет повторно передать только недостающие части сообщения. Инкапсуляция - процесс добавления различной информации протоколами на каж¬ дом из уровней стека модели OSI во время прохождения через среду передачи информа¬ ции. Форма, которую принимает массив данных на каждом из уровней, называется единицей данных протокола (PDU). В ходе инкапсуляции каждый последующий уровень инкапсули¬ рует PDU, полученную от вышестоящего уровня в соответствии с используемым протоколом. На каждом этапе процесса PDU получает другое имя, отражающее новые функции. Ранее на рисунке 5 уже были продемонстрированы наименования PDU. Деинкапсуляция - это процесс удаления одного или нескольких заголовков принимаю¬ щим устройством. По мере продвижения данных по стеку к приложениям для конечных поль¬ зователей они деинкапсулируются. 17
И. Трещев. «Сети и телекоммуникации. Для студентов» 1.8 Передача данных в сети Сетевой (третий) и канальный (второй) уровни отвечают за доставку данных с устрой¬ ства-источника на устройство назначения. Как показано на рисунке 7, протоколы на обоих уровнях содержат адреса источника и назначения, но эти адреса служат разным целям Физический уровень Канальный уровень Сетевой уровень Транспортный уровень Верхние уровни Биты временных параметров и синхронизации Физические адреса назначения и источника Логические сетевые адреса назначения и источника Номера процессов (портов) назначения и источника Кодирование данных приложений Рисунок 7 - Виды адресов источника и назначения на разных уровнях TCP IP 1. Адреса источника и назначения сетевого уровня необходимы для доставки IP-пакета от источника к месту назначения в той же или в удаленной сети; 2. Адреса источника и назначения канального уровня необходимы для доставки кадра канала данных от одной сетевой карты к другой в той же сети. IP-адрес - это логический адрес сетевого уровня (третьего уровня), необходимый для доставки IP-пакета от источника к месту назначения. IP-пакет содержит два IP-адреса (рисунок 8): 1. IP-адрес источника - IP-адрес устройства-отправителя, изначального источника пакета; 2. IP-адрес назначения - IP-адрес устройства-получателя, конечного места назначения пакета. Рисунок 8 - Расположение адресов источника и назначения в IP-пакете третьего уровня IP-адрес состоит из двух частей: 1. Сетевая часть - левая часть адреса, которая показывает, к какой сети относится дан¬ ный IP-адрес. Абсолютно все устройства из одной и той же сети будут иметь одинаковую сете¬ вую часть. Определяется с помощью маски подсети - битовой маски для определения по IP- адреса сети и адреса узла этой подсети, которая не является частью IP-пакета; 2. Узловая часть - оставшаяся часть адреса, определяющее конкретное устройство в сети и является уникальной для каждого узла в сети. MAC-адреса (или Физический адрес) - это уникальный адрес канального (второго) уровня сетевого интерфейса (обычно сетевой карты) для реализации коммуникации устройств в сети. Назначение адреса канального уровня - доставить кадр с одного сетевого интерфейса на другой, когда они находятся в одной и той же сети. Заголовок кадра канального уровня (рисунок 9) содержит следующие физические (MAC- адреса): 1. Адрес источника канального уровня - физический адрес (MAC-адрес) сетевой карты устройства, которое передает пакет; 18
И. Трещев. «Сети и телекоммуникации. Для студентов» 2. Адрес назначения канального уровня - физический адрес (MAC-адрес) сетевой карты устройства, которое получает пакет. Это адрес ближайшего маршрутизатора или устрой¬ ства назначения. Заголовок кадра Ethernet Заголовок IP-пакета МАС-адрес назначения МАС-адрес отправителя IP-адрес отправителя IP-адрес назначения Рисунок 9 - Расположение адресов в кадре канального уровня Рассмотрим обмен данными с помощью устройств в одной сети и с помощью устройств в разных сетях. Посмотрим на рисунок 10. В сети находятся компьютер пользователя и FTP-сер¬ вер, с которым будет взаимодействовать компьютер. Компьютер пользователя - это устрой¬ ство-отправитель, FTP-сервер - устройство-получатель. Получаем: 1. IP-адрес источника: 192.168.1.110; 2. IP-адрес получателя: 192.168.1.9. Обратите внимание на левую выделенную часть каждого IP-адреса - это и есть сетевая часть адреса, которая остается неизменной (в том случае если маска подсети 255.255.255.0). Рисунок 10 - Устройства находятся в одной сети Так как и отправитель, и получатель находятся в одной сети, кадр отправляется напрямую принимающему устройству. 1. MAC-адрес источника (сетевой карты Компьютера пользователя): AA-AA-AA-AA- AA-AA в шестнадцатеричном представлении. 2. MAC-адресом получателя (FTP-сервера) является MAC-адрес FTP-сервера: CC-CC- CC-CC-CC-CC в шестнадцатеричном представлении. Таким образом, кадр канального уровня будет выглядеть как на рисунке 11. Канальный уровень. Заголовок кадра Ethernet Сетевой уровень. Заголовок IP-адреса МАС-адрес назначения МАС-адрес отправителя IP-адрес отправителя IP-адрес назначения Данные сс-ес-ес-сс- сс-сс АА-АА-АА-АА- АА-АА 192.168.1.110 192.168.1.9 Рисунок 11 - Кадр с инкапсулированным IP-пакетом, передающийся напрямую с Ком¬ пьютера пользователя на FTP-сервер Теперь рассмотрим ситуацию, когда устройство-отправитель и устройство-получатель находятся в разных сетях. Пример топологии представлен на рисунке 12. 19
И. Трещев. «Сети и телекоммуникации. Для студентов» Рисунок 12 - Устройства находятся в разных сетях Отправитель и получатель пакета находятся в разных сетях, значит IP-адреса источника и назначения будут представлять узлы в разных сетях. На это будет указывать сетевая часть IP-адреса узла назначения. 1. IP-адрес источника: 192.168.1.110; 2. IP-адрес назначения: 172.16.1.99. Если устройства находятся в разных сетях, то и сетевые части адресов устройств будут разными. Из-за того, что отправитель и получатель IP-пакета находятся в разных сетях, кадр Ethernet не может быть отправлен напрямую к узлу назначения, поскольку он недоступен в сети отправителя. Кадр Ethernet нужно выслать на другое устройство: маршрутизатор или шлюз по умолчанию. В нашем примере шлюз по умолчанию - Маршрутизатор 1. 1. MAC-адрес источника (сетевой карты Компьютера пользователя): AA-AA-AA-AA- AA-AA в шестнадцатеричном представлении. 2. MAC-адрес назначения - устройство-отправитель использует MAC-адрес шлюза по умолчанию или маршрутизатора, если получающее и передающее устройства находятся в разных сетях. В этом примере MAC-адресом назначения является MAC-адрес интерфейса Ethernet Маршрутизатора 1 (11-11-11-11-11-11). Этот интерфейс прикреплен к той же сети, что и Компьютер пользователя. Таким образом, кадр канального уровня будет выглядеть как на рисунке 13. Канальный уровень. Заголовок кадра Ethernet Сетевой уровень. Заголовок IP-адреса Данные МАС-адрес назначения MAC-адрес отправителя IP-адрес отправителя IP-адрес назначения 11-11-11-11¬ 11-11 АА-АА-АА-АА- АА-АА 192.168.1.110 172.16.1.99 Рисунок 13 - Кадр с инкапсулированным IP-пакетом, передающийся на FTP-сервер, находящийся в другой сети 20
И. Трещев. «Сети и телекоммуникации. Для студентов» 2 Модель стека TCP/IP 2.1 Физический (первый) уровень 21
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.1.1 Описание и характеристика Физический уровень - первый уровень сетевой модели OSI. Это нижний уровень модели OSI - физическая и электрическая среда для передачи данных. Физический уровень описывает способы передачи бит (а не пакетов данных) через физические среды линий связи, соединяющие сетевые устройства. На этом уровне описываются параметры сигналов, такие как амплитуда, частота, фаза, используемая модуляция, манипуляция. Решаются вопросы, связан¬ ные с синхронизацией, избавлением от помех, скорости передачи данных. Физический уровень состоит из электронных схем, сред передачи данных и разъемов, разрабатываемых инженерами. Стандарты физического уровня регламентируют три функциональные области: 1. Физические компоненты; 2. Кодирование; 3. Способы передачи сигналов. Физические компоненты - это электронные устройства, среды передачи данных, а также другие соединители и разъемы, обеспечивающие передачу сигналов, с помощью кото¬ рых представлены биты информации. Все аппаратные компоненты, в том числе сетевые карты, интерфейсы и соединители, а также материалы и конструкция кабелей описаны в стандартах, относящихся к физическому уровню. Кодирование - это способ преобразования потока битов в определенный «код». Коды - это группы битов, используемые для формирования предсказуемых комбинаций, которые могут распознаваться как отправителем, так и получателем. В сети под кодированием пони¬ маются изменения напряжения или тока согласно заданным правилам с целью представления значений битов: нулей и единиц. Пример изображен на рисунке 14. Поел едовател ьность входных битов Манчестерский код Рисунок 14 - Пример манчестерского кода, при котором происходит кодировка инфор¬ мации Способы передачи сигналов. Для представления значений битов «1» и «0» в среде подключения физический уровень должен генерировать электрические, оптические или радиосигналы. Метод представления битов с помощью сигналов называется способом пере¬ дачи сигналов. Стандарты физического уровня должны определять, какой тип сигнала соот¬ ветствует единице («1»), а какой нулю («0»). Для передачи сигнала можно использовать про¬ стое изменение длительности электрического или оптического импульса. Например, длинный импульс может обозначать 1, а короткий - 0. Основными характеристиками передачи данных являются пропускная способность и производительность. Пропускная способность - объем данных, который можно передать из одной точки в другую за определенное время. Обычно пропускная способность измеряется в килобитах в секунду (Кбит/с), мегабитах в секунду (Мбит/с) или гигабитах в секунду (Гбит/с). Производительность - это количество битов, передаваемых по средам передачи дан¬ ных за определенный период времени. 22
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.1.2 Среды передачи данных Типы физических сред передачи данных: 1. Медный кабель; 2. Оптоволоконный кабель; 3. Беспроводная связь. Медные кабели используются в сетях из-за их невысокой стоимости, простоты монтажа и низкого электрического сопротивления. Однако при передаче сигналов по медным кабелям имеются ограничения по дальности передачи и помехоустойчивости. Данные по медным кабе¬ лям передаются в виде электрических импульсов. Виды медных кабелей: 1. Неэкранированная витая пара (UTP); 2. Экранированная витая пара (STP); 3. Коаксиальный кабель. Медные кабели могут быть подвержены воздействиям различных помех: электромаг¬ нитным и радиочастотным, источником которых могут быть излучения от электромагнитных устройств, а так перекрестные помехи, создающиеся из-за прохождения тока через круговое магнитное поле по проводу, которое воздействует на соседний провод. Для обеспечения защиты от электромагнитных и радиочастотных помех кабели могут быть обернуты экранирующей оболочкой, что используется в экранируемой витой паре. Для защиты от перекрестных помех соседние кабели скручиваются между собой, причем все четыре пары скрученных кабелей имеют разное число витков, благодаря чему влияние излу¬ чение от других пар уменьшается. Используется в экранируемой и в неэкранированной витой паре. В данных видах кабелей используется штекер 8P8C стандарта RJ-45 (рисунок 15). Рисунок 15 - Штекер 8P8C стандарта RJ-45 Существует два варианта обжима разъёма на кабеле: 1. Прямой кабель используется для соединение сетевой карты узла к коммутатору или коммутатора с маршрутизатором; 23
И. Трещев. «Сети и телекоммуникации. Для студентов» 2. Перекрестный или кроссовый кабель используется для соединения двух однотип¬ ных устройств между собой (коммутатор с коммутатором, маршрутизатор с маршрутизато¬ ром), а также для соединения двух узлов в сети. Обжим проводится по двум стандартам: EIA/TIA 568A и EIA/TIA 568B (рисунок 16). Причем для прямого кабеля оба конца должны быть одинаковыми (оба или 568A, или 568B), а для перекрестного разными (один конец - 568A, другой - 568B). Рисунок 16 - Варианты обжима кабеля1 Последовательность проводов для EIA/TIA 568A и 568B представлена на рисунке 17. E!A/TIA-S6SA EIA/TIA-56SB 1. Бело-зеленый 1. Бело-оранжевый 2. Зеленый 2. Оранжевый 3. Бело-оранжевый 3. Бело-зеленый 4. Синий 4. Синий 5. Бело-синий 5. Бело-синий 6. Оранжевый 6. Зеленый 7. Бело-коричневый 7. Бело-коричневый 8, Коричневый 8. Коричневый Рисунок 17 - Последовательность проводов Так же следует отметить медный консольный кабель, который соединяет компьютер с маршрутизатором или коммутатором через консольный порт для дальнейшей настройки устройства. Он, как правило, отличается своей плоской формой и синим цветом. Коаксиальный кабель - электрический кабель, состоящий из центрального провод¬ ника и экрана, расположенных соосно и разделённых изоляционным материалом или воз¬ душным промежутком. Коаксиальный кабель использовался в сети Ethernet с самого начала. В настоящее время он не столь широко распространен, хотя и обеспечивает максимальную протяженность сети с топологией типа «шина», которая так же является устаревшей. Оптоволоконные кабели позволяют передавать данные на большие расстояния и с более высокой пропускной способностью, чем другие среды передачи. Такой кабель также абсолютно невосприимчив к воздействию электромагнитных и радиочастотных помех. Опти¬ ческие кабели обычно используются для соединения сетевых устройств друг с другом. Для передачи по оптоволоконному кабелю биты кодируются с помощью световых импульсов. Оптоволоконные кабели подразделяются на два основных типа: 1 Источник: ru.wikipedia.org/wiki/Витая_пара. Автор: пользователь Lp 24
И. Трещев. «Сети и телекоммуникации. Для студентов» 1. Одномодовый оптоволоконный кабель. Имеет сердечник очень малого диаметра. Для передачи луча света требуется дорогостоящая лазерная технология. Широко используется для организации линий связи протяженностью несколько сот километров. 2. Многомодовый оптоволоконный кабель. Имеет сердечник большего диаметра. Для передачи световых импульсов используются светодиодные излучатели. Такие кабели попу¬ лярны в локальных сетях, поскольку позволяют использовать для работы недорогие светоди¬ оды. Обеспечивает пропускную способность до 10 Гбит/с на расстоянии до 550 метров. В отличии от электрических импульсов, свет по оптоволокну передается только в одном направлении и работы в полнодуплексном режиме требуются два оптоволокна. Поэтому в оптических соединительных кабелях имеется два волокна, на концах каждого из которых смонтированы стандартные одноволоконные разъемы. Беспроводные среды передачи позволяют передавать двоичные данные, кодируя их в электромагнитные сигналы микроволнового и радиодиапазона. Беспроводные технологии передачи данных хорошо работают на открытых простран¬ ствах, из-за чего подключение к беспроводной сети на относительно дальнем расстоянии будет удобнее, чем проводное соединение. Однако определенные строительные материалы внутри помещений могут ограничивать зону покрытия. Беспроводная среда гораздо более восприимчива к помехам и может ухудшаться при работе большого количества устройств: сотовые телефоны, микроволновые печи, а также из- за большого количества соседних беспроводных коммуникаций. Для доступа к среде беспроводного подключения не требуется подключаться к физиче¬ ским кабелям. Поэтому доступ к этой среде могут получать несанкционированные пользова¬ тели и устройства. Для предотвращения несанкционированого доступа требуется обеспечение безопасности администратором сети. Отметим также, что в каждый момент времени передачу или прием может осуществлять только одно устройство. Среда передачи общая для всех беспроводных пользователей. Чем больше пользователей одновременно подключаются к беспроводной сети, тем меньшая про¬ пускная способность приходится на каждого из них. 25
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.2 Канальный (второй) уровень 26
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.2.1 Описание и характеристика Канальный уровень - второй уровень сетевой модели OSI, предназначенный для пере¬ дачи данных узлам, находящимся в том же сегменте локальной сети. Может использоваться для обнаружения и исправления ошибок, возникших на физическом уровне при передачи данных. Канальный уровень отправляет пакеты информации протоколу вышестоящего уровня и при¬ нимает их от него. Канальный уровень делится на два подуровня: 1. Верхний подуровень управления логическим каналом (LLC - Logical Link Control); 2. Нижний подуровень управления доступом к среде (MAC - Media Access Control). Управление логическим каналом помещает в отправляемый кадр информацию о том, какой протокол сетевого уровня используется для данного кадра. Позволяет протоколом тре¬ тьего уровня (IPv4 и IPv6) использовать один и тот же сетевой интерфейс и одну и ту же среду передачи данных. Управление доступом к среде обеспечивает адресацию на канальном уровне, а также обеспечивает доступ к различным сетевым технологиям, в частности взаимодействует с про¬ токолом канального уровня Ethernet, что позволяет передавать и получать информацию через медный или оптоволоконный кабель. Так же MAC взаимодействует с беспроводными техно¬ логиями передачи информации. 27
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.2.2 Виды топологий Для создания сетей существуют различные способы соединения устройств между собой. Каждый из способов имеет свои достоинства и недостатки. Приведем примеры основных сете¬ вых топологий: 1. Сетевая топология типа «точка-точка» (Point-to-point) - простейший вид сете¬ вой топологии, который соединяет между собой устройства с помощью коммуникационного оборудования. Благодаря своей дешевизне является наиболее распространённой топологией, но самой ограниченной: соединить возможно только два устройства между собой (рисунок 18); 2. Топология типа «шина» (Bus) - тип топологии, использовавший один коаксиаль¬ ный кабель в виде среды передачи данных. Данный кабель подключается ко всем оконечным устройствам для создания локальной сети. На концах кабелей находятся терминаторы для предотвращения отражения сигнала. При создании сети не требуется коммутатор или концен¬ тратор. К достоинствам можно отнести дешевизну и простоту настройки. Однако, чем больше устройств подключено к шине, тем менее производительной будет сеть. А при повреждении кабеля или одного из терминаторов вся сеть выходит из строя (рисунок 19); 3. Топология типа «кольцо» (Ring) - топология, в которой каждый компьютер соеди¬ нён линиями связи только с двумя другими. В отличии от топологии типа «шина», конечные устройства не являются полностью равноправными. Одни из них обязательно получают инфор¬ мацию от устройства, который ведёт передачу в этот момент, раньше, а другие - позже. Хотя для подготовки данной топологии не требуется дополнительное оборудование, она вызывает определенные сложности при её настройки и обслуживании: на оконечном устройстве требу¬ ется несколько сетевых плат для подключение соседних устройств, при добавлении или удале¬ нии устройств требуется остановить всю сеть на время, а выход из строя любого узла может полностью вывести из строя всю сеть (рисунок 20), хотя современные сети использующие эту топологию допускают выход из строя одной линии связи (или же узла) без потери работоспо¬ собности сети; 4. Топология типа «звезда» (Star) - базовый тип сетевой топологии, в котором все сети присоединены к центральному устройству - к концентратору или коммутатору - с помощью соединения «точка-точка». Легка в обслуживании, имеет высокую производительность сети. При выходе из строя центрального устройства сеть станет неработоспособной (рисунок 21), с другой стороны выход из строя любого узла кроме центрального не оказывает фатального эффекта на работоспособности всей сети вцелом; 5. Ячеистая топология (Mesh) - тип сетевой топологии, в котором все сети друг с дру¬ гом соединены между собой. Образуют полносвязный граф. Каждый канал в такой сети фак¬ тически является каналом, связанным с другим узлом соединением «точка-точка», что повы¬ шает отказоустойчивость всей сети, так как выход одного устройства не нарушит работу всех остальных за счет наличия резервных путей передачи данных (рисунок 22). Рисунок 18 - Топология типа «Точка-точка» 28
И. Трещев. «Сети и телекоммуникации. Для студентов» Рисунок 19 - Топология типа «Шина» Рисунок 20 - Топология типа «Кольцо» Рисунок 21 - Топология типа «Звезда» 29
И. Трещев. «Сети и телекоммуникации. Для студентов» Рисунок 22 - Ячеистая топология 30
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.2.3 Методы управление доступа к среде передачи Для передачи данных между коммутаторами в сети используются два режима: 1. Полнодуплексный режим; 2. Полудуплексный режим. В полнодуплексном происходит одновременная отправка и получения данных в обе стороны без перебоев. В полудуплексном режиме в один момент времени устройство воз¬ можно либо отправлять, либо получать данные. Для передачи данных важно, чтобы настройки режима передачи и скорости между устройствами совпадало. Как мы выяснили ранее, в некоторых сетевых топологиях множество узлов используют одни общий канал для передачи информации при работе. И в любой момент может возникнуть ситуация, когда несколько устройств, работающих в полудуплексном режиме, одновременно пытаются отправить или получить данные, используя одну и ту же среду передачи. Для регу¬ лирования доступа к среде устройств существует метод множественного доступа: 1. CSMA/CD; 2. CSMA/CA. При использовании метода CSMA/CD коллизии могут быть обнаружены при сравне¬ нии передаваемой и получаемой информации. Если они будут различаться между собой, то другая передача накладывается на текущую (это и будет проявлением коллизии) и передача прерывается немедленно. Посылается сигнал преднамеренной помехи, что вызывает задержку передачи всех передатчиков на произвольный интервал времени, снижая при этом вероятность коллизии во время повторной попытки. Метод CSMA/CA используется в беспроводных сетях. Как и CSMA/CD, метод CSMA/ CA может обнаруживать коллизии в переданной информации. Так же данный метод позволяет избежать появления коллизии за счет ожидания устройством своей очереди перед отправкой кадра. 31
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.2.4 Протокол Ethernet Протокол Ethernet на сегодняшний день является самым распространенным протоколом создания локальных сетей с применением медных кабелей. Был разработан в 1973 году инже¬ нером Робертом Меткалфом. Данная технология может поддерживать передачу данных на раз¬ ных скоростях: от 10 Мбит/с до 10 Гбит/с. Ethernet определяется протоколами как физического уровня, так и канального и опирается на два подуровня канального уровня: протокол управле¬ ния логического канала (LLC) и подуровень управления доступа к среде (MAC). Задачи подуровня MAC: 1. Инкапсуляция данных - добавление кадра третьего уровня и обеспечение адресации второго уровня. При формировании добавляются в кадр заголовок и концевик. 2. Управление доступом к среде передачи данных отвечает за размещение кадров в этой среде и удаление из нее кадров. Он напрямую с первым физическим уровнем стека OSI. Инкапсуляция данных выполняет следующие функции: 1. Обнаружение ошибок благодаря добавлению в концевик поля для проверки всего кадра на ошибки; 2. Разграничение кадров, для которого добавляются разделители в кадр. С их помо¬ щью определяются биты, из которого состоит определенный кадр. Разграничивающие биты обеспечивают синхронизацию между передающими и получающими узлами. 3. Адресация. Процесс инкапсуляции содержит единицу данных протокола третьего уровня (IPv4 или IPv6), а также обеспечивает адресацию для канального второго уровня. При работе в полудуплексном режиме в LAN-сетях, основанных на Ethernet, могут воз¬ никать коллизии, которые решаются методом множественного доступа CSMA/CD. Кадр Ethernet должен иметь минимальный размер в 64 байта информации, а максималь¬ ный размер - 1518 байт. Данные ограничения объясняются следующим образом: 64 байта являются минимальным объемом информации, передаваемой каналу, так как данных объем является достаточным для проверки кадра на коллизии с помощью CSMA/CD, а при кадре, большем 1518 байт, повышается вероятность возникновения ошибок и коллизии, что может вызвать трудности при передачи информации целиком. Кадр размером меньшем 64 байт называются карликовыми (runt), а кадры разме¬ ром большем 1518 байт называются Jumbo-кадрами. Подобного рода кадры отбрасываются устройством автоматически при его поступлении так как считается, что они были образованы в результате коллизии. Кадр Ethernet выглядит как на рисунке 23 и имеет следующие поля: Преамбула Начало МАС-адрес МАС-адрес EtherТуре Данные Контрольная кадра назначения источника последовательность кадров Рисунок 23 - Кадр Ethernet 1. Преамбула - поле, с которого начинается каждый кадр. Он используется для синхро¬ низации отправляющего и принимающего устройств. Размер: 7 байт; 2. Начало кадра (SFD - Start of Frame Delimiter) - поле, указывающее на начало полезной информации. Размер: 1 байт; 3. МАС-адрес назначения - поле, указывающее на предполагаемого получателя на канальном уровне. MAC-адрес в кадре сравнивается с MAC-адресом устройства. Передача 32
И. Трещев. «Сети и телекоммуникации. Для студентов» кадру может быть индивидуальной (unicast), групповой (multicast) или широковещательной (broadcast). Размер: 6 байт; 4. MAC-адрес источника - поле, указывающее на устройство, отправившего кадр. Адрес должен быть индивидуальным (unicast). Размер: 6 байт; 5. EtherType - поле кадра, указывающее на протокол третьего уровня. Пример некото¬ рых значений EtherType: 0x0800 - IPv4, 0x0806 - ARP, 0x06DD - IPv6. Размер: 2 байта; 6. Данные - непосредственно информация, передаваемая пользователем с устрой¬ ства-отправителя до устройства-получателя. Размер может составлять от 46 до 1500 байт. Если объем информации меньше положенной, то она дополняется заполняющими байтами, которые увеличивают размер кадра до минимального значения; 7. Контрольная последовательность кадров (FCS - Frame Check Sequence) — поле, которое используется для обнаружения ошибок в передаваемом кадре. Для этого исполь¬ зуется циклический избыточный код (CRC). Принцип действия следующий: отправляющее устройство перед отправкой кадра рассчитывает CRC и результат помещает в поле FCS. При¬ нимающее устройство получает кадр, рассчитывает CRC заново для обнаружения ошибок и сравнивает значения CRC между собой. В случае несовпадения расчетов кадр будет отбро¬ шен. Размер: 4 байта. 33
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.2.5 MAC-адрес MAC-адрес Ethernet - это 48-битное двоичное значение, выраженное в виде 12 шест¬ надцатеричных чисел (рисунок 24) и состоящий из 6 откетов. Левая половина MAC-адреса содержит информацию о компании-производителя устрой¬ ства - Уникальный идентификатор организации (OUI - Organizationally Unique Identifier), который является уникальным для каждого производителя. Правая половина адреса выбирается для каждого устройства, выпущенной этой организацией, индивидуально. 1-ый откет | 2-ой откет 3-ий откет 4-ый откет 5-ый откет 6-ой откет 80- 1 -FA- - 5В - -1F- — D8- 1 -СЗ Уникальный идентификатор организации (OUI) Часть адреса, выдаваемая производителем для каждого устройства Устройство принадлежит компании CLEVO INC. Идентификация конкретного устройства Рисунок 24 - Структура MAC-адреса Администратор сети может по собственному желанию изменить MAC-адрес устройства для различных целей. Например, при совпадении MAC-адресов у различных устройств в след¬ ствии ошибки в процессе производства. Представление MAC-адреса у различных компаний, а также в различных операционных системах, может отличаться друг от друга. К примеру (рисунок 25): MS Windows (EUI-48) 80-FA-5B-00-03-E8 Unix-подобные системы 80:fa:5b:0:3:e8 или 80:fa:5b:00:03:e8 в зависимости от настроек системы В оборудовании компании Cisco 80fa.5b00.03e8 Рисунок 25 - Различное представление MAC-адресов MAC-адрес имеет несколько видов: 1. Индивидуальный (unicast); 2. Широковещательный (broadcast); 3. Групповой (multicast); Индивидуальный MAC-адрес - это уникальный адрес, который используется при отправке кадра от одного передающего устройства к одному устройству назначения. MAC- адрес источника всегда является индивидуальным. Широковещательный MAC-адрес - адрес, который указывает, что получателями данного пакета являются абсолютно все устройства в локальной сети за исключением устрой¬ ства-источника этого пакета. Широковещательные адреса предусмотрены во многих сетевых протоколах, например DHCP или ARP. Широковещательный MAC-адрес всегда один: FF-FF- FF-FF-FF-FF (или 48 единиц в двоичном формате). Групповой MAC-адрес - адрес, позволяющий отправить пакет нескольким устрой¬ ствам в сети. Всегда имеет формат 01-00-5E-XX - XX - XX, где XX - XX - XX формируется из младших 23 бит группового IP-адреса, преобразованных в 6 шестнадцатеричных символов. 34
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.2.6 Коммутатор Сетевой коммутатор (switch) - устройство второго уровня, предназначенное для объ¬ единения нескольких узлов в одной локальной сети. Для пересылки пакетов коммутатор использует MAC-адреса. Коммутатор хранит в своей ассоциативной памяти таблицу MAC-адресов (таблицу коммутации), на основе которой и происходит пересылка каждого конкретного кадра, посту¬ пающего на устройство. Таблица MAC-адресов составляется динамически, когда коммутатор проверяет MAC- адрес источника в кадрах, принимаемых портом. MAC-адреса хранятся в памяти относительно недолго - около 5 минут в зависимости от примененных настроек на устройстве. Делается это для предотвращения переполнения памяти в случае большого потока трафика или при преднамеренной атаки на сетевую инфраструктуру злоумышленниками. При поступлении каждого кадра Ethernet через порт коммутатор выполняет следующие действия: 1. Когда MAC-адрес источника отсутствует, он добавляется в таблицу вместе с номером входящего порта. Если MAC-адрес источника уже существует, коммутатор обновляет таймер для данной записи. 2. Если MAC-адрес назначения есть в таблице, коммутатор пересылает сразу этот кадр через указанный в таблице порт. При отсутствии MAC-адреса назначения в таблице комму¬ татор пересылает кадр через все порты, кроме входящего, как в случае широковещательной рассылки (broadcast). Коммутатор может пересылать пакеты несколькими способами: 1. Сквозная коммутация (Cut-through); 2. Коммутация с промежуточным хранением (Store-and-Forward). Сквозная коммутация - способ коммутация, при котором устройство считывает только адрес назначения и может отправить информацию, не дожидаясь полного её поступ¬ ления на коммутатор. Данный способ позволяет быстрее отправлять информацию, но в нем отсутствует проверка кадра на ошибки. Коммутация с промежуточным хранением - способ коммутации, при котором кадр будет целиком хранится на коммутаторе. Тот считывает всю информацию в кадре, проверяет его на ошибки с помощью проверки CRC и - если проверка пройдена - отправляет информа¬ цию на нужный порт. При описании передачи кадров с помощью таблицы MAC-адресов стоит упомянуть такое устройство как концентратор (hub). Концентратор - устаревшее устройство первого физического уровня для объединения нескольких узлов в одну общую локальную сеть. Данное устройство, в отличии от коммутатора, не имеет в своей памяти таблицу MAC-адресов. В следствии этого кадры, получаемые концен¬ тратором, отправляются через все имеющиеся порты кроме порта-источника этого кадра. Из- за этого при использовании данного устройства происходит снижение уровня сетевой безопас¬ ности, так как трафик может быть получен злоумышленников при подключении к концентра¬ тору. Коммутатор, при массовом заполнении злоумышленниками ложными MAC-адресами, начинает работать как концентратор, который будет постоянно передавать трафик через все порты на устройстве. Для предотвращения данных атак на коммутаторах есть функция защиты портов (Port Security), которая позволяет ограничить список MAC-адресов, которые могут передавать через порты коммутатора информацию. 35
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.2.7 ARP ARP (Address Resolution Protocol - протокол определения адреса) - протокол в компьютерных сетях, предназначенный для определения MAC-адреса, имея IP-адрес дру¬ гого компьютера. Он сопоставление IPv4-адреса с МАС-адресами и сохраняет соответствия в ARP-таблице. Принцип работы протокола: 1. Узел, которому требуется отправить пакет получателю, находящемся в данной сети, формирует широковещательный ARP-запрос, инкапсулируя в кадр информацию о известном IP-адресе получателя; 2. Все устройства в сети, кроме отправителя, получают данный ARP-запрос и сравнивают свой IP-адрес с тем, что был отправлен в кадре; 3. Если на каком-то устройстве совпадает IP-адрес с полученным в ARP-запросе, то он формирует ARP-ответ источнику, в котором указывает свой физический адрес. Полученная информация хранится на коммутаторе в виде пары «IP-адрес - MAC-адрес» в оперативной памяти устройства. При отправке информации передающее устройство ищет в таблице нужные адрес назна¬ чения и MAC-адрес соответствующего устройства. Если нужно устройство находится в той же сети, то в таблице ищется IP-адрес его. Если находится в другой сети, то ищется уже IP-адрес шлюза по умолчанию. Если устройство не находит требуемую запись, то она инициирует ARP- запрос. Так же, как и в таблице MAC-адресов, в ARP-таблице адреса хранятся ограниченное время и удаляются, если они не используются длительное время. Время удаления записей зави¬ сят от настроек устройств, хранящее их. Протокол ARP является уязвимым - он не проверяет подлинности ARP-запросов и ARP- ответов. На этом основана уязвимость, известная как ARP-спуфинг. Уязвимость работает сле¬ дующим образом: злоумышленник получает ARP-запрос на свое устройство и отправляет ответ на него ^4-адреса с адресом другого устройства (шлюза по умолчанию), при этом ука¬ зывая свой MAC-адрес. После получения коммутатором информации, он добавляет её себе в ARP-таблицу, что позволяет злоумышленнику получать пакеты. 36
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.3 Сетевой (третий) уровень 37
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.3.1 Описание и характеристика Сетевой уровень предназначен для определения пути передачи данных. Отвечает за трансляцию логических IP-адресов в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и заторов в сети. Протоколы сетевого уровня маршрутизируют данные от источника к получателю. Для достижения этих целей данный уровень должен обладать информацией о топологии сети и выбирать нужный путь по этой сети в независимости от её размеров. При выборе проме¬ жуточных устройств уровень должен соблюдать равномерную нагрузки по промежуточным устройствам и линиям передачи информации. Так же на сетевом уровне происходят процессы инкапслуляции и деинкапсуляции. Во время инкапсуляции маршрутизатор получает с верхнего (четвертого) уровня сег¬ мент с информацией, добавляет к ней IP-адреса отправителя и получателя, и после этого отправляет информацию на канальный (второй) уровень. При деинкапсуляции маршрутиза¬ тор выполняет проверку заголовка поступившего пакета на совпадение указанных IP-адресов. Если происходит совпадение IP-адреса заголовка с его собственным, то данный заголовок уда¬ ляется из пакета, и сетевой уровень передает данные на транспортный (четвертый) уровень. Работающие на этом уровне устройства - маршрутизаторы или L3 коммутаторы - условно называют устройствами третьего уровня. 38
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.3.2 Протоколы IP Самыми важными протоколами сетевого уровня являются межсетевые протоколы IPv4 и IPv6. Они позволяют обеспечивать доставку пакетов данных между любыми узлами сети через произвольное число промежуточных узлов, например, тех же маршрутизаторов. Дан¬ ные протоколы отправляют данные без предварительного соединения с получателем данных. Они не гарантируют 100% доставку пакетов. Обеспечение надежности доставки пакетов цели¬ ком и полностью лежит на транспортном (четвертом) уровне. Однако данные протоколы могут передавать пакеты по любым доступным средам передачи данных. Однако для среды передачи данных существуют определенные ограничения по способ¬ ности переслать максимальный размер информации. Для этого на сетевом (третьем) уровне учитывается такой параметр, как Максимальный размер данных (MTU - Maximum Transmission Unit). MTU означает максимальный размер полезного блока данных одного пакета, который может быть передан протоколом сетевого уровня без фрагментации пакета. Фрагментация - разделение пакета во время его пересылки из одной среды передачи данных в среду, где значение MTU меньше. Заголовок пакета IPv4 включают в себя важную для передачи данных информацию и состоит из следующих полей (рисунок 26): Рисунок 26 - Структура заголовка IPv4 1. Версия - Определяет версию протокола. Для протокола IPv4 значение всегда будет 0100 в двоичной системе. Размер поля - 4 бита; 2. Размер - определяет размер самого заголовка. Размер поля - 4 бита; 3. Дифференцированные сервисы - определяет приоритет обслуживания каждого кадра. Размер - 8 бит; 4. Общий размер пакета - Определяет полный размер пакета в байтах. Минимальный размер полного пакета - 20 байт (это заголовок без данных), максимальный - 65535 байт. Если размер пакета превосходит максимальный допустимый, то он фрагментируется, чтобы тот смог поддерживаться каналом связи. Размер поля - 16 бит; 5. Идентификатор - Определяет фрагментированный пакет. Размер поля - 16 бит; 6. Флаг - Поле размером 3 бита, которое контролирует фрагментацию пакетов. Первый бит зарезервированный и всегда равен 0, второй бит определяет возможность фрагментации пакета, третий бит показывает, не является ли этот пакет последним в цепочке пакетов; 7. Смещение фрагмента - определяет позицию фрагмента в потоке данных. Размер - 13 бит; 8. Время жизни (TTL - Time to Live) - Определяет максимальное количество марш¬ рутизаторов на пути следования пакета. Размер - 8 бит; 9. Протокол - Определяет использованный в переносящемся пакете протокол. Напри¬ мер, значение для протокола ICMP - 0001, для TCP - 0110, UDP - 10001 (значения даны в двоичном формате). Размер - 8 бит; 10. Контрольная сумма заголовка — Данное поле необходимо для проверки заго¬ ловка пакета (но не самих данных, находящийся в пакете! Проверка данных осуществляется 39
И. Трещев. «Сети и телекоммуникации. Для студентов» протоколами более высоких уровней, например, TCP) на наличие или отсутствие поврежде¬ ний, который могли быть получены во время передачи данных. Размер - 16 бит; 11. IPv4-адрес источника - определяет 32-битный адрес отправителя пакета; 12. IPv4-адрес назначения - определяет 32-битный адрес получателя пакета; 13. За адресом назначения может следовать поле дополнительных настроек, но оно используется редко, поэтому на ней не будем заострять внимание. Несмотря на то, что протокол IPv4 продолжается использоваться повсеместно, он имеет несколько критических недостатков: 1. Во-первых, длина IPv4-адреса составляет 32 бита. При такой длине всего возможных адресов при использовании данного протокола составляет 4294967296 (четыре миллиарда двести девяносто четыре миллиона девятьсот шестьдесят семь тысяч двести девяносто шесть) адресов, или 2Л32. Хоть читателю и кажется, что это огромная цифра, но на деле при развитии сегодняшних технологий этого количества адресов может не хватить на все выпуска¬ емое оборудование в мире, которое имеет возможность выхода в Интернет. Об этой проблеме заговорили еще почти 30 лет назад, когда Интернет в преобладающем числе использовался университетами, крупными корпорациями и правительственными организациями США, в том числе и в Министерстве обороны; 2. Во-вторых, заголовок IPv4 имеет очень большое количестве полей, что уменьшает про¬ изводительность сети, так как на обработку каждого поля маршрутизатору требуется время; 3. В-третьих, в попытки обойти ограничения в относительно малом количестве всевоз¬ можных ^4-адресов, была разработана служба NAT (Network Address Translation - преобра¬ зование сетевых адресов), позволяющая различным устройствам совместно использовать один публичный IPv4-адрес. Из-за использования данного механизма возникают дополнительные сложности с идентификацией конкретного пользователя в сети, особенно если сеть развернута по сценарию «Двойной NAT», когда маршрутизатор пользователя подключен не напрямую к Интернету, а к другому маршрутизатор, вследствие чего пользователь не получает публич¬ ный IP-адрес. Эти и многие другие проблемы решает протокол IPv6, который убирает ограничения протокола IPv4 и значительно расширяет доступные возможности на сетевом уровне: 1. Вместо 32-битного адреса протокол IPv6 использует 128-битный, что полностью решает проблему недостатка свободных Интернет-адресов. 2. Благодаря практически неограниченному количеству доступных адресов, отпадает использование механизма NAT, из-за которого могут возникнуть большое количество проблем при работе в сети; 3. В протоколе IPv6 уменьшено количество полей в заголовке с 13 до 8, что позволяет более эффективнее маршрутизаторам считывать информацию с поступающих пакетов (рису¬ нок 27). 3 5 LO 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1Й 19 20 21 а ы 25 76 27 >Й 29 30 31 0 Версия Класс графика Метка потока 4 Длина полезной нагрузки | Следующий заголовок | Предел переходов 20 IPv6-aflpec источника 36 IPvb-адрес назначения Рисунок 27 - Структура IPv6-заголовка IPv6-заголовок состоит из следующих полей: 1. Версия - Определяет версию протокола. Для протокола IPv6 значение всегда будет 0110 в двоичной системе. Размер поля - 4 бита; 2. Класс трафика - Определяет приоритет поступившего пакета. По функционалу соответствует полю IPv4-заголовка «Дифференцированные сервисы». Размер - 8 бита; 40
И. Трещев. «Сети и телекоммуникации. Для студентов» 3. Метка поля - Указывает, что всем пакетам, имеющих одинаковую метку, должен назначаться одинаковый метод обработки этих пакетов маршрутизатором. Размер - 20 бит; 4. Длина полезной нагрузки - Показывает, сколько байт следует за данным заголов¬ ком. По функционалу соответствует полю IPv4-заголовка «Общий размер пакета». Размер - 16 бит; 5. Следующий заголовок - Определяет соответствующий протокол следующего уровня. По функционалу соответствует полю IPv4-заголовка «Протокол». Размер - 8 бит; 6. Предел перехода - Определяет максимальное количество маршрутизаторов на пути следования пакета. По функционалу соответствует полю IPv4-заголовка «Время жизни». Раз¬ мер - 8 бит; 7. IPv6-адрес источника - определяет 128-битный адрес отправителя пакета; 8. IPv6-адрес назначения - определяет 128-битный адрес получателя пакета. 41
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.3.3 Маршрутизация Маршрутизатор (router) - это специализированный компьютер, который пересылает пакеты между различными сегментами сети на основе правил и таблиц маршрутизации. Для принятия решений о пересылке пакетов используется информация о топологии сети и опреде¬ лённые правила, заданные администратором. Маршрутизация - это процесс определения пути следования информации в сетях. Для того, чтобы маршрутизатор смог отправить пакет нужному получателю, в его опера¬ тивном запоминающем устройстве (ОЗУ/оперативной памяти) находится таблица маршрути¬ зации. Таблица маршрутизации - электронная таблица, которая хранит в себе информацию, которая описывает соответствие между адресами назначения и интерфейсами, через которые следует отправить пакет данных до следующего маршрутизатор. В таблице может находится следующая информация: 1. Информация об удаленности сети: находится ли получатель информации в данной сети или же в удаленной; 2. Адрес назначения и его маска сети; 3. Через какой интерфейс или какой шлюз по умолчанию будет проходить трафик к полу¬ чателю; 4. Время последнего обновления маршрута; 5. Метрика и/или административное расстояние. Метрика - числовое значение расстояния до заданной сети. Административное расстояние - мера определения пути отправки данных, является показателем надежности используемого для отправки протокола маршрутизации. Если получатель находится в другой сети, то для его доставки и выполнения маршрути¬ зации необходим шлюз по умолчанию. Шлюз по умолчанию - маршрутизатор, установленный на границе локальной сети, отправляющий трафик за её пределы, а также принимающий трафик, который был адресован устройствам в его сети. Маршрут по умолчанию - маршрут или путь, по которому идет компьютер, когда он пытается связаться с удаленной сетью. Информацию о том, как отправлять трафик, маршрутизатор может получить несколь¬ кими способами. Его можно настроить вручную, самостоятельно задав IP-адрес назначения, маску удаленной подсети, выходной интерфейс или IP-адрес следующего перехода маршрути¬ затора для пересылки пакетов в сеть назначения (такой маршрут будет называться статиче¬ ским). Так же маршрутизатор может получить информацию автоматически от динамических протоколов маршрутизации, таких как OSPF или EIGRP (такой маршрут будет называться динамическим). 42
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.3.4 IPv4-адресация Как мы уже знаем, IP-адрес необходим для доставки IP-пакета от источника к месту назначения. Его размер равен 32 битам, которые разделены на четыре части (откеты), по восемь битов в каждом. Каждый откет разделен точкой. Для определения сети (сетевой части IP-адреса), в которой находится узел, необходима маска подсети. Маска подсети - битовая маска для определения по IP-адресу адреса подсети и адреса узла этой подсети. В отличие от IP-адреса маска подсети не является частью IP-пакета. При наличии IP-адреса и маски подсети можно определить, в какой сети находится узел, содержащий данный IP-адрес. Делается это с помощью логической побитовой операции И (AND, конъюнкция). Пример применения данной операции представлен на рисунке 28. Таб¬ лица истинности конъюнкции представлена на рисунке 29. Обратите внимание на выделенную часть. В ней маска сети имеет значение 255.255.255 или 11111111.11111111.11111111 в дво¬ ичной системе исчисления. Единицы в маске подсети определяют сетевую часть, а нули - узло¬ вую часть. 1Ру4-адрес 192 168 10 10 Маска подсети 255 255 255 0 Адрес (деоичеая система) 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 Маска (двоичная система) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 Результат конъюнкции 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 Сетевой адрес 192 160 10 0 Сетевая часть Узловая часть Рисунок 28 - Расчет адреса сети А в А Л В {А & В) 0 0 0 0 1 0 1 0 0 1 1 1 Рисунок 29 - Конъюнкция Часто для простоты представление маски сокращают и её пишут не в двоичной системе, а в десятичной. Такой вид определения маски подсети называется длина префикса. Её число определяет количество бит, установленных на единицу. Она ставится после IP-адреса и отделяется от неё наклонной чертой. Таким образом, 192.168.10.10 с маской подсети 255.255.255.0 в сокращенном варианте будет выглядеть так: 192.168.10.10/24. Сопоставление 32-битной маски сети с префиксом представлено на рисунке 30. Маска подсети Двоичное представление маски подсети Длина префикса 255,0.0.0 11111111.00000000.00000000.00000000 /8 255.255.0.0 11111111.11111111.00000000.00000000 /16 255.255.255.0 11111111.11111111.11111111.00000000 /24 255,255.255.128 11111111.11111111.11111111.10000000 /25 255.255.255.192 111Ш11.111Ш11.11111Ш.И000000 /26 255.255.255.224 11111111.11111111.11111111.11100000 /27 255.255.255.240 11111111.11111111.11111111.11110000 /28 255.255.255.248 11111111.11111111.11111111.11111000 /29 255.255.255.252 11111111.11111111.11111111.11111100 /30 255,255.255.254 11111111.11111111.11111111.11111110 /31 255.255.255.255 11111111.11111111.11111111.11111111 /32 Рисунок 30 - Сопоставление двоичной маски сети с длиной префикса 43
И. Трещев. «Сети и телекоммуникации. Для студентов» Адреса могут быть нескольких видов: 1. Сетевой адрес - Содержит в узловой части одни нули в двоичной системе; 2. Адрес первого узла - Содержит все нули в узловой части, но заканчивается на 1; 3. Адрес последнего узла - Содержит все единицы в узловой части, но заканчивается на 0; 4. Широковещательный адрес - Содержит в узловой части одни единицы. Узел, подключенный к сети, может обмениваться данными с другими устройствами несколькими способами: 1. Одноадресная рассылка - Отправка информации происходит на один конкретной узел. Для рассылки используется уникальный адрес устройства назначения; 2. Многоадресная рассылка - Отправка информации происходит группе узлов. Для неё в протоколе зарезервированы адреса от 224.0.0.0 до 239.255.255.255. Если отправка происхо¬ дит в пределах локальной сети, то используются адреса в пределах от 224.0.0.0 до 224.0.0.255; 3. Широковещательная рассылка - Отправка информации происходит абсолютно всем узлам в сети, за исключением самого узла-отправителя. Широковещательным адресом явля¬ ется 255.255.255.255. Помимо этого, в протоколе IPv4 зарезервированы специальные IPv4-адреса, используе¬ мые для различных целей. Узлам данные IPv4-адреса не могут быть назначены вручную. При¬ мер некоторых специальных IPv4-адресов представлен на рисунке 31. Адрес Назначение о.о.о.о Нулевой адрес. Использовать запрещено 255.255.255.255 Широковещательный адрес 172.16.0. 0/12 192.168.0. 0/16 10.0. 0.0/8 NAT-сети, зарезервированные для использования в локальной сети 127.0.0.1 Loopback. Обращение узла к самому себе 169.254.0.0/16 Зарезервировано для узла, который не получил 1Ру4-адрес от DHCP-сервера Рисунок 31 - Некоторые зарезервированные ^4-адреса 44
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.3.5 IPv6-адресация Длина ^6-адреса равна 128 бит. Адрес разделен на восемь равных частей (гекстет), размер каждого из которых составляет 16 бит или четырех шестнадцатеричных цифр. Каждый гекстет разделен между собой двоеточием. Формат адреса: X:X:X:X:X:X:X:X, где X - гекстет. Пример ^6-адрес представлен на рисунке 32. 1-ый 2-ой 3-ий 4-ый 5-ый 6-ой 7-ой 8-ой 2001 0DB8 ПАЗ 09D7 1F34 8А2Е 8А2Е 765А 2001 0DB8 АА10 0001 0000 0000 0000 00FB 21DA 00D3 0000 2F3B 02АА 00FF FE28 9С5А FABC DE12 3456 7890 ABCD EF98 7654 3210 Диапазон 1Ру6-адресов: 0000 0000 0000 0000 0000 0000 0000 0000 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF Рисунок 32 - Формат ^6-адреса Однако такой большой адрес буден проблематичен для восприятия. Для большего удоб¬ ства ^6-адреса сокращают по определенным правилам: 1. Во-первых, все начальные нули в гексетах пропускаются. Например, 00D3 сокращается до D3, 0A00 можно представить как A00, а 0DB8 можно представить как DB8. При этом нельзя сокращать конечным нули, правило применяется исключительно к начальным нулям в гексете; 2. Во-вторых, двойное двоеточие (::) может заменить любую единую, строку одного или гекстетов, целиком и полностью состоящих из нулей. При¬ чем выполнить данное сокращение можно выполнить только единожды в IPv6- адресе. Например, адрес 2003:ABCD:1234:0000:0000:0000:1001:CEDA можно сократить до 2003:ABCD::1234:1001:CEDA. Пример сокращений ^6-адресов представлен на рисунке 33. Изначальный вариант 2001 0DB8 ПАЗ 09D7 1F34 8А2Е 8А2Е 765А Вариант без начальных нулей 2001 DB8 ПАЗ 9D7 1F34 8А2Е 8А2Е 765А Сокращенный вариант 2001:DB8:11A3:9D7:1F34:8A2E:8A2E:765A Изначальный вариант 21DA 00D3 0000 2F3B 02АА 00FF FE28 9С5А Вариант без начальных нулей 21DA D3 0 2F3B 2АА FF FE28 905А Сокращенный вариант 21DA:D3::2F3B:2AA:FF:FE28:9C5A Изначальный вариант 2001 0DB8 АА10 0001 0000 0000 0000 00F8 Вариант без начальных нулей 2001 DB8 АА10 1 0 0 0 FB Сокращенный вариант 2001:DB8;AA10:1::FB Рисунок 33 - Пример сокращения ^6-адресов Как и для IPv4-адресов, для определения сетевой и узловой части адреса используется префикс, и так же для разделения адреса от сети используется наклонная черта. Но, в отличии от IPv4, традиционные маски подсети не используются из-за очень длинного представления её в двоичном формате. Длина префикса может составлять с 0 до 128. Традиционно для локальных LAN-сетей используется префикс /64. Это значит, что и для сетевой, и для узловой части доступно по 64 бита. Пример представлен на рисунке 34. 45
И. Трещев. «Сети и телекоммуникации. Для студентов» 2001:DB8:A::/64 Сетевая часть Узловая часть 2001:DB8:000A:0000 0000:0000:0000:0000 64 бита 64 бита Рисунок 34 - Пример разделения сетевой и узловой части с помощью длины префикса Как в IPv4, в рассматриваемом протоколе так же используется индивидуальный IPv6- адреса для определения интерфейса устройства назначения. Индивидуальный адрес для про¬ токола IPv6 может быть нескольких видов: 1. Глобальный индивидуальный адрес (global unicast) - Это адрес, к которому можно проложить маршрут по Интернету. Такие адреса являются уникальными по всеми миру и могут быть настроены как статически вручную, так и динамически с помощью различных протоколов. Данный вид адреса всегда имеет в начале три бита 001. Следовательно, диапазон первого гекстета варьируется с 2000 по 3FFF (0010 0000 0000 0000 - 0011 1111 1111 1111); 2. Произвольный адрес (anycast) - Любой индивидуальный адрес, который может быть назначен нескольким устройствам. Пакет, отправляемый на адрес произвольной рас¬ сылки, направляется к ближайшему устройству с этим адресом; 3. Локальный адрес (link-local) - Данный адрес используется для взаимодействия с устройствами, находящимся в той же локальной сети (отметим, что для протокола IPv6 используется термин «канал» для обозначения подсети). Такие адреса не маршрутизируются. Уникальность для данных адресов не требуется - в каждом из каналов локальный адрес можно назначить один и тот же. Диапазон данных адресов: FE80::/10; 4. Уникальный локальный адрес (unique local) - Адреса, которые могут маршрутизи¬ роваться внутри своей локальной сети, но не маршрутизируются глобально в Интернете. Могут быть использованы по соображению обеспечения безопасности, когда информация не должна быть покинута из данной ей сети. Диапазон адресов: FC00::/7 до FDFF::/7; 5. Loopback - адрес, при использовании которого пакеты не покидают устройство-отпра¬ вителя, а отправляются к нему же. Аналогичен адресу 127.0.0.1 в IPv4. Может использоваться для проверки исправности сетевого устройства. Адрес:::1/128; 6. Неуказанный адрес (unspecified address) - Данный адрес состоит из одних нулей. Может использоваться в некоторых протоколах; 7. Мультикастовый адрес (multicast). Остановимся на нем поподробнее. В отличии от IPv4, в протоколе IPv6 нет такого понятия, как широковещательная рас¬ сылка или широковещательный адрес. Эту роль взял на себя мульткастовый адрес, которая позволяет гибко определять диапазон получателей пакета в сети: можно отослать как опреде¬ ленной группе адресов, так и всем сразу. Адрес: FF00::/8. Мультикастовые адреса могут быть двух видов: 1. Назначенный адрес (assigned multicast), который уже заранее предопределен. Отправляемый на такой адрес пакет будет получен всеми устройствами, входящими в группу; 2. Запрошенный адрес (solicited multicast), которые могут использоваться для при¬ кладных задач. Несколько примеров назначенных адресов: 1. FF02::1 - в эту группу входят все устройства, находящимя на канале. Таким образом, данный специальный мультикастовый адрес ведёт себя как широковещательный адрес в IPv4. Все устройства обязаны принимать пакеты, отправленные на FF02::1; 2. FF02::2 - в эту группу входят все маршрутизаторы. С помощью данного адреса возможно сделать рассылку по маршрутизаторам, присутствующим на канале. Как только 46
И. Трещев. «Сети и телекоммуникации. Для студентов» на маршрутизаторе Cisco включается режим маршрутизации для IPv6, он автоматически ста¬ новится участником этой группы и начинает принимать весь трафик, адресованный на FF02::2; 3. FF02::1:2 - в эту группу входят все DHCPv6 сервера, используется этот адрес, как не трудно догадаться, в процессе получения адреса по DHCP. Запрошенный адрес автоматически появляется, когда на некотором интерфейсе появ¬ ляется юникастовый адрес. Адрес формируется из сети FF02:0:0:0:0:1:FF00::/104, оствашиеся 24 бита - такие же как у настроенного юникастового адреса. Обратите внимание, что /104 озна¬ чает, что из данного канала только первые 104 бита берутся для формирования адреса (послед¬ ние два нуля не участвуют). Когда некоторое устройство получает пакет, у которого адреса получателя находится в сети FF02:0:0:0:0:1:FF00/104, оно обязано принять этот пакет в том случае, если оставшиеся 24 бита в этом адреса равны последним 24-м битам в юникастовом адресе самого устройства. Такие мультикастовые адреса активно используются в ситуации, когда некоторое устройство хочет узнать MAC-адрес своего соседа. Так же остановимся на локальном индивидуальном адресе канала. Он позволяет устройству обмениваться данными с другими устройствами, находящемся в том же канале и использующих протокол IPv6. Его наличие у узла не обязательно, но при этом каждый интер¬ фейс сетевого устройства обязан знать хотя бы один локальный адрес канала. Если он не указан вручную, то устройство само его создаст автоматически без обращения к серверу DHCPv6. Узлы под управлением IPv6 создают локальный IPv6-адрес канала даже в том случае, если устройству не был назначен глобальный индивидуальный IPv6-адрес. Это позволяет устройствам под управлением IPv6 обмениваться данными с другими устройствами под управ¬ лением IPv6 в одной подсети, в том числе со шлюзом по умолчанию (маршрутизатором). Глобальный индивидуальный IPv6-адрес состоит из трех частей (рисунок 35): 1. Префикс глобальный маршрутизации - часть адреса, назначаемая Интернет-про¬ вайдером. На сегодняшний день используется префикс /48; 2. Идентификатор канала - часть адреса, используемая для разделения на каналы в рамках одной площадки. Чем больше идентификатор канала, тем больше каналов можно создать; 3. Идентификатор интерфейса - данный термин эквивалентен понятию «узловая часть» в IPv4. Однако следует помнить, что узел может иметь у себя несколько интерфейсов, каждый из которых может иметь один или несколько IPv6-адресов. Как правило, используется префикс /64. 48 бит 16 бит 64 бит Префикс глобальной маршрутзации Индетификатор канала Идентификатор интерфейса Сетевая часть Узловая часть Рисунок 35 - Структура глобального индивидуального IPv6-адреса Устройство может автоматически получать глобальный индивидуальный IPv6-адрес c помощью SLAAC или сервера DHCPv6. Причем в данном случае локальный адрес канала ближайшего маршрутизатора автоматически будет использоваться в качестве адреса шлюза по умолчанию. Всего существует три способа получения глобального индивидуального IPv6- адреса: 1. SLAAC - это способ, который позволяет устройству получить свой префикс, длину префикса и адрес шлюза по умолчанию от маршрутизатора IPv6 без помощи DHCPv6-сервера. Устройство запрашивает информацию, посылая сообщение Router Solicitation (RS) маршру¬ тизатору с помощью мультикастовой рассылки. Устройство получает всю необходимую инфор- 47
И. Трещев. «Сети и телекоммуникации. Для студентов» мацию от него из ICMPv6-сообщения под названием Router Advertisement (RA). Однако идентификатор интерфейса устройства генерирует случайно самостоятельно, либо использует уникальный идентификатор EUI-64; 2. SLAAC и DHCPv6 - тут устройство требуется SLAAC для создания собственного гло¬ бального индивидуального ^6-адреса, локальный адрес канала маршрутизатора для шлюза по умолчанию и DHCPv6 для получения такой информации, как DNS-сервер и имя домена. Обратите внимание, что в данном случае DHCPv6 не отслеживает состояние адресов, то есть он не распределяет глобальные индивидуальные адреса. Устройства так же самостоятельно будет генерировать идентификатор интерфейса; 3. DHCPv6 - С помощью служб DHCPv6-сервера с отслеживанием состояния адре¬ сов устройство может автоматически получать данные адреса, включая глобальный инди¬ видуальный адрес, длину префикса и адреса DNS-серверов. Шлюз по умолчанию так же берется из локального адреса канала маршрутизатора. DHCPv6-сервер выдает и ведет список устройств и назначенных им IPv6-адресов. Для создания идентификатора интерфейса, как уже было сказано, может использоваться либо случайная генерация, либо использование процесса EUI-64. Случайная генерация доступна в операционных системах Microsoft Windows Vista и выше. Для процесса EUI-64 используется 48-битный MAC-адрес клиента. Процесс проиллю¬ стрирован на изображении 36: 1. MAC-адрес клиента разделяется на уникальный идентификатор организации (OUI) и идентификатор конкретного устройства. 2. По центру вставляется значение FFFE (11111111 11111110); 3. Седьмой бит инвертируется: вместо 0 будет 1 и наоборот. OUI Идентификатор vct poЯства SO 1 FA | 5B If 1 os C3 80 | FA | 5В | | 1F | D8 | СЗ 80 | FA | 5В 1 FF | FE | 1F | DS | ~СЗ~ 1000 ooool 1111 1010 0101 101111111 111111111 moloooi llllfllOl 100011100 ООН юоо ooiol mi 1Q10 0Ю1 ioii| mi mil ini liioloooi nn| noi iooo|iioo 0011 82 | FA | 5B | FF 1 FE | IF | D8 | C3 Рисунок 36 - Процесс EUI-64 48
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.3.6 Разделение сети на подсети Разделение на подсети может быть важным для большого предприятия по нескольким причинам, главным из которых является уменьшение широковещательного домена (при усло¬ вии, что для каждой подсети будет использоваться свой коммутатор). Широковещательный домен - область сети, в которой происходит обмен широкове¬ щательными сообщениями (широковещательная рассылка), и устройства могут отправлять друг другу сообщения непосредственно, без участия маршрутизатора. Коммутатор выполняет рассылку на все интерфейсы кроме того, откуда был получена рассылка. Маршрутизатор рас¬ сылки не выполняет, но при этом каждый интерфейс маршрутизатора подключен к своему широковещательному домену, и широковещательная рассылка ведется внутри этого домена. При большом широковещательном домене с большим количеством подключенных узлов происходит большая нагрузка на устройства, которые обрабатывают серьезный поток трафика. Для уменьшения нагрузки может как раз и использоваться это разделение на подсети. Разделение может происходить по принципам разделения по местоположению (напри¬ мер, по этажам здания), по подразделениям (каждый отдел в фирме будет подключен к своей сети), по типам устройств (периферийные устройства по типу сканера, принтера, факса могут быть объединены в общую отдельную сеть), или по любому другому принципу, который пока¬ жется удобным администратору сети. Подобное разделение, помимо всего прочего, может помочь администраторам сети при¬ менять свои собственные меры безопасности для каждой подсети, а так же помогает легче ори¬ ентироваться в логической топологии сети. Одним из самых простых способов разделения на подсети является разделение на гра¬ ницах откетов /8, /16, /24 (рисунок 37). Данный способ имеет недостаток, что может оста¬ ваться огромное количество неиспользуемых узлов в данной подсети, особенно если речь идет о /8 префиксе. Достаточно распространенным способом разделения является использования префикса /24, который позволяет иметь достаточно количество узлов (254 узла), разделяя при этом сеть на 65536 подсетей. Префикс Маска Маска в двоичной системе Количество узлов /а 255.0.0.0 11111111 00000000 00000000 00000000 16,777,214 /16 255.255.0.0 11111111 11111111 00000000 00000000 65,534 № 255.255.255.0 11111111 11111111 11111111 00000000 254 Рисунок 37 - Разделение на подсети на границе откетов Более гибким способом разделения является метод разделения с бесклассовой адреса¬ цией (рисунок 38). Например, адрес сети /24 обычно разбивается на подсети с помощью более длинных префиксов, заимствуя биты из четвертого октета. Благодаря этому администратор может гибко назначать сетевые адреса меньшему числу оконечных устройств. Префикс Маска Маска в двоичной системе Кол-во узлов Кол-во подсетей /25 255.255.255.128 шиш шиш 11111111 10000000 126 2 /26 255.255.255.192 шиш muni 11111111 11000000 62 4 /27 255.255.255.224 шиш шиш 11111111 1110QOOO 30 8 /28 25S.25S.255.240 шиш шит 11111111 11110000 14 16 /29 255.255.255.248 шиш шиш 11111111 11111000 6 32 /30 255.255.255.252 шит ШШ11 11111111 111Ш00 2 64 Рисунок 38 - Разделение на подсети с бесклассовой адресацией. Обратите внимание, что для каждого занятого бита доступное количество подсетей удваивается, число доступных узлов в каждой подсети уменьшается 49
И. Трещев. «Сети и телекоммуникации. Для студентов» Количество узлов в подсети всегда считает по одной и той же формуле (2Лп) - 2, где n - это число бит, оставшихся в узловой части. В этой формуле учитываются адрес сети и широковещательный адрес (broadcast). Их узлу назначать нельзя. По этой причине максимальной возможной длиной префикса явля¬ ется /30 (в котором будет доступно два адреса для данной подсети), так как при заимствовании двух последних битов не останется бит для адресов узла. Приведем пример разделения частной сети 192.168.1.0/24 на две подсети (рисунок 39). Первые три октета идентифицируют часть сети, а оставшиеся 8 бит в последнем октете иденти¬ фицируют часть узла. Если не разбивать на подсети, такая сеть поддерживает один LAN-интер¬ фейс для 254 IP-адресов узлов. Если нужна дополнительная локальная сеть (LAN), основную сеть нужно разделить на подсети. Позаимствуем 1 бит в узловой части, тем самым расширяя сеть до 25 бит или до /25 пре¬ фикса. Это дает возможность создать две подсети: 192.168.1.0/25 и 192.168.1.128/25 (рисунок 40). Диапазон адресов данных подсетей дан на рисунках 41 и 42. Аналогичным способом можно разделить сеть на четыре подсети. Для этого заимству¬ ются два бита в узловой части адреса сети (рисунок 43). Исходный адрес Маска сети 192.168.1.00000000 192.168.1.00000000 Рисунок 39 - Исходная сеть, в которой заняли один бит в узловой части Адрес в 2-ой системе Адрес в 10-ой системе Сеть 0 192.168.1.00000000 192.168.1.0/25 Сеть 1 192.168.1.10000000 192.168.1.128/25 Маска 255.255.255.10000000 255.255.255.128 Рисунок 40 - Созданные две подсети путем заимствования одного бита в узловой части адреса сети Адрес в 2-ой системе Адрес в 10-ой системе Сетевой адрес 192.168.1.00000000 192.168.1.0 Первый узел 192.168.1.00000001 192.168.1.1 Последний узел 192.168.1.01111110 192.168.1.126 Broadcast 192.168.1.01111111 192.168.1.127 Рисунок 41 - Диапазон адресов подсети 192.168.1.0/25 Адрес в 2-ой системе Адрес в 10-ой системе Сетевой адрес 192.168.1.10000000 192.168.1.128 Первый узел 192.168.1.10000001 192.168.1.129 Последний узел 192.168.1,11111110 192.168.1.254 Broadcast 192.168.1.11111111 192.168.1.255 Рисунок 42 - Диапазон адресов подсети 192.168.1.128/25 Исходный адрес Маска сети 192.168.1.00000000 255.255.255.00000000 50
И. Трещев. «Сети и телекоммуникации. Для студентов» Рисунок 43 - Изначальный IP-адрес, в котором заняли два бита в узловой части Заимствование двух битов в узловой части позволяет нам расширить сеть до префикса /26, тем самым создаются подсети 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26 и 192.168.1.192/26 (рисунок 44). Пример диапазона для сетей представлен на рисунках 45, 46 и 47 соответственно. Адрес в 2-ой системе Адрес в 10-ой системе Сеть 0 192.168.1.DOOOOOOO 192.168.1.0/26 Сеть 1 192.168.1.01000000 192.168.1.64/26 Сеть 2 192.168.1.10000000 192.168.1.128/26 Сеть 3 192.168.1.11000000 192.168.1.192/26 Маска сети 255.255.255.11000000 255.255.255.192 Рисунок 44 - Разделение на четыре подсети Адрес в 2-ой системе Адрес в 10-ой системе Сетевой адрес 192.168.1.00000000 192.168.1.0 Первый узел 192.168.1.00000001 192.168.1.1 Последний узел 192.168.1.00111110 192.168.1.62 Broadcast 192.168.1,00111111 192.168.1.63 Рисунок 45 - Диапазон адресов подсети 192.168.1.0/26 Адрес в 2-ой системе Адрес в 10-ой системе Сетевой адрес 192.168.1.01000000 192.168.1.64 Первый узел 192.168.1.01000001 192.168.1.65 Последний узел 192.168.1.01111110 192.168.1.126 Broadcast 192.168.1,01111111 192.168.1.127 Рисунок 46 - Диапазон адресов подсети 192.168.1.64/26 Адрес в 2-ой системе Адрес в 10-ой системе Сетевой адрес 192.168.1.10000000 192.168.1.128 Первый узел 192.168.1.10000001 192.168.1.129 Последний узел 192.168.1.10111110 192.168.1.190 Broadcast 192.168.1.10111111 192.168.1.191 Рисунок 47 - Диапазон адресов подсети 192.168.1.128/26 В таком традиционном разбиении на подсети каждой подсети выделяется одинаковое количество адресов. Если все подсети имеют одинаковые требования к количеству узлов, такие блоки адресов фиксированного размера будут эффективными. Тем не менее, чаще всего это не так. При стандартном разделении на подсети все её остается проблема необоснованного рас¬ хода неиспользуемых адресов. Таким разделением уменьшается потенциальное количество доступных подсетей, так как неиспользуемые адреса могут быть часть других подсетей, что суммарно приводит к нецелесообразному расходу ресурсов. Для решения данных проблем существует способ разделение подсети на несколько под¬ сетей с использованием переменной длины маски подсети (variable length subnet mask, VLSM). С помощью VLSM можно создать более мелкие подсети. Как вы помните, если известно требуемое количество адресов узлов, можно использовать формулу (2Лп) - 2, (где n - количество оставшихся бит в узловой части). Чтобы получить два доступных адреса, в его узловой части должны остаться два бита. Для начала разобьем на восемь подсетей известную нам сеть 192.168.20.0/24 и для при¬ мера возьмем получившуюся сеть 192.168.20.224/27. 51
И. Трещев. «Сети и телекоммуникации. Для студентов» Поскольку в разбитом на подсети адресном пространстве 192.168.20.224/27 имеются 5 бит в узловой части, еще три бита можно позаимствовать, оставив 2 бита в узловой части. На данном этапе расчеты в точности совпадают с расчетами при традиционном разбиении на подсети. Биты заимствуются, определяя диапазоны подсетей. Такая схема VLSM-разбиения на подсети уменьшает количество адресов в каждой под¬ сети до подходящего размера соединений с глобальной сетью. Разбиение подсети 7 для сетей WAN оставляет доступными подсети 4, 5 и 6 для будущих сетей, а также 5 дополнительных подсетей для сетей WAN. Весь процесс показан на рисунке 48. Рисунок 48 - Пример возможного разделения с помощью VLSM на подсети сеть 192.168.20.0/24 Для планирования разделения сети на подсети необходимо учитывать, что каждому узлу во всей чети необходимо получить свой уникальный IP-адрес, а администратору сети знать, как и кому были назначены адреса и постоянно анализировать прохождение трафика с целью выявлению возможных ошибок проектирования и изменения сети с целью более грамотного распределения нагрузки на все устройства. Так же администратору сети нужно знать, как правильно присваивать адреса. Узлам (персональным компьютерам, смартфонам, планшетным ПК) следует предоставлять IP-адреса с помощью DHCP-сервера, который выдает временный IP-адреса каждому подключившемуся устройству в сети и который ведет учет выданных адресов. После отключения узла от сети его IP-адрес возвращается на DHCP-сервер, и этот же самый IP-адрес может быть назначен совершенно другому устройству, которое может подключиться к сети в будущем. Серверам и периферийным устройствам (сканерам, принтерам, IP-телефонам, факсам) следует статически назначать IP-адреса, чтобы каждый, кто знал их адрес, мог без проблем подключиться к данным устройствам в любой момент времени. Таким же методом IP-адреса устанавливаются промежуточным устройствам в сети, например, портам коммутаторов. Как правило, интерфейсам маршрутизаторов назначат либо самый младший, либо самый старший адрес из доступных. Сети IPv6 так же предполагают разделения на подсети, только в отличии от сетей IPv4, они предполагают создание иерархии адресов на основе количества необходимых подсетей. Разбиение на подсети подвергается глобальные индивидуальные адреса. Для создания внутренних подсетей организация может использовать раздел 16-битного идентификатора подсети в глобальном индивидуальном адресе IPv6. Пример такого разбиения продемонстрирован на рисунке 49. 52
И. Трещев. «Сети и телекоммуникации. Для студентов» В связи с особенностями протокола IPv6 разбиение с помощью VLSM в нем не преду¬ смотрено. Адрес Сеть 2001:0DB8:ACAD::/48 Сеть О 2001:0DB8:ACAD:0001:/64 Сеть 1 2001:ODB8:ACAD:0002:/64 Сеть 2 2001:0DB8:ACAD:0003:/64 Сеть FFFF 2001:0DB8:ACAD:FFFF:/64 Рисунок 49 - Пример разделение на подсети в протоколе IPv6 53
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.4 Транспортный (четвертый) уровень 54
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.4.1 Описание и характеристика Протоколы транспортного уровня могут решать проблему негарантированной доставки сообщений, а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют, для какого именно приложения предна¬ значены эти данные. На транспортном уровне есть возможность отслеживать отдельные сеансы связи - набор данных, передаваемых между приложением источника и приложением назначения, сегментировать данные и производить сборку сегментов, а также определять приложение по номеру порта. Транспортный уровень может еще и отвечать за надежность передачи инфор¬ мации. Сегментация позволяет использовать мультиплексирование сеансов связи, при котором несколько приложений могут одновременно использоваться сеть. Для идентификации к каж¬ дому сегменту добавляют заголовок. 55
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.4.2 Протоколоы TCP и UDP Стек протоколов TCP/IP предоставляет два протокола транспортного уровня: TCP и UDP. Протокол IP использует эти транспортные протоколы для обеспечения связи и пере¬ дачи данных между узлами. Протокол управления передачей (Transmission Control Protocol - TCP) - данный протокол предоставляет поток данных с предварительной установкой соединения, осуществ¬ ляет повторный запрос данных в случае потери данных и устраняет дублирование при полу¬ чении двух копий одного пакета, гарантируя тем самым целостность передаваемых данных и уведомление отправителя о результатах передачи. Данный потокол может использоваться там, где необходима гарантированная доставка информации без потерь. Например, в передачи электронной почты, загрузки данных и файлов. Протокол пользовательских датаграмм (User Datagram Protocol - UDP) - простой протокол, не обеспечивающий надежность при передаче данных. Датаграммы в этом протоколе могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. UDP подразуме¬ вает, что проверка ошибок и исправление либо не нужны, либо должны исполняться в прило¬ жении. При этом данный протокол позволяет обрабатывать информацию с большой скоростью. Используется, например, для потоковой передачи аудио- и видеоданных. Заголовок UDP-пакетов состоит из следующих полей (рисунок 50): 1. Порт источника и порт назначения - данные поля определяют конкретные прило¬ жения, откуда поступает информацию, и в какой приложение она должна поступить. Размер обоих полей - по 16 бит каждый; 2. Длина датаграммы - поле, задающее длину всей датаграммы (заголовка и данных) в байтах. Минимальная длина равна длине заголовка - 8 бит; 3. Контрольная сумма - используется для проверки заголовка и данных на ошибки. Если сумма не сгенерирована передатчиком, то поле заполняется нулями. Размер - 16 бит. Биты | 0 1 2 3 4 S б 7 8 9 10 11 12 13 14 п 16 17 1 к 14 20 21 п 74 25 Л, 27 20 29 30 31 0 Горт источника Порт назначения 4 Длина Контрольная сумма IPvb-эдрес источника Рисунок 50 - Заголовок UDP Заголовок TCP-пакетов куда более обширный и состоит из следующих полей (рису¬ нок 51): 1. Порт источника и порт назначения - Абсолютно аналогичен полян из UDP-пакета. Размер обоих полей - по 16 бит каждый; 2. Порядковый номер - номер первого байта в сообщении. Может также использо¬ ваться для обозначения исходного порядкового номера в передаче. Размер поля - 32 бита; 3. Номер подтверждения - порядковый номер следующего байта данных, который ожидает получатель. Размер поля - 32 бита; 4. Длина заголовка - указывает на длину заголовка сегмента TCP. Размер поля - 4 бита; 5. Зарезервировано - неиспользуемое на данный момент пространство, зарезервиро¬ ванное для будущего использование. Всегда устанавливается значение 0. Длина поля - 6 бит; 6. Управляющие биты (флаги) - флаги, указывающие на дополнительные функции сегментов TCP. Например: ACK - поле «Номер подтверждения» задействовано, SYN - син¬ 56
И. Трещев. «Сети и телекоммуникации. Для студентов» хронизация номеров последовательности. FIN —флаг, будучи установлен, указывает на завер¬ шение соединения. Размер поля - 6 бит; 7. Окно (размер окна) - указывает количество сегментов TCP (количество байт дан¬ ных), которые можно принять одновременно. Размер - 16 бит; 8. Контрольная сумма - позволяет совершать проверку на ошибки в заголовке и дан¬ ных в передаваемом сегменте. Размер - 16 бит; 9. Срочность (указатель важность) - указывает порядковый номер октета, которым заканчиваются полезные данные. Размер - 16 бит; 10. Опции - Могут применяться в некоторых случаях для расширения протокола. Ино¬ гда используются для тестирования. Размер - 32 бит. Рисунок 51 - Заголовок TCP Процесс начала сеанса TCP состоит из трёх шагов (рисунок 52): 1. Клиент запрашивает сеанс обмена данных с сервером. Серверу посылается сегмент с флагом SYN, в котором дается информация о использовании номеров последовательности? начиная с порядкового номера (SEQ) 100; 2. Сервер подтверждает сеанс типа «клиент-сервер» и запрашивает сеанс «сервер-кли¬ ент». Сервер передаёт SYN со своим значением SEQ, а также подтверждение для принятого SYN, которое имеет следующий вид: ACK = SYN +1. Таким образом, значение ACK будет равняться 100 +1 = 101; 3. Клиент подтверждает сеанс типа «сервер-клиент». Соединение устанавливается. © © Отправляет <SEQ=100>, <CLT=SYN> Получает SYN SYN Получает <SEQ = 30Q>, <ACK - 101>, Отправляет SYN, АСК <CTL = SYN, ACK > SYN, ACK Соединение <SEQ= 101>, <ACK = 301>/ установлено <CTL = ACK> © Рисунок 52 - Процесс установления TCP-соединения Сеанс завершается, когда у клиента больше нет данных для отправки в потоке (рису¬ нок 53). 1. Клиент отправляет сегмент с установленным флагом FIN; 2. Сервер отправляет подтверждение ACK, чтобы подтвердить получение флага FIN для завершения сеанса; 3. Сервер отправляет клиенту сегмент FIN для завершения сеанса; 4. При получении сегмента FIN клиент отправляет подтверждение ACK серверу для под¬ тверждения получения информации от сервера. 57
И. Трещев. «Сети и телекоммуникации. Для студентов» Отправляет Получен FIN FIN Получен Отправляет АСК АСК Получен Отправляет FIN FIN Отправляет Получает АСК АСК © © Рисунок 53 - Процесс разрыва TCP-соединения 58
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.4.3 Порты Пользователи сети должны иметь возможность одновременно получать и отправлять почту, обмениваться мгновенными сообщениями, просматривать веб-сайты и общаться по голосовой связи. Каждое из этих приложений одновременно отправляет и получает данные по сети, несмотря на различные требования к надежности. Для этого и существуют номера портов, предоставляющие возможность идентифицировать сетевые приложения на отдельно взятом компьютере. Номера портов источника информации генерируются динамически устрой¬ ством-отправителем. Это позволяет создавать несколько сеансов связи на узле одновременно. Номер порта назначения указывается клиентом, чтобы сообщить серверу о запраши¬ ваемом сервисе. Порты могут быть нескольких видов: 1. Общеизвестные порты, которые зарезервированы для общедоступных и общеиз¬ вестных сервисов и приложений. Диапазон портов: от 0 до 1023; 2. Зарегистрированные порты, которые выдаются по запросу отдельным приложе¬ ниям. Диапазон портов: от 1024 до 49151; 3. Частные или динамические порты, которые присваиваются клиентской ОС, когда инициируется подключение к сервису. Диапазон портов: от 49152 до 65535. К примеру, 21 порт - это порт службы передачи данных FTP, 443 - порт протокола HTTPS, 25 - почтовый протокол SMPT, а порт 3724 относится к компьютерной игре World of Warcraft. Номера портов, используемые для конкретных специфических целей, выделяет и регистрирует организация IANA. Сокет - комбинация IP-адреса источника и номер порта источника или IP-адрес назна¬ чения и номер порта назначения. Имеет вид XXX. XXX. XXX. XXX: YYYYY, где XXX. XXX. XXX. XXX - IP-адрес, YYYYY - номер порта. Сокеты позволяют различать несколько процес¬ сов, выполняющихся на клиенте, а также распознавать различные подключения к процессу сервера. 59
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.5 ТРАНСПОРТНЫЙ (ЧЕТВЕРТЫЙ) УРОВЕНЬ 60
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.5.1 Описание и характеристика Прикладной уровень предназначен для обеспечения взаимодействия пользователя (процесса-отправителя) с приложениями на удаленном компьютере (процессом-получателем). Иными словами, данный уровень позволяет обмениваться данными между приложением на узле-источнике и узле-получателе. Прикладной (пятый) уровень модели стека TCP/IP сопоставим с тремя уровнями модели стека OSI: с сеансовым (пятым), представительским (шестым) и прикладным (седьмым). Сеансовый (пятый) уровень устанавливает и поддерживает связи между приложени¬ ями, находящимися на разных узлах, между которым проходит трафик. Так же уровень управ¬ ляет созданием/завершением сеанса, обменом информацией, синхронизацией задач, определе¬ нием права на передачу данных и поддержанием сеанса в периоды неактивности приложений. Представительский (шестой) уровень форматирует данных из исходного устройства в форме, подходящей для получения устройством назначения, позволяет производить сжатие передаваемых данных, а также шифрует и дешифрует передаваемую информацию. На прикладном уровне передача информации происходит, как правило, по двум моделям организации сети. В модели «клиент-сервер» существует два устройства, между которыми происходит обмен информации. Клиент - устройство, запрашивающее информацию. Сервер - устрой¬ ство, которое предоставляет необходимую информацию клиенту. Клиент начинает обмен дан¬ ными, отправляя запрос на получение данных с сервера, который в ответ отправляет один или несколько потоков данных клиенту. В одноранговой модели (peer-to-peer, P2P) все устройства равноправные. Каждое устройство в любой момент времени может выступать как в видео сервера, предоставляю кому- то информацию, так и в виде клиента, который эту информацию запрашивает. Любой член данной сети не гарантирует своего присутствия на постоянной основе. Он может появляться и исчезать в любой момент времени. Но при достижении определённого критического размера сети наступает такой момент, что в сети одновременно существует множество серверов с оди¬ наковыми функциями. Приложения P2P позволяют устройству выступать как в роли клиента, так и в роли сер¬ вера. Для P2P-приложений требуется, чтобы каждое конечное устройство предоставляло поль¬ зовательский интерфейс и запускало сервис в фоновом режиме. Пример приложений: eDonkey, G2, Gnutella, BitTorrent. 61
И. Трещев. «Сети и телекоммуникации. Для студентов» 2.5.2 Основные протоколы прикладного уровня HTTP (HyperText Transfer Protocol - протокол передачи гипертекста) - протокол прикладного уровня передачи данных (изначально - в виде гипертекстовых документов в фор¬ мате HTML, в настоящий момент используется для передачи произвольных данных). Основой HTTP является модель организации сети «клиент-сервер». Основными клиентами являются браузеры, которые позволяют содержимое сайтов в Интернете в любое время. Модификацией данного протокола является HTTPS (HyperText Transfer Protocol Secure), который поддерживает шифрование и возможности аутентификации для повышения безопасности. DNS (Domain Name System - система доменных имён) - компьютерная распределён¬ ная система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства). DNS важна для работы Интернета, так как для соединения с узлом необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса. В некоторых случаях это позволяет использовать виртуальные серверы, например, HTTP- серверы, различая их по имени запроса. Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла hosts, кото¬ рый составлялся централизованно и автоматически рассылался на каждую из машин в своей локальной сети. С ростом Сети возникла необходимость в эффективном, автоматизированном механизме, которым и стала DNS. SMTP (Simple Mail Transfer Protocol - простой протокол передачи почты) - сете¬ вой протокол, предназначенный для передачи электронной почты в сетях TCP/IP. Предназна¬ чен для передачи исходящей почты с использованием порта TCP 25. Данный протокол исполь¬ зуют SMTP только для отправки сообщений на почтовый сервер для ретрансляции с одного сервера на другой, а также сохранять сообщение некоторое время. Если сообщение не будет доставлено, то оно возвращается отправителю с сообщением об ошибки. POP3 (Post Office Protocol Version 3 - протокол почтового отделения, версия 3) - стандартный интернет-протокол прикладного уровня, используемый клиентами электронной почты для получения почты с удалённого сервера по TCP-соединению. Используется порт 110. При получении почты и сохранения её на компьютере пользователя она удаляется с сервера. IMAP (Internet Message Access Protocol - протокол доступа к Интернет-сооб¬ щениям) - предоставляет пользователю обширные возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корре¬ спонденция расположена на компьютере получателя. Электронными письмами можно манипу¬ лировать с компьютера пользователя (клиента) без постоянной пересылки с сервера и обратно файлов с полным содержанием писем. Использует порт 143. DHCP (Dynamic Host Configuration Protocol - протокол динамической настройки узла) - сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и дру¬ гие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигура¬ ции сетевого устройства обращается к так называемому серверу DHCP, и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве сетей TCP/IP. Принцип работы DHCP (рисунок 54): 62
И. Трещев. «Сети и телекоммуникации. Для студентов» 1. Клиент выполняет широковещательную рассылку (DHCPDISCOVER) для нахождения DHCP-сервера; 2. Доступный DHCP-сервер отвечает сообщением (DHCPOFFER), содержащий IPv4- адрес, маску подсети, шлюз по умолчанию, DNS-сервер; 3. Если в сети много DHCP-серверов, то клиент, принимая несколько сообщений DHCPOFFER, отправляет сообщение с запросом DHCP (DHCPREQUEST), в котором клиент указывает конкретный сервер и предложение аренды, которое он принимает; 4. Если адрес IPv4, запрашиваемый клиентом или предлагаемый сервером, по-прежнему доступен, сервер возвращает сообщение с подтверждением DHCP (DHCPACK), которое под¬ тверждает, что данный адрес предоставлен клиенту. 1; DHCP DISCOVER DHCP- □ DHCP OFFER 1(0 DHCP- Клиент (з)| DHCP PREQUEST Сервер (—Г DHCP PACK 1(1) Рисунок 54 - Принцип работы DHCP-сервера FTP (File Transfer Protocol - протокол передачи данных) - протокол, передающий различные файлы между клиентом и сервером. Используется 21 порт. Пользователи FTP могут пройти аутентификацию и гарантирует передачу данных за счёт применения протокола TCP. Существует так же протокол TFTP (Trivial File Transfer Protocol - простой протокол передачи файлов), который, в отличие от FTP, не содержит возможностей аутентификации и основан на транспортном протоколе UDP, который не гарантирует передачу данных. 63
И. Трещев. «Сети и телекоммуникации. Для студентов» 3 GNU/Linux 3.1 Немного о дистрибутивах GNU/Linux Помимо широко распространенного семейства операционных систем Windows от компа¬ нии Microsoft, существует так же операционные системы, созданные на базе ядра Linux, раз¬ работанной под руководством Линуса Торвальдса. Ядро Linux - ядро операционной системы, соответствующее стандартам POSIX, состав¬ ляющее основу операционных систем семейства Linux. Распространяется как свободное про¬ граммное обеспечение на условиях GNU General Public License, кроме несвободных элемен¬ тов, особенно драйверов, которые используют прошивки, распространяемые под различными лицензиями. Операционные системы на базе ядра Linux являются лидерами на рынках суперкомпью¬ теров, микрокомпьютеров, серверов и смартфонов. Любой системный или сетевой админи¬ стратор должен хорошо знать, как работать с операционными системами, основанными на ядре Linux. Общее название операционных систем на базе ядра Linux - дистрибутив. Дистрибутив GNU/Linux - общее определение операционных систем, использующих ядро Linux, готовых для конечной установки на пользовательское оборудование. Поставляемая в рамках дистрибутива операционная система состоит из ядра Linux и, как правило, включает в себя набор библиотек и утилит, выпускаемых в рамках проекта GNU, а также графическую подсистему X Window System и набор приложений, таких как редакторы документов и таблиц, проигрыватели мультимедиа, системы для работы с базами данных и прочее. В настоящее время существует более шестисот дистрибутивов GNU/Linux, причем более половины из них поддерживаются в актуальном состоянии, что обеспечивается регулярным выпуском обновлений разработчиками дистрибутива. Поскольку ядро и сопутствующее ему программное обеспечение, в основном, являются открытыми, тот или иной дистрибутив GNU/Linux может быть установлен на самый широкий спектр аппаратного обеспечения, например: домашний компьютер, сервер, ноутбук или нет¬ бук, смартфон или планшетный компьютер. Существуют дистрибутивы, разрабатываемые как при коммерческой поддержке (Red Hat / Fedora, SLED / OpenSUSE, Ubuntu), так и исключительно усилиями добровольцев (Debian, Slackware, Gentoo, ArchLinux). И тут возникают вопросы на счет именования данных операционных систем. В большом количестве литературы операционные системы, основанные на ядре Linux, называют «опера¬ ционной системой Linux» или просто «Linux», что в корне является неправильным. Как было указано раньше, дистрибутивы состоят не только из ядра Linux, но и про¬ чих программ, которые и позволяют работать на компьютере. Большая часть таких про¬ грамм имеют лицензию GNU и являются частью одного большого Проекта GNU (The GNU Project) - проекта по разработке свободного программного обеспечения. Сторонники проекта GNU настаивают на названии «GNU/Linux» (читается как [гну слэш линукс]) как более точного определения дистрибутивов: под Linux зачастую имеют в виду опе¬ рационную систему, включающую утилиты из проекта GNU и ядро Linux. С этим мнением соглашается так же и автор данных строк. Поэтому здесь и далее дис¬ трибутивы будут именоваться исключительно как GNU/Linux. В отличии от операционных систем семейства Windows, которые являются проприетар¬ ными и платными, дистрибутивы GNU/Linux распространяются под лицензией GNU General 64
И. Трещев. «Сети и телекоммуникации. Для студентов» Public License. Согласно него, дистрибутивы GNU/Linux распространяется абсолютно сво¬ бодно. Всем желающим доступен исходный код ядра (как и любым другим программ, распро¬ страняющихся под данной лицензией) и можно распространять их без всяких ограничений Дистрибутивы GNU/Linux можно установить на любое количество компьютеров и даже создать свой дистрибутив и распространять его под другим названием - главное, чтобы он распростра¬ нялся под лицензией GPL. Для сравнения: в лицензионном соглашении Windows четко прописано, что пользова¬ тель имеете право установить приобретенный дистрибутив только на определенное количество компьютеров. Так, в разделе 2 «Права установки и использования» сказано следующее: Программное обеспечение не продается, а предоставляется по лицензии. В рамках настоящего соглашения мы предоставляем вам право установить и запустить один экзем¬ пляр программного обеспечения на устройстве (лицензированное устройство) для одновре¬ менного использования одним лицом, если вы соблюдаете все условия настоящего соглашения. А также: Изготовитель или установщик и Microsoft сохраняют все права (например, права, преду¬ смотренные законами о защите интеллектуальной собственности), которые не предостав¬ ляются явным образом в рамках настоящего соглашения. Например, эта лицензия не предо¬ ставляет вам права: <...> (ii) публиковать или копировать (за исключением разрешенной резервной копии) про¬ граммное обеспечение, предоставлять программное обеспечение в прокат, в аренду или во вре¬ менное пользование; (iii) передавать программное обеспечение (за исключением случаев, предусмотренных настоящим соглашением); <...> (vi) изучать технологию, декомпилировать или деассемблировать программное обеспе¬ чение, а также предпринимать соответствующие попытки, кроме как в той мере и в тех случаях, когда это (а) разрешено применимым правом; (b) разрешено условиями лицен¬ зии на использование компонентов с открытым исходным кодом, которые могут входить в состав этого программного обеспечения; (c) необходимо для отладки изменений каких-либо библиотек, лицензируемых по малой стандартной общественной лицензии GNU, которые вхо¬ дят в состав программного обеспечения и связанны с ним. Благодаря своей свободной лицензии и, практически, бесплатностью, дистрибутивы GNU/Linux стали основными операционными системами для различного серверного оборудо¬ вания, в государственных учреждениях различных стран, в коммерческих компаниях, в науч¬ ных и в некоммерческих организациях. С кратким списком компаний, использующих GNU/ Linux, можно ознакомиться на сайте: ualinux.com/ru/use-linux 65
И. Трещев. «Сети и телекоммуникации. Для студентов» 3.2 Процесс установки дистрибутива GNU/Linux Для начала работы с любым дистрибутивом GNU/Linux необходимо его скачать. Для работы мы возьмем дистрибутив Ubuntu Desktop 18.04. Скачать наш дистрибутив можно с официального сайта проекта: ubuntu.com/download (рисунок 55). Download Ubuntu Desktop Ubuntu 18.04.1 ITS Download the latest LTS version of Ubuntu, For desktop PCs end laptops. LT5 stands Per long-term support— which means five years, until April 2023, of Pree security and maintenance updates, guaranteed. Ubuntu 16.04 LTS release notes и Recommended system requirements: ® 2 CHs dual core processor or better ® 2 GB system memory ® 25 C6 of Free hard dnu* spate О Either a DVD drive or a USB port For the installer media ® Internee access is helpful Download For other versions of ubuntu Desktop iflduang torrents the network Installer, a list o( Local mirrors ana past releases see от alternative downloads Ubuntu 18.10 The latest version of the Ubuntu operating system fo* desktop PCs and laptops, Ubuntu 16,10 comes with nine months, unM July 2014, of security and maintenance Ubuntu 16,10 release notesB Recommended system requirements are the same as for Ubuntu 18.04.1 LTS. Download Alternative downtoaOsand torrents - Рисунок 55 - Страница скачивания дистрибутива Файл дистрибутива представляет собой образ диска форма. iso. Его можно записать на болванку или с помощью Rufus создать загрузочную флешку, чтобы с неё загрузиться и начать устанавливать операционную систему на компьютер. Но так как мы устанавливаем Ubuntu для учебных целей, то систему не обязательно ста¬ вить на рядом или вместо вашей основной операционной системы. Для этих целей мы восполь¬ зуемся виртуальными машинами - гипервизорами. Примеры: Microsoft Virtual PC, VMware Workstation, QEMU, Parallels, VirtualBox. В данном пособии мы будем работать на примере VMware Workstation. Вы можете использовать любой другой гипервизор на ваше усмотрение. Во время загрузки нас встречает логотип системы (рисунок 56). После него пользователю предлагается выбрать язык системы и способ загрузки. На выбор предлагается работать либо в режиме LiveUSB, что позволяет использовать систему без установки, накладывая при этом определенные ограничения при работе, либо полноценно установить нашу систему на жест¬ кий диск и работать после этого полноценно. Нам необходимо полноценно установить нашу систему, поэтому выбираем пункт «Install Ubuntu» (рисунок 57). 66
И. Трещев. «Сети и телекоммуникации. Для студентов» ubuntu® Рисунок 56 - Логотип Ubuntu Sun 03:49 А 4М5 » Install • Welcome Tagalog Tieng Viet Turkge EMqvwid Беяаруская Българскн К,анк Македонски Сргкки ТОЧИКЙ Украшська rrau Vou can try ubuntu without making any changes to your computer, directly from this CD. Or if you're ready, you can install Ubuntu alongside {or instead of) your current operating system. This shouldn't take too long. You may wish to read the release notes. Рисунок 57 - Выбор языка и способ загрузки системы После выбора нам предложат так же выбрать: устанавливать ли необходимый набор про¬ грамм или выбрать минимальную установку, а также устанавливать ли с Интернета обновле¬ ния для системы и устанавливать ли проприетарные драйвера. В рамках учебной практики вы можете выбрать минимальную установку - все необходимые операции мы можем выполнить и в минимальной конфигурации операционной системы (рисунок 58). Какие приложений вы хотите установить для начала? О Обычная установка Веб-браузер, утилиты, офисные приложения, игры и медиапроигрыватели. Минимальная установка Веб-брауэер и основные утилиты. Другие опции Q Загрузить обновления во время установки Ubuntu Это сохранит вам время после установки. Q Установить стороннее программное обеспечение для графики и оборудования Wi-Fi и это программное обеспечение является предметом условии лиценаион...прилагаемого к документации. Рисунок 58 - Способы установки операционной системы На рисунке 59 показано, что может программа установки может сделать с диском: про¬ грамма может сама создать необходимые разделы на жестком диске, либо все настройки можно сделать вручную при учете, что пользователь достаточно опытен и знает, что нужно делать. 67
И. Трещев. «Сети и телекоммуникации. Для студентов» На атом компьютере в данный момент не установлено систем. Что вы желаете сделать? О Стереть диск и установить Ubuntu Внимание: Это удалит все ваши программы, документы, изображения, музыку и другие файлы во всех операционных систем; Зашифровать новую установку Ubuntu вцелях безопасности Клеи безопасности можно будет выбрать позднее Использовать LVM при новой установке Ubuntu Это действие настроит диспетчер логических томов (LVM) при установке. Он позволяет делать снимки состояния диска и уп| изменение размера разделов. Другой вариант Вы можете (отдавать и изменять разделы самостоятельно, или выбрать срату несколько раме лее для Ubuntu, Рисунок 59 - Работа программы установки с жесткими дисками Так же во время установки программа попросит создать пользователя (рисунок 60), назначив ему полное имя, имя самого компьютера, логин пользователя и пароль (при желании). Рисунок 60 - Добавление пользователя После всех этих действий систему начнет свою установку на жесткий диск. Ubuntu ста¬ вится относительно недолго - во время написания данного текста установка на виртуальную машину заняла около 7 минут (рисунок 61). После завершения установки система выдаст сообщение об успешном завершении (рису¬ нок 62). После перезагрузки компьютера и входа в систему под своей учетной записью, пользова¬ тель встречает графическое окружение системы, основанной на свободно оболочке рабочего стола GNOME (рисунок 63). Теперь пользователь может начать пользоваться системой для своих целей. Рисунок 61 - Процесс установки Рисунок 62 - Вывод сообщения об окончании установки операционной системы 68
И. Трещев. «Сети и телекоммуникации. Для студентов» Рисунок 63 - Стандартный графический интерфейс Ubuntu Установка прочих дистрибутивов, как правило, мало чем отличается от того, что пока¬ зано здесь на примере Ubuntu. Большинство современных дистрибутивов имеют понятный гра¬ фический интерфейс пользователя, который позволяет без труда работать с системой, а также её настраивать. Так что проблем с установкой других дистрибутивов GNU/Linux у рядового пользователя возникнуть не должно. Стоит обратить внимание, что GNOME - далеко не единственная среда рабочего стола, которая доступна для дистрибутивов GNU/Linux. Любое доступное окружение можно устано¬ вить, выбрав соответствующий дистрибутив (например, для Ubuntu можно выбрать дистрибу¬ тив Kubuntu, в котором по умолчанию включена среда рабочего стола под названием KDE, а в дистрибутивах Linux Mint по умолчанию поставляется со средой Cinnamon), либо же уста¬ новив понравившуюся среду из репозитория внутри самой системы. Список существующих на данный момент окружений рабочего стола можно посмотреть здесь: ru.wikipedia.org/wiki/ Среда рабочего стола Если же у пользователя во время работы возникают какие-то вопросы, то существует несколько способов решения возникших проблем: 1. Во-первых, это специализированная литература по GNU/Linux, которая ориентиро¬ вана для обучения пользователей как основам, так и по различным узкоспециализированным вопросам, связанных с работой в дистрибутивах GNU/Linux; 2. Во-вторых, это официальные wiki-страницы, посвященные тому или иному дистри¬ бутиву. Например, для проекта Ubuntu существует пользовательская документация, располо¬ женная по адресу help.ubuntu.ru; 3. В-третьих, это помощью сообщества. Задать интересующий вопрос можно на различ¬ ных форумах или в чатах. Например, для среди форумов, посвященных миру GNU/Linux, оста¬ нется популярным по сей день форум, расположенный по адресу linux.org.ru. Так же хочется выделить русскую конференцию Telegram, посвященная дистрибутиву Fedora, под названием Russian Fedora Community, расположенная по адресу: t.me/russianfedora 4. В-четвертых, официальную платную поддержку можно получить непосредственно у компаний-производителей дистрибутивов. К примеру, компания Red Hat позволяет покупать подписку Red Hat Enterprise Linux, которая дает право не только получать техническую под¬ держку по телефону или через Интернет, но и дает, например, юридическую защиту в случае исков о нарушении авторских прав. Такая практика является повсеместной, и она не нарушает условия лицензии GNU General Public License. 69
И. Трещев. «Сети и телекоммуникации. Для студентов» 3.3 Работа с терминалом в GNU/Linux Несмотря на то, что большинство дистрибутивов GNU/Linux имеют дружелюбный и удобный интерфейс по отношению к пользователю, работа с операционной системой так или иначе подразумевает тесную работу с интерфейсом командной строки (CLI). По умолчанию во всех современных дистрибутивах используется командный интерпре¬ татор bash. Основное предназначение bash, как и любой другой оболочки - это выполнение команд, введенных пользователем. Пользователь вводит команду, bash ищет программу, соот¬ ветствующую команде, в каталогах, указанных в переменной окружения PATH. Если такая программа найдена, то bash запускает ее и передает введенные пользователем параметры. В противном случае выводится сообщение о невозможности выполнения команды. Для работы с командной строкой необходимо запустить терминал В наших лабораторных работах - да и в целом данные знания могут очень пригодится любому пользователю GNU/Linux - понадобится знание определенных команд для использо¬ вания их в интерфейсе командной строки. Для работы с командной строкой необходимо запустить эмулятор терминала (или, проще говоря, терминал) - программа, позволяющая использовать интерфейс командной строки в GNU/Linux. В наших лабораторных работах - да и в целом данные знания могут очень пригодится любому пользователю GNU/Linux - понадобится знание определенных команд для использо¬ вания их в интерфейсе командной строки. Для начала давайте разберемся о директории в GNU/Linux и о распределении файлов в системе. В UNIX-подобных операционных системах (к которым относятся дистрибутивы GNU/ Linux) обозначения жёстких дисков и разделов на них несколько отличаются от видимых поль¬ зователю в Windows. В GNU/Linux диски получают буквенное обозначение типа sdX, где X соответствует индексу из последовательности a, b,... а разделы на устройствах нумеруются и обозначаются цифрами, причём нумерация логических разделов, которые в Windows соот¬ ветствуют логическим дискам в расширенном разделе, начинается с 5, так как номера 1— 4 зарезервированы для обозначения первичных разделов и, собственно, расширенного раз¬ дела. Например, обозначения разделов для ОС Windows будет sdal (для C:) и sda5 (для D:). Если бы было четыре основных раздела или два основных и два логических (пусть C:, D:, E:, F:) то в первом случае они обозначались бы как sdal, sda2, sda3, sda4, а во втором как sdal, sda2, sda5, sda6, соответственно. Чтобы было удобнее работать с разделами на жёстком диске, в UNIX-подобных операци¬ онных системах их монтируют в каталоги корневой файловой системы, обозначаемой /, кото¬ рая обязана существовать. Более того, системой реализуется принцип: любое устройство есть файл, и жёсткие диски, как и остальные устройства компьютера, также являются файлами и доступны в каталоге dev корневой файловой системы. Отсюда и полное обозначение жёст¬ кого диска /dev/sda. Также в UNIX-подобных операционных системах все логические диски должны иметь точку монтирования. Точка монтирования соответствует определенному каталогу файловой системы. Дерево каталогов логического диска представляется поддеревом файловой системы, включенным в него в точке монтирования. Логический диск может быть примонтирован к любому каталогу существующей файловой системы. В свою очередь, к любому каталогу на подмонтированном носителе можно подмонтировать ещё один носитель и так далее. 70
И. Трещев. «Сети и телекоммуникации. Для студентов» Хотя логический том можно примонтировать куда угодно, сменные носители (флешки, компакт-диски) принято монтировать к подкаталогам папок /mnt или /media. В настольных дистрибутивах GNU/Linux этот процесс обычно происходит автоматически. При этом в ката¬ логе /media (/mnt) создается подкаталог, имя которого совпадает с именем монтируемого тома. Теперь, зная эту информацию, можно перейти к работе с терминалом. Чтобы его найти, необходимо в строке поиска прописать слово «терминал» или запустить его комбинацией кла¬ виш Ctrl+Alt+T (рисунок 64). andrewri@AndrewRi: ~ _ □ х , Файл Правка Вид Поиск Терминал Справка andrewri@AndrewRi:~$ | Рисунок 64 - Стандартный терминал в Ubuntu Теперь, находясь в терминале, вы можете начать вводить команды. Нас встречает строка andrewri@AndrewRi:~$, где: 1. andrewri - имя текущего пользователя; 2. AndrewRi - имя компьютера, который будет виден в сети; 3. : - разделитель; 4. ~ - текущая директория (в какой папке выполняется команда) пользователя (по умол¬ чанию /home/ <username>); 5. $ - символ приглашения ввода для пользователей с обычными правами; Обратите внимание, что имя текущего пользователя и имя компьютера будут зависеть от того, как вы их назначили во время установки операционной системы. Необходимый список команд, который вы должны знать: 1. pwd - выводит путь текущего каталога. Иногда вам бывает необходимо знать полный адрес вашего местоположения в системе; 2. cd - используется для навигации в терминале между каталогами. Сначала записыва¬ ется команда cd, затем путь, куда нужна перейти. Вот так выглядит переход в каталог /home на системе автора: andrewri@AndrewRi:~$ cd /home Для перехода в каталог выше пишется следующая команда: andrewri@AndrewRi:~$ cd.. Для перехода в директорию двумя уровнями выше: andrewri@AndrewRi:~$ cd../.. Для перехода в предыдущую дерикторию: andrewri@AndrewRi:~$ cd — Для перехода в домашнюю директорию пользователя: andrewri@AndrewRi:~$ cd ~andrewri 3. ls - используется для отображения файлов и каталогов в том месте, где вы находитесь: andrewri@AndrewRi:~$ ls Для отображения содержания другого каталога, например bin: andrewri@AndrewRi:~$ ls /bin/ Для отображения максимальной информации используется ключ -l: andrewri@AndrewRi:~$ ls /bin/-l 71
И. Трещев. «Сети и телекоммуникации. Для студентов» Для отображения скрытых файлов используется ключ -a: andrewri@AndrewRi:~$ ls /bin/-a Ключи в одной команде можно комбинировать между собой. Пример приведен на рисунке 65. Порядок ввода ключей может быть любым. 4. touch - используется для создания текстового файла. Для создания файла file. txt в текущем каталоге: andrewri@AndrewRi:~$ touch file. txt Так же можно ввести полный путь для создаваемого файла (рисунок 66): andrewri@AndrewRi:~$ touch /home/andrewr^oKyMeHmbi/file. txt 5. nano - текстовый редактор, который прямо терминале позволяет редактировать содер¬ жимое файла. Так же позволяет создать пустой текстовый файл. Для создания файла file. txt и/ или его редактирования в текущем каталоге (рисунок 67): andrewri@AndrewRi:~$ nano file. txt Так же можно ввести полный путь: andrewri@AndrewRi:~$ nano /home/andrewr^oKyMeHmbi/file. txt В качестве альтернативы можно использовать графический редактор gedit, который вхо¬ дит в комплект поставки в среду GNOME. При его запуске открывается привычным нам графический редактор по типу «Блокнот» из Windows. Он вызывается командой gedit точно так же, как и nano: andrewri@AndrewRi:~$ gedit file. txt 6. mkdir - используется для создания новых каталогов (рисунок 68): andrewri@AndrewRi:~$ mkdir /home/andrewri/Документы/testdir 7. rmdir - используется для удаления каталогов: andrewri@AndrewRi:~$ rmdir /home/andrewri/Документы/testdir 8. rm - используется для удаления отдельных файлов: andrewri@AndrewRi:~$ rm /home/andrewri/Документы/fUe. txt 9. mv - используется для переименования или перемещения файлов. Чтобы переиме¬ новать файл, выполняем команду вида mv название_файла новое_название. Например (рису¬ нок 69): andrewri@AndrewRi:~$ mv старое_название_файла. txt новое_название_файла. txt Для перемещения файла в другую директорию прописываем название файла и его путь (рисунок 70): andrewri@AndrewRi:~$ mv новое_название_файла. txt /home/andrewri/Видео 10. cp - используется для копирования файлов и каталогов. Например, чтобы копировать файл filel и назвать его file2, прописываем следующую команду: andrewri@AndrewRi:~$ cp file1 file2 Копировать директорию dirl в директорию dir2: andrewri@AndrewRi:~$ cp -a dir1/dir2/ Копировать файл с именем filel в директорию c именем dirl: andrewri@AndrewRi:~$ cp file1 dir1/ 11. find - используется для поиска файлов. Команда имеет следующий формат: find путь [опции]. Опции - это ключи-параметры поиска. Например, -name - поиск файлов по имени, - user поиск файлов, принадлежащих указанному пользователю, -type поиск файлов определен¬ ного типа. Самый простой вариант поиска, указываем путь и имя файла. Давайте найдем файл с именем filel: andrewri@AndrewRi:~$ find /home/ -name file1 12. man - форматирует и отображает страницы электронного справочника. Каждая про¬ грамма распространяется с соответствующей man-страницей. Например, для просмотра ману- ала для программы nano, прописываем следующее (рисунок 7l): 72
И. Трещев. «Сети и телекоммуникации. Для студентов» andrewri@AndrewRi:~$ man nano Так же для получения справки для каждой командой можно использовать ключ —help. Файл Правка Вид andrewri@AndrewRi: итого 12816 andrewri@AndrewRi: * Поиск Терминал Справка -S Is /Ып/ -I -а X drwxr-xr-x 2 root root 4996 НОЯ 19 15:06 drwxr-xr-x 24 root root 4096 ноя 18 14:11 -rwxr-xr-x 1 root root 1121696 сен 13 00:22 bash -rwxr-xr-x 1 root root 761264 эвг 29 17:46 brltty I -rWXT’Xr-X 1 root root 38984 авг 15 05:28 bunzip2 -rwxr-xr-x 1 root root 2062296 июл 10 00:25 busybox 1 -rwxr-xr-x 1 root root 38984 авг 15 05:28 bzcat Irwxrwxrwx f 1 root root 6 ноя 18 13:55 bzcnp -> bzdif T -rwxr-xr-x 1 root root 2227 авг 15 05:28 bzdiff Irwxrwxrwx 1 root root 6 ноя 18 13:55 bzegrep > bzg rep -rwxr-xr-x 1 root root 4877 авг 13 21:29 bzexe Irwxrwxrwx 1 root root 6 ноя 18 13:55 bzfgrep > bzg rep -rwxr-xr-x 1 root root 3641 авг 15 05:28 bzgrep -rwxr-xr-x 1 root root 38984 авг 15 05:28 bziD2 Рисунок 65 - Применение ключей во время использования команды ls Рисунок 66 - Использование команды touch и итог её применения Рисунок 67 - Текстовый редактор nano, работающий в терминале 0 Недавние Домашняя папка testdir file.txt Рисунок 68 - Использование команды mkdir и итог её применения 73
И. Трещев. «Сети и телекоммуникации. Для студентов» andrewri@>AndrewRi: -/Документы Файл Правка Вид Поиск Терминал Справка - □ X andrewri@AndrewRt:~/Документы$ touch староеназваниефайла.t andrewriOAndrewRi:~/Документы$ mv старое_название_файла.txt новое_название_файла.txt andrewri@AndrewRi:~/floKyMeHTb4$ [] ( 4 Документы Q, III Ш 0 Недавние Домашняя папка О Рабочий стол новое_ название_ файла, txt Рисунок 69 - Применение команды mv для переименования файла andrewri@AndrewRi:~/Документы$ rnv новое_название_файла.txt / hone/andrewrt/Видео andrewri@AndrewRi:~/Документы$ [] {It Домашняя папка Видео 0 Недавние {it Домашняя папка О Рабочий стол О Видео новое название_ файла.txt Рисунок 70 - Применение команды mv для перемещения файла andrewri@>AndrewRi: -/Документы Файл Правка Вид Поиск Терминал Справка NANO(1) General Commands Manual X NAND(l) nano - Nano's ANOther editor, clone an enhanced free Pico SYNOPSIS nano [options] ГГ+lineT.column!! file],.. DESCRIPTION nano is a small and friendly editor. It copies the look and feel of Pico, but is free software, and implements several features that Pico lacks, such as: opening multiple files, scrolling per line, undo/redo, syntax coloring, line numbering, and Manual page nano(l) line 1 (press h for help or Рисунок 71 - Использование команды man Как и в Cisco IOS, в GNU/Linux существуют обычные права пользователя, которые накладывают ограничения при работе с терминалом для защиты от возможных повреждений системы, так и права суперпользователя (root), которые позволяют работать с любой частью системы без ограничений. Доступ к режиму суперпользователя ограничен с помощью пароля, который знает, как правило, только администратор данного компьютера. О работе в том или ином режиме нам подсказывает значок $ (при использовании обычных прав) или значок # (при работе с правами суперпользователя). В Ubuntu, как и в большинстве операционных систем GNU/Linux, для использования прав суперпользователя используется утилита sudo. sudo - это утилита, предоставляющая привилегии root для выполнения административ¬ ных операций в соответствии со своими настройками. Она позволяет легко контролировать доступ к важным приложениям в системе. По умолчанию, при установке Ubuntu первому пользователю (тому, который создаётся во время установки) предоставляются полные права на использование sudo. 74
И. Трещев. «Сети и телекоммуникации. Для студентов» Для запуска в терминале команды с правами администратора просто наберите перед ней sudo: andrewri@AndrewRi:~$ sudo <команда> У вас попросят ввести ваш пароль. Будьте внимательны, пароль при вводе никак не отоб¬ ражается, это нормально и сделано в целях безопасности, просто вводите до конца и нажимайте Enter. После ввода пароля указанная команда исполнится от имени root. Будьте предельно внимательны при работе в приложениях, запущенных с правами адми¬ нистратора. Вы безо всяких предупреждений со стороны системы сможете выполнить любую операцию, в частности, удалить системные файлы, сделав при этом систему неработоспособ¬ ной (это называется «Выстрелить себе в ногу»). Система какое-то время помнит введённый пароль (сохраняет открытой sudo-сессию). Поэтому при последующих выполнениях sudo ввод пароля может не потребоваться. Для гаран¬ тированного прекращения сессии sudo следует набрать в терминале: andrewri@AndrewRi:~# sudo -K 75
И. Трещев. «Сети и телекоммуникации. Для студентов» 3.4 Настройка маршрутизации в GNU/Linux 76
И. Трещев. «Сети и телекоммуникации. Для студентов» 3.4.1 Построение виртуальной сети Для создания и настройки виртуальных машин будем использовать программное обеспе¬ чение VMware Workstation. В качестве операционной системы для виртуальных машин исполь¬ зуется дистрибутив Ubuntu. Ниже, на рисунок 72 схема, на которой построена виртуальная сеть. На схеме компьютеры в каждой сети соединены с маршрутизатором через частную под¬ сеть и по умолчанию не видят друг друга. Для построения данной сети в VMware Workstation создадим 6 виртуальных сетей типа Host-only и 1 виртуальную сеть NAT. Сеть первого типа соединяет гостевую виртуальную машину и хостовый компьютер, образуя частную сеть. Данное подключение обеспечивает сетевое соединение между вирту¬ альной машиной и хостом, используя виртуальный сетевой адаптер доступный операционной системе хоста. При этом типе подключения, виртуальная машина не имеет доступ к локальной сети и Интернету. При использовании NAT подключения, виртуальная машина не имеет собственного IP адреса внешней сети. Тем не менее, виртуальная машина может подключаться к компьютерам из внешней сети по стандартному протоколу TCP/IP. При этом виртуальная машина исполь¬ зует IP и MAC адреса физического компьютера. На рисунке 73 представлены все созданные виртуальные сети. П2.ДО.1.1» Рисунок 72 - Топология © Virtual Network Editor X Name Type External Connection Host Connection DHCP Subnet Address VMnetO Bridged Auto-bridging VMnetl Host-only - Connected - 192.1SS. 1,128 VMnet2 Host-only - Connected - 192.168.2,0 VMnet3 Host-only - Connected - 172.16.1,64 VMnet4 Host-only - Connected - 172.16.1,0 VMnetS Host-only - Connected - 10.201.6,64 VMnetS Host-only - Connected - 10.215.6,0 VMnet8 NAT NAT Connected - 192.168.70,0 Add Network.,. Remove Network Rename Network, VMnet Information О Bridged (connect VMs directly to the external network) Bridged to: Automatic О NAT (shared host's IP address with VMs) (J) Host-only (connect VMs internally in a private network) 0 Connect a host virtual adapter to this network Host virtual adapter name: VMware Network Adapter VMnet3 О Use local DHCP service to distribute IP address to VMs Subnet IP: | 172 ■ 16 . 1 ■ 64 | Subnet mask: | 255.255 ■ 255 ■ 1Э2 | Restore Defaults OK j j Cancel | | Apply | [ Help Рисунок 73 - Настройки в VMware 77
И. Трещев. «Сети и телекоммуникации. Для студентов» Далее необходимо подключить виртуальные машины к соответствующим виртуальным сетям. Виртуальные машины, выполняющие роль маршрутизаторов, будут иметь сразу три под¬ ключения: к внешней сети NAT и к двум внутренним подсетям. На рисунке 74 представлен пример настройки виртуальной машины, выполняющей роль маршрутизатора в Static-area. Рисунок 74 - Настройка виртуальной машины для маршрутизатора Static-area 78
И. Трещев. «Сети и телекоммуникации. Для студентов» 3.4.2 Статическая маршрутизация Так как ни в одной из виртуальных сетей не используется DHCP, IPv4-адреса каждой машине необходимо назначать вручную. Просмотреть все IPv4-адреса и подключённые к вир¬ туальной машине интерфейсы можно с помощью команды ip address show: static1@static-host:~$ ip address show Ниже на рисунке 75 представлен вывод этой команды до настройки сетевых интерфейсов. staticiestatlc-host:~$ ip а 1: lo: <LOOPBACK,UP,LOWER_UP> ntu 65536 qdisc noqueue state UNKNOWN group defau It qlen 1006 Unk/loopback 00:00:00:06:60:69 brd 00:00:06:00:60:69 inet 127.0.0.1/a scope host lo valid_lft forever preferred_lft forever tnet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: BROADCAST, MULTICAST, UP, LOWER_UP> ntu 1569 qdisc pfifo fast state UP group default qlen 1000 link/ether 06:0c:29:fb:b7:b6 brd ff:ff:ff:ff:ff:ff inetO fe80::19b8:dcel:cae9:a8f7/64 scope link validlft forever preferredlft forever 3: ens38: BROADCAST, MULTICAST, UP, LOWER_UP> ntu 1509 qdisc pfifo_fast state UP group default qlen I960 link/ether 06;0c:29:fb;b7:cO brd ff:ff:ff:ff:ff:ff inetO fe80::a5ae:c029:lbcc:2992/64 scope link valtd_lft forever preferred_lft forever 4: ens39: <BROADCAST,MULTICAST.UP,L0WER_UP> ntu 1500 qdisc pfifo_fast state UP group default qlen 1609 link/ether 06:0c:29:fb:b7:ca brd ff:ff:ff:ff:ff:ff InetO fese::i65b:2bf5:ed5f:e37b/64 scope link valid_lft forever preferred_lft forever staticl®statle-host;-$ | Рисунок 75 - Отображение ^4-адресов Для просмотра текущей таблицы маршрутизации на узле с установленной ОС использу¬ ется команда netstat -r или route. Пример вывода данной команды представлен на рисунке 76. statici0static-host:-$ netstat -г Kernel IP routing table Destination Gateway Gennask link-local 0,9.0.0 255.255.0.0 staticl@statlc-host:-$ Flags M5S Window irtt Iface U 00 e ens39 Рисунок 76 - Вывод команды netstat —г Для настройки IPv4-адресов сетевых интерфейсов и создания статических маршру¬ тов, достаточно отредактировать файл, расположенный по следующему адресу: /etc/network/ interfaces. Ниже, на рисунках 77—80, представлена настройка сетевых интерфейсов и статических маршрутов компьютеров в Static-area. Рисунок 77 - Конфигурация сетевых интерфейсов на PC-1 79
И. Трещев. «Сети и телекоммуникации. Для студентов» statlc26ubuntu: -S netstat -r Kernel IP routing table Destination Gateway Cennask Flags MSS Window Irtt Iface default gateway 0.6.в.в UG в 6 6 ens33 link-local е.б.е.э 255.255.6.0 U 0 О 0 ens33 192-168.1.128 0.0.0,0 255.255.255.128 U 8 6 0 ens33 192.168.2.0 192.168.1.129 255.255.255.128 UG 0 0 0 ens33 statlc2^ubuntu; -s 1 Рисунок 78 - Таблица маршрутизации на PC-1 Рисунок 79 - Конфигурация сетевых интерфейсов на PC-2 statte2@ubuntu:-$ netstat Kernel ip routing table Destination default link-local 192.168.1.128 192.168.2.0 statlc 2@ubuntu:~$ Gateway Genmask Flags MSS window Irtt Iface gateway 0.0.0.0 UG e e 0 ens33 O.0.0.0 255,255.0.9 U e © 0 ens33 gateway 255,255.255.128 UG e e 0 ens33 0.0.0.0 255.255.255.128 U e e 0 ens33 Рисунок 80 - Таблица маршрутизации на PC-2 Настройка виртуальной машины, выполняющей роль маршрутизатора R1-S, происходит аналогичным образом, за исключением того, что в файле конфигурации прописываются IPv4- адреса и маршруты для всех трёх интерфейсов. Настройка сетевых интерфейсов для маршру¬ тизатора представлена на рисунках 81—82. if все la Inet loopback auto ensia Iface ensue Inet static address 192.108.1.179 netnask 255.25S.2». 128 up route add -net 192.168.2.0 netnask 255.255.255.128 gw 192.168.2.2 e$ auto ensjs Iface ens39 Inet static address 192-166.2,1 netnask 25S.255.255.128 up route add -net 192-168.1.128 netnask 255.255.255.128 gw 192-188-1.1$ auto ensJJ Iface ens33 Inet static address 192.168.70.129 netnask 255.255.255.0 gateway 192.168.70.2 UP route add -net 192.168-1.128 netnask 255.255.255.128 gw 192.188-1.1$ up route add -net 192.168.2.0 netnask 255.255.255.128 gw 192.168.2.2 e$ Рисунок 81 - Конфигурация сетевых интерфейсов на R1-S statlci0statlc-host:*$ netstat Kernel IP routing table -n *Г Destination Gateway Gennask Flags MSS Window irtt Iface 0.0.0.0 192.168.78.2 0.0.0.0 UG 0 0 0 ens33 169.254.8.0 в.0.0.6 255.255.6.0 U 0 6 0 ens38 192.168.1.128 192.168.1,130 25S.255.255.128 UG 0 8 0 ens38 192.158.1.128 0.0.0.0 255.255.255.128 U 0 в 0 ens38 192.168.2.0 192.168.2.2 255.255.255.128 UG 0 0 0 ens39 192.168.2.0 0.0.0.0 2SS.255.2S5.128 U 0 0 0 ens39 192.168.70.0 0.0.0.0 staticl@statlc-host: 255.255.255.0 U 0 8 0 ens33 Рисунок 82 - Таблица маршрутизации на R1-S 80
И. Трещев. «Сети и телекоммуникации. Для студентов» Закончив с настройкой интерфейсов, необходимо включить пересылку IPv4-пакетов для протокола IPv4, раскомментировав соответствующую строку в файле /etc/sysctl.conf. Также к ней необходимо дописать строку, включающую Proxy ARP. Proxy ARP - это техника использования ARP-протокола, позволяющая объединить две не связанные на канальном уровне сети в одну. С помощью неё виртуальные машины смогут общаться через маршрутизатор с внешними сетями. Данная операция представлена на рисунке 83. Рисунок 83 - Включение пересылки пакетов и прокси Завершив настройку статической маршрутизации, проверим работоспособность сети. Проверка связи между устройствами в Static-area показана на рисунках 84—86. static2@ubuntu:~S ping 192.168,2,2 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data. 64 bytes from 192.168.2.2: temp_seq=l ttl=63 tlme=6.632 ms 64 bytes from 192.168.2.2: lcmp_seq=2 ttl=63 ttme=6.666 ms AC --- 192.168.2.2 ping statistics --¬ 2 packets transmitted, 2 received, ©X packet loss, time 1622ms rtt mtn/avg/max/mdev = 0.666/6.619/0.632/6.013 ms stati^lgiibunttc-S ping 8,8-8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: lcmp_seq=l ttl=127 tlme=449 ms 64 bytes from 8.8.8,8: tcmp_seq=2 ttl=127 ttme=113 ms AC — 8.8.8.8 ping statistics — 2 packets transmitted, 2 received, 0X packet loss, time 1061ms rtt min/avg/max/mdev = 113.147/281.315/449.483/168.168 ms stattc2@ubuntu:-$ Рисунок 84 - Выполнение пинга к PC-1 stattc2@ubuntu:~$ ping 192.168-1.136 PING 192.168.1.136 (192.168.1.136) 56(84) bytes Of data. 64 bytes from 192.168.1.136: icmp_seq=l ttl=63 tine=1.41 ms 64 bytes from 192.168.1,136: icmp_seq=2 ttl=63 time=2.43 ms AC --- 192.168,1.138 ping statistics --¬ 2 packets transmitted, 2 received, 6* packet loss, time ie02ms rtt min/avg/max/mdev = 1.416/1.922/2.435/0.514 ms stattc2Qubuntu:~$ ping 8.8.8.8 PING 8.8,8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: tcmp_seq=l ttl=127 tlme=270 ns 64 bytes from 8.8.8.8: icmp_seq=2 ttl=i27 tlme=«3 ms AC — 8.8.8.8 ping statistics — 2 packets transmitted, 2 received, 6X packet loss, time leoims rtt mtn/avg/max/mdev = 113.964/192.321/270.678/78,357 ms stattc2@ubuntu:-$ Рисунок 85 - Выполнение пинга к PC-2 81
И. Трещев. «Сети и телекоммуникации. Для студентов» stattciestatie-host:~$ ping 192.168.1.130 PING 192.168.1.13Э <192.168.1.130) 56(84) bytes Of data. 64 bytes from 192.168.1.130: icnp_seq=l ttl=64 ttme=0.279 ns 64 bytes fron 192.168.1.130: lcmp_seqs2 ttl=64 ttne=0.643 ns ЛС ■■■ 192.168.1.130 ping statistics ■■■ 2 packets transmitted, 2 received, 0K packet loss, time 1621ms rtt mln/avg/max/mdev = 0.279/9.461/0.643/0.182 ms staticigstatic-host:~S ping 192.168.2.2 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data. 64 bytes from 192.168.2.2: tcmp_seq=i tti*64 time=0.262 ms 64 bytes from 192.168.2.2: icmp_seq=2 ttl=64 tlme=e.6i9 ms *C --- 192.168.2.2 ping statistics --¬ 2 packets transmitted, 2 received, 0% packet loss, time 1030ms rtt mln/avg/max/mdev = e.262/Э.446/0.619/e.179 ms stattcl@stattc-ho5t:-5 ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes Of data. 64 bytes fron 8.8.8.8: icmp_seq=l ttl=128 time=112 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=128 time=113 ms ЛС — 8.8.8.8 ping statistics — 2 packets transmitted, 2 received, OSH packet loss, time 1002ms rtt mln/avg/max/mdev = 112.843/113.036/113.230/0.387 ms statlcie$tatlc-host;~$ Рисунок 86 - Выполнение пинга к R1-S 82
И. Трещев. «Сети и телекоммуникации. Для студентов» 3.4.3 Динамическая маршрутизация с помощью протокола RIPv2 Протокол RIP является дистанционно-векторным протоколом динамической маршрути¬ зации. RIPv2 осуществляет бесклассовую маршрутизацию и позволяет настроить аутентифи¬ кацию анонсов сетей между маршрутизаторами. Раз в 30 секунд каждый маршрутизатор рассылает соседям анонсы, в которых содержится перечень известных ему сетей. Соседи, проверяя анонсы, добавляют в свою таблицу маршру¬ тизации неизвестные им сети, а также информацию через какой соседний маршрутизатор эти сети доступны. Особенность настройки заключается в том, что на каждом устройстве нужно объявлять сети, только напрямую подключенные к нему (то есть на интерфейсах устройств настроены IPv4-адреса из объявляемых сетей). В RIP можно использовать следующие классовые сети: 1. 10.0.0.0/8; 2. 172.16.0.0/16 - 172.31.0.0/16; 3. 192.168.1.0/24 - 92.168.255.0/24. Для начала настроим сетевые интерфейсы на компьютерах и маршрутизаторе. Выполне¬ ние данной настройки для устройств в RIP-area представлено на рисунках 87—89. Рисунок 87 - Конфигурация сетевых интерфейсов на PC-3 Рисунок 88 - Конфигурация сетевых интерфейсов на PC-4 Настройку протокола RIP можно произвести при помощи пакета Quagga. Который пред¬ ставляет собой набор утилит, предназначенных для настройки протоколов динамической маршрутизации в UNIX-подобных системах. Он входит в стандартный набор большинства дис¬ трибутивов, поддерживает многие распространенные версии протоколов (OSPFv2, OSPFv3, RIPv1, RIPv2, BGP). 83
И. Трещев. «Сети и телекоммуникации. Для студентов» Рисунок 89 - Конфигурация сетевых интерфейсов на R1-RIP Установить его можно из репозиториев с помощью Advanced Packaging Tool. В его ком¬ плект входит утилита управления пакетами apt-get, которая требует прав суперпользователя для своей работы. Для её использования в терминале следует прописать sudo apt-get install и название пакета, который требуется установить. В нашем случае команда будет выглядеть так (рису¬ нок 90): router@rip:~# sudo apt-get install quagga routergrtp:~$ sudo apt install quagga [sudo] пароль для router: Чтение списков пакетов,,. Готово построение дерева зависимостей Чтение информации о состоянии.. Готово будут установлены следукщие дополнительные пакеты: quagga-bgpd quagga-core quagga-isisd quagga-ospfod quagga-ospfd quagga-pind quagga-ripd quagga-rlpngd Предлагаемые пакеты: snmpd НОВЫЕ пакеты, которые будут установлены: quagga quagga-bgpd quagga-соге quagga-isisd quagga-ospffid quagga-ospfd quagga-pind quagga-ripd quagga-rlpngd Обновлено в пакетов, установлено 9 новых пакетов, для удаления отмечено 9 пакет ов, и 2 пакетов не обновлено, необходимо скачать 1 237 кв архивов. После данной операции, объем занятого дискового пространства возрастет на 5 384 кВ. Хотите продолжить? [Д/н] у Рисунок 90 - Установка пакета Quagga В зависимости от задачи, которую предстоит нам выполнить, после установки пакета необходимо выставить соответствующие настройки в конфигурационном файле для активации демонов (/etc/quagga/demons). Демон - компьютерная программа в UNIX-подобных системах, запускаемая самой системой и работающая в фоновом режиме без прямого взаимодействия с пользователем. Демоны, активация которые не нужна, по умолчанию выставлены с параметром no. Zebra активируется всегда, так как является управляющим и отвечает за внесение изменений в марш¬ рутную таблицу ядра, а также координирует работу остальных демонов. Активация демонов и создание файлов для их работы представлены на рисунках 91—92. GNU nano 2.8.6 zebra=yes bgpd=no ospfd=no ospf6d=no rtpd^yes ripngd=no isiscUno Рисунок 91 - Активация демонов на R1-RIP 84
И. Трещев. «Сети и телекоммуникации. Для студентов» router@rip:~$ sudo touch /etc/quagga/zebra.conf routergrtpi-S sudo touch /etc/quagga/rlpd.conf routerartp:~S Рисунок 92 - Создание конфигурационных файлов для демонов Также необходимо сменить владельца файлов для правильной работы демонов и настро¬ ить права доступа. Выполнение требуемых для этого команд показано на рисунке 93. routererlp;/etc/quaggaS sudo chowr quagga;quaggavty zebra.conf routergrtp:/etc/quagga$ sudo chowr quaggaiquaggavty rvpd.conf routergrIp;/etc/quaggai sudo chmod 646 *.conf router0rtp;/etc/quaggaS Рисунок 93 - Смена владельца демонов Дальше можно наполнить содержанием конфигурационные файлы. Минимальная кон¬ фигурация для работы демонов представлена на рисунках 94—95. Рисунок 94 - Настройка демона zebra на R1-RIP Рисунок 95 - Настройка демона ripd на R1-RIP Настроив работу демонов в конфигурационных файлах, запускаем пакет quagga и про¬ веряем его корректную работу. Выполнение необходимых для этого команд показано на рисунке 96. 85
И. Трещев. «Сети и телекоммуникации. Для студентов» router9ri-rtp:/etc/quagg&$ sudo /etc/init.d/quagga start [ ok ] Starting quagga (via systenctl): quagga.service. router@rl-rlp:/etc/quagga$ nmap localhost Starting Nnap 7.01 ( https://nnap.org ) at 2018-01-03 16:54 +10 Nnap scan report for localhost (127.0.0.1) Host is up (0.600040s latency). Not shown: 997 closed ports PORT STATE SERVICE 631/tcp open ipp 2601/tcp open zebra 2662/tcp open ripd Nnap done: 1 IP address (1 host up) scanned in 6.04 seconds routerUri-rlp:/etc/quagga$ Рисунок 96 - Запуск quagga на R1-RIP Далее необходимо подключиться к демону ripd, используя команду telnet и выпол¬ нить типовую настройку: создать RIP-процесс, указать, что на устройстве должен работать RIP 2 версии и объявить сети. Настройка демона ripd через Telnet-подключение показано на рисунке 97. Проверим правильность настройки, вызвав таблицу маршрутизации демона zebra. Вывод таблицы маршрутизации показан на рисунке 98. Завершив настройку динамической маршрутизации по протоколу RIPv2, проверим рабо¬ тоспособность сети. Проверка связи между устройствами в RIP-area показана на рисунках 99 —101. router@rl-rlp:-$ sudo telnet localhost 2662 Trying 127.0.Э.1... Connected to localhost. Escape character is ,A]'. Hello, this Is Quagga (version 0.99.24.1). Copyright 1996-2005 Kunihtro Ishiguro, et al user Access verification Password: rlpd> en Password: ripd# conf t ripd(conflg)e router rip rlpd(conflg-router)# version 2 ripd(config-router)# network 172.16.0.6/26 ripd(config-router)# exit rlpd(config)# exit ripd# exit Connection closed by foreign host. router0rl-rlp:-$ Рисунок 97 - Типовая настройка протокола RIP router0rl-rip:-$ telnet localhost 2661 Trying 127.6,0.1... Connected to localhost. Escape character Is Hello, this Is Quagga (version 0.99.24.1). Copyright 1996-2005 Kunihiro Ishiguro, et al, User Access Verification Password: z-Router> en Password; 2-Router# show ip route Codes: К - kernel route, C - connected, S - static, R - RIP, 0 - OSPF, I - IS-IS, В - BCP, P PIH, A - Babel, » - selected route, * - FIB route K>* 0.9.0.0/0 via 192.168.70.2, епззз C>* 127.0.0.6/8 is directly connected, lo K>* 169.254.0.8/16 is directly connected, ens33 C>* 172.16.1.0/26 Is directly connected, ens39 C** 172.16.1.64/26 ts directly connected, ens38 C>* 192.168.70.0/24 is directly connected, ens33 z-Router# Рисунок 98 - Таблица маршрутизации 86
И. Трещев. «Сети и телекоммуникации. Для студентов» rlp-pcieubuntu:~$ ping 172.16.1.2 PING 172.16.1.2 (172.16.1.2) 56(84) bytes of data. 64 bytes from 172.16.1.2: icnp_seq=l ttl=63 ttne=0.571 ns 64 bytes from 172.16.1.2: lcmp_seq=2 ttl=63 ttnesl.52 ns AC --- 172.16.1.2 ping statistics — 2 packets transmitted, 2 received, a* packet loss, time 1926ns rtt nin/avg/max/mdev = 0.571/1.048/1.526/0.478 ms rip-pcKjjubuntu:-S ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=l ttl=127 time=686 ms 64 bytes from 8.8.8.8: lcrvp_seq=2 ttl=127 tlme=114 ms AC — 8.8.8.8 ping statistics — 2 packets transmitted, 2 received, ax packet loss, time 1961ms rtt min/avg/max/ndev = 114.046/400.365/686.684/286.319 ms rip-pclQubuntu:-$ Рисунок 99 - Выполнение пинга на PC-3 rlp-pc2@ubuntu:~$ ping 172.16.1.66 PING 172.16.1.66 (172.16.1.66) 56(84) bytes Of data. 64 bytes from 172.16,1.66: tcmp_seq=l ttl=63 time=6.598 ms 64 bytes from 172.16.1.66: lcmp_seq=2 ttl=63 time=1.47 ms AC — 172.16.1.66 ping statistics — 2 packets transmitted, 2 received, 9X packet loss, time 1932ns rtt min/avg/max/mdev = 9.598/1.034/1,471/6.437 ms rlp-pc2@ubuntu:~$ ping 8.8.8.8 PING 8.8.8.8 (B.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: temp_seq=l ttl=127 ttme=735 ms 64 bytes from 8.8.8.8: lcmp_seq=2 ttl=l27 time=H5 ms AC 8.8.8.8 ping statistics — 2 packets transmitted, 2 received, &% packet loss, time 1661ms rtt mln/avg/max/mdev = 115.413/425.661/735.799/319.189 ms rip -pc2igubuntu: Рисунок 100 - Выполнение пинга на PC-4 routergrl-ripping 172-16.1-66 PING 172.16.1.66 (172.16.1.66) 56(84) bytes Of data. 64 bytes from 172.16.1.66: lcmp_seq=i ttl=64 tlme=i.ee ms 64 bytes from 172.16.1,66: temp seq=2 ttl=64 tine=6.444 ms AC --- 172.16.1.66 ping statistics --¬ 2 packets transmitted, 2 received, ex packet loss, time 1691ms rtt mln/avg/max/mdev = 9.444/9.722/1.991/9.279 ms routerarl-rlp:~S ping 172.16,1.2 PING 172.16.1.2 (172.16.1,2) 56(84) bytes of data. 64 bytes from 172.16.1.2: tcmp_seq=7 ttl=64 tlme=6.716 ms 64 bytes from 172.16.1.2: tcmp_seq=8 ttl=64 tlne=0.752 ms 64 bytes from 172.16.1.2: icmp_seq=9 ttl=64 time=6.7S7 ms AC --- 172.16.1.2 ping statistics --¬ 9 packets transmitted, 3 received, 66* packet loss, tine 8191ms rtt nln/avg/max/mdev = 9.716/9.741/6.757/9.936 ns routerflrl-ripi-S ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8,8.8.8: icmp_seq=l ttl=l28 tlme=H3 ms 64 bytes from 8.8.8.a: lcmp~seq=2 ttl=i28 tlne=H3 ms AC --- 8.8.8.8 ping statistics 2 packets transmitted, 2 received, 6* packet loss, time 1692ms rtt mln/avg/max/mdev = 113.389/113.393/113.398/9.336 ms routererl-rip:-5 Рисунок 101 - Выполнение пинга на R1-RIP 87
И. Трещев. «Сети и телекоммуникации. Для студентов» 3.4.4 Динамическая маршрутизация с помощью протокола OSPF OSPF - протокол динамической маршрутизации, основанный на технологии отслежива¬ ния состояния канала (Link-State technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры. Link-State подразумевает, что каждый маршрутизатор должен не про¬ сто знать самые лучшие маршруты во все удалённые сети, но и иметь в памяти полную карту сети со всеми существующими связями между другими маршрутизаторами в том числе Логика работы протокола OSPF следующая: 1. Маршрутизаторы обмениваются Hello-пакетами через все интерфейсы, на которых активирован OSPF. Маршрутизаторы, разделяющие общий канал передачи данных, становятся соседями, когда они приходят к договоренности об определённых параметрах, указанных в их Hello-пакетах; 2. На следующем этапе работы протокола маршрутизаторы будут пытаться перейти в состояние смежности со своими соседями. Переход в состояние смежности определяется типом маршрутизаторов, обменивающихся Hello-пакетами, и типом сети, по которой переда¬ ются Hello-пакеты. OSPF определяет несколько типов сетей и несколько типов маршрутиза¬ торов. Пара маршрутизаторов, находящихся в состоянии смежности, синхронизирует между собой базу данных состояния каналов; 3. Каждый маршрутизатор посылает объявления о состоянии канала маршрутизаторам, с которыми он находится в состоянии смежности; 4. Каждый маршрутизатор, получивший объявление от смежного маршрутизатора, запи¬ сывает передаваемую в нём информацию в базу данных состояния каналов маршрутизатора и рассылает копию объявления всем другим смежным с ним маршрутизаторам; 5. Рассылая объявления внутри одной OSPF-зоны, все маршрутизаторы строят идентич¬ ную базу данных состояния каналов маршрутизатора; 6. Когда база данных построена, каждый маршрутизатор использует алгоритм поиска кратчайшего пути (алгоритм Дейкстра) для вычисления графа без петель, который будет опи¬ сывать кратчайший путь к каждому известному пункту назначения с собой в качестве корня. Этот граф - дерево кратчайших путей; 7. Каждый маршрутизатор строит таблицу маршрутизации из своего дерева кратчайших путей. Проведём базовую настройку интерфейсов на всех компьютерах в OSPF-area. Настройка сетевых интерфейсов для устройств в OSPF-area показана на рисунках 102—104. Рисунок 102 - Конфигурация сетевых интерфейсов на PC-5 88
И. Трещев. «Сети и телекоммуникации. Для студентов» Рисунок 103 - Конфигурация сетевых интерфейсов на PC-6 Рисунок 104 - Конфигурация сетевых интерфейсов на R1-OSPF Аналогично протоколу RIP, настройку OSPF произведём с помощью пакета quagga. На рисунке 105 показана активация демонов, необходимых для работы протокола динамиче¬ ской маршрутизации OSPF. Рисунок 105 - Активация демонов на R1-OSPF Создание конфигурационных файлов для демонов и смена их владельца осуществля¬ ется аналогично настройке R1-RIP, за исключением того, что вместо ripd.conf создаётся файл ospfd.conf. Настройка дынных файлов показана на рисунках 106—107. Рисунок 106 - Настройка демона zebra на R1-OSPF 89
И. Трещев. «Сети и телекоммуникации. Для студентов» Рисунок 107 - Настройка демона ospfd Завершив настройку конфигурационных файлов демонов zebra и ospfd, запускаем пакет quagga и проверяем его корректную работу. Выполнение данной операции представлено на рисунке 108. routerijtospfsudo /etc/init.d/quagga start [ ok ] Starting quagga (via systenctl): quagga.service. routerOospf:~$ nitap localhost Starting Nnap 7.61 ( https://nnap.org ) at 2918-91-64 17:31 +19 Nnap scan report for localhost (127.6.6.1) Host Is up (0.660931s latency). Not shown: 997 closed ports PORT STATE SERVICE 631/tcp open tpp 2601/tcp open zebra 2664/tcp open ospfd Nnap done: 1 IP address (1 host up) scanned In 6.04 seconds routergospf Рисунок 108 - Запуск quagga на R1-OSPF После запуска пакета quagga мы можем напрямую подключиться к демонам с помощью команды telnet и проверить работоспособность протокола OSPF, вызвав список полученных маршрутов. Таблицы маршрутизации демонов zebra и ospfd можно увидеть на рисунках 109 —110. routeriospftelnet localhost 2664 Trying 127.0.0.1... Connected to localhost. Escape character Is Hello, this Is Quagga (version 9.99.24.1). Copyright 1996-2095 Kunlhiro Ishiguro, et al User Access Verification Password: ospfd> en Password: ospfd# show Ip ospf route ============ OSPF network routing table ============ N 10.261.6.64/27 [10] area: 9.6.9.1 directly attached to ens38 N 10.215.6.0/27 [10] area: 0.0.9.2 directly attached to ens39 N 192.168.70.0/24 [10] area: 0.0.9.0 directly attached to епззз ============ OSPF router routing table ============= ============ OSPF external routing table =========== ospfd# Рисунок 109 - Таблица маршрутизации демона ospfd 90
И. Трещев. «Сети и телекоммуникации. Для студентов» routergospf:~$ telnet localhost 2бв1 Trying 127.0.6.1... Connected to localhost. Escape character Is 'A]‘. Hello, this is Quagga (version 6.99.24.1). Copyright 1996-2065 Kunihtro Ishiguro, et at User Access Verification Password: zo-Router> en Password: zo-Routers show ip route Codes: К - kernel route, C - connected, S - static, R - RIP, 0 - OSPF, I * XS-IS, a - BGP, P - PIH, A - Babel, > - selected route, * - fib route K>* 0.0.0.6/0 via 192.168.70.2, ens33 0 10.201,6.64/27 [110/10] Is directly connected, ens38, 00:06:32 C>+ 10.201.6.64/27 is directly connected, ens38 0 10.215.6.0/27 [110/10] is directly connected, ens39, 60:06:32 C>* 10.215.6.0/27 is directly connected, ens39 C>* 127,0.0,0/8 is directly connected, io K>* 169.254.8.0/16 is directly connected, ens38 D 192.168.70.0/24 [110/10] is directly connected, ens33, 00:06:32 C>* 192.168.70.0/24 Is directly connected, ens33 zo-Routertf Рисунок 110 - Таблица маршрутизации демона zebra Завершив настройку динамической маршрутизации по протоколу OSPF, проверим рабо¬ тоспособность сети. Проверка связи между устройствами в OSPF-area показана на рисунках 111—113. pc-sgospfping 10.215.6.2 PING 10.21S.6.2 (10.215.6.2) 56(84) bytes of data. 64 bytes from 10.215.6.2: lcnp_seq=l ttl=63 tlne*fl.668 ns 64 bytes fron 10.215.6.2: icnp_seq=2 ttl=63 tIneel.19 ns AC 10.215.6.2 ping statistics --¬ 2 packets transmitted, 2 received, 9% packet loss, time 1029ms rtt min/avg/nax/mdev = 0.668/0,931/1.194/0,263 ms pc-5@ospf:-S ping 8,8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: tcnp_seq=l ttl=127 111*16=880 ms 64 bytes from 8.8.8-8: tcmp_seq=2 ttl=127 tlme=115 ms At 8.8.8.8 ping statistics - - - 2 packets transmitted, 2 received, 9% packet loss, time 1002ms rtt nln/avg/nax/mdev = 115.522/498.107/886.692/382.585 ms pc-50ospf:-S Рисунок 111 - Выполнение echo-запросов на PC-5 pc-6@ospfping 16,201.6.66 ping 10.201.6.66 (16.201.6.66) 56(84) bytes of data. 64 bytes from 10.201,6.66: lcmp_seq=l ttl=63 time=0.692 ms 64 bytes fron 10.201.6.66: tcmp_seq=2 ttl=63 time=l,63 ms AC — 10.201.6.66 ping statistics — 2 packets transmitted, 2 received, 0* packet loss, time 1645ms rtt min/avg/nax/mdev = 0.692/1.161/1.631/0.470 ms po-6@ospf:~$ ping 8.8.Б.8 PING 8.8.8.8 (8.8.8.8) S6(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=l ttl=127 time=623 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=127 ttme=115 ms AC — 8.8.8,8 ping statistics 2 packets transmitted, 2 received, e* packet loss, time 999ms rtt mtn/avg/max/mdev = 115.361/369.188/623.016/253.828 ms pc-6®ospf Рисунок 112 - Выполнение echo-запросов на PC-6 routerdospf:~$ ping 18.201.6.66 PING 10.281.6.66 (10.201.6.66) 56(84) bytes of data. 64 bytes from 10.201.6.66: tcmp_seq=l ttl=64 tlme=0.411 ns 64 bytes from 10.201.6.66: icmp_seq=2 ttl=64 tine=fl.754 ns |AC --- 10.201.6.66 ping statistics ■■■ 2 packets transmitted, 2 received, 9* packet loss, time 1005ms rtt ntn/avg/max/ndev - 9.411/0.582/8.754/0.173 ms router@ospf:~$ ping 16.215.6.2 PING 10.215.6.2 (10.215.6.2) 56(84) bytes of data. 64 bytes from 10.215.6.2: icmp_seq=l ttl=64 time=8.542 ms 64 bytes from 16.215.6.2: icnp_seq=2 ttl=64 time=0.594 ns AC --- 16.215.6.2 ping statistics --¬ 2 packets transmitted, 2 received, 0* packet loss, time 1006ms rtt min/avg/nax/mdev = 9.542/0.568/9.594/0.026 ms routergospf:~5 ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data, 64 bytes from 8.8.B.8: icmp_seq=l ttl=128 tine=115 ms 64 bytes from 8.8.8.8: lcmp_seq=2 ttl=128 tlme=114 ms AC — 8.8.8.8 ping statistics --¬ 2 packets transmitted, 2 received, 0* packet loss, time 1601ms rtt min/avg/nax/mdev = 114.700/115.908/115.300/0.300 ms routerdospf:~5 Рисунок 113 - Выполнение echo-запросов на R1-OSPF 91
И. Трещев. «Сети и телекоммуникации. Для студентов» 3.4.5 Проверка сети Для того, чтобы компьютеры, находящиеся в разных подсетях, смогли пересылать друг другу пакеты, необходимо на маршрутизаторе каждой сети прописать статические маршруты, ведущие в подсети, находящиеся за другими маршрутизаторами. Ниже на рисунке 114 пред¬ ставлен пример настройки внешних маршрутов для R1-S. 5tet1.ci85tatle-hc5t:~$ sudo route add -net ie.26i.e.6 netmask 255.255,0.© gw 19 2.168.70.144 statlciestatlc-hostr-S sudo route add -net ie.215.0.9 netmask 255.255.0.© gw 19 2.168.70.144 staticlgstatlc-host:-$ netstat Kernel IP routing table -П -Г Destination Cateway Gennask Flags MSS Window irtt Iface e.a.e.e 192.168.78.2 8.0-0.0 UC 0 0 0 ens33 10.281.0.0 192.168.70.144 255.255.0.0 UG 0 0 0 епззз 10,215.0.8 192.168,70,144 255,255.0.0 uc 0 0 0 ens33 169.254.0.0 8,0.0.0 255.255.0.0 J 0 0 0 ens38 172.16.0.8 192.168.78.139 255.255.255.192 JC 0 0 0 ens33 192.168,1.128 192.168.1.136 255.25S.255.128 uc 0 0 0 ens38 192.168.1.128 0.0.0.8 255.255.255.128 и 0 0 0 ens38 192.168.2.0 192.168.2.2 255.255.255.128 uc 0 0 0 ens39 192.168.2.0 8,0.8.0 255.255,255.128 и 0 0 0 ens39 192.168.78.0 stattclgstatlc- 8,0.0.0 -host:~$ 255.255.255.8 и 0 0 0 ens33 Рисунок 114 - Настройка маршрутов во внешние подсети Проведя аналогичные настройки на R1-RIP и R1-OSPF, перейдём к тестированию пере¬ сылки пакетов между разными сетями. Пересылка пакетов между OSPF-area и Static-area и их отслеживание представлены на рисунках 115—116. Пересылка пакетов между Static-area и RIP-area и их отслеживание представлены на рисунках 117—118. Пересылка пакетов между RIP-area и OSPF-area и их отслеживание представлены на рисунках 119—120. pc-5@ospfip а 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defau It qlen 1006 llnk/loopback 60:80:00:00:00:60 brd 00:06:00:60:00:06 inet 127.0.0.1/8 scope host lo valld^lft forever preferredjlft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33; <8ROAOCAST,MULTICAST,UP,L0WER_UP> ntu 1566 qdisc pfifo_fast state UP group default qlen 1680 llnk/ether 0©:ec:29:b2:4f:b5 brd ff:ff:ff:ff:ff:ff inet 10,201,6,66/27 brd 10.201.6,95 scope global ens33 valld_lft forever preferred_lft forever inet6 fe80::20c:29ff:feb2:4fb5/64 scope link valid_lft forever preferred_lft forever pc-5@ospfping 192.168.1.130 PING 192.168.1.130 (192.168.1.130) 56(84) bytes of data. 64 bytes from 192.168.1.138: icmp_seq=l ttl=62 time=0.822 ns 64 bytes fron 192.168.1.130: icnp_seq=2 ttl=62 tlme=2.ei ns AC --- 192.168.1.130 ping statistics --¬ 2 packets transmitted, 2 received, в* packet loss, tine 1031ns rtt ntn/avg/nax/ndev = 0,822/1.418/2.015/0.597 ns pc-5@ospf Рисунок 115 - Проверка связи между PC-5 и PC-1 statlc2@ubuntu:~$ sudo tcpdump -i ens33 -n -nn icnp tcpdunp: verbose output suppressed, use -v or -vv for full protocol decode listening on ens33, link-type EN16MB (Ethernet), capture size 262144 bytes 87:15:44.960932 IP 10.201.6.66 > 192.168.1.130: ICMP echo request, id 1510, seq 1, length 64 07:15:44.960994 IP 192.168.1.130 > 10.201.6,66: ICMP echo reply, id 151©, seq 1 , length 64 87:15:45.992717 IP 18.201,6.66 > 192.168.1.130; ICMP echo request, id 1516, seq 2, length 64 87:15:45.992771 IP 192.168.1.138 > 18.201.6.66: ICMP echo reply, id 1518, seq 2 , length 64 ЛС 4 packets captured 4 packets received by fitter 0 packets dropped by kernel stattc2@ubuntu Рисунок 116 - Мониторинг ICMP-пакетов в Static-area 92
И. Трещев. «Сети и телекоммуникации. Для студентов» 5tatlc2jubuntin-S 1р а U \о: f LOOPBACK .UP tLOW£H_UP> ntu 65536 qdlsc noqueue state UNKNOWN group cefau It qlen leee lInk/Loopback вв:ае:ве:ее:вв;вв brd ав: ев:flfl:вв:вв;вд tflfl 127.0.0.1/8 scope host lo veltd_lft forever preferred_lft forever Lnet6 ::1/128 scope best valid_lft forever preferred_Lft forever 2; ens 13; » broadcast .multicast ,up , llweh up» mtu I5M qdt« pflfg.fest state UP group default qlen 1066 Unk/*ther M:ec:29:d*:bl;e J brd ff:ff;ff:ff Lnet 192.168.1.136/25 brd 192.16B.;,25S scope global ens33 velld_lft forever preferred_lfl forever tnets feie:;20c:29ff:feda;Pi6i/04 scope link vattd_lft forever preferred_lft forever sCatle29ubuntu:-S ping 172.16.1.2 PING 172.16.1.2 (172.16.1.2) S6<84) bytes of data. 64 bytes from 172.16.1.2: lcnp_seq-i ttl-127 tlne-672 ns 64 bytes fron 172.16.1.2: lcnp.seq=2 ttl=127 ttne=2.4a ns 64 bytes fron 172.16.1.2: lcnp_seq=3 ttl=127 tt«e=1.71 ns ЛС — 172.16.1.2 ping statistics — 3 packets transmitted. 3 received. 6* packet loss, tine 2662ns rtt nln/avg/nax/ndev = 1,716/225.707/672-931/316-235 ns st4ttc2pubuntu:-5 Рисунок 117 - Проверка связи между PC-1 и PC-4 rlp-pc2@ubuntu:-$ sudo tepdump -t ens33 -n -nn lenp [sudo] password for rip-pc2: tcpdunp; verbose output suppressed, use -v or -vv for full protocol decode listening on ens33, link-type EN16MB (Ethernet), capture size 262144 bytes 06:20:39.711681 IP 172.16.1.1 > 172.16.1.2: ICMP echo request. Id 3296, seq 1, length 64 06:26:39.711787 IP 172.16.1.2 > 172.16.1.1: ICMP echo reply. Id 3296, seq 1, le ngth 64 06:20:40,712956 IP 172.16.1.1 > 172.16.1.2: ICMp echo request, Id 3296, seq 2, length 64 06:20:40.713045 IP 172.16.1.2 > 172.16.1.1: ICMP echo reply. Id 3296, seq 2, le ngth 64 06:26:41.714498 IP 172.16.1.1 > 172.16.1.2; ICMP echo request. Id 3296, seq 3, length 64 06:20:41.714556 IP 172.16,1.2 > 172.16.1,1: ICMP echo reply. Id 3296, seq 3, le ngth 64 6 packets captured 6 packets received by filter 0 packets dropped by kernel rip-pc2®ubuntu: Рисунок 118 - Мониторинг ICMP-пакетов в RIP-area rlp-pcl@ubuntu;~$ Ip a 1: lo: <LOOPBACK,UP,L0WER_UP> ntu 65536 qdlsc noqueue state UNKNOWN group defau It qlen 1600 Unk/loopback 00:00:00:06:66:60 brd 06:06:60:06:60:60 Inet 127.0.0.1/8 scope host lo valtd_lft forever preferred_lft forever lnet6 ::1/128 scope host valld_lft forever preferred_lft forever 2: ens33: <BROADCAST.MULTICAST,IIP,LOWER_UP> mtu 1500 qdlsc pfifo_fast state UP group default qlen I960 Unk/ether 00:0c:29:53:l9:6c brd ff:ff:ff:ff:ff:ff Inet 172.16.1.66/26 brd 172.16.1.127 scope global ens33 valld_lft forever preferred_lft forever lnet6 fe8Q::20c:29ff:fe53:196c/64 scope link valld_lft forever preferred_lft forever rlp-pcl®ubuntu:-$ ping 10.201,6.66 PINC 10.261.6.66 (10.201.6.66) 56(84) bytes of data, 64 bytes from 10.281.6.66: lcnp_seq=l ttl=127 tlne=62.1 ns 64 bytes fron 16,201.6.66: lcnp_seq=2 ttl=l27 tine=2.44 ns ЛС --- 10.201.6.66 ping statistics --¬ 2 packets transnitted, 2 received, ©56 packet loss, tine 1001ns rtt nin/avg/nax/ndev = 2.441/32.368/62.175/29.867 ns rip-pclgubuntu:-5 Рисунок 119 - Проверка связи между PC-3 и PC-5 pc-Sflospf:-5 sudo tcpdunp -i ens33 -n -nn lenp [sudo] password for pc-5: tcpdunp: verbose output suppressed, use -v or -vv for full protocol decode listening on ens33, link-type EN19M8 (Ethernet), capture size 262144 bytes 22:52:18.136801 IP 10.201.6.65 > 10.201.6.66 , length 64 22:52:18.136821 IP 10.201.6.66 > 10.201.6.65 length 64 22:52:19.138374 IP 10.201.6.65 > 10.201.6.66 , length 64 22:52:19.138422 IP 10.201.6.66 > 10.201.6.65 length 64 ICMP echo request. Id 2172, seq l ICMP echo reply. Id 2172, seq 1, ICMP echo request. Id 2172, seq 2 ICMP echo reply. Id 2172, seq 2, 4 packets captured 4 packets received by filter 6 packets dropped by kernel pc-Sfiospf Рисунок 120 - Мониторинг ICMP-пакетов в OSPF-area 93
И. Трещев. «Сети и телекоммуникации. Для студентов» Заключение Жизнь в эпоху инфокоммуникаций откладывает отпечаток на личности, привычках, желаниях и возможностях. Мы используем технологии обмена информацией очень интенсивно. Многие сегодня уже не могут себя представить без мобильного телефона в руке, ноутбука в сумке, смарт-часов на запястье. Следует упомянуть важность вопросов анонимности в сети и обеспечения инфор¬ мационной безопасности при осуществлении информационного обмена для каждой личности, общества в целом и государства. Мы порой упускаем их из вида, но на самом деле должны постоянно думать каким образом информация передаваемая нами по открытым сетям связи может быть использована с не совсем положительной стороны. На лекциях излюбленным примером многих преподавателей относительно анонимности являются социальные сети (ВКонтакте, Одноклассники и другие), где молодые люди любят размещать свои и не только фотографии и видео. Я думаю, читатель согласится, что если вдруг у директора завода или другой публичной и уважаемой личности обнаружатся фото на стене в Facebook, показывающие его с невыгодной стороны (пусть он или она и были молоды и тогда еще не занимали никаких постов), то это не скажется положительно на его имидже. 94
И. Трещев. «Сети и телекоммуникации. Для студентов» Список использованных источников 1. Одом У. Официальное руководство Cisco по подготовке к сертификационным экза¬ менам CCNA ICND2 200—101: маршрутизация и коммутация, акад. изд.: Пер. с англ. - М.: ООО «И. Д. Вильяме», 2015. - 736 с.: ил. - Парал. тит. англ. 2. Одом У. Официальное руководство Cisco по подготовке к сертификационным экза¬ менам CCENT/CCNA ICNDl 1 00—101, акад. изд.: Пер. с англ. - М.: ООО «И. Д. Вильяме», 201 5. - 912 с.: ил. - П арал. тит. англ. 3. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 4-е изд. - СПб.: П— 944 с.: ил. 4. Таненбаум Э., Уэзеролл Д. Компьютерные сети. 5-е изд. - СПб.: Питер, 2012. - 960 с.: ил. 5. Бирюков А. А. Информационная безопасность: защита и нападение. 2-е изд., перераб. и доп. - М.: ДМК Пресс, 2017, - 434 с.: ил. 6. Куроуз Д. Компьютерные сети: Нисходящий подход - 6-е изд. - М.: Э, 2016. - 912 с.: ил. 7. Робачевский А. Интернет изнутри. Экосистема глобальной Сети. - 2-е изд., перераб. и доп. - М.: Альпина Паблишер, 2017. - 271 с. 8. Кофлер М. Linux. Установка, настройка, администрирование. - СПб.: Питер, 2014. - 768 с.: ил. 9. Уорд Б. Внутреннее устройство Linux. - СПб.: Питер, 2016. - 384 с.: ил. 10. Немет, Эви, Снайдер, Гарт, Хейн, Трент, Уэйли, Бэн. Unix и Linux: руководство системного администратора, 4-е изд.: Пер. с англ. - М.: ООО «И. Д. Вильямс», 2012. - 1312 с.: ил. 11. Колисниченко Д. Н. Командная строка Linux и автоматизация рутинных задач. - СПб.: БХВ-Петербург, 2012. - 352 с.: ил. 12. Крэйг Хант TCP/IP. Сетевое администрирование, 3-е издание. - Пер. с англ. - СПб: Символ-Плюс, 2007. - 816 с.: ил. 13. Чеппел Л., Титтел Э. TCP/IP. Учебный курс: Пер. с англ. - СПб.: БВХ-Петербург, 2003. - 976 с.: ил. 14. Паркер Т., Сиян К. TCP/IP. Для профессионалов. 3-е изд. СПб.: Питер, 2004. - 859 с.: ил. 15. Ногл Л. Иллюстрированный учебник - М.: ДМК Пресс, 2001. - 480 с.: ил. 16. Фейт С. TCP/IP: Архитектура, протоколы, реализация (включая IPv6 и IP Security) 2-е изд. 17. Андрончик, А. Н. Сетевая защита на базе технологий фирмы Cisco Systems. Практи¬ ческий курс: учеб. пособие / А. Н. Андрончик А. С. Коллеров, Н. И. Синадский, М. Ю. Щер¬ баков; под общ. ред. Н. И. Синадского. - Екатеринбург: Изд-во Урал. ун-та, 2014. - 180 с. 18. Гатчин Ю. А., Климова Е. В. Основы информационной безопасности: учебное посо¬ бие. - СПб: СПбГУ ИТМО, 2009. - 84 с. 19. Защита информации в компьютерных сетях. Практический курс: учеб. пособие / А. Н. Андрончик, В. В. Богданов, Н. А. Домуховский [и др.]; под ред. Н. И. Синадского. - Екатеринбург: УГТУ-УПИ, 2008. - 248 с. 20. Кульгин М. Практика построения компьютерных сетей. Для профессионалов. - СПб.: Питер, 2001. - 320 с. 21. Cisco Systems http://www.cisco.com [Электронный ресурс] —режим доступа свобод¬ ный, дата обращения 29.11.2018 22. Программа сетевой академии Cisco CCNA 1 и 2. Вспомогательное руководство, 3-е изд., с испр. / пер. с англ. - М.: Издательский дом «Вильямс», 2005. - 1168 с. 95
И. Трещев. «Сети и телекоммуникации. Для студентов» 23. Уэнстром Майкл. Организация защиты сетей Cisco / пер. с англ. - М.: Издательский дом «Вильямс», 2005. - 768 с. 24. Д. Н. Колисниченко Сделай сам компьютерную сеть. Монтаж, настройка, обслужива¬ ние - СПб.: Наука и Техника, 2004. - 400 с.: ил. 25. Валади Дж. 100% самоучитель. Linux / Дж. Валади [пер. с англ. А. А. Климов и др]. - М.: Технолоджи - 3000, 2006. - 336 с.: ил. 26. Сивер Э., Спейнауэр С» Фиггинс С., Хекман Д. Linux. Справочник. - Пер. с англ. - СПб: Символ-Плюс, 2001. - 912 с., ил. 27. Шрёдер К. Linux. Сборник рецептов. - СПб.: Питер, 2006. - 432 с.: ил. 28. Колисниченко Д. Н. Ubuntu Linux. Краткое руководство пльзователя. - СПб.: БХВ- Петербург, 2007. - 304 с.: ил. + CD-ROM. 29. Брокмайер, Джо, Лебланк, Ди-Энн, Маккарти, Рональд, У. Маршрутизация в Linux.: Пер. с англ. - М.: Издательский дом «Вильямс», 2002. - 240 с.: ил. - Парал. тит. англ. 30. Стахнов А. А. Сетевое администрирование Linux. - СПб.: БХВ-Петербург, 2004. - 480 с.: ил. 31. Двойной NAT support.ubi.com/ru-RU/faqs/000026724/Double-NAT [Электронный ресурс] - режим доступа свободный, дата обращения 12.11.18 32. Терминал Linux. Команды навигации в терминале http://www.linuxrussia.com/ terminal-navigation.html [Электронный ресурс] - режим доступа свободный, дата обращения 12.11.18 33. Терминал Linux. Создание, удаление, копирование, перемещение, переименование файлов и директорий. http://www.linuxrussia.com/terminal-create-delete-move-copy.html [Элек¬ тронный ресурс] - режим доступа свободный, дата обращения 12.11.18 34. Администратор в Ubuntu, или Что такое sudo https://help.ubuntu.ru/wiki/суперпользо- ватель_в_ubuntu [Электронный ресурс] - режим доступа свободный, дата обращения 12.11.18 35. Ubuntu 18.04 Bionic Beaver https://help.ubuntu.ru/wiki/bionicbeaver [Электронный ресурс] - режим доступа свободный, дата обращения 12.11.18 36. Восстановление пароля на маршрутизаторах Cisco https://habr.com/post/122348/ [Электронный ресурс] - режим доступа свободный, дата обращения 20.11.18 37. Восстанавливаем образ Qsco на примере С2960 https://habr.com/sandbox/70648/ [Электронный ресурс] - режим доступа свободный, дата обращения 20.11.18 38. Ценность подписок Red Hat https://redhat.axoft.ru/support/podpiski-faq [Электронный ресурс] - режим доступа свободный, дата обращения 16.11.18 39. Условия лицензионного соглашение на использования программ¬ ного обеспечения Microsoft https://www.microsoft.com/en-us/Useterms/Retail/Windows/10/ UseTerms_Retail_Windows_10_Russian.htm [Электронный ресурс] - режим доступа свобод¬ ный, дата обращения 16.11.18 40. Linux везде. Планета Open Source https://habr.com/post/207732/ [Электронный ресурс] - режим доступа свободный, дата обращения 16.11.18 41. Основы работы с Cisco Packet Tracer http://just-networks.ru/articles/osnovy-raboty- s-cisco-packet-tracer [Электронный ресурс] - режим доступа свободный, дата обращения 29.11.18 42. Сети для самых маленьких. Часть нулевая. Планирование https://linkmeup.ru/ blog/11.html [Электронный ресурс] - режим доступа свободный, дата обращения 18.11.18 43. Эмуляция https://ru.wikipedia.org/wiki/Эмуляция [Электронный ресурс] - режим доступа свободный, дата обращения 12.11.18 44. Компьютерные сети от А до Я: стек протоколов TCP/IP https://proglib.io/p/tcp-ip/ [Электронный ресурс] - режим доступа свободный, дата обращения 02.11.18 96
И. Трещев. «Сети и телекоммуникации. Для студентов» 45. Протоколы сетевого взаимодействия TCP/IP https://www.opennet.ru/docs/RUS/tcpip/ [Электронный ресурс] - режим доступа свободный, дата обращения 02.11.18 46. Виртуализация https://www.vmware.com/ru/solutions/virtualization.html [Электронный ресурс] - режим доступа свободный, дата обращения 02.11.18 47. Курс «Основы GNS3» http://blog.netskills.ru/p/gns3.html [Электронный ресурс] - режим доступа свободный, дата обращения 19.11.18 48. Том (системы хранения) https://ru.wikipedia.org/wiki/Том_(системы_хранения) - [Электронный ресурс] - режим доступа свободный, дата обращения 12.11.18 49. Спор об именовании GNU/Linux https://ru.wikipedia.org/wiki/Спор_об_именовани- и_GNU/Linux - [Электронный ресурс] - режим доступа свободный, дата обращения 10.11.18 50. Большой FAQ по Fedora https://russianfedora.github.io/FAQ/ - [Электронный ресурс] - режим доступа свободный, дата обращения 15.11.18 97