Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпорки Хамадеев.doc
Скачиваний:
7
Добавлен:
26.04.2019
Размер:
5.59 Mб
Скачать

7. Стек протоколов tcp/ip.

Значительная часть технологии ТСР/IР направлена на решение следующих задач адресации:

-задача согласованного исп-ния адресов разл.типа включает отображение адре­сов разных типов, например, преобразование сетевого IР-адреса в локальный, доменного имени — в IР-адрес.

-обеспечение уникальности адресов. В завис-ти от типа адреса требуется обеспечи­вать однозначность адресации в пределах компа, подсети, корпоративной сети или Интернета.

-конфигурирование сетевых интерфейсов и сетевых приложений.

Каждая из перечисленных задач имеет достаточно простое реш-е для сети, число узлов ко­торой не превосходит неск. десятков. Напр, для отображения символьного домен­ного имени в IР-адрес достаточно поддерживать на каждом хосте таблицу всех символьных имен, используемых в сети, и соотв-щих им IР-адресов. Так же просто «вручную» при­своить всем интерфейсам в небольшой сети уникальные адреса. Однако в крупных сетях эти же задачи усложняются настолько, что требуют принципиально других решений.

Ключевым словом, которое хар-ет подход к решению этих проблем, принятый в ТСР/IР, является масштабируемость.

Процедуры, предлагаемые ТСР/IР для назначения, отображения и конфигурирования адресов, одинаково хорошо работают в сетях разного масштаба. Для идентификации сетевых интерфейсов исп-ся 3 типа адресов:

-локальные (аппаратные) адреса;

-сетевые адреса (IР-адреса);

-символьные (доменные) имена.

Локальные адреса

В бол-ве технологий LAN(Ethernet, FDDI, Токеn Ring) для однозначной адресации интерфейсов используются МАС-адреса. Сущ-ет немало техно­логий (Х.25, АТМ, Frame Rе1ау), в которых прим-ся др.схемы адресации. Будучи автономными, такие сети исп-ют свою схему адресации искл-но для обеспечения связи собственных узлов. Однако как только некоторая сеть объединяется с др. сетями, функциональность этих адресов расши­ряется, они становятся необходимым эл-том вышележащей объединяющей технологии — в данном случае технологии ТСР/IР. Роль, которую играют эти адреса в ТСР/IР, не зависит от того, какая именно технология исп-ся в подсети, поэтому они имеют общ название — лок. (аппаратные) адреса.

Слово «локальный» в контексте ТСР/IР означает «действующий не во всей со­ставной сети, а лишь в пределах подсети». Именно в таком смысле понимают­ся здесь термины: «лок.технология» (технология, на основе которой по­строена подсеть), «лок.адрес» (адрес, который используется некоторой локальной технологией для адресации узлов в пределах подсети). Напомним, что в кач-ве подсети («локальной сети») может выступать сеть, построенная как на основе лок. технологии, напр Еthernet, FDDI, так и на основе глоб. технологии, например Х.25, Frame Rе1ау, =>, говоря о подсети, мы исп-ем слово «локальная» не как хар-ку технологии, на которой построена эта подсеть, а как указание на роль, которую играет эта подсеть в архитектуре составной сети.

Сложности могут возникнуть и при интерпретации опр-я «аппаратный». В данном случае термин «аппаратный» подчеркивает концептуальное представ­ление разработчиков стека ТСР/IР о подсети как о некот.вспомогательном аппаратном средстве, единственной функцией которого является перемещение IР-пакета через подсеть до ближайшего шлюза (маршрутизатора). И не важно, что реально нижележащая локальная технология может быть достаточно слож­ной, все ее сложности игнорируются технологией ТСР/IР.

Рассмотрим, например, случай, когда в составную сеть ТСР/IР входит сеть IРХ/ SРХ. Последняя сама может быть разделена на подсети, и так же как IР-сеть, она идентифицирует свои узлы аппаратными и сетевыми IРХ-адресами. Но техноло­гия ТСР/IР игнорирует многоуровневое строение сети IРХ/SРХ и рассматривает в качестве локальных адресов узлов подсети IРХ/SРХ адреса сетевого уровня данной технологии (IРХ-адреса). Аналогично, если в составную сеть включена сеть Х.25, то локальными адресами узлов этой сети для протокола IР будут соот­ветственно адреса Х.25.

Сетевые IР-адреса

Чтобы технология ТСР/IР могла решать свою задачу объединения сетей, ей не­обходима собственная глоб. c-ма адресации, не зависящая от сп-ов адресации узлов в отд-ных сетях. Эта с-ма адресации должна позволять универсальным и однозначным способом идентифицировать любой интерфейс составной сети. Очевидным реш-ем явл. уникальная

[7.1]

