Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Администрирование ИС ПОСОБИЕ.doc
Скачиваний:
60
Добавлен:
24.12.2018
Размер:
3.38 Mб
Скачать

IPing - новое поколение протоколов ip

Перед системой Интернет стоит серьезная проблема – быстрый рост числа пользователей Сети. Эта проблема заключается в том, что Internet стал слишком большой, он перерос заложенные в него возможности. В настоящее время номера сетей класса B практически все уже выбраны, а остались только сети класса A и класса C. Класс A - это слишком большие сети, класс С походит только для небольших организаций. А большинство сетей, подключае6мых к Интернет представляют собой средние по масштабам системы.

В начале 1995 года IETF, выпустило предложения по новому стандарту протокола IP - IPv6, который еще называют IPing. Сейчас Internet-сообщество живет по стандарту IPv4. IPv6 призван не только решить адресную проблему, но и попутно помочь решению других задач, стоящих в настоящее время перед Internet.

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

Кроме перечисленных возможностей, новый протокол позволяет улучшить защиту трафика сети. Для этой цели в протоколе предусмотрены специальные опции. Первая опция предназначена для защиты от подмены IP-адресов машин. При ее использовании нужно кроме адреса подменять и содержимое поля идентификации, что усложняет задачу злоумышленника. Вторая опция связана с шифрованием трафика.

Протокол ICMP

ICMP (Internet Control Message Protocol) на ряду с IP и ARP относиться к межсетевому уровню. Протокол используется для рассылки информационных и управляющих сообщений. При этом используются следующие виды сообщений:

Flow control - если принимающая машина (шлюз или реальный получатель информации) не успевает перерабатывать информацию, то данное сообщение приостанавливает отправку пакетов по сети.

Detecting unreachаble destination - если пакет не может достичь места назначения, то шлюз, который не может доставить пакет, сообщает об этом отправителю пакета.

Redirect routing - это сообщение посылается в том случае, если шлюз не может доставить пакет, но он считает, что надо переслать пакет на другой шлюз.

Checking remote host - в этом случае используется так называемое ICMP Echo Message. Если необходимо проверить наличие стека TCP/IP на удаленной машине, то на нее посылается сообщение этого типа. Как только система получит это сообщение, она немедленно подтвердит его получение.

Другое использование ICMP - это получение сообщения о "смерти" пакета на шлюзе. При этом используется время жизни пакета, которое определяет число шлюзов, через которые пакет может пройти.

При посылке пакета через Internet специальная программа traceroute устанавливает значение TTL (Time To Live) последовательно от 1 до 30 (значение по умолчанию). TTL определяет число шлюзов, через которые может пройти IP-пакет. Если это число превышено, то шлюз, на котором происходит обнуление TTL, высылает ICMP-пакет. Traceroute сначала устанавливает значение TTL равное единице - отвечает ближайший шлюз, затем значение TTL равно 2 - отвечает следующий шлюз и т. д. Если пакет достиг получателя, то в этом случае возвращается сообщение другого типа - Detecting unreachаble destination.

Протокол UDP

Протокол UDP (User Datagram Protocol) - это один из двух протоколов транспортного уровня. UDP позволяет прикладной программе передавать свои сообщения по сети с минимальными издержками, связанными с преобразованием протоколов уровня приложения в протокол IP. Однако при этом, прикладная программа сама должна заботиться о подтверждении того, что сообщение доставлено по месту назначения.

Наиболее известными сервисами, основанными на UDP, является служба доменных имен BIND и распределенная файловая система NFS. Если возвратиться к примеру traceroute, то в этой программе также используется транспорт UDP. Собственно, именно сообщение UDP и засылается в сеть, но при этом используется такой порт, который не имеет обслуживания, поэтому и порождается ICMP-пакет, который и детектирует отсутствие сервиса на принимающей машине, когда пакет наконец достигает машину-адресата.

Протокол TCP

TCP (Transfer Control Protocol) если для приложения контроль качества передачи данных по сети имеет значение, то в этом случае используется протокол TCP. Этот протокол еще называют надежным, ориентированным на соединение и потокоориентированным протоколом.

Надежность TCP заключается в том, что источник данных повторяет их посылку, если только не получит в определенный промежуток времени от адресата подтверждение об их успешном получении. Этот механизм называется Positive Asknowledgement with Retransmission (PAR). В заголовке TCP существует поле контрольной суммы. Если при пересылке данные повреждены, то по контрольной сумме можно определить это. Поврежденный пакет уничтожается, а источнику ничего не посылается. Если данные не были повреждены, то они пропускаются на сборку сообщения, а источнику отправляется подтверждение.

Помимо этого, прежде чем отправить сегмент с данными, модули TCP источника и получателя обмениваются управляющей информацией. Такой обмен называется handshake (буквально "рукопожатие"). В TCP используется трехфазный hand-shake:

  1. Источник устанавливает соединение с получателем, посылая ему пакет с флагом "синхронизации последовательности номеров" (Synchronize Sequence Numbers - SYN). Номер в последовательности определяет номер пакета в сообщении приложения. Все остальные номера будут использовать его в качестве базы, что позволит собрать пакеты в правильном порядке.

  2. Получатель отвечает номером в поле подтверждения получения SYN, который соответствует установленному источником номеру. Кроме этого, в поле "номер в последовательности" может также сообщаться номер, который запрашивался источником.

  3. Источник подтверждает, что принял сегмент получателя и отправляет первую порцию данных.

Графически этот процесс представлен на рисунке:

Рисунок - Установка соединения TCP

После установки соединения источник посылает данные получателю и ждет от него подтверждений их получения, затем снова посылает данные и т.д., пока сообщение не закончится. Заканчивается сообщение, когда в поле флагов выставляется бит FIN, что означает "нет больше данных".

Понятно, что потоковый характер протокола и требование подтверждения получения данных порождают проблему скорости передачи данных. Для ее решения используется "окно" - поле. Идея применения окна достаточно проста: передавать данные не дожидаясь подтверждения об их получения. Это значит, что источник предает некоторое количество данных без ожидания подтверждения об их приеме, и после этого останавливает передачу и ждет подтверждения.