Главная страница

Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы


Скачать 22.28 Mb.
НазваниеУчебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
АнкорOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Дата12.03.2017
Размер22.28 Mb.
Формат файлаpdf
Имя файлаOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
ТипУчебник
#3698
страница61 из 99
1   ...   57   58   59   60   61   62   63   64   ...   99
Глава 17. Базовые протоколы TCP/IP
Утилита ping
А сейчас давайте рассмотрим представителей другой группы ІСМР-сообщений —
эхо-
запросы
и
эхо-ответы
и поговорим об использовании этих сообщений в известной утилите ping.
Эхо-запрос и эхо-ответ, в совокупности называемые
эхо-протоколом,
представляют со­
бой очень простое средство мониторинга сети. Компьютер или маршрутизатор посылает по составной сети ІСМР-сообщение эхо-запроса, указывая в нем IP-адрес узла, достижи­
мость которого нужно проверить. Узел, получивший эхо-запрос, формирует и отправляет эхо-ответ отправителю запроса. Так как эхо-запрос и эхо-ответ передаются по сети внутри
IP-пакетов, то их успешная доставка означает нормальное функционирование всей транс­
портной системы составной сети.
Формат эхо-запроса и эхо-ответа показан на рис. 17.25. Поле типа для эхо-ответа рав­
но 0, для эхо-запроса — 8; поле кода всегда равно 0 и для запроса, и для ответа. В бай­
тах 5 и 6 заголовка содержится
идентификатор запроса,
в байтах 7 и 8 —
порядковый
номер.
В поле данных эхо-запроса может быть помещена произвольная информация, которая в соответствии с данным протоколом должна быть скопирована в доле данных эхо-ответа.
1 байт^-^ r<—1 байт-> < ----------2 байта-----------►
Тип * 0/8
Код *0
Контрольная сумма
Идентификатор
запроса
П орядковы й
номер
Поле данных о.
і
я
Рис. 17.25.
Формат ІСМР-сообщений типа эхо-запрос и эхо-ответ
Поля идентификатора запроса и порядкового номера используются одинаковым о разом всеми сообщениями типа запрос-ответ. Посылая запрос, приложение помеща в эти два поля информацию, которая предназначена для последующего встраивания в соответствующий ответ. Сообщение-ответ копирует значения этих полей в свои по того же назначения. Когда ответ возвращается в пункт отправки сообщения-запроса, на основании идентификатора он может «найти и опознать» приложение, пославшее прос. А порядковый номер используется приложением, чтобы связать полученный
ОТ) с соответствующим запросом (учитывая, что одно приложение может выдать несколі однотипных запросов).
Утилита ping обычно посылает серию эхо-запросов к тестируемому узлу и предоставл пользователю статистику об утерянных эхо-ответах и среднем времени реакции сет* запросы. Утилита ping выводит на экран сообщения следующего вида обо всех поступ ших ответах:

