Лабораторные работы по сетям ЭВМ.


Лабораторные работы по Сети ЭВМ для ВКСС_з/о

Лабораторная работа. Тема: «Анализ топологий «шина» и «звезда»

Цель:

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

В первом задании вы должны, используя коаксиальный кабель и набор BNC-коннекторов и терминаторов, построить сеть с топологией «шина», а затем смоделировать проблему, характерную для таких сетей.

Лабораторная работа. Тема: «Объединение компьютеров в локальную вычислительную сеть»

1.  Цель работы:

Получить практические навыки в соединении компьютеров в локальную сеть;
Выполнить диагностику и устранить неполадки, возникающие в процессе соединения.
2.  Необходимое оборудование и материалы:

Компьютеры.
Кабель UTP категории 5.
Разъемы RJ-45.
Щипцы для обжима.
LAN-Tester (Устройство для проверки правильности и качества обжима).
Сетевые карты.
Коммутатор или концентратор.
.  Порядок выполнения работы

Задание 1. Соединить два компьютера между собой без использования активного сетевого оборудования типа коммутатора, концентратора.

Для выполнения работы подгруппа разделяется на несколько бригад. Каждой бригаде студентов предоставляются 2 компьютера, которые необходимо объединить в сеть.
Включить компьютеры и проверить их работоспособность.
Установить в компьютеры сетевые карты. Перед установкой сетевых карт необходимо ВЫКЛЮЧИТЬ питание. Обязательно закрепить карты при помощи винта.
Обжать кабель для соединения двух компьютеров. Обжим выполняется перекрестным способом. Убедиться в успешности обжимки при помощи тестера.
Соединить компьютеры обжатым кабелем.
Включить компьютеры.
Убедиться в исправности сетевых карт. Обычно на сетевых картах имеется индикатор «LINK». Он показывает наличие физического соединения по сетевому кабелю. Соответственно, при отключенном кабеле индикатор гореть не должен, а при правильно подключенном с обоих концов кабеле – должен. Если это так – сетевая карта скорее всего физически исправна.
Если индикатор не включен, проверить правильность обжима кабеля с помощью тестера и при необходимости повторить обжим кабеля.
Установить драйверы сетевых карт. Операционная система обнаруживает новое оборудование, если оно поддерживает стандарт Plug and Play. Далее, если драйвер устройства входит в дистрибутив системы – он устанавливается оттуда, если не входит – с носителя, поставляемого вместе с устройством. Дистрибутив Windows находится на диске C в папке \win 98 SE. Драйверы устройств записаны на диске C в папке \ drivers\. Беспроблемное обнаружение устройства, установка драйверов и отображение сообщения «устройство работает нормально» в свойствах устройства в диспетчере устройств   свидетельствуют об исправности сетевой карты. При неисправности сетевой карты заменить ее и повторить проверку.
Произвести настройку протокола IP. Назначить компьютерам статические IP-адреса (не одинаковые и принадлежащие одной подсети) и указать маску подсети.
Убедиться в наличии соединения между компьютерами. Проверку связи между компьютерами можно  выполнить с помощью утилиты ping. Для этого в командной строке вводится ping и адрес проверяемого компьютера. Можно использовать IP-адрес, Net BIOS имя.

Например:

Если проверка проходит нормально, значит сеть полностью работоспособна.

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

Задание 2. Соединить компьютеры между собой с использованием активного сетевого оборудования.

Задание 2 выполняется, после того, как все  бригады выполнили задание №1.
Для соединения компьютеров с активным оборудованием необходимо обжать дополнительные кабели (по одному на каждый компьютер). Кабель должен быть прямым, а не перекрестным, то есть иметь одинаковый стандарт обжима с обоих концов. Хотя, в настоящее время часто встречается оборудование, автоматически определяющее тип подключенного кабеля, и способное работать как с тем, так и с другим.
Подключить все компьютеры к коммутатору или концентратору с помощью подготовленных кабелей.
Проверить, что все компьютеры находятся в одной подсети, и если это не так, изменить IP-адреса должным образом.
Проверить, есть ли доступ к общим ресурсам всех компьютеров. При отсутствии доступа проверить правильность обжима кабелей и исправность сетевых карт. Добиться работоспособности всей сети.
Возможные проблемы при соединении компьютеров:

