Курсач. Зайцев Г.В.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
MI,IHI,ICTEPCTBO
OEPA3OBAHI4fl
H
HAYKI4
POCCI4TCKOil
OEAEPAUI4I,I
oEAEPAnbHOE
f
OCyAAPCTBEHHOE
2


Содержание

Введение

................................
................................
................................
...............

3

1. Основная часть

................................
................................
................................

4

1.1. Поиск н
аикратчайшего пути по алгоритму Дейкстры

.............................

4

1.2. Определить степень сети и всех её узлов.

................................
.................

6

1.3. Определить диаметр сети и связность

................................
.......................

7

1.4. Маршрутизация по вектору состояний (RIP).

................................
...........

8

1.5. Определение класса сети, маски, номер сети, н
омер узла,
широковещательный адрес и диапазон адресов.

................................
.....................

9

1.6. Добавление узлов и сетей.

................................
................................
.........

12

Заключение

................................
................................
................................
........

16

Список использованной литера
туры

................................
..............................

17

Приложение А

................................
................................
................................
...

18

Приложение Б

................................
................................
................................
....

27

Приложение В

................................
................................
................................
...

32

Приложение Г

................................
................................
................................
....

36




3


Введение

Использование локальных сетей позволяет облегчить доступ к
устройствам оконечного оборудования данных установленных в учреждении.
Эти устройства


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

Целью данной курсовой работы является решение задач для изучение

основных элементов и понятий в сетях передачи данных, решение задачи
поиска наикратчайших путей, принципов формирования IP
-
адреса, способов
подбора и модификации маски сети, работы протокола маршрутизации RIP,
основ моделирования конечных автоматов в Simu
link
-
Stateflow.



4


1.

Основная часть

1.1.


Поиск наикратчайшего пути по алгоритму Дейкстры

Определить наикратчайшие пути от узла
7

ко всем остальным узлам сети
по алгоритму Дейкстры. Алгоритм реализовать в виде программы,
считывающей матрицу всех связей в сети (мат
рица смежности), и в качестве
результата выдающей наикратчайший путь (описываемый как
последовательность узлов, через которые он проходит) и его совокупный вес до
произвольных узлов
6
,
3
,
9
.

Дана матрица смежности

Таблица 1.
Матрица связей сети


1

2

3

4

5

6

7

8

9

10

1

0

3

28

0

0

0

4

67

0

50

2

3

0

0

0

44

0

20

0

52

0

3

28

0

0

0

0

0

0

0

4

0

4

0

0

0

0

62

0

59

0

0

12

5

0

44

0

62

0

0

3

0

32

0

6

0

0

0

0

0

0

20

0

32

0

7

4

20

0

59

3

20

0

30

0

30

8

67

0

0

0

0

0

30

0

0

65

9

0

52

4

0

32

32

0

0

0

15

10

50

0

0

12

0

0

30

65

15

0









5


Построенный граф по данной матрице смежности



Рис 1. Граф

Алгоритм Дейкстры.

Задача поиска наикратчайшего пути из заданной стартовой вершины до
всех остальных вершин графа/сети может быть
решена с помощью алгоритма
Дейкстры, широко используемого в протоколах маршрутизации
[1]
.

Алгоритм Дейкстры формулируется следующим образом:


1. Промаркировать все узлы, кроме стартового, парой значений,
состоящей из расстояния до данного узла (первоначаль
но “∞”) и узлом, из
которого был осуществлен переход (первоначально “
-
”).

6



2. Начиная со стартового узла, выберите незафиксированный узел с самым
низким совокупным весом и пометьте его как зафиксированный.

3. Рассчитайте совокупный вес от зафиксированной в
ершины до всех
незафиксированных смежных с ней вершин, как сумму совокупного веса
зафиксированной вершины плюс вес связи до смежной вершины.


4. В случае, если рассчитанный совокупный вес до смежной вершины
меньше указанного в паре значений, метка переписы
вается.


5. Повторять до тех пор, пока не останется незафиксированных вершин.


Результаты выполнения задания

по определению наикратчайших путей по
алгоритму Дейкстры

Таблица 2.
Результат выполнения алгоритма Дейкстры

Длина

Полный маршрут

20

7

6

-

32

7

1

3

35

7

5

9

1.2.

Определить степень сети и всех её узлов
.

Определить степень сети и всех её узлов. Структуру сети брать из задания
1. Алгоритм определения степеней сети и узлов реализовать в виде программы