Выводы
597
# p i n g s e r v e r l . c i t m g u . r u
P i n g i n g s e r v e r l . c i t m g u . r u [ 1 9 3 . 1 0 7 . 2 . 2 0 0 ] w i t h 6 4 b y t e s o f d a t a :
R e p l y f r o m 1 9 3 . 1 0 7 . 2 . 2 0 0
R e p l y f r o m 1 9 3 . 1 0 7 . 2 . 2 0 0
R e p l y f r o m 1 9 3 . 1 0 7 . 2 . 2 0 0
R e p l y f r o m 1 9 3 . 1 0 7 . 2 . 2 0 0
b y t e s = 6 4 t i m e = 2 5 6 m s T T L = 1 2 3 b y t e s = 6 4 t i m e = 3 1 0 m s T T L = 1 2 3 b y t e s = 6 4 t i m e = 2 6 0 m s T T L = 1 2 3 b y t e s = 6 4 t i m e = 1 4 6 m s T T L = 1 2 3
Из приведенной распечатки видно, что в ответ на тестирующие запросы, посланные узлу serverl .mgu.ru, было получено 4 эхо-ответа. Длина каждого сообщения составляет 64 байта.
В следующей колонке помещены значения времени оборота (RTT), то есть времени от момента отправки запроса до получения ответа на этот запрос. Как видим, сеть работает достаточно нестабильно — время в последней строке отличается от времени во второй более чем в два раза. На экран выводится также оставшееся время жизни поступивших пакетов.
Выводы
В то время как задачей протокола IP является передача данных между сетевыми интерфейсами
в составной сети, основная задача протоколов TCP и UDP заключается в передаче данных между
прикладными процессами, выполняющимися на разных конечных узлах сети.
Протокол UDP является дейтаграммным протоколом, работающим без установления логического
соединения, он не гарантирует доставку своих сообщений, а следовательно, не компенсирует не­
надежность дейтаграммного протокола IP.
Системные очереди к точкам входа прикладных процессов называют портами. Порты идентифици­
руются номерами и однозначно определяют приложение в пределах компьютера. Если процессы
представляют собой популярные общедоступные службы, такие как FTP, telnet, HTTP, TFTP, DNS и т. п.,
то за ними централизовано закрепляются стандартные (назначенные) номера.
TCP решает задачу надежного обмена данными путем установления логических соединений. Соеди­
нение однозначно идентифицируется парой сокетов.
Сокетом прикладного процесса называется пара из IP-адреса и номер порта.
Для управления потоком в рамках TCP-соединения используется специфический вариант алгорит­
ма скользящего окна. Сторона-получатель передает стороне-отправителю размер окна приема
вбайтах.
Протоколы маршрутизации генерируют для каждого маршрутизатора согласованные таблицы марш­
рутизации, которые позволяют обеспечить доставку пакета по рациональному маршруту от исходной
сети в сеть назначения за конечное число шагов.
Адаптивная маршрутизация обеспечивает автоматическое обновление таблиц маршрутизации после
изменения конфигурации сети.
Адаптивные протоколы маршрутизации делятся на дистанционно-векторные алгоритмы (например,
RIP) и алгоритмы состояния связей (например, OSPF).
Протоколы маршрутизации Интернета делятся на внешние (EGP), которые переносят маршрутную
информацию между автономными системами, и внутренние (IGP), которые применяются только
впределах определенной автономной системы.
Протокол ICMP играет в сети вспомогательную роль. Он используется для диагностики и мони­
торинга сети. Так, в основе работы популярных утилит мониторинга IP-сетей ping и tracert лежат
ІСМР-сообщения.

598
Глава 17. Базовые протоколы TCP/IP
Вопросы и задания
1. Какой объем данных получен в течение TCP-сеанса отправителем TCP-сегмента, в за­
головке которого в поле квитанции помещено значение 180005? Известно, что первый полученный байт имел номер 15000.
2. Может ли работать маршрутизатор, не имея таблицы маршрутизации? Варианты от­
ветов:
а) может, если выполняется маршрутизация от источника;
б) нет, это невозможно;
в) может, если в маршрутизаторе задан маршрут по умолчанию;
г) может, если выполняется лавинная маршрутизация.
3. Можно ли обойтись в сети без протоколов маршрутизации?
4. Система DNS может использовать для доставки своих сообщений как протокол UDP, так и TCP. Какой вариант вы считаете более предпочтительным? Аргументируйте свой ответ.
5. По какой причине в протоколе RIP расстояние в 16 хопов между сетями полагается недостижимым? Варианты ответов:
а) поле, отведенное для хранения значения расстояния, имеет длину 4 двоичных раз­
ряда;
б) сети, в которых работает RIP, редко бывают большими;
в) для получения приемлемого времени сходимости алгоритма.
6. Какие параметры сети учитывают метрики, поддерживаемые протоколом OSPF? Ва­
рианты ответов:
а) пропускная способность;
б) количество хопов;
в) надежность каналов связи.
7. ІСМР-сообщение об ошибке не посылается, если ошибка возникла при передаче ІР- пакета:
а) несущего ІСМР-сообщение об ошибке;
б) являющегося последним фрагментом пакета;
в) несущего ЮМР-запрос;
г) упакованного в кадр с широковещательным МАС-адресом.
8. Кому адресовано ІСМР-сообщение? Варианты ответов:
а) протоколу IP узла-отправителя пакета, вызвавшего ошибку;
б) протоколу IP ближайшего маршрутизатора, от которого поступил пакет, вызвавший ошибку;
в) протоколу транспортного или прикладного уровня узла-отправителя пакета, вы- звавшего ошибку.
9. Предложите варианты метрики, которая одновременно учи+ывает пропускную способ­
ность, надежность и задержку линий связи.

