Адресация в протоколе IPv4. Распределение подсетей.                                  Маски переменной длины

Оборудование
1.	Компьютер (с установленными telnet, HyperTerminal/SecureCRT) – 1 шт.
2.	Коммутатор Сisco Catalyst WS-C2960-24TT-L – 2 шт.
3.	Маршрутизатор Cisco 2801 – 2 шт.
4.	Патч-корды «прямые»– 4 шт.
5.	Патч-корды «кросс»– 4 шт.
6.	Консольный кабель – 1 шт.
7.	Розетки питания 220В для подключения 5 сетевых устройств.

Используемые термины:
•	Адрес -  уникальный номер, присвоенный хосту или интерфейсу сети.
•	Подсеть – часть сети с общим адресом подсети.
•	Маска подсети – комбинация 32 битов. Обозначает, какая часть адреса относится к подсети, а какая к хосту.

Адресация в протоколе IPv4
IP адрес используется для однозначного определения устройства в IP сети. Адрес состоит из 32 двоичных битов, которые можно условно поделить на часть, относящуюся к сети, и часть, относящуюся к устройству (хосту). 32 бита представляются в виде 4 октетов по 8 бит (4 байта). Каждый октет принято записывать в десятичном виде и записывать разделяя октеты точкой (например 192.168.10.100). Каждый октет может принимать десятичные значения от 0 до 255, или в двоичном виде от 00000000 до 11111111.
Как перевести двоичный октет в десятичный вид: надо просуммировать степени 2, обозначенные каждым битом, умноженные на сам бит. Самый правый (младший бит) определяет 20. Следующий бит – 21, потом – 22, и т.д. до последнего бита, определяющего 27.
Степень	27	26	25	24	23	22	21	20	
Значение 	128	64	32	16	8	4	2	1	

Переведем значение октета 11111111 в десятичный вид:

  1  1  1  1  1  1  1  1
128 64 32 16  8  4  2  1

128*1 + 64*1 + 32*1 + 16*1 + 8*1 + 4*1 + 2*1 = 255

Пример перевода октета 01000001:

  0  1  0  0  0  0  0  1
128 64 32 16  8  4  2  1

128*0 + 64*1 + 32*0 + 16*0 + 8*0 + 4*0 + 2*1 = 65

Пример IP адреса, записанный в десятичном и в двоичном виде:

      10.       1.      23.      19  (десятичный)
00001010.00000001.00010111.00010011  (двоичный)

Эти октеты распределяют, чтобы представлять различные по величине сети. Существует 5 классов сетей, называемых буквами от A до E. Мы рассматриваем классы от A до C, т.к. остальные классы зарезервированы для мультикаста и научных целей. 
Класс сети определяется по первым битам адреса:

В адресе класса A первый октет задает номер сети. Октеты 2, 3, 4 (следующие 24 бита) администратор по своему усмотрению может определить в подсети или хосты. Сети класса A используются, если необходимо более 65 тыс. хостов.
В адресе класса B первые два октета задают сеть. Октеты 3 и 4 (16 бит) остаются для распределения подсетей и хостов. Класс B подходит, если требуется от 256 до 65534 хостов.
В адресе класса C первые три октета задают сеть. Последний 4 октет (8 бит) служит для указания подсети и хоста. Используется для сетей, в которых менее 254 хостов.

Маска сети
Сетевая маска позволяет указать, какая часть адреса задает сеть, а какая идентифицирует узел (хост). Классы A, B, C имеют следующие стандартные маски:

Class A: 255.0.0.0
Class B: 255.255.0.0
Class C: 255.255.255.0

Возьмем для примера адрес хоста в сети класса A. Запишем его с маской в виде 8.20.15.1 255.0.0.0. Для наглядности перепишем адрес и маску в двоичном виде и определим адрес сети и адрес хоста:

8.20.15.1 = 00001000.00010100.00001111.00000001
255.0.0.0 = 11111111.00000000.00000000.00000000