[2]
.

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


Таблица 3. Степени узлов и всей
сети

№ узла

Степень

1

5

2

4

7


3

2

4

3

5

4

6

2

7

7

8

3

9

5

10

5

Степень
сети

2

1.3.

Определить диаметр сети

и связность

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

Для узлов 5

и

9

определит
ь
связанность по связям и узлам
.

Диаметр сети


величина самого длинного геодезического пути.

Геодезический путь


это путь между двумя узлами
с наименьшим
количеством связей [6
]
.

Связанность по узлам между парой узлов


минимальное число узлов,
которые необходимо удалить, чтобы отсоединить источник от адресата.
Связанность по узлам для всей сети определяется как минимальная связанность
п
о узлам для всех пар узлов сети [6
]
.

Связа
нность по связям
-

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

[6
]
.



Таблица 4. Диаметр
сети

и связность

Диаметр сети

Полный путь

Связность по
узлам между
узлами 5 и 9

Связность по
связям между
узлами 5 и 9

3

3

9

10

4

1

4

8


1.4.


М
аршрутизаци
я

по вектору состояний (RIP)
.

Реализовать в виде программы алгоритм маршрутизации по вектору
состояний
(RIP). Маршрутизаторы раз в 30 сек. должны обмениваться
таблицами маршрутизации. В качестве единицы измерения принять время
задержки. Исходное время задержек между маршрутизаторами и структуру
сети взять из матрицы связей для задания 1. В ходе работы алгор
итма
реализовать инкрементирование задержки на единицу после каждого обмена
таблицами. Предусмотреть возможность проверки текущего состояния таблицы
маршрутизации любого из маршрутизаторов, а также времени задержки между
соседними маршрутизаторами. Длитель
ность моделирования
-

90 сек. По
окончании работы программы в качестве результата должны выдаваться все
таблицы маршрутизации для каждого из узлов (включая промежуточные
таблицы), а также матрицы измененных временных задержек (структура
матрицы должна совп
адать со структурой матрицы из задания 1).

Протокол RIP (Routing Information Protocol) является внутренним
протоколом маршрутизации дистанционно
-
векторного типа, он представляет
собой один из наиболее ранних протоколов обмена маршрутной информацией
и до си
х пор чрезвычайно распространен в вычислительных сетях ввиду
простоты реализации

[2]
.

В исходном состоянии в каждом маршрутизаторе программным
обеспечением стека TCP/IP автоматически создается минимальная таблица
маршрутизации, в которой учитываются только

непосредственно
подсоединенные к нему маршрутизаторы. Часто в качестве параметра, на
основании которого принимается решение о выборе того или иного маршрута,
берется время задержки. В этом случае маршрутизатор отправляет эхозапросы
до соседних маршрутизат
оров и замеряет время до прихода эхо
-
отклика

[4]
.


Для выполнения четвертого задания сделали моделирование конечных
автоматов в Simulink
-
Stateflow.

9


Результаты выполнения

компьютерного

моделирования в Приложении Б
,

Приложении В
, Приложении Г

1.5.

Определение
класса сети, маски,

номер сети, номер узла,
широковещательный адрес и диапазон адресов.

Дан IP адрес одного из конечных узлов
сети
222
.
164
.
59
.
73
. Для данного IP
определить класс сети, маску, номер сети, номер узла, широковещательный
адрес и диапазон адресо
в. Исходя из структуры сети (см. матрицу из задания 1),
учитывая, что каждый маршрутизатор

в этой сети имеет подключенны
е

к нему
конечны
е узлы
, сделать вывод хватит ли полученного диапазона адресов для
обеспечения IP адресами всех узлов этой сети (считать,

что все узлы находятся
в одной сети).

IP
-
адрес (от англ. Internet Protocol Address)


это уникальный сетевой
адрес узла в компьютерной сети, построенной по протоколу IP. Этот адрес
используется на сетевом уровне. Он назначается администратором во время
ко
нфигурирования компьютеров и маршрутизаторов. IP
-
адрес состоит из двух
частей: номера сети и номера узла. Номер сети может быть выбран
администратором произвольно, либо назначен по рекомендации специального
подразделения Internet (Network Information Cente
r, NIC), если сеть должна
работать как составная часть Internet. Номер узла в протоколе IP назначается
независимо от локального адреса узла. Деление IP
-
адреса на поле номера сети и
номера узла
-

