Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информационные сети и коммуникации. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

Министерство науки и высшего образования Российской Федерации НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

А. Б. КОЛКЕР

ИНФОРМАЦИОННЫЕСЕТИ ИКОММУНИКАЦИИ

Утверждено Редакционно-издательским советом университета

в качестве учебного пособия

НОВОСИБИРСК

2022

1

УДК 004.7(075.8) К 605

Рецензенты:

д-р техн. наук В. Н. Копылов канд. техн. наук А. В. Гунько

Работа подготовлена на кафедре автоматики

Предназначено для студентов III и IV курсов АВТФ,

а также студентов, изучающих информационные технологии

Колкер А. Б.

К 605 Информационные сети и коммуникации: учебное пособие / А. Б. Колкер. – Новосибирск: Изд-во НГТУ, 2022. – 99 с.

ISBN 978-5-7782-4645-4

Пособие посвящено вопросам приобретения практических навыков программирования сетевого обмена. Обучающиеся получат навыки работы с сетевыми протоколами, научатся создавать программы для обмена данными при помощи сокетов UDP, TCP, а также при помощи систем распределенной доставки сообщений. Затронуты вопросы сетевых распределенных вычислений, в том числе для технологий блокчейна.

 

УДК 004.7(075.8)

ISBN 978-5-7782-4645-4

© Колкер А. Б., 2022

 

© Новосибирский государственный

 

технический университет, 2022

2

ВВЕДЕНИЕ

Настоящее учебное пособие предназначено для приобретения навыков работы с различными технологиями обмена информацией при помощи компьютерных сетей. Оно соответствует структуре дидактических единиц учебной программы ФГОС3.3+ дисциплины «Информационные сети и коммуникации» направления 27.03.04 дневной и дистанционной формы обучения. Пособие заменяет аналогичное по названию пособие, изданное в 2016 году, является глубоко переработанной его версией и отражает изменения и тенденции в информационных технологиях, произошедшие за эти пять лет. Темы занятий соответствуют задаче получения навыков разработки сетевых приложений на языках программирования. Каждое занятие снабжено вводной теоретической частью, заданиями, вопросами для самоконтроля и в том числе исходными текстами программного обеспечения, которое потребуется установить на компьютере. Примеры текстов программ на языке СИ, приведенные в пособии, соответствуют стандарту ISO/IEC 9899:1999 «Стандарт языка программирования СИ», а все задействованные библиотеки являются кросс-платформенными и свободно распространяемыми. Особое внимание уделяется изменениям, которые ожидают пользователей и разработчиков при массовом внедрении стека протоколов IPv6. Для выполнения работ рекомендуется использовать любую популярную версию настольной операционной системы Линукс, например, широко применяемые для «десктопных» систем сборки Ubuntu. По каждой теме пособия приводятся требования к пакетам, которые должны быть установлены для ее выполнения. Тем не менее все представленные термины, факты и примеры, соответствуют фундаментальным основам теории сетей и коммуникаций и остаются в основном актуальными при использовании любых других версий Линукс и с точностью до синтаксиса некоторых команд также для других основных операционных систем на уровне стека технологий.

3

Тексты программ-серверов размещены на GitHub. Практические работы не потребуют какого-либо специфичного оборудования и могут быть выполнены самостоятельно или в дистанционном режиме. Для выполнения работ рекомендуется использовать Ubuntu Linux LTS версии. Исходные тексты и версии библиотек, упоминаемые в настоящем учебном пособии, соответствуют актуальной вер-

сии Ubuntu 20.04.

4

1.ЦИФРОВЫЕ ДОКУМЕНТЫ

ИИХ ПОДЛИННОСТЬ

Предмет настоящего занятия – создание электронных документов, сохранение электронных подписей и отправка информации на сервер архивирования.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Электронная подпись прочно вошла в нашу жизнь и уже приравнена к рукописной во многих ее сферах. Многие государственные службы уже отказались от ведения бумажного документооборота и обрабатывают документы только в электронной форме, предоставляя пользователю только индекс или хеш электронного документа. Электронные документы, как правило, четко структурированы и используют языки текстовой разметки (например, json, xml), однако электронной подписью де-факто может быть утвержден любой двоичный набор данных. В целях внедрения современных технологий документооборота и новых стандартов обучения (направленных в том числе на возможность организации дистанционной формы обучения) в рамках настоящего курса вводится электронный отчет. Электронный отчет – это файл с соответствующей структурой, содержащий результаты выполнения практической работы, удостоверенный блоком цифровой подписи исполнителя (исполнителей работы).