Неверно или некачественно обжат кабель. В этом случае процедуру обжимки придется повторить с самого начала.
Разъем неплотно вставлен в гнездо сетевой карты. Вставлять разъем нужно до защелкивания собачки.
Неисправна сетевая карта. В этом случае сетевую карту необходимо заменить.
Неверно прописан IP адрес машины. Оба компьютера должны находиться в одной подсети. Это означает, что маски подсети у них одинаковы, номера подсетей совпадают, а номера хостов могут быть любыми допустимыми, но не одинаковыми.
5 Содержание отчета:

Тема и цель работы
Теоретические сведения о стандартах обжима витой пары (различие в использовании)
Последовательность выполнения задания
Анализ обнаруженных неисправностей и способы их устранения
Вывод по лабораторной работе (рекомендации по устранению неполадок, порядок проверки неисправностей)
6 Контрольные вопросы:

Какое оборудование необходимо использовать при объединении двух компьютеров в сеть без активного сетевого оборудования ?
Как проверить правильность обжима сетевого кабеля?
Какой способ обжима кабеля используется при подключении компьютера к коммутатору?
Как определить исправность сетевой карты?
5/ Как проверить наличие связи между компьютерами?

В каком случае используются сетевые кабели с перекрестным обжимом?
Как должны быть назначены адреса компьютеров одной сети?
Как проверить возможность доступа к общим ресурсам сети?
Что может быть причиной нарушения связи между компьютерами сети?
В чем заключается настройка протокола IP при объединении компьютеров в сеть?

Скачать:

Лабораторная работа №1. Подключение и использование локальной сети. Диагностирование и настройка сетевых соединений.

Цель работы – приобретение практических знаний и навыков в на-стройке программного обеспечения ПЭВМ для обеспечения функциониро-вания в составе локальной компьютерной сети.
Оформление отчета по лабораторной работе.
В первой части отчета по результату изучения видео уроков указать перечень необходимых действий для реализации задач по подключению и настройке локальной сети. Назначение IP-имен входящим в локальную сеть компьютерам и настройки стека протоколов TCP/IP.
Во второй части отчета указать параметры используемой сети (тип ПЭВМ, MAC- и IP-адреса сетевой карты, тип и число портов коммутатора, топология локальной сети).
При использовании утилит ping, tracert или pathping необходимо отметить время передачи пакетов (обычно среднее), число и долю потерянных пакетов (по ней сделать вывод о корректности работы каждого промежуточного маршрутизатора).
Просмотреть список всех сетевых портов на вашем компьютере и сосчитать количество открытых (прослушиваемых);
Определить маршрут до сайта по вариантам, с максимальным числом прыжков.
При использовании утилиты netstat необходимо зафиксировать назначение TCP- и UDP-портов имени ПЭВМ, локальному адресу и их состояние (параметр ‘-a’). Общую статистику обменов можно получить при использовании параметра ‘-e’, с использованием параметра ‘-s’ следует зафиксировать и проанализировать статистику по всем протоколам стека TCP/IP (включая ICMP, UDP).
При использовании утилиты route (с параметром PRINT для вывода на экран) просматривается как список интерфейсов, так и список активных маршрутов.

