The Best Streaming Software!
VIVO Rent A Car - Your car rental
Върни се   Digital TV Forums - БЪЛГАРСКИЯТ ФОРУМ ЗА ЦИФРОВА ТЕЛЕВИЗИЯ > Друга цифрова техника > КОМПЮТРИ и периферия

КОМПЮТРИ и периферия Компютърни системи и мрежи

Отговори
 
Контрол над темата Начин на разглеждане
  #1  
Стар 17-03-2009
Аватара на netman
netman netman не е на линия
Жичкаджия
 

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Основи на TCP/IP

Цитирай:
Първоначално написано от protoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 1 Произхода на TCP/IP и Интернет


Двама души могат да комуникират помежду си, когато говорят на един и същи език. Компютрите работят по същия начин. Transmission Control Protocol/Internet Protocol (TCP/IP) е език, който компютрите говорят. TCP/IP е набор от правила, които дефинират как два компютъра се адресират помежду си и обменят информация. Този списък от правила се нарича протокол (protocol). Множество протоколи групирани заедно формират protocol suite (протоколен пакет) и работят заедно като protocol stack (протоколен стек).
TCP/IP е силен, бърз, скалируем и ефективен пакет от протоколи, той е протокола на интернет.

Какво е TCP/IP

TCP/IP е збор от протоколи (правила или стандарти управляващи комуникацията), които правят комуникацията между компютрите възможна. Мрежовите администратори могат да избират между многожество протоколи, но TCP/IP е най-широко използвания. Причината е, че това е протокола на Интернет – световната мрежа. Ако искате компютъра ви да комуникира в интернет, ще трябва да ползва TCP/IP.

Когато множество протоколи работят заедно, групата която образуват се нарича protocol suite (протоколен пакет) или protocol stack (протоколен стек). TCP/IP е пример за такъп пакет, той описва множество протоколи работещи заедно. Изпълнението на TCP/IP се характеризира като protocol stack (протоколен стек). Двата термина се ползват взаимозаменяемо.

Друга причина за популярността на TCP/IP е съвместимостта му с почти всеки компютър на земята. TCP/IP стека е поддържан от сегашните версии на всички основни операционни системи и мрежови операционни системи – включително; Windows (95/98, ME, 2000, XP, 2003, Vista, 2008), Linux и Unix. TCP/IP не е собственост на една компания и се развива и поддържа от много и най-различни софтуерни и хардуерни производители.

Подробности за TCP/IP

TCP/IP е в употреба повече от 25 години и времето е доказало, че той е надежден и скалируем протоколен пакет. TCP/IP има много качества и ползи, ето и някои от тях:

* Както вече споменахме, TCP/IP се радва на поддръжката на много софтуерни и хардуерни компании. Това означава, че TCP/IP не е вързан към развойните усилия и възможности на една компания. По този начин избора за ползване на TCP/IP в една мрежа не зависи от от хардуера и софтуера ползван в нея а от предназначението и.
* Една от основните причини, защо TCP/IP пакета е спечелил такава популярност и одобрение е, че той е универсален и може да се инсталира и използва на всяка платформа. Например ползвайки TCP/IP, UNIX хост може да комуникира и прехвърля информация към Windows или DOS хост. TCP/IP елиминира границите между отделните платформи. Хост е всяко устройство (компютър, сървър, принтер и др.), което има TCP/IP адрес.
* TCP/IP е много гъвкав протоколен пакет. Например - Администраторите могат автоматично или ръчно да назначават IP адрес на хостовете могат да конвертират лесни за запомняне имена като www.vmrejata.info в TCP/IP адреси.
* Маршрутируемост. Огранчението за много протоколи е тяхната невъзможност да транспортират информация от един сегмент в друг. TCP/IP е изключително добре адаптиран към процеса на пренасяне на информация от един сегмент на мрежата в друг или от един хост в мрежа от единия край на света до хост в мрежа в другия край на света.

По-нататък ще научите как тези свойства на TCP/IP са се развили от нуждата на военнните от надежден и гъвкав мрежов стандарт.

Произхода на Интернет: ARPAnet

Предшественика на Интернет е ARPAnet супермрежа създадена от Advanced Research Project Agency (ARPA) стартирана през 1969 година. Тя е съсздадена по време на студената война в отговор на заплахите от ядрени атаки. Целта е била тази мрежа да бъде отказоустойчива и да осигури комуникация между военните лидери в случай на ядрена война.

Протокола използван в тази мрежа е Network Control Protocol (NCP) – TCP/IP протокола не е бил разработен по това време. С нарастването на ARPAnet обаче се появя и нуждата от нов протокол тъй като NCP не покрива нуждите на една голяма мрежа.

За да покрие нуждите на военните ARPAnet е трябвало да изпълни следните изисквания:

* Липса на критични точки. Понеже мрежата е трябвало да устои на ядрена атака е трябвало да липсват критически важни звена.
* Резервни маршрути до всяка дестинация.
* Ако някоя част от мрежата откаже, тя трябва да може да пренасочи информацията по нов маршрут.
* Възможност да свърже различни типове компютри от различни типове мрежи. Тази мрежа не трябва да свързва само определен тип хардуер или операционна система.
* Не трябва да се контролира от една компания. Тази мрежа трябва да се поддържа от много независими инженери в интерес на супермрежата а не в интерес на някоя компания.

Request For Comments (RFC) – документ подробно описващ нов протокол или технология.

За да подобри технологията използвана от ARPAnet е създадена система, която да окуражи и улесни кореспонденцията между инжинерите които развиват тази мрежа. Тази система е основана на базата на RFC за осъществяване на обратна връзка и сътрудничество и се използва и до ден днешен. Един RFC документ може да е написан от инженер, група инженери или просто от някой имащ по-добра идея за нова технология или развитие на съществуващата.

Процеса на изпращане на RFC е предвирен да наподобява дъска за съобщения за публикуване на технически теории. След публикуването на RFC той се оценява, критикува и използва от останалите инженери и разработчици. Ако друг инженер може да осъвършенства публикувана теория RFC осигурява отворен форум за това.

TCP/IP е резултат от такива RFC документи.

Раждането на TCP/IP

Както беше споменато протокола използван за комуникация между хостовете в ARPAnet от 1969 е NCP, но той има много ограничения и не е достатъчно силен за разрастващата се мрежа, която започва да излиза от контрол. Ограниченията на NCP и разрастващата се ARPAnet довеждат до изследването и разработката на нов протокол.
През 1974 Винт Сърф и Боб Кан двама Интернет пионери, публикуват “Protocol for Packet Network Interconnection” този документ характеризира Transmission Control Protocol (TCP), протокол от пакет който евентуално ще замени NCP.
TCP протокола описва хост-до-хост частта от комуникацията. TCP обяснява как два хоста могат да осъществят тази връзка и как могат да поддържат тази връзка докато прехвърлят данни. NCP не е решавал този проблем в границите в които го прави TCP.
TCP е отговорен за предаването на данните между хостовете, той пази информация за това какво е изпратено и какво не е получено. Ако някое съобщение е прекалено голямо за един пакет, TCP разделя информацията в няколко пакета и се грижи те да се изпратят. Когато пакетите се получат от другата страна TCP съединява отделните пакети в правилната последователност.
До 1978 тестване и нови разработки довеждат до нов пакет от протоколи наречен Transmission Control Protocol/Internet Protocol (TCP/IP). През 1982 година се взима решение TCP/IP да замени NCP като стандартен език на ARPAnet.

Конструктивни цели на TCP/IP

TCP/IP се развива до сегашното си състояние, протоколите в него са тествани, модифицирани и подобрявани с времето. Първоначалния пакет TCP/IP е имал следните цели:

* Хардуерна независимост
* Софтуерна независимост
* Възстановяване от провал и способност да управлява висок процент на грешки
* Ефективен протокол с малко допълнителни елементи
* Възможност за добавяне на нови мрежи към глобалната мрежа без затруднение
* Маршрутируеми данни

Пренасяне на данните по мрежата

Създаването на тази нова супермрежа довежда до много нови концепции и предизвикателства. Един от най-критичните проблеми е как да се пренасят данните по мрежата. Старите комуникационни протоколи използват технология на комутиране на вериги. TCP/IP от своя страна представя нов начин за пренос на данните по мрежата, той използва технология на комутиране на пакети.

Комутиране на вериги

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

Комутиране на пакети

Технологията на комутиране на вериги е неприемлива за ARPAnet и Интернет, данните трябва да имат възможност да преминават по различни маршрути, така че ако даден сегмент се разпадне да не разрушава връзката. Вместо това данните да поемат по нов маршрут.
Интернет използва комутиране на пакети, при него компютъра изпращач разделя данните на малки по-лесно управляеми части наречени пакети. След това тези пакети се изпращат до устройството поучател, при преминаването си по мрежата обаче тези пакети могат да поемат по различни маршрути по пътя си към крайната точка. След това компютъра получател подрежда и съединява пакетите, за да се получи оригиналното съобщение.

Защо TCP/IP

TCP/IP предлага много приемущества спрямо останалите протоколни стекове. Ето обобщение на някои от тези приемущества:

* Широко разпространен отворен стандарт. TCP/IP не е тайна, не е ничия собственост всеки може да го усъвършенства като публикува RFC.
* Съвместим с различни компютърни системи, той е като универсален език.
* Работи на различен хардуер и различна конфигурация на мрежата.
* Маршрутируем протокол. TCP/IP може да определи пътя на всяка частица данни при движението и в мрежата, понеже е маршрутируем размерите на TCP/IP мрежата са виртуално неограничени.
* Надежден и сигурен, той може да гарантира, че данните са трансферирани до получатея.
* Единна схема за адресиране.

TCP/IP е езика на Интернет, неможете да се свържете към интернет без да го изпозвате. Всяка мрежа свързана към интернет говори TCP/IP. Познаването на TCP/IP е фундамента към разбирането на компютърните мрежи.
Отговори с цитат
Следните потребители БЛАГОДАРЯТ на netman за този полезен пост :
гопето (27-04-2011)
  #2  
Стар 17-03-2009
Аватара на netman
netman netman не е на линия
Жичкаджия
 

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Re: Основи на TCP/IP

Цитирай:
Първоначално написано от protoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 2 Протоколи, какво са протоколите?


Протокол е правило или сбор от правила и стандарти за комуникация, които компютрите използват когато изпращат данни. Изпращача и получателя в комуникацията трябва да използват един и същи протокол.

За да обменят информация изпращачите и получателите (хостовете) трябва първо да установят съгласие за това как ще изглежда информацията. Когато хостовете си изпращат цяла серия от 0-ли и 1-ци, двете страни в комуникацията трябва да са нясно какво означават тези 0-ли и 1-ци. Част от изпратената информация представлява адрес, а друга част представлява същинските данни, всеки хост има уникален адрес. Информацията се предава между хостовете базирайки се на тези адреси, точно както това става с пощенските услуги. Изпращащия компютър първо трябва да разбере как да открие правилния адрес на получателя и как да маршрутизира информацията до него.

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

Група от протоколи се нарича протоколен сет или протоколен пакет. Протоколите в пакета имат своя собствена задача с която помагат за извършване на комуникацията, например как изглежда адреса. TCP/IP е такъв стек.

Някои от въпросите на които протоколните пакети могат да отговорят са:

* Какъв тип кабел или преносна среда се използва за свързване на хостовете?
* Как ще се предават данните по преносната среда?
* Как хостовете в мрежата ще знаят кога да предават данни?
* Как всеки хост ще знае колко данни може да предаде наведнъж?
* Как хостовете използващи различни операционни системи комуникират?
* Как хостовете управляват данните при предаването?

Протоколите движат пакети от данни

Когато данните се изпращат от един хост до друг, Trasmission Control Protocol (TCP) от TCP/IP пакета разделя данните на много по-управляеми парчета – наречени пакети. Протокола определя как са оформени и адресирани пакетите – пакетите са като кутия използвана за транспортиране на данните.

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

Защо са нужни протоколите и стандартите

Паравилата, протоколите и стандартите са нужни, за да осигурят съвместимост между различни неща. С появата на нови и нови хардуерни и софтуерни разработчици, без стандарти и правила не би било възможно да се осигури съвместимост между отдените компоненти. Когато всички разработчици работят с едни и същи протоколи и стандарти, тогава компонентите от различни производители биха работили добре заедно.

Заедно с разработването на нов хардуер и софтуер се разработват и нови протоколи. Нови протоколи са постоянно в разработка и тестване и се подобряват когато възникне нужда. С динамичното и бързо развитие на компютърната технология, все повече протоколи се разпространяват, все пак преди един протокол да бъде приет и широко разпространен, той трябва да премине строги тестове. Стандартна структура се използва за да подпомогне дизайна, сравняването, тестовете и оценяването на протоколите.
Референтния модел OSI

За да могат да се осъщяствят мрежовите комуникации, трябва да се даде отговор на хиляди въпроси от група протоколи. Оценяването и работата с тези въпроси би била неуправляема, така през 1977 световната организация по стандартизация (ISO) създава Open Standart Interconnection (OSI) модела. OSI модела дава отговор на много задачи извършвани при преноса на данни от хост до хост. Сега вместо да отговаряме на хиляди въпроси OSI модела ни дава справка с която да работим. Хилядите въпроси са разделени в 7 малки, по-управляеми групи от въпроси. Тези 7 групи са наречени слоеве.

OSI е само това, модел! Ако мислим за модела като за набор от въпроси на които трябва да се отговори, тогава протоколите са отговора. Всеки протокол отговаря на специфични въпроси, въпроси специфични за слоя в който работи. Като комбинираме множество протоколи в комплект, можем да отговорим на всичките въпроси повдигнати от OSI модела. OSI модела работи като база за сравнение между комплектите протоколи, може да го използвате за да разберете по-добре как работят отделните протоколи в пакета TCP/IP.

Седемте слоя на OSI

Задачата на модела е да раздели задачите по комуникацията в прости стъпки. Тези стъпки са наречени слоеве, OSI модела е разделен в 7 слоя, всеки слой има свои задачи.

Седемте слоя на OSI са:

Application -------- Приложен
Presentation ------ Представителен
Session ----------- Сесиен
Transport --------- Транспортен
Network ---------- Мрежов
Data link ---------- Канален
Physical ----------- Физически

Всеки слой на OSI модела изпълнява конкретна задача в процеса на мрежовата комуникация и след това предава данните нагоре или надолу към следващия слой (в зависимост от това дали слоя функционира в предаващия или в приемащия компютър). Тъй като данните се предават през слоевете, всеки слой добавя своя собствена информация под формата на хедъри, които биват добавяни пред оригиналните данни.
Процесът на мрежова комуникация работи по следния начин: от изпращащата страна дадено приложение създава данни, които трябва да бъдат предадени по мрежата, след това той ги предава на приложния слой от мрежовия компонент на операционната система. Когато данните преминават през слоевете, те биват капсулирани или затваряни в рамките на по-голяма еденица, тъй като всеки слой добавя хедърна информация. Когато данните достигнат приемащият компютър, процесът се извършва в обратния ред; информацията се предава нагоре през всеки слой и докато става това, капсулиращата информация постепенно бива премахвана, слой по слой, в ред обратен на реда, в който е била добавяна.

Каналния слой в приемния край чете и снема хедъра, добавен от каналния слой на изпращащата страна. След това мрежовият слой на приемащата страна обработва информацията в хедъра, добавен от съответния слой на изпращащия компютър, и т.н. Всъщност всеки слой комуникира със слоя, който носи същото име от другата страна. Когато данните преминат целия си път през слоевете на приемащия компютър, цялата хедър информация бива премахната и данните се възтановяват в тяхната оригинална форма, т.е. както са създадени от приложната програма на изпращащия.

Кратко описание на функционалните характеристики на различните нива:

Physical Layer (ниво 1, Физическото ниво)

Това ниво се занимава с физическата среда и физическата комуникация. Или изказано на обратно всяка физическа комуникация през физическата среда попада в това ниво според OSI модела. Приема се, че няма физическа маршрутизация и комуникацията е или между две страни директно свързани, или между група участници, получаващи едни и същи данни „едновременно” в даден момент. Основните действия формирани от физическото ниво са:

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

Очевидно е, че средата за комуникация е хомогенна, защото всички участници в комуникацията споделят една и съща физическа среда. При липса на пряка физическа свързаност не може да бъде осъществена комуникация. Домейнът от комуникиращи си устройства се нарича физическа среда.

Data Link Layer (ниво 2, канален слой - MAC ниво)

Това ниво е обвързано с физическото ниво, но добавя няколко нови функционалности. Първо то добавя логически адреси наречени (най-често) MAC (Media Access Control) адреси, чиято цел е да отдели определена комуникация между една двойка, от останалите, излъчвани по еднакъв начин в една и съща споделена физическа среда. Също така то се грижи, за да открие възможни грешки от предаването на данни по физическата среда, които тя не е успяла да установи и поправи. Или отново, функционално:

* Разделя комуникиращите си, чрез адреси (дава възможност на приемащите данните да разпознаят дали са били за тях на базата на адресни идентификатори)
* Проверява предадените на физическо ниво данни за коректност (и дава възможност на приемащия да предприеме мерки за коригирането им)

Тази среда е пряко обвързана с физическия пренос, защото адресите, възстановяването и проверката на данните може да го изискват. От друга страна не е толкова обвързана с физическата медия (оптика, радио, меден кабел) и кодировката, както и наличието на адреси позволяват препредаване на данни между различни физически среди използващи един и същи Data Link Layer протокол. Препредаването на данните се нарича bridging (напоследък switching) а самите данни Frames (фреймове). Един домейн от множество устройства и физически мрежи позволяващи на участниците им да си комуникират пряко чрез MAC адресите се нарича сегмент.

Network Layer (ниво 3, Мрежово ниво)

Това е първото напълно независимо от физическата среда ниво. Основното тук е, че разполагаме с адреси, които не са обвързани пряко с адресите от второто ниво, или можем да предаваме данни между различни сегменти с различни протоколи от второ ниво, и различни физически среди. На практика това е първото напълно независимо от физическата среда ниво, даващо възможност на две или повече машини да си препредават данни без значение към каква физическа мрежа са свързани. Предаването на данни на базата на тези адреси се нарича routing (маршрутизация), а форматирането на данните се нарича пакет. Домейнът включващ всички устройства, които могат да си комуникират чрез Layer3 адреси без значение от физическата и Layer2 среда, се нарича просто мрежа.

Transport Layer (ниво 4, Транспортно ниво)