гибкое, и граница между этими полями сегодня обычно
устанавли
вается маской подсети. Представление IP
-
адреса. IP
-
адрес имеет
длину 4 байта и обычно записывается в виде четырех чисел, представляющих
значения каждого байта в десятичной форме, и разделенных точками

[3]
.


Таблица 5. Подключенные узлы



Количество
под
ключенных
узлов

1

14

2

21

10


3

21

4

11

5

24

6

19

7

22

8

3

9

15

10

16

Расчет основных специальных IP адресов Зная IP адрес узла и маску
подсети, можно получить номер сети, к которому принадлежит этот узел; номер
узла в пределах этой сети;
широковещательный IP адрес для массовой рассылки
сообщений в эту сеть; диапазон всех IP адресов физических узлов в пределах
данной сети. Номер сети Nс и номер узла Nу может быть получен путем
применения поразрядной конъюнкции:

N
с

= IP and M;

N
у

= IP and no
t(M);

Для того, чтобы получить широковещательный адрес, необходимо
воспользоваться операцией логического ИЛИ:

IPbroadcast = IP or not⠀M);

Диапазон адресов может быть вычислен по следующим формулам:

IPнач = lsb(Nс(4)) + 1;

IPкон = lsb(IPbroadcast(4))
-

1;

Здесь Nс(4) и IPbroadcast(4) указывают на 4й байт номера сети и
широковещательного адреса соответственно, lsb(x)


указатель на младший бит
в байте “х”

[5]
.

Результаты выполнения пятого задания для получения по
IP
: класс сети,
маску, номер сети, номер узла
, широковещательный адрес и диапазон адресов.



11





Таблица 6. Результаты выполнения

IP

222

164

59

73

Маска

255

255

255

0

№ сети

222

164

59

0

№ узла

0

0

0

73

IP broa
d
cast

222

164

59

255

IP начальный

222

164

59

1

IP конечный

222

164

59

254

C
делать
вывод хватит ли полученного диапазона адресов для обеспечения
IP адресами всех узлов этой сети
.

Для решения данной задачи нужно сделать логическую операцию НЕ с
маской сети. У полученного результаты в двоичном виде нужно посчитать
количество единиц. После
нужно возвести 2 в степень количества единиц,
полученное число будет возможное количество подключенных узлов.


Таблица 7. Количество подключенных узлов

Маска

255

255

255

0

Маска

в двоичн.

111111111

111111111

11111111

0
0000000

NOT⠀
Маска


0
0000000

0
0000000

0
0000000

11111111

2
8
=
256

узлов возможно подключить


Таблица 8. Подключенные узлы



Количество
подключенных
узлов

1

14

2

21

3

21

4

11

5

24

6

19

7

22

8

3

9

15

10

16

Теперь нужно подсчитать количество узлов подключенных к сети.

12


14+21+21+11+24+19+22+3+15+16
+10
=
176

подключенных узлов

Имеется возможность обеспечения всех узлов
адресами потому, что
возможно подключить
254

узла, а подключенных узлов
176
.

1.6.

Добавление узлов и сетей.

Имеются 2 подсети, каждая из которых содержит несколько

маршрутизаторов. Для первой подсети, исходя из того условия, что может быть
добавлено до
23

узлов при максимальном количестве возможных вложенных
подсетей, необходимо выбрать маску и диапазон адресов, определить
широковещательный адрес. Для второй подсети

необходимо выбрать диапазон
адресов и маску, а также определить широковещательный адрес, из условия
обеспечения не менее
1
9

дополнительных сетей при максимальном количестве
узлов в подсетях. В обоих случаях помимо маршрутизаторов необходимо
учитывать уже
имеющиеся подключенные к ним конечные узлы (их количество
брать из задания 5).

Маской подсети или маской сети называется битовая маска,
определяющая, какая часть IP
-
адреса узла сети относится к адресу сети, а какая


к адресу самого узла в этой сети. Имеет

длину 4 байта и записывается в
двоичном или десятичном виде

[2].

Таблица 9. Подсети

№ подсети

1

1

1

1

2

2

2

2

2

2

№ маршрутизатора

9

1

8

7

10

3

5

2

4

6




Таблица 10. Подключенные узлы



Количество
подключенных
узлов

1

14

13


2

21

3

21

4

11

5

24

6

19

7

22

8

3

9

15

10

16

При рассмотрении решения первой задачи, необходимо обратить внимание
на то, что
n
у
-

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