КОНТРОЛЬНЫЕ ВОПРОСЫ:
1. Из каких соображений назначаются IP-адреса сетевым платам, если для входящих в локальную сеть компьютеров не предполагается доступ к InterNet? Если работа в InterNet предполагается?
2. Какие параметры сетевой платы настраиваются при ее конфигурировании?
3. Какие этапы предполагает настройка стека протоколов TCP/IP?
4. С какой целью применяется ‘маска подсети’? Что такое ‘основной шлюз’?
5. Какой формат имени сетевого ресурса используется при обращении к нему?
6. Каким путем утилиты ping, tracert и pathping осуществляют прослеживание маршрутов пакетов к заданному узлу?
7. В каких случаях и с какой целью используется утилита route? Что такое ‘метрика’ в списке параметров этой утилиты?
8. Какой протокол необходим для работы с утилитой ping? Найти описание и характеристики протокола.
9. Можно ли утилитой tracert задать максимальное число ретрансляций?
10. Какой результат выдаст утилита netstat с параметрами -a -s -r? Поясните полученный результат.
11. Что такое DNS –сервер, какую информацию он хранит, его назначение?
12. В чем отличие IP –адреса от МАС – адреса?
13. Назначение устройств роутеров, маршрутизаторов?

Скачать:

ЛАБОРАТОРНАЯ РАБОТА № 3. Тема: «Создание сетевых приложений с использованием сокетов».

ЛАБОРАТОРНАЯ РАБОТА № 3

Тема: «Создание сетевых приложений с использованием сокетов»

Задание 1:  Рассмотрим пример создания клиент-серверного приложения. Клиентское приложение отправляет три числа и получает вычисленное серверным приложением значение суммы чисел.

Создайте консольное приложение в среде Visual Studio 2005

File -> New -> Project->ConsoleApplication, назовите Klient.

Добавьте в раздел using.

using System.Net;

using System.Net.Sockets;

Введите следующий программный код:

} } }

Создайте консольное приложение в среде Visual Studio 2005

File -> New -> Project->ConsoleApplication, назовите Server1.

Введите следующий программный код:

} } }

ЗАПУСТИТЕ В НАЧАЛЕ СЕРВЕРНОЕ ПРИЛОЖЕНИЕ ЗАТЕМ КЛИЕНТСКОЕ ПРИЛОЖЕНИЕ!

В клиентском приложении введите числа и убедитесь в правильности работы сетевого приложения. После тестирования на локальном компьютере, скопируйте сетевое приложение на разные компьютеры, подключенные к локальной сети. В клиентском приложении измените “localhost” на имя компьютера, где находится серверное приложение, которое можно узнать с помощью команды hostname. В серверном приложении аналогично измените “localhost” на имя компьютера — сервера.

Задание 2 :  Реализовать пример создания клиент –серверного приложения. Клиентская часть представлена в виде Windows приложения, а серверное в виде консольного. Клиентское приложение отправляет количество сообщений, которое будет отправлено на сервер, затем активируются элементы для ввода сообщений, в заголовке формы, отображаются результаты ответа серверного приложения о приеме и количестве принятых символов. По окончании отправки заданного количества сообщений, кнопка отправки становится не активной.

Создайте Windows приложение с формой, содержащей следующие элементы:

Рисунок 1 – Конструктор формы

В режиме View Code введите следующий программный код

Добавить:

using System.Net;

using System.Net.Sockets;

catch (Exception e)

{

MessageBox.Show(«исключение», e.ToString());            }

Для первой кнопки, отправляющей количество сообщений введите следующий код:

Для второй кнопки, отправляющей сообщения введите следующий код:

На следующем этапе создайте серверное консольное приложение, содержащее следующий программный код:

}

catch (Exception e)

{

Console.WriteLine(e.ToString());

}

}

Запустите сначала серверное приложение, затем клиенсткое приложение.

САМОСТОЯТЕЛЬНО: Выполнить задание преподавателя.

Теоретические сведения:

Сокет – это один конец двусторонней связи, между двумя программами, работающими в сети. Соединяя два сокета можно передавать данные между разными процессами (локальными и удаленными). Реализация сокетов осуществляет инкапсуляцию протоколов сетевого и транспортного уровней.