Транспортното ниво има една единствена дефинирана функционално цел. То е да осигури сигурна комуникация и прозрачен пренос за поток от данни. В OSI спецификацията са дефинирани 5 различни класа на транспорт (транспортен протокол) маркирани като TP0, TP1, TP2, TP3, TP4, като всеки по-горен включва функционалността на по-долния. Класовете са дефинирани както следва:
• TP0 – включва сегментация на данните. Когато данните са поток, те трябва да се разпределят ефективно в сегменти, които да се форматират в пакети (ниво 3), които да се поставят във фрагменти (ниво 2), които от своя страна могат да зависят от начина на физическата комуникация и да са ограничени по размер (виж Ethernet).
• TP1 – включва сегментация на данните (TP0) + възможност за установяване на грешки (например контролна сума) и поправяне на повредените данни (например чрез изпращане отново на тези, които не са пристигнали в правилен вид)
• TP2 – включва TP1 и в добавка мултиплексиране и демултиплексиране на данни върху един път (в частен случай когато много данни за различни приложения но между едни и същи машини комуникират, да не се налага да се създават излишно количество Layer2 и Layer3 overhead-и, а да бъдат капсулирани в един и същи стриим)
• TP3 – Включва TP2 и в добавка включва това данните да пристигат в ред (възможно е сегментите да се разместят в мрежата поради различни причини), като се пренареждат във вида в който са били изпратени (при получателя), както и създава информиращ механизъм при прекалено голяма загуба на данни сесията да индикира че е прекъсната
• TP4 – Включва TP3 и в добавка различни формати на предаване на данните в зависимост от сесиите, включително connection oriented или connection less
Отново целите на нивото са да:
• Осигури пренос на поток от данни между две комуникиращи си устройства
• Осигури сигурност на данните (механизъм за установяване на проблем)
• Осигури това данните да пристигат в ред и да не са дублирани
Сегментирането на данните на това ниво се нарича сегмент. Поради липсата на дефинирани адреси не може да се извършва разделяне на данните между приложения или различни машини (никаква форма на маршрутизация). Възможно е обаче да бъдат препредадени между различни протоколи имплементиращи транспортно ниво, и този процес се нарича Proxying, проксиране.

Session Layer (ниво 5, Сесиино ниво)

Това ниво цели да осигури механизъм данните за различни приложения да могат да бъдат разпознати от страна на приемащата страна. За целта са въведени нови адреси. Също така това ниво осигурява методи за установяване на нова сесия, прекратяването и, преотварянето и ако е необходимо. Дефинирани са Full Duplex и Half Duplex механизми на комуникация, както и Flow Control механизми (те са дефинирани и в 4-то ниво, но по различен начин).

Presentation layer (ниво 6, ... Представително ниво)

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

Application layer (ниво 7, приложно ниво)

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

TCP/IP и модела DoD

TCP/IP комплекта от протоколи е разработен преди публикуването на OSI модела, като резултат той не ползва OSI модела като шаблон. TCP/IP е разработен като ползва за шаблон модела на Министерството на отбраната на САЩ (Department of Defence – DoD).
За разлика от OSI модела, DoD модела има 4 слоя, все пак DoD модела отговаря на същите въпроси за мрежовата комуникация.

Четирите слоя на DoD са:

* Приложен слой / Application layer – Най-горният слой на модела DoD, който обхваща функциите на трите най-горни слоя на OSI модела: приложен, представителен и сесиен.
* Транспортен слой / Transport layer – Съорветства на транспортния слой в OSI модела. Тук функционират TCP, UDP и DNS
* Интернет слой / Internet layer – Този слой съответства много близко до мрежовия слой на OSI. Той се занимава с маршрутизация базирана на логически адреси. Протоколът Adress Resolution Protocol (ARP) транслира логически адреси в MAC адреси. Тази транслация е необходима защото по-долните слоеве могат да обработват само MAC адресите.
* Слой мрежов интерфейс / Network Interface layer – Съответства на каналния и физическия от модела OSI.


**** OSI модел ****** DoD или TCP/IP модел*******

Application layer ***** Application layer

Presentation layer **** ---

Session layer ******** ---

Transport layer ****** Transport layer

Network layer ******* Internet layer

Data-Link layer ****** Network Interface layer

Physical layer ******* ---
Отговори с цитат
  #3  
Стар 17-03-2009
Аватара на netman
netman netman не е на линия
Жичкаджия
 

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Re: Основи на TCP/IP

Цитирай:
Първоначално написано от protoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 3 Слой мрежов интерфейс и Интернет слой


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

Слой мрежов интерфейс

Най-ниското ниво в TCP/IP стека е слоя на мрежовия интерфейс. Основната му задача е да определи как компютъра се свързва към мрежата. Това е важна част от процеса на пренос на данни, защото данните трябва да бъдат доставени до определен хост посредством връзка в мрежата и данните излизайки от компютъра трябва да следват правилата на мрежата в която се намира той.



Слоя мрежов интерфейс на TCP/IP не определя типа на мрежата в която се намира хоста, точно обратното мрежата определя какъв драйвер да използва слоя мрежов интерфейс. Хоста трябва да следва правилата за предаване и получаване на данни в зависимост от топологията на мрежата в която се намира. Слоя мрежов интерфейс служи за предаване и получаване на пакети, когато пакет е получен от мрежовата карта слоя мрежов интерфейс определя дали да предаде пакета нагоре по нивата за дообработка базирайки се на хардуерния адрес. Когато се създава пакет за изпращане той се движи от горните нива до слоя мрежов интерфейс, който определя дали да го постави в мрежата.
В слоя мрежов интерфейс се добавя хедър, който съдържа адресна информация. В хедъра се съдържа адрес наречен хардуерен адрес.

Хардуерни адреси

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

* Хардуерен адрес
* Media Access Control (MAC) адрес
* Етхернет адрес
* Физически адрес
* Адрес на мрежовата карта

MAC адреса е уникална стойост свързана с мрежовата карта било тя жична или безжична. Тези адреси са уникални за всеки мрежов адаптер.
MAC адресите представляват 12 цифрено шестнадесетично число. По правило, MAC адресите се записват по един от следните два начина:

MM:MM:MM:SS:SS:SS
MM-MM-MM-SS-SS-SS
Например – 00:A0:C9:F1:C3:A3

Първата половина на MAC адреса съдържа идентификационния номер на производителя на мрежовата карта. Втората част представлява сериен номер за адаптера произведен от съответния производител.

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

Броудкаст пакети

Всеки пакет трябва да бъде адресиран до хост, с придвижването на пакета по мрежата всеки хост ще го преглежда за хардуерния адрес, за да види дали той съвпада с неговия. Обаче има пакети, които са предназначени за всички хостове в мрежата. Тези пакети са наречени броудкаст пакети. Броудкаст пакета съдържа хардуерен адрес FF:FF:FF:FF:FF:FF

Интернет слоя

Интернет слоя съдържа протоколи отговорни за адресиране и маршрутизиране на пакети. Той съдържа няколко протокола включително:

* Internet Protocol (IP)
* Adress Resolution Protocol (ARP)
* Internet Control Message Protocol (ICMP)
* Internet Group Message Protocol (IGMP)

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

Internet Protocol (IP)

Интернет протокола е основния протокол в интернет слоя на TCP/IP комплекта. Този протокол е отговорен за определяне адресите на получателя и изпращача на всеки пакет.
Мрежовите администратори назначават уникален IP адрес на всеки хост в мрежата. Докато MAC адреса се отнася към мрежовата карта, IP адресът е логическия адрес на хоста. Всеки хост в TCP/IP мрежата има уникален адрес. Пример за IP адрес е: 192.168.10.20
Този адрес е определен от администратор и трябва да е уникален за мрежата в която се намира. Част от адреса описва TCP/IP мрежата в която хоста се намира, а другата част е адреса на хоста.
Към всеки пакет се прикрепя IP хедър, който съдържа IP адреса на източника и получателя. IP определя дали хоста е локален или отдалечен като сравнява адресите на изпращача и получателя. Получателя е локален ако IP определи, че получателя е в същата мрежа, отдаечен е когато е в друга мрежа. IP може да определи това базирайки се на IP адреса на изпращача и подмрежовата маска (subnet mask) на получателя.
Подмрежовата маска е параметър включен във всеки IP адрес и се използва, за да определи коя част от IP адреса е адреса на мрежата и коя част е адреса на хоста.

Определяне дали предназначението е локално или отдалечено

IP трябва да определи как да закара пакета до назначението му. Ако пакета е адресиран до хост от локалната мрежа, TCP/IP може да комуникира директно с хоста. Aко хоста е на отдалечена мрежа (мрежа различна от тази в която се намира хоста; отдалечената мрежа е от другата страна на маршрутизатора), TCP/IP трябва да изпрати пакета през подразбиращия се шлюз (default gateway).
Подразбиращия се шлюз, още наричан рутер(router – маршрутизатор) е адрес на хост в мрежата, който предлага маршрут за излизане навън. Мрежовия шлюз свързва две мрежи помежду им, за него може да се мисли като входна врата.
Ако получателя хост е локален, IP трябва да получи хардуерния адрес на хоста дестинация. Ако хоста дестинация е отдалечен, IP гледа в маршрутната таблица (routing table) за ясно определен маршрут до тази мрежа. Ако има ясно определен маршрут, IP трябва да получи хардуерния адрес на шлюза посочен в маршрутната таблица. Ако няма ясно определен маршрут, IP трябва да получи хардуерния адрес на подразбиращия се шлюз.

Определяне на хардуерния адрес

Следващата графика скицира процеса на вземане на решение който TCP/IP ползва, за да реши чий IP адрес е нужен за изпращането на пакета.



При въвеждане IP адреса на хост мрежовия администратор записва и адреса на подразбиращия се шлюз. Пакета ще бъде изпратен към хардуерния адрес на този шлюз ако е предназначен за хост от друга мрежа. След това шлюза ще определи дали търсения IP адрес се на мира на някой от другите му интерфейси или трябва да препрати този пакет към друг маршрутизатор. Ако адреса е на някой от другите интерфейси, IP може да изпрати този пакет през интерфейса в мрежата местоназначение. IP на шлюза премахва оригиналния IP хедър и поставя нов IP хедър на пакета. Сега шлюза е източника а получателя е или хоста местоназначение или следващия шлюз по пътя към целта.
Когато пакета стигне до мрежата в която се намира хоста местоназначение идва ред на ARP (Adress Resolution Protocol), IP използва този протокол за да получи хардуерния адрес на търсения хост. ARP намира хардуерния адрес на търсения хост по неговия IP адрес.

Adress Resolution Protocol (ARP)

ARP е протокол, който може да превърне IP адреса в хардуерен адрес. След като хардуерния адрес е определен ARP поддържа тази информация за кратко време. Когато даден хост иска да комуникира с друг хост имайки само IP адреса му, тогава ARP ще попита – „Хей, какъв е твоя хардуерен адрес?” и ще почака отговор.
Първото място на което ARP търси разрешение на въпроса е ARP кеша. ARP кеша е пространство в RAM-а където ARP пази IP и хардуерните адреси които е превърнал. Ако ARP успее да намери хардуерния адрес в кеша то пакета бива препратен към този хардуерен адрес без допънителни процедури. Ако IP адреса не е в кеша, ARP ще броудкастне ARP запитване.
След като даден IP адрес бива превърнат в хардуерен, той се помества в ARP кеша за 2 минути. Ако IP поиска превръщане на същия IP адрес през следващите 2 минути то той ще остане в кеша още две минути. Даден запис моце да остане в ARP кеша максимум 10 минути, незевисимо дали е бил търсен през последните 2 минути.
Кода по-долу показва пример за съдържанието на ARP кеша. ARP кеша съдържа 3 колони: в първата са IP адресите, съответстващите им хардуерни адреси са във втората колона а в третата има информация за това как записа е попаднал в кеша. Записа бива динамичен (dynamic) когато е открит с помоща на ARP броудкаст и статичен (static) когато е бил ръчно въведен.

Комантата „arp –a” въведена в command prompt на Windows или командния ред на Linux показва ARP кеша.

C:\USERS>arp -a

Interface: 192.168.0.129 --- 0xa
Internet Address ----- Physical Address ------- Type
192.168.0.1 ---------- 00-0f-66-83-97-0e ---- dynamic
192.168.0.255 -------- ff-ff-ff-ff-ff-ff ---------- static
224.0.0.22 ------------ 01-00-5e-00-00-16 --- static
224.0.0.252 ----------- 01-00-5e-00-00-fc --- static
239.255.255.250 ----- 01-00-5e-7f-ff-fa ----- static

C:\USERS>

Използване на броудкаст за определяне на хардуерния адрес

Ако ARP не открие IP адреса в ARP кеша, ARP протокола започва ARP запитване. Това запитване представлява броудкаст в локалната мрежа. В общи линии това запитване казва, който и да е 192.168.1.15 (примерно) трябва ми твоя хардуерен адрес. На следващата фигура е показан пример за ARP запитване:



ARP броудкаста е адресиран до всеки хост в мрежата, като за получател е оказан хардуерен адрес FF:FF:FF:FF:FF:FF. ARP броудкаста съдържа IP адреса на търсеното местоназначение, така че получателя е идентифициран. ARP броудкаста съдържа и хардуерния адрес на източника, което ускорява отговора от получателя. Когато получателя получи и разпознае пакета като предназначен за него, той поставя хардуерния адрес и IP адреса на източника в своя собствен ARP кеш. Понеже хардуерния адрес на източника е вече в ARP кеша, адреса ще бъде вече известен, когато се изпраща ARP отговор към оригиналния източник.
Когато ARP пакет е получен на всеки хост, мрежовата карта „взима” пакета от кабела и го предава нагоре през слоя мрежов интерфейс към интернет слоя и ARP. ARP на хоста преглежда пакета, за да установи дали пакета пита за хардуерния адрес на този хост. Ако ARP пакета не е за този хост, той се отхвърля. Ако е за този хост, хардуерния адрес и IP адреса на източника се поставят в ARP кеша и се изпълнява ARP отговор. Хардуерния адрес на целта е включен в този ARP отговор, когато се получи ARP отговор, хардуерния адрес и IP адреса се поставят в ARP кеша за 2 минути. На следващата фигура е показан ARP отговора от 192.168.1.15, той се изпраща директно към 192.168.1.199:



Internet Control Message Protocol (ICMP)

ICMP е протокол използван предимно за изпращане на съобщения за грешки, извършване на диагностика и контролиране на потока от данни. Пример за съобщение за грешка и контрол на трафика е ICMP source-quench пакет изпратен от рутера към хост, за да каже на хоста да намали понеже рутера е претоварен.
Рутерите позволяват на хостовете да изпращат информация колкото е възможно по-бързо ако трафика при рутера не е прекалено голям. Ако това стане рутера праща на хоста source-quench съобщение като ICMP пакет искащ от този хост да намали скоростта. Когато хоста получи такова съобщение той ще спре и после бавно ще увеличава скоростта докато не получи ново source-quench съобщение.

Диагностика с ICMP и Ping

Пример за използване на ICMP като инструмент за диагностика е със приложението ping (ping означава Packet InerNet Grouper). Администраторите ползват ping за да изпращат четири ICMP ехо запитвание към определен хост като искат от него да отговори на тези пакети. ICMP поставя малко данни в пакета и иска тези данни да се изпратят обратно. Ако данните се върнат, администратора може да счита че има успешна връзка към хоста. Ако данните не се върнат тогава имаме проблем с връзката.

За да пингнете хост отидете в command prompt и напишете: ping ip adress

Изследване на ping пакетите

Ето какво се случва когато хост источник (192.168.1.10) пингва хост цел (192.168.1.15).

1. Изпраща се ARP запитване за хост цел 192.168.1.15
2. Получаване на ARP отговор при хоста източник 192.168.1.10 с хардуерния адрес на 192.168.1.15
3. Изпраща се ICMP пакет от 192.168.1.10 към 192.168.1.15 изискващ отговор (echo)
4. Изпратен е ICMP отговор (echo) от 192.168.1.15 към 192.168.1.10
5. Стъпки 3 и 4 се повтарят още 3 пъти.

Изпращането на ICMP пакет е отличен метод за тестване на връзката, той не предизвиква натоварване на получатея за да изпрати ICMP отговор. Все пак ако един ICMP пакет не предизвиква натоварване, то хиляди ICMP пакета биха могли да предизвикат натоварване.

Internet Group Management Protocol (IGMP)

IGMP е протокол, който позволява предаването на поток (stream) от информация от един хост към няколко получателя едновременно. Поток (stream) са серия от изпратени пакети за които не се изчаква потвърждение, че са получени. Повечето TCP/IP връзки се осъществяват като един хост изпраща информация към друг хост, или когато един хост изпраща информация до всички хостове в мрежата с помоща на броудкаст. В контраст на това IGMP пакетите са насочени към резервирани IP адреси (това са такива IP адреси, които немогат да се използват като валидни адреси на хостове) и всеки хост, който иска да получи данните трябва да слуша на адреса. С други думи хоста не очаква да получи информацията на своя адрес, той трябва да поиска да получи информацията изпратена към резервирания IP адрес.
Получаващия адрес ползван от IGMP се нарича multicast адрес. Тези резервирани IP адреси немогат да се използват като адреси на хостове, с помоща на специален софтуер, TCP/IP хост може да слуша за данни изпратени към мултикаст адреса. Когато няколко хоста слушат за данни на определен адрес и данни бъдат изпратени към този адрес, тогава всички хостове ще получат данните. Всички тези пакети имат IGMP хедър.
Много устройства в мрежата ползват IGMP пакети за обменяне на информация. Някои рутиращи протоколи ползват IGMP за обмен на маршрутните таблици. Windows Internet Naming Service (WINS) може да ползва IGMP за да обменя база данни. В интернет IGMP се използва за прехвърляне на информация до няколко хоста едновременно.

Изпращане на поточно Аудио и Видео с IGMP

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

Всеки хост, които иска да получи потока към мултикаста трябва да извести рутера си да се включи към група рутери искащи да получат потока от данни. Хоста изпраща IGMP към рутера си за да поиска данните. При предаване на данните от източника, рутерите предвижват потока през рутерите поискали да се включат в групатса.Посе рутерите предават данните към хоста, който ги е поискал.
Някои от най големите файлове предавани през интернет са аудио и видео. Streaming е техника за предаване на такива данни по начин позволяващ те да бъдат обработвани като стабилен и постоянен поток. Без поточност големите мутимедийни файлове биват разбивани на малки пакети, които достигат крайните потребители в разбъркан вид. Когато приложението се опита да покаже мултимедийния файл разбърканите пакети предизвикват накъсана презентация. С нарастващата популярност на интернет и нуждата от предаване на големи мутимедийни файлове гладко и подредено, поточните технологии стават все по-важни. Повечето потребители нямат достатъчно бърз интернет да свалят големите мултимедийни файлове бързо, с поточна техника уеб браузърите могат да започнат да показват данните преди целия файл да е пристигнал.

При поточния процес, хостът получил данните ги събира и предава нагоре по протоколния стек към приложението възпроизвеждащо данните. Приложението конвертира данните в свук или картина като един плавен поток от информация. Ако хоста получава информацията по-бързо отколкото тя може да бъде възпроизведена, този хост трябва временни да запази излишната информация в буфер, за да може тя да се възпроизведе от приложението плавно. Ако данните не биват получавани достатъчно бързо тогава възпроизвеждането на данните няма да е гладко, ще се появят накъзвания и статичност.
Отговори с цитат
  #4  
Стар 17-03-2009
Аватара на netman
netman netman не е на линия
Жичкаджия
 

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Re: Основи на TCP/IP

Цитирай:
Първоначално написано от ptotoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 4 Транспортният слой


Транспортният слой определя дали изпращача и получатея ще изградят връзка преди започване на комуникацията и колко често ще пращат потвърждение за тази връзка един на друг. В транспортния слой има само два протокола: Transmission Control Protocol (TCP) и User Datagram Protocol (UDP). TCP изгражда връзка и изпраща потвърждение, UDP не го прави. UDP може да прехвърля информацията по-бързо, но TCP може да гарантира доставянето на данните.

Да разберем транспортния слой

Протоколите от транспортното ниво доставят данни и получават данни от протоколите на транспортното ниво на останалите хостове. Другите хостове могат да са в същата мрежа или в мрежа в другия край на света. В някои документи транспортния слой се нарича хост-до-хост слой.



