Тестирование и применение эмуляторов Cisco для моделирования гетерогенной IP сети

Устройство сети эмулятора UNetLab. Поддержка дополнительного оборудования Cisco и других производителей. Принцип генерации и захвата трафика. Функция поиска свободной сети. Описание способов передачи данных: интервального и последовательного режимов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 05.09.2016
Размер файла 873,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

my $pattern = $_[0];

my $string = $_[1];

seek $fh, 0, SEEK_SET;

my @lines = <$fh>;

my $idx = 0;

do{

if (@lines[$idx] =~ m/$pattern/){

splice @lines, $idx + 1, 0, $string;

}

$idx++;

}until($idx >= @lines);

seek $fh, 0, SEEK_SET;

print $fh expand @lines;

}

#---------------------------------------------------------------------

sub getportname { #port x1/2 change if port =~ .*ethernet.*

my $port = $_[0];

my @words = split /[a-z]+/, $port;

return lc @words[0].@words[1];

}

#------------------------------------------------------------------------

sub getporttype { #port

my $port = $_[0];

return lc((split /\d/, $port)[0]);

}

#---------------------------------------------------------------------

sub getportid { #port 1+16*2

my $port = $_[0];

my @words = split /[a-z]+/, $port;

my $ifname = lc @words[0].@words[1];

my @nums = split /\//, substr $ifname, 1, length $ifname;

return @nums[0] + @nums[1] * 16;

}

#---------------------------------------------------------------------

sub print_node { #hostname

my $hn = $_[0];

my $innode = 0;

seek $fh, 0, SEEK_SET;

my @lines = <$fh>;

my $idx = 0;

do{

if (@lines[$idx] =~ m/<node .* name="$hn"/){

$innode = 1;

}

if (@lines[$idx] =~ m/<\/node>/){

$innode = 0;

}

if ($innode eq 1){

print @lines[$idx];

}

$idx++;

}until($idx >= @lines);

}

#---------------------------------------------------------------------

sub getnodeid { #hostname

my $hn = $_[0];

seek $fh, 0, SEEK_SET;

my @lines = <$fh>;

my $idx = 0;

do{

if (@lines[$idx] =~ m/<node .* name="$hn"/){

my @wds = split /id="/, @lines[$idx]; # (<node ..., ID" ...)

my @wdssplit = split /"/, @wds[1];

return @wdssplit[0]; # (ID, ..., ...)

}

$idx++;

}until($idx >= @lines);

return 0;

}

#---------------------------------------------------------------------

sub genuuid {

return sprintf(

'%04x%04x-%04x-%04x-%04x-%04x%04x%04x',

# 32 bits for "time_low"

rand(0xffff), rand(0xffff),

# 16 bits for "time_mid"

rand(0xffff),

# 16 bits for "time_hi_and_version",

# four most significant bits holds version number 4

rand(0x0fff) | 0x4000,

# 16 bits, 8 bits for "clk_seq_hi_res",

# 8 bits for "clk_seq_low",

# two most significant bits holds zero and one for variant DCE1.1

rand(0x3fff) | 0x8000,

# 48 bits for "node"

rand(0xffff), rand(0xffff), rand(0xffff)

);

}

#---------------------------------------------------------------------

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.