в мрежата

уроци за компютри мрежи и сигурност

Начало TCP/IP Глава 8 Въведениe към подмрежовите маски (Subnet Masks)


Глава 8 Въведениe към подмрежовите маски (Subnet Masks)

Е-мейл
Оценка на читателите: / 42
Слаба статияОтлична статия 

Подмрежовата маска (Subnet Mask) показва кои битове от IP адреса се отнасят за мрежата и кои битове оказват адреса на хоста в тази мрежа.

В тази глава:

  • Какво е подмрежова маска
  • Двете части на подмрежовата маска
  • Определяне дали получателя е локален или отдалечен
  • Стандартни подмрежови маски

Какво е подмрежова маска (Subnet mask)?

Подмрежовата маска е число, което изглежда като IP адрес. Тя показва на TCP/IP колко бита се използват за мрежовата част от IP адреса като покрива (маскира) мрежовата част от IP адреса. Както научихте в глава 6, IP адреса се състои от две части мрежова част и част за хоста.
За всеки излизащ пакет, IP трябва да определи дали хоста към който пакета е насочен се намира в локалната мрежа или в отдалечена мрежа.

Локална мрежа - Всички хостове, които се намират от една и съща страна на рутера се смята че са от една локална мрежа. Два хоста от една и съща локална мрежа имат една и съща подмрежова маска.
Отдалечена мрежа - Хостове които са разделени от рутер се смята, че се намират в отдалечени мрежи. Хостовете в отдалечени мрежи имат различни подмрежови маски.
Подобно на телефонните номера които използват код за населеното място, TCP/IP ползва подмрежова маска. Телефонните номера с еднакъв код са от едно населено място или телефонна мрежа, така и IP адресите с една и съща подмрежова маска са от една и съща мрежа.

Ако получаващия хост е локален IP ползва ARP броудкаст, за да намери хардуерния адрес на получателя. Ако получателя не е хост от локалната мрежа, ARP броудкаста търси хардуерния адрес на рутера. Така IP изпраща всички пакети насочени към отдалечени мрежи към рутера още наречен основен щлюз (default gateway). После рутера изпраща пакета към следващата мрежа по пътя му към целта.

Когато определя дали пакета е насочен към локалната мрежа или отдалечена мрежа, IP сравнява мрежовата част от IP адреса на изпращача със същия брой битове от IP адреса на получателя. Ако битовете съвпадат напълно, тогава предназначението на пакета се определя като локално. Ако има някакви разлики в битовете тогава предназначението на пакета се определя като отдалечено. За да разбере колко бита да сравни, IP изследва подмрежовата маска на изпращащия хост. В подмрежовата маска има серия от 1-ци и после останалите битове са 0-ли. Когато IP изследва подмрежовата маска, той гледа колко точно битове са 1-ци, след като разбере колко битове са 1-ци IP вече знае колко бита от IP адреса на изпращача и получателя да сравни. Ако има 8 бита със стойност 1-ца в подмрежовата маска, IP ще сравни първите 8 бита от IP адресите на изпращача и получателя. Ако има 16 бита 1-ци в подмрежовата маска то IP ще сравнява първите 16 бита от IP адреси на изпращача и получателя.
Подмрежовата маска е задължителен елемент за всеки IP адрес. Когато искате да запишете IP адреса на хост единствените два задължителни елемента за подмрежовата маска и самия IP адрес.
На следващите страници ще видите, че IP гледа на всичко в двуичен вид. Подмрежовите маски и маршрутизирането ще станат по-ясни ако мислите за IP адресите и подмрежовите маски в двуичен вид, така че опитайте да мислите за тях като за 32 бита. Когато ги разглеждате в двуичен вид не обръщаите внимание на точките, които ползваме в десетичния запис. IP не се интересува от тях също!

Мрежа и Хост