Существует два типа сокетов потоковые и дейтаграммные. Потоковый сокет – это сокет с установлением соединения, состоящий из потока байтов, который может быть двунаправленным, то есть через конечную точку может передавать и получать данные. Потоковый сокет осуществляет надежную передачу, подходит для передачи больших объемов данных. Потоковые сокеты используют протокол ТСР. Для этого типа сокетов путь формируется до начала передачи сообщения. Сокет А запрашивает соединение с сокетом В, а сокет В либо соглашается на установление соединения с сокетом А, либо отвергает его.

Дейтаграммные сокеты – сокеты без установления соединения. Используется протокол UDP.

Сокет состоит из IP адреса машины и номера порта, используемого приложением ТСР. Поскольку IP адреса уникальны в Интернете, а номера портов уникальны на отдельной машине, то номера сокетов уникальны во всем Интернете. Эта характеристика позволяет процессу общаться через сеть с другим процессом исключительно на основании номера порта.

Обычно приложение клиент– сервер, использующее сокеты, состоит из двух разных приложений: клиента , инициирующего соединение с сервером, и сервера, ожидающего запроса на соединение от клиента. На стороне клиента приложение должно знать адрес и номер порта сервера. Отправляя запрос, клиент пытается установить соединение с сервером, если сервер запущен, сервер соглашается на соединение и создает новый сокет для установления взаимодействия с установившим соединение клиентом. Клиент и сервер после этого могут считывать и передавать сообщения каждый из своего сокета.

Класс Socket пространства имен System.Net.Sockets

Свойство Описание
AddressFamily Дает семейство адресов сокетов – значение из перечисления Socket.AddressFamily
Available Возвращает объем доступных для чтения данных.
Blocking Дает или устанавливает значение находится ли сокет в блокирующем состоянии
Connected Возвращает значение, информирующее соединен ли сокет с удаленным хостом
LocalEndPoint Дает локальную конечную точку
ProtocolType Дает тип протокола сокета
RemoteEndPoint Дает удаленную конечную точку
SocketType Дает тип сокета

Методы класса Socket

Методы Описание
Accept( ) Создает новый сокет для обработки входящего запроса на соединение
Bind () Связывает сокет  с локальной конечной точкой для ожидания входящих запросов на соединение
Close ( ) Закрывает сокет
Connect ( ) Устанавливает соединение с удаленным хостом
Listen ( ) Помещает сокет в режим прослушивания. Предназначен только для серверных приложений
Receive ( ) Получает данные от соединенного сокета
Select ( ) Проверяет статус одного или нескольких сокетов
Send ( ) Отправляет данные соединенному сокету
Poll ( ) Определяет статус сокета
SetSocketOption Устанавливает опцию сокета
Shutdown () Запрещает операции получения и отправки на сокете

Перечисление AddressFamaly указывает схемы адресации для разрешения адреса.

Параметр SocketType поддерживает следующие параметры:

Dgram Поддерживает дейтаграммы. Значение Dgram требует указать Udp для типа протокола и InterNetwork в параметре адресов.
Raw Поддерживает доступ к базовому транспортному протоколу.
Stream Поддерживает потоковые сокеты. Требует указать Тср для типа протокола и InterNetwork в параметре адресов.

Скачать:

Лабораторная работа №4. Тема «Построение сетевого приложения с использованием протокола ТСР».

Класс TcpClient инкапсулирует соединение TCP и представляет множество свойств для управления соединением, включая буферизацию, размер буфера и длительность таймаутов. Чтение и запись осуществляются запросом объекта NetworkStream через метод GetStream ().

Создание  TCPClient использующего локальную конечную точку.

IPAddress ipAddress = Dns.Resolve (Dns.GetHostName ()).AddressList[0];IPEndPoint ipLocalEndPoint = new IPEndPoint (ipAddress, 11000);TcpClient tcpClientA = new TcpClient (ipLocalEndPoint);