Для выполнения работы потребуется компьютер, оснащенный свободно распространяемым пакетом программ создания электронных ключей и цифровой электронной подписи GNUPG. Рекомендуется использовать наиболее современную версию Gpg v2. Следует отметить, что если для выполнения основной массы практических заданий потребуется компьютер, оснащенный операционной системой Линукс, для оформления отчета может быть использована любая другая операционная система, в том числе операционная система Windows. При оформлении отчета следует, однако, обратить внимание, что содержимое основного текста документа должно представлять собой обычный текстовый файл (не файл формата MS Word и других текстовых процессоров).

5

Структура электронного документа

Электронный документ должен быть составлен в виде файлов и состоять из одной или двух частей. Первая часть является основной (обязательной) и включает в себя титул, пояснения к ходу выполнения работы, текстовые материалы, результаты тестирования и экспериментов, а также ссылки на файлы приложений, содержащиеся во второй части. Вторая часть может содержать приложения в виде двоичных файлов (архивы, изображения, файлы программ и любой другой графический иллюстративный материал).

Обязательная часть должна состоять из следующих полей.

Основной раздел

Название учебного учреждения (в нашем случае «Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Новосибирский государственный технический университет»).

Название учебного курса.

Название группы.

Название работы.

ФИО студента, выполняющего работу.

ФИО преподавателя, проверяющего работу.

Дата выполнения работы.

Блок разделителя титульного раздела, состоящий не менее чем из 10 пустых строк.

Информационный раздел

Цель работы.

Информация о ходе работы.

Выводы по работе.

Ссылки на двоичные файлы приложений в виде списка файлов

суказанием параметров файлов: имя файла, размер файла, время модификации файла.

Блок цифровой подписи, созданный индивидуальным цифровым ключом студента.

Рассмотрим пример файла, состоящий из двух частей: текста ос-

новной части и файла main.c (8169 окт. 22 16:47).

6

---------------8-< 8-< начало файла report.txt------------------------------

Маргбурский Университет, Гессен

Название курса: «Науки о Земле».

Название работы: «Земной магнетизм и его склонения». Название группы: АА36.

Студент: Ломоносов Михайло Васильевич. Преподаватель: Хри́стиан фон Вольф.

Дата 12.03.1737.

Цель работы: Информация о ходе работы: Выводы о работе:

Приложение: файл magnetto.zip 1412 байт, март 12 1737

--------------- 8-< 8-< конец файла report.txt ------------------------------

После подписи электронным ключом (gpg - -clearsign ./report.txt)

-----BEGIN PGP SIGNED MESSAGE-----

Для создания основного раздела электронного отчета необходимо использовать текстовый редактор, способный формировать обычные текстовые файлы без специальной структуры (так, например, документ Word или OpenOffice является специальным файлом, и при его записи необходимо указать соответствующий тип файла: обычный файл в формате «txt»). Допускается использовать любую удобную кодиров-

ку (cp1251, utf16, koi8).

Размещение электронного отчета

Доступные методы предоставления отчета на проверку будут озвучены преподавателем на вводном занятии, однако наиболее удобным и универсальным способом, вероятно, является электронная почта

Генерация пары ключей

Для создания электронной подписи будет использоваться алгоритм gpg – открытый эквивалент PGP. Gpg-система криптографической защиты основана на базе алгоритмов с открытым ключом (асимметричным алгоритмом). Для функционирования алгоритма потребуется генерация пары ключей: открытого (публичного) и закрытого (частного или приватного). Генерация пары ключей выполняется командой

7

gpg --gen-key, для версии gpg первого поколения gpg --full-generate-key для версии gpg2

Поскольку в системах последних генераций используются gpg v2, а утилита gpg есть лишь символическая ссылка на gpg2, далее мы будем рассматривать команды для второй версии утилиты. Команды и ключи с аналогичным функционалом для первой версии утилиты вы можете изучить, используя режим «помощи» (gpg–h).

В процессе выполнения утилиты вам придется ответить на несколько вопросов, а также задать пароль. Помните: ваш электронный ключ – это ваша электронная печать, при помощи которой вы будете отчитываться перед преподавателем о своих достижениях. Поэтому важно аккуратно и достоверно заполнить все поля, указав свой актуальный адрес электронной почты, что значительно упростит коммуникацию между вами и преподавателем и позволит ему ответить на ваши вопросы,

