\documentclass[bachelor, och, labwork]{SCWorks}
% параметр - тип обучения - одно из значений:
%    spec     - специальность
%    bachelor - бакалавриат (по умолчанию)
%    master   - магистратура
% параметр - форма обучения - одно из значений:
%    och   - очное (по умолчанию)
%    zaoch - заочное
% параметр - тип работы - одно из значений:
%    referat    - реферат
%    coursework - курсовая работа (по умолчанию)
%    diploma    - дипломная работа
%    pract      - отчет по практике
% параметр - включение шрифта
%    times    - включение шрифта Times New Roman (если установлен)
%               по умолчанию выключен
\usepackage{subfigure}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.5}
\usepackage{float}

%\usepackage{titlesec}
\setcounter{secnumdepth}{4}
%\titleformat{\paragraph}
%{\normalfont\normalsize}{\theparagraph}{1em}{}
%\titlespacing*{\paragraph}
%{35.5pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}

\titleformat{\paragraph}[block]
{\hspace{1.25cm}\normalfont}
{\theparagraph}{1ex}{}
\titlespacing{\paragraph}
{0cm}{2ex plus 1ex minus .2ex}{.4ex plus.2ex}

% --------------------------------------------------------------------------%


\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\graphicspath{ {./images/} }
\usepackage{tempora}

\usepackage[sort,compress]{cite}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{fancyvrb}
\usepackage{listings}
\usepackage{listingsutf8}
\usepackage{longtable}
\usepackage{tabularx}
\usepackage{array}
\usepackage[english,russian]{babel}

\usepackage[colorlinks=true]{hyperref}
\usepackage{url}

\usepackage{underscore}
\usepackage{setspace}
\usepackage{indentfirst} 
\usepackage{mathtools}
\usepackage{amsfonts}
\usepackage{enumitem}
\usepackage{tikz}

