в мрежата

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

Начало TCP/IP Глава 2 Протоколи, какво са протоколите?


Глава 2 Протоколи, какво са протоколите?

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

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

За да обменят информация изпращачите и получателите (хостовете) трябва първо да установят съгласие за това как ще изглежда информацията. Когато хостовете си изпращат цяла серия от 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

 
Етикети: TCP/IP

 

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

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

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

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

Поща



Не си логнат.

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

Кой е на линия

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