Как только мы записали адрес и маску в двоичном виде, легко определить адрес сети и идентификатор хоста. Часть адреса на которые приходятся биты 1 в маске относится к сети. Часть адреса попадающие на 0 биты маски – идентификатор хоста. Получение адреса сети также можно определить как логичиская операция побитового И между адресом и маской (bitwise AND).
8.20.15.1 = 00001000.00010100.00001111.00000001
255.0.0.0 = 11111111.00000000.00000000.00000000
            −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
             Сеть   |      Хост id             

Сеть =  00001000 = 8
Хост =  00010100.00001111.00000001 = 20.15.1

Диапазон допустимых адресов
Итак, мы определили адрес сети – нулевой адрес. Следующий – первый – адрес уже можно использовать для назначения хосту. Последний адрес в сети имеет все биты хостовой части заданные в 1 – это широковещательный адрес для данной сети, или broadcast. Это адрес обозначающий «все хосты сети» и его нельзя присваивать конкретному хосту. Последний допустимый адрес хоста на 1 меньше широковещательного.
Таким образом мы получили алгоритм вычисления диапазона адресов сети. Чтобы получить первый адрес в сети, надо занулить все биты хостовой части, посчитать адрес и к результату прибавить 1. Чтобы получить последний адрес, надо задать в 1 все биты хостовой части, посчитать адрес и из результата вычесть 1.
Для нашего примера:

Адрес одного из хостов
      8.20.15.1 = 00001000.00010100.00001111.00000001
Маска 255.0.0.0 = 11111111.00000000.00000000.00000000

Сеть  8.0.0.0 ->  00001000.00000000.00000000.00000000
                 +                                  1
                  -----------------------------------
                  00001000.00000000.00000000.00000001
Первый допустимый 
адрес хоста     = 80.0.0.1

Широковещательный адрес
 8.255.255.255 -> 00001000.11111111.11111111.11111111
                 -                                  1
                  -----------------------------------
                  00001000.11111111.11111111.11111110
Последний допустимый 
адрес хоста     = 80.255.255.254

Полная информация о сети будет выглядеть следующим образом:
Сеть: 8.0.0.0
Маска: 255.255.255.0
Диапазон адресов: 8.0.0.1 – 8.255.255.254
Широковещательный адрес: 8.255.255.255

Выделение подсетей
Каждый интерфейс маршрутизатора должен иметь IP адрес из уникальной сети и «смотреть» с свою собственную сеть. Разбиение классовой сети на подсети и выделение каждому интерфейсу своей подсети, позволяет получить сеть объединенных подсетей. Любой маршрутизатор или шлюз, объединяющий N сетей/подсетей, обязан иметь N различных IP адресов (по адресу в каждой сети).
Чтобы выделить подсеть, необходимо «продлить» маску сети, добавив в битам сети часть битов хоста. Если к маске добавить 1 бит из хостовой части, то «родительская» сеть будет поделена на 2 подсети. Если добавить еще один бит (всего 2), то каждая подсеть разобьется еще на две, таким образом получится 4 подсети.
Для примера разобьем сеть класса C с адресом 204.15.5.0 255.255.255.0 на 8 подсетей. Для получения 8 подсетей нам понадобится занять 3 старших бита из хостовой части. Переведя полученную маску в десятичный вид, получим:

204.15.5.0 =      11001100.00001111.00000101.00000000
255.255.255.224 = 11111111.11111111.11111111.11100000
                  −−−−−−−−−−−−−−−−−−−−−−−−−−|sub|−−−−

Биты маски, отвечающие за подсеть, отмечены знаком Sub (subnet). Заняв 3 бита для использования в подсети, мы получили возможность создать до 8 подсетей. Каждая из 8 подсетей будет иметь 8-3=5 бит для назначения адреса хоста. 5 бит позволяют назначить адреса 30 хостам (адрес из всех нулей останется адресом сети, а из всех единиц – широковещательным). Перебирая значения битов подсети в адресе сети, получим адреса всех 8 подсетей. Первый IP адрес, следующий за адресом сети это первый доступный адрес для назначения хосту. Зная адрес следующей сети, вычитая из него 1 получим широковещательный адрес искомой подсети, вычитая из него 2 получим последний адрес хоста в искомой подсети. Выпишем полученные подсети и диапазоны:

