it_vse (519823), страница 10
Текст из файла (страница 10)
Маршрутизация происходит наосновании специальных таблиц маршрутизации либо программно (сетевой операционной системой), либопри помощи специальных сетевых устройств – маршрутизаторов (подробнее маршрутизаторы будут рассмотрены далее в лекциях). Рассмотрим, как происходит доставка пакета по протоколу IP. В процессерассмотрения будет частично затронут и протокол ARP (Address Resolution Protocol), позволяющийпреобразовывать IP-адреса (сетевой уровень) в 6 байтные MAC-адреса сетевых карт Ethernet (канальныйуровень):1.
Сеть состоит из отдельных сегментов (подсетей), которые соединены между собой либо маршрутизаторами, либо обычными компьютерами, на которых функции маршрутизации выполняются операционнойсистемой. Такие компьютеры имеют несколько сетевых карт, каждая из которых имеет свой адрес в соответствующей подсети и являются шлюзами (gateway) из одной подсети в другую.
Шлюзом называетсялюбое сетевое оборудование с несколькими сетевыми интерфейсами и осуществляющее продвижениепакетов между сетями на уровне протоколов сетевого уровня.2. Адресация в сетях идет по протоколу IP, поэтому компьютер-отправитель знает IP-адрес получателя. Нодля доставки пакета на аппаратном уровне необходимо знать Ethernet-адрес сетевой карты получателя.Для этого по протоколу ARP посылается широковещательное сообщение всем компьютерам в данномсегменте сети.
Все компьютеры получают его, но только компьютер с указанным IP-адресом "отзывается"и сообщает Ethernet-адрес своей сетевой карты. Компьютер отправитель кэширует ответ в своей памяти ив дальнейшем (пока кэш не будет очищен) будет направлять пакеты по этому Etehrnet-адресу. Такимобразом, доставка в рамках одного сегмента сети происходит напрямую.3.
Однако компьютер-получатель может и не находится в одном сегменте с отправителем (что видно помаске подсети). В таком случае, сообщение будет послано на маршрутизатор (IP-адрес маршрутизатора(шлюза) устанавливается вручную при настройке сети), который, получив широковещательный ARPзапрос, сообщит компьютеру-адресату свой Ethernet-адрес и дальнейшая связь будет идти через маршрутизатор. Маршрутизатор анализирует свои таблицы маршрутизации, и на основании их принимаетрешение о маршруте доставки пакета. Таблицы маршрутизации частично составляются вручную администратором сети, а частично динамически обновляются, на основании данных соседних маршрутизаторов,по протоколам RIP, OSPF, NLSP, BGP и др.
Таблица маршрутизации упрощенно выглядит следующимобразом (в различных операционных системах и моделях маршрутизаторов возможны различныеварианты):Составитель: Ляхевич А.Г., 2000 - 2002 годТаблицаПример таблицы маршрутизации.123456789Адрес назначения(сеть иликомпьютер)Маска подсети127.0.0.1210.1.1.0130.30.0.0190.55.0.0170.10.0.013.1.10.17200.15.1.0200.15.1.00.0.0.0255.255.255.255255.255.255.0255.255.0.0255.255.0.0255.255.0.0255.255.255.255255.255.255.0255.255.255.00.0.0.0Адресследующегомаршрутизатора(шлюза)****130.30.10.5130.30.10.5130.30.10.7190.55.15.1231.1.1.5Метрика(расстояние доадресата)Сетевойинтерфейс111111131loeth0eth1eth2eth1eth1eth1eth2ppp0Данный пример составлен для компьютера (выполняющего функции шлюза и маршрутизатора), которыйподключен к сети 210.1.1.0 через сетевую карту eth0, имеет связь с Internet через модем (интерфейс ppp0),а также подключен к сети 130.30.0.0 1 через сетевую карту eth1, и к сети 190.55.0.0 через сетевую картуeth2 (см.
рис ).Internet13.1.10.17170.10.0.0Сеть210.1.1.0Ppp0ШлюзEth0 (маршру- Eth1тизатор).10.5Сеть130.30.0.0.10.7Eth2Сеть190.55.0.0 .15.1200.15.1.0BAрис. Условная сеть для пояснения таблицы маршрутизацииТаблицаПояснения к таблице маршрутизации№ стр.12-456ПоясненияОписан loopback-адрес 127.0.0.1, т.е. ссылка на самого себя (фиктивный сетевой интерфейс lo).Описываются сети, к которым непосредственно подключенные сетевые карты шлюза. Сеть210.1.1.0 – к интерфейсу eth0, 130.30.0.0 – к интерфейсу eth1, 190.55.0.0 – к интерфейсу eth2.Доставка пакетов в эти сети происходит напрямую, поэтому в таблице адрес следующегомаршрутизатора (шлюза) для них не указан.Описан маршрут до сети 170.10.0.0. Все пакеты для компьютеров с адресами от 170.10.0.1 до170.10.255.254 будут доставлены на маршрутизатор, описанный в таблице маршрутизатор садресом 130.30.10.5 на интерфейсе Eth1.Описан путь до единственного компьютера с адресом 13.1.10.17.
Пакеты до него будут такжедоставляться на маршрутизатор 130.30.10.5 (интерфейс Eth1).Составитель: Ляхевич А.Г., 2000 - 2002 годПродолжение табл.ПоясненияОписаны два маршрута до сети 200.15.1.0, один из которых проходит через маршрутизатор130.30.10.7 (интерфейс eth1), а второй – через маршрутизатор 190.55.15.1 (интерфейс eth2).Маршрут, проходящий через маршрутизатор 190.55.15.1 длиннее (метрика 3) и проходит через 3сети: сеть 190.55.0.0, сеть А и сеть B. Указанный в таблице маршрутизации маршрутизатор190.55.15.1 является лишь промежуточным: получив пакет до сети 200.15.1.0, он, в соответствиис собственной таблицей маршрутизации, передаст пакет маршрутизатору сети А.
Тот проанализирует свою таблицу маршрутизации и передаст пакет маршрутизатору сети B, который наосновании своей таблицы маршрутизации доставит пакет до сети назначения 200.15.1.0. Такаяцепочечная схема доставки характерна для крупных сетей и позволяет не хранить на первоммаршрутизаторе 190.55.15.1 информацию о всем пути следования пакета: достаточно толькознать адрес ближайшего маршрутизатора на пути к адресату. Т.е. информация распределенамежду большим числом маршрутизаторов в сети.
В противном случае, пришлось бы на каждоммаршрутизаторе хранить все пути до всех существующих сетей, что нерационально, а в сетиInternet и невозможно.Описан маршрут по умолчанию 0.0.0.0. Любые пакеты до сетей (компьютеров) для которых несуществует записи в таблице маршрутизации будут направлены по этому маршруту, т.е. вданном случае направлены в Internet, на маршрутизатор 231.1.1.5, соединенный с данныммаршрутизатором по модему (сетевой интерфейс ppp0).№ стр.7-89Необходимо также обратить внимание на поле "метрика" таблицы маршрутизации. Обычно метрикаувеличивается на 1 при прохождении каждого маршрутизатора и соответствует реальному расстоянию досети назначения, однако для особо перегруженных маршрутов маршрутизатор может быть вручнуюнастроен так, чтобы увеличивать метрику более чем на 1, искусственно делая маршрут более длинным.
Врезультате пакеты, если это возможно, будут направляться по другому, более короткому маршруту, итолько пакеты для которых этот маршрут является единственным (или короче всех остальных) будутнаправлены на этот маршрутизатор.4. Если в процессе доставки пакета возникнет ошибка, то будет получено сообщение по протоколу ICMP,указывающего причину ошибки. По протоколу ICMP может быть передана управляющая информация,позволяющая изменить маршрут доставки на более оптимальный или вообще поменять его, если какой-тошлюз временно не работает. Протокол ICMP также позволяет посылать короткие служебные пакеты(ping), которые позволяют протестировать работоспособность сети.
Если с компьютера А будет посланping компьютеру B, то операционная система компьютера B также ответит коротким пакетом попротоколу ICMP. После получения этого пакета компьютер А во-первых знает, что компьютер Bдоступен, а во вторых знает за какое время пакет дошел до компьютера B и вернулся обратно. Послеотправки нескольких ping-ов собирается статистика: минимальное, максимальное и среднее время приемапередачи пакетов, процент утерянных пакетов.
Основные виды ICMP сообщений перечислены в таблицеТаблицаТипКод0300123451345890012300Основные виды ICMP сообщений.СообщениеEcho Reply (Эхо-ответ)Destination Unreachable (Адресат недостижим по различным причинам):Net Unreachable (нет маршрута в сеть)Host Unreachable (хост недоступен)Protocol Unreachable (протокол недоступен)Port Unreachable (порт недоступен)Datagram Too Big (необходима фрагментация, но она запрещена)Source Route Failed (невозможно выполнить опцию Source Route)Communication Administratively Prohibited (обработка дейтаграммы административнозапрещена)Source Quench (Замедление источника)Redirect (выбрать другой маршрутизатор для посылки датаграмм):в данную сетьна данный хоств данную сеть с данным TOS (Type Of Service – тип обслуживания)на данный хост с данным TOS (Type Of Service – тип обслуживания)Echo (Эхо-запрос)Router Advertisement (Объявление маршрутизатора)Составитель: Ляхевич А.Г., 2000 - 2002 годПродолжение табл.ТипКод10110011213141718010000СообщениеRouter Solicitation (Запрос объявления маршрутизатора)Time Exceeded (Время жизни дейтаграммы истекло)при передачепри сборкеParameter problem (Ошибка в параметрах)Ошибка в IP-заголовкеОтсутствует необходимая опцияTimestamp (Запрос временной метки для синхронизации часов)Timestamp Reply (Ответ на запрос временной метки)Address Mask Request (Запрос сетевой маски)Address Mask Reply (Ответ на запрос сетевой маски)2.3.2.
Протоколы транспортного уровня TCP и UDP.Протоколы транспортного уровня в стеке TCP/IP представлены двумя протоколами: TCP и UDP. ПротоколTCP позволяет устанавливать виртуальный канал передачи данных между компьютерами. Каналустанавливается следующим образом:1. Компьютер А посылает компьютеру B пакет, с установленным флагом SYN (синхронизация) ислучайным числом (а)=> SYN (a).2. Компьютер B отвечает пакетом, с установленными флагами ACK (подтверждение), с параметром(а+1), и установленным флагом SYN и своим случайным числом (b).<= ACK(a+1), SYN (b)3.
Компьютер A завершает "рукопожатие" пакетом, с флагами ACK(a+1), ACK (b+1).=> ACK (a+1), ACK (b+1)После установления канала, программа может направлять в него данные непрерывным потоком, как настандартное устройство ввода вывода. Протокол TCP сам разобьет данные на пакеты, при помощи алгоритма "скользящего окна" обеспечит подтверждение факта получения пакетов принимающей стороной и повторную передачу пакетов, если в этом будет необходимость. Кроме того, в протоколе TCP реализованыдостаточно сложные механизмы регулирования загрузки сети и устранения заторов в сети.