ГЛАВА 18 Дополнительные
функции
маршрутизаторов
ІР-сетей
Основными функциями IP-маршрутизатора являются создание таблицы маршрутизации и продвиже­
ние ІР-пакетов на основе данных этой таблицы. Для выполнения этих функций маршрутизатор должен
поддерживать протокол IP, рассмотренный в главе 16, а также протоколы маршрутизации, с которыми
мы познакомились в главе 17. Помимо этих базовых функций современные IP-маршрутизаторы под­
держивают ряд важных и более сложных функций, которые превращают IP-маршрутизаторы в гибкие
и мощные многофункциональные устройства по обработке трафика. В этой главе мы рассмотрим
наиболее важные из нетривиальных возможностей IP-маршрутизаторов, часто используемые ад­
министраторами сетей.
Маршрутизатор является пограничным устройством, соединяющим сеть с внешним миром. По­
этому естественно возложить на него функции по защите сети от внешних атак. Эти функции
IP-маршрутизаторы выполняют путем фильтрации пользовательского трафика в соответствии
с разнообразными признаками, передаваемыми в ІР-пакетах: адресами отправителя и получателя,
идентификатором типа протокола, вложенным в ІР-пакет, идентификатором типа приложения, гене­
рирующего этот трафик. Подобная функциональность предотвращает проникновение нежелатель­
ного трафика во внутреннюю сеть и снижает вероятность атаки на ее хосты. Важную роль в защите
внутренних ресурсов сети играет технология трансляции сетевых адресов (NAT), которая позволяет
скрыть от внешних пользователей реальные адреса, используемые хостами сети.
Сравнительно новым свойством ІР-сетей является поддержка параметров качества обслужи­
вания
(QoS). Отдельные механизмы, необходимые для контроля и предотвращения перегрузок,
IP-маршрутизаторы поддерживают на протяжении уже долгого времени, однако стандарты систем
обеспечения QoS были разработаны для ІР-сетей только в конце 90-х. Существуют две технологии
поддержания параметров QoS для ІР-сетей — это интегрированное и дифференцированное обслу­
живание. Первая обеспечивает качество обслуживания для отдельных потоков, а вторая разработана
для агрегированных потоков, представляющих небольшое число классов трафика.
Еще одним очень перспективным направлением в развитии стека TCP/IP является групповое веща­
ние
(multicast). Помимо больших коммерческих перспектив эта технология увлекает исследователей
своей сложностью. Действительно, немного задач можно сравнить по грандиозности с проблемой
создания эффективного механизма одновременной доставки информации миллионам и миллиардам
людей и устройств во всемирном масштабе.
Завершает главу рассмотрение особенностей новой версии протокола IPIPv6. Мы наиболее
подробно остановимся на модернизации схемы адресации, сделавшей ее более масштабируемой,
атакже на изменении формата заголовка IP, что позволило повысить пропускную способность сети
за счет сокращения объема работы, выполняемой маршрутизаторами.

