Материал: 838

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

100

ЛАБОРАТОРНАЯ РАБОТА № 10 Метод доступа CSMA/CD и обеспечение надежности Ethernet

Продолжительность — 2 часа. Максимальный рейтинг — 8 баллов.

ЦЕЛЬ РАБОТЫ

Освоить методы расчета характеристик сети, гарантирующих корректность передачи кадров и доступа к среде в техноло-

гии Ethernet.

ЗАДАНИЕ

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

иPVV.

2.В соответствии с индивидуальным заданием спроектировать ЛВС.

3.Обязательно произвести оценочный расчет следующих параметров:

– Vmax максимальный объем передаваемых данных для каждого домена сети;

– Cbt_max Cbt_min требуемую max и min битовую скорость передачи данных (при передаче максимальными 1508б и минимальными 72б пакетами);

– Ckdr_min Ckdr_max требуемую max и min кадровую ско-

рость передачи данных;

– t_pr время реакции сети (при передаче максимальными и минимальными пакетами).

4.Доказать работоспособность сегментов сети с точки зрения методов доступа. Для технологии типа Ethernet произвести расчет PDV и PVV.

5.Для сетевого сервера рассчитать:

необходимое быстродействие;

объем ОЗУ и сетевого буфера;

объем HDD.

6. Спроектировать адресацию компьютеров в сети. Разработать схему подсетей.

101

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

Допускается использование VLAN.

ВАРИАНТЫ ТОПОЛОГИЧЕСКИХ СХЕМ СЕТИ

I

II

III

A

1

 

3

 

 

 

 

B

2

4

5

 

6

8

C

 

 

 

 

7

 

9

D

 

 

3

2

A

 

 

 

B

1

4

5

 

6

9

C

 

 

 

 

8

 

D

 

 

 

 

A

1 3

 

2

B

C

8

4

5

6

7

9

D

 

 

A

 

1

 

 

 

IV

V

B

2

3

4

5

9

C

 

 

D

6

 

8

 

 

 

 

 

 

 

3

1

A

 

B

2

4

5

6

7

8

C

 

 

 

 

D

9

 

 

 

3

 

2

A

 

 

 

VI

B 1

4

5

6

9 C

D 8

102

Таблица 1 — Протоколы передачи и длины сегментов для топологических схем сети

Вариант

1 сегмент

2 сегмент

3 сегмент

4 сегмент

5 сегмент

6 сегмент

7 сегмент

8 сегмент

9 сегмент

 

1

10Base-T 60

10Base-5 150

10Base-5 100

10Base-FB 700

10Base-FL 200

10Base-5 200

FOIRL 900

10Base-T 100

10Base-5 200

 

2

10Base-2 50

10Base-2 100

FOIRL 850

10Base-FL 1600

FOIRL 300

FOIRL 700

10Base-FL 1900

10Base-2 160

10Base-2 100

 

3

10Base-T 50

10Base-T 100

10Base-5 50

10Base-5 200

10Base-FL 800

10Base-FL 900

FOIRL 900

10Base-T 800

10Base-T 80

 

4

10Base-T 100

10Base-2 125

FOIRL 800

FOIRL 900

FOIRL 900

FOIRL 600

10Base-FL 1400

10Base-T 60

10Base-T 70

 

5

10Base-T 70

10Base-FL 1500

10Base-FB 600

10Base-FB 1800

10Base-FL 700

10Base-FL 1500

FOIRL 800

10Base-T 40

10Base-FL 1750

 

6

10Base-2 110

10Base-2 125

10Base-5 500

10Base-FL 1400

FOIRL 1000

FOIRL 800

10Base-FB 1800

10Base-5 340

FOIRL 400

 

7

10Base-T 80

10Base-5 125

FOIRL 900

FOIRL 700

10Base-FB 1500

10Base-FB 800

10Base-FL 1200

10Base-5 200

10Base-T 40

 

 

 

8

10Base-2 50

10Base-2 90

10Base-5 400

10Base-FL 1700

10Base-FL 1200

10Base-FL 1300

FOIRL 650

10Base-2 100

10Base-2 150

 

9

10Base-T 60

10Base-T 90

10Base-FL 700

10Base-5 200

FOIRL 550

FOIRL 650

10Base-FB 1250

10Base-T 80

10Base-T 90

102

10

10Base-T 70

10Base-T 30

10Base-FB 500

10Base-5 350

10Base-FB 1700

10Base-FB 1500

10Base-5 340

10Base-2 125

10Base-T 100

 

11

10Base-2 75

10Base-FL 1300

10Base-FL 500

10Base-5 300

10Base-5 100

10Base-5 200

10Base-FB 750

10Base-FL 1800

10Base-2 135

 

12

10Base-T 90

FOIRL 750

10Base-5 200

FOIRL 800

10Base-FL 1500

10Base-FB 500

10Base-FL 800

FOIRL 200

10Base-2 150

 

13

10Base-T 60

10Base-2 125

FOIRL 700

10Base-FB 700

10Base-5 200

10Base-FB 1500

10Base-FL 1000

10Base-T 40

10Base-T 100

 

14

10Base-2 50

10Base-5 125

10Base-FL 1700

10Base-FL 1600