атакже прислать вам свои комментарии и замечания по указанной работе. Важно установить пароль, который не будет незамедлительно забыт, поскольку какие-либо операции с приватным ключом без пароля невозможны. Устанавливайте срок действия ключа не менее одного года,

алучше – срок планируемого обучения в университете.

Впроцессе генерации будет создана связка ключей – публичный и секретный. Публичный ключ может быть свободно опубликован и может служить для проверки вашей электронной подписи и криптографических операций, адресатом которых вы являетесь. Секретный ключ не предназначен для опубликования и представляет собой конфиденциальную информацию:

открытый и секретный ключи созданы и подписаны. pub rsa3072 2020-03-03 [SC]

D4CCCF96A19BB4F1A7472F2B876B582601A045D9 uid Alexey Kolker (no) <alexk@sibnigmi.ru> sub rsa3072 2020-03-03 [E]

После успешного создания пары ключей необходимо выполнить экспорт связки в виде файла и предоставить файл для цифровой подписи преподавателю. Экспорт необходимо выполнить при помощи команды

8

gpg

--export -u <UID ключа> > файл (для публичного ключа)

gpg --

export-secret-key -u <UID> > файл (для приватного ключа)

Рекомендуется использовать также ключ -a для операций в тексто-

вом виде.

Если в вашей связке несколько ключей, то для указания конкретно-

го ключа необходимо сослаться на его UID. < или e-mail, привязанный к ключу. В первой версии gpg UID ключа доступен по команде gpg -- list-keys; для второй версии –

gpg

--list-keys --keyid-format LONG

pub

rsa3072/876B582601A045D9 2020-03-03 [SC]

 

D4CCCF96A19BB4F1A7472F2B876B582601A045D9

uid

[ абсолютно ] Alexey Kolker (no) <alexk@sibnigmi.ru>

sub

rsa3072/84BD24BC43A7E517 2020-03-03 [E]

---------------------------------------------------

Вприведенном примере UID публичного ключа 876B582601A045D9,

априватного – 84BD24BC43A7E517 и для подписи ключом необходимо ввести команду

gpg --clearsign -u 76B582601A045D9 ./1.txt ;

аналогично необходимо указывать UID ключа и для других операций. Экспортированные файлы необходимо передать преподавателю. Именно эти ключи вы будете использовать для удостоверения ваших электронных документов. Храните ваши ключи на своих носите-

лях или в персональных электронных почтовых ящиках. Импортировать ключи в системную связку можно при помощи ко-

манды gpg --import <файл ключа>.

Чтобы создать прозрачную электронную подпись, используйте gpg -u <UUID ключа> --clearsign ./файл, для проверки – прозрачную электронную подпись: gpg --verify.

На этом этапе приводятся лишь краткие сведения о технологиях криптозащиты информации, которые потребуются для оформления электронных отчетов.

Если вы используете операционную систему Линукс, функционирующую в режиме Live-системы, то никакие изменения локальной файловой системы не будут сохранены после перезагрузки компьютера.

9

Всегда сохраняйте свои персональные файлы и данные на личных файловых носителях. Характеристики операционной системы Линукс не позволяют в ней функционировать каким бы то ни было флешчервям, следовательно, вы можете не опасаться того, что ваши флешнакопители будут заражены какими-либо вирусами. Аналогично вирусы, уже находящиеся на флешках, не будут опасны для ОС. Обратите внимание, что если вы используете другие ОС (семейства Windows), также установленные на компьютерах, необходимо соблюдать обычные меры предосторожности. Помните, что по умолчанию в операционной системе Линукс используется отложенная запись на носители. Если вы отключите ваш флеш-накопитель от USB-порта без операции размонтирования, то данные могут быть частично утеряны.

ПРАКТИЧЕСКАЯ РАБОТА

1.Ознакомиться с операционной системой, установленной на компьютерах в лаборатории. Изучить методы копирования на сменные носители, редактирования и сохранения файлов.

2.Создать пару ключей для бригады, указав всех ее членов в поле

«Name».

3.Экспортировать ключи в виде файлов и предоставить их на подпись преподавателю и удалите ключи /--del.

4.Импортировать ключи в систему.

5.Создать файл отчета о работе.

6.Подписать файл электронным ключом.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]