Подмрежа

от Уикипедия, свободната енциклопедия
(пренасочване от Subnet mask)
Създаване на подмрежа чрез разделяне идентификатора на хоста

Подмрежа (на английски: subnetwork) е логическо подразделение на семейството интернет протоколи, което осигурява допълнителни възможности на мрежовите администратори.[1] Разделянето на дадена мрежа на подмрежи позволява децентрализация на нейното управление и улеснява контрола на трафика в нея. Освен това, чрез него може значително да се облекчи мрежовия трафик. Друга възможност, която дава разделянето на подмрежи, е обединяването на различни физически мрежи в една IP мрежа.

Подмрежите се въвеждат чрез подмрежова маска (subnet mask), която е с формат на IP адрес, т.е. 32-битово двоично число, записано като четири десетични. Маската обикновено се състои от две последователни полета от единици и нули, напр. 11111111 11111111 11111111 00000000, като единиците указват мрежовата част на даден IP адрес, а нулите – адреса на хоста. Чрез подмрежовата маска се извършва преместване на разделителната линия между двете части на адреса, дефинирана от съответния адресен клас А, В или С. Чрез прилагане на логическата операция побитово И (AND) между даден IP адрес и подмрежовата му маска, ще получим новата мрежова част на адреса.

Мрежово адресиране и маршрутизация[редактиране | редактиране на кода]

Всеки компютър, участващ в мрежа, например като интернет, има поне един логически адрес. Обикновено този адрес е уникален за всяко устройство и може да се конфигурира динамично от мрежовия сървър, статично от администратор или автоматично чрез несъстоятелно адресно автоматично конфигуриране (на английски: stateless address autoconfiguration).

Един адрес изпълнява функциите за идентификация на хост и локализирането му в мрежата. Най-разпространената адресна архитектура е Internet Protocol version 4 (IPv4), но нейният наследник Internet Protocol version 6 (IPv6) е в напреднало внедряване. Протоколът IPv4 се състои от 32 бита, като за по удобно четене от човек е записан във форма на четири десетични октета разделени с точки. Един IPv6 адрес се състои от 128 бита, написани в шестнадесетична бройна система и групирани по 16 бита, разделени с две точки.

За целта на мрежовото управление, един IP адрес е разделен на две логически части, мрежов префикс и хост идентификатор. Всички хостове в една подмрежа имат еднакъв мрежов префикс. Този маршрутизиращ префикс заема най-старшите битове на адреса. Броят на битовете, определени в рамките на мрежа за вътрешния маршрутизиращ префикс, може да варира между подмрежите в зависимост от мрежовата архитектура. Докато в IPv6 префиксът трябва да се състои от множество от граничещи битове единици, в IPv4 това не е задължително въпреки че не е от ползва да се използват неграничещи битове от единици. Хост частта е уникална местна идентификация и е или номер на хост в локалната мрежа или идентификатор на интерфейс.

Тази логическа структура на адресиране позволява селективното маршрутизиране на IP пакети през много на брой мрежи, през маршрутизатори, към предопределен хост ако мрежовите префикси на произхода и префиксите на дестинационните хостове се различават, или се изпращат директно към целеви хост от локалната мрежа, ако са еднакви. Маршрутизаторите представляват логически или физически граници между подмрежи и управляват трафика между тях. Всяка подмрежа се обслужва от определен подразбиращ се рутер, но може да се състои вътрешно от множество физически Ethernet сегменти свързани с мрежови комутатори или мрежови мостове.

Маршрутизиращият префикс на един адрес е написан във форма идентична на тази на самия адрес. Това се нарича мрежова маска на адреса. Например, една спецификация на най-старшите 18 бита на IPv4 адрес, 11111111.11111111.11000000.00000000, е написана като 255.255.192.0. Ако тази маска обозначава една подмрежа в една по-голяма мрежа се нарича още подмрежовата маска. Тази форма на обозначение обаче се използва само за IPv4 мрежи.

Модерната стандартна форма на специфициране на мрежовия префикс е CIDR notation, използвана за IPv4 и IPv6. Тя брои броя на битовете в префикса и добавя този брои към адреса след символен разделител черта(/):

  • 192.168.0.0, мрежова маска 255.255.255.0 се записва като 192.168.0.0/24
  • В IPv6, 2001:db8::/32 обозначава адресът 2001:db8:: и неговия мрежов префикс, състоящ се от най-старшите 32 бита.

Тази нотация бе представена с Classless Inter-Domain Routing (CIDR) в RFC 4632. В IPv6 това е единствената форма за обозначаване на мрежа или маршрутизиращи префикси.

IPv4 подмрежи[редактиране | редактиране на кода]

Процесът на разделяне на подмрежи представлява отделянето на мрежата и подмрежовата част от даден адрес от хост идентификатора. Това се извършва от логическата операция побитово И, между IP адреса и (под)мрежовата маска. В резултат се получава мрежов адрес или префикс, а останалата част е хост идентификатор.

Определяне на мрежовия префикс[редактиране | редактиране на кода]

Една IPv4 мрежова маска се състои от 32 бита, поредица от единици следвани от блок от нули. Блокът от нули обозначава тази част като хост идентификатор.

Следният пример показва разделянето на мрежовия префикс и хост идентификаторът от даден адрес (192.168.5.130) и свързаната с него /24 мрежова маска (255.255.255.0). Операцията е визуализирана в таблицата използвайки двоични адресни формати.

Двоична форма С десетични октети
IP адрес 11000000.10101000.00000101.10000010 192.168.5.130
Подмрежова маска 11111111.11111111.11111111.00000000 255.255.255.0
Мрежов префикс 11000000.10101000.00000101.00000000 192.168.5.0
Хост част 00000000.00000000.00000000.10000010 0.0.0.130

Математическата операция за изчисляване на мрежовия префикс е побитово И на IP адрес и подмрежова маска. В резултат от операцията се получава мрежов префикс 192.168.5.0 и номер на хост 130.

Subnetting[редактиране | редактиране на кода]

Subnetting е процес на заделяне на някои от старшите битове от хост частта и групирането им в мрежова маска, за да се сформира подмрежова маска. Това разделя една мрежа на по-малки подмрежи. Следващата диаграма модифицира примера чрез преместване на 2 бита от хостът към подмрежовата маска за да се сформират четири по-малки подмрежи една четвърт от предишния размер:

Двоична форма С десетични октети
IP адрес 11000000.10101000.00000101.10000010 192.168.5.130
Подмрежова маска 11111111.11111111.11111111.11000000 255.255.255.192
Мрежов префикс 11000000.10101000.00000101.10000000 192.168.5.128
Хост част 00000000.00000000.00000000.00000010 0.0.0.2

IPv6 подмрежи[редактиране | редактиране на кода]

Дизайнът на адресното пространство на IPv6 се различава доста от това на IPv4. Основната причина за subnetting в IPv4 е за да се подобри ефикасността в използването на сравнително малкото налично адресно пространство. Няма такива ограничения в IPv6, тъй като се разполага с голямо адресно пространство, дори и при крайния потребител не е лимитиращ фактор.

Една RFC 4291 съвместима подмрежа винаги използва IPv6 адреси с 64 бита за хост частта. Следователно има /64 маршрутизиращ префикс (128 – 64 = 64 най-значителни битове). Въпреки че технически е възможно използването на по-малки подмрежи, те са непрактични за локални мрежи базирани на Ethernet, тъй като 64 бита са необходими за stateless address autoconfiguration. Internet Engineering Task Force препоръчват използването на /64 подмрежи дори за point-to-point връзки, които се състоят само от два хоста.

IPv6 не имплементира специални адресни формати за предаване на трафик или мрежови числа и по този начин всички адреси в една подмрежа са валидни хост адреси. Адресът all-zeroes е запазен като Subnet-Router anycast адрес.

Препоръчителната заделена част за IPv6 клиентски сайт е адресно пространство с 48-битов (/48) префикс. Това осигурява 65 536 подмрежи за даден сайт. Въпреки тази препоръка, други често срещани адресни пространства са /56, както и /64 префикси за жилищна мрежа от клиенти.

Източници[редактиране | редактиране на кода]

  1. Използване на клиентски подмрежови маски // Архивиран от оригинала на 2012-10-30. Посетен на 2013-12-04.

Външни препратки[редактиране | редактиране на кода]

  Тази страница частично или изцяло представлява превод на страницата Subnetwork в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​