Транслортния слой на TCP/IP се състои само от два протокола, TCP и UDP. TCP предлага връзково ориентирана, гарантирана комуникация. UDP предлага безвръзкова, негарантирана комуникация. TCP е по-бавен и обикновенно се ползва за прехвърлянето на големи обеми информация, за да гарантира че данните няма да има нужда да се изпращат пак. UDP е бърз и обикновенно се използва за изпращане на малки обеми данни.

Връзково ориентирана означава, че се установява връзка преди започване комуникацията. По време на тази връзка, се обменя информация, за да се определят параметрите на основната комуникация. Отговаря се на въпроси като тези:

* Колко данни може да получи наведнъж всеки от хостовете?
* Каква поредица от числа трябва да ползват хостовете за тази връзка?
* Какви цифри за потвърждение трябва да се използват за тази връзка?
* Колко време трябва всеки хост да 4ака за потвърждение преди да изпрати данните?

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

За разлика от TCP, UDP предлага безвръзкова, негарантирана комуникация. Безвръзкова означава, че не се установява връзка преди да започне изпращането на данните. Изпращащия хост не изпраща никакъв пакет за установяване параметри на изпращането, той просто започва да предава информацията. Комуникацията се определя като негарантирана, защото няма да бъдат изпращани потвърждения, че информацията е получена. Можем да допълним обаче, че този тип пакети имат по-малък хедър за транспортния слой и понеже не се устанавява връзка и не се чака за потвърждение данните могат да се прехвърлят по-бързо.

Да разберем Transmission Control Protocol

Transmission Control Protocol (TCP) е протокол, който свързва изпращащия и получаващия хост един към друг. TCP е връзково ориентиран което означава, че двете страни в комуникацията знаят един за друг. Първото което двата хоста определят е; как ще комуникират, къде ще изпращат данните и как ще получават данни. Протокола гарантира получаване на пакетите като се изпраща потвърждение за всеки получен пакет. Преди изпращача да започне изпращане на данни към получателя се провежда кратък „разговор”. Разговора се започва от TCP протокола на транспортния слой при изпращача, протокола изпраща пакет към получателя за установяване на връзка за трансфер на данни. Принципа на TCP протокола е подобен на използването на уоки-токи.

Използване на тристъпково ръкостискане

Разговора се започва с тристъпково ръкостискане. При първата стъпка от този процес, инициатора на разговора изпраща пакет на другата страна искайки да започнат разговор. При втората стъпка, получаващия хост изпраща потвърждение, че е съгласен със започването на комуникация и поставя някои параметри. При третата стъпка, инициатора изпраща още един пакет който представлява потвърждение за връзката.

Организиране на данните и гарантиране на доставката

TCP е връзков протокол, защото връзката се установява и използва през целия процес на разговора. Когато пакетите бъдат премествани между хостовете участващи в разговора , TCP осигурява връзка. Всеки пакет има TCP хедър, които включва пореден номер на пакета, номер за потвърждение, адрес и друга информация.

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

Да разберем User Datagram Protocol

User Datagram Protocol (UDP) е протокол ползван от транспортния слой за безвръзкова, негарантирана комуникация. За разлика от TCP той не установява връзка и не ползва потвърждения. Вместо това той просто изтрелва пакетите с данни. Ако получателя получи пакета, това е чудесно ако ли не... Ако UDP пакет дъде загубен и никога не пристигне, изпращача не го интересува. Когато едно приложение ползва UDP, не се установява връзка преди да започне разговора, изпращача просто изпраща.

UDP е потребен когато TCP би бил прекалено комплексен, бавен или просто ненужен. UDP предлага някои детайли в UDP хедъра, които се използват за доставяне на пакета до правилния порт на хоста получател. Един от параметрите в малкия UDP хедър 16 битов номер на порт, определящ приложението което хоста търси. Друга стойност поставена в хедъра това е сума за проверка (checksum). Хоста изпращач изчисява сумата за проверка по специален алгоритъм и след това поставя сума за проверка в UDP хедъра. Сумата за проверка се използва, за да може получаващия хост да определи дали данните са получени непокътнати, повредените пакети се игнорират от получателя.

UDP комуникация

Хост може да използва UDP, за да отпрати запитвания за някоя услуга, без да знае каде се намира тази услуга всъщност. Когато се използва UDP връзката и гаранциите за пакетите обикновенно са отговорност на по-горните нива. Приложението което стои на по-високо ниво е отговорно да осугури гаранции, че UDP пакетите стигат до допучателя си правилно.

В тази глава научихте за разликите между TCP и UDP, едно от най-поразителните сравнения е погледа върху хедърите на TCP и UDP.

Фигурата по-долу е плана на TCP хедъра както е описан в RFC 761 където TCP е обсъждан:



Забележете колко голям и сложен изглежда този хедър, сравнете го с простичкия относително малък хедър на UDP описан в RFC 768:

Отговори с цитат
  #5  
Стар 17-03-2009
Аватара на netman
netman netman не е на линия
Жичкаджия
 

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Re: Основи на TCP/IP

Цитирай:
Първоначално написано от protoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 5 Приложният слой


Най-отгоре в TCP/IP стека е приложния слой. Приложният слой съдържа приложения, които генерират заявки към други хостове. Портовете и сокетите се използват за получаване и изпращане на данни. За да опише възможно най-добре приложния слой, в тази глава са подробно разгледани следните точки:

* Портове и сокети
* File Transfer Protocol (FTP)
* Hypertext Transfer Protocol (HTTP)
* Защитните стени (Firewalls)

Да разберем приложният слой

Приложният слой на TCP/IP е мястото, където заявките за данни или услуги се обработват. Приложенията в този слой чакат заявки, които да обработят и всички приложения "слушат" на определен порт.

Приложния слой не е мястото където върви вашето приложение за текстообработка, таблици или интернет браузъра ви. Приложенията които вървят в приложния слой взаимодействат с приложенията за текстообработка, таблици, интернет браузъра и т.н. Два примера за приложения, които вървят в този слой са FTP и HTTP, те ще бъдат разгледани подробно по-късно в тази глава.

Да разберем какво са портовете и сокетите

На ред с придвижването на пакет нагоре по протоколния стек по пътя си към проложния слой, транспортния слой насочва пакетите към подходящи портове. Порта е число, което приложенията в приложния слой използват като адрес за получаване/изпращане. Порта е номериран адрес където се изпращат заявките и където приложенията "слушат" за тези заявки. Портовете са номерирани от 1 до 65536. Представете си как приложенията слушат за заявки които да обработят. Когато зачвките правят своч път нагоре по TCP/IP стека, TCP или UDP в транспортния слой предават зачвките към приложния слой. Запомнете, че приложенията са настрояни да слушат на точно определен порт и TCP и UDP предават пакета на този порт в зависимост от информацията в хедъра на пакета.

Двата транспортни протокола TCP и UDP ползват по 65536. Например пакета може да определи че е насочен към TCP порт 80. TCP порт 80 е стандартен порт където уеб сървърите слушат за HTTP заявки. Като друг пример, пакета може да определи че е насочен към UDP порт 69, което е стандартния порт за TFTP заявки. Интернет слоя предава този пакет към TCP или UDP и сега те предават към подходящия порт, където приложението "слуша" за заявки. Тази порт информация формира фуния през TCP/IP стека. Веднага след като пакет бива доставен на определен IP адрес, той бива предаван нагоре по стека, за да се убеди че той е адресиран до хоста който го е получил. После бива предаден към TCP и UDP и после към подходящ порт, за да може приложението в приложния слой да изпълни заявката. Тази фуния се нарича сокет.

Сокета комбинира три части информация: IP адрес, TCP или UDP и номера на порта. TCP и UDP индикират кой протокол ще се използва. Сокета се записва така:

131.107.2.200:TCP:80 или 131.107.2.200:UDP:69

Илюстрацията по-долу показва TCP/IP протоколния стек с 65536 TCP и UDP порта при приложния слой. Забележете че с придвиждането на пакета нагоре по стека IP ще го предаде на TCP порт или UDP порт. Приложенията слушат на определения им порт, така когато данните пристигнат те се обработват акуратно.



Добре познати портове

Добре познатите портове са номера на портове който Internet Assigned Number Authority (IANA) е резервирала за използване от определени приложения. Например:

Порт ******** Резервиран за
TCP:80 ****** HTTP
TCP:21 ****** FTP
TCP:20 ****** FTP-Data
UDP:69 ***** Trivial File Transfer Protocol (TFTP)
UDP:161 **** Simple Network Management Protocol (SNMP)


Портовете от 1 до 1024 се смятат за добре познати номера на портове и са резервирани за определени приложения. Портовете от 1025 до 65536 нямат определено предназначение. Програмистите ползват тези портове за приложенията които пишат. Добре познатите портове са първоначално записани в RFC 1060 и по късно допълнени в RFC 1700.

File Transfer Protocol (FTP)

File Transfer Protocol (FTP) е протокол, който дефинира как файл може да бъде трансфериран от един хост на друг. За да бъде трансфериран един файл от един хост на друг, FTP на иницииращия хост създава заявка за файл а FTP при FTP сървъра изпълнява заявката за файл. Два хоста участват в една FTP сесия, единия иска файл а другия има копие на файла и изпраща копие на искания файл към искащия го хост. Файла може да бъде трансфериран в текстов или друичен формат. Хоста които иска услугата се нарича клиент, а хоста който предлага услугата се нарича сървър. Тези два хоста установяват клиент/сървър връзка, при която единия хост изпълнява заявките на другия. Иницииращия хост използва приложение, за да поиска файла. Това приложение може да е FTP приложение от команден ред или FTP команден интерпретатор. FTP приложението от команден ред позволява на хост да се свътже към FTP сървър, без да ползва луксозен интерфейс, като потребителя просто въвежда FTP команда в командния ред. FTP се свързва към сървъра и от потребителя се иска да се логне. Потребителя трябва да въведе потребителско име и парола. По-долу съм лепнал така направена връзка към ftp.vmrejata.info.

C:\USERS\TIHOMIR>ftp ftp.vmrejata.info
Connected to ftp.vmrejata.info.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 22:16. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 5 minutes of inac****ty.
User (ftp.vmrejata.infonone)): ftp
331 User ftp OK. Password required
Password:
230-User ftp has group access to: ftp
230 OK. Current restricted directory is /
ftp>

Как работи FTP

Първия пакет, който е изпратен от иницииращия хост до FTP сървъра е пакет който иска да бъде изградена връзка. Този пакет се изпраща до TCP порт 21 на FTP сървъра. Иницииращия хост избира "не добре познат порт" на които да слуша за отговор. Хапример той избира порт 1177 като порт за обратна връзка и ще слуша на този порт за отговор изпратен до този номер порт.

FTP приложението слуша порт 21. Когато получава запитването приложението изпраща обратно FTP/TCP/IP пакет, за да установи връзка и да попита клинета за потребителско име и парола за вход. FTP/TCP/IP пакет е пакет който има FTP хедър върху TCP хедър върху IP хедър. При този върнат пакет FTP сървъра е източника, а FTP клиента е получателя. FTP изпраща отговора на порт 1177 както е поискал клиента. В FTP хедъра, който сървъра е направил той предава информация към FTP клиента.

Диалога продължава като FTP сървъра отговаря на запитванията на клиента. Клиента ще има възможност да види списък с файловете които са налични и да поиска един или няколко от тях да му бъдат изпратени.

FTP клиента от комантед ред изискра потребителя да знае FTP команди и как да ги използва. Друг начин на потребителя да се свърже към FTP сървара без да има нужда да знае FTP команди е като ползва FTP команден интерпретатор. Няколко от такива приложения са налични в интернет; някои са безплатни, а други могат да се свалят и ползват за пробен период от 30 дни. юедин пример за такава програма е CoreFTP. Тя е лесна за употреба с интуитивен потребителски интерфейс. Тези приложения превръщат натисканията на мишката в FTP команди и предават тези команди на FTP сървъра.

Hypertext Transfer Protocol (HTTP)

Hypertext Transfer Protocol (HTTP) е набор от правила за обмяна на файлове в интернет. Това е протокола който ващия уеб браузър ползва за сърфиране в интернет. За разлика от FTP, HTTP е направен така, че да се изисква много малка намеса на потребителя. HTTP трансферира преформатирани файлове които се показват в браузъра вместо само да се запазват на диска. HTTP приложения се изпълняват на Web сървъра и слушат за заявки и отговарят на тези заявки като изпращат файлове обратно към този който ги е поискал. Уеб сървара е сървър, който има HTTP сервизно приложение което върви на него. HTTP слуша на TCP порт, обикновенно порт 80 за заявки и изпраща поисканите файлове към изкащия ги. Поискалия ги хост показва тези файлове в най-различните Уеб браузър приложения.


Клиента прави HTTP заявки като въвежда команда в Уеб браузара си. Тази команда представлява въвеждането на Uniform Resource Locator (URL) (или казано по друг начин адреса на уеб страницата като www.wmrejata.info) в адресната лента на Уеб браузъра или като натиска хипервръзка на страницата която е показана в Уеб браузъра. Хипервръзка е дума в уеб страниците, която води до друг документ на Уеб сървъра или дори до друг Уеб сървър и сайт. Уеб браузъра форматира клиентските заявки в HTTP/TCP/IP пакети с адрес порт 80. HTTP/TCP/IP пакетите представляват пакети с HTTP хедър бърху TCP хедър върху IP хедър.

На Уеб сървъра HTTP приложението слуша на порт 80 за някакви заявки. След като пакет бива получен, поискания файл се намира и пакетира за изпращане към клиента. Пакетите напускат Уеб сървъра и при пристигането им при клиента, Уеб браузъра декодира Hypertext Markup Language (HTML) файл и го показва на екрана в нужния формат.

Нека погледнем какво наистина се случва, когато се свържете към Уеб сайт:

1. Отваряте Уеб браузъра си и въвеждате URL www.vmrejata.info.
2. Вашия Уеб браузър създава пакет и го изпраща към Уеб сървър някаде в интернет. С други думи правите зявка към Уеб сървъра да направите връзка.
3. Уеб сървъра чува молбата ви на порт 80 и изпраща обратно пакет до вас, който казва "Добре ще направя връзка с теб".
4. Сега след като имате връзка с Уеб сървъра, вие искате той да ви изпрати основната си страница.
5. Уеб сървъра получава вашия отговор и взима файла който сте поискали. Файла бива поставен в един или повече пакета, в зависимост колко е голям и ви се изпраща.
6. Вашия Уеб браузър получава пакетите и изпраща потвърждение, че са получени. Ако Уеб сървъра не получи потвърждение от вас, той ги изпраща наново.
7. Вашич Уеб брайзър показва информацията на екрана ви когато пакетите биват получени.

Множество приложения се изпълняват в приложния слой, разгледахте HTTP и FTP като примери как оперират тези приложения. Други често срещани приложения в този слой са; Simple Network Management Protocol (SNMP), Telnet, Simple Mail Transfer Protocol (SMTP) и Trivial File Transfer Protocol (TFTP).

Портове и firewall-и

Псеки пакет движещ се в мрежата съдържа няколко къса информация, които гарантират пристигането му там където е насочен. Част от информацията в хедъра осигурява хадруерния (MAC) адрес на получателя, друга част осигурява IP адреса, а друга част осигурява информация за порта. Когато пакет получава достъп до мрежата, преди физическото пристигане при дестинацията му, може да бъде използван firewall за предпазване на хоста дестинация от слонамерен пакет. Firewall-a ще отхвърли пакети с неразрешен адрес и порт на получателя.

Заявяване на услуга в TCP/IP стека

Представете си TCP/IP стека като изключутелно висока офис зграда с 2 кули. Двете кули споделят еднo фоайе и всяка кула има 65536 етажа. Понеже те са част от една зграда, двете кули имат един и същи физически адрес (номер на улицата), в тази аналогия този адрес е MAC адреса. Допуснете, че искате да направите зачвка към компания която се намира в тази зграда. За да направите това трябва да знаете адреса на здрадата и етажа на който тази компания се помещава. Използването на адреса на улицата ви помага да пристигнете при зградата, после отивате при асансьора и започвате да се качвате към етажа където е тази фирма. Когато отидете при асансьорите трябва да знаете кой от тях да ползвате. Едната кула е TCP а другата UDP. За този пример трябва да отидете на TCP порт 80, за да намерите компанията с която сте дошли да правите бизнес. Отивате при TCP асансьора и отивате на 80-тия етаж. Когато се отворят вратите ви посреща портиер, за да предаде вашите служебни искания. Вие правете своето искане и портиера започва да го обработва.

Както беше дискутирано по-рано в тази глава, TCP порт 80 е порта където HTTP сървъра слуша за заявки. Когато вратата на асансьора се отвори на 80-тия етаж, това е една HTTP услуга която чака да изпълни вашите запитвания. Ако се качите на 21-вия етаж, FTP услуга ще чака да изпълни исканията ви. Когато програмистите пишат услуга те определят на кой порт тази услуга искат да слуша. Когато клиента изпраща пакет до сървъра, който хоства услуга, клиента трябва да направи запитването към коректния порт. Ако услугата слуша на порт 80 а клиента отправи запитването към порт 81, зачвката няма да бъде обработена защото няма услуга която да слуша там.

Представете си нашите кули и всички празни етажи. сървъра не изпалнява 65536 услуги и определено не и в двете TCP и UDP кули. Не искаме на етажите, които са празни и не изпълняват услуга да слизат посетители. Ако има недобронамерени хора които искат да превземат нашата зграда, те вероятно ще се опитат да направят това от етаж където няма услуга и няма взети мерки за сигурност. На всички етажи кадето върви услуга, има взети мерки за сигурност вградени в тази услуга, но на етажите без услуга е възможно да влезе нарушител.

Firewall-a защитава локалната мрежа

В локалната мрежа (ЛМ или LAN), всеки хост е като TCP/IP зградата която беше описана. За да защитят ЛМ от нарушители повечето администратори използват Firewall. Firewall-a (защитната стена) е комбинация от хардуер и софтуер инсталиран на границата на ЛМ. Защитната стена прилича на военен пропускателен пункт на входа на мрежата. Администратора поставя firewall на всеки вход към мрежата. Всеки пакет които пожелае да влезе в мрежата трябва да премине през пункта за проверка където ще бъде проверен. Много firewall-и са настроени да блокират целия трафик и администраторите конфигурират правила за допускане на определен трафик до мрежата. Администратора може също така да забрани определен трафик да излиза от мрежата.

Представете си остров пълен с TCP/IP згради и единствения начин да отидете или да си замините от острова като минете по мост. Тази връзка към острова моста е мястото където се извършва проверката. Ако има и други места за вход към острова там трябва също да има място за проверка. В ЛМ трябва да има защитна стена на всяко място с връзка към интернет. На тези места за проверка всеки пакет е изследван базирайки се на правилата създадени от администратора, и на пакета се дава достъп или се отхвърля.

Тези правила се създават на базата на IP адреси, DNS имена, протоколи и портове. Администратора създава тези правила на базата на услугите, които иска да бъдат достъпни за останалите мрежи. Например без наличието на FTP сървър в мрежата администратора ще забрани всякакви входящи връзки към порт 21. Ако ЛМ има FTP сървър и администратора иска той да бъде достъпен отвън, администратора може да създаде правило което позволява пакет адресиран до сървър на порт 21 да бъде пуснат в ЛМ. Без Firewall башите TCP/IP згради не са сигурни. Всички пакети се допускат до острова и могат да влязат в желания хост. Когато на пакет бива разрешен достъп до ЛМ, той може да пристигне при желания хост и да се качи до 21-вия етаж. Дори да няма стартирана услуга на 21-вия етаж, вратите на асансьора ще се отворят и пакета ще има достъп до хоста.