нумерация всех се­тей составной сети, а затем нумерация всех узлов в пределах каждой из этих се­тей. Пара, состоящая из номера сети и номера узла, отвечает поставленным ус­ловиям и может служить в качестве сетевого адреса.

В кач-ве номера узла может выступать либо локальный адрес этого узла (та­кая схема принята в стеке IРХ/SРХ), либо некот.число, никак не связанное с лок.технологией и однозначно идентифицирующее узел в пределах дан­ной подсети. В первом случае сетевой адрес становится зависимым от лок.технологий, что ограничивает его прим-е. Напр, сетевые адреса IРХ/ SРХ рассчитаны на работу в составных сетях, объединяющих сети, в которых ис­п-ся только МАС-адреса или адреса аналогичного формата. Второй под­ход более универсален, он характерен для стека ТСР/IР.

В технологии ТСР/IР сетевой адрес называют IP-адрес.

Каждый раз, когда пакет напр-ся адресату через составную сеть, в его заго­ловке указывается IР-адрес узла назначения. По номеру сети назначения каж­дый очередной маршрутизатор находит IР-адрес следующего маршр-ра.

Перед тем как отправить пакет в следующую сеть, маршр-р должен опре­делить на основании найденного IР-адреса следующего маршр-ра его ло­к.адрес. Для этой цели протокол IР, как показано на рис. 17.1, обращается к протоколу разрешения адресов (АRР).

Доменные имена

Для идентификации компов аппаратное и ПО в се­тях ТСР/IР полагается на IР-адреса. Напр, команда ftр://192,45.66.17 будет устанавливать сеанс связи с нужным ftр-сервером, а команда httр://203.23.106.33 откроет нач. стр. на корпоративном веб-сервере. Однако пользовате­ли обычно предпочитают работать с более удобными символьными именами компьютеров.

Символьные идентификаторы сетевых интерфейсов в пределах составной сети строятся по иерархическому признаку. Составляющие полного символьного (или доменного) имени в IР-сетях разделяются точкой и перечисляются в след.порядке: сначала простое имя хоста, затем имя группы хостов (например, имя организации), затем имя более крупной группы (домена) и так до имени домена самого высокого уровня (напр, домена, объед-щего организации по гео­графическому принципу: RU — Россия, UK — Великобритания, US — США).

М/у доменным именем и IР-адресом узла нет никакой функ-ной зави­с-ти, поэтому единств.способ установления соответствия — это табли­ца. В сетях ТСР/IР используется специальная система доменных имен (Domain Name System, DNS), кот.устанавливает это соответствие на основании соз­даваемых админами сети таблиц соответствия. Поэтому доменные име­на называют также DNS-именами. В общем случае сетевой интерфейс может иметь несколько локальных адресов, сетевых адресов, доменных имен.

Формат IР-адреса

В заголовке IР-пакета для хранения IР-адресов отправителя и получателя отво­дятся два поля, каждое имеет фиксированную длину 4 байт (32 бит). IР-адрес состоит из 2x логических частей — номера сети и номера узла в сети.

Наиболее распр-ной формой представления IР-адреса является запись в виде 4x чисел, представляющих зн-я каждого байта в десятичной форме и разделенных точками, напр: 128.10.2.30.

Этот же адрес может быть представлен в двоичном формате: 10000000 00001010 00000010 00011110 и в 16-ричном формате:80.0А.02.1D.

[7.2]

Заметим, что запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла. Вместе с тем при передаче пакета по сети часто возникает необх-ть разделить адрес на эти 2 части. Напр, маршрутизация, как правило, осущ-ся на основании номера сети, поэтому каждый маршр-р, получая пакет, должен прочитать из соотв-щего поля заголовка адрес назначения и выделить из него номер сети. Каким образом маршр-ры опр-ют, какая часть из 32 бит, отведенных под IР- адрес, относится к номеру сети, а какая — к номеру узла?

Можно предложить несколько вариантов решения этой проблемы:

□ Простейший из них сост. в исп-нии фиксированной границы. При этом все 32-битовое поле адреса заранее делится на 2 части не обязательно равной, но фиксированной длины, в одной из которых всегда будет разме­щаться номер сети, а в другой — номер узла. Реш-е очень простое, но хоро­шее ли? Поскольку поле, которое отводится для хранения номера узла, имеет фиксированную длину, все сети будут иметь одинаковое max число узлов. Если, напр, под номер сети отвести один первый байт, то все ад­ресное пространство распадется на сравнительно небольшое (28) число сетей огромного размера (224 узлов). Если границу передвинуть дальше вправо, то сетей станет больше, но все равно все они будут одинакового размера. Оче­видно, что такой жесткий подход не позволяет дифференцированно удовле­творять потребности отд-ных предприятий и организаций. Именно поэтому он не нашел прим-я, хотя и использовался на начальном этапе существо­вания технологии ТСР/IР (RFС 760).