под диапазон сетевых адресов
(устанавливаются в ноль), а оставшиеся разряды устанавливаются в единицу
для выполнения условия о макс
имальном количестве подсетей в новой маске

[4]
. Таким образом, формула для расчета количества разрядов, отводимых под
диапазон сетевых адресов, принимает вид:

n
б.у.
=
log
2(
ny

+ 2);

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

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

узлов из таблицы
«Подключенные узлы»:

15+14+3+22
=
54

количество узлов подключенных к первой подсети

К этим узлам нужно добавить
23
, в результате получим:

n
б.у.
=
log
2(
54

+
23

+ 2⤀
=

6
.
3


Округляя в большую сторону получим
7
.


14




Таблица 11. Расчет новой
маски при добавлении узлов

Маска

255

255

255

255

Двоичн.

11111111

11111111

11111111

11111111

Двоичн. измен

11111111

11111111

11111111

1
0
000000

Получив. маска

255

255

255

128

Для первой подсети при добавлении до
23

узлов при максимальном
количестве
возможных вложенных подсетей, получили следующие маску и
диапазон адресов, опр
еделили широковещательный адрес

Таблица 12.Результаты

IP

222

164

59

73

Маска

255

255

255

128

IP broadcast

222

164

59

127

IP начальный

222

164

59

1

IP конечный

222

164

59

126

Стоит обратить внимание на «дополнительные подсети в стандартной
сети» и условие максимального количества узлов в подсетях. Это значит, что
необходимо модифицировать уже существующую маску, увеличив число бит в
маске, отведенных под номер сети, на
некоторое рассчитанное значение, а
оставшиеся биты установить в 0, обеспечив таким образом максимальное
количество узлов в подсетях

[1]
.

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

n
б.с.
=
log
2(
nc
);

При добавлении
1
9

подсетей нужно учесть еще 2 существующие, получим

n
б.с.
=
log
2(
19
+2)=
4,39~5


Таблица 13. Расчет новой маски при добавлении подсетей

Маска

255

255

255

0

Двоичн.

11111111

11111111

11111111

00000000

Двоичн. измен

11111111

11111111

11111111

11111
000

15


Получив. маска

255

255

255

2
48

Для второй подсети получили следующие диапазон адресов и маску, а
также определили широковещательный адрес, из условия обеспечения не менее
19

дополнительных сетей при максимальном
количестве узлов в подсетях.

Таблица 14.Результаты

IP

222

164

59

73

Маска

255

255

255

248

IP broadcast

222

164

59

79

IP начальный

222

164

59

73

IP конечный

222

164

59

78




16


Заключение

В ходе построение локальных сетей возникает множество трудных задач

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



17


Список использованной литературы

1.

Таненбаум Э. Компьютерные сети


СПб.: Питер, 2003.


992 с.

2.

Ирвин Дж., Харль Д. Передача данных в сетях: инженерный подход
-

СПб.: БХВ
-
Петербург, 2003


448 с.

3.

Технологии
современных сетей Ethernet. Методы коммутаци
и и
управления потоками данных
, Смирнова Е. В., Козик П. В., 2012.

4.

Вычислительные системы и сети,

Мелехин
В.И.
, Павловский

Е.О., 2013

5.

Информационные системы и сети
, Новиков А.В., Матвиенко В.В. 2014

6.

Информационн
ые сети и телекоммуникации [Конспект лекций]


18


Приложение А

Код программы

Файл
Script
.
m

clear all;

filename='V_
7
.mat';

TableWays = zadanie1(filename);

Stepeni = zadanie2⠀filename);


[ip,maska,Nc,Ny,IPbr,IPst,IPfs,Otvet] = zadani
e5(filename);

[TabledopUzli,TabledopSeti] = zadanie6(filename);

Файл

zadanie1.m

function result = zadanie1(filename)


load(filename);


start=Zd1⠀1,1);


result=[];


[dist1,prev1]=dekstra(a,start⤀;


for i=2:length(Zd1⤀



result=[result; dist1(Zd1⠀1,i)),marshrut⠀a,prev1,Zd1⠀1,i))];


end

end

function [distance,previos]=dekstra(A,st⤀

visited=zeros⠀1,size(A,1));

distance=zeros⠀1,size(A,1));

previos=zeros(1,size(A,1));