Всяка мрежа трябва да бъде осигурена от firewall. Администратора може да реши да постави firewall пред сървъра или да стартира такъв на сървъра и така сървъра ще бъде двойно осигурен.

Бележка: Има уеб страници в интернет, които ще тестват слабите места на вашата машина към TCP/IP атаки. Отворете уеб браузъра си отворете google и търсете "firewall vulnerability test" и би трябвало да откриете няколко безплатни онлайн теста за тестване на уязвимости.
Отговори с цитат
  #6  
Стар 17-03-2009
Аватара на netman
netman netman не е на линия
Жичкаджия
 

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Re: Основи на TCP/IP

Цитирай:
Първоначално написано от protoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 6 IP адресиране


Тази глава покрива Internet Protocol (IP) адресите. В нея ще научите какво е IP адрес, как да различите валидния от невалидния IP адрес и как всички налични IP адреси са разделени в категории наречени класове.

В тази глава:

* Двоична и десетична бройни системи
* Конвертиране на двоична към десетична и на десетична към двоична
* Петте класа IP адреси

Какво е IP адресирането?

Всеки хост в TCP/IP мрежа трябва да има уникален адрес. С тези уникални адреси, е възможно изпращането на информация от хост до хост.Всеки пакет съдържа информация за адреса в хедъра и IP адреса в хедъра се използва за маршрутизиране на пакета. Ако няколко човека на вашата улица имат един и същ адрес, това би било проблем за пощите например да сортират писмата. По аналогия IP адресите са уникални за всяка мрежа.

IP адресирането представлява конфигуриране на всеки TCP/IP хост с валиден IP адрес. За достъп до Интернет хоста трябва да има IP адрес, които не само идентифицира хоста (като адрес на къща) но също да идентифицира и мрежовия адрес (като номер/име на улицата). Администратора на мрежата трябва да поставя подходящи IP адреси, за да могат хостовете в мрежата да комуникират помежду си.

Бройни системи

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

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

Десетичната бройна система изпозва цифрите; 0,1,2,3,4,5,6,7,8 и 9. В двоичната бройна система се използват единствено цифрите 0 и 1.
За да разберем по-добре двоичната бройна система нека погледнем по-отблизо десетичната с която сте запознати доре. Когато анализирате десетичната бройна система е ясно, че цифрите представят определена стойност в зависимост от това на коя позиция/колона в числото се намират. Например числото 27 има 2 с колоната за десетици и 7 в колоната за еденици. Стойността на числото е (2x10) + (7x1).

Когато гледате десетично число, стойността на цифрите във всяка колона се ужеличава от дясно на ляво. Стойността на цифрата в най-дясната колона е резултат на умножение на цифрата по 1. Стойността на цифрата в следващата колона на ляво се получава като умножим цифрата по 10, следващата колона на ляво по 100, следващата по 1000 и т.н. Стойността на колоните продължаа да се увеличава с 10 пъти при всяко преместване на ляво. След като намерите стойността във всяка колона събирате тези стойности, за да получите стойността на сялото число.

Увеличаването на числото при десетичната и двуична бройни системи става по един и същи начин. И при двете системи, продължавате да увеличавате най-дясната цифра с 1 докато не достигнете най голямата стоиност за бройната система (докато не достигнете 9 за десетичната или 1 за двуичната). След като достигнете най голямата стойност добавяте 1 на ляво и започвате най-дясната колона от най-малката цифра отново.

Например: В десетичното число 321, ч е най-дясната цифра. За да увеличим 321 плавно добавяме 1 към най-дясната цифра за да получин 322, продължаваме да увеличаваме най-дясната цифра с 1 докато най-дясната цифра не приеме най високата стойност: 329. Сега увеличаваме цифрата от ляво с 1 и започваме най-дясната цифра от най-малката стойност: 330. След това продължаваме по съция начин..

Бележка: В компютърната индустрия се използват още осмична и шестнадесетична бройни системи. При осмичната базата е 8 а при щестнадесетичната 16.

Преглед на десетичната е двуичната бройни системи

В таблицата от десетични числа по-долу всяко число е представено с 4 цифри. В лявата колона на таблицата, числото 0000 се увеличава с 1 докато не достигне стойност от 0009. В това положение, колоната за еденици достига максималната си стойност за бройната система, така че увеличаваме цифрата в колоната за десетици а стойноста в колоната за еденици запозва отново с най-малката си стойност. Всяка от колоните на таблицата показва четирицифрените числа увеличавани плавно с 1 докато не достигнат 9.

Всяка група от три колони представя точка за десетичната бройна система в която увеличаване на най-дясната цифра с едно предизвиква нужда от повишение в следващата колона.

0000 0010 0020 ... 0090 0100 0110 ... 0990 1000 1010
0001 0011 0021 ... 0091 0101 0111 ... 0991 1001 1011
0002 0012 0022 ... 0092 0102 0112 ... 0992 1002 1012
0003 0013 0023 ... 0093 0103 0113 ... 0993 1003 1013
0004 0014 0024 ... 0094 0104 0114 ... 0994 1004 1014
0005 0015 0025 ... 0095 0105 0115 ... 0995 1005 1015
0006 0016 0026 ... 0096 0106 0116 ... 0996 1006 1016
0007 0017 0027 ... 0097 0107 0117 ... 0997 1007 1017
0008 0018 0028 ... 0098 0108 0118 ... 0998 1008 1018
0009 0019 0029 ... 0099 0109 0119 ... 0999 1009 1019

Двуичната бройна система действа по същия начин с това изключение, че може да използвате само 0-ли и 1-ци. По този начин като увеличите с 1 вече сте достигнали максималната стойност в двуичната бройна система. Следващата таблица показва четирицифрени двуични числа увеличавани с 1.

0000 --- 1000
0001 --- 1001
0010 --- 1010
0011 --- 1011
0100 --- 1100
0101 --- 1101
0110 --- 1110
0111 --- 1111

Конвертиране на двуични числа към десетични

TCP/IP винаги използва двоични IP адреси. Но хората гледат да използват десетични IP адреси понеже могат много по-лесно да работят с тази позната форма на записване. Конвертирането на двуични към десетични числа е едно много важно умение позволяващо на мрежовите администратори да знаят точната стойност, която TCP/IP ползва.

Опитайте: Конвертиране от двоична към десетична

За да конвертирате двоично число към десетичноl, първо проучете двоичните цифри. За всяка колона която има 1, забележете че това е десетична стойност и после после съберете тези стойности за да получите десетичния еквивалент. Десетичната стойност за всчка колона остава константна:

* Най-дясната колона има десетична стойност 1.
* Следващата колона надясно има десетична стойност от 2.
* Третата колона надясно има десетична стойност от 4.
* Четвъртата колона надясно има десетична стойност от 8.

Така например за двуичното число 0011 имате 1-ци в две колони. Знаете че най-дясната колона има десетичен еквивалент 1 и че втората колона надясно има десетичн еквивалент от 2. Съберете 1 и 2 и получавате 3. Така десетичния еквивалент на 0011 е 3.

Сега опитайте тези примери:

1. Конвертирайте двуичното число 0001.
Десетичния еквивалент за конвертирането е 0 + 0 + 0 + 1 = 1 десетично
2. Конвертирайте двуичното число 0110.
Десетичния еквивалент за конвертирането е 0 + 4 + 2 + 0 = 6 десетично
3. Конвертирайте двуичното число 1110.
Десетичния еквивалент за конвертирането е 8 + 4 + 2 + 0 = 14 десетично
4. Конвертирайте двуичното число 1111.
Десетичния еквивалент за конвертирането е 8 + 4 + 2 + 1 = 15 десетично

Всяка от тези колони представлява бит (двуична цифра). Най-голямото десетично число, което може да се възпроизведе от 4 бита е 15.

Конвертиране на десетични числа към двоични

Съществуват няколко прости метода за превръщане на десетични числа в двоични. Вижте кой ви е най-удобен и го упражнявайте. В тази секция ще намерите няколко метода които може да са ви полезни.

Използване на метода стойност на бита

Единия метод за конвертиране на десетични към двуични числа е противоположен на конвертирането на двуични към десетични. Първо намирате двуичните позиции с максимална десетична стойност, които са все още по-малки или равни на десетичното число, което искате да конвертирате. Задайте стойност от 1 за тази двуична позиция, извадете тази стойност от оригиналното десетично число и повторете същия процес за остатъка.

Опетайте: Конвертиране на десетични числа в двуични

За да конвертирате десетично 9 в двуично с помоща на метода стойност на бита, започнете с бинарна таблица като тази:
x x x x
8 4 2 1
Можете да видете че двуичната позиция с максимална десетична стойност, която все още по-малка от 9 е бита 8. Така че слагате 1 в бита 8 и изваждате 8 от оригиналното десетично число 9 и имате остатък от 1.
1 x x x = 8 и 9 – 8 остава остатък от 1
8 4 2 1
Повтаряте процеса за остатъка: Максималната бинарна позиция със стойност по-малка или равна от 1 е бита 1. Поставяте 1 на това място. Понеже нямате остатък останалите битове остават 0-ли и конвертирането приключва.
1 0 0 1 = 9 и 9 – 9 остава остатък от 0
8 4 2 1
Така че десетичното 9 е 1001 в двуичен формат.

Сега опитайте и тези примери:

1. Конвертирайте десетичното 6 в двуично.
x x x x
8 4 2 1
Резултат: 0 1 1 0 = 6 (0 + 4 + 2 + 0)
2. Конвертирайте десетичното 11 в двуично.
x x x x
8 4 2 1
Резултат: 1 0 1 1 = 11 (8 + 0 + 2 + 1)
3. Конвертирайте десетичното 3 в двуично.
x x x x
8 4 2 1
Резултат: 0 0 1 1 = 3 (0 + 0 + 2 + 1)
4. Конвертирайте десетичното 15 в двуично.
x x x x
8 4 2 1
Резултат: 1 1 1 1 = 15 (8 + 4 + 2 + 1)
5. Конвертирайте десетичното 8 в двуично.
x x x x
8 4 2 1
Резултат: 1 0 0 0 = 8 (8 + 0 + 0 + 0)
6. Конвертирайте десетичното 9 в двуично.
x x x x
8 4 2 1
Резултат: 1 0 0 1 = 9 (8 + 0 + 0 + 1)
7. Конвертирайте десетичното 5 в двуично.
x x x x
8 4 2 1
Резултат: 0 1 0 1 = 5 (0 + 4 + 0 + 1)
8. Конвертирайте десетичното 13 в двуично.
x x x x
8 4 2 1
Резултат: 1 1 0 1 = 13 (8 + 4 + 0 + 1)

Използване на метод с делене

Друг метод за преобразуване на десетични числа в двуичние е мотода с делене. Метода с делене използва серия от прости деления на 2, за да направи преобразуването. Всеки път когато делите десетичното на 2 остатъка ще бъде 1 или 0. Важно е да записвате остатъците в вярната последователност защото резултата зависи от тях.

Процеса на преобразуване изглежда така:

1. Разделете десетичното число на 2 и запишете остатъка 1 или 0.
2. Разделете отговора от деленето на 2 и запишете остатъка 1 or 0.
3. Повтаряйте стъпка 1 и 2 докато резултата от деленето не стане 0.
4. Записвайте остатъците в обратен ред, за да получите двуичния еквивалент.

Опитайте: Конвертирайте десетичните числа в двуични като ползвате метода с делене

Следвайте тези примери стъпка по стъпка и опитайте да ползвате метода на делене, за да преобразувате чистата.
За да конвертирате десетичното 6 в двуично:

1.
Разделете 6 на 2 (6/2 = 3 и остатък 0). Запишете 0 като първи остатък.
2.
Разделете резултата от деленето, 3 на 2. (3/2 = 1 и остатък 1). Запишете 1 като втори остатък.
3.
Разделете резултата 1 на 2. (1/2 = 0 и остатък 1). Запишете 1 като трети остатък. Резултата от деленето е вече 0, така че не е нужно да повтаряте стъпките.
4.
Остатъците които получихме са 011. Запишете ги в обратен ред за да получите двуичното число 110.

Сега опитайте тези примери:

1.
Конвертирайте десетичното число 11 в двуично.
11/2 = 5 остатък 1
5/2 = 2 остатък 1
2/2 = 1 остатък 0
1/2 = 0 остатък 1
резултат: 1011
2.
Конвертирайте десетичното число 15 в двуично.
15/2 = 7 остатък 1
7/2 = 3 остатък 1
3/2 = 1 остатък 1
1/2 = 0 остатък 1
резултат: 1111
3.
Конвертирайте десетичното число 4 в двуично.
4/2 = 2 остатък 0
Continues
2/2 = 1 остатък 0
1/2 = 0 остатък 1
резултат: 100
4.
Конвертирайте десетичното число 10 в двуично.
10/2 = 5 остатък 0
5/2 = 2 остатък 1
2/2 = 1 остатък 0
1/2 = 0 остатък 1
резултат: 1010
5.
Конвертирайте десетичното число 7 в двуично.
7/2 = 3 остатък 1
3/2 = 1 остатък 1
1/2 = 0 остатък 1
резултат: 111

Запомнете: Има само 10 типа хора в света, тези които разбират двуичната бройна система и тези които не я разбират!

Използване на калкулатор

Друг метод за конвертиране на десетичните цисла в двуични и обратното е използването на калкулатор. Важно е да разбирате математическите методи за конвертиране на числата, но повечето администратори в крайна сметка ползват калкулатор защото е по-бързо, лесно и не се допускат неволни грешки.

Често използван калкулатор за целта е този включен в операционните системи на Microsoft. Можете да го стартирате от Start>>Programs>>Accessories>>Calculator.
Калкулатора трябва да е в режим Scientific, може да го изберете от View>>Scientific.
calculator



След като калкулатора е в режим Scientific както е на фигурата, погледнете радио бутоните в горната лява част. Радио бутона Dec поставя калкулатора в десетичн режим, а Bin бутона в двуичен режим. За да направите някакво конвертиране напишете числото, което искате да конвертирате после натиснете бутона който не е маркиран. Показалото се число е конвертираното число.

Внимание: Когато използвате калкулатор за конвертиране на десетични числа в двуични имайте предвид, че 0-те отпред изчезват. Например десетичното 7 се представя като двуичното 111 в калкулатора. Но когато работите с IP адреси по принцип ще искате да ползвате 4 или 8 бита. Числото 7 представено с 4 бита е 0111 а с 8 бита 0000 0111. Калкулатора не показва нули отпред защото ги смята за маложажни.

IP адреси

TCP/IP адресите представляват 32 бита. Но вместо да работят с 32 1-ци и 0-ли хората използват десетични числа за представяне на IP адресите, по-точно четири десетични числа разделени с точка "." Тези четири десетични числа представляват 32 двуични цифри, разделени в 4 части наречени октети. Един октет е 8 бита.

IP адреса записан с десетични числа се начича точково десетичен запис (dotted decimal notation), защото представлява четири десетични числа разделени с точки ".". Всяко от тези четири десетични числа представлява споменатите по горе 8 двуични числа (8 бита). В примерите за конвертиране на числа разглеждахме само 4 битови двуични числа. В 8-битовите числа, десетичната стойност на битовете продължава да нараства от дясно на ляво:

* петия бит има десетична стойност 16.
* шестия бит има десетична стойност 32.
* седмия бит има десетична стойност 64.
* осмия бит има десетична стойност 128.

Така например двуичното число 0101 0101 е равно на десетичното 85:
0 + 64 + 0 + 16 + 0 + 4 + 0 + 1 = 85
Двуичното число 1001 0101 е равно на десетичното 149:
128 + 0 + 0 + 16 + 0 + 4 + 0 + 1 = 149
Двуичното число 1111 1111 е равно на десетичното 255:
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
Най-голямото десетично число което един октет може да съдържа е 255. Десетично 256 неможе да се представи с 8 бита и затова няма IP адрес, който да съдържа повече от 255 в някой октет. TCP/IP ползва всички 32 бита; по тази причина е важно когато гледате към четирите десетични числа да разбирате че те наистина са 32-та бита които TCP/IP ползва.

Например, IP адресът 131.107.2.200 може да бъде представен в следните двуични октети:
131 = 1000 0011
107 = 0110 1011
2 = 0000 0010
200 = 1100 1000
Следователно TCP/IP ще види 131.107.2.200 като:
1000 0011 0110 1011 0000 0010 1100 1000

За хората поглеждането на 32 бита е малко в повече, така че ползването на десетичн еквивалент е по-лесно. Когато гледат двуичното число повечето хора разделят всеки 4 бита, за да може всички 1-ци и 0-ли да не изглейдат смесени.

Например IP адресът 209.132.95.62 ще бъде:
209 = 1101 0001
132 = 1000 0100
95 = 0101 1111
62 = 0011 1110
TCP/IP вижда 209.132.95.62 като това:
1101 0001 1000 0100 0101 1111 0011 1110

Ето няколко примера за IP адреси:
15.231.25.115
1.26.251.32
221.26.0.1
209.132.95.3

Класове на IP адресите

IP адресите са разделени в пет класа: Клас A, Клас B, Клас C, Клас D, и Клас E. Адресите се поставят в определен клас в зависимост от десетичната стойност в първите им октети. Първия октет на IP адреса може да започва с десетична стойност от 1 до 255.

Система за разделяне на IP адресите в класове е въведена, за да помогне при назначаването на уникални IP адреси. Нека да погледнем как са разделени тези класове и как се получава IP адрес във всяка от тези категории.

Адреси клас A

Адресите от клас A започват с десетична стойност в първия октет от 1 до 127. Например:
1.x.y.z
10.x.y.z
27.x.y.z
102.x.y.z
Представени двуично клас А адресите винаги започват с 0 в наи левия бит. Например:
1.x.y.z = 0000 0001.x.y.z
10.x.y.z = 0000 1010.x.y.z
27.x.y.z = 0001 1011.x.y.z
102.x.y.z = 0110 0110.x.y.z
127.x.y.z = 0111 1111.x.y.z
Забележете, че 127 има 1 във всеки бит на октета с изключение на първия бит. Следващата по-висока двуична стойност ще постави 1 в първия октет и адреса вече няма да бъде клас А. Ето защо 127.x.y.z е най-високия клас А адрес.

Клас A адресите използват първия октет за да представят адреса на мрежата, като оставят останалите 3 октета за оказване на уникални адреси на хостове в тази мрежа. Понеже първия бит е 0 следващите 7 бита се използват за разграничаване на мрежата от врички останали мрежи и 24 бита се използват от всеки хост, за да направи себе си уникален в мрежата. Едно важно правило, което трябва да запомните е, че мрежовия адрес не може да бъде представен от 0-ли във всички битове. Това осначава, че има само 127 клас А адреса на мрежи. На пръв поглед е очевидно, че има 127 мрежи но следното уравнение го доказва:
27 – 1 = 127
където 2 на всички възможни комбинации от стойности които всеки бит може да съдържа (1 или 0), 7 е броя на използваните битове и 1 е адреса при който всички 7 бита са 0 (не можете да имате мрежов адрес само с нули нали така?).