□Второй подход (RFС 950, RFС 1518) основан на исп-ии маски, кото­рая позволяет максимально гибко устанавливать границу между номером сети и номером узла. При таком подходе адресное пространство можно ис­п-ть для создания множества сетей разного размера.

Маска — это число, применяемое в паре с IР-адресом, причем двоичная за­пись маски содержит непрерывную послед-ть единиц в тех разря­дах, которые должны в IР-адресе интерпретироваться как номер сети. Гра­ница м/у последовательностями единиц и нулей в маске соотв-ет границе м/у номером сети и номером узла в IР-адресе.

-И, наконец, наиболее распростр. до недавнего времени способ реш-я данной проблемы закл-ся в исп-ии классов адресов (RFС 791). Этот сп-б предст. собой компромисс по отн-ю к 2м предыду­щим: размеры сетей хотя и не могут быть произвольными, как при использо­вании масок, но и не должны быть одинаковыми, как при установлении фик­сированных границ. Вводится 5 классов адресов: А, В, С, D, Е. 3 из них — А, В и С — исп-ся для адресации сетей, а 2 – D и Е - имеют спец.назначение. Для каждого класса сетевых адресов определено собст. положение границы м/у № сети и № узла.

Адресация и технология CIDR

Технология бесклассовой междоменной маршрутизации (Classless Inter-Domain Routing, CIDR), которая описана в документах RFС 1517, RFС 1518, RFС 1519, RFС 1520 и о которой впервые было официально объявлено в 1993 году, позволя­ет центрам распределения адресов избежать выдачи абонентам излишних адресов.

Деление IР-адреса на № сети и № узла в технологии CIDR происходит не на основе нескольких старших битов, опр-щих класс сети (А, В или С), а на основе маски переменной длины, назначаемой поставщиком услуг. Непре­менным усл-ем применимости CIDR является наличие у организации, распо­ряжающейся адресами, непрерывных диапазонов адресов. Такие адреса имеют одинак.префикс, т.е. одинак.цифры в нескольких старших разря­дах. Пусть в распоряжении некоторого поставщика услуг имеется непрерывное пространство IР-адресов в кол-ве 2­n (рис. 17.3). Отсюда следует, что пре­фикс имеет длину (32 - n) разрядов. Оставшиеся n разрядов играют роль счет­чика последовательных номеров.

[7.3]

Когда потребитель обращается к поставщику услуг с просьбой о выделении ему некоторого числа адресов, то в имеющемся пуле адресов «вырезается» непрерыв­ная область 51, 52 или 53, в зависимости от требуемого кол-ва адресов. При этом должны быть выполнены следующие условия:

-кол-во адресов в выделяемой области должно быть =степени двойки,

-нач.граница выделяемого пула адресов должна быть кратна требуемо­му кол-ву узлов.

Очевидно, что префикс каждой из показанных на рисунке областей имеет собст­венную длину — чем меньше кол-во адресов в данной области, тем длиннее, ее префикс.

Пример

Пусть поставщик услуг Инета располагает пулом адресов в диапазоне 193.20.0.0 - 193.23.255.255 (1100 0001,0001 0100.0000 0000.0000 0000 -1100 0001.0001 0111.1111 1111.1111 1111), т.е. кол-во адресов равно 218. Соотв-но префикс поставщика услуг име­ет длину 14 разрядов — 1100 0001.0001 01, или в др. виде — 193.20/14.

Если абоненту этого поставщика услуг требуется совсем немного адресов, например 13, то поставщик мог бы предложить ему различные варианты: сеть 193.20.30.0/28, сеть 193.20.30.16/28 или сеть 193.21.204.48/28. Во всех случаях в распоряжении абонента для нумерации узлов имеются 4 младших бита. Т.о., наим.число, удовлетворяющее потребностям абонента (13), которое можно представить степенью двойки (24), является 16. Префикс для каждого из выделяемых пулов во всех этих случаях играет роль номера сети, он имеет длину 32 - 4 = 28 разрядов.

Рассмотрим др.вариант, когда к поставщику услуг обратился крупный заказчик, сам, возможно, собирающийся оказывать услуги по доступу в Интернет. Ему требуется блок адресов в 4000 узлов. На нумерацию такого кол-ва узлов пойдет 12 двоич­ных разрядов, =>, размер выделенного пула адресов будет несколько > требуемого — 4096. Граница, с которой должен начинаться выделяемый участок, должна быть кратна размеру участка, то есть это могут быть любые адреса из следую­щих: 193.20.0.0,193.20.16.0,193.20.32.0,193.20.48.0, и другие числа оканчивающиеся на 12 нулей. Пусть поставщик услуг предложил потребителю диапазон адресов 193.20.16.0- 193.20.31.255. Для этого диапазона агрегированный номер сети (префикс) имеет дли­ну 20 двоичных разрядов и равен 193.20.16.0/20.

Благодаря CIDR поставщик услуг получает возможность «нарезать» блоки из выделенного ему адресного пространства в соотв-ии с действительными тре­бованиями каждого клиента.

Отображение IP-адресов на локальные адреса

1 из гл.задач, кот. ставилась при создании протокола IР, являлось обеспечение совместной согласованной работы в сети, состоящей из подсетей, в общем случае использующих разные сетевые технологии. Вз-е тех­нологии ТСР/IР с лок.технологиями подсетей происходит многократно при перемещении IР-пакета по составной сети. На каждом маршр-ре про­токол IР определяет, какому след.маршр-ру в этой сети надо на­править пакет. В рез-те реш-я этой задачи протоколу IР становится из­вестен IР-адрес интерфейса след. маршр-ра (или конечного узла, если эта сеть явл.сетью назначения). Чтобы лок.технология сети смогла доставить пакет на след. маршр-р, необходимо:

-паковать пакет в кадр соответствующего для данной сети формата (напри­мер, Ethernet);

[7.4]

-снабдить данный кадр локальным адресом следующего маршр-ра. Реш-ем этих задач, как уже отмечалось, занимается уровень сетевых интер­фейсов стека ТСР/IР.

Протокол разрешения адресов

Каждый сетевой адаптер имеет свой уникальный физический адрес (или MAC-адрес). За отображение IP-адресов адаптеров на их физические адреса отвечает протокол ARP (Address Resolution Protocol). Необходимость протокола ARP продиктована тем обстоятельством, что IP-адреса устройств в сети назначаются независимо от их физических адресов. Поэтому для доставки сообщений по сети необходимо определить соответствие между физическим адресом устройства и его IP-адресом — это называется разрешением адресов. В большинстве случаев прикладные программы используют именно IP-адреса. А так как схемы физической адресации устройств весьма разнообразны, то необходим специальный, универсальный протокол. Протокол разрешения адресов ARP был разработан таким образом, чтобы его можно было использовать для разрешения адресов в различных сетях. Фактически ARP можно использовать с произвольными физическими адресами и сетевыми протоколами. Протокол ARP предполагает, что каждое устройство знает как свой IP-адрес, так и свой физический адрес. ARP динамически связывает их и заносит в специальную таблицу, где хранятся пары "IP-адрес — физический адрес". Эта таблица хранится в памяти компьютера и называется кэш протокола ARP (ARP-cache).

Работа протокола ARP заключается в отправке сообщений между сетевыми узлами:

-ARP Request (запрос ARP) — широковещательный запрос, отправляемый на физическом уровне модели TCP/IP, для определения MAC-адреса узла, имеющего конкретный IP-адрес;

-ARP Reply (ответ ARP) — узел, IP-адрес которого содержится в ARP-запросе, отправляет узлу, пославшему ARP-запрос, информацию о своем MAC-адресе;

-RARP Request, или Reverse ARP Request (обратный ARP-запрос) — запрос на определение IP-адреса по известному MAC-адресу;

-RARP Reply, или Reverse ARP Reply (обратный ARP-ответ) — ответ узла на обратный ARP-запрос.

Принцип работы протокола ARP:

Перед тем как передать пакет сетевого уровня через сегмент Ethernet, сетевой стек проверяет кэш ARP, чтобы выяснить, не зарегистрирована ли в нём уже нужная информация об узле-получателе. Если такой записи в кэше ARP нет, то выполняется широковещательный запрос ARP. Этот запрос для устройств в сети имеет следующий смысл: «Кто-нибудь знает физический адрес устройства, обладающего следующим IP-адресом?» Когда получатель с этим IP-адресом примет этот пакет, то должен будет ответить: «Да, это мой IP-адрес. Мой физический адрес следующий: …» После этого отправитель обновит свой кэш ARP и будет способен передать информацию получателю.

Записи в кэше ARP могут быть статическими и динамическими. Пример, данный выше, описывает динамическую запись кэша. Можно также создавать статические записи в таблице ARP. Это можно сделать при помощи команды:

arp -s <IP-адрес> <MAC-адрес>

Записи в таблице ARP, созданные динамически, остаются в кэше в течение 2-х минут. Если в течение этих двух минут произошла повторная передача данных по этому адресу, то время хранения записи в кэше продлевается ещё на 2 минуты. Эта процедура может повторяться до тех пор, пока запись в кэше просуществует до 10 минут. После этого запись будет удалена из кэша, и будет отправлен повторный запрос ARP.