Ето един начин да разберете подмрежовите маски по-лесно; 1 = М (мрежа), 0 = Х (хост).
Погледнете тази подмрежова маска 255.0.0.0 = 1111 1111.0000 0000.0000 0000.0000 0000 = ММММ ММММ.ХХХХ ХХХХ.ХХХХ ХХХХ.ХХХХ ХХХХ
Първите 8 бита са адреса на мрежата а останалите 24 адреса на хоста.
Или например тази погмрежова маска 255.255.255.0 = 1111 1111.1111 1111.1111 1111.0000 0000 = ММММ ММММ.ММММ ММММ.ММММ ММММ.ХХХХ ХХХХ
Първите 24 бита са адреса на мрежата а останалите 8 адреса на хоста.

Определяне, локална или отдалечена мрежа

Големия въпрос за всеки пакет изпратен по мрежата е, какъв е адреса на получателя локален или отдалечен? Получателя е локален хост ако мрежовата порция от битове на IP адреса на изпращача е същата като мрежовата порция на IP адреса на получателя.
Ако някои битове се различават един от друг, тогава получателя е отдалечен хост. Но както казахме по-нагоре преди IP да може да определи дали получателя е локален или отдалечен, IP трябва да определи колко бита са в мрежовата част на IP адреса на източника. IP ползва подмрежовата маска, за да определи мрежовата част от адреса.

Подмрежовата маска е дълга 32 бита, но хората използват десетично точков вид за да я представят също както и IP адресите. Подмрежовата маска в двуичен вид представлява серия от 1-ци, които представляват мрежовата част от IP адреса и всички останали битове са 0-ли. Когато определя колко бита са в мрежовата част на IP адреса IP гледа в подмрежовата маска за последователни 1-ци. Броя на битовете със стойност 1 в подмрежовата маска, показва броя на битовете които ще бъдат сравнявани, за да се определи дали получателя е локален или отдалечен. Единственото предназначение на подмрежотава маска е да определи какъв е получателя на всеки пакет, локален или отдалечен хост.

Например ако първите 16 бита на подмрежовата маска са 1-ци, тогава IP сравнява първите 16 бита от IP адреса на изпращача с първите 16 бита от IP адреса наполучателя. Ако тези битове съвпадат напълно, получателя е локален, ако има някакви разлики тогава получателя се намира в отдалечена мрежа. Ако първите 24 бита са 1-ци, IP сравнява първите 24 бита от IP адресите, ако съвпадат напълно получателя е локален, ако ли не той е отдалечен.

Намиране на локален адрес

Подмрежовата маска 255.0.0.0 в десетичен запис, представлява това в двуичен вид:
1111 1111.0000 0000.0000 0000.0000 0000
Това казва на IP, че първите 8 бита са използвани за мрежовата част от адреса, а останалите 24 за адреса на хоста.
Например ако IP адреса на източника е 10.1.2.3 с подмрежова маска 255.0.0.0 и IP адреса на получателя е 10.3.4.5 то IP изследва адреса така:

 ДесетичноДвуично
Подмрежова маска255.0.0.01111 1111.0000 0000.0000 0000.0000 0000 
Източник10.1.2.30000 1010.0000 0001.0000 0010.0000 0011
Получател

10.3.4.5

0000 1010.0000 0011.0000 0100.0000 0101
РЕЗУЛТАТ  Съвпада = Локален

Понеже подмрежовата маска има в първите 8 бита 1-ци, IP сравнява първите 8 бита от адресите на източника и получателя. В този случай пътвите 8 бита и в двата IP адреса съвпадат, така че получателя е локален. Знаейки това, IP може да броудкастне ARP пакет, за да получи хардуерния адрес.

Намиране на отдалечен адрес

При друг пример, ако IP адреса на източника е 10.1.2.3 с подмрежова маска 255.0.0.0 и IP адреса на получателя е 11.3.4.5, тогава IP преглежда IP адресите така:

 ДесетичноДвуично
