9. Структура на протоколните слоеве в Интернет. Интернет Протокол. Опаковане в дейтаграми

 

Тъй като съществува стандартизирано представяне на архитектурата TCP/IP, обикновено  тя се разглежда чрез модел, съставен от четири слоя. Слоевете на модела на ТСР/IP са следните- слой за мрежов достъп (Network Access Layer), Интернет слой (Internet Layer), транспортен слой (Host-To-Host Transport Layer), и приложен слой (Application Layer). Приложният слой на ТСР/IP обхваща приложния, представителния и сесийния слой на еталонния модел OSI. Транспортният слой на ТСР/IP директно съответства на транспортния слой от модела OSI. Интернет слоят на ТСР/IP съответства на мрежовия слой от модела OSI, а слоят за мрежов достъп на ТСР/IP обхваща каналния и физическия слой от модела OSI.

Както и в модела OSI, данните се движат “надолу” в протоколния стек, когато се изпращат към мрежата, и “нагоре”, когато се получават от мрежата. Всеки слой в стека добавя управляваща информация, наречена заглавна част (header), за да осигури правилна доставка на информацията. Всеки слой възприема цялата информация, получена от по-горния слой като данни и добавя своя собствена заглавна част в началото на тази информация. Добавянето на информация за осигуряване на доставката (т.е. заглавна част) се нарича опаковане. Този процес е показан на фиг.9.1 .

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

Всеки слой разполага със свои структури от данни, независими от другите слоеве, и своя терминология, чрез която ги описва. Според концепцията на ТСР/IP даден слой “не е запознат” със структурите от данни, които използват слоевете под или над него.

 

Слой за мрежов достъп

 

Първият слой в протоколната йерархия на ТСР/IP е слоят за мрежов достъп. Протоколите на това ниво осигуряват средствата дадена система да предава данни към друга, която е директно свързана към същата мрежа. Слоят за мрежов достъп определя начина, по който се използва мрежата, за да предава IP дейтаграми. Функциите, които се изпълняват на това ниво, включват опаковане на IP дейтаграмите в кадри и преобразуване от IP- адреси към физически адреси, използвани от мрежата (например Етернет адреси). Едно от предимствата на ТСР/IP е адресната схема, която уникално идентифицира всеки хост в Интернет чрез неговия IP адрес. Този адрес трябва да се конвертира в съответния физически адрес на хоста, който е известен в локалната мрежа, към която е адресирана дадена дейтаграма.

Всъщност, почти не съществуват ТСР/IP  протоколи, съответстващи на слоя за мрежов достъп (с изключение на протокола РРР). За сметка на това, протоколът IP от следващия слой на ТСР/IP може да използва почти всички съществуващи протоколи от канално ниво на OSI, например Етернет, Х.25, АТМ, FDDI и дори SNA.

 

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

 

Интернет протоколът (IP) е основния протокол, използван в Интернет слоя. Той и ТСР са ядрото на групата протоколи ТСР/IP. Всички протоколи, в слоевете под и над IP, използват Интернет протокола за предаване на данни.

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

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

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

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

Неделима част от IP е протоколът за контрол на съобщенията ICMP (Internet Control Message Protocol). Той осъществява няколко задачи в ТСР/IP мрежите. Основното му предназначение е да съобщава на източника за невъзможност да бъде достигнато местоназначението и за грешки в маршрутизацията. Освен това, ICMP осигурява механизъм, който чрез съобщения “ехо” и “отговор” тества дали даден възел в Интернет е достижим.

 

Интернет протокол- IP

 

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

Предаването на данни чрез IP протокола не гарантира успешното получаване на IP дейтаграмата в местоназначението. При възникнал проблем протоколът отхвърля дейтаграмата и се опитва да изпрати съобщение за грешка към източника. Ако е необходима отказоустойчивост, то тя се гарантира от протоколите на по-високо ниво (например ТСР).

IP протоколът осигурява следните основни функции:

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