\newcommand{\eqdef}{\stackrel {\rm def}{=}}
\newcommand{\specialcell}[2][c]{%
\begin{tabular}[#1]{@{}c@{}}#2\end{tabular}}

\renewcommand\theFancyVerbLine{\small\arabic{FancyVerbLine}}

\newtheorem{lem}{Лемма}

\begin{document}

% Кафедра (в родительном падеже)
\chair{}

% Тема работы
\title{Основы IP-адресации. Классы сетей и структура адресов.}

% Курс
\course{2}

% Группа
\group{231}

% Факультет (в родительном падеже) (по умолчанию "факультета КНиИТ")
\department{факультета КНиИТ}

% Специальность/направление код - наименование
%\napravlenie{09.03.04 "--- Программная инженерия}
%\napravlenie{010500 "--- Математическое обеспечение и администрирование информационных систем}
%\napravlenie{230100 "--- Информатика и вычислительная техника}
%\napravlenie{231000 "--- Программная инженерия}
\napravlenie{10.05.01 "--- Компьютерная безопасность}

% Для студентки. Для работы студента следующая команда не нужна.
% \studenttitle{Студентки}

% Фамилия, имя, отчество в родительном падеже
\author{Гущина Андрея Юрьевича}

% Заведующий кафедрой
% \chtitle{} % степень, звание
% \chname{}

%Научный руководитель (для реферата преподаватель проверяющий работу)
\satitle{преподаватель} %должность, степень, звание
\saname{А.~А.~Фомин}

% Руководитель практики от организации (только для практики,
% для остальных типов работ не используется)
% \patitle{к.ф.-м.н.}
% \paname{С.~В.~Миронов}

% Семестр (только для практики, для остальных
% типов работ не используется)
%\term{8}

% Наименование практики (только для практики, для остальных
% типов работ не используется)
%\practtype{преддипломная}

% Продолжительность практики (количество недель) (только для практики,
% для остальных типов работ не используется)
%\duration{4}

% Даты начала и окончания практики (только для практики, для остальных
% типов работ не используется)
%\practStart{30.04.2019}
%\practFinish{27.05.2019}

% Год выполнения отчета
\date{2021}

\maketitle

% Включение нумерации рисунков, формул и таблиц по разделам
% (по умолчанию - нумерация сквозная)
% (допускается оба вида нумерации)
% \secNumbering

% \tableofcontents

%-------------------------------------------------------------------------------

\section{Основы IP-адресации}

\begin{enumerate}
    \item \textit{Сколько октетов в IP-адресе?} Ответ -- 4
    \item \textit{Сколько битов в октете?} Ответ -- 8
    \item \textit{Сколько бит в маске сети?} Ответ -- 32
    \item \textit{В каких диапазонах десятичных и двоичных значений может быть
    значение первого октета IP-адресов класса <<B>>?}

    Ответ -- десятичные: от 128 до 191; двоичные: от 10000000 до 10111111

    \item \textit{Какие октеты представляют сетевую часть IP-адреса 
    класса <<C>>?} Ответ -- три первых октета
    \item \textit{Какие октеты представляют часть адреса хоста в IP-адресе
    класса <<A>>?} Ответ -- три последних октета
    \item \textit{Какой из приведённых ниже адресов является примером
    широковещательного адреса для сети класса <<B>>?}

    (147.1.1.1, 147.255.255.255, 147.13.0.0, 147.14.255.255)

    Ответ -- 147.14.255.255
    
    \item \textit{Заполните таблицу:}
    \begin{table}[H]
        \small
        \centering
        \begin{tabularx}{\textwidth}{ |X|X|X|X|X|X| }
            \hline
            Класс адреса & 
            Старшие биты первого октета & 
            Диапазон дес. значений первого октета & 
            Маска сети по умолчанию & 
            Количество сетей & 
            Количество хостов в сети \\ \hline
            A & 0     & 1-126   & 255.0.0.0     & $2^7 - 2$   & $2^{24} - 2$ \\ \hline
            A & 10    & 128-191 & 255.255.0.0   & $2^{14}$    & $2^{16} - 2$ \\ \hline
            A & 110   & 192-223 & 255.255.255.0 & $2^{21}$    & $2^{8} - 2$  \\ \hline
            A & 1110  & 224-239 & -             & \multicolumn{2}{X|}{Используется для мультикастинга} \\ \hline
            A & 11110 & 240-255 & -             & \multicolumn{2}{X|}{Зарезервировано для экспериментальных целей} \\ \hline
        \end{tabularx}
        \caption{}
    \end{table}
\end{enumerate}

\section{Определение частей IP-адресов}

\begin{enumerate}
    \item \textit{Заполните таблицу:}
    \begin{table}[H]
        \small
        \centering
        \begin{tabularx}{\textwidth}{ |X|X|X|X|X| }
            \hline
            IP-адреса хостов & 
            Класс адреса & 
            Адрес сети & 
            Broadcast адрес & 
            Маска подсети по умолчанию \\ \hline
            216.14.55.137   & C & 216.14.55.0  & 216.14.55.255    & 255.255.255.0 \\ \hline
            123.1.1.15      & A & 123.0.0.0    & 123.255.255.255  & 255.0.0.0     \\ \hline
            150.127.221.244 & B & 150.127.0.0  & 150.127.255.255  & 255.255.0.0   \\ \hline
            194.125.35.199  & C & 194.125.35.0 & 194.125.35.255   & 255.255.255.0 \\ \hline
            175.12.239.244  & B & 175.12.0.0   & 172.12.255.255   & 255.255.0.0   \\ \hline
        \end{tabularx}
        \caption{}
    \end{table}

    \item \textit{Дан IP-адрес 142.226.0.15}
    \begin{itemize}
        \item \textit{Чему равен двоичный эквивалент второго октета?} 
        Ответ -- 1110 0010
        \item \textit{Какому классу принадлежит этот адрес?} Ответ -- B
        \item \textit{Чему равен адрес сети, в которой находится хост с этим
        адресом?} Ответ -- 142.226.0.0
        \item \textit{Является ли этот адрес хоста допустимым в классической
        схеме адресации?} Ответ -- Нет
        \item \textit{Почему да или почему нет?} Ответ -- Два последних октета 
        равны нулю.
    \end{itemize}
\end{enumerate}

\section{IP-адреса хостов, допустимые в коммерческих сетях}
\textit{Заполните таблицу:}
\begin{table}[H]
    \small
    \centering
    \begin{tabularx}{\textwidth}{ |X|X|X| }
        \hline
        IP-адрес & 
        Является ли допустимым? & 
        Почему? \\ \hline
        150.100.255.255 & Нет & Адрес является широковещательным адресом класса <<B>> \\ \hline
        175.100.255.18  & Да  & Адрес класса <<B>>, нарушения отсутсвуют \\ \hline
        195.234.253.0   & Нет & Номер узла в адресах класса <<C>> не может быть равен 0 \\ \hline
        100.0.0.23      & Да  & Адрес класса <<A>>, нарушения отсутсвуют \\ \hline
        188.258.221.176 & Нет & Значение любого октета должно находиться в диапазоне 0-255 \\ \hline
        127.34.25.189   & Нет & Значение 127 зарезервировано для организации внутренней петли устройств, которая используется при тестировании \\ \hline
        224.156.217.73  & Нет & Адрес класса <<D>> не допустим для использования в коммерческих сетях  \\ \hline
    \end{tabularx}
    \caption{}
\end{table}

\section{Доставка пакетов по заданному IP-адресу}

\begin{figure}[H]
    \centering
    \includegraphics[width=0.9\textwidth]{lab1/network.png}
    \caption{}
    \label{fig:netw}
\end{figure}

\textit{Если отправителем пакета является компьютер A, каким компьютерам из
представленных на рисунке \ref{fig:netw} будет доставлен пакет с адресом:}

\begin{itemize}
    \item 0.0.0.0; Ответ -- A
    \item 0.0.0.138; Ответ -- D
    \item 255.255.255.255; Ответ -- все компьютеры
    \item 150.127.255.255; Ответ -- K, L, M
\end{itemize}

\section{Адресное пространство IPv4}
\begin{enumerate}
    \item \textit{Укажите сколько сетей класса <<A>> и класса <<C>> доступно
    в схеме нумерации IPv4.} Ответ -- $2^7 - 2 + 2^{21} = 2097278$
    \item \textit{Сколько хостов можно адресовать в каждой сети класса <<A>>
    и класса <<C>> в IPv4?} Ответ -- $2^{24} - 2 + 2^8 - 2 = 16777468$
    \item \textit{Сколько всего хостов можно разместить во всех сетях класса
    <<A>> и класса <<C>>?} Ответ -- 
    $(2^7 - 2) \cdot (2^{24} - 2) + (2^{21} - 2) \cdot (2^8 - 2) =
    2~113~928~964 + 532~676~100 = 2~646~605~064$
    \item \textit{Под размером адресного пространства понимается количество
    объектов, которым могут быть назначены адреса в рамках заданных правил.
    Поскольку в IPv4 адрес --- это 32-битное двоичное число, то размер этого
    адресного пространства равен $2^32$. Какую часть этого пространства 
    занимают адреса классов <<A>>, <<B>>, <<C>> и <<D>>?}

    Ответ -- в сетях класса <<A>> зафиксирован один бит, класса <<B>> --- два,
    класса <<C>> --- три, а класса <<D>> --- четыре. Получаем:
    \[ 
        \frac{2^{31}}{2^{32}} + \frac{2^{30}}{2^{32}} +\frac{2^{29}}{2^{32}} +\frac{2^{28}}{2^{32}} =
        \frac{1}{2} + \frac{1}{4} + \frac{1}{8} + \frac{1}{16} = \frac{15}{16}
    \]
\end{enumerate}

\end{document}