За всеки от тези 127 мрежи, всеки адрес ползва останалите 24 бита за да направи себе си уникален. Всички възмоцни комбинации от тези 24 бита образуват броя на уникалните IP адреси на хостове, които могат да съществуват в тези 127 мрежи. Има 16,777,214 възможни уникални IP адреса във всяка от 127-те клас А мрежи. Подобно на правилото, че мрежовата част от адреса неможе да се състои само от 0-ли, хост частта на адреса не може да бъде само 0-ли или само 1-ци. Хост частта, която съдържа само 1-ци се отнася за IP броудкаст адрес за него ще научите в следващата глава, а хост частта състояща се само от 0-ли се отнася за мрежата. Ето защо уравнението за определяне броя на хостовете във всяка клас А мрежа изглежда така:
224 – 2 = 16,777,214
Изваждаме 2 понеже адресите при които има само 0-ли или 1-ци са невалидни.

Мрежовия адрес 127 от клас А мрежовите адреси е резервиран за тестове, мрежовия адрес 127.x.y.z е резервиран като адрес за обратна връзка (loopback). Никой хост неможе да ползва 127.нещо си за свой адрес защото този адрес е резервиран за диагностични цели. Когато тестваме TCP/IP инсталацията, 127.нещо си се отнася за тази инсталация. Например ако мрежов администратор тества 127.0.0.1 ще се отнася за тествания хост. Понеже 127.0.0.0 мрежата е само за тестване и не е налична за ползване за адреси, останаха 126 клас А мрежи.

Адреси резервирани за частно ползване

Някои адреси са резервиране за частни нужди. Например 127.0.0.0 е резервиран за тестови нужди, други примери включват IP адреси които се ползват само в частни мрежи, не в интернет. Ако желаете да ползвате TCP/IP във вашата вътрешна мрежа (intranet) без да ползвате интернет може да ползвате следните адреси:

Клас A от 10.0.0.0 до 10.255.255.255
Клас B от 172.16.0.0 до 172.31.255.255
Клас C от 192.168.0.0 до 192.168.255.255

Маршрутизаторите в интернет няма да маршрутизират трафик от или до тези адреси, те са само за вътрешна частна употреба. За да ползвате тези адреси и да имате достъп до интернет трябва да ползвате Proxy сървър или Network Adress Translation (NAT).

Proxy сървър e приложение, което препредава трафика от една мрежа в друга като променя IP адреса на изпращащия хост.

Network Adress Translation (NAT) е приложение, което променя адреса на изпращащия хост когато препредава трафика от една мрежа в друга.

Class B Addresses

Клас B адресите имат в пърдия си октет десетична стойност от 128 до 191. Например:
128.x.y.z
151.x.y.z
165.x.y.z
191.x.y.z
В двуичен вид клас B адресите винаги започват с 10 в първите два бита. Например:
128.x.y.z = 1000 0000.x.y.z
151.x.y.z = 1001 0111.x.y.z
165.x.y.z = 1010 0101.x.y.z
191.x.y.z = 1011 1111.x.y.z
Забележете че 191 има еденици във всички битове в октета с изключение на втория бит най-ляв бит. Следващата по-голяма двуична стойност би поставила 1 в този октет и този адрес не би бил от клас B, 191.x.y.z е най-високия клас B адрес. Клас B адресите ползват пъсвите два октета, за да представят уникален адрес на мрежа. Понеже имаме 10 в първите два бита следващите 6 бита на първия октет и 8-те бита на втория октет се използват за отличаване на тази мрежа от всички останали мрежи. 16 бита се ползват от всеки хост, за да направи уникален адрес за себе си в клас B мрежата. Уравнението, което показва броя на възможните клас B мрежи изглежда така:
214 = 16384
Това означава, че има 16384 клас B мрежи на разположение. Във всяка от тези 16384 мрежи всеки адрес ползва останалите 16 бита за определяне на уникален адрес. Всичките възножни комбинации от тези 16 бита образуват броя на уникалните хотове в тези 16384 мрежи. Има 65534 възможни уникални IP адреса в една клас B мрежа:
216 – 2 = 65534

Клас C адреси

При клас C адресите имаме в първия октет десетична стойност от 192 до 223. Например:
192.x.y.z
200.x.y.z
210.x.y.z
223.x.y.z
В двуичен вид клас C адресите винаги започват със 110 в първите 3 бита. Например:
192.x.y.z = 1100 0000.x.y.z
200.x.y.z = 1100 1000.x.y.z
210.x.y.z = 1101 0010.x.y.z
223.x.y.z = 1101 1111.x.y.z
Забележете, че 223 има 1-ци навсякаде в октета с изключение на третия бит отляво. Следващата по висока двуична стойност би пославила 1-ца в третия бит и адреса не би бил от клас C. Ето защо 223.x.y.z е най-високия клас C адрес. Клас C адресите използват първите 3 октета, за да представят уникален адрес на мрежата. Понеже първите 3 бита са винаги 110, мрежовата част на клас C адреса включва останалите 5 бита и всичките 8 бита във втория октет плюс всичките 8 във третия, имаме общо 21 бита. Остават само 8 бита за използване от хостовете в клас C мрежата. Уравнението за клас C мрежата е:
221 = 2097152
Това означава, че съществуват 2,097,152 клас C адреса на разположение. Във всяка от тези 2097152 мрежи, всеки хост ползва останалите 8 бита, за да определи уникален адрес за себе си. Всички възможни комбинации от тези 8 бита правят броя на хостовете в клас C мрежата. Има 254 възможни уникални адреса в клас C мрежата:
28 – 2 = 254

Клас D адреси

При клас D адресите имаме десетична стойност от 224 до 239 в първия октет, в първия октет в двуичен вид имаме за първите битове 1110. Класовете A, B и C са единствените адреси, които са на разположение за TCP/IP IP адреси на хостове. Нито един хост неможе да има клас D адрес. Тези адреси се наричат мултикаст адреси и са невалидни за ползване за ползване от всеки хост.

Предназначението на мултикаст адресите е да позволи на сървър някъде в интернет да изпраща данни до клас D адреси, които нито един хост няма, за да може няколко хоста да слушат на този адрес по едно и също време. Когато гледате телевизия онлайн или слушате онлайн радио в интернет вашия компютър слуша клас D адрес. Никой сървър не изпраща данни директно до вашия компютър, вместо това сървъра изпраща данните до мултикаст адреса. Всеки хост може да ползва софтуер, за да слуша на адреса и много хостове могат да слушат наведнъж.

Клас E адреси

Адресите от клас E имат обхват от 240 до 255 и първия им октет започва с 1111 за първите 4 бита. Клас E адресите са резервирани адреси и са невалидни за ползване от хостове, те се използват за експериментални цели от IETF.

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

Classless Inter-Domain Routing (CIDR) е схема за IP адресиране разработена след класовата система A, B, C, D и E. Традиционната класова система възприема IP адреса като четири октета с мрежова част на адреса осветен от подмрежова маска (Subnet mask). Стандартната мрежова част представят първия октед, първите два октета или първите три октета. CIDR адресирането също представя IP адресите в традиционния десетично точков вид, но осветява мрежовата част с наклонена черта следвана от число. Например:
192.168.3.15/26
172.21.165.1/19
Числото след наклонената черта представлява броя битове използвани за мрежовата част на IP адреса. CIDR е разработен, за да увеличи ефективността при назначаването на адресите и да разтовари натоварените Интернет маршрутизатори. Използвайки CIDR адреси, по-малко и по кратки адреси/маршрути е нужно да бъдат записани в маршрутните таблици.

Обобщение класовете IP адреси

Важно е да разбирате цялата схема на адресите, после когато правите избор за TCP/IP адресиране за вашата мрежа, ще използвате тази схема която ви позволява да адресирате всички хостове в мрежата си и да ви остави възможност за разтеж.
Обобщение на правилата и уравненията за изчисление за адресите на класовете A, B и C:

* Идентификатора на хоста не може да съдържа само 0-ли.
* Идентификатора на хоста немоге да съдържа само 1-ци.
* За определяне на броя на мрежите, които могат да бъдат създадени, използвайте формулата 2N, където N е броя на битовете в мрежовата част на адресите.
* За да определите броя на хостовете във всяка мрежа, използвайте формулата 2N – 2, където N е броя на битовете използвана за хост частта на адреса.

Следната таблица представя обобщение на класовете и адресите:

Отговори с цитат
  #7  
Стар 17-03-2009
Аватара на netman
netman netman не е на линия
Жичкаджия
 

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Re: Основи на TCP/IP

Цитирай:
Първоначално написано от protoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 7 Адресиране на IP хостове


В тази глава ще разгледаме различните начини за назначаване на IP адреси на всеки хост. Има два начина за конфигуриране на IP адрес на хоста; ръчен и автоматичен.

В тази глава:

* Инсталиране на TCP/IP
* Назначаване на IP адреси
* Получаване на IP адрес от DHCP сървър
* Подновяване на IP адрес
* Запазване на IP адрес
* Настройване периода за отдаване
* Настройване на DHCP обхвата и опциите

Инсталиране и назначаване на IP адреси

Понеже всеки хост трябва да има уникален адрес, някой трябва да назначи IP адрес на всеки хост. Други допълнителни елементи на конфигурационната информация могат също да бъдат зададени на хоста, такива като основен шлюз (default gateway), Domain Name System (DNS), Windows Internet Naming Service (WINS) и други опции. Използват се два метода за назначаване на IP адресите, ръчен и автоматичен метод за конфигуриране, по-нататък ще разгледаме и двата.

Има много операционни системи и процедури за инсталиране и конфигуриране на IP адреси. Инструкциите и снимките в тази глава ще покажат как става ръчното конфигуриране на TCP/IP на някои от версиите на операционната система Windows.

Ръчна конфигурация на IP адреси

Администратор с няколко хоста в мрежата си може да реши, че най-лесния начин да направи това е като зададе IP адресите ръчно. Администратор с 10 хоста в мрежата например може да седне пред всеки от тях и да въведе IP адреса, мрежовата маска и верочтно друга допълнителна информация. Това може да е предпочитания метод, защото има само няколко хоста. Обаче администратор с 254 хоста в мрежата си ще трябва да въвежда всичката информация на всичките 254 хоста, докато въвежда тази информация 254 пъти, шанса Администратора да направи някоя друга грешка се увеличава. На Администратор с 2540 хоста ще му отнеме много време докато въведе цялата информация на всички хостове и вероятно ще направи много грешки, които да отстранява после. Ето защо ръчната конфигурация на IP адресите е ефикасна само за няколко хоста. За назначаване на IP адреси на болшинството от хостовете си, Администраторите използват Dynamic Host Configuration Protocol (DHCP), който е дискутиран в следващата секция.

Инсталиране на TCP/IP на Windows XP, Vista, 2003 и 2008

По време на инсталацията на Windows XP, Vista, 2003 и 2008 TCP/IP се инсталира автоматично. Няма опция да го премахнете и няма опция да го инсталирате. Всичко което можете да направите с TCP/IP в тези версии на Windows е да модифицирате и конфигурирате настройките. Ако се инсталират нови мрежови устройства или карти към машина с Windows XP, Vista, 2003 и 2008 операционната система ще инсталира TCP/IP докато устройството бива конфигурирано.

Dynamic Host Configuration Protocol (DHCP) Протокол за динамична конфигурация на хоста

DHCP конфигурира IP адресите автоматично. Всъщност администратора конфигурира DHCP сървър (хост, който изпълнява услуга да отдава IP адреси на другите хостове) със списък (диапазон) от IP адреси, които DHCP сървъра отдава на хостовете. Администратора може да конфигурира сървъра да отдава IP адреси на различни мрежи, като конфигурира няколко списъка от адреси. Всеки списък от адреси съдържа информация, която е нужна на TCP/IP хостовете за да изградят TCP/IP стека. Когато DHCP клиент гради своя TCP/IP стек, той има нужда от IP адрес и DHCP сървъра поглежда в списъците от адреси, за да дали има свободни IP адреси които да предостави за мрежата в която е хоста. Клиента няма IP адрес защото Администратора не е въвел такъв, вместо това Администратора е посочил, че клиента ще получава своя IP адрес автоматично от DHCP сървър. Така че клиента броудкаства пакет в мрежата; пакета казва нещо като "Хей, кой е DHCP сървъра?" Когато DHCP сървър получи пакет показващ, че DHCP клиент търси DHCP сървър, той преглежда списъка си от адреси и вероятно предлага IP адрес на клиента. Ако DHCP сървъра не е конфигуриран със списък от адреси за мрежата в която се намира DHCP клиента, пакета се игнорира. DHCP клиента може да получи предложения от няколко DHCP сървъра, клиента избира първия предложен му IP адрес и изпраща съобщение което казва, "Да, искам този IP адрес". Пакета отива до DHCP сървъра и той отговаря с пакет, който казва "Добре може да имаш този IP адрес".

В следващата секция ще разгледаме четирите стъпки в процеса през които минава DHCP клиента, за да получи IP адрес от DHCP сървър.

Получаване на IP адрес от DHCP сървър

Процеса на получаване на IP адрес от DHCP сървър преминава през четири стъпки:

1.
DHCP откриване
2.
DHCP предложение
3.
DHCP искане
4.
DHCP потвърждение

DHCP откриване

Първата стъпка е броудкастване на пакет за откриване на DHCP сървър. Когато клиента построява TCP/IP стека си, той броудкаства съобщение което казва "Хей, трябва ми DHCP сървър!". Клиента броудкаства този пакет без да е нужна конфигурация, не е нужно Администратора да въвежда адреса на DHCP сървъра. Клиента търсещ DHCP сървър трябва да изпрати пакета така, че всички компютри в мрежата да го получат, като се надява един от тях да е DHCP сървър.
Пакета за откриване на DHCP съдържа MAC адреса на DHCP клиента, IP адреса на източника е 0.0.0.0 защото клиента все още няма IP адрес. Хардуерния адрес на получатея е отбелязан като FFFFFFFFFFFF, което е хардуерния броудкаст адрес и IP адреса на получатея на пакета е записан като 255.255.255.255, което е IP адреса за броудкаст съобщения.
DHCP клиента поставя своя хардуерен адрес в пакета за откриване на DHCP, защото този хардуерен адрес го отличава от всички останали хостове в мрежата.
Ако пакета за откриване на DHCP е изпратен и не са върнати DHCP предложения, DHCP клиента ще има проблем. На DHCP клиента му е нужен IP адрес, за да използва каквито и да било TCP/IP комуникации и приложения. DHCP клиента ще изпрати няколко пакета в опитите си да открие DHCP сървър преди да покаже съобщение за грешка на потребителя. Това съобщение обикновенно казва, че неможе да бъде намерен DHCP сървър. DHCP клиента ще опита отново след около пет минути като изпрати още няколко пакета за откриване на DHCP сървър. Без IP адрес потребителя ще може да ползва останалите приложения на компютъра, но няма да има мрежова функционалност.

DHCP предлжение

DHCP сървъра преглежда всички получени пакети, за да види дали това не е пакет за откриване на DHCP сървър. Когато бъде получен пакет за откриване на DHCP, DHCP преглежда списъка си от IP адреси, за да види дали някой от тези IP адреси отговаря на мрежата от която идва заявката.
Ако DHCP сървъра има свободен IP адрес за мрежата от където произхожда пакета за откриване на DHCP, тогава сървъра създава пакет DHCP предложение. DHCP предложението съдържа в себе си IP адреса, който сървъра предлага на клиента. Друго което е включено в този пакет са мрежовата маска, продължителността на отдаване и други параметри.
DHCP сървъра броудкаства пакета обратно в мрежата, защото DHCP клиента все още няма IP адрес който DHCP сървъра би могъл да ползва, за да изпрати пакета директно до този клиент. Клиента ще разбере, че този пакет е предназначен за него, защото DHCP сървъра е включил хардуерния адрес на клиента в него.
Понеже клиента е изпратил пакет за откриване на DHCP, той ще слуша внимателно мрежата в очакване на DHCP предложение. Възможно е в мрежата да има няколко DHCP сървъра, тогава DHCP клиента може да получи няколко DHCP предложения, клиента ще избере първото получено предложение!

DHCP искане

След като DHCP клиента получи DHCP предложение, той изпраща обратно пакет DHCP искане. Този пакет уведомява DHCP сървъра, че предложението е било прието.
DHCP клиента броудкаства пакета DHCP искане в мрежата. Той е броудкастнат поради няколко причини. Първо клиента няма валиден наем върху IP адреса, което означава че DHCP клиента няма валиден IP адрес нужен за директно изпращане на пакет.
Второ, може би няколко DHCP сървъра са изпратили DHCP предложения след като са получили пакета за откриване на DHCP сървър. Когато DHCP сървър изпрати DHCP предложение, предложения IP адрес бива маркиран като запазен и няма да бъде предложен на друг хост. Като броудкаства DHCP искането, DHCP клиента позволява на всички DHCP сървъри да чуят искането и да проверят техните списъци със запазени IP адреси за да видат дали някой от тях е бил предлаган на клиент с този хардуерен адрес. Ако DHCP искането идва от хардуерен адрес който е в списъка на резервираните за DHCP сървъра и искането не е за IP адрес предложен от DHCP сървъра, то DHCP предложението на сървъра се смята за отказано. Тогава DHCP сървъра може да постави IP адреса обратно в списъка със свободни IP адреси и да го предлойи на друг клиент.
Ето какви адреси има записани в пакета DHCP искане, хардуерен адрес на получателя FFFFFFFFFFFF защото това е броудкастния хардуерен адрес, хардуерния адрес на DHCP клиента, искания IP адрес и IP адреса на DHCP сървъра. По този начин, понеже пакета е изпратен до всички в мрежата DHCP сървъра чийто адрес е включен в пакета ще знае, че DHCP клиента иска предложения IP адрес. Всички други DHCP сървъри ще поставят предложените от тях IP адреси на този клиент обратно в списъка със свободни адреси.

DHCP потвърждение

Сега "зделката" е почти приключена. DHCP клиента търсеше DHCP сървър да му даде IP адрес и DHCP сървъра му предложи такъв, DHCP клиента прие офертата за IP адрес и поиска да го ползва. Сега е нужно клиента да "подпише" документите за наема и "сделката" приключва.
DHCP сървъра чува DHCP искането и приготвя пакет наречен DHCP потвърждение. Както и другите пакети този също ще бъде броудкастнат, защото DHCP клиента все още няма валиден IP адрес. Пакета DHCP потвърждение казва "Получих искането за IP адреса, които ти предложих и да ти можеш да го ползваш. Ето и всички други опции които идват с този адрес".
След като клиента получи пакета DHCP потвърждение той вече има валиден IP адрес и може да комуникира с останалите хостове в TCP/IP мрежата.

DHCP наем

