Автор работы: Пользователь скрыл имя, 20 Марта 2014 в 20:56, курсовая работа
1. Определить наикратчайшие пути от узла B ко всем остальным узлам сети по алгоритму Дейкстры. Алгоритм реализовать в виде программы, считывающей матрицу всех связей в сети, и в качестве результата выдающей наикратчайший путь (описываемый как последовательность узлов, через которые он проходит) и его совокупный вес до произвольных узлов A, I, J. Структура матрицы представлена в таблице 1.
2. Определить степень сети и всех её узлов. Структуру сети брать из задания 1. Алгоритм определения степеней сети и узлов реализовать в виде программы.
3. Определить диаметр сети из задания 1. Для узлов B и F определить связанность по связям и узлам.
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 3
ВВЕДЕНИЕ 6
1 АЛГОРИТМ ДЕЙКСТРЫ 8
1.1 Алгоритм, реализованный в программе 8
2 ОПРЕДЕЛЕНИЕ СТЕПЕНИ СЕТИ И УЗЛОВ 11
2.1 Реализация определения степени сети и узлов 12
3 ОПРЕДЕЛЕНИЕ ДИАМЕТРА СЕТИ 13
3.1 Реализация определения диаметра сети 13
4 МАРШРУТИЗАЦИЯ 15
5 IP АДРЕС 21
5.1 Класс сети 21
5.2 Маска сети 22
5.3 Номер сети 22
5.4 Номер узла 22
5.5 Широковещательный адрес 22
5.6 Диапазон адресов 23
6 ПОДСЕТИ 24
ЗАКЛЮЧЕНИЕ 26
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 27
ПРИЛОЖЕНИ А 28
ПРИЛОЖЕНИЕ В 30
Принцип визуального программирования представлен на рисунке 2.
Рисунок 2 – Объект в программе Simulink
В блоке Chart находятся маршрутизаторы которые раз в 30 секунд обмениваются таблицами маршрутизации. Реализация конечного автомата в Stateflow представлена на рисунке 3.
Рисунок 3 – Представление конечного автомата в Stateflow
Функция для реализации и выходные таблицы маршрутизации для каждого из узлов находятся в приложении B.
Рассмотрим один из таких автоматов подробнее (рис. 4).
Рисунок 4 – Конечный автомат для узла A.
Выходные таблицы маршрутизации для каждого из узлов представлены в таблице 4.
Таблица 4 – Выходные таблицы маршрутизации
Для узла А.
|
Для узла В
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для узла С
|
Для узла D
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для узла E
|
Для узла F
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для узла G
|
Для узла H
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для узла I
|
Для узла J
|
Адресация IP.
Особенностью IP является гибкая система адресации. Плата за это — наличие централизованных служб типа DNS.
Адрес состоит из двух частей – номер сети и номер узла в сети. IP-адрес версии 4 имеет длину 4 байта, записывается в виде четырех десятичных чисел, разделенных точками.
Для определения, какие байты принадлежат номеру сети, а какие номеру узла существует несколько подходов.
Одним из подходов был классовый метод адресации. Нетрудно посчитать, что всего в пространстве адресов IP — 128 сетей по 16 777 216 адресов класса A, 16384 сети по 65536 адресов класса B и 2 097 152 сети по 256 адресов класса C, а также 268 435 456 адресов многоадресной рассылки и 268 435 456 зарезервированных адресов. С ростом сети Интернет эта система оказалась неэффективной и была дополнена бесклассовой адресацией (CIDR).
По заданию нам дан IP адрес одного из конечных узлов сети 187.2.201.134
Существуют 5 классов IP адресов, отличающиеся количеством бит в сетевом номере и хост - номере. Классы IP адресов представлены в таблице 5.
Таблица 5 – Классы IP адресов
Класс |
Перве биты |
Дифпозон адресов |
Количество узлов |
А |
0 |
1.0.0.0...126.0.0.0 |
16777216(2^24) |
В |
10 |
128.0.0.0...191.255.0.0 |
65536(2^16) |
С |
110 |
192.0.1.0...223.255.225.0 |
256(2^8) |
D |
1110 |
224.0.0.0...239.255.255.255 |
Multicast |
E |
11110 |
240.0.0.0...247.255.255.255 |
Зарезервирован |
Класс заданного IP адреса – B.
В терминологии сетей TCP/IP маской подсети или маской сети называется битовая маска, определяющая, какая часть IP адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.
Маска — это 32-битное число (также записанное в точечно-десятичной нотации), которое определяет, какие биты базового IP-адреса являются фиксированными, а какие — переменными. В маске фиксированным битам IP-адреса соответствуют единичные биты. Фиксированные биты не могут использоваться для задания диапазона. Нулевые биты в маске соответствуют переменным битам IP-адреса. Маска подсети позволяет провести четкую границу между двумя частями IP-адреса. Одна часть идентифицирует номер подсети, вторая - предназначается для идентификации хостов в этой подсети.
Для стандартных классов сетей маски имеют следующие значения:
255.0.0.0 - маска для сети класса А;
255.255.0.0 - маска для сети класса B;
255.255.255.0 - маска для сети класса C.
Так как класс заданного IP адреса В, то его маска – 255.255.0.0.
Номер сети( сколько в маске не 0 сетей): 187.2.0.0
Номер узла(все остальные): 0.0.201.134
Широковещательный адрес — условный (не присвоенный никакому устройству в сети) адрес, который используется для передачи широковещательных пакетов в компьютерных сетях.
Для определения широковещательного адреса мы воспользуемся формулой 1:
. (1)
Широковещательный адрес: 187.2.255.255
Число возможных адресов сети: 16 386
По заданию у нас имеются 2 подсети – 9 8 1 и 2 7 5 6, каждая из которых содержит несколько маршрутизаторов. Для первой подсети, исходя из того условия, что может быть добавлено 3 узла, мы можем узнать максимальное количество возможных вложенных подсетей следующим образом: 9+27+6+3+3=48. Данные о числе подключенных к маршрутизаторам конечных узлов для этого расчёта мы брали в таблице 2.
Теперь мы можем определить значение N, то есть количество нулей в маске: отсюда N=6 – количество нулей в маске.
Отсюда
маска подсети: 11111111.11111111.11111111.
Все полученные данные об этой подсети внесли в таблицу 6.
Таблица 6 – Все данные о первой подсети
Маска |
255.255.255.192 |
Ncети=IP and M |
Nсети=187.2.201.128 |
IPш=IP or notM |
IPш=187.2.201.191 |
IPmin=Nсети+1 |
IPmin=140.46.22.129 |
IPmax=IPш-1 |
IPmax=187.2.201.190 |
Теперь приступим к анализу второй подсети.
По условию обеспечения не менее 2 дополнительными сетями при максимальном количестве узлов в подсетях мы получим следующее выражение: 2+2=4, , следовательно N=2.
Отсюда
маска подсети: 11111111.11111111.11000000.
Таблица 7 – Все данные о второй подсети
Маска |
255.255.192.0 |
Ncети=IP and M |
Nсети=187.2.192.0 |
IPш=IP or notM |
IPш=187.2.255.255 |
IPmin=Nсети+1 |
IPmin=187.2.192.1. |
IPmax=IPш-1 |
IPmax=187.2.255.254 |
Теоретически сетевые адреса администратор может выделять по своему выбору. К несчастью, только теоретически - на практике адресное пространство IP жестко распределяются. Это связано с использованием Internet. Для того, чтобы можно было связать частную сеть с Internet большинство организаций использует адреса, выделенные IAN (Internet Number Authority) или соответствующей национальной организацией. Быстрый рост Internet привел к тому, что адресное пространство IP уже почти полностью распределено. Маршрутизаторы не помогают решить проблему нехватки сетевых номеров, поскольку каждый порт маршрутизатора в общем случае имеет свою собственную подсеть.
1. CITForum [Электронный ресурс]
= Некоторые секреты IP-протокола/ Бред
Тёрнер – Журнал "Сети" № 03, 2000 –
Режим доступа: http://citforum.ru/nets/tcp/
2. Информационные сети и телекоммуникации [Конспект лекций]
3. CITForum [Электронный ресурс]
= Введение в IP-сети/ Виктор и Наталья Олифер
– Информационно-аналитические материалы,
2004 - Режим доступа: http://citforum.ru/nets/ip/
4. Компьютерные сети. Принципы, технологии, протоколы: учеб. Пособие для студентов вузов/ Олифер В. Г., Олифер Н. А. – 3-е изд. – Спб.: Питер, 2006. – 958 с.
5. Современные компьютерные сети. 2-е изд./ В.Столлингс. – Спб.: Питер, 2003. – 783с.
6. Основы маршрутизации в телекоммуникационных сетях : Учеб. пособие / Д.В. Куракин; Моск. гос. ин-т радиотехники, электрон. и автоматики (Техн. ун-т). - М. : [б. и.], 2000. - 68 с.
7. Справочник по применению системы PC MatLAB / В.П. Дьяконов. - М. : Физ.-мат. лит., 1993. - 111 с.
8. Matlab 6/6.1/6.5 + Simulink 4/5. Основы применения / В.П. Дьяконов. - М. : Солон-Пресс, 2002. - 767 с.
9. Simulink : среда создания инженер. прил. / И. В. Черных ; Под общ. ред. В. Г. Потемкина. - М. : Диалог-МИФИ, 2004. - 491 с. : ил. ; 20 см. - Предм. указ.: с. 482-485. - Библиогр.: с. 486-487.
Приложение №1
Приложение
clear all;%очищаем
load('V_27 m.mat');%подгружаем матрицу
A=a;
clear a;
n=size(A,1);
prev(1:n)=n+1;
dist(1:n)=inf;
visite(1:n)=false;
dist(3)=0; %начальная вершина!
T=1;%индекс выбранного узла
su=[];%удалить столбец из таблицы
while ~isempty(T)
y=dist;
h=true;
while h
[a k]=min(y);
if visite(k)==true
y(k)=inf;
h=true;
else
h=false;
end
end
T(find(k==T))=[];
visite(k)=true;
m=A(k,:);
ss=find(m);%все соседи узла к
s=min(find(m));
for i=1:length(ss)%цикл по всем соседям к
a=dist(k)+m(ss(i));%вес связи от к до соседа
if a<dist(ss(i))%сравниваем дистанции
dist(ss(i))=a;
prev(ss(i))=k;
T=[T ss(i)];
end
end
end
prev %предыд вершина
dist %совокупный вес
for i =1:10;
neNul=find(A(i,:));%вывод всех не нулевых значений матрицы
su(i)=length(neNul);
end
su
sts=min(su(:))
end
Функция для реализации алгоритма маршрутизации:
function y=c_tab(n,s,ds,tab)
Nuz=10;
flag=false;
tmp=zeros(Nuz,3);
for i=1:Nuz
tmp(i,1)=i;
end
for i=1:length(s)
tmp(s(i),2)=ds(i);
end;
for i=1:Nuz
w=[];
if (i~=n)
for j=1:length(s)
if (i==s(j))
flag=true;
end
end
if ~flag
for z=1:length(s)
w(z)=ds(z)+tab(i,find(s==s(z))
end
flag=false;
end;
if ~isempty(w)
[bestD bestI]= min(w);
tmp(i,2)=bestD;
tmp(i,3)=s(bestI);
flag = false;
end
end
end;
y=tmp;
end
Информация о работе Курсовая работа по «Информационным сетям и телекоммуникациям»