600
Глава 18. Дополнительные функции маршрутизаторов 1Р-сетей
Фильтрация
Протоколы ІР-маршрутизации создают таблицы маршрутизации, на основе которых любой узел составной сети может обмениваться информацией с любым другим узлом. Благодаря этому принципу дейтаграммных сетей каждый пользователь Интернета может получать доступ к любому публичному сайту.
Напомним, что в сетях, основ&нных не технике виртуальных каналов, взаимодействие произвольных узлов невозможно без предварительной процедуры установления между ними виртуального канала.
Однако такая всеобщая достижимость узлов и сетей не всегда отражает потребности их владельцев. Поэтому многие маршрутизаторы поддерживают развитые средства фильтра­
ции пользовательского трафика, а также фильтрации объявлений протоколов маршрути­
зации, что позволяет дифференцированно управлять достижимостью узлов.
Фильтрация пользовательского трафика
Под фильтрацией понимается нестандартная обработку ІР-пакет0в маршрутизаторами, приво*
і дящая к
отбрасыванию некоторых пакетов или изменение йхмзршрута.
Фильтрация пользовательского трафика маршрутизаторами аналогична по принципу действия фильтрации, выполняемой коммутаторами локальных сетей (см. главу 14).
Условия фильтрации маршрутизаторов обычно существенно сложнее и в них учитывается гораздо больше признаков, чем у коммутаторов локальных сетей. Например, это могут быть:
□ IP-адреса источника и приемника;
□ МАС-адреса источника и приемника;
□ идентификатор интерфейса, с которого поступил пакет;
□ тип протокола, сообщение которого несет IP -пакет (то есть TCP, UDP, ICMP или
OSPF);
□ номер порта TCP/U DP (то есть тип протокола прикладного уровня).
При наличии фильтра маршрутизатор сначала проверяет совпадение условия, описанного этими фильтром, с признаками пакета, и при положительной проверке выполняет над пакетом ряд нестандартных действий. Например, пакет может быть отброшен (drop); на­
правлен к следующему маршрутизатору, отличающемуся от того, который указан в таблице маршрутизации; помечен, как вероятный кандидат на отбрасывание при возникновении перегрузки. Одним из таких действий может быть и обычная передача пакета в соответ­
ствии с записями таблицы маршрутизации.
Рассмотрим примеры фильтров, написанных на командном языке маршрутизаторов Cisco.
Эти фильтры, называемые списками доступа, сегодня в IP-маршрутизаторах являются очень распространенным средством ограничения пользовательского трафика.
Наиболее простым является стандартный список доступа; в нем в качестве условия филь­
трации учитывается только ІР-адрес источника.

Фильтрация
601
Общая форма такого условия выглядит следующим образом:
a c c e s s - 1 і s t номер_с писка_ досту па { d e n y | p e r m i t }
{ адрес_ист очника [ метасимволы_источника ]
| a n y }
Стандартный список доступа определяет два действия с пакетом, который удовлетворяет описанному в фильтре условию: отбросить (deny) или передать для стандартной обра­
ботки в соответствии с таблицей маршрутизации (permi t). Условием выбора того или иного действия в стандартном списке доступа является совпадение IP-адреса источника пакета с адресом источника, заданным в списке. Совпадение проверяется в том же стиле, что и при проверке таблицы маршрутизации, при этом метасимволы являются аналогом маски, но в несколько модифицированном виде. Двоичный нуль в поле метасимволов ис­
точника означает, что требуется совпадение значения этого разряда в адресе пришедшего пакета и в адресе, заданном в списке доступа. Двоичная единица означает, что совпадения в этом разряде не требуется. Практически, если вы хотите задать условие для всех адресов некоторой подсети, то должны использовать инвертированное значение маски этой под­
сети. Параметр any означает любое значение адреса — это просто более понятная и краткая форма записи значения 255.255.255.255 в поле метасимволов источника.
Пример стандартного списка доступа:
a c c e s s - l i s t 1 d e n y 1 9 2 . 7 8 . 4 6 . 0 0 . 0 . 0 . 2 5 5
Здесь:
□ 1 — номер списка доступа;
□ deny — действие с пакетом, который удовлетворяет условию данного списка доступа;
□ 192.78.46.0 — адрес источника;
□ 0.0.0.255 — метасимволы источника.
Этот фильтр запрещает передачу пакетов, у которых в старших трех байтах адреса источ­
ника имеется значение 192.78.46.0.
Список доступа может включать более одного условия. В этом случае он состоит из не­
скольких строк с ключевым словом access-1 і s t n одним и тем же номером списка до­
ступа. Так, если мы хотим разрешить прохождение через маршрутизатор пакетов хоста
192.78.46.12, запрещая передачу пакетов одному из хостов сети 192.78.46.0/24, то список доступа будет выглядеть следующим образом:
a c c e s s - l i s t 1 p e r m i t 1 9 2 . 7 8 . 4 6 . 1 2 0 . 0 . 0 . 0 a c c e s s - 1 і s t 1 d e n y 1 9 2 . 7 8 . 4 6 . 0 0 . 0 . 0 . 2 5 5 a c c e s s - 1 і s t 1 p e r m i t a n y
Условия списка доступа проверяются по очереди, если какое-либо из них дает совпадение, то выполняется действие permi t или deny, определенное в этом условии. После этого остальные условия списка уже не проверяются. Считается по умолчанию, что в конце каждого списка имеется неявное условие вида:
[ a c c e s s - 1 і s t 1 d e n y a n y ]
Однако, если вам все же требуется пропускать все пакеты, не определенные явно в усло­
виях, необходимо добавить в последней строке условие:
a c c e s s - l i s t 1 p e r m i t a n y
Список доступа можно применять к любому интерфейсу маршрутизатора и в любом на­
правлении: если список применяется с ключевым словом і п, то он действует на входящие в интерфейс пакеты, а если с ключевым словом out — на выходящие. Например, написан­

