Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СистПриклПрогЗабез(Хихловская).doc
Скачиваний:
28
Добавлен:
10.02.2016
Размер:
961.02 Кб
Скачать

Современные проблемы информационных сетей

  1. Основная проблема связана с организацией эффективного взаимодействия отдельных частей распределенной системы.

  2. Сложность оборудования системного и прикладного программного обеспечения , т.к. программирование для распределенных систем отличается от программирования для централизованных систем. Сетевая ОС, выполняяя все функции по управлению локальным компьютером, решает многочисленные задачи по представлению сетевых служб. Разработка сетевых приложений осложняется из-за необходимости организации совместной работы их частей, выполняемых на разных машинах.

  3. Сложность обеспечения совместимости программного обеспечения.

  4. Много проблем связано с транспортировкой сообщений по каналам связи между компьютерами.

  5. Обеспечение безопасности. Когда безопасность особенно важна, лучше отказаться от использования вычислительной сети.

  6. Разработка инструментария для анализа сети, а также ее диагностики.

  7. Стыковка цифровых и аналоговых сетей.

  8. Сжатие и другие процедуры цифровой обработки сигналов.

  9. Распознавание и синтезирование речи при работе с данными по сети.

  10. Снижение стоимости сетевых услуг.

Инструменты и ресурсы

1. Утилиты ping

Основное назначение утилит ping – проверка наличия связей (название соответствует звуку сонара на подводных лодках). Утилиты ping не использует ни ТСР, ни UDPдля нее нет никакого определенного порта (хорошо известного). Для проверки наличия связи ping пользуется функцией эхо – контроля, имеющейся в протоколе ICMP, который является не отдельным протоколом, а частью IP, хотя сообщения ICMP передаются в IP – дейтограммах. Структура пакета, посылаемого ping имеет вид:

IP- заголовок

Эхо – сообщения

Запрос/ответ ICMP


20 байт 8+n байт

Формат пакета ping.

В качестве n – числа дополнительных байтов в пакете ping равно 56 в UNIX и 32 WIN, но эту величину можно менять с помощью флагов – S(UNIX) и –L(Win).

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

Первое действие пользователя при пропадании связи с удаленным хостом – это запуск ping с указанием адреса этого хоста. Причин пропадания связи может быть несколько: нет связи, по сети между двумя хостами, не работает сам хост А, причина в удаленном стеке ТСР/IP или не запущен сервер telnet.

Сначала следует проверить, достижим, ли сам хост А. Если работа ping проходит нормально, то с сетью все в порядке, а проблема связана с хостом А. Если же невозможно достучаться до хоста А, то требуется пропинговать ближайший маршрутизатор, чтобы понять, удается ли достичь хотя бы границы собственной сети. Если это получается, то дальше можно воспользоваться программой traceroute, чтобы выяснить, насколько далеко можно продвинуться по маршруту к хосту А. Часто это помогает идентифицировать сбойный маршрутизатор или сделать предположение о месте возникновения ошибки.

Т.к. ping работает на уровне протокола IP, он не зависит от правильности конфигурации ТСР или UDP. Можно таким образом пропинговать свой хост, чтобы проверить правильность установки сетевого программного обеспечения. Сначала можно указать ping возвратный адрес localhost (127.0.0.1), чтобы убедиться в работе хотя бы части сетевой поддержки. Если при этом проблем не возникнет, то следует пропинговать один или несколько сетевых интерфейсов и удостовериться, что они правильно сконфигурированы.

Пример: ping –t 195.5.27.1; 192.168.64.1; 195.5.27.3; 195.5.27.1; 195.5.27.10;

Bsd:$ping netcom4.Netcom.com.

PING netcom4. .Netcom.com.(199.183.9.104):556 data bytes.

64 bytes from 199.183.9.104:incmp_seg = 0 tll = 245 time = 598.554 ms

---------------------------------------------------------------------------------------

64 bytes from 199.183.9.104:incmp_seg = 5 tll = 245 time = 598.554 ms

---------------------------------------------------------------------------------------

64 bytes from 199.183.9.104:incmp_seg = 10 tll = 245 time = 598.554 ms

завершим ping вручную:

--- netcom4. Netcom.comping statistics ---

12 packets transmitted, 10 packets receied, 16% packets loss round-trip min/avg/max/staddev = 400.137/540.939/598.554 k10 87/ms bsd$.

RTT (round-trip time)- период кругового обращения, т.е. время необходимое пакету для прохождения с одного хоста на другой и обратно. Для установления соединения нужно полтора таких периода RTT для разных таких пакетов мало и остаётся в пределах 500мс. RTT модифицируется от 480,137мс до 598,554мс со стандартным отклонением 40,871мс. При более длительном прогоне (около 2 мин.) результат существенно не изменится, это свидетельствует о том, что нагрузка на сеть постоянная. Значительный разброс RRT –это признак изменяющейся нагрузки сети. При повышенной загрузке возрастает длина очереди в маршрутизаторе и RTT. При изменении загрузки очередь сокращается, что приводит к изменению RTT.

В таблице отсутствует ответ на этот запрос ICMP с порядковым номером 4. Это означает, что запрос либо ответ потеряны одним из промежуточных маршрутизаторов. По данным сводной статистики было послано 12 запросов (0-11) и получено 10 ответов. Один из пропавших ответов имеет порядковый номер 4, а второй 11(т.к. прервана работа ping). Для работы ping требуется функционирование самых нижних служб (сетевых уровней), поэтому ping полезна для проверки связи в условиях, когда сервисы высокого уровня (TCP, telnet) не работают. С помощью ping часто удаётся сделать выводы об условиях в сети, наблюдая за значениями и дисперсией RRT и за числом постоянных ответов.

