commit 1bbee1bd0b3ade4227166975435060d7bf718b82 Author: Arity-T Date: Wed Mar 12 13:22:21 2025 +0300 Первая лаба diff --git a/lab1/.gitignore b/lab1/.gitignore new file mode 100644 index 0000000..38a3719 --- /dev/null +++ b/lab1/.gitignore @@ -0,0 +1,5 @@ +**/* +!.gitignore +!report.tex +!img +!img/** \ No newline at end of file diff --git a/lab1/img/25.png b/lab1/img/25.png new file mode 100644 index 0000000..4730406 Binary files /dev/null and b/lab1/img/25.png differ diff --git a/lab1/img/35.png b/lab1/img/35.png new file mode 100644 index 0000000..27e07f8 Binary files /dev/null and b/lab1/img/35.png differ diff --git a/lab1/report.tex b/lab1/report.tex new file mode 100644 index 0000000..a7aa991 --- /dev/null +++ b/lab1/report.tex @@ -0,0 +1,225 @@ +\documentclass[a4paper, final]{article} +%\usepackage{literat} % Нормальные шрифты +\usepackage[14pt]{extsizes} % для того чтобы задать нестандартный 14-ый размер шрифта +\usepackage{tabularx} +\usepackage[T2A]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[russian]{babel} +\usepackage{amsmath} +\usepackage[left=25mm, top=20mm, right=20mm, bottom=20mm, footskip=10mm]{geometry} +\usepackage{ragged2e} %для растягивания по ширине +\usepackage{setspace} %для межстрочно го интервала +\usepackage{moreverb} %для работы с листингами +\usepackage{indentfirst} % для абзацного отступа +\usepackage{moreverb} %для печати в листинге исходного кода программ +\usepackage{pdfpages} %для вставки других pdf файлов +\usepackage{tikz} +\usepackage{graphicx} +\usepackage{afterpage} +\usepackage{longtable} +\usepackage{float} +\usepackage{tabularx} + + + +% \usepackage[paper=A4,DIV=12]{typearea} +\usepackage{pdflscape} +% \usepackage{lscape} + +\usepackage{array} +\usepackage{multirow} + +\renewcommand\verbatimtabsize{4\relax} +\renewcommand\listingoffset{0.2em} %отступ от номеров строк в листинге +\renewcommand{\arraystretch}{1.4} % изменяю высоту строки в таблице +\usepackage[font=small, singlelinecheck=false, justification=centering, format=plain, labelsep=period]{caption} %для настройки заголовка таблицы +\usepackage{listings} %листинги +\usepackage{xcolor} % цвета +\usepackage{hyperref}% для гиперссылок +\usepackage{enumitem} %для перечислений + +\newcommand{\specialcell}[2][l]{\begin{tabular}[#1]{@{}l@{}}#2\end{tabular}} + + +\setlist[enumerate,itemize]{leftmargin=1.2cm} %отступ в перечислениях + +\hypersetup{colorlinks, + allcolors=[RGB]{010 090 200}} %красивые гиперссылки (не красные) + +% подгружаемые языки — подробнее в документации listings (это всё для листингов) +\lstloadlanguages{ SQL} +% включаем кириллицу и добавляем кое−какие опции +\lstset{tabsize=2, + breaklines, + basicstyle=\footnotesize, + columns=fullflexible, + flexiblecolumns, + numbers=left, + numberstyle={\footnotesize}, + keywordstyle=\color{blue}, + inputencoding=cp1251, + extendedchars=true +} +\lstdefinelanguage{MyC}{ + language=SQL, +% ndkeywordstyle=\color{darkgray}\bfseries, +% identifierstyle=\color{black}, +% morecomment=[n]{/**}{*/}, +% commentstyle=\color{blue}\ttfamily, +% stringstyle=\color{red}\ttfamily, +% morestring=[b]", +% showstringspaces=false, +% morecomment=[l][\color{gray}]{//}, + keepspaces=true, + escapechar=\%, + texcl=true +} + +\textheight=24cm % высота текста +\textwidth=16cm % ширина текста +\oddsidemargin=0pt % отступ от левого края +\topmargin=-1.5cm % отступ от верхнего края +\parindent=24pt % абзацный отступ +\parskip=5pt % интервал между абзацами +\tolerance=2000 % терпимость к "жидким" строкам +\flushbottom % выравнивание высоты страниц + + +% Настройка листингов +\lstset{ + language=C++, + extendedchars=\true, + inputencoding=utf8, + keepspaces=true, + % captionpos=b, % подписи листингов снизу +} + +\begin{document} % начало документа + + + + % НАЧАЛО ТИТУЛЬНОГО ЛИСТА + \begin{center} + \hfill \break + \hfill \break + \normalsize{МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ\\ + федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский политехнический университет Петра Великого»\\[10pt]} + \normalsize{Институт компьютерных наук и кибербезопасности}\\[10pt] + \normalsize{Высшая школа технологий искусственного интеллекта}\\[10pt] + \normalsize{Направление: 02.03.01 <<Математика и компьютерные науки>>}\\ + + \hfill \break + \hfill \break + \hfill \break + \hfill \break + \large{Лабораторная работа №1}\\ + \large{<<Разбиение IP-сети на подсети>>}\\ + \large{по дисциплине <<Сети ЭВМ и телекоммуникации компьютерных сетей>>}\\ + \hfill \break + + % \hfill \break + \hfill \break + \end{center} + + \small{ + \begin{tabular}{lrrl} + \!\!\!Студент, & \hspace{2cm} & & \\ + \!\!\!группы 5130201/20102 & \hspace{2cm} & \underline{\hspace{3cm}} &Тищенко А. А. \\\\ + \!\!\!Преподаватель & \hspace{2cm} & \underline{\hspace{3cm}} & Мулюха В. А. \\\\ + &&\hspace{4cm} + \end{tabular} + \begin{flushright} + <<\underline{\hspace{1cm}}>>\underline{\hspace{2.5cm}} 2025г. + \end{flushright} + } + + \hfill \break + % \hfill \break + \begin{center} \small{Санкт-Петербург, 2025} \end{center} + \thispagestyle{empty} % выключаем отображение номера для этой страницы + + % КОНЕЦ ТИТУЛЬНОГО ЛИСТА + \newpage + + \tableofcontents + + + \newpage + + % Вариант 25-35 + % + + + \section {Задание 1 (IP) Исходную IP-сеть разделите на 5 подсетей с заданным числом адресов в подсетях} + + \begin{table}[h!] + \centering + % \caption{.} + \footnotesize + \begin{tabularx}{\textwidth}{|c|c|c|X|} + \hline + \textbf{Вариант} & \textbf{Исходная сеть} & \textbf{Маска} & \textbf{Требования к подсетям} \\ + \hline + 25 & 10.20.30.0 & 255.255.255.0 & По крайней мере 3 подсети должны включать не менее чем по 52 адреса. \\ + \hline + 35 & 160.80.40.0 & 255.255.252.0 & По крайней мере 1 подсеть должна включать 512 адресов. \\ + \hline + \end{tabularx} + \end{table} + + \subsection{Решение варианта 25} + + Маске 255.255.255.0 соответствует префикс 24. В ней 8 нулей, а значит в сети всего $2^8 = 256$ адресов. + + Чтобы подсеть содержала не менее чем 52 адреса, ей необходима маска с префиксом не более 26. Сеть с маской 26 содержит $2^6 = 64$ адреса. По заданию нужно выделить 3 подсети минимум по 52 адреса, значит на них уйдёт $64 * 3 = 192$ адреса. В исходной сети остаётся $256 - 192 = 64$ адреса, которые нужно распределить между двумя сетями, то есть по $64 / 2 = 32$ адреса на каждую сеть. Сети из 32 адресов, соответствует маска с префиксом 27. + + В итоге получаем следующее разбиение. + + Подсесть 1: 10.20.30.0/26 -- 10.20.30.63/26 (64 адреса) + + Подсесть 2: 10.20.30.64/26 -- 10.20.30.127/26 (64 адреса) + + Подсесть 3: 10.20.30.128/26 -- 10.20.30.191/26 (64 адреса) + + Подсесть 4: 10.20.30.192/27 -- 10.20.30.223/27 (32 адреса) + + Подсесть 5: 10.20.30.224/27 -- 10.20.30.255/27 (32 адреса) + + Схема распределения адресов в сети 25 представлена на Рис.~\ref{fig:25}. + + \begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{img/25.png} + \caption{Схема распределения адресов в сети 25.} + \label{fig:25} + \end{figure} + + \newpage + \subsection{Решение варианта 35} + Маске 255.255.252.0 соответствует префикс 22. В ней 10 нулей, а значит в сети всего $2^10 = 1024$ адреса. + + Чтобы подсеть содержала не менее чем 512 адресов, ей необходима маска с префиксом не более 23. Сеть с маской 23 содержит $2^9 = 512$ адресов. По заданию нужно выделить по крайне мере 1 подсеть на 512 адресов. Значит в исходной сети останется ещё $1024 - 512 = 512$ адресов, которые нужно распределить между четырьмя сетями, то есть по $512 / 4 = 128$ адресов на каждую сеть. Сети из 128 адресов, соответствует маска с префиксом 25. + + В итоге получаем следующее разбиение. + + Подсесть 1: 160.80.40.0/23 -- 160.80.41.255/23 (512 адресов) + + Подсесть 2: 160.80.42.0/25 -- 160.80.42.127/25 (128 адресов) + + Подсесть 3: 160.80.42.128/25 -- 160.80.42.255/25 (128 адресов) + + Подсесть 4: 160.80.43.0/25 -- 160.80.43.127/25 (128 адресов) + + Подсесть 5: 160.80.43.128/25 -- 160.80.43.255/25 (128 адресов) + + Схема распределения адресов в сети 35 представлена на Рис.~\ref{fig:35}. + + \begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{img/35.png} + \caption{Схема распределения адресов в сети 35.} + \label{fig:35} + \end{figure} + + +\end{document} \ No newline at end of file