602
Глава 18. Дополнительные функции маршрутизаторов ІР-сетей ный нами список доступа 1 можно применить к некоторому интерфейсу для обработки входящего трафика, используя следующую команду: a c c e s s - g r o u p 1 i n
Существуют также и более мощные типы списков доступа для маршрутизаторов Cisco, например, расширенные списки доступа. Общий формат этих списков следующий: a c c e s s - l i s t номер_с писка_дост упа { d e n y | p e r m i t }
{ p r o t o c o l
І ключевое_слово_протокола }
{ ад рес_ист очника [ метасимволы_источника ] ] [ порт_ис точника ] | a n y }
[ адрес_приемника [ метасимволы_приемника ] ] [ порт_приемника ]
Пользуясь расширенными списками доступа, можно запретить прохождение во внутрен­
нюю сеть предприятия FTP-пакетов. Как известно, служба FTP использует для приема запросов от клиентов протокол TCP с хорошо известным портом 21. Для этого в список доступа нужно включить условие: a c c e s s - l i s t 1 0 2 d e n y T C P a n y 21 a n y
Затем можно применить его к интерфейсу маршрутизатора, к которому подключена вну­
тренняя сеть, с ключевым словом out.
Администраторы корпоративных сетей из соображений безопасности1 часто запрещают возможность трассировки извне внутренних хостов утилитой ping. Это делается с помо­
щью условия:
a c c e s s - l i s t 10 1 d e n y I C MP a n y 1 9 2 . 7 8 . 4 6 . 8 0 . 0 . 0 . 0 e q 8
Как видно из условия, его синтаксис для протокола ICMP несколько отличается от обще­
го синтаксиса расширенных списков доступа. Параметр eq 8 означает, что запрещается передача ІСМР-сообщений типа 8, соответствующего эхо-запросам, с помощью которых функционирует утилита ping.
Еще более гибким является язык фильтров программного маршрутизатора, работающего во многих версиях Unix. Синтаксис этого языка близок к синтаксису языка С, что позво­
ляет строить весьма сложные логические конструкции с помощью условных инструкций i f , t h e n , e l s e .
Необходимо отметить, что фильтрация пользовательского трафика может существенно замедлять работу маршрутизатора, так как обработка каждого пакета требует проверки дополнительных условий.
Для того чтобы не создавать слишком большую нагрузку на маршрутизатор и «не от­
влекать» его от выполнения основных обязанностей, в фильтрах маршрутизаторов не используется информация о предыстории сеансов. Сколько бы ни было сложным условие фильтрации маршрутизатора, в нем учитываются только параметры текущего пакета и не могут учитываться параметры предыдущих пакетов, уже обработанных маршрутизатором.
Это ограничение является главным отличием маршрутизаторов от брандмауэров, специ­
альных программных систем, которые, используя информацию о предыстории сеансов, выполняют более качественную фильтрацию.
1   ...   57   58   59   60   61   62   63   64   ...   99


написать администратору сайта