Маски переменной длины

Федеральное государственное автономное

образовательное учреждение

высшего профессионального образования

«СИБИРСКИЙ  ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» 

       Институт  управления бизнес-процессами и экономики

институт 
 
 
 
 
 
 

РЕФЕРАТ 
 
 
 
 

Маски переменной длины

тема  
 
 
 
 
 
 
 
 
 
 

          Студент                                    УБ 11-10               Шумкина Ю.С.

                                                                                           

    Преподаватель                         23.11.11 г           Кузьменко Н.Г. 
     
     
     
     

Красноярск 2011 

     Оглавление.

     1. Содержание……………………………………………………………………………….2

     2. Введение ………………………………………………………………………………….3

     3. Адреса протокола IP ……………………………………………………………………..3

     4. Классическая адресная схема протокола IP ………………………………..…………..3

     5. Особые IP-адреса……………………………………………………………………….4

     6. Зарезервированные адреса ………………………………………………………………5

     7. Организация подсетей …………………………………………………………………...6

     8. Маска подсети переменной длины (VLSM) ……………………………………………6

     9. Проблемы классической схемы …………………………………………………………7

     10. Бесклассовая междоменная маршрутизация (CIDR) ………………………………...7

     11. Использование масок в IP-адресации……………………………………………….8

     12. Приложения………………………...……………………………………………………9

     13. Список используемой литературы..…………………………………………………11 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     Введение

     Стек  протоколов TCP/IP тесно связан с сетью Internet, ее историей и современностью. Создан он был в 1969 году, когда для  сети ARPANET понадобился ряд стандартов для объединения в единую сеть компьютеров с различными архитектурами и операционными системами. На базе этих стандартов и был разработан набор протоколов, получивших название TCP/IP.

     Вместе  с ростом Internet протокол TCP/IP завоевывал позиции и в других сетях. На сегодняшний день этот сетевой протокол используется как для связи компьютеров всемирной сети, так и в подавляющем большинстве корпоративных сетей.

     В наши дни используется версия протокола IP, известная как IPv4. В статье мы рассмотрим стандартную схему адресации и более новые методы рационального использования адресного пространства, введенные в результате обнаруженных недостатков в реализации протокола IP.  

     Адреса  протокола IP

     Согласно  спецификации протокола, каждому узлу, подсоединенному к IP-сети, присваивается уникальный номер. Узел может представлять собой компьютер, маршрутизатор, межсетевой экран и др. Если один узел имеет несколько физических подключений к сети, то каждому подключению должен быть присвоен свой уникальный номер.

     Этот  номер, или по-другому IP-адрес, имеет  длину в четыре октета, и состоит  из двух частей. Первая часть определяет сеть, к которой принадлежит узел, а вторая - уникальный адрес самого узла внутри сети (приложение 1).

     В классической реализации протокола  первую часть адреса называли «сетевым префиксом», поскольку она однозначно определяла сеть. Однако в современной реализации это уже не так и сеть идентифицируют другим образом, речь о чем пойдет ниже. 

     Классическая  адресная схема протокола IP

     Изначально  все адресное пространство разделили  на пять классов: A, B, C, D и Е. Такая схема получила название «классовой». Каждый класс однозначно идентифицировался первыми битами левого байта адреса. Сами же классы отличались размерами сетевой и узловой частей. Зная класс адреса, вы могли определить границу между его сетевой и узловой частями. Кроме того, такая схема позволяла при маршрутизации не передавать вместе с пакетом информацию о длине сетевой части IP-адреса.

     В приложении 2 показана структура IP-адреса разных классов.

     Класс А ориентирован на очень большие  сети. Все адреса, принадлежащие  этому классу, имеют 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-адреса в виде четырех десятичных чисел разделенных точками и  называется «точечно-десятичная нотация».

       В приложении 3 показано, как IP-адрес в точечно-десятичной нотации.

     Подытожим информацию о классах сетей в таблице (приложение 4). 

     Особые IP-адреса

     В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов.

     Если  весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет; этот режим используется только в некоторых сообщениях ICMP.

     Если  в поле номера сети стоят только нули, то по умолчанию считается, что  узел назначения принадлежит той же самой сети, что и узел, который отправил пакет.

     Если  все двоичные разряды IP-адреса равны 1, то пакет с таким адресом  назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая  рассылка называется ограниченным широковещательным. сообщением (limited broadcast).

     Если  в поле номера узла назначения стоят  только единицы, то пакет, имеющий такой  адрес, рассылается всем узлам сети с заданным номером сети. Например, пакет с адресом 192.190.21.255 доставляется всем узлам сети 192.190.21.0. Такая рассылка называется широковещательным сообщением (broadcast).

     При адресации необходимо учитывать  те ограничения, которые вносятся особым назначением некоторых IP-адресов. Так, ни номер сети, ни номер узла не может состоять только из одних двоичных единиц или только из одних двоичных нулей. Отсюда следует, что максимальное количество узлов, приведенное в таблице для сетей каждого класса, на практике должно быть уменьшено на 2. Например, в сетях класса С под номер узла отводится 8 бит, которые позволяют задавать 256 номеров: от 0 до 255. Однако на практике максимальное число узлов в сети класса С не может превышать 254, так как адреса 0 и 255 имеют специальное назначение. Из этих же соображений следует, что конечный узел не может иметь адрес типа 98.255.255.255, поскольку номер узла в этом адресе класса А состоит из одних двоичных единиц.

     Особый  смысл имеет IP-адрес, первый октет  которого равен 127. Он используется для  тестирования программ и взаимодействия процессов в пределах одной машины. Когда программа посылает данные по IP-адресу 127.0.0.1, то образуется как бы «петля». Данные не передаются по сети, а возвращаются модулям верхнего уровня как только что принятые. Поэтому в IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127. Этот адрес имеет название loopback. Можно отнести адрес 127.0.0.0 ко внутренней сети модуля маршрутизации узла, а адрес 127.0.0.1 - к адресу этого модуля на внутренней сети. На самом деле любой адрес сети 127.0.0.0 служит для обозначения своего модуля маршрутизации, а не только 127.0.0.1, например 127.0.0.3.

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

     Уже упоминавшаяся форма группового IP-адреса - multicast - означает, что данный пакет должен быть доставлен сразу  нескольким узлам, которые образуют группу с номером, указанным в поле адреса. Узлы сами идентифицируют себя, то есть определяют, к какой из групп они относятся. Один и тот же узел может входить в несколько групп. Члены какой-либо группы multicast не обязательно должны принадлежать одной сети. В общем случае они могут распределяться по совершенно различным сетям, находящимся друг от друга на произвольном количестве хопов. Групповой адрес не делится на поля номера сети и узла и обрабатывается маршрутизатором особым образом.

     Основное  назначение multicast-адресов - распространение  информации по схеме «один-ко-многим». Хост, который хочет передавать одну и ту же информацию многим абонентам, с помощью специального протокола IGMP (Internet Group Management Protocol) сообщает о создании в сети новой мультивещательной группы с определенным адресом. Машрутизаторы, поддерживающие мультивещательность, распространяют информацию о создании новой группы в сетях, подключенных к портам этого маршрутизатора. Хосты, которые хотят присоединиться к вновь создаваемой мультивещательной группе, сообщают об этом своим локальным маршрутизаторам и те передают эту информацию хосту, инициатору создания новой группы.

     Чтобы маршрутизаторы могли автоматически  распространять пакеты с адресом multicast по составной сети, необходимо использовать в конечных маршрутизаторах модифицированные протоколы обмена маршрутной информацией, такие как, например, MOSPF (Multicast OSPF, аналог OSPF).

     Групповая адресация предназначена для  экономичного распространения в Internet или большой корпоративной сети аудио- или видеопрограмм, предназначенных сразу большой аудитории слушателей или зрителей. Если такие средства найдут широкое применение (сейчас они представляют в основном небольшие экспериментальные островки в общем Internet), то Internet сможет создать серьезную конкуренцию радио и телевидению. 

     Зарезервированные адреса

     Как уже отмечалось, в адресной схеме  протокола выделяют особые IP-адреса.

     Если  биты всех октетов адреса равны нулю, то он обозначает адрес того узла, который  сгенерировал данный пакет. Это используется в ограниченных случаях, например в  некоторых сообщениях протокола IP.

     Если  биты сетевого префикса равны нулю, полагается, что узел назначения принадлежит той же сети, что и источник пакета.

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

     Наконец, если в битах адреса, соответствующих  узлу назначения, стоят единицы, то такой пакет рассылается всем узлам указанной сети. Это называется широковещанием.

     Специальное значение имеет, так же, адреса сети 127/8. Они используются для тестирования программ и взаимодействия процессов в пределах одной машины. Пакеты, отправленные на этот интерфейс, обрабатываются локально, как входящие. Потому адреса из этой сети нельзя присваивать физическим сетевым интерфейсам.  

     Организация подсетей

     Очень редко в локальную вычислительную сеть входит более 100-200 узлов: даже если взять сеть с большим количеством узлов, многие сетевые среды накладывают ограничения, например, в 1024 узла. Исходя из этого, целесообразность использования сетей класса А и В весьма сомнительна. Да и использование класса С для сетей, состоящих из 20-30 узлов, тоже является расточительством.

     Для решения этих проблем в двухуровневую иерархию IP-адресов (сеть - узел) была введена новая составляющая - подсеть. Идея заключается в «заимствовании» нескольких битов из узловой части адреса для определения подсети.

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

     Но  маску в десятичном представлении  удобно использовать лишь тогда, когда  расширенный сетевой префикс заканчивается на границе октетов, в других случаях ее расшифровать сложнее. Допустим, что в примере (приложение 5) мы хотели бы для подсети использовать не 8 бит, а десять. Тогда в последнем (z-ом) октете мы имели бы не нули, а число 11000000. В десятичном представлении получаем 255.255.255.192. Очевидно, что такое представление не очень удобно. В наше время чаще используют обозначение вида «/xx», где хх - количество бит в расширенном сетевом префиксе. Таким образом, вместо указания: «144.144.19.22 с маской 255.255.255.192», мы можем записать: 144.144.19.22/26. Как видно, такое представление более компактно и понятно.  

     Маска подсети переменной длины VLSM (Variable Length Subnet Mask)

     Однако  вскоре стало ясно, что подсети, несмотря на все их достоинства, обладают и  недостатками. Так, определив однажды  маску подсети, приходится использовать подсети фиксированных размеров. Скажем, у нас есть сеть 144.144.0.0/16 с расширенным префиксом /23.

     Такая схема (приложение 6) позволяет создать 27 подсетей размером в 29 узлов каждая. Это подходит к случаю, когда есть много подсетей с большим количеством узлов. Но если среди этих сетей есть такие, количество узлов в которых находится в пределах ста, то в каждой их них будет пропадать около 400 адресов.

     Решение состоит в том, что бы для одной  сети указывать более одного расширенного сетевого префикса. О такой сети говорят, что это сеть с маской подсети переменной длины (VLSM).

     Действительно, если для сети 144.144.0.0/16 использовать расширенный сетевой префикс /25, то это больше бы подходило сетям размерами около ста узлов. Если допустить использование обеих масок, то это бы значительно увеличило гибкость применения подсетей.

     Общая схема разбиения сети на подсети  с масками переменной длины такова: сеть делится на подсети максимально необходимого размера. Затем некоторые подсети делятся на более мелкие, и рекурсивно далее, до тех пор, пока это необходимо.

     Кроме того, технология VLSM, путем скрытия  части подсетей, позволяет уменьшить  объем данных, передаваемых маршрутизаторами. Так, если сеть 12/8 конфигурируется с  расширенным сетевым префиксом  /16, после чего сети 12.1/16 и 12.2/16 разбиваются на подсети /20, то маршрутизатору в сети 12.1 незачем знать о подсетях 12.2 с префиксом /20, ему достаточно знать маршрут на сеть 12.1/16.  

     Проблемы  классической схемы 

     В середине 80-х годов Internet впервые  столкнулся с проблемой переполнения таблиц магистральных маршрутизаторов. Решение, однако, было быстро найдено - подсети устранили проблему на несколько лет. Но уже в начале 90-х к проблеме большого количества маршрутов прибавилась нехватка адресного пространства. Ограничение в 4 миллиарда адресов, заложенное в протокол и казавшееся недосягаемой величиной, стало весьма ощутимым.

     В качестве решения проблемы были одновременно предложены два подхода - один на ближайшее будущее, другой комплексный и долгосрочный. Первое решение - это внедрение протокола бесклассовой маршрутизации (CIDR), к которому позже присоединилась система NAT.

     Долгосрочное  решение - это протокол IP следующей версии. Он обозначается, как IPv6, или IPng (Internet Protocol next generation). В этой реализации протокола длина адреса увеличена до 16-ти байтов (128 бит), исключены некоторые элементы действующего протокола, которые оказались неиспользуемыми.

     Новая версия обеспечит, как любят указывать, плотность в 3 911 873 538 269 506 102 IP адресов  на квадратный метр поверхности Земли.

     Однако  то, что и в 2000-м году протокол все еще проходил стандартизацию, и то, что протокол CIDR вместе с  системой NAT оказались эффективным  решением, заставляет думать, что переход с IPv4 на IPng потребует очень много времени.  

     Бесклассовая  междоменная маршрутизация CIDR (Classless Inter-Domain Routing)

     Появление этой технологии было вызвано резким увеличением объема трафика в Internet и, как следствие, увеличением количества маршрутов на магистральных маршрутизаторах. Так, если в 1994 году, до развертывания CIDR, таблицы маршрутизаторов содержали до 70 000 маршрутов, то после внедрения их количество сократилось до 30 000. На сентябрь 2002, количество маршрутов перевалило за отметку 110 000! Можете себе представить, сколько маршрутов нужно было бы держать в таблицах сегодня, если бы не было CIDR!

     Что же представляет собой эта технология? Она позволяет уйти от классовой  схемы адресации, эффективней использовать адресное пространство протокола IP. Кроме  того, CIDR позволяет агрегировать маршрутные записи. Одной записью в таблице  маршрутизатора описываются пути ко многим сетям.

     Суть  технологии CIDR состоит в том, что  каждому поставщику услуг Internet (или, для корпоративных сетей, какому-либо структурно-территориальному подразделению) должен быть назначен неразрывный диапазон IP-адресов. При этом вводится понятие обобщенного сетевого префикса, определяющего общую часть всех назначенных адресов. Соответственно, маршрутизация на магистральных каналах может реализовываться на основе обобщенного сетевого префикса. Результатом является агрегирование маршрутных записей, уменьшение размера таблиц маршрутных записей и увеличение скорости обработки пакетов.

     Допустим, центральный офис компании выделяет одному своему региональному подразделению сети 172.16.0.0/16 и 172.17.0.0/16, а другому - 172.18.0.0/16 и 172.19.0.0/16. У каждого регионального подразделения есть свои областные филиалы и из полученного адресного блока им выделяются подсети разных размеров. Использование технологии бесклассовой маршрутизации позволяет при помощи всего одной записи на маршрутизаторе второго подразделения адресовать все сети и подсети первого подразделения. Для этого указывается маршрут к сети 172.16.0.0 с обобщенным сетевым префиксом 15. Он должен указывать на маршрутизатор первого регионального подразделения.

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

     Использование CIDR позволило разделить Internet на адресные домены, внутри которых передается информация исключительно о внутренних сетях. Вне домена используется только общий префикс сетей. В результате многим сетям соответствует одна маршрутная запись.  

     Использование масок в IP-адресации

     Традиционная  схема деления IP-адреса на номер  сети и номер узла основана на понятии класса, который определяется значениями нескольких первых бит адреса. Именно потому, что первый байт адреса 185.23.44.206 попадает в диапазон 128-191, мы можем сказать, что этот адрес относится к классу В, а значит, номером сети являются первые два байта, дополненные двумя нулевыми байтами - 185.23.0.0, а номером узла - 0.0.44.206.

     А что если использовать какой-либо другой признак, с помощью которого можно  было ,бы более гибко устанавливать границу между номером сети и номером узла? В качестве такого признака сейчас получили широкое распространение маски. Маска - это число, которое используется в паре с IP-адресом; двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Поскольку номер сети является цельной частью адреса, единицы в маске также должны представлять непрерывную последовательность.

     Для стандартных классов сетей маски  имеют следующие значения:

     класс А - 11111111. 00000000. 00000000. 00000000 (255.0.0.0);

     класс В - 11111111. 11111111. 00000000. 00000000 (255.255.0.0);

     класс С-11111111.11111111.11111111.00000000 (255.255.255.0). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложения 

Номер узла Номер узла
11011100 11010111 00001110 00010110
 

     Приложение 1 
 

 

     Приложение 2 

Октет W X Y Z
Номер бита 0 8 16 24   31
Адрес 11011100 11010111 00001110 00010110
  220 215 14 22
Точечно-десятичный формат 220.215.14.22
 

     Приложение 3 

Класс Количество  сетей Количество  узлов Десятичный  диапазон
A 27-2 (126) 224-2 (2147483648) 1.xxx.xxx.xxx -126.xxx.xxx.xxx
B 214 (16384) 216-2 (65534) 128.0.xxx.xxx -191.225.xxx.xxx
C 221 (2097152) 28-2 (254) 192.0.0.xxx -223.255.255.xxx
D - - 224.0.0.xxx -239.255.255.xxx
E - - 240.0.0.xxx -254.255.255.xxx
Маски переменной длины