Подмрежова маска255.0.0.01111 1111.0000 0000.0000 0000.0000 0000 
Източник10.1.2.30000 1010.0000 0001.0000 0010.0000 0011
Получател

11.3.4.5

0000 1011.0000 0011.0000 0100.0000 0101
РЕЗУЛТАТ  Различават се = Отдалечен

При сравнението на първите 8 бита IP открива разлики и това означава, че получателя е отдалечен. Знаейки това IP броудкаства ARP пакет за получаване хардуерния адрес на рутера. IP трябва да изпрати пакета до IP адреса на рутера, който ще изнесе пакета от мрежата.

Друг пример, ако адреса на изпращача е 176.16.2.3 и адреса на получателя е 176.16.4.5. И ви попитам “Получателя локален или е отдалечен?” отговора, който трябва да дадете е “Незнам, нямам достатъчно информация”. Без подмрежовата маска можете само да гадаете какъв е адреса. Ако подмрежотата маска е 255.255.0.0? Сега можете да отговорите, че получателя е локален защото сравнението на първите 16 бита показва пълно съвпадение. Но ако подмрежовата маска е 255.255.255.0? Сега трябва да сравните първите 24 бита, лесно се вижда че има разлика в третия октет, така че получателя е отдалечен.

Стандартни подмрежови маски

В глава 6 научихте за петте класа IP адреси. За всеки от петте класа има стандартна подмрежова маска.

Клас А адрес 

Стандартната мрежова маска за клас А адресите е 255.0.0.0 Това казва на IP, че първите 8 бита се ползват за мрежовата част от IP адреса, а останалите 24 са частта за хоста. IP гледа 32-та бита и ползва подмрежовата маска, за да маскира мрежовата част от адреса:
ММММ ММММ.ХХХХ ХХХХ.ХХХХ ХХХХ.ХХХХ ХХХХ
Защото остават 24 бита за хост частта на адреса, има почти 17 милиона уникални IP адреса за всяка клас А мрежа.

Клас B адреси

Клас B адресите имат стандартна подмрежова маска 255.255.0.0. По аналогия маската казва на IP, че 16 бита се използват за мрежовата част на адреса, а останалите 16 бита са за хост частта:
ММММ ММММ.ММММ ММММ.ХХХХ ХХХХ.ХХХХ ХХХХ
16-те бита използвани за генериране на уникален хост адрес дават повече от 16000 хоста в клас B мрежата.

Клас C адреси

Клас C адресите имат стандартна подмрежова маска 255.255.255.0, което означава 24 бита за мрежовата част и 8 за адреса на хоста:
ММММ ММММ.ММММ ММММ.ММММ ММММ.ХХХХ ХХХХ
8-те бита използвани за хост адрес правят 254 уникални адреса във всяка клас C мрежа.

Обобщение:

КласСтандартна маска (десетичен вид)Стандартна маска (двуичен вид)
A255.0.0.01111 1111.0000 0000.0000 0000.0000 0000
B255.255.0.01111 1111.1111 1111.0000 0000.0000 0000
C255.255.255.01111 1111.1111 1111.1111 1111.0000 0000

В повечето случаи използването на стандартни мрежови маски не е оптималното решение за дизайн на мрежовия план. В повечето случаи се използва вариант на стандартните подмрежови маски, наречни клиентски подмрежови маски, които са разгледани в следващата глава 9 "Използване на клиентски подмрежови маски".
Снимката в ляво показва използването на клиентска подмрежова маска. Понеже IP адреса започва с 10 в първия октет, това е клас A адрес а стандартната подмрежова маска е 255.0.0.0 Обаче администратора е дефинирал своя подмрежова маска 255.255.255.240, което му позволява да създаде много мрежи с по-малко хостове в тях.

