Анализ алгоритма установления соединения для оптических сетей и моделирование передачи данных
Общая характеристика сетей PON, их классификация типы, оценка преимуществ и недостатков, стандарты и сравнительное описание, принципы действия и внутренняя структура. Алгоритм распределения ресурсов, существующие проблемы и направления их разрешения.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 09.07.2015 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
s5=1; {цвет узлов с обрывом}
s6=5;
no=50;
var
fm:array [0..5*no] of real;
x2:array [1..13] of byte;
razdel:array [1..3] of byte;
crc, rez:array [1..8] of byte;
v0, v1, v2, v3, kf0, kf1, kf2, kf3, yo1, xo1:array [0..5] of real;
result:word;
io, oshibka2, oshibka1:word;
f:file;
h:signal;
h1:signal1;
mask, sp, s1, s2, s11, fl1, x, z, xoo, ko, ao:byte;
po, po1, po2, kn, xo, dx, deltax, df0, df1, df2, df3, mashtabx:real;
cht, textw, rd, p4, xasp, yasp:word;
j, jo, d, yo, mn2:longint;
m, r, r1, r2, r10, r11, r12, IND, zaschita, Pls, DBR, pream1, pream2, pream3,
x1, Ploamu, Ploamu1, SN, ONU_ID, CONT, CONT1, A_ID, ATM, xb, xf:integer;
ys, zs1, zs2:array [1..100] of integer;
zs:array [1..100] of elips;
s0, gd, gm, i, l, i1, r5, j1, yp, yn, k, i15, jj, eo, m1, fmax, mn1:integer;
ch:char;
pgd, w1, w2, w3, v, vv:string;
z3, t, t1, sv1:byte;
implementation
{-}
end.
unit kadrOLT;
{$N+}
interface
uses CRT, DOS, var_u;
procedure kadr_n;
implementation
const
n=19440; {кол. байт в нисходящем / восходящем кадре}
{-}
procedure chtenie;
begin
case cht of
0: writeln('информация');
1: writeln ('заголовок 1 байт Psync B6 ');
2: writeln ('заголовок 2 байт Psync AB ');
3: writeln ('заголовок 3 байт Psync 31 ');
4: writeln ('заголовок 4 байт Psync E0 ');
5: writeln ('заголовок 1 байт Ident ');
6: writeln ('заголовок 2 байт Ident ');
7: writeln ('заголовок 3 байт Ident ');
8: writeln ('заголовок 4 байт Ident ');
9: writeln ('широковещательная передача ');
10: writeln ('ID сообщения ');
11: writeln ('число защитных блоков ');
12: writeln ('число битов преамбулы 1 ');
13: writeln ('число битов преамбулы 2 ');
14: writeln ('биты преамбулы 3 ');
15: writeln ('байт 1 разделителя ');
16: writeln ('байт 2 разделителя ');
17: writeln ('байт 3 разделителя ');
18: writeln ('режим Up_Ov ');
19: writeln ('задержка 1 для предв. выравнивания ');
20: writeln ('задержка 2 для предв. выравнивания ');
21: writeln ('CRC-8 заголовка ');
22: writeln ('заголовок байт ПЧБ BIP-8 ');
23: writeln ('заголовок 1 байт Plend1 кол-во T-CONT ');
24: writeln ('заголовок 2 байт Plend1 кол-во T-CONT+сегмент ATM ');
25: writeln ('заголовок 3 байт Plend1 сегмент ATM ');
26: writeln ('заголовок 4 байт Plend1 CRC-8 ');
27: writeln ('заголовок 1 байт Plend2 кол-во T-CONT ');
28: writeln ('заголовок 2 байт Plend2 кол-во T-CONT+сегмент ATM ');
29: writeln ('заголовок 3 байт Plend2 сегмент ATM ');
30: writeln ('заголовок 4 байт Plend2 CRC-8 ');
31: writeln ('заголовок 1 байт AllocID ');
32: writeln ('заголовок 2 байт AllocID+Flag ');
33: writeln ('заголовок 3 байт Flag ');
34: writeln ('заголовок 1 байт Start ');
35: writeln ('заголовок 2 байт Start ');
36: writeln ('заголовок 1 байт Stop ');
37: writeln ('заголовок 2 байт Stop ');
38: writeln ('заголовок байт CRC-8 ');
39: writeln ('преамбула типа1 ');
40: writeln ('преамбула типа2 ');
end;
readln;
halt;
end;
{-}
procedure CRC_8;
begin
x2 [13]:=0;
x:=0;
z:=0;
for r10:=1 to 8 do begin
CRC[r10]:=0;
rez[r10]:=0;
end;
rez[1]:=1;
rez[2]:=1;
rez[3]:=1;
for r12:=1 to 12 do begin
for r11:=1 to 8 do begin
x:=trunc((x2 [r12] and trunc (exp((8-r11)*ln(2))))/trunc (exp((8-r11)*ln(2))));
z:=crc[8];
for r10:=0 to 6 do
crc [8-r10]:=crc [7-r10];
crc[1]:=x;
if z=1 then
for r10:=1 to 8 do crc[r10]:=crc[r10] XOR rez[r10];
end;
end;
for r10:=1 to 8 do
x2 [13]:=x2 [13]+crc[r10]*trunc (exp((r10-1)*ln(2)));
end;
{-}
procedure Up_Ov;
begin
x2 [1]:=255;
x2 [2]:=1;
x2 [3]:=8;
x2 [4]:=8;
x2 [5]:=8;
x2 [6]:=170;
x2 [7]:=133;
x2 [8]:=179;
x2 [9]:=0;
x2 [10]:=2;
x2 [11]:=0;
x2 [12]:=0;
CRC_8; {результат процедуры CRC-8 в x2 [13]}
end;
{-}
procedure As_ONU_ID;
begin
x2 [1]:=255;
x2 [2]:=3;
x2 [3]:=ONU_ID;
x2 [4]:=0;
x2 [5]:=0;
x2 [6]:=0;
x2 [7]:=0;
x2 [8]:=0;
x2 [9]:=SN and 65280;
x2 [10]:=SN and 255;
x2 [11]:=0;
x2 [12]:=0;
CRC_8; {результат процедуры CRC-8 в x2 [13]}
end;
{-}
procedure As_All_ID;
begin
x2 [1]:=ONU_ID;
x2 [2]:=10;
x2 [3]:=ONU_ID;
x2 [4]:=0;
x2 [5]:=1;
x2 [6]:=0;
x2 [7]:=0;
x2 [8]:=0;
x2 [9]:=0;
x2 [10]:=0;
x2 [11]:=0;
x2 [12]:=0;
CRC_8; {результат процедуры CRC-8 в x2 [13]}
end;
{-}
{-}
procedure kadr_n;
begin
assign (f, 'd:\am\kadr-n');
r:=0;
reset (f, sizeof(h));
s1:=0;
sp:=0;
for j:=1 to jj do begin
for i:=1 to n do begin
h.num_tc:=j;
h.num:=i;
h.mean:=random(255);
case i of
1: begin
h.name:=1 {заголовок 1 байт Psync B6};
h.mean:=182;
end;
2: begin
h.name:=2 {заголовок 2 байт Psync AB};
h.mean:=171;
end;
3: begin
h.name:=3 {заголовок 3 байт Psync 31};
h.mean:=49;
end;
4: begin
h.name:=4 {заголовок 4 байт Psync E0};
h.mean:=224;
end;
5: begin
h.name:=5 {заголовок 1 байт Ident};
h.mean:=64;
end;
6: begin
h.name:=6 {заголовок 2 байт Ident};
h.mean:=0;
end;
7: begin
h.name:=7 {заголовок 3 байт Ident};
h.mean:=0;
end;
8: begin
h.name:=8 {заголовок 4 байт Ident};
h.mean:=0;
end;
9: case r1 of
1: begin
fl1:=1; {флаг включения Alloc_ID=254 и запрос SN}
Up_Ov;
for r2:=1 to 13 do begin
h.name:=8+r2; {заголовок Ploam}
h.num:=8+r2;
h.mean:=x2 [r2];
s1:=s1 XOR h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
end;
i:=h.num;
sp:=1;
end;
2: begin
As_ONU_ID;
for r2:=1 to 13 do begin
h.name:=8+r2; {заголовок Ploam}
h.num:=8+r2;
h.mean:=x2 [r2];
blockwrite (f, h, 1, result);
m:=ioresult;
s1:=s1 XOR h.mean;
end;
i:=h.num;
sp:=1;
end;
end;
22: begin
h.name:=22 {заголовок байт ПЧБ BIP-8};
h.mean:=s1;
s1:=0;
blockwrite (f, h, 1, result);
m:=ioresult;
sp:=1;
end;
23: begin
h.name:=23 {заголовок 1 байт Plend1 кол-во T-CONT};
h.mean:=trunc(((fl1+CONT) and 4080)/16);
for r2:=1 to 13 do x2 [r2]:=0;
x2 [10]:=h.mean;
end;
24: begin
h.name:=24 {заголовок 2 байт Plend1 кол-во T-CONT+сегмент ATM};
h.mean:=16*((fl1+CONT) and 15)+trunc((ATM and 3840)/256);
x2 [10]:=h.mean;
end;
25: begin
h.name:=25 {заголовок 3 байт Plend1 сегмент ATM};
h.mean:=ATM and 255;
x2 [10]:=h.mean;
end;
26: begin
h.name:=26 {заголовок 4 байт Plend1 CRC-8};
CRC_8;
h.mean:=x2 [13];
end;
27: begin
h.name:=27 {заголовок 1 байт Plend2 кол-во T-CONT};
h.mean:=trunc(((fl1+CONT) and 4080)/16);
for r2:=1 to 13 do x2 [r2]:=0;
x2 [10]:=h.mean;
end;
28: begin
h.name:=28 {заголовок 2 байт Plend2 кол-во T-CONT+сегмент ATM};
h.mean:=16*((fl1+CONT) and 15)+trunc((ATM and 3840)/256);
x2 [11]:=h.mean;
end;
29: begin
h.name:=29 {заголовок 3 байт Plend2 сегмент ATM};
h.mean:=ATM and 255;
x2 [12]:=h.mean;
end;
30: begin
h.name:=30 {заголовок 4 байт Plend2 CRC-8};
CRC_8;
h.mean:=x2 [13];
end;
31: begin
for r:=1 to CONT+fl1 do begin
h.num:=31+(r-1)*8;
h.name:=31 {заголовок 1 байт AllocID};
if r<254 then h.mean:=trunc((r and 4080)/16) else h.mean:=trunc(((r+2) and 4080)/16);
if (fl1=1) and (r=CONT+fl1) then h.mean:=trunc((254 and 4080)/16);
for r2:=1 to 13 do x2 [r2]:=0;
x2 [6]:=h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
s1:=s1 xor h.mean;
h.num:=32+(r-1)*8;
h.name:=32 {заголовок 2 байт AllocID+Flag};
if r<254 then h.mean:=(r and 15)*16 else
h.mean:=((r+2) and 15)*16;
if (fl1=1) and (r=CONT+fl1) then h.mean:=(254 and 15)*16;
x2 [7]:=h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
s1:=s1 xor h.mean;
h.num:=33+(r-1)*8;
h.name:=33 {заголовок 3 байт Flag};
h.mean:=Ploamu; {флаг ответа на запрос S_N}
if (fl1=1) and (r=CONT+fl1) then h.mean:=Ploamu1; {флаг ответа на запрос S_N при обнаружении}
x2 [8]:=h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
s1:=s1 xor h.mean;
h.num:=34+(r-1)*8;
h.name:=34 {заголовок 1 байт Start};
xb:=trunc((((r-1)*(round (19440/(CONT+fl1)))) and 65280)/256);
h.mean:=xb;
x2 [9]:=h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
s1:=s1 xor h.mean;
h.num:=35+(r-1)*8;
h.name:=35 {заголовок 2 байт Start};
xf:=trunc(((r-1)*(round (19440/(CONT+fl1)))) and 255);
h.mean:=xf;
x2 [10]:=h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
s1:=s1 xor h.mean;
h.num:=36+(r-1)*8;
h.name:=36 {заголовок 1 байт Stop};
if r=CONT+fl1 then xb:=trunc((19440 and 65280)/256)
else xb:=trunc(((r*(round (19440/(CONT+fl1)))) and 65280)/256);
h.mean:=xb;
x2 [11]:=h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
s1:=s1 xor h.mean;
h.num:=37+(r-1)*8;
h.name:=37 {заголовок 2 байт Stop};
if r=CONT+fl1 then xf:=19440 and 255
else xf:=trunc((r*(round (19440/(CONT+fl1)))) and 255);
h.mean:=xf;
x2 [12]:=h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
s1:=s1 xor h.mean;
h.num:=38+(r-1)*8;
h.name:=38 {заголовок байт CRC-8};
CRC_8;
h.mean:=x2 [13];
blockwrite (f, h, 1, result);
m:=ioresult;
s1:=s1 xor h.mean;
sp:=1;
end;
i:=h.num;
fl1:=0;
end;
else h.name:=0 {информация};
end;
if sp=0 then begin
s1:=s1 xor h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
end;
sp:=0;
end;
end;
close(f);
end;
{-}
end.
unit kadrONT;
{$N+}
interface
uses CRT, DOS, Graph, kadrOLT, var_u;
procedure kadr_v;
implementation
{-}
procedure chtenie;
begin
case cht of
0: writeln('информация');
1: writeln ('заголовок 1 байт Psync B6 ');
2: writeln ('заголовок 2 байт Psync AB ');
3: writeln ('заголовок 3 байт Psync 31 ');
4: writeln ('заголовок 4 байт Psync E0 ');
5: writeln ('заголовок 1 байт Ident ');
6: writeln ('заголовок 2 байт Ident ');
7: writeln ('заголовок 3 байт Ident ');
8: writeln ('заголовок 4 байт Ident ');
9: writeln (' ');
10: writeln (' ');
11: writeln (' ');
12: writeln (' ');
13: writeln (' ');
14: writeln (' ');
15: writeln (' ');
16: writeln (' ');
17: writeln (' ');
18: writeln (' ');
19: writeln (' ');
20: writeln (' ');
21: writeln (' ');
22: writeln ('заголовок байт ПЧБ BIP-8 ');
23: writeln ('заголовок 1 байт Plend1 кол-во T-CONT ');
24: writeln ('заголовок 2 байт Plend1 кол-во T-CONT+сегмент ATM ');
25: writeln ('заголовок 3 байт Plend1 сегмент ATM ');
26: writeln ('заголовок 4 байт Plend1 CRC-8 ');
27: writeln ('заголовок 1 байт Plend2 кол-во T-CONT ');
28: writeln ('заголовок 2 байт Plend2 кол-во T-CONT+сегмент ATM ');
29: writeln ('заголовок 3 байт Plend2 сегмент ATM ');
30: writeln ('заголовок 4 байт Plend2 CRC-8 ');
31: writeln ('заголовок 1 байт AllocID ');
32: writeln ('заголовок 2 байт AllocID+Flag ');
33: writeln ('заголовок 3 байт Flag ');
34: writeln ('заголовок 1 байт Start ');
35: writeln ('заголовок 2 байт Start ');
36: writeln ('заголовок 1 байт Stop ');
37: writeln ('заголовок 2 байт Stop ');
38: writeln ('заголовок байт CRC-8 ');
39: writeln ('преамбула типа1 ');
40: writeln ('преамбула типа2 ');
41: writeln ('заголовок Ploam ');
end;
readln;
halt;
end;
{-}
procedure CRC_8;
begin
x2 [13]:=0;
for r10:=1 to 8 do begin
CRC[r10]:=0;
rez[r10]:=0;
end;
rez[1]:=1;
rez[2]:=1;
rez[3]:=1;
for r12:=1 to 12 do begin
for r11:=1 to 8 do begin
x:=trunc((x2 [r12] and trunc (exp((8-r11)*ln(2))))/trunc (exp((8-r11)*ln(2))));
z:=crc[8];
for r10:=0 to 6 do
crc [8-r10]:=crc [7-r10];
crc[1]:=x;
if z=1 then
for r10:=1 to 8 do crc[r10]:=crc[r10] XOR rez[r10];
end;
end;
for r10:=1 to 8 do
x2 [13]:=x2 [13]+crc[r10]*trunc (exp((r10-1)*ln(2)));
end;
{-}
procedure Up_Ov;
begin
x2 [1]:=255;
x2 [2]:=1;
x2 [3]:=128;
x2 [4]:=128;
x2 [5]:=128;
x2 [6]:=170;
x2 [7]:=133;
x2 [8]:=179;
x2 [9]:=0;
x2 [10]:=16;
x2 [11]:=0;
x2 [12]:=0;
CRC_8; {результат процедуры CRC-8 в x2 [13]}
end;
{-}
procedure S_N_ONU;
begin
x2 [1]:=ONU_ID;
x2 [2]:=1;
x2 [3]:=0;
x2 [4]:=0;
x2 [5]:=0;
x2 [6]:=0;
x2 [7]:=0;
x2 [8]:=0;
x2 [9]:=SN and 65280;
x2 [10]:=SN and 255;
x2 [11]:=0;
x2 [12]:=5;
CRC_8; {результат процедуры CRC-8 в x2 [13]}
end;
{-}
procedure kadr_v;
begin
assign (f, 'd:\am\kadr-v');
reset (f, sizeof(h));
s1:=0;
sp:=0;
for i:=1 to n do begin
h.num_tc:=j;
h.num:=i;
h.mean:=random(255);
case i of
1: begin
for r:=1 to trunc (zaschita/8) do
begin
h.num:=i;
h.name:=11 {защитные биты};
h.mean:=0;
i:=i+1;
blockwrite (f, h, 1, result);
m:=ioresult;
end;
for r:=1 to trunc (pream1/8) do
begin
h.num:=i;
h.name:=12 {преамбула типа1};
h.mean:=255;
i:=i+1;
blockwrite (f, h, 1, result);
m:=ioresult;
end;
for r:=1 to trunc (pream2/8) do
begin
h.num:=i;
h.name:=13 {преамбула типа2};
h.mean:=0;
i:=i+1;
blockwrite (f, h, 1, result);
m:=ioresult;
end;
for r:=1 to trunc((48-zaschita-pream1-pream2)/8) do
begin
h.num:=i;
h.name:=14 {преамбула типа3};
h.mean:=pream3;
i:=i+1;
blockwrite (f, h, 1, result);
m:=ioresult;
end;
for r:=1 to 3 do
begin
h.num:=i;
h.name:=14+i {разделитель};
h.mean:=razdel[i];
i:=i+1;
blockwrite (f, h, 1, result);
m:=ioresult;
end;
i:=h.num;
sp:=1;
end;
10: begin
h.name:=22 {заголовок байт ПЧБ BIP-8};
h.mean:=s1;
s1:=0;
blockwrite (f, h, 1, result);
m:=ioresult;
sp:=1;
end;
11: begin
h.name:=10 {заголовок ONU_ID};
h.mean:=ONU_ID;
end;
12: begin
h.name:=42; {заголовок IND}
h.mean:=IND;
end;
13: case r1 of
1: begin
S_N_ONU;
for r2:=1 to 13 do begin
h.name:=8+r2; {заголовок Ploam}
h.num:=12+r2;
h.mean:=x2 [r2];
s1:=s1 xor h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
end;
i:=h.num;
sp:=1;
end;
end;
else h.name:=0 {информация};
end;
if sp=0 then begin
s1:=s1 xor h.mean;
blockwrite (f, h, 1, result);
m:=ioresult;
end;
sp:=0;
end;
close(f);
end;
{-}
end.
Размещено на Allbest.ru
Подобные документы
Оценка характеристик и возможностей сети X.25. Описание особенностей использования и возможностей глобальных сетей с коммутацией пакетов, их типология. Основные принципы построения и главные достоинства сети Х.25, оценка преимуществ и недостатков.
курсовая работа [418,8 K], добавлен 21.07.2012Эволюция беспроводных сетей. Описание нескольких ведущих сетевых технологий. Их достоинства и проблемы. Классификация беспроводных средств связи по дальности действия. Наиболее распространенные беспроводные сети передачи данных, их принцип действия.
реферат [71,2 K], добавлен 14.10.2014Классификация телекоммуникационных сетей. Схемы каналов на основе телефонной сети. Разновидности некоммутируемых сетей. Появление глобальных сетей. Проблемы распределенного предприятия. Роль и типы глобальных сетей. Вариант объединения локальных сетей.
презентация [240,1 K], добавлен 20.10.2014Принципы построения телефонных сетей. Разработка алгоритма обработки сигнальных сообщений ОКС№7 в сетях NGN при использовании технологии SIGTRAN. Архитектура сетей NGN и обоснованность их построения. Недостатки TDM сетей и предпосылки перехода к NGN.
дипломная работа [8,4 M], добавлен 02.09.2011Архитектура вычислительных сетей, их классификация, топология и принципы построения. Передача данных в сети, коллизии и способы их разрешения. Протоколы TCP-IP. OSI, DNS, NetBios. Аппаратное обеспечение для передачи данных. Система доменных имён DNS.
реферат [1,1 M], добавлен 03.11.2010Характеристика современного состояния цифровых широкополосных сетей передачи данных, особенности их применения для передачи телеметрической информации от специальных объектов. Принципы построения и расчета сетей с использованием технологий Wi-Fi и WiMax.
дипломная работа [915,0 K], добавлен 01.06.2010Характеристика и методы организации локальных сетей, структура связей и процедуры. Описание физической и логической типологии сети. Техническая реализация коммутаторов, ее значение в работе сети. Алгоритм "прозрачного" моста. Способы передачи сообщений.
реферат [217,5 K], добавлен 22.03.2010Характеристика типовых топологий сетей. Состав линии связи и виды компьютерных сетей. Принцип и стандарты технологии Ethernet. Структура MAC-адреса и модель взаимодействия открытых систем (OSI). Состав сетевого оборудования и процесс маршрутизации.
отчет по практике [322,5 K], добавлен 23.05.2015Разработка проекта объединения двух локальных сетей в корпоративную на основе цифровых технологий передачи данных. Характеристика производства и оборудования ADSL, HDSL и VDSL, их применение. Настройка сетевого соединения и безопасности ресурсов.
курсовая работа [930,3 K], добавлен 01.04.2011Обзор современного состояния сетей передачи данных. Организация цифровых широкополосных сетей. Главные преимущества WiMAX и Wi-Fi. Проектирование сети в программе NetCracker. Расчет зоны действия сигнала. Требования к организации рабочего места техника.
дипломная работа [1,1 M], добавлен 20.05.2013