204.15.5.0   255.255.255.224 адреса с 1 по 30
204.15.5.32  255.255.255.224 адреса с 33 по 62
204.15.5.64  255.255.255.224 адреса с 65 по 94
204.15.5.96  255.255.255.224 адреса с 97 по 126
204.15.5.128 255.255.255.224 адреса с 129 по 158
204.15.5.160 255.255.255.224 адреса с 161 по 190
204.15.5.192 255.255.255.224 адреса с 193 по 222
204.15.5.224 255.255.255.224 адреса с 225 по 254

Существует другой вариант записи маски – при помощи префикса. Префикс означает количество последовательных бит маски заданных в 1 (отведенных под адрес сети).  В нашем случае класс C имеет 24 бита в маске,  плюс три бита мы добавили из хостовой части. Таким образом всего в маске теперь 27 бит, т.е. 27 бит префикса. Префикс записывают через слэш после IP адреса, например:
   204.15.5.160/27

Такой способ записи адреса используется в CIDR – бесклассовой маршрутизации.
В данном примере мы получили 8 равновеликих подсетей, в каждой может находится до 30 компьютеров. Сетевая топология может выглядеть так, как представлено на схеме:

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

VLSM – маски переменной длины
В предыдущем примере мы распределили сеть на подсети одинакового размера. На практике часто требуется для экономии адресного пространства выделять сети разные по числу хостов. Например, для связи двух маршрутизаторов удобно использовать сеть с маской 255.255.255.252 (префикс /30), позволяющей назначить всего 2 адреса хоста.
Порядок выделения подсетей с масками разной длины следующий:
1.	Определить сколько необходимо подсетей и сколько хостов в каждой;
2.	Исходя из количества хостов (учитывая интерфейсы маршрутизатора) выбрать размер блока адресов: размер блока является степенью двойки (4, 8, 16, 32, 64, 128…).
3.	Определить место блока каждой подсети в диапазоне родительской сети, исходя из того, что каждый блок может начинаться только с адреса кратного блоку (например, блок длиной 32 может начинаться с адреса 64, но не 65).
4.	Выписать адрес каждой подсети и маску:
 адрес сети = нулевой адрес в диапазоне,
 маска = 256 - длина блока;
5.	Выписать широковещательный адрес каждой подсети = адрес сети + длина блока – 1 (часто это адрес на 1 меньше адреса следующей сети).
6.	Выписать диапазон хостов каждой подсети:
 начальный адрес = адрес сети + 1,
 конечный адрес = широковещательный – 1.

Рассмотрим пример:
	Сеть A должна содержать 14 хостов;
Сеть B должна содержать 28 хостов; 
Сеть C должна содержать 2 хостов; 
Сеть D должна содержать 7 хостов; 
Сеть E должна содержать 28 хостов.

Для каждой сети выберем блок учитывая, что каждой сети еще нужен широковещательный адрес и адрес сети. Округляем кол-во хостов в большую сторону до степени двойки:
Сеть A требует блок 16;
Сеть B требует блок 32; 
Сеть C требует блок 4; 
Сеть D требует блок 16; 
Сеть E требует блок 32.

При размещении блоков удобнее начать с самой большой подсети:
Адрес подсети	Маска	Широковещательный адрес	Диапазон хостов	
B: 204.15.5.0	255.255.255.224	204.15.5.31	1 – 30	
E: 204.15.5.32	255.255.255.224	204.15.5.63	33 – 62	
A: 204.15.5.64	255.255.255.240	204.15.5.79	65 – 78	
D: 204.15.5.80	255.255.255.240	204.15.5.95	81 – 94 	
C: 204.15.5.96	255.255.255.252	204.15.5.99	97 – 98	

Графически разделение диапазона родительской сети на подсети можно представить так:

Задание основных настроек коммутатора и маршрутизатора

Шаг	Команда	Описание	
1.		enable	Переход в привилегированный режим	
2.		conf t	Переход в режим конфигурирования	
3.		hostname routerX	Задание имени хоста	
4.		username user password 0 pass	Создание нового пользователя и пароля.
Цифра ноль означает, что пароль вводится в открытом виде.	
5.		enable secret 0 pass	Задание секретного пароля для доступа в режим enable. Цифра ноль означает, что пароль вводится в открытом виде.	
6.		line con 0
   login local	Настройка консольного порта на запрос пароля и проверку по локальной базе пользователей.	