Понеже IP адресите се отдават от DHCP сървъра за определен период, DHCP клиента трябва да поднови наема върху предоставения му адрес след определено време. Ако наема изтече, хоста ще спре да комуникира ползвайки TCP/IP.
Когато половината от времето за което е предоставен наема изтече, DHCP клиента ще изпрати DHCP искане към DHCP сървара питайки за нов наем. Например ако IP адреса е отпуснат за 6 часа, след 3 часа DHCP клиента ще изпрати DHCP искане директно до DHCP сървъра. DHCP искането не е изпратено до всички този път, защото DHCP клиента има валиден IP адрес, валиден наем и знае IP адреса на DHCP сървъра. Забележете, че едно от полетата в пакета DHCP потвърждение беше времето за наем. По този начин DHCP сървъра информира клиента за продължителноста на предоставения наем върху IP адреса. Продължителността на наема е също указан и в пакета DHCP предложение.
Когато DHCP сървъра получи пакета DHCP искане от клиента, той изпраща обратно DHCP потвърждение. Това потвърждение DHCP сървъра изпраща директно до клиента искащ IP адреса. DHCP потвърждението включва всичките опции плюс ново време за наем.
Процеса на подновяване на наема върху IP адреса след изтичане на половината от времето на наема кара клиентите да се връщат често и доста преди изтичане на наема. Ако възникнат някакви проблеми при подновяването на подновяването на адреса остава достатъчно време да се коригират. Например ако DHCP клиент изпрати DHCP искане след половината от времето и DHCP сървъра не отговори, това все още не е проблем защото клиента все още има валиден наем.
Ако изтекат 78% от времето на наема и клиента не е успял да поднови периода за своя наем, DHCP клиента ще броудкастне DHCP искане, за да може всеки DHCP сървър в мрежата да го чуе и отговори с DHCP потвърждение. DHCP сървъра също така може да отговори с DHCP отказ. DHCP отказа означава, че клиента неможе да ползва IP адреса повече. Ако DHCP клиент получи DHCP отказ или времето на предоставения наем изтече, клиента ще престане да комуникира по DHCP. Ако потребителя работи със софтуер инсталиран локално и не ползва мрежови приложения той ще продълци да си работи нормално. Ако потребителя ползва мрежови приложения когато наема изтече, тези приложения ще спрат да работят.

DHCP подновяване на IP адреса

Когато DHCP клиент е рестартиран и все още има валиден наем върху своя IP адрес, бива броудкастнато DHCP искане съдържащо наетия IP адрес в мрежата. DHCP сървъра изпраща DHCP потвърждение към клиента, който подновява наема върху IP адреса. Ако DHCP клиента не получи DHCP потвърждение и времето на наема не е изтекло то клиента ще продължи да ползва IP адреса. Друг DHCP сървър в мрежата може да изпрати DHCP отказ, тогава клиента ще престане да ползва IP адреса и клиента ще започне всичко наново като броудкастне DHCP пакет за откриване на сървър.
Когато DHCP клиент бива изключен, той не освобождава IP адреса който е наел. Има моменти когато Администраторите биха искали DHCP клиентите да освободят наетия IP адрес обратно на DHCP сървъра. Това би могло да бъде когато Администратора отстранява някакъв проблем или когато на клиента няма да му е нужен повече IP адрес, например когато напуска мрежата. Повечето инсталации на DHCP клиент позволяват клиента да освободи IP адреса по всяко време.

Бележка: Изпълнение на Microsoft TCP/IP включва особенност наречена Automatic Private IP Address (APIPA) автоматичен частен адрес, която генерира IP адрес за хост конфигуриран като DHCP клиент неуспяващ да получи наем върху IP адрес от DHCP сървър. APIPA генерира произволен адрес от резервиран обхват от адреси на Microsoft от 169.245.0.1 до 169.254.255.254 и броудкаства ARP запирване, за да се увери че няма друг хост в мрежата който е генерирал същия IP адрес. Ползвайки този генериран от APIPA IP адрес хоста може да комуникира с други хостове в мрежата, които също ползват генерирани от APIPA IP адреси.

Запазени DHCP IP адреси

DHCP раздава случайно изтеглени от списъка IP адреси на клиентите в мрежата. Но мрежовия администратор може да предпочете някои хостове да получават един и същи IP адрес винаги. Тези хостове могат да ползват ръчно зададен адрес. Ръчната конфигурация изисква Администратора да напише IP конфигурацията или да направи резервация.
Резервацията се прави на DHCP сървъра. Администратора прави резервацията като въвежда хардуерния адрес на хоста и IP адреса в списъка с резервации. Когато бъде получено DHCP искане, DHCP сървъра вижда хардуерния адрес и го съпоставя с IP адреса резервиран за него. DHCP предложението, което се изпраща обратно ще включва резервирания IP адрес.
Някои примери за хостове които Администратора ще иска винаги да имат един и същ IP адрес са:
За сървъри, приложенията може да са насочени да ползват един и същ IP адрес.
За принтери, хостовете може да са настроени да печатат на принтер с определен IP адрес.
Администраотра може още да резервира IP адреси когато броя от адреси за мрежата е ограничен. Ако Администратор има 254 валидни IP адреса и 300 хоста в мрежата, ще има проблем ако всички хостове се нуждаят от IP адрес по едно и също време, някои хостове няма да успеят да полуяат адрес и съответно няма да могат да комуникират по мрежата. Възможно е обаче не всички хостове да са включени по едно и също време и схемата да работи, но Администратора би желал определени хостове винаги да имат възможност да получат IP адрес. За да направи това Администратора трябва да вземе хардуерните адреси на хостовете, които трябва винаги да имат IP адрес и да им резервира такъв на DHCP сървъра.

Настройване продължителността на наема

Настройване продължителността на времето за наем зависи от Администратора. Дълго време за наем означава, че DHCP клиентите няма да има нужда да подновяват адресите си дълго време, но това означава също че IP адресите няма да бъдат на разположение за други хостове дълго време.
Нека да кажем, че потребител от офиса във Варна отива със своя лаптоп (които е насторен като DHCP клиент) в Софийския офис на фирмата. Когато лаптопа бъде включен в мрежата в София лаптопа броудкаства DHCP намиране, DHCP сървър отговаря и на лаптопа се предоставя наем върху IP адрес. Ако наема е за период от 30 дни, DHCP сървъра няма да предложи този адрес на друг хост за това време. Ако аптопа напусне мрежата в София по късно същия ден, DHCP сървъра незнае, че лаптопа си е заминал от мрежата и не се нуждае от IP адрес повече. IP адреса става неизползваем за 30 дни, DHCP сървъра няма да го върне в списъка със свободни IP адреси докато не изтече този период и така мрежата в София остава с един IP адрес за ползване по-малко.
Ако Администратора беше въвел време за отдаване от 24 часа, IP адреса щеше да бъде на разположение на следващия ден за предоставяне на друг компютър. Обаче това ще кара хостовете да обновяват срока на наема си върху IP адреса на всеки 12 часа, което може да предисвика излишен трафик.
Много Интернет доставчици ползват DHCP с кратък период на наема. Период за наем от два часа ще кара DHCP клиентите да подновяват наема на всеки час, но за сметка на това IP адресите се връщат в списъка със свободни адреси по-често. По този начин доставчика може да има по-малко IP адреси отколкото клиенти, защото не всички клиенти ще са на лия по едно и също време и адресите могат да се ползват отново след два часа.
Когато IP адресите дефицит и нема много в списъка, Администраторя трябва да въведе кратко време за наема. По този начин IP адресите изтичат по-бързо и DHCP сървъра ще има адресите по-скоро за предоставяне на други клиенти. Администратора трябва да постави кратък период за наем и когато опциите претърпяват постоянни промени (например когато адреса на DNS сървъра, WINS сървъра или основния щлюз ще се променят). Краткия предиод на наема ще накара клиента да търси подновяване по-често и заедно с това ще получи и допълнителните настройки. Когато има много неизползвани адреси Администратора може да остави дълъг период за наем.

Настройване на DHCP обхвата и опциите

Администратора трябва да конфигурира DHCP сървъра с подходящия обхват от адреси и DHCP опциите. След като сървъра е настоен правилно DHCP клиентите ще получават своите IP адреси и никакви допълнителни настройки няма да са нужни. Някои от често срещаните попълнителни настойки наред с обхвата от адреси и периода за отдаване са:

* IP адресите на един или повече DNS сървъра
* IP адреса на WINS сървър
* IP адреса на основния шлюз

Ако администратора е въвел IP адрес ръчно той трябва да го изклчи от зададения обхват в DHCP сървъра.

Едно от предимствата на използването на DHCP сървър е това, че клиентите се връщат да обновят своите IP адреси. Ако е нужно да бъдат променени някои опции, Администратора ще наппави промените само на сървъра и когато клиентите се върнат да получат IP адреса си наново те ще получат и новите опции заедно с DHCP потвърждението. На Администратора би му се наложило да промени тези опции на всеки хост, ако IP адреса е ръчно въведен.
Отговори с цитат
  #8  
Стар 17-03-2009
Аватара на netman
netman netman не е на линия
Жичкаджия
 

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Re: Основи на TCP/IP

Цитирай:
Първоначално написано от protoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 8 Въведениe към подмрежовите маски (Subnet Masks)