Утилита traceroute

Утилита traceroute служит для нахождения ошибок маршрутизации, изучения трафика в Internet и исследования топологии сети.

Утилита пытается определить маршрут между двумя хостами в сети, заставляя каждый промежуточный маршрутизатор посылать ICMP – сообщение хосту – отправителю. В каждой IP – датограмме есть поле TTL (time – to – live – время жизни). Это поле уменьшается на единицу каждым маршрутом, через который походит дейтаграмма. При TTL равным 0, датаграмма уничтожается. Отрицательно TTL измеряется в секундах, в действительности это поле интерпретируется маршрутизаторами как счетчик промежуточных узлов. Прождав время 2MSL, хост 1, который закрывает свою сторону приложения, завершат процесс, traceroute ziggy. uf.edu

Traceroute to ziggy.uzf.edu(131.247.1.40), 30 hops max, 40 byte packets

  1. tam – fl – pm8.Netcom.net(163.179.44.15)

128.960 ms 139.230.ms 129.483 ms

  1. tam – fl – gqlt. netcom.net(163.179.44.15)

139.436 ms 129.226 ms 129.570 ms

-----------------------------------------------------------------------------------------------------

  1. 131.247.254.36(131.247.254.36) 209 310 ms 199.281 ms 219.588 ms

  2. ziggy.uzf.edu(131.247.1.40)209.591 ms* 210.159 ms

Число слева в строке – это номер промежуточного узла за ним идет имя хоста или маршрутизатора в этом узле и далее IP – адрес (строка 13). Программа пыталась определить имя хоста или маршрутизатор трижды, а три числа, следующие за IP – адресом – это периоды кругового обращения (RTT) для каждой из трех попыток. Если при очередной попытке теряется, то вместо времени печатается «*», netcom.net – сервис – провайдер, через который bsd выходит в Internet.

Когда TTL равен 1 (или 0), он отбрасывает ее и посылает отправителю ICMP – сообщение «истекло время внутри». Программа traceroute использует это свойство. Сначала она получателю посылает ИДР – датаграмму, в которой TTL устанавливается равной 1. Когда датаграмма доходит до первого маршрутизатора,. Тот определяет, что поле TTL равно 1, отбрасывает и посылает ее и посылает отправителю ICMP – сообщение. Таким образом, становится известным адрес первого промежуточного узла, и traceroute пытается выяснить его имя с помощью функции gethostbyaddr. Чтобы получить информацию о втором узле traceroute повторяет процедуру, но с TTL=2. Маршрутизатор в первом узле уменьшит ТТЛ на 1 и отправит дейтограмму дальше. Второй маршрутизатор определит 1 в поле TTL, отбросит дейтаграмму и пошлет ICMP – сообщение отправителю. Увеличивая TTL и повторяя запуск traceroute автоматически можно построить весь маршрут от отправителя к получателю. Когда датаграмма с достачно большим начальным значением TTL доходит до получателя, ТСР/IP пітается доставить ее ожидающему приложению. Однако traceroute устанавливает такое значение порта (процесса) назначения, которое вряд ли кем-ни-будь используется, поєтому хост – получатель вернет ICMP – сообщение «порт недоступен», которое traceroute воспринимает как обнаружение конкретного получателя, и трассировку можно завершить.

Т.к. протокол UDPненадежен, не исключена возможность потери датаграмм. Поэтому traceroute пытается достучаться до каждого промежуточного хоста или маршрутизатора несколько раз, по умолчанию 3 попытки, но это можно изменить с помощью опции –g. Время, отведенное по умолчанию на ожидание ICMP – сообщения после каждой попытки составляет 5с, то его также можно менять с помощью опции w. Если в течении этого времени ответ не придет, то вместо RTT выводится («*»).

Утилиты traceroute предполагает, что маршрутизаторы будут, как положено, отбрасывать IP – датаграммы; в которых TTL = 1 и посылать ICMP – сообщение « истекло время внутри». Некоторые маршрутизаторы ошибочно переправляют далее датаграммы, в которых TTL = 0. Если такое происходит, то следующий маршрутизатор, например, N + 1 отбросит дейтаграмму и вернет ICMP – сообщение, «истекло время в пути». На дальнейшие итерации маршрутизатор получит датаграмму со значением TTL, равным 1, и вернет обычное ICMP – сообщение. Таким образом, маршрутизатор N + 1 появится дважды.

Утилиты traceroute позволяет проследить в динамике маршруты сообщений, например, изменение маршрута для сбалансирования нагрузки.

Еще одна проблема состоит в том. Что некоторые организации, ошибочно пологая, что ICMP – сообщения несут опасность, отключают их и маршрутизаторы полностью блокируют все ICMP – сообщения. Первый же маршрутизатор в этом случае сбросит сообщение «истекло время в пути» и сообщение «порт не доступен».

Следующая проблема – это асимметрия маршрутов. При запуске traceroute получается маршрут до пункт а назначения от пункта отправления. Но нет гарантии, что дейтаграмма будет следовать тем же маршрутом, 49% маршрутов имеют асимметрию.