·        Фрагментиране- IP пакетите могат да бъдат разделени (фрагментирани) на по-малки пакети. Това позволява на големи по размер пакети да преминават през мрежи, които могат да обработват само малки пакети.. Фрагментирането и последващото сглобяване на IP пакетите се извършва прозрачно за протоколите от по-високо ниво.

·        Таймаут на пакетите- всеки IP пакет съдържа поле “време на живот”- TTL (Time to Live), чиято стойност се намалява  с 1 всеки път, когато пакетът премине през маршрутизатора. Ако стойността на полето е 0, пакетът се отхвърля, с цел да се предотврати циклично предаване на пакета.

·        Тип на услугата- в протокола IP има възможност да се задават приоритети на трафика, като пакетите се отбелязват с предварително дефиниран тип на услугата.

·        Опции- IP протоколът позволява на изпращащата пакети страна да задава изисквания за пътя, по който той ще премине през мрежата (source routing); да проследява пътя , по който минава пакета (record route) и да отбелязва пакетите с информация за сигурност.

IP протоколът има следните недостатъци:

·        По-голямата част от адресите на мрежи от клас В са вече раздадени. Това означава, че в момента се раздават основно адреси на мрежи от клас С. При това големи организации, които притежават компютри, свързани с няколко мрежи, вместо да използват един мрежов адрес от клас В, получават няколко мрежови адреса от клас С.

·        Структурата на Интернет, в която се извършва маршрутизиране не е йерархична, и се изисква по един ред за всяка мрежа в маршрутните таблици. Тъй като броят на мрежите от клас С непрекъснато нараства, то нараства и размерът на маршрутните таблици. Възможно разрешение на този проблем се предлага от безкласовото маршрутизиране CIDR (Clessless Interdomian Routing). Също така е възможно обобщаването та IP мрежа (supernetting) и записването на няколко мрежи от клас С само с един ред в маршрутните таблици.

·        В общия случай 32-битовите IP адреси не са достатъчни при днешните тенденции за разрастване на Интернет.

Публикувани са редица спецификации (RFCI1752, RFCI1883 и др), които дефинират IP протокол от следващо поколение- IPng или IРv6. Някои от основните предимства на IРv6 са следните:

·        Използва 128 битови адреси;

·        Поддържа йерархия на адресите с цел да се осигури йерархично маршрутизиране и намаляване на размера на маршрутните таблици.

·        Поддържа мобилни адреси и автоматична конфигурация на адресите.

·        Поддържа шифриране и механизъм за идентификация на данните, групово разпространение на пакетите (multicast), възможност за задаване на тип на услугата (quality of service) и други.

По спецификацията и проверката на стандарта за протокола IРv6 работят голям брой организации на крайни потребители, групи за разработване на стандарти и фирми.

 

Транспортен слой

 

Транспортният слой е разположен над Интернет слоя в четирислойния модел на ТСР/IP. Най- важните протоколи в този слой са Transmission Control Protokol (TCP) и User Datagram Protokol (UDP). ТСР осигурява надеждно предаване на данните, ориентирано към създаване на връзка между предавателя и приемника (connection- oriented), което означава, че на приложната програма, която използва ТСР се гарантира, че информацията ще достигне до получателя. UDP не е ориентиран към създаване на връзка (connectionless) и е ненадежден протокол, т.е. не гарантира, че дадено съобщение ще достигне до местоназначението си. Тези два протокола служат за интерфейс между приложния слой и Интернет слоя На програмистите е предоставена възможност кой е по-подходящ за техните приложни програми?.

Приложният слой включва всички процеси, които използват транспортен слой, за да предават данни. Съществуват много приложни протоколи, повечето от които осигуряват различни услуги на потребителите. Към този слой често се добавят нови услуги. Най-разпространените ТСР/IP приложни протоколи са следните:

·        TELNET- протокол за мрежов терминал, който осигурява отдалечен терминален достъп  до даден хост;

·        FTP- протокол за интерактивен обмен на файлове;

·        SMTP- протокол за електронна поща;

·        SNMP- протокол за управление на ТСР/IP мрежи;

·        NFS, XDR, RPS, X-Windows- протоколи за разпределени услуги.