Создание TCPClient используя имя хоста и номер порта  TcpClient tcpClient = new TcpClient ();tcpClient.Connect («www.contoso.com», 11002);                Класс TcpListener прослушивает входящие соединения TCP методом Start (). Когда приходит запрос соединения, необходимо использовать метод AcceptSocket () для возврата сокета для соединения с удаленной машиной, или же вызвать метод AcceptTcpClient (), чтобы использовать высокоуровневый объект TcpClient для коммуникаций. Реализуйте следующий пример, который демонстрирует реализацию консольного клиент – серверного приложения, обменивающиегося сообщениями.Серверное приложение: Подключите дополнительно следующие пространства имен

using System.IO;

using System.Net;

using System.Net.Sockets;      Клиентское приложение: Подключите дополнительно следующие пространства имен

using System.IO;

using System.Net;

using System.Net.Sockets;    Рассмотрим возможность передачи файла из клиентского приложения на удаленную машину сервера.

Любой ввод и вывод информации в .Net Framework включает в себя использование потоков.

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

В пространстве имен System.IO хранятся классы, предназначенные для считывания и записи данных в файлы. Классы:

File – содержит статические методы для манипуляции файлами (создание, копирование, удаление); Directory –  содержит статические методы для манипуляции директориями;

Path – статических класс, «путь»; FileInfo – не обладает статическими методами, соответствует физическому фалу, во многом дублирует функциональность File;

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

Классы, производящие сериализацию и десериализацию в .NET Framework, называются классами форматирования (formatters).

Использование класса BinaryFormatter является наиболее эффективным и универсальным, но и самым закрытым способом сериализации.

Существует много различных потоков, например: FileStream, MemoryStream, BufferedStream, NetworkStream
Основные классы, производные от Stream

Класс Описание
FileStream Доступ к файлам
MemoryStream Блок памяти (часто используется для работы с буферами)
NetworkStream Данные полученные в виде потока по сетевому соединению

Основные свойства и методы класса Stream

Методы Описание
Read Чтение заданного количества байтов, начиная с текущей позиции. Возвращает количество успешно прочитанных байтов
ReadByte Чтение отдельного байта. Если текущая позиция находится в конце потока, возвращает -1
Write Запись заданного количества байтов начиная с текущей позиции
WriteByte Запись отдельного байта
Position Позиция в текущем потоке

 

Класс FileStream

Файл — основная единица файловой системы, предназначенная для хранения информации. При открытии для чтения/записи файл становится потоком.

Класс FileStream используется для открытия, чтения, записи и закрытия файлов. Для открытия файла или создания нового нужно создать объект класса FileStream

FileStream(ByVal strFileName As String, ByVal fm As FileMode, ByVal fa As FileAccess, ByVal fs As FileShare)

где, strFileName определяет имя файла;

FileMode определяет операцию с файлом;

Следующий пример клиент –серверного приложения осуществляет отправку файла 111.txt со стороны клиентского приложения в серверное приложение.

Реализуйте следующие консольные приложения.

Серверное приложение

using System.IO;

using System.Net;

using System.Net.Sockets;

using System.Runtime.Serialization;

using System.Runtime.Serialization.Formatters;

using System.Runtime.Serialization.Formatters.Binary; подключить через Add Reference, выбрать System.Runtime.Serialization.FormattersСерверное приложение}}} 

Клиентское приложение

САМОСТОЯТЕЛЬНО ВЫПОЛНИТЬ:

  1. Реализовать задание по вариантам из лабораторной работы № 3, используя класс TCPClient и передачу данных с использованием класса Stream.
  2. Данные вводимые в форму клиентского приложения индивидуального задания варианта сохранять в файл и пересылать на компьютер, где расположено серверное приложение.

КОНТРОЛЬНЫЕ ВОПРОСЫ:

  1. Как создать экземпляр класса TCPClient?
  2. Назначение объекта класса TCPListener?
  3. Какое пространство имен нужно добавить для использования классов TCPClient, TCPListener?
  4. Использование потоков при вводе и выводе информации, основные класса для работы с потоком?
  5. Что такое серилизация?
  6. Методы класса Stream?
  7. Класс FileStream, создание объекта данного класса.

Скачать: