ВВЕДЕНИЕ
Стек протоколов TCP/IPтесно связан с сетью Internet, ее историей и
современностью. Создан он был в1969 году, когда для сети ARPANET
понадобился ряд стандартов для объединения вединую сеть компьютеров
с различными архитектурами и операционными системами.На базе этих
стандартов и был разработан набор протоколов, получивших
названиеTCP/IP. Вместе с ростом Internet протокол TCP/IP завоевывал
позиции и в другихсетях. На сегодняшний день этот сетевой протокол
используется как для связикомпьютеров всемирной сети, так и в
подавляющем большинстве корпоративныхсетей. В наши дни используется
версия протокола IP, известная как IPv4. Встатье мы рассмотрим
стандартную схему адресации и более новые методырационального
использования адресного пространства, введенные в
результатеобнаруженных недостатков в реализации протокола IP. 1
АДРЕСАЦИЯПРОТОКОЛА IP
Согласно спецификациипротокола, каждому узлу, подсоединенному к
IP-сети, присваивается уникальныйномер. Узел может представлять
собой компьютер, маршрутизатор, межсетевой экрани др. Если один
узел имеет несколько физических подключений к сети, то
каждомуподключению должен быть присвоен свой уникальный номер. Этот
номер, илипо-другому IP-адрес, имеет длину в четыре октета, и
состоит из двух частей.Первая часть определяет сеть, к которой
принадлежит узел, а вторая — уникальный адрес самого узла внутри
сети. В классической реализации протоколапервую часть адреса
называли «сетевым префиксом», поскольку онаоднозначно определяла
сеть. Однако в современной реализации это уже не так исеть
идентифицируют другим образом, ниже речь пойдет о классической
адреснойсхеме протокола ip.
Изначально все адресноепространство разделили на пять классов: A,
B, C, D и Е. Такая схема получиланазвание «классовой». Каждый класс
однозначно идентифицировалсяпервыми битами левого байта адреса.
Сами же классы отличались размерами сетевойи узловой частей. Зная
класс адреса, вы могли определить границу между егосетевой и
узловой частями. Кроме того, такая схема позволяла при
маршрутизациине передавать вместе с пакетом информацию о длине
сетевой части IP-адреса.
Таблица1-Иеархическая
схема протоколов IP
Класс А
Номер бита
0
8
16
24 31
Адрес
0.......
........
........
........
Сетевая часть
Класс В
Номер бита
0
8
16
24 31
Адрес
10......
........
........
........
Сетевая часть
Класс С
Номер бита
0
8
16
24 31
Адрес
110.....
........
........
........
Сетевая часть
Класс D
Номер бита
0
8
16
24 31
Адрес
1110....
........
........
........
Класс E
Номер бита
0
8
16
24 31
Адрес
1111....
........
........
........
Класс А ориентирован наочень большие сети. Все адреса,
принадлежащие этому классу, имеют 8-битныйсетевой префикс, на что
указывает первый бит левого байта адреса установленныйв нуль.
Соответственно, на идентификацию узла отведено 24 бита и каждая
сеть«восьмерка» может содержать до 224-2 узлов. Два
адресанеобходимо отнять, поскольку адреса, содержащие в правом
октете все нули(идентифицирует указанную сеть) и все единицы
(широковещательный адрес)используются в служебных целях и не могут
быть присвоены узлам. Самих же сетей«восьмерок» может быть 27-2.
Снова мы вычитаем двойку, ноэто уже две служебных сети: 127/8 и 0/8
(по-старому: 127.0.0.0 и 0.0.0.0).Наконец, можно заметить, что
класс А содержит всего 27 * 224= 231 адресов, или половину всех
возможных IP-адресов. Класс Впредназначен для сетей большого и
среднего размеров. Адреса этого классаидентифицируются двумя
старшими битами, равными соответственно 1 и 0. Сетевойпрефикс
класса состоит из шестнадцати бит или первых двух октетов адреса.
Посколькудва первых бита сетевого префикса заняты определяющим
класс ключом, то можнозадать лишь 214 различных сетей. Узлов же в
каждой сети можноопределить до 216-2. В некоторых источниках, для
определенияколичества возможных сетей используется формула 2х-2 для
всехклассов, а не только для А. Это связано с определенными
причинами, которыеболее детально будут изложены ниже. На
сегодняшний день нет никакойнеобходимости уменьшать количество
возможных сетей на две. Проведя вычисления,аналогичные приведенным
для класса А, мы увидим, что класс В занимаетчетверть
адресного пространства протокола IPНаконец, самый употребляемый
класссетей – класс С – имеет 24 битный сетевой префикс,
определяется старшимибитами, установленными в 110, и может
идентифицировать до 221 сетей.Соответственно, класс позволяет
адресовать до 28-2 узлов. Занимаетвосьмую часть адресного
пространства протокола TCP/IP. Последние два классазанимают
оставшуюся восьмую часть в адресном пространстве и предназначены
дляслужебного (класс D) и экспериментального (класс Е)
использования. Для класса Dстаршие четыре бита адреса установлены в
1110, для класса Е — 1111. Сегоднякласс D используется для
групповой передачи информации. Поскольку длинныепоследовательности
из единиц и нулей трудно запомнить, IP адреса обычнозаписывают в
десятичной форме. Для этого каждый октет адреса представляется
ввиде десятичного числа. Между собой октеты отделяются точкой.
Иногда октетыобозначаются как w.x.y.z и называются «z-октет»,
«y-октет»,«x-октет» и «w-октет». Представление IP-адреса в
видечетырех десятичных чисел разделенных точками и
называется«точечно-десятичная нотация».
Октет
W
X
Y
Z
Номер бита
0
8
16
24 31
Адрес
11011100
11010111
00001110
00010110
220
215
14
22
Точечно- десятичный формат
220.215.14.22
Рисунок 1 - IPв точечно-десятичной нотации
На рис. 1 показано, как IP-адреспредставляется в точечно-десятичной
нотации.
Подытожим информацию о классах сетейв таблице:
Таблица 2- Классовая сеть
Класс
Количество сетей
Количество узлов
Десятичный диапазон
A
27 – 2 (126)
224 – 2 (2 147 483 648)
1.ххх.ххх.ххх
126.ххх.ххх.ххх
B
214 (16 384)
216 – 2 (65 534)
128.0.ххх.ххх
191.255.ххх.ххх
C
221 (2 097 152)
28 – 2 (254)
192.0.0.ххх
223.255.255.ххх
D
—
—
224.0.0.ххх
239.255.255.ххх
E
—
—
240.0.0.ххх
254.255.255.ххх
1.1 Соглашение о специальных:: broadcast,multicast, loopback
В протоколе IP существует несколько соглашений обособой
интерпретации IP-адресов:
· еслиIР-адрес состоит только из
двоичных нулей,
0 0 0 0… 0 0 0 0
то он обозначает адрес того узла, который сгенерировалэтот
пакет;
· еслив поле номера сети стоят
0,
0 0 0 0 .......0
Номер узла
то по умолчанию считается, что этот узел принадлежиттой же самой
сети, что и узел, который отправил пакет;
· есливсе двоичные разряды
IP-адреса равны 1, то пакет с таким адресом назначениядолжен
рассылаться всем узлам, находящимся в той же сети, что и источник
этогопакета.
1 1 1 1 .........................................1 1
Такая рассылка называется ограниченнымшироковещательным сообщением
(limited broadcast);
· еслив поле адреса назначения
стоят сплошные 1,
Номер сети
1111................11
то пакет, имеющий такой адрес рассылается всем узламсети с заданным
номером. Такая рассылка называется широковещательным
сообщением(broadcast);
· адрес127.0.0.1 зарезервирован
для организации обратной связи при тестировании работыпрограммного
обеспечения узла без реальной отправки пакета по сети. Этот
адресимеет название loopback.
Уже упоминавшаяся форма группового IP-адреса — multicast —
означает, что данный пакет должен быть доставлен сразу
несколькимузлам, которые образуют группу с номером, указанным в
поле адреса. Узлы самиидентифицируют себя, то есть определяют, к
какой из групп они относятся. Один итот же узел может входить в
несколько групп. Такие сообщения в отличие отшироковещательных
называются мультивещательными. Групповой адрес не делится наполя
номера сети и узла и обрабатывается маршрутизатором особым образом.
Впротоколе IP нет понятия широковещательности в том смысле, в
котором оноиспользуется в протоколах канального уровня локальных
сетей, когда данныедолжны быть доставлены абсолютно всем узлам. Как
ограниченный широковещательныйIP-адрес, так и широковещательный
IP-адрес имеют пределы распространения винтерсети — они ограничены
либо сетью, к которой принадлежит узел — источникпакета, либо
сетью, номер которой указан в адресе назначения. Поэтому
делениесети с помощью маршрутизаторов на части локализует
широковещательный штормпределами одной из составляющих общую сеть
частей просто потому, что нет способаадресовать пакет одновременно
всем узлам всех сетей составной сети.
1.2Отображение физических адресов на IP-адреса: протоколы ARPи
RARP
В протоколе IP-адресузла, то есть адрес компьютера или порта
маршрутизатора, назначаетсяпроизвольно администратором сети и прямо
не связан с его локальным адресом, какэто сделано, например, в
протоколе IPX.
Подход, используемый в IP, удобноиспользовать в
крупных сетях и по причине его независимости от форматалокального
адреса, и по причине стабильности, так как в противном случае,
присмене на компьютере сетевого адаптера это изменение должны бы
были учитыватьвсе адресаты всемирной сети Internet (в том случае,
конечно, если сетьподключена к Internet'у). Локальный адрес
используется в протоколе IP только впределах локальной сети при
обмене данными между маршрутизатором и узлом этойсети.
Маршрутизатор, получив пакет для узла одной из сетей,
непосредственноподключенных к его портам, должен для передачи
пакета сформировать кадр всоответствии с требованиями принятой в
этой сети технологии и указать в немлокальный адрес узла, например
его МАС-адрес. В пришедшем пакете этот адрес неуказан, поэтому
перед маршрутизатором встает задача поиска его по
известномуIP-адресу, который указан в пакете в качестве адреса
назначения. С аналогичнойзадачей сталкивается и конечный узел,
когда он хочет отправить пакет вудаленную сеть через маршрутизатор,
подключенный к той же локальной сети, что иданный узел. Для
определения локального адреса по IP-адресу используетсяпротокол
разрешения адреса AddressResolution Protocol, ARP. Протокол ARP
работает различным образом взависимости от того, какой протокол
канального уровня работает в данной сети — протокол локальной сети
(Ethernet, Token Ring, FDDI) с возможностьюшироковещательного
доступа одновременно ко всем узлам сети, или же протоколглобальной
сети (X.25, frame relay), как правило не
поддерживающийшироковещательный доступ. Существует также протокол,
решающий обратную задачу — нахождение IP-адреса по известному
локальному адресу. Он называется реверсивныйARP — RARP (Reverse
Address ResolutionProtocol) и используется при старте бездисковых
станций, не знающих вначальный момент своего IP-адреса, но знающих
адрес своего сетевого адаптера. Влокальных сетях протокол ARP
использует широковещательные кадры протоколаканального уровня для
поиска в сети узла с заданным IP-адресом. Узел, которомунужно
выполнить отображение IP-адреса на локальный адрес, формирует ARP
запрос,вкладывает его в кадр протокола канального уровня, указывая
в нем известныйIP-адрес, и рассылает запрос широковещательно. Все
узлы локальной сети получаютARP запрос и сравнивают указанный там
IP-адрес с собственным. В случае ихсовпадения узел формирует
ARP-ответ, в котором указывает свой IP-адрес и свойлокальный адрес
и отправляет его уже направленно, так как в ARP запросеотправитель
указывает свой локальный адрес. ARP-запросы и ответы используютодин
и тот же формат пакета. Так как локальные адреса могут в различных
типахсетей иметь различную длину, то формат пакета протокола ARP
зависит от типасети. На рисунке 2 показан формат пакета протокола
ARP для передачи по сетиEthernet.
Тип сети
Тип протокола
Длина локального адреса
Длина сетевого адреса
Операция
Локальный адрес отправителя (байты 0 — 3)
Локальный адрес отправителя (байты 4 — 5)
IP-адрес отправителя (байты 0-1)
IP-адрес отправителя (байты 2-3)
Искомый локальный адрес (байты 0 — 1)
Искомый локальный адрес (байты 2-5)
Искомый IP-адрес (байты 0 — 3)
Рисунок
2- Формат пакета протокола ARP
В поле типа сети длясетей Ethernet указывается значение 1. Поле
типа протокола позволяет использоватьпакеты ARP не только для
протокола IP, но и для других сетевых протоколов. ДляIP значение
этого поля равно 080016. Длина локального адреса дляпротокола
Ethernet равна 6 байтам, а длина IP-адреса — 4 байтам. В
полеоперации для ARP запросов указывается значение 1 для протокола
ARP и 2 дляпротокола RARP. Узел, отправляющий ARP-запрос, заполняет
в пакете все поля,кроме поля искомого локального адреса (для
RARP-запроса не указывается искомыйIP-адрес). Значение этого поля
заполняется узлом, опознавшим свой IP-адрес. Вглобальных сетях
администратору сети чаще всего приходится вручную
формироватьARP-таблицы, в которых он задает, например, соответствие
IP-адреса адресу узласети X.25, который имеет смысл локального
адреса. В последнее время наметиласьтенденция автоматизации работы
протокола ARP и в глобальных сетях. Для этойцели среди всех
маршрутизаторов, подключенных к какой-либо глобальной
сети,выделяется специальный маршрутизатор, который ведет
ARP-таблицу для всехостальных узлов и маршрутизаторов этой сети.
При таком централизованном подходедля всех узлов и маршрутизаторов
вручную нужно задать только IP-адрес илокальный адрес выделенного
маршрутизатора. Затем каждый узел и маршрутизаторрегистрирует свои
адреса в выделенном маршрутизаторе, а при необходимостиустановления
соответствия между IP-адресом и локальным адресом узел обращаетсяк
выделенному маршрутизатору с запросом и автоматически получает
ответ безучастия администратора.
1.3 Организация доменов и доменных имен
Для идентификациикомпьютеров аппаратное и программное обеспечение в
сетях TCP/IP полагается на IP-адреса, поэтому для доступа к
сетевому ресурсу впараметрах программы вполне достаточно указать
IP-адрес, чтобы программа правильно поняла, ккакому хосту ей нужно
обратиться. Например, команда ftp://192.45.66.17 будет
устанавливать сеанс связи снужным ftp-сервером, а команда
http://203.23.106.33 откроет начальную страницу накорпоративном
web-сервере. Однакопользователи обычно предпочитают работать с
символьными именами компьютеров, иоперационные системы локальных
сетей приучили их к этому удобному способу.Следовательно, в сетях
TCP/IP должны существовать символьные имена хостов имеханизм для
установления соответствия между символьными именами и IP-адресами.
В операционных системах, которыепервоначально разрабатывались для
работы в локальных сетях, таких как NovellNetWare,
MicrosoftWindowsили IBMOS/2, пользователи всегда работали с
символьнымиименами компьютеров. Так как локальные сети состояли из
небольшого числакомпьютеров, то использовались так называемые
плоские имена, состоящие изпоследовательности символов, не
разделенных на части. Примерами таких именявляются: NW1_1, mail2,
MOSCOW_ SALES_2. Для установления соответствия междусимвольными
именами и МАС-адресами в этих операционных системах
применялсямеханизм широковещательных запросов, подобный механизму
запросов протокола ARP. Так, широковещательный способ разрешения
Имен реализованв протоколе NetBIOS, на котором былипостроены
многие локальные ОС. Так называемые NetBIOS-имена стали на долгие
годы одним из основныхтипов плоских имен в локальных сетях. Для
стека TCP/IP, рассчитанного в общемслучае на работу в больших
территориально распределенных сетях, подобныйподход оказывается
неэффективным по нескольким причинам. Плоские имена не
даютвозможности разработать единый алгоритм обеспечения
уникальности имен впределах большой сети. В небольших сетях
уникальность имен компьютеровобеспечивает администратор сети,
записывая несколько десятков имен в журналеили файле. При росте
сети задачу решают уже несколько администраторов,согласовывая имена
между собой неформальным способом. Однако если сетьрасположена в
разных городах или странах, то администраторам каждой части
сетинужно придумать способ именования, который позволил бы им
давать имена новымкомпьютерам независимо от других администраторов,
обеспечивая в то же времяуникальность имен для всей сети. Самый
надежный способ решения этой задачи —отказ от плоских имен в
принципе. Широковещательный способ установлениясоответствия между
символьными именами и локальными адресами хорошо работаеттолько в
небольшой локальной сети, не разделенной на подсети. В крупных
сетях,где общая широковещательность не поддерживается, нужен
другой способразрешения символьных имен. Обычно хорошей
альтернативой широковещательностиявляется применение
централизованной службы, поддерживающей соответствие
междуразличными типами адресов всех компьютеров сети. Компания
Microsoftдля своей корпоративнойоперационной системы
WindowsNTразработала централизованную службу WINS, которая
поддерживает базу данных NetBIOS-имен и соответствующих им
IP-адресов. Для эффективной организации именованиякомпьютеров в
больших сетях естественным является применение
иерархическихсоставных имен. В стеке TCP/IP применяется доменная
система имен, которая имеетиерархическую древовидную структуру,
допускающую использование в именипроизвольного количества
составных частей (рис. 3).
Рисунок 3 —
Пространство доменных имен
Иерархия доменных именаналогична иерархии имен файлов, принятой во
многих популярных файловыхсистемах. Дерево имен начинается с
корня, обозначаемого здесь точкой (.). Затем следует старшая
символьная часть имени,вторая по старшинству символьная часть имени
и т. д. Младшая часть именисоответствует конечному узлу сети. В
отличие от имен файлов, при записи которыхсначала указывается
самая старшая составляющая, затем составляющая болеенизкого уровня
и т. д., запись доменного имени начинается с самой
младшейсоставляющей, а заканчивается самой старшей. Составные
части доменного имениотделяется друг от друга точкой. Например, в
имени partnering.microsoft.comсоставляющая partneringявляется
именем одного из компьютеров в домене microsoft.com.Разделение
имени начасти позволяет разделитьадминистративную ответственность
за назначение уникальных именмежду различными людьми или
организациями в пределах своего уровня иерархии.Так, для примера,
приведенного на рис.1.3, один человек может нестиответственность за
то, чтобы все имена, которые имеют окончание «ru», имели уникальную
следующую вниз по иерархиичасть. Если этот человек справляется со
своими обязанностями, то все именатипа www.ru, mail.mmt.ruили
m2.zil.mmt.ruбудут отличаться второйпо старшинству частью.
Разделениеадминистративной ответственности позволяет решить
проблему образованияуникальных имен без взаимных консультаций
между организациями, отвечающими заимена одного уровня иерархии.
Очевидно, что должна существовать однаорганизация, отвечающая за
назначение имен верхнего уровня иерархии. Совокупностьимен, у
которых несколько старших составных частей совпадают, образуют
домен {domain) имен.Например, имена www1.zil.mmt.ru,
ftp.zil.mmt.ru, yauidex.ruи s1 .mgu.ruвходят в домен ru, так как
все эти имена имеют одну общую старшуючасть — имя ru. Другим
примеромявляется домен mgu.ru. Из представленных на рис. 3 имен в
него входятимена s1.mgu.ru, s2.mgu.ruи rn.mgu.ru. Этот домен
образуютимена, у которых две старшие части всегда равны mgu.ru. Имя
www.mmt.ruв домен mgu.ruне входит, так как имеет отличающуюся
составляющуюmmt.Если один домен входит в другой домен как
егосоставная часть, то такой домен могут называть поддоменом
(subdomain), хотяназван
Организация адресации в ip сетях
203
0
12 минут
Темы:
Понравилась работу? Лайкни ее и оставь свой комментарий!
Для автора это очень важно, это стимулирует его на новое творчество!