SNMP (Simple Network Management Protokol) е протокол за управление на мрежи, чрез който се получава информация за състоянието на мрежи и устройства и за възникване на грешки при тяхната работа. X-Windows е популярния протокол, който позволява на интелигентни терминали да комуникират с отдалечени компютри все едно, че са директно свързани към тях. NFS (Network File System), XDR (External Data Representation) и RPC (Remote Procedure Call) се използват заедно, за да предоставят “прозрачен” достъп до отдалечени мрежови ресурси. Тези, както и някои други мрежови програми използват ТСР/IP и други протоколи от по-ниско ниво, за да осигурят на потребителите основните мрежови услуги.

 

Oпаковане в IP дейтаграми

 

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

Примерът на фиг.9.2 най-общо показва какво представлява обменът на файлове между два хоста в Интернет. Потребителят на хост А извлича файл от твърдия диск на отдалечения хост В, използвайки приложна програма, която реализира протокола FTP. Тази програма подава данните към ТСР модула, който ги опакова в ТСР сегменти. Сегментите се подават на IP модула, който ги опакова в IP дейтаграми. След това, на нивото на слоя за мрежов достъп, модулът, реализиращ протокола РРР (Point to Point Protocol) ги опакова в РРР кадри, които чрез модем се изпращат на наета линия към маршрутизатор в мрежата Интернет.

По този начин дейтаграмата се предвижва в Интернет, докато достигне локалната мрежа, в която е включен хост В. Хост В и неговият маршрутизатор към Интернет са на общ Етернет сегмент. Дейтаграмите пристигат по мрежата в маршрутизатора, опаковани в SLIP (Serial Line Internet Protocol) кадри. Маршрутизаторът възстановява дейтаграмите , опакова ги в Етернет кадри и ги изпраща към хост В. Програмата от мрежовия слой на хост В премахва заглавната част на Етернет кадрите и подава дейтаграмите към IP модула, който ги сглобява, ако се налага, премахва заглавната част за IP и подава ТСР сегментите към ТСР модула.

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

Протоколът РРР  налага ограничения за използвания физически слой. Форматът на РРР кадрите съответства на формата на дефинирания от ISO протокол HDLC. На фиг.9.3 е показан форматът на кадъра на HDLC, а на фиг.9.4- форматът на РРР кадрите. Тези кадри използват стандартната за HDLC стойност за флаг- 0х7Е. При РРР няма индивидуални адреси на станциите, тъй като е протокол за двуточкова връзка. Заради това полето за адрес се установява в 0хFF, което означава адресите на всички станции. Полето за управление съдържа стойност (0х03), което означава командата на HDLC- Unnumbered Information (UI).

В полето “протокол” се съдържа идентификатор на протокола от по-високо ниво, който опакова в РРР кадри. Информационното поле съдържа потребителските данни за този протокол. В случай че се използва IP протокол, в информационното поле се съдържа IP дейтаграмата. Стойностите, започващи с 0 идентифицират мрежовия протокол, който използва РРР връзката. Стойностите, започващи с 8 определят протокола за управление, ползван от предаващата и приемната страна.

Двете страни се договарят за използвания мрежов протокол чрез обмен на специални съобщения. При самото договаряне, стойностите в полето “протокол” се установява като число започващо съответно с 8, 0 или С, а информационното поле съдържа съответните управляващи данни. След успешно договаряне в информационното поле на кадрите се съдържат предаваните дейтаграми. Максималната дължина на информационното поле е 1500 байта, като могат да се използват и други стойности. Контролната сума (CRC или FCS- Frame Check Sequence) се използва за откриване на грешки и се пресмята върху полетата за адрес, управление, протокол и информационното поле.

 

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

 

Протоколите от слоя за мрежов достъп определят начина на предаване на данни по конкретна физическа среда. Според четирислойния модел на ТСР/IP протоколите този слой обединява функциите на каналния и физическия слой от модела на OSI. Модулите, които се реализират, осъществяват приемане и предаване на:

·        IP- дейтаграми;

·        Заявки и отговори на протокола за преобразуване на адресите- ARP (Address Resolution Protocol);

·         Заявки и отговори на протокола за обратно преобразуване на адресите- RARP (Reverse Address Resolution Protocol);

·        ТСР/IP поддържа голям брой различни слоеве за мрежов достъп в зависимост от типа на мрежовия хардуер: Ethernet, Token ring, FDDI, RS-232 серийни линии и др.

 

Протокол за управление на връзката на – LCP

Протоколът LCP дефинира следните фази:

·        Установяване на връзката и договаряне на параметрите.

·        Определяне качеството на връзката.

·        Договаряне на протокола, който ще се използва на трето OSI ниво (Интернет ниво на ТСР/IP протоколния стек).

·        Прекратяване на връзката.

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

Определяне на качеството на връзката. Тази фаза не е задължителна и позволява на LCP да провери дали качеството на връзката е достатъчно, за да се стартира мрежовото ниво. Трябва да се поддържа предаване и приемане на пакети с LCP заявка за ехо и отговор на LCP- ехо- пакета.

Договаряне на протокола от мрежовото ниво. Тази фаза позволява да се договорят протоколите, които ще се използват на мрежово ниво. Това се извършва след установяване на връзката между двете станции, при положение че е реализирана фазата за определяне качеството на връзката. За тази цел се използва подходящ протокол за управление на мрежата (NCP), който зависи от конкретната мрежа- Интернет, Novell и т.н.

Прекратяване на връзката. Прекратяването на връзката се осъществява от LCP. При нормална работа прекратяването се инициира от протокол на по-горен слой.

Протокол за управление на връзката IPCP (IP Control Protocol)

В Интернет се използва модификация  на LCP, известна като IP сontrol рrotocol. Той използва същия формат като LCP, като полето за протокол съдържа стойността8021 Полето за код съдържа кодове за конфигуриране на заявки, конфигуриране на положителни и отрицателни потвърждения, заявка за прекратяване на връзката, потвърждение на прекратяването на връзката и отхвърляне на код. Всички останали LCP кодове не се използват.

Идентификация на РРР връзката

Протоколите РАР (Password Authentication Protocol) и СНАР (Chalenge Handshake Authentication Protocol) предлагат два метода за проверка на автентичността на РРР връзката. Тя се осъществява след LCP договарянето, при което се обменят и одобряват IP адресите. Проверката е автоматизирана, така че да не се налага на потребителя да пише име и парола , когато се установява РРР връзка. Сигурността при използване на СНАР е по-голяма, тъй като действителната парола не се предава по РРР връзката.

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

При използване на СНАР двете станции, осъществяващи РРР връзка, трябва да разполагат с обща нешифрирана тайна дума (secret). Първата станция изпраща съобщение за повикване към втората. Тя отговаря със , която се пресмята въз основа на общата тайна дума. Първата станция от своя страна също пресмята какъв трябва да бъде отговорът и сравнява пресметната стойност със стойността получена от другата станция. Ако стойностите съвпадат се изпраща съобщение за успех и протоколът LCP установява връзката.

На фиг.9.5 са показани две локални мрежи- Етернет и Token ring, които са свързани с маршрутизатор. Всеки хост от Етернет мрежата може да комуникира чрез маршрутизатора с произволен хост от мрежата Token ring. На фиг.9.5  може да се направи разлика между крайна система (end system) и междинна система (intermediate system). Приложният и транспортният слой използват протоколи FTP  и ТСР, които са от вида от край до край. Чрез тях се осъществява логическа връзка между двете крайни системи- хост А и хост В. В Интернет слоят поддържа IP протокола, който е от вида “стъпка след стъпка” (hop-by-hop)  и осъществява връзката между двете крайни системи посредством една междинна система- в случая маршрутизатора. В общия случай връзката между двете крайни системи може да се реализира през няколко междинни системи.

Повечето реализации на ТСР/IP протоколния стек позволяват на хост с повече интерфейси да работи като маршрутизатор, обаче той трябва да бъде съответно конфигуриран. Маршрутизаторът винаги има два или повече интерфейса. Ако един хост има повече от един интерфейс (multihomed host), но не препраща пакетите между тях, то той не е маршрутизатор.