for i=1:size(A,1⤀


visited(i⤀=0;

19



distance(i)=inf;


previos⠀i)=0;


end


distance(st)=0;


for i=1:size(A,1⤀
-
1


mins=inf;


for j=1:size(A,1⤀


if (visited(j)==0) && ⠀distance(j)=mins⤀


mins=distance(j⤀;


u=j;


end


end


visited(u⤀=1;


for k=1:size(A,1⤀


if (visited(k)==0) && (A⠀u,k)~=0) && (distance(u)~=inf) &&
((distance(u)+A⠀u,k)⤀distance(k⤩


distance(k⤀=distance(u)+A⠀u,k);


previos⠀k)=u;


end


end


end

end



function vect=marshrut(matrix,prev,v⤀


vect=v;


while ⠀prev(v)~=0);


vect=[prev⠀v),vect];


v=prev⠀v⤀;

20



end


vect=[vect, zeros(1,size(matrix,1⤀
-
size(vect,2))];

end

файл

zadanie2.m

function

result = zadanie2(filename)

load(filename);

result=[];


for i=1:size(a,1)


vect = a(i,:);


nonzero = find(vect);


result = [result;length⠀nonzero)];


end

result=[result;min(result)];

end

файл

zadanie3.m

function result =
zadanie3(filename)


load(filename);


result=[];


matrix_ed=zeros⠀size(a,1),size(a,2⤩;


for i=1:size(a,1⤀


for j=1:size(a,2⤀


if (a(i,j)~=0)


matrix_ed⠀i,j)=1;


end


end


end


dist=[];



for i=1:size(a,1⤀

21



[dist1,prev1]=dekstra(matrix_ed,i);


k=find(dist1==max(dist1⤀);


dist=[dist,max(dist1)];


result=[result;marshrut(matrix_ed,prev1,k⠀1))];


end


k=find⠀dist==max(dist));


result=[max(dist),result(k(1
),:)];

end


function [distance,previos]=dekstra(A,st⤀

visited=zeros⠀1,size(A,1));

distance=zeros⠀1,size(A,1));

previos=zeros(1,size(A,1));


for i=1:size(A,1⤀


visited(i⤀=0;


distance(i)=inf;


previos⠀i)=0;


end


distance(st)=0;


for i=1:size(A,1⤀
-
1


mins=inf;


for j=1:size(A,1⤀


if (visited(j)==0) && ⠀distance(j)=mins⤀


mins=distance(j⤀;


u=j;


end


end


visited(u⤀=1;


for k=1:size(A,1⤀

22



if (visited(k)==0) && (A⠀u,k)~=0) && (distance(u)~=inf) &&
((distance(u)+A⠀u,k)⤀distance(k⤩


distance(k⤀=distance(u)+A⠀u,k);


previos⠀k)=u;


end


end


end

end

functi
on vect=marshrut(matrix,prev,v⤀


vect=v;


while ⠀prev(v)~=0);


vect=[prev⠀v),vect];


v=prev⠀v⤀;


end


vect=[vect, zeros(1,size(matrix,1⤀
-
size(vect,2))];

end

файл

zadanie5.m

function [ip,maska,Nc,Ny,IPbr,IPst,IPfs,Otvet] =
zadanie5(filename)


load(filename);


ip=uint8(Zd5ip);


if (ip⠀1⠀)0) && (ip(1)127⤀


maska=[255 0 0 0];


n=24;


end


if (ip⠀1⠀)127) && (ip(1⤀192⤀


maska=[255 255 0 0];


n=16;


end


if (ip⠀1⠀)191) && (ip(1⤀2
24⤀

23



maska=[255 255 255 0];


n=8;


end


maska=uint8(maska);


Nc=bitand⠀ip,maska);


Ny=bitand⠀ip,bitcmp⠀maska));


IPbr=bitor(ip,bitcmp⠀maska));


IPst=Nc;


IPst⠀4)=Nc(4)+1;


IPfs=IPbr;


IPfs(4)=IPbr(4⤀
-
1;


s= sum(Zd5(:,2⤩;


if (2^n�s⤀




else




end

end

файл

zadanie6.m

function [dopUzli,dopSeti] = zadanie6(filename)


load(filename);


count1=0;


count2=0;


for i=2:length(Zd5⤀


if i=Zd6⠀1)+
1


count1=count1+Zd5(Zd6⠀i),2);


else


count2=count2+Zd5(Zd6⠀i),2);


end

24



end


ny=Zd6NN(1)+count1;


nc=Zd6NN⠀2)+2;


nbu=ceil⠀log2⠀ny+2⤩;


nbc=ceil(log2(nc⤩;


maska=[255,255,255,255];


for i=4:
-
1:1


if nbu~=0


i�f nbu8


zero=2^8
-
1;


maska(i)=bitxor(maska(i),zero);


nbu=nbu
-
8;


else


zero=2^nbu
-
1;


maska(i)=bitxor(maska(i),zero);


nbu=0;


end


end


end


ip=uint8(Zd5ip);


maska=uint8(maska);


Nc=bitand⠀ip,maska);


IPbr=bitor(ip,bitcmp⠀maska));


IPst=Nc;


IPst⠀4)=Nc(4)+1;


IPfs=IPbr;


IPfs(4)=IPbr(4⤀
-
1;


dopUzli=[ip;maska;IPbr;IPst;IPfs];


if (ip⠀1⠀)0) && (ip(1)127⤀


maska=[255 0 0 0];

25



end


if (ip⠀1⠀)127) && (ip(1⤀192⤀


maska=[255 255 0 0];


end


if (ip⠀1⠀)191) && (ip(1⤀224⤀


maska=[255 255 255 0];


end


ma
ska=uint8(maska);


fl=0;


tp=0;


for j=1:4


if (fl==0⤀


if(maska(1,j)~=0)


for i=8:
-
1:2


if (bitget⠀maska(1,j),i)==1) && (bitget(maska(1,j),i
-
1)==0) &&
tp==0;


tp=i
-
1;


fl=1;


end


end


else


fl=1;


tp=8;


end


else


tp=8;


end


for i=tp:
-
1:1


if (bitget(maska(1,j),i)==0⤀

&& (nbc~=0⤀



26



nbc=nbc
-
1;


end


if (nbc==0⤀


break;


end


end


if (nbc==0⤀


break;


end


end


Nc=bitand⠀ip,maska);


IPbr=bitor(ip,bitcmp⠀maska));


IPst=Nc;


IPst⠀4)=Nc(4)+1;


IPfs=IPbr;


IPfs(4)=IPbr(4⤀
-
1;



end









27


Приложение

Б

Таблица

Б
.1.
Матрица задержек при 3
-
ем проходе:


1

2

3

4

5

6

7

8

9

10

1

0

5

30

0

0

0

6

69

0

52

2

5

0

0

0

46

0

22

0

54

0

3

30

0

0

0

0

0

0

0

6

0

4

0

0

0

0

64

0

61

0

0

14

5

0

46

0

64

0

0

5

0

34

0

6

0

0

0

0

0

0

22

0

34

0

7

6

22

0

61

5

22

0

32

0

32

8

69

0

0

0

0

0

32

0

0

67

9

0

54

6

0

34

34

0

0

0

17

10

52

0

0

14

0

0

32

67

17

0

Промежуточные таблицы


Таблица Б.
2
. Промежуточная таблица для узла 1

Узел 1

Маршрутизатор

Время
задержки

Отправка

через

узел

1

0

0

2

4

2

3

29

3

4

63

10

5

8

7

6

25

7

7

5

7

8

68

8

9

56

2

10

51

10


Таблица Б.
3
. Промежуточная
таблица для узла 2

Узел
2

Маршрутизатор

Время
задержки

Отправка

через

узел

1

4

1

2

0

0

3

32

1

4

80

7

5

45

5

6

41

7

28


7

21

7

8

51

7

9

53

9

10

51

7


Таблица Б.
4
. Промежуточная таблица для узла 3

Узел
3

Маршрутизатор

Время
задержки

Отправка

через

узел

1

29

1

2

32

1

3

0

0

4

32

9

5

37

9

6

37

9

7

33

1

8

96

1

9

5

9

10

20

9


Таблица Б.
5
. Промежуточная таблица для узла 4

Узел
4

Маршрутизатор

Время
задержки

Отправка

через

узел

1

63

10

2

80

7

3

32

10

4

0

0

5

63

5

6

80

7

7

60

7

8

78

10

9

28

10

10

13

10





29



Таблица Б.
6
. Промежуточная таблица для узла 5

Узел
5

Маршрутизатор

Время
задержки

Отправка

через

узел

1

8

7

2

45

2

3

37

9

4

63

4

5

0

0

6

24

7

7

4

7

8

34

7

9

33

9

10

34

7


Таблица Б.
7
. Промежуточная таблица
для узла 6

Узел
6

Маршрутизатор

Время
задержки

Отправка

через

узел

1

25

7

2

41

7

3

37

9

4

80

7

5

24

7

6

0

0

7

21

7

8

51

7

9

33

9

10

48

9


Таблица Б.
8
. Промежуточная таблица для узла 7

Узел
7

Маршрутизатор

Время
задержки

Отправка

через

узел

1

5

1

2

21

2

3

33

1

4

60

4

30


5

4

5

6

21

6

7

0

0

8

31

8

9

36

5

10

31

10


Таблица Б.
9
. Промежуточная таблица для узла 8

Узел
8

Маршрутизатор

Время
задержки

Отправка

через

узел

1

68

1

2

51

7

3

96

1

4

78

10

5

34

7

6

51

7

7

31

7

8

0

0

9

81

10

10

6
6

10


Таблица Б.
10
. Промежуточная таблица для узла 9

Узел
9

Маршрутизатор

Время
задержки

Отправка

через

узел

1

56

2

2

53

2

3

5

3

4

28

10

5

33

5

6

33

6

7

36

5

8

81

10

9

0

0

10

16

10




31



Таблица Б.1
1
. Промежуточная таблица для
узла 10

Узел 1
0

Маршрутизатор

Время
задержки

Отправка

через

узел

1

51

1

2

51

7

3

20

9

4

13

4

5

34

7

6

48

9

7

31

7

8

66

8

9

16

9

10

0

0














32



Приложение В

Результирующие таблицы


Таблица В.1. Результирующая таблица для узла 1

Узел 1

Маршрутизатор

Время
задержки

Отправка

через

узел

1

0

0

2

5

2

3

30

3

4

65

10

5

10

7

6

27

7

7

6

7

8

69

8

9

58

2

10

52

10


Таблица В.2. Результирующая таблица для узла 2

Узел
2

Маршрутизатор

Время
задержки

Отправка

через

узел

1

5

1

2

0

0

3

34

1

4

82

7

5

46

5

6

43

7

7

22

7

8

53

7

9

54

9

10

53

7


Таблица В.3. Результирующая таблица для узла 3

Узел
3

Маршрутизатор

Время
задержки

Отправка

через

узел

33


1

30

1

2

3
4

1

3

0

0

4

3
5

9

5

3
9

9

6

3
9

9

7

3
5

1

8

9
8

1

9

6

9

10

2
2

9


Таблица В.4. Результирующая таблица для узла 4

Узел
4

Маршрутизатор

Время
задержки

Отправка

через

узел

1

65

10

2

8
2

7

3

3
5

10

4

0

0

5

6
4

5

6

8
2

7

7

6
1

7

8

80

10

9

30

10

10

14

10


Таблица В.5. Результирующая таблица для узла 5

Узел
5

Маршрутизатор

Время
задержки

Отправка

через

узел

1

10

7

2

46

2

3

40

9

4

64

4

5

0

0

6

26

7

7

5

7

8

36

7

9

34

9

10

36

7


34



Таблица В.6. Результирующая таблица для узла 6

Узел
6

Маршрутизатор

Время
задержки

Отправка

через

узел

1

27

7

2

43

7

3

39

9

4

82

7

5

26

7

6

0

0

7

22

7

8

53

7

9

34

9

10

50

9


Таблица В.7. Результирующая таблица для узла 7

Узел
7

Маршрутизатор

Время
задержки

Отправка

через

узел

1

6

1

2

22

2

3

35

1

4

61

4

5

5

5

6

22

6

7

0

0

8

32

8

9

38

5

10

32

10


Таблица В.8. Результирующая таблица для узла 8

Узел
8

Маршрутизатор

Время
задержки

Отправка

через

узел

1

69

1

2

53

7

3

98

1

4

80

10

5

36

7

6

53

7

35


7

32

7

8

0

0

9

83

10

10

67

10


Таблица В.9. Результирующая таблица для узла 9

Узел
9

Маршрутизатор

Время
задержки

Отправка

через

узел

1

58

2

2

54

2

3

6

3

4

30

10

5

34

5

6

34

6

7

38

5

8

83

10

9

0

0

10

17

10


Таблица В.10. Результирующая таблица для узла 10

Узел 1
0

Маршрутизатор

Время
задержки

Отправка

через

узел

1

52

1

2

53

7

3

22

9

4

14

4

5

36

7

6

48

9

7

32

7

8

67

8

9

17

9

10

0

0




36


Приложение Г

Блоки маршрутизации

по вектору состояний

RIP


Рисунок Г.1. Узел 1


Рисунок Г.2. Узел 2


37



Рисунок Г.3. Узел 3


Рисунок Г.4. Узел 4


38



Рисунок Г.5. Узел 5


Рисунок
Г.6. Узел 6


39



Рисунок Г.7. Узел 7


Рисунок Г.8. Узел 8


40



Рисунок Г.9. Узел 9


Рисунок Г.10. Узел 10





41


Техническое задание

1.

Определить наикратчайшие пути от узла
7

ко всем остальным узлам
сети по алгоритму Дейкстры. Алгоритм реализовать в виде программы,
считывающей матрицу всех связей в сети (матрица смежности), и в качестве
результата выдающей наикратчайший путь (описываемый как
последовательность узлов, через кот
орые он проходит) и его совокупный вес до
произвольных узлов
6
,
3
,
9
.

Таблица
1
.
Матрица связей сети


1

2

3

4

5

6

7

8

9

10

1

0

3

28

0

0

0

4

67

0

50

2

3

0

0

0

44

0

20

0

52

0

3

28

0

0

0

0

0

0

0

4

0

4

0

0

0

0

62

0

59

0

0

12

5

0

44

0

62

0

0

3

0

32

0

6

0

0

0

0

0

0

20

0

32

0

7

4

20

0

59

3

20

0

30

0

30

8

67

0

0

0

0

0

30

0

0

65

9

0

52

4

0

32

32

0

0

0

15

10

50

0

0

12

0

0

30

65

15

0


2.

Определить степень сети и всех её узлов. Структуру сети брать из задания
1. Алгоритм определения степеней сети и узлов
реализовать в виде программы.

3.

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

Для узлов 5

и

9

определить
связанность по свя
зям и узлам.


4.

Реализовать в виде программы алгоритм маршрутизации по вектору
состояний (RIP). Маршрутизаторы раз в 30 сек. должны обмениваться таблицами
маршрутизации. В качестве единицы измерения принять время задержки.
Исходное время задержек между маршрутизаторами и
структуру сети взять из
матрицы связей для задания 1. В ходе работы алгоритма реализовать
инкрементирование задержки на единицу после каждого обмена таблицами.
42


Предусмотреть возможность проверки текущего состояния таблицы
маршрутизации любого из маршрутиза
торов, а также времени задержки между
соседними маршрутизаторами. Длительность моделирования
-

90 сек. По
окончании работы программы в качестве результата должны выдаваться все
таблицы маршрутизации для каждого из узлов (включая промежуточные
таблицы) (см.

таблицу 3), а также матрицы измененных временных задержек
(структура матрицы должна совпадать со структурой матрицы из задания 1).

5.

Дан IP адрес одного из конечных узлов сети
222
.
164
.
59
.
73
.
Для данного
IP определить класс сети, маску, номер сети, номер узл
а, широковещательный
адрес и диапазон адресов. Исходя из структуры сети (см. матрицу из задания 1),
учитывая, что каждый маршрутизатор [1,..10] в этой сети имеет не менее [
14
,
21
,
21
,
11
,
24
,
19
,
22
,
3
,
15
,
16
] подключенных к нему конечных узлов, сделать
вывод
хватит ли полученного диапазона адресов для обеспечения IP адресами всех
узлов этой сети (считать, что все узлы находятся в одной сети).

Таблица
2
. Подключенные узлы



Количество
подключенных
узлов

1

14

2

21

3

21

4

11

5

24

6

19

7

22

8

3

9

15

10

16

6.

Имеются 2 подсети, каждая из которых содержит несколько
маршрутизаторов [
9
,
1
,
8
,
7
] и [
10, 3, 5, 2, 4,
6
]. Для первой подсети, исходя из
того условия, что может быть добавлено до
23

узла при максимальном
количестве возможных вложенных подсетей, н
еобходимо выбрать маску и
диапазон адресов, определить широковещательный адрес. Для второй подсети
необходимо выбрать диапазон адресов и маску, а также определить
43


широковещательный адрес, из условия обеспечения не менее
1
9

дополнительных сетей при максимал
ьном количестве узлов в подсетях. В обоих
случаях помимо маршрутизаторов необходимо учитывать уже имеющиеся
подключенные к ним конечные узлы (их количество брать из задания 5).

7.

Исходный код всех реализованных программ представить в приложении
к курсовой ра
боте.



Приложенные файлы

  • pdf 1229113
    Размер файла: 1 MB Загрузок: 1

Добавить комментарий