Подмрежовата маска (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.0 *** 1111 1111.0000 0000.0000 0000.0000 0000
Источник *********** 10.1.2.3 **** 0000 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.0 *** 1111 1111.0000 0000.0000 0000.0000 0000
Източник ************* 10.1.2.3 **** 0000 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 мрежа.

Обобщение:

Клас ** Стандартна маска (десетичен вид) *** Стандартна маска (двуичен вид)
A ***** 255.0.0.0 ************************* 1111 1111.0000 0000.0000 0000.0000 0000
B ***** 255.255.0.0 *********************** 1111 1111.1111 1111.0000 0000.0000 0000
C ***** 255.255.255.0 ********************* 1111 1111.1111 1111.1111 1111.0000 0000



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

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Re: Основи на TCP/IP

Цитирай:
Първоначално написано от protoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 9 Използване на клиентски подмрежови маски


Мрежата се разделя в две мрежи като се ползва рутер. Рутера преглежда всеки пакет, сравнява адреса на получателя с маршрутната си таблица и решава към коя подмрежа да предаде пакета. Рутера се намира на границата между две мрежи, той свързва мрежите между които се намира.
Повечето средни и големи компании биха искали да имат възможност да разделят мрежите си в няколко подмрежи. Освен добавянето на рутери, ще са нужни и различни мрежови IP адреси от двете страни на рутера, за да знае рутера в коя подмрежа да предаде пакет.
Като мрежов Администрато, е нужно да разберете как да създавате клиентски подмрежови маски, за да поставите рутери във вашата мрежа и да създадете подмрежи.

В тази глава:

* клиентски подмрежови маски
* как да създадем допълнителни мрежи
* Правила за валидни IP адреси

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

В повечето мрежи, мрежовите администратори позват IP адресна схема включваща клиентска подмрежова маска. Понеже маршрутизаторите във физическата локална мрежа (LAN) разделят мрежата, мрежовия администратор трябва да позва различни мрежови адреси от двете страни на рутера. Когато рутер се използва за създаване на по-малки мрежи, малките мрежи биват наричани подмрежи (subnet).

Клиентска подмрежова маска - нестандартна подмрежова маска използвана от мрежов администратор, за да направи по-ефикасна употребата на мрежовите адреси като създава повече подмрежи.

Клас А адресите могат да имат почти 17 милиона хоста в мрежата, обаче никоя мрежа няма 17 милиона хоста от едната страна на рутера, не би било физически възможно. Голямата мрежа се разделя на няколко по малки мрежи с помоща на рутери и всеки път когато се използва рутер е нужен нов мрежов адрес. Вместо да получава нов мрежов адрес за всяка мрежа, мрежовия администратор може да създаде повече мрежови адреси като ползва своя подмрежова маска.
Концепцията на клиентските подмрежови маски е проста: използвай подмрежовата маска за да вземеш няколко бита за мрежовата част на IP адреса и ползвай по малко битове за хост частта от адреса.
Например, стандартната подмрежова маска на клас A адрес е 255.0.0.0, която ползва 8 бита за да маскира мрежовата част от адреса. Ако Администратор ползва клас А адрес с тази маска тогава само 8 бита могат да бъдат използвани за мрежовата част на адреса и тези 8 бита са вече определени от адреса който се използва. В тази схема 24 бита остават за хост частта на адреса, което значи 17 милиона адреси на хостове.
255.0.0.0 =
1111 1111.0000 0000.0000 0000.0000 0000
ММММ ММММ.ХХХХ ХХХХ.ХХХХ ХХХХ.ХХХХ ХХХХ
Подмрежовата маска 255.255.0.0 маскира 16 бита от IP адреса за мрежовата част и оставя 16 бита за хост частта. Ако мрежовия администратор ползва същия клас А адрес както преди, но със собствена подмрежова маска 255.255.0.0, тогава IP ще ползва 16 бита за мрежовата част от IP адреса. В тази схема 8 бита маскират мрежовата част на определения клас А адрес. Първите 8 бита са стандартна част от маската, а вторите 8 бита маскират подмрежовата част (П) и все още остават 16 бита за генериране на уникални адреси за хостовете.
255.255.0.0
1111 1111.1111 1111.0000 0000.0000 0000
ММММ ММММ.ПППП ПППП.ХХХХ ХХХХ.ХХХХ ХХХХ

Създаване на допълнителни мрежи

С помоща на клиентска подмрежова маска, администратора не може да промени първите 8 бита, които представляват назначения адрес на IP мрежата, но сега може да използва останалите 8 бита за да създаде повече мрежи. Тази схема все още остава 16 бита за адреси на хостове. Използвайки 8 бита за подмрежа администратора може да създаде 254 подмрежи и ползвайки останалите 16 бита той ще може да адресира 65534 хоста във всяка от тези 254 подмрежи.
За създаване на 254 подмрежи просто ползвайте всички комбинации на 8-те бита. Например:

Десетичен ********************** Двуичен
255.255.0.0 ************** 1111 1111.1111 1111.0000 0000.0000 0000
маскиращите битове ****** ММММ ММММ.ПППП ПППП.ХХХХ ХХХХ.ХХХХ ХХХХ
10.1.0.0 0000 ************ 1010.0000 0001.XXXX XXXX.XXXX.XXXX
10.2.0.0 0000 ************ 1010.0000 0010.XXXX XXXX.XXXX.XXXX
10.3.0.0 0000 ************ 1010.0000 0011.XXXX XXXX.XXXX.XXXX
10.4.0.0 0000 ************ 1010.0000 0100.XXXX XXXX.XXXX.XXXX
10.5.0.0 0000 ************ 1010.0000 0101.XXXX XXXX.XXXX.XXXX
10.6.0.0 0000 ************ 1010.0000 0110.XXXX XXXX.XXXX.XXXX
10.7.0.0 0000 ************ 1010.0000 0111.XXXX XXXX.XXXX.XXXX

Забележете в таблицата, че 8-те мрежови (м) бита остават същите докато 8-те подмрежови (П) бита нарастват. Така създавате няколко различни мрежи.

Правила за подмрежите

Ако администратор има клас A адрес и трябва да направи повече от 254 мрежи, тогава нужната подмрежова маска ще се разшири и в следващия октет. Администратора трябва да определи броя на мрежите които трябва да адресира и максималния брой на хостовете в тези мрежи и после да направи подходящата подмрежова маска. Понякога подмрежовата маска ще използва цял октет, а понякога няма. Администратора може да ползва какъв да е брой подмрежови битове, за да направи правилната маска.
Все пак има някои правила за подмрежите:

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

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

Най-лесния начин за създаване на правилна подмрежова маска е използването на подмрежов калкулатор (търсете subnet calculator в google и ще намерите няколко) или изтеглете този тук. Да можете да правите собствени подмрежови маски без калкулатор е умение. Това умение е полезно за сертификационни тестове, които не позволяват ползването на калкулатор, мрежовите администратори се нуждаят от това умение, за да настроят, да отстранят проблеми и да разберат своята TCP/IP схема.
Вместо да ползва подмрежов калцулатор, администратора може да определи клиентските мрежови маски като ползва проста процедура.

Имаме шест прости стъпки за следване при определяне на собствена подмрежова маска:

1. Определете колко подмрежи са нужни
2. Опредеете максималния брой хостове във всяка мрежа
3. Опредеете подмрежовата маска
4. Определете валидните мреживи адреси
5. Опредеете обхвата от валидни IP адреси за всяка подмрежа
6. Проверете дали сте изпълнили изискванията за броя на мрежите и максималния брой на хостовете.

Определяне колко подмрежи са нужни

Първата стъпка е да се определи колко отделни подмрежи ще са нужни. Нужен е отделен подмрежов адрес за всяка страна на рутера. Например погледнете тези мрежи:



В този пример са нужни 5 уникални подмрежови адреса, всеки от своята страна на рутера. Погледнете, че мрежа B се свързва към три рутера, но въпреки това е нужен само един мрежов адрес. Нужен е и уникален адрес на подмрежата за Wide Area Network (WAN) връзката. WAN връзката се състои от 2 рутера свързващи два сегмента от WAN мрежата.

Определяне максималния брой на хостовете във всяка мрежа

Втората стъпка при определяне на подмрежовата маска е да намерите максималния брой на хостовете за всяка от тези мрежи. Например, ако мрежата ви се състои от 10 работни станции и рутер, ще са ви нужни 11 адреса за хостове. Ако в мрежата ви има 150 работни станции, 10 TCP/IP принтера и 5 рутера, ще ви е нужен план за 165 хост адреса в тази мрежа. Не забравяйте да броите интерфейса на рутера като хост.
За мрежата илюстрирана в горната стъпка са нужни следния брой IP адреси за хостове във всяка от мрежите:

Мрежа ***Брой хостове
А ******** 5
B ******** 8
C ******** 2
D ******** 5
E ******** 3

Таблицата показва, че максималния брой хостове нужен в коя да е от тези мрежи е 8, мрежа B.

Определяне на подмрежовата маска

На тази стъпка първо определяте броя битове, които трябва да отнемете от хост частта на адреса за ползване като подмрежова част. После определяте правилната подмрежова маска. Можете да използвате два метода, за да определите колко бита са ви нужни:

Метод 1: Изчисяване
Метод 2: Наизустяване или ползване на таблица

Метод 1: Изчисляване

За да изчислите броя битове нужен за създаване на подходяща подмрежова маска:

1.
Добавете 1 към броя на подмрежите, които ви трябват. Например ако ви трябват 8 мрежи пресмятате 9, ако ви трябват 30 пресмятате 31, ако ви трябват 900 пресмятате 901.
2.
Конвертирайте полученото десетично число в двуично
Десетично ******** Двуично
9 ****************** 1001
31 ***************** 11111
901 **************** 11 1000 0101
3.
Определете броя на подмрежовите битове които са ви нужни. Този брой е равен на броя битове необходим за представяне на бвуичното число.
Двуично ******** брой битове
1001 ************** 4
11111 ************* 5
11 1000 0101 ******* 10
4.
Прибавете този брой към мрежовата част на стандартната подмрежова маска.
Брой битове ****** Клас А двуична подмрежова маска и маскиращи битове
4 *************** 1111 1111.1111 0000.0000 0000.0000 0000
*************** ММММ ММММ.ПППП ХХХХ.ХХХХ ХХХХ.ХХХХ ХХХХ
5 *************** 1111 1111.1111 1000.0000 0000.0000 0000
*************** ММММ ММММ.ПППП ПХХХ.ХХХХ ХХХХ.ХХХХ ХХХХ
10 ************** 1111 1111.1111 1111.1100 0000.0000 0000
*************** ММММ ММММ.ПППП ПППП.ППХХ ХХХХ.ХХХХ ХХХХ

конвертирани в десетичен вид тези подмрежови маски са:
брой битове ****** Десетична подмрежова маска
4 ******************* 255.240.0.0
5 ******************* 255.248.0.0
10 ****************** 255.255.192.0

Метод 2: Наизустяване или ползване на таблица

Може да ползвате следната таблица за определяне на правилната подмрежова маска:

Максимален брой на необходимите мрежи *** Маска за подмрежовите октети
2 ********************************************* 192
3-6 ******************************************* 224
7-14 ****************************************** 240
15-30 ***************************************** 248
31-62 ***************************************** 252
63-126 **************************************** 254
127-254 *************************************** 255

Знаейки това винаги ползвайте последователни битове в подмрежовата маска, има само 8 възможни варианта:

Брой битове *** Подмрежовия октет в двуичен вид *** Подмрежова маска
1 ******************* 1000 0000 ******************* 128
2 ******************* 1100 0000 ******************* 192
3 ******************* 1110 0000 ******************* 224
4 ******************* 1111 0000 ******************* 240
5 ******************* 1111 1000 ******************* 248
6 ******************* 1111 1100 ******************* 252
7 ******************* 1111 1110 ******************* 254
8 ******************* 1111 1111 ******************* 255

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

Погледнете тази подмрежова маска:
255.192.0.0 = двуичното,
1111 1111.1100 0000.0000 0000.0000 0000

Има два подмрежови бита. Това означава, че IP ще гледа първите 10 бита, за да определи дали друг хост е локален или отдалечен. Броя на мрежите, които могат да се направят с тази подмрежова маска се определя от комбинациите, които могат да се направят с тези 2 бита в IP адреса. Всички възможни комбинации на тези 2 бита са:
00
01
10
11

Според правилата за подмрежите описани по-горе, подмрежовите битове не могат да са само 0-ли или 1-ци. Ето защо могат да се създадат само 2 мрежи с подмрежова маска 255.192.0.0

Сега погледнете тази маска:
255.128.0.0 = двуичното,
1111 1111.1000 0000.0000 0000.0000 0000

Тази подмрежова маска няма да сработи защото има само 1 подмрежов бит и комбинациите от него са 0 и 1, двете комбинации са невалидни.

Накрая разгледайте тази маска:
255.224.0.0 = двуичното,
1111 1111.1110 0000.0000 0000.0000 0000

Сега имате 3 подмрежови бита с които да работите, възможните комбинации от тези битове са:
000
001
010
011
100
101
110
111

Този списък показва 8 уникални комбинации, обаче трябва да игнорирате първата и последната заради подмрежовите правила. Това оставя 6 уникални подмрежови адреса.

Определяне на валидните мрежови адреси

Всички хостове в мрежата трябва да ползват един и същ мрежов адрес и всяка мрежа трябва да ползва уникален мрежов адрес. Следващата стъпка при определяне на схемата от IP адреси е определянето на валидните мрежови адреси на базата на подмрежовата маска, която сте решили да ползвате. За всяка подмрежова маска, само някои мрежови адреси са валидни. В тази стъпка определяте първия валиден мрежов адрес и после определяте следващия валиден мрежов адрес.
Има прост начин за определяне на валидните мрежови адреси за дадена подмрежова маска. Например 192 в двуичен вид 1100 0000. Десетичната стойност на най десния бит със стойност 1-ца е 64, затова и първия валиден мрежов адрес е 64 и следващия адрес е 128.
Следващата таблица илюстрира това:

******************************** 128 *** 64 *** 32 *** 16 *** 8 *** 4 *** 2 *** 1
подмрежова маска = 192 *********** 1 ***** 1 **** 0 **** 0 *** 0 **** 0 ** 0 *** 0

Следващата таблица продължава тази илюстрация. Най-десния бит със стойност нула отговаря на десетичното число най-горе на таблицата, това число е първия номер на мрежа и стъпката на нарастване. В тази таблица първия пример, 224 в двуичен вид 1110 0000. Десетичната стойност на най-десния бит, който е 1-ца е 32, затова и първия мрежов адрес е 32.

**************************128 **** 64 **** 32 **** 16 **** 8 **** 4 **** 2 **** 1
подмрежова маска = 224 **** 1 ****** 1 ***** 1 ***** 0 **** 0 **** 0 **** 0 **** 0
подмрежова маска = 240 **** 1 ****** 1 ***** 1 ***** 1 **** 0 **** 0 **** 0 **** 0
подмрежова маска = 248 **** 1 ****** 1 ***** 1 ***** 1 **** 1 **** 0 **** 0 **** 0
подмрежова маска = 252 **** 1 ****** 1 ***** 1 ***** 1 **** 1 **** 1 **** 0 **** 0
подмрежова маска = 254 **** 1 ****** 1 ***** 1 ***** 1 **** 1 **** 1 **** 1 **** 0
подмрежова маска = 255 **** 1 ****** 1 ***** 1 ***** 1 **** 1 **** 1 **** 1 **** 1

Например нека кажем, че с адрес 131.107.0.0 искате да създадете 4 мрежи. Следвайки стъпките научени по-рано:

1.
Добавете 1 към броя на подмрежите които ви трябват: 4+1=5.
2.
Конветрирайте 5 в двуичен вид: 101.
3.
Понеже 101 има 3 бита ви трябват 3 бита за подмрежовата маска. Подмрежовата маска е 255.255.224.0
4.
Най-десния бит със стойност 1 в 224 има десетична стойност 32, това е първия номер на мрежа.

За да създадете 4 подмрежи от 131.107.0.0, ползвате подмрежова маска 255.255.224.0 и четирите мрежи са:
131.107.32.0
131.107.64.0
131.107.96.0
131.107.128.0

Защо някои мрежи са невалидни? Нека да погеднем мрежата 131.107.31.0

Подмрежовата маска 255.255.224.0 в двуичен вид е следното:
1111 1111.1111 1111.1110 0000.0000 0000 или
ММММ ММММ.ММММ ММММ.ППП Х ХХХХ.ХХХХ ХХХХ
131.107.31.0 = 1000 0011.0110 1011.0001 1111.0000 0000

Забеежете, че подмрежовите битове в IP адреса са всичките 0-ли, това е в противоречие с подмрежовите правила, ето защо 132.107.31.0 с подмрежова маска 255.255.224.0 е невалиден адрес. В този пример това правило се отнася за всички стойности под 32 в третия октет.

Опредеяне обхвата от валидни адреси на хостове

Само определени адреси ще бъдат валидни във всяка от създадените мрежи, затова трябва да определите валидните IP адреси за всяка мрежа. В IP адресната схема трябва също да впишете обхвата от валидни IP адреси. Намиране обхвата от валидни IP адреси е просто когато ползвате (М), (П) и (Х) маскиращите битове. Просто налагате мрежовата маска и виждате валидните адреси, които могат да се направят с останалите битове. Например подмрежовата маска 255.255.224.0 в двуичен вид:
1111 1111.1111 1111.1110 0000.0000 0000
ММММ ММММ.ММММ ММММ.ППП Х ХХХХ.ХХХХ ХХХХ
131.107.32.0 = 1000 0011.0110 1011.0010 1111.0000 0000

Валидните IP адреси в тази мрежа, ще се формират от всяка комбинация от последните 13 бита. Спомнете си, че IP не взима под внимание интервалите.
Започвате с първия адрес:
131.107.32.0 = 1000 0011.0110 1011.0010 0000.0000 0000
Този адрес е невалиден защото всички битове в хост частта са 0-ли.
После започвате да увеличавате стойностите за хостовете:
131.107.32.1 = 1000 0011.0110 1011.0010 0000.0000 0001
131.107.32.2 = 1000 0011.0110 1011.0010 0000.0000 0010
131.107.32.3 = 1000 0011.0110 1011.0010 0000.0000 0011
Продължавайте да увеличавате стойностите в хост частта и прескочете до:
131.107.32.255 = 1000 0011.0110 1011.0010 0000.1111 1111
Това валиден IP адрес ли е? Да! Погледнте всички 13 хост бита, за да видите дали всички хост битове са 0-ли или 1-ци (0000011111111). Може да ви се стори малко коварно, използвайте (М), (П) и (Х) маскиращите битове и игнорирайте интервалите.
Следващия IP адрес в мрежата може да бъде намерен като увеличите всичките 13 бита с 1, което ви дава:
131.107.33.0 = 1000 0011.0110 1011.0010 0001.0000 0000
Този IP адрес валиден ли е за хост? Да! Не забравяйте да гледате всичките 13 хост бита (0000100000000) в този адрес няма само 0-ли или само 1-ци, така че 131.107.33.0 е валиден IP адрес в 131.107.32.0 мрежата!
Нека да продъжим да увеличаваме стойността на 13-те бита с 1:
131.107.33.1 = 1000 0011.0110 1011.0010 0001.0000 0001
131.107.33.2 = 1000 0011.0110 1011.0010 0001.0000 0010
131.107.33.3 = 1000 0011.0110 1011.0010 0001.0000 0011
Продълчавайте да увеличвате 13-те бита и скоро ще стигнете до:
131.107.33.255 = 1000 0011.0110 1011.0010 0001.1111 1111
Валиден ли е този IP адрес? Напълно, погледнете всичките 13 хост бита (0000111111111). Всичките битове 0-ли или 1-ци са? Не не не са, този IP адрес е валиден за мрежата 131.107.32.0. Забележете, че 3-те подмрежови бита не са променени.
Продължавайте да увеличавате 13-те бита с 1 докато стигнете до:
131.107.63.254 = 1000 0011.0110 1011.0011 1111.1111 1110
Това е все още валиден хост IP адрес в мрежата 131.107.32.0. Погледнете всичките 13 хост бита (1111111111110). Последващо увеличаване с 1 и получаваме:
131.107.63.255 = 1000 0011.0110 1011.0011 1111.1111 1111
Това валиден IP адрес ли е? Не! Отново погледнете всичките 13 бита (1111111111111). Всичките те са 1-ци, което прави адреса невалиден за ползване от хост.
От това упражнение може да заключите, че обхвата от валидни IP адреси в мрежата 131.107.32.0 с подмрежова маска 255.255.224.0 е 131.107.32.1–131.107.63.254.
Следващата мрежа започва като увеличите 3-те подмрежови бита. Следващата подмрежа е:
131.107.64.0 = 1000 0011.0110 1011.0100 0000.0000 0000
Сега преминавате през всички комбинации от 13-те хост бита host. Обхвата от валидни IP адреси за мрежата 131.107.64.0 с подмрежова маска 255.255.224.0 е 131.107.64.1–131.107.95.254.
За да обобщим примера за създаване на четири мрежи от 131.107.0.0: подмрежовата маска е 255.255.224.0 и валидните IP адреси на мрежи и хостове са:

Мрежа ***************** Обхват на IP адресите
131.107.32.0 ********* 131.107.31.1-131.107.63.254
131.107.64.0 ********* 131.107.64.1-131.107.95.254
131.107.96.0 ********* 131.107.96.1-131.107.127.254
131.107.128.0 ******** 131.107.128.1-131.107.159.254

Опитайте всичко заедно клас A

В това упражнение ще бъдете насочвани през процеса на решаване на пробеми свързани с подмрежите на клас А адресите.

Задача

Създайте 1101 подмрежи с клас A адрес 10.0.0.0 и намерете:

1. Подмрежовата маска
2. Първите три валидни мрежови адреса
3. Обхвата от валидни IP адреси за хостове в тези 3 мрежи
4. Последната валидна мрежа и обхвата от IP адреси

Решение:

1. Определяне на подмрежовата маска:
Довавете 1 към броя на нужните подмрежи: 1101 + 1 = 1102
Определете колко бита са нужни за двуичния еквивалент на десетичното 1102.
10001001101 е двучния еквивалент на десетичното 1102 = 11 бита са нужни в подмрежовата маска.
Стандартната клас A маска ползва 8 бита + 11 бита = 19 бита са нужни в подмрежовата маска:
ММММ ММММ.ПППП ПППП.ПППХ ХХХХ.ХХХХ ХХХХ
Подмрежова маска = 255.255.224.0
2. Определяне на първите три валидни мрежи:
Най-десния бит който е 1-ца има десетична стойност 32; затова 32 е първия мрежов адрес и стъпката на настване.
Първата мрежа = 10.0.32.0
0000 1010.0000 0000.0010 0000.0000 0000
Втората мрежа = 10.0.64.0
0000 1010.0000 0000.0100 0000.0000 0000
Третата мрежа = 10.0.96.0
0000 1010.0000 0000.0110 0000.0000 0000
3. Определяне обхвата на хост адресите в тези три мрежи:
За 10.0.32.0 = 10.0.32.1–10.0.63.254
0000 1010.0000 0000.0010 0000.0000 0001
0000 1010.0000 0000.0011 1111.1111 1110
За 10.0.64.0 = 10.0.64.1–10.0.95.254
0000 1010.0000 0000.0100 0000.0000 0001
0000 1010.0000 0000.0101 1111.1111 1110
За 10.0.96.0 = 10.0.96.1–10.0.127.254
0000 1010.0000 0000.0110 0000.0000 0001
0000 1010.0000 0000.0111 1111.1111 1110
4. Определяне на последната валидна мрежа и обхвата от адреси:
ММММ ММММ.ПППП ПППП.ПППХ ХХХХ.ХХХХ ХХХХ
0000 1010.1111 1111.110Х ХХХХ.ХХХХ ХХХХ
Последната мрежа = 10.255.192.0
Обхвата на хост адресите е:
0000 1010.1111 1111.1100 0000.0000 0001 = 10.255.192.1
0000 1010.1111 1111.1101 1111.1111 1110 = 10.255.223.254

Опитайте всичко заедно клас B

В това упражнение ще бъдете насочвани през процеса на решаване на пробеми свързани с подмрежите на клас B адресите.

Задача

Създайте 315 подмрежи с клас B адрес 172.20.0.0 и намерете:

1. Подмрежовата маска
2. Първите три валидни мрежови адреса
3. Обхвата от валидни IP адреси за хостове в тези 3 мрежи
4. Последната валидна мрежа и обхвата от IP адреси

Решение:

1. Определяне на подмрежовата маска:
Довавете 1 към броя на нужните подмрежи: 315 + 1 = 316
Определете колко бита са нужни за двуичния еквивалент на десетичното 316
100111100 е двучния еквивалент на десетичното 316 = 9 бита са нужни в подмрежовата маска.
Стандартната клас B маска ползва 16 бита + 9 бита = 25 бита са нужни за подмрежотава маска:
ММММ ММММ.ММММ ММММ.ПППП ПППП.ПХХХ ХХХХ
Подмрежова маска = 255.255.255.128
2. Определяне на първите три валидни мрежи:
Най-десния бит който е 1-ца има десетична стойност 128; затова 128 е първия мрежов адрес и стъпката на настване.
Първата мрежа = 172.20.0.128
1010 1100.0001 0100.0000 0000.1000 0000
Втората мрежа = 172.20.1.0
1010 1100.0001 0100.0000 0001.0000 0000
Третата мрежа = 172.20.1.128
1010 1100.0001 0100.0000 0001.1000 0000
3. Определяне обхвата на хост адресите в тези три мрежи:
За 172.20.0.128 = 172.20.0.129–172.20.0.254
1010 1100.0001 0100.0000 0000.1000 0001
1010 1100.0001 0100.0000 0000.1111 1110
За 172.20.1.0 = 172.20.1.1–172.20.1.254
1010 1100.0001 0100.0000 0001.0000 0001
1010 1100.0001 0100.0000 0001.0111 1110
За 172.20.1.128 = 172.20.1.129–172.20.1.254
1010 1100.0001 0100.0000 0001.1000 0001
1010 1100.0001 0100.0000 0001.1111 1110
4. Определяне на последната валидна мрежа и обхвата от адреси:
ММММ ММММ.ММММ ММММ.ПППП ПППП.ПХХХ ХХХХ
1010 1100.0001 0100.1111 1111.0ХХХ ХХХХ
Последната мрежа е = 172.20.255.0
Обхвата на IP хост адресите е:
1010 1100.0001 0100.1111 1111.0000 0001 = 172.20.255.1
1010 1100.0001 0100.1111 1111.0111 1110 = 172.20.255.126

Валидни хостове за клас C адресите

Намирането на обхвата от валидни хост IP адреси в клас C мрежа следва същия процес, с тази разлика, че там има толкова малко хост битове, че някои адреси могат да изглеждат странно. Мрежовата част от адреса изглежда като IP адрес, а обхвата от валидни хост адреси е толкова очевиден колкото и в предните примери.
Нека да разгледаме адреса 192.168.2.0, да кажем например, че ви трябват 11 мрежи от този адрес. Ето ги и стъпките за намиране на обхвата от валидни хост адреси:

1. Добавяте 1 към броя на подмрежите които са нужни: 11 + 1 = 12.
2. Конвертирате резултата в двуичено число: 1100.
3. Понеже 1100 има 4 бита ви трябват 4 бита в подмрежовата маска:
1111 0000 = 240
Подмрежова маска 255.255.255.240 =
1111 1111.1111 1111.1111 1111.1111 0000
Маскиращи битове:
ММММ ММММ.ММММ ММММ.ММММ ММММ.ПППП ХХХХХ
Първия мрежов адрес е 192.168.2.16 =
1100 0000.1010 1000.0000 0010.0001 0000
Валидните хост IP адреси в тази мрежа ще се образуват от всяка комбинация от последните 4 бита.
Първия адрес е невалиден защото има само 0-ли в хост частта:
192.168.2.16 = 1100 0000.1010 1000.0000 0010.0001 0000
Следващите адреси са:
192.168.2.17 = 1100 0000.1010 1000.0000 0010.0001 0001
192.168.2.18 = 1100 0000.1010 1000.0000 0010.0001 0010
192.168.2.19 = 1100 0000.1010 1000.0000 0010.0001 0011
192.168.2.20 = 1100 0000.1010 1000.0000 0010.0001 0100
Продължавайте да увеличавате стойностите докато стигнете до:
192.168.2.29 = 1100 0000.1010 1000.0000 0010.0001 1101
192.168.2.30 = 1100 0000.1010 1000.0000 0010.0001 1110
192.168.2.31 = 1100 0000.1010 1000.0000 0010.0001 1111
Последния адрес е невалиден, защото има само 1-ци в хост частта.
Така че първата мрежа и обхвата от адреси е:
192.168.2.16 с обхват от IP адреси 192.168.2.17–192.168.2.30
Някои от следващите мрежи и техния обхват от адреси са:
192.168.2.32 с обхват от IP адреси 192.168.2.33–192.168.2.46
192.168.2.48 с обхват от IP адреси 192.168.2.49–192.168.2.62
192.168.2.64 с обхват от IP адреси 192.168.2.65–192.168.2.78
Ползвайки тази схема можете да създадете 14 подмрежи от които ви трябват само 11.

Бележка: За да намерите валидните хост адреси за клас C мрежа, намерете първия мрежов адрес, първия валиден IP адрес в тази мрежа е с 1-ца повече от мрежовия адрес. Последния валиден IP адрес в тази мрежа е адреса на следващата мрежа минус 2.

За да определите последната валидна мрежа, която може да бъде създадена от адреса 192.168.2.0 и подмрежова маска 255.255.255.240, нека да погледнем цифрите в техния двуиен вид.
192.168.2.224 = 1100 0000.1010 1000.0000 0010.1110 0000
С обхват от IP адреси
192.168.2.225 = 1100 0000.1010 1000.0000 0010.1110 0001
до
192.168.2.238 = 1100 0000.1010 1000.0000 0010.1110 1110
IP адресът 192.168.2.239 ще бъде невалиден, защото е броудкаст адрес в мрежата 192.168.2.224:
192.168.2.239 = 1100 0000.1010 1000.0000 0010.1110 1111
Ако опитате да направите повече мрежи като увеличавате подмрежовите битове в еденица ще получите:
192.168.2.240 = 1100 0000.1010 1000.0000 0010.1111 0000
Забележете, че всички подмрежови дитове са 1-ци и това прави този адрес на мрежа невалиден. Винаги поглеждайте двуичното предвтавяне, когато пределяте валидността на IP адресите.

Изчисляване броя на мрежите и хостовете

Нека погледнем някои от интересните математически решения за подмрежите.

1. За да определите колко мрежи можете да създадете ползвайте уравнението:
(2N) – 2, където N е броя на подмрежовите битове.
Например: Клад B адрес с подмрежова маска 255.255.240.0 ще създаде (24) - 2 = 14 мрежи.
2. За да определите колко хост IP адреса има във всяка мрежа, ползвайте същото уравнение:
(2N) – 2, където N е броя на хост битовете.
Например: Клас B адрес с подмрежова маска 255.255.252.0 ще даде (210) – 2 = 1022 хоста във всяка мрежа.
3. За да определите обхвата от IP адреси във всяка мрежа използвайте тези две части на уравнението:
Първата част или началото на обхвата = (мрежовия адрес + 1)
Втората част или края на обхвата =
За клас A и B: (следващия мрежов адрес – 1)
За клас C: (следващия мрежов адрес – 2)
Например за мрежата 131.107.2.0 с подмрежова маска 255.255.255.0, обхвата от IP адреси ще бъде 131.107.2.1–131.107.2.254 защото:
(мрежовия адрес + 1) = 131.107.2.1
до
(следващия мрежов адрес, който е 131.107.3.0 – 1) = 131.107.2.254

Клас А подмрежови маски

Таблицата по-долу обобщава всички клас А подмрежови маски, броя на валидните мрежи и броя на хостовете във всяка мрежа.

Подмрежова маска ***** Брой на валидните мрежи ***** Брой на хостовете във всяка мрежа
255.0.0.0 ********* 1 - стандартна подмрежова маска ************** 16777214
255.128.0.0 ******* Невалидна само ч бит за подмрежовата част ***** -
255.192.0.0 ************** 2 *********************************** 4194302
255.224.0.0 ************** 6 *********************************** 2097150
255.240.0.0 ************** 14 ********************************** 1048574
255.248.0.0 ************** 30 ********************************** 524286
255.252.0.0 ************** 62 ********************************** 262142
255.254.0.0 ************** 126 ********************************* 131070
255.255.0.0 ************** 254 ********************************* 65534
255.255.128.0 ************ 510 ********************************* 32766
255.255.192.0 ************ 1022 ******************************** 16382
255.255.224.0 ************ 2046 ******************************** 8190
255.255.240.0 ************ 4094 ******************************** 4096
255.255.248.0 ************ 8190 ******************************** 2046
255.255.252.0 ************ 16382 ******************************* 1022
255.255.254.0 ************ 32766 ******************************* 510
255.255.255.0 ************ 65536 ******************************* 254
255.255.255.128 ********** 131070 ****************************** 126
255.255.255.192 ********** 262142 ****************************** 62
255.255.255.224 ********** 524282 ****************************** 30
255.255.255.240 ********** 1048574 ***************************** 14
255.255.255.248 ********** 2097150 ***************************** 6
255.255.255.252 ********** 4194302 ***************************** 2
255.255.255.254 ****** Невалидна остава само 1 бит за хост частта *** -
255.255.255.255 * Невалидна, няма битове за образуване на хост адрес -

Клас B подмрежови маски

Таблицата по-долу обобщава всички клас B подмрежови маски, броя на валидните мрежи и броя на хостовете във всяка мрежа.

Подмрежова маска ***** Брой на валидните мрежи ***** Брой на хостовете във всяка мрежа
255.255.0.0 ************** 1 - стандартна подмрежова маска ********* 65534
255.255.128.0 ***** Невалидна маска, само 1 бит за подмрежовата част * -
255.255.192.0 ************** 2 *********************************** 16382
255.255.224.0 ************** 6 *********************************** 8190
255.255.240.0 ************** 14 ********************************** 4096
255.255.248.0 ************** 30 ********************************** 2046
255.255.252.0 ************** 62 ********************************** 1022
255.255.254.0 ************** 126 ********************************* 510
255.255.255.0 ************** 254 ********************************* 254
255.255.255.128 ************** 510 ******************************* 126
255.255.255.192 ************** 1022 ****************************** 62
255.255.255.224 ************** 2046 ****************************** 30
255.255.255.240 ************** 4096 ****************************** 14
255.255.255.248 ************** 8190 ****************************** 6
255.255.255.252 ************** 16382 ***************************** 2
255.255.255.254 ******** Невалидна остава само 1 бит за хост частта *** -
255.255.255.255 * Невалидна, няма битове за образуване на хост адрес * -

Клас C подмрежови маски

Тази таблица обобщава клас C подмрежовитe маски, броя на мрежитe и хостовете.

Подмрежова маска ***** Брой на валидните мрежи ***** Брой на хостовете взв всяка мрежа
255.255.255.0 ************** 1 - стандартна подмрежова маска ********** 254
255.255.255.128 ***Невалидна маска, само 1 бит за подмрежовата част **** -
255.255.255.192 ************** 2 *********************************** 62
255.255.255.224 ************** 6 *********************************** 30
255.255.255.240 ************** 14 ********************************** 14
255.255.255.248 ************** 30 ********************************** 6
255.255.255.252 ************** 62 ********************************** 2
255.255.255.254 ***** Невалидна остава само 1 бит за хост адрес ******** -
255.255.255.255 ***** Невалидна нема битове за хост адрес ************* -
Отговори с цитат
  #10  
Стар 17-03-2009
Аватара на netman
netman netman не е на линия
Жичкаджия
 

Дата на присъединяване: Dec 2007
Местоположение: Бургаско
Мнения: 1,815
Благодари: 400
Получил благодарност:
301 пъти в 146 поста
Сваляния: 114
Ъплоуди: 1
По подразбиране Re: Основи на TCP/IP

Цитирай:
Първоначално написано от protoberans от [url="http://www.vmrejata.info/tcpip.html"
http://www.vmrejata.info/tcpip.html[/url]]Глава 10 Супермрежи и Classless Inter-Domain Routing (CIDR)


Разпределението на IP адресите претърпява някои промени през последните 20 години. Докато интернет архитектите търсят начини да удължат живота на IP адресната система и отговорно да администрират всички останали публични IP адреси, са разработени някои интересни и полезни адресни схеми.
Две адресни схеми, които закопават по-дълбоко в подмрежите са супермрежите (supernetting) и Classless Inter-Domain Routing (CIDR). Тези адресни схеми се използват в големи TCP/IP мрежи с много подмрежи, за да направят маршрутизирането по-просто и управляемо. Разбирането на подмрежите и подмрежовите маски има решаващо значение за разбирането на тези две схеми. Усвояването на тези адресни схеми ще ви даде по-добро и по-просто разбиране за подмрежите.

Разпределение на IP адресите

Интернет се разраства с темпове, които никой не е предпоагал. Проектантите на тази мрежа не са могли да предпожат този темп на разрастване, разрастване което се определя като прогресивно и експлозивно и това е очевидно в някои от първоначалните предположения и решения за разпределение на IP адресите, които тези дизайтери са направили.
Първоначалното решение е направено да ползва IP адреси от 32 бита. В тези 32 бита, част от адреса се отнася за мрежата в която се намира хоста а другата част се отнася за уникалния адрес на съответния хост в мрежата. Основен адрес с които са се зблъсквали проектантите е би "Как да бъдат разпределени тези адреси?". Решението тогава е било да се използват класови IP адреси. Това са класовете за които вече научихте от предходните глави.

Ограничения на класовата система

Като разделят всички IP адреси в пет класа, разпределението на тези адреси би трябвало да е доста просто. Първо, в тези пет класа имаме класовете D и E които са резервирани за други нужди (не за адреси на хостове). Затова компаниите нуждаещи се от IP адреси ще получават клас А, клас B или клас C адреси в зависимост от броя на хостовете, които трябва да се адресират.
В глава 6 научихте, че в класовата адресна система:
Клас A съдържа 126 мрежи с 16777214 хоста във всяка от тях.
Клас A съдържа 16382 мрежи с 65534 хоста във всяка от тях.
Клас A съдържа 2097152 мрежи с 254 хоста във всяка от тях.
Елемент на тази система за разпределение на адресите която ограничава нейната мащабируемост е ползването на точно 8, 16, 24 бита за представяне на мрежовата част от адреса. Компания с по малко от 254 хоста се нуждае от най-малкия възможен клас, клас C. Ако тази мрежа има само 100 хоста, 154 адреса са изхабени напразно. Затова много клас C хост адреси не са ползвани никога. В подобна ситуация на компания с 5000 хоста се дава клас B адрес и това похабява над 60000 адреса, защото клас B мрежа може да адресира до 65534 хоста.

Проблема с клас B

Разпределението на клас B адресите е мясотто където Интернет се сблъсква с най голямото си предизвикателство. През Май 1992, 49 от 126 клас А мрежите са вече разпределни, което означава че 38% от тези адреси са вече заминали. Още повече, 45% от клас B мрежите са разпределени или 7354 от 16382. Интернет проектантите изчисляват, че при този темп на разрастване на Интернет и разпределение на мрежите, всичките клас B адреси ще бъдат изчерпани за 15 месеца. Клас C мрежите не са били все още проблем, защото само 2% или 44014 от 2097152 мрежи са били разпределени.
Internet Assigned Numbers Authority (IANA) решава да вземе по строги мерки за разпределение на клас B мрежите, за да са сигурни че компания на която е дадена клас B мрежа ще може да ползва адресите в тази мрежа ефективно преди IANA да им даде този адрес. Някои от новите правила илизкват организациите кандидатиращи се за клас B мрежа да изпращат план на подмрежите и документ доказващ нуждата от клас B. Компанията трябва да изпрати инжинерен план, за да опише в детаили разгръщането на адресите. Плана е трябвало да включва прогноза за предполагаемия ръст на мрезата за следващите 24 месеца. Ако се прецени, че е възможно компанията може да управлява мрежата си ефективно с няколко клас C адреси, кандидатурата бива отхвърляна. Всички останали искания са обект на следното клас C разпределение.

ако компанията и трябват по-малко от... *** Клас C назначаването ще бъде...
256 адреса ************************************ 1 клас C мрежа
512 адреса ************************************ 2 поредни клас C мрежи
1024 адреса *********************************** 4 поредни клас C мрежи
2048 адреса *********************************** 8 попредни клас C мрежи
4096 адреса *********************************** 16 поредни клас C мрежи
8192 адреса *********************************** 32 поредни клас C мрежи
16384 адреса ********************************** 64 поредни клас C мрежи

По този начин клас B адресите вече не са раздавани безрасъдно. Интернет мрежата обаче все още е изправена пред някои доста важни проблеми свързани с адресирането. Двете най важни предизвикателства са били:

* Клас B адресите евентуално ще бъдат изчерпани дори със стриктния контрол около назначаването на клас B мрежите.
* Интернет маршрутните таблици започнали да стават все по-големи, което засяга надеждността на мрежата.

Второто следствие започнало да се превръща в голям проблем, особенно с назначаването на последователни клас C мрежови адреси.

Интернет маршрутни таблици

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

Мрежа ********** Подмрежова маска ********** Маршрут
192.168.0.0 ********** 255.255.255.0 ********* 192.168.0.1
192.168.1.0 ********** 255.255.255.0 ********* 192.168.1.1
176.16.0.0 *********** 255.255.0.0 *********** 176.16.0.1
10.1.0.0 ************* 255.255.0.0 *********** 10.1.0.1

Тази маршрутна таблица съдържа само четири маршрута. Представете си колко би била голяма таблица, която съдържа стотици хиляди маршрута!
С нарастването на тези таблици са създадени два метода за намаляването на размера им: супермрежите (suppernetting) и безкласовото интер-домейн маршрутизиране (CIDR). Тези две техники правят маршрутните таблици по-малки и маршрутните записи по-ефикасни.

Супермрежи

Супермрежите се използват в маршрутните таблици, за да съберат в едно цяло последователните клас C мрежи. Представете си, че компания има нужда да адресира 1024 хоста. Таблицата от по-рано отбелязва, че компания с тези размери не се нуждае от клас B, вместо това тя получава 4 последователни клас C адреса, това ще стапи един клас B адрес но ще натовари интернет маршрутните таблици. На компанията са прикрепени 4 последователни клас C адреса от 192.168.0.0 до 192.168.3.0 и тя настройва рутера си към интернет с адрес 192.168.0.1. Маршрутите в транспортната таблица на интернет доставчика ще съдържат следното:

мрежа ********* подмрежова маска ******** маршрут
192.168.0.0 ******* 255.255.255.0 ******** 192.168.0.1
192.168.1.0 ******* 255.255.255.0 ******** 192.168.0.1
192.168.2.0 ******* 255.255.255.0 ******** 192.168.0.1
192.168.3.0 ******* 255.255.255.0 ******** 192.168.0.1

Забележете, че всички маршрути водят към един и същ IP адрес - 192.168.0.1, тези маршрути изглеждат излишни. Подмрежовата маска казва на IP при рутера да прегледа 24 бита на всеки пакет, за да определи по кой маршрут ще поеме всеки пакет. IP после преглежда 24-те бита на получаващия адрес и вижда, че единствените разлика в тези четири маршрута са в третия октет и по точно 23 и 24 бит.

мрежа ********** трети октет
192.168.0.0 ****** 0000 0000
192.168.0.1 ****** 0000 0001
192.168.0.2 ****** 0000 0010
192.168.0.3 ****** 0000 0011

Всеки пакет насочен към коя да е от тези четири последователни мрежи има едни и същи първи 22 бита, единствената разлика са 23 и 24 бит. Понеже всички мрежи са насочени към един и същ IP адрес, супермрежата може да каже на IP да гледа само първите 22 бита. Използвайки супермрежа същата маршрутна таблица би съдържала само един маршрут.
мрежа ****** подмрежова маска ****** маршрут
192.168.0.0 ****** 255.255.252.0 ****** 192.168.0.1

Сега ако пакет е насочен към 192.168.1.12, 192.168.2.115, 192.168.3.5 или 192.168.0.10 подмрежовата маска 255.255.252.0 казва на IP да гледа само първите 22 бита:

местоназначение ****** първи 22 бита ************* последни 10 бита
192.168.1.12 ****** 1100 0000.1010 1000.0000 00 ****** 01.0000 1100
192.168.2.115 ***** 1100 0000.1010 1000.0000 00 ****** 10.0111 0011
192.168.3.5 ******* 1100 0000.1010 1000.0000 00 ****** 11.0000 0101
192.168.0.10 ****** 1100 0000.1010 1000.0000 00 ****** 00.0000 1010

Като се обединят мрежите на тази компания в супермрежа, маршрутите към клас C мрежите на тази компания се редуцират само до един запис.

Да разгледаме друг пример, представете си че компания се нуждае от 4096 хост адреса. Вместо да ползва клас B адрес, компанията ще използва 16 последователни клас C адреса. Без супермрежов път маршрутната таблица съдържа тези 16 маршрута:

мрежа ******** подмрежова маска ***** маршрут
192.168.0.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.1.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.2.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.3.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.4.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.5.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.6.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.7.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.8.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.9.0 ****** 255.255.255.0 ****** 192.168.0.1
192.168.10.0 ***** 255.255.255.0 ****** 192.168.0.1
192.168.11.0 ***** 255.255.255.0 ****** 192.168.0.1
192.168.12.0 ***** 255.255.255.0 ****** 192.168.0.1
192.168.13.0 ***** 255.255.255.0 ****** 192.168.0.1
192.168.14.0 ***** 255.255.255.0 ****** 192.168.0.1
192.168.16.0 ***** 255.255.255.0 ****** 192.168.0.1

С използването на супермрежов маршрут записите в маршрутната тазлица се свеждат само до един:

мрежа ****** подмрежова маска **** маршрут
192.168.0.0 *** 255.255.240.0 ****** 192.168.0.1

За да създаде правилна супермрежова подмрежова маска, администратора трябва да гледа адресите в двуичен вид и да определи последния бит до който мрежите са еднакви. Този брой зависи от броя на последователните клас C мрежи. Таблицата по долу показва правилната супермрежова маска, която трябва да бъде ползвана:

брой на мрежите
в супермрежата ****** маска
2 **************** 255.255.254.0
4 **************** 255.255.252.0
8 **************** 255.255.248.0
16 *************** 255.255.240.0
32 *************** 255.255.224.0
64 *************** 255.255.192.0
128 ************** 255.255.128.0
256 ************** 255.255.0.0
512 ************** 255.254.0.0
102 ************** 255.252.0.0
2048 ************* 255.248.0.0
4096 ************* 255.240.0.0
8192 ************* 255.224.0.0
16384 ************ 255.192.0.0
32768 ************ 255.128.0.0

Classless Inter-Domain Routing (CIDR)

От глава 8 знаете, че подмрежовата маска използва десетично точков запис, за да каже на IP колко бита представят мрежовата част от адреса. Простичко казано CIDR адресите заменят подмрежовата маска и казват на IP броя на битовете, които трябва да ползва при определянето на мрежовата част на IP адреса. Например подмрежовата маска 255.255.255.0 казва на IP, че 24 бита определят мрежовата част от адреса, CIRD просто ползва този начин на записване /24. В други примери вместо 255.25.0.0, CIDR ползва /16, а подмрежова маска 255.255.255.240 се замества от /28.
По-рано в тази глава научихте за двете предизвикателства пред разпределението на адресите в интернет. Първото е изчерпването на клас B мрежите а второто големите маршрутни таблици. CIDR е механизъм, който временно облекчава и двата проблема.
Моце да се спести пространство в маршрутните таблици като се ползва CIDR запис вместо традиционния десетично точков запис. Например ако замените 255.255.240.0 в /20, сместявате място и разкривате същата информация. Като умножите спестеното място по броя на маршрутетие в маршрутната таблица, които могат да са хиляди се спестява огромно място.
Друго голямо приемущество на ползването на CIDR е гъбкавостта при назначаването на мрежови адреси. Вместо ползване ка класова система на адресиране, CIDR ползва безкласова система. Няма основна маска при CIDR. Мрежовия адрес може да бъде разпределен с произволен брой битове за предтавяне на мрежовата част на адреса. CIDR адресите могат да бъдат разпредяляни в зависимост от броя на хостовете, тази система за адреси се вписва по-добре в нуждите на различните компании, за разлика от класовата която може да изразходи адреси напразно. Таблицата по-долу представлява похдодящ CIDR запис за различни мрежи.

CIDR запис ***** брой хостове ****** брой клас C мрежи
/27 **************** 32 **************** 1/8
/26 **************** 64 **************** 1/4
/25 **************** 128 *************** 1/2
/24 **************** 256 *************** 1
/23 **************** 512 *************** 2
/22 **************** 1024 ************** 4
/21 **************** 2048 ************** 8
/20 **************** 4096 ************** 16
/19 **************** 8192 ************** 32
/18 **************** 16384 ************* 64
/17 **************** 32768 ************* 128
/16 **************** 65536 ************* 256 (1 клас B)
/15 **************** 131072 ************ 512
/14 **************** 262144 ************ 1024
/13 **************** 524288 ************ 2048
Отговори с цитат
Sponsored Links
VIVO Rent A Car  Вземи своят Vu+ сега!  SatPlus
Отговори

Съобщения от Devil M
VIVO Rent A Car  

Тагове
tcp or ip, на, Основи


Активни потребители разглеждащи тази тема в момента: 1 (0 членове и 1 гости)
 


Всички времена са във формат GMT +3. Часът е 08:13.


DTV-BG Powered by vBulletin Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.