FOIRL 700

10Base-FL 1200

FOIRL 650

10Base-2 150

10Base-2 160

 

15

10Base-T 50

10Base-2 90

10Base-5 200

10Base-5 200

10Base-FL 900

FOIRL 550

10Base-FB 1250

10Base-T 90

10Base-T 800

 

16

10Base-T 100

10Base-T 90

10Base-5 350

FOIRL 900

FOIRL 600

10Base-FB 1700

10Base-5 340

10Base-T 100

10Base-T 60

 

17

10Base-T 70

10Base-T 30

10Base-5 300

10Base-FB 1800

10Base-FL 1500

10Base-5 100

10Base-FB 750

10Base-2 135

10Base-T 40

 

18

10Base-2 110

10Base-FL 1300

FOIRL 800

10Base-FL 1400

FOIRL 800

10Base-FL 1500

10Base-FL 800

10Base-2 150

10Base-5 340

 

19

10Base-T 80

FOIRL 750

FOIRL 900

10Base-5 100

10Base-FL 200

10Base-FB 800

FOIRL 900

10Base-5 200

10Base-5 200

 

20

10Base-2 50

10Base-5 150

10Base-5 400

FOIRL 850

FOIRL 300

10Base-FL 1300

10Base-FL 1900

10Base-2 100

10Base-2 100

 

21

10Base-T 60

10Base-2 100

10Base-FL 700

10Base-5 50

10Base-FL 800

FOIRL 650

FOIRL 900

10Base-T 80

10Base-T 80

 

22

10Base-T 70

10Base-T 100

10Base-FB 500

FOIRL 800

FOIRL 900

10Base-FB 1500

10Base-FL 1400

10Base-T 70

10Base-2 125

 

23

10Base-2 75

10Base-2 125

10Base-FL 500

10Base-FB 600

10Base-FL 700

10Base-5 200

FOIRL 800

10Base-FL 1750

10Base-FL 1800

 

24

10Base-T 90

10Base-FL 1500

10Base-5 200

10Base-5 500

FOIRL 1000

10Base-FB 500

10Base-FB 1800

FOIRL 400

FOIRL 200

 

103

11 SOCKET-ПРОГРАММИРОВАНИЕ

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

При работе с компонентами C++Builder или Delphi, предназначенными для передачи данных по сетям всегда необходимо заполнять свойство Host компонента. Это свойство содержит имя (DNS, Wins) или IP-адрес и используется для формирования пакетов при передаче по сети. Другое свойство каждого сетевого компонента — это свойство Port. Речь идет не об аппаратных портах компьютера, а о программных портах Windows. Порт характеризуется своим номером, многие номера закреплены за определенными протоколами и службами Интернета. При самостоятельном определении номера порта необходимо следить за тем, чтобы задаваемый номер порта не совпал с используемым (зарезервированным) номером. Какие именно порты вашей системы заняты, можно узнать, посмотрев файл Services без расширения, расположенный в каталоге Windows (для Windows 9.х) или в каталоге System32\drivers\etc (для Windows NT/2000/XP).

Сокеты (socket) — это некие программные коммутаторы, обслуживающие соединения в сети. По своему назначению они разделяются на 3 типа: клиентские, слушающие и серверные. Клиентский сокет инициирует соединение, указывая имя или IP-адрес удаленного сервера и порт, используемый сервером. На сервере запрос клиента об установлении связи получает слушающий сокет, его задача — формировать очередь запросов. А серверный сокет, последовательно обрабатывая эту очередь и дойдя до запроса клиента, устанавливает соединение с клиентским сокетом. Он от-

104

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

Таким образом, сокеты позволяют организовать обмен информацией в сетях, когда к одному серверу может одновременно обращаться множество клиентов. Функции клиентского сокета в C++Builder (или Delphi) выполняет компонент TClientSocket, а за серверный сокет отвечает компонент TServerSocket. Рассмотрим пример использования компонентов TClientSocket и TServerSocket.

Сервер

1.Для создания серверного приложения нужно использовать компонент TServerSocket, расположенный на вкладке Internet.

2.Для компонента TServerSocket установить свойство Port равным 3000. Можно установить и другой номер TCP-порта — это не принципиально. Важно только, чтобы порт не оказался занятым каким-нибудь приложением. Этот же номер порта мы будем использовать и для TClientSocket.

3.Необходимо активировать серверное приложение — дать команду на прослушивание соответствующего порта.

ServerSocket1->Active= true;

4.Написать обработчик для получения данных. Для объекта ServerSocket1 обрабатываем событие OnClientRead. Получить принятые от клиента данные можно при помощи метода ReceiveText(), для этого используется передаваемый в обработчик параметр Socket типа TCustomWinSocket.

5.Полезно визуализировать признак того, что клиент подсоединился к нашему серверу. Для этого создаются для объекта

ServerSocket1 обработчики событий OnClientConnect и OnClientDisconnect, в которых отражается информация о признаке присоединения (отсоединения) клиента.

Написание серверного приложения закончено.

Клиент

1. Для создания клиентского приложения необходимо использовать компонент TClientSocket.

Смотрите также:

1112
12
1673
1703
271
2863
2994
3788
3857
4555