7.		line vty 0 4
   login local	Настройка линий telnet на запрос пароля и проверку по локальной базе пользователей.	
8.		clock set 13:00:00 24 aug 2010	Задание системного времени	
9.		banner motd # Welcome home! #	Задание сообщения баннера, отображаемого всем пользователям при подключении к устройству для конфигурирования.	
10.		end	Выход из режима конфигурирования.	
11.		sh run	Просмотр действующей конфигурации	
12.		write	Сохранение настроек в файл конфигурации.	

Настройка сети управления коммутатора

Шаг	Команда	Описание	
1.		enable	Переход в привилегированный режим	
2.		conf t	Переход в режим конфигурирования	
3.		ip default-gatway ip-address	Введите ip шлюза по-умолчанию, который подключен непосредственно к текущему устройству. Шлюз используется для связи со внешними сетями.	
4.		int Vlan 1
  ip address ip-addr ip-mask
  no shutdown	Переход в режим настройки интерфейса управления на Vlan 1.
Задание адреса и маски сети для управления.
Включение интерфейса.
	
5.		end	Выход из режима конфигурирования.	
6.		sh run	Просмотр действующей конфигурации.	
7.		write	Сохранение настроек в файл конфигурации.	

Настройка сетей на маршрутизаторе

Шаг	Команда	Описание	
1.		enable	Переход в привилегированный режим	
2.		conf t	Переход в режим конфигурирования	
3.		int Fa 0/2
  description Link-to-Perm
  ip address ip-addr ip-mask
  no shutdown	Переход в режим настройки интерфейса FastEthernet модуль 0 интерфейс 2.
Задание описания для интерфейса.
Задание адреса и маски сети, подключенной к интерфейсу.
Включение интерфейса.
	
4.		end	Выход из режима конфигурирования.	
5.		sh run	Просмотр действующей конфигурации.	
6.		write	Сохранение настроек в файл конфигурации.	

Топология сети

Задание 1:
Из выданной провайдером сети выделить 4 подсети:
1.	для офисной сети (не менее 6 хостов);
2.	для сети супермаркета (не менее 6 хостов);
3.	для серверной сети (не менее 6 хостов);
4.	для связи с провайдером (на 2 хоста).
Для каждой подсети выписать в таблицу:
1.	адрес сети,
2.	маску,
3.	широковещательный адрес, 
4.	диапазон адресов хостов.
Задание 2:
1.	Настроить маршрутизатор и коммутаторы:
o	Задать имя пользователя cisco с паролем cisco.
o	Секретный пароль привелигированного режима - cisco.
o	Настроить линии vty на запрос пароля при доступе по telnet.
o	Задать имена хостов.
2.	Задать ip адреса из соответствующих сетей:
o	на компьютерах,
o	на сервере,
o	на интерфейсах маршрутизатора,
o	на интерфейсах управления коммутаторов.
3.	Задать шлюзы по-умолчанию на коммутаторах, компьютерах и сервере.
4.	На внутреннем интерфейсе маршрутизатора провайдера задать ip адрес для связи с локальной сетью.

С компьютеров должна успешна открываться веб-страница по ip адресу сервера.
С компьютеров должен быть успешен ping до внутреннего интерфейса провайдера.
С компьютеров должен быть telnet доступ до коммутаторов и маршрутизатора. 

Варианты сетей «выданных провайдером»:

1.	10.0.10.64/26

2.	192.168.100.0/26

3.	172.16.0.0/27

4.	192.168.0.32/27

5.	10.0.0.128/25

6.	193.0.0.128/26

7.	1.1.1.0/26

8.	64.64.64.64/26

9.	150.0.10.192/26

10.	10.0.0.32/27

Распределение подсетей из битов последнего октета

Оглавление

Адресация в протоколе IPv4
Маска сети
Диапазон допустимых адресов
Выделение подсетей
VLSM – маски переменной длины
Задание основных настроек коммутатора и маршрутизатора
Настройка сети управления коммутатора
Настройка сетей на маршрутизаторе
Задание 1:
Задание 2:
Распределение подсетей из битов последнего октета