Етикети: TCP/IP

 
Коментари (7)
Поуки....
7 Събота, 21 Ноември 2009 13:13
Димчо Николов
Благодаря за статията- тази и други подобни по темата са полезни.Друг е въпросът за граматика и синтаксис, но това не е сайт за граматически грешки- който не харесва нещо няма защо да се прави на интересен, само за да го забележат другите.......Важни са познанията...не глупостите...
благодаря за статията
6 Петък, 11 Септември 2009 13:26
martosh
много добре е написана и обяснено всичко с примери и тн.Знаете как се обяснява, поздравления желая ви здраве и продължавайте в начинанието
Мила
5 Сряда, 29 Юли 2009 09:47
Милен
Милче моето момиче, когато хората хвърлят усилия да помогнат на другите, а хора като теб не оценяват труда се нарича неблагодарност! Това че има езикови грешки тук там не е проблем важното е да се хване основната мисъл. Аз в момента чета всичките статии и смея да твърдя че са написани буквално и за най-големите малоумници да могат да разберат за което благодаря защото аз тепърва навлизам в тази свера заради работата! Така че преди да напишеш нещо, както и който и да било друг, преди да се излагате...ПОМИСЛЕТЕ !!!
защо не?
4 Четвъртък, 07 Май 2009 13:15
kuldorf
Какво точно не ти харесва Мила? Така е много лесно да се каже, че статията не е написана компетентно. Напротив, въпреки правописните грешки, статията е много добра, напълно уважавам и подкрепям труда на protoberans. Не постъпвай типично по български, някой вложил толкова труд и дай да го оплюем, така е най-лесно!
Мила
3 Понеделник, 20 Април 2009 17:59
protoberans
Нямам проблем с публикуването на коментари независимо какъв е отзива Мила! Не вися ежесекундно пред компютъра ровейки се в сайта в търсене на коментари за одобрение.

Щеше да е много по-полезно за всички да посочите конкретно какво е неверно и некомпетентно написано, за да може всички (и аз) да се поучим от вас! Опитайте да помогнете на всички тези които четат това, както се опитвам да помогна аз. Научете ни на нещо, публикувайте статия. Нека оценим и вашите знания.

Правописни, пунктуационни, граматични и всякакъв друг род езикови грешки има във вяроятно всяка една моя статия. Кои са допуснати от бързане кои не... ами до толкова знам езика.. и все пак сайта не е насочен към тези които искат да учат български език, в тази област аз не мога да помогна!

Опитвам се да помогна в друга област и го правя до колкото мога, посочете грешка на самия материал (ще можете ли? има ли такива?), да не е езикова грешка.. вече казах, че такива има предостатъчно..

Нека да продължим с коментарите, дайте почва на обвиненията си, с коя терминология не съм на ясно? Внесете малко яснота, за да не останете поредната безпочвена зложелателка!
статия
2 Понеделник, 20 Април 2009 12:20
Мила
Естествено няма да ми публикувате коментара, защото отзивът не е добър нали?
Който за първи път чете материал по тази тема може и да не забележи грешките ви и да не разбере, че статията не струва.
статията не е написана компетентно
1 Понеделник, 20 Април 2009 12:19
Мила
Статията е изключително некадърно написана. Първо: начинът на изразяване е неправилен, явно не сте наясно с терминологията. Второ: нямате езикова култура! Има страшно много грешки, които даже един ученик в 4-ти клас например не би допуснал.

Добавете коментар

Вашето име:
Заглавие:
Коментар:
  Кодът за потвърждение. Само малки символи без разстояния между тях.
Секретен код:

последно от форума

в МРЕЖИ от maxell, 24-07-10 16:43
в Софтуер от Svilen.Dimitrov, 25-06-10 11:59
в МРЕЖИ от protoberans, 16-06-10 13:23
в МРЕЖИ от mnk, 12-06-10 19:14
в Романтика, любов и секс от 4oki, 07-05-10 09:04

Поща



Не си логнат.

Ако това което четете тук ви харесва гласувайте за нас!
Ако това което четете тук ви харесва гласувайте за нас!

Кой е на линия

В момента има 67 посетителя в сайта