Протоколи
-
Upload
fatima-ortega -
Category
Documents
-
view
15 -
download
0
description
Transcript of Протоколи
Протоколи
В. Търново 2007
Протокол – това е правило, определящо взаимодействието между системите в рамките на едно ниво и набор от правила, към които трябва да се придържат всички компании, за да се обезпечи съвместимост на апаратното и програмното осигуряване
Терминът мрежови протокол - се отнася за протоколите намиращи се на ниво 3 от OSI модела. Тези протоколи осигуряват доставка на данни намиращи се извън локалната мрежа на изпращача.
Стек протоколи - набор от протоколи на различни нива, достатъчен за организация взаимодействието на системите. От гледна точка на потребителя, протоколният стек е това, което прави мрежата използваема.
Определения
• Въпреки, че Интернет свързва милиони компютри в целия свят, съобщенията се предават на отделни стъпки от възел към следващия възел;
• За това са необходими общи правила (протоколи);
• Интернет не може да функционира без общоприети стандарти за протоколи.
Необходимост от протоколи
Видове протоколи
Маршрутизируеми и немаршрутизируеми Връзково ориентирани и безвръзково
ориентирани На високо и на ниско ниво Локални и глобални Според услугите в Интернет
Пакетна организация
• Пакетно предаване на съобщения – това е ефективен метод, позволяващ на съобщенията да поделят линията като не позволяват доминиране на определени потребители– Интернет използва този метод;
– Протоколите в Интернет се основават на този метод
Пакети
• Съобщенията се композират на отделни блокове, наречени пакети;
• Комуникационната линия можем да разглеждаме като поточна линия с фиксирани клетки:– Всяка клетка може да съдържа само един блок;– Не е задължително пакетите да са подредени (както в
съобщението);– Някои от клетките могат да бъдат празни;– При откриване на грешки само грешните блокове се
изпращат отново;– При получаването от отделните пакети се реконструира
съобщението.
Управление на пакетите
Packet A3 Packet A1
Packet Packet A2
Packet Packet Packet
Packet Packet Packet
Packet Packet Packet Packet Packet Open
Open
Open
Packet A1 Packet A2 Packet A3
Message A
Packet A1 Packet A2 Packet A3
Message A
Пакетите могат да следват различни пътища
Рутер 1
Рутер 2
Рутер 3
Рутер 4 Рутер
5
Рутер 6
Рутер 7
Рутер 8
източник цел
Комуникационни протоколи от високо ниво
Второто ниво на конструиране на пакетите се извършва в мрежовия слой 3 на модела OSI и се определя от намиращите се в този слой комуникационни протоколи от високо ниво. За да обменят данни, компютрите трябва да използуват еднакви протоколи от мрежовия слой. Пример за такъв протокол от високо комуникационно ниво е IPX на Novell, който се основава на разработения от Xerox протокол XNS. Последният е версия на IP от стека от протоколи TCP/IP. Протоколите от мрежовия слой осигуряват хардуерна независимост. Чрез тях се осъществява връзката на един тип комуникационен софтуер с почти всеки протокол от от слоя МАС, т.е с почти всеки мрежов хардуер. Протоколът от мрежовия слой IPX (http://www.webopedia.com/TERM/I/IPX.html) на Novell, може да се приспособи към различни мрежови архитектури и чрез него един и същи софтуер, например на Novell да работи в различни локални мрежи.
Най-разпространени протоколи от високите нива на OSI
• FTP• TFTP• X.400• Telnet• SMTP• CMIP• SNMP• NFS• FTAM
Комуникационни протоколи от ниско ниво
Повечето ЛМ имат две нива на конструиране на пакети. Първото ниво зависи от използувания мрежов хардуер. Структурата на пакета трябва да е съвместима с конкректната мрежова архитектура. Това означава, че например ARCNET не поддържа пакетите на друг тип мрежи като Token Ring. Комуникационните протоколи от ниско ниво работят в каналния слой 2, където е определено подниво MAC (Media Access Control – управление на достъпа до съобщителната среда). Тези протоколи определят размера и структурата на пакета, както и метода за едновременен достъп до кабела от няколко мрежови устройства.
Въпреки, че такъв протокол зависи от мрежовата архитектура и използувания хардуер, често една архитектура допуска работа на няколко различни транспортни протоколи. В това ниво пакетите се изпращат поединично, а едновременната работа на много потребители се управлява от специфичен метод за достъп до кабела.
Услуги в Интернет
1. ЛокалниFile – file///c|MyDocuments/Protocole.doc
2. Електронна поща протоколи – SMTP, POP3mailto:name@adress
3. WEBпротокол – httphttp://....
4. FTP протокол – FTPftp://....
5. Telnet
Типове протоколи
Протоколи за приложни услуги: HTTP, FTP, Telnet, и т.н.
Транспортни протоколи TCP (Transmission control protocol) – управляват предаването на данни на транспортно ниво
Протоколи за маршрутизация (IP, ISMP, RIP) – обработват адресацията на данните, определят пътя и осигуряват предаването на данни на мрежово ниво
Протоколи за поддръжка на мрежови адреси DNS (domain name system), ARP (address resolution protocol)
ПРОТОКОЛИТЕ В ИНТЕРНЕТЙерархия на протоколите
1. Етернет
2. IP
3. UDP,TCP
4. Приложен протокол - до 7-мо нивогейтуей B гейтуей A
Други протоколи - DNS
Основни мрежови протоколи в Интернет
TCP/IP
IP протокола се е появил преди повече от 30 год. като разработка за нуждите на военните в САЩ. Той свързва различни видове компютри в една обща мрежа. Този слоен протокол отделя приложенията от мрежовия хардуер.
• Военна разработка –DoD• Пренос на данни при всякакви условия и при неопределени
топологии• TCP/IP – основен стандарт за развитието на Internet, осигурява
свързаност между различните мрежи, а не върху функционалните нива.
Протоколния стек TCP/IP
TCP/IP моделът включва 4 функционални нива : Ниво мрежов достъп Междумрежово ниво (Интернет ниво) Транспортно ниво (Точка до точка) Ниво приложения
TCP/IP – е основен протокол в Интернет, осигуряващ предаването на данни и съвместимост на мрежи и оборудване от различен тип.
Основни понятия при предаването на данни в мрежи TCP/IP
Кадър – това е блок данни, който се приема/изпраща по мрежовия интерфейс. IP-пакет - това е блок данни, който обменя модула IP с мрежовия интерфейс. UDP-дейтаграма - блок данни, които си обменят модул IP с модул UDP. TCP-сегмент - блок данни, които си обменят модул IP с модул TCP. Приложно съобщение - блок данни, които си обменят програмите за мрежови
приложения с протоколите на транспортно ниво. Инкапсулация - способ на упаковка на данни имащи формат на един
протокол във формат на друг протокол. Например, упаковка на IP-пакета в кадър Ethernet или TCP-сегмент в IP-пакет. В случая имаме инкапсулацията на IP в Ethernet става дума за поместване на пакета IP в качеството на данни в Ethernet-фрейма, или, в случай инкапсулация TCP в IP, помества TCP-сегмент в качеството на данни в IP-пакет, то при предаването на данни по комутируеми канали се извършва допълнително "нарязване" на пакетите, сега вече на пакети SLIP или фреймове PPP.
TCP/IP (Transmission Control Protocol / Internet Protocol) протокол
• Специфицира едно множество от пакетни протоколи, които дефинират правилата за комуникация в Интернет;
• Протоколът има слоеста архитектура;• Подобен на 7-слойния протокол OSI (Open
Systems Interconnect).
Протоколния стек TCP/IP• Под термина "TCP/IP" обикновенно се разглежда всичко, което е
свързано с протоколите TCP и IP. Това са не само отделни протоколи с тези имена, но и протоколи създадени с използване TCP и IP, и приложни програми.
• Главната задача на стека TCP/IP – е обединение в мрежа на пакетните подмрежи чрез шлюзове. Всяка мрежа работи и осигурява обмен на данни вътре в собствената мрежа, като се предполага, че шлюзът може да приема пакети от друга мрежа и да ги достави на указания адрес. Пакетът от една мрежа се предава в друга подмрежа чрез последователност от шлюзове, които осигуряват необходимата маршрутизация на пакетите по цялата мрежа.
• Под шлюз се разбира точка на свързване в мрежата. При това може да свързват както локални мрежи, така и глобални мрежи. В качеството на шлюз може да се използват, както специални устройства, например - маршрутизатори, така и компютри, които имат програмно осигуряване, изпълняващо функции по маршрутизация на пакети.
• Маршрутизация – това е процедура за определяне пътя на следване от пакета при преминаване от една мрежа в друга.
TCP/IP модел
Приложен слой
Транспортен слой
Интернет слой
Мрежов достъп слой
Горните два слоя оперират със съобщения
Долните два слоя оперират с пакети и контролират мрежата
TCP/IP сравнен с OSI модел
Група протоколи TCP/IP (1)
7 Application
6 Presentation
5 Session
4 Transport
3 Network
2 Data
1 Physical
OSI- Model TCP/IP - Model
application andpolicy
Network access
internet(work)transport
4
32
1
Група протоколи TCP/IP (2)
Network access
Internet protocolIP
ICMP
ARP RARP
Transport protocolTCP
User Datagramprotocol
UDPS
MT
P
FT
P
teln
et HT
TP
rlo
gin N
FS
bo
otp
TF
TP
Layer3
routing
Layers1 and 2
Layer4
Layers5, 6, 7
• При създаване на мрежовия модел TCP/IP са стояли следните изиквания:– да има общ набор от програмни приложения;– да използва динамическа маршрутизация;– предаване на данни без установяване на съединение
на мрежово ниво;– възможност да се използват в мрежите практически
произволни архитектури ;– използване на технологията комутация на пакети.
TCP/IP
Протоколът TCP
• Протоколът TCP определя, по какъв начин информацията се разделя на пакети и разпространява в Интернет.
• Всеки пакет се номерира и предава независимо, затова
преминатите от пакетите пътища могат да не съвпадат, и последователността на тяхната доставка до адресанта може да е различна от изходната последователност
• На крайния пункт се осъществява обработка на пакетите и възстановяване на изходната информация.
Формат на пакета TCP
Протоколът IP Определя се като unreliable протокол. За да се повиши
неговата надеждност се използва ICMP (error checking).
• Протоколът IP се използва за адресация на компютрите.
• Във всеки предаван пакет информация има указан IP-адрес на компютъра.
• IP-адреса се състои от четири числови групи, разделени с точки. За всяко число в този адрес е отделен по един байт, затова номера може да приема значения от 0 до 255. – Например, может да има такъв IP- адрес:
194.87.132.3
• Междумрежовия протокол (Internet Protocol) осигурява достака на пакетите с данни от източника към получателя при група свързани помежду си мрежи.
• В протокола IP отсъства функция за потвърждение на приема, контрол на предаването, съхранение на последователността на предаваните пакети. В този смисъл протоколът IP не осигурява надеждно предаване с гарантирана доставка. Всички функции по осигуряване на надежност при необходимост се обезпечават от протоколите на горните нива.
• Протоколът IP обработва всеки пакет като самостоятелен объект независимо от другите предавани пакети. Той не използва виртуални канали или техните логически трактове на предаване за обработваните пакети.
• В процеса на обработка на пакетите протоколът IP преглежда IP адреса на получателя, а след това с помощта на протоколите за маршрутизация определя за тях най-добрия маршрут за пътуване.
• Понякога протоколът IP извършва преобразуване размера на пакета. Например, в случай, ако пакетът постъпил от мрежа построена на база Ethernet (размер на кадъра 1500 байта) и той трябва да бъде изпратен в мрежа изградена на стандарт FDDI (размер на кадъра 4470 байта), то протоколът IP ще трябва да обедини няколко кадъра Ethernet в един кадър FDDI. Или обратно да разбие кадър FDDI на няколко кадъра Ethernet при обратното предаване.
Протоколът IP (Internet Protocol)
Процес на преобразуване на данните
Нивоприложения
Нивоприложения
Транспортно ниво
Транспортно ниво
T T T T
Междумрежово ниво
Междумрежово ниво
I T I T I T I T
Физическо ниво
Физическо ниво
Предаване на данни
IP - пакети
Възстановената битова последователност
ТСP - пакети
IP - пакети
Изходна битова последователност
ТСP - пакети
T – Заглавие на TCP; I – Заглавие на IP.
Ниво мрежов достъп
Нивото на достъп до мрежата (физическо ниво) осигурява предаване на кадрите с данни между различни възли в мрежите с еднотипова топология или между два съседни възела в мрежи със смесена топология. За идентификация на възлите на местоназначение се използва локален (апаратен) адрес на компютъра (00:E0:29:78:96:FF). Към физическото ниво се отнасят протоколите за Ethernet, Token Ring, FDDI, SLIP, PPP, ATM, Frame Relay и други.
Слой, осигуряващ достъп до мрежата
• Нарича се още физически слой (physical layer):– Пакетите се трансферират към комуникационната линия;– Изпращат се към следващия възел;– Както и другите слоеве получава съобщения от по-горния слой и
добавя собствен хедър• Така, всеки пакет, който се предава по комуникационната линия
има 3 хедъра:– Транспортен;– Интернет;– Физически
• Информацията, съдържаща се в хедърите се използва от протоколите на кореспондиращите слоеве в приемащите възли
• TCP/IP е отворен стандарт – архитектурата (включително детайлите) са публикувани и свободно достъпни за всеки.
Мрежовия достъп добавя собствен хедър
Приложен слой
FTP заявкаПриложна програма
FTP заявкаFTP header
Транспортен слой (всеки пакет)
FTP заявкаFTP headerTCP header
Интернет слой (всеки пакет)
FTP заявкаFTP headerTCP headerIP header
Мрежов достъп слой FTP заявкаFTP headerTCP headerIP headerNetwork header
Междумрежово ниво (интернет слой)
На това ниво се определят правилата за предаване на пакетите данни между мрежите. За идентификация на възлите на местоназначение се използва съставения от числа IP-адрес (194.85.160.050), състоящ се от две части: номер на мрежата и номер на възела в тази мрежа. Основният протокол на това ниво се явява протоколът IP (Internet Protocol - междумрежов протокол), който определя формата на адресите и маршрута на предаване.
Интернет слой
• Нарича се още мрежови(междумрежови) слой (network layer):– Използва IP протокола за рутиране на пакети;
– Избира следващ възел, който може би води до целевия;
– Приема пакети от транспортния слой.
Интернет протоколи
Приложен слой
Транспортен слой
Интернет слой
Мрежов достъп слой
IP ARP
От транспортния слой
Към мрежови достъп слоя
Име: Internet ProtocolФункция: избира следващия възел за
предаване на пакета и актуализира адреса му в IP хедъра.
Име: Address Resolution ProtocolФункция: трансформира IP адреси на
работни станции в MAC (Media Access Control) адрес.
IP добавя собствен хедър
Приложен слой
FTP заявкаПриложна програма
FTP заявкаFTP header
Транспортен слой (всеки пакет)
FTP заявкаFTP headerTCP header
Интернет слой (всеки пакет)
FTP заявкаFTP headerTCP headerIP header
Транспортно ниво
Това ниво осигурява предаването на данни между произволни възли на мрежата с необходимата степен на надежност. За това на транспортно ниво има средства за установяване на свързване, номерация, буферизация и подреждане на пакетите. Основен протокол на това ниво е TCP (Transmission Control Protocol - протокол за управление на предаването)
Транспортно ниво
• Хост-към-хост транспортен протокол:– Отговаря за осигуряване на успешно end-to-end
предаване на цялостното съобщение;– От един приложен протокол на изпращащия
възел към същия приложен протокол на целевия възел.
• Използват се различни транспортни протоколи – TCP най-съществен.
Транспортни протоколи
Приложен слой
Транспортен слой
Интернет слой
Мрежов достъп слой
TCP Други транспортни протоколи
От приложния слой
Към интернет слоя
Име: Transmission Control ProtocolФункция: декомпозира съобщенията
на пакети, номерира ги и следи за грешки
Приложно ниво
• Съдържа протоколи, които директно поддържат приложните програми:
• Изпращащ компютър:– Приема параметри от една приложна програма;– Създава изходни параметри, необходими за по-
долния слой.• Приемащ компютър:
– Приема информация от по-долния протокол;– Предава я към съответната приложна
програма.
Приложни протоколи
Приложен слой
Транспортен слой
Интернет слой
Мрежов достъп слой
FTP Telnet HTTP SMTP
POP SNMP OtherDNS
От приложната програма
Към транспортния слой
Име: File Transfer protocolФункция: свяляне (download) и
вдигане (upload) на файлове
Име: Terminal-emulation protocolФункция: свързване с отдалечен компютър –
използва се за дистанционен контрол на сървъри
Име: Hypertext Transfer ProtocolФункция: заявяване и свяляне
(download) на web страници
Име: Simple Mail Transfer ProtocolФункция: изпраща e-mail
съобщения към получателяИме: Post Office ProtocolФункция: предава събрани mails
от един mail сървър към друг
Име: Simple Network Management ProtocolФункция: следи оперирането на хардуера и на
софтуерните компоненти на една мрежа
Име: Domain Name SystemФункция: управлява логическите
имена на ресурсите
Потребителска програма & потребителски протоколи
• Съществено е разбирането на разликата между приложната програма и протоколите на приложния слой:– Потребителите осъществяват достъп до системата
посредство подходящ потребителски интерфейс, доставен от приложението;
– Използваният потребителски протокол свързва приложната програма с протоколите на по-ниско ниво;
– Потребителят комуникира директно само с потребителския интерфейс на приложението;
– Потребителските протоколи са прозрачни за потребителя.
Протоколът на приложния слой FTP добавя заглавна част към заявката
Приложен слой
FTP заявкаПриложна програма
FTP заявкаFTP header
TCP добавя собствен хедър
Приложен слой
FTP заявкаПриложна програма
FTP заявкаFTP header
Транспортен слой (всеки пакет)
FTP заявкаFTP headerTCP header
Протоколът UDP
• Протоколът UDP (User Datagram Protocol – протокол на потребителските дейтаграми) се явява един от двата основни протокола, расположени непосредственно над IP. Той предоставя на приложните процеси транспортни услуги, които не се отличават много от услугите, предоставяни от протокола IP.
• Взаимодействието между приложните процеси и модули UDP осъществява чрез UDP-портове. Портовете се номерират започвайки от нула. Фактически номера на порта еднозначно ще идентифицира номера на приложния процес на сървъра към който е направено запитване.
Протоколът UDP• Протоколът UDP (User Datagram Protocol) – е един от двата
протокола на транспортно ниво, които се използват в стека протоколи TCP/IP. UDP позволява приложните програми да предават своите съобщения по мрежи с минимални изисквания, свързани с преобразуването на протоколите от ниво приложения в протокол IP. Като при това, приложната програма сама трябва да се досети за подтвърждение на това, че съобщението е доставено до местоназначението си.
• Портовете в заглавието определят протокола UDP като мултиплексор, който позволява да се събират съобщения от приложенята и ги изпраща на нивото на протоколите. При това приложението използва определен порт. Взаимодействуващите чрез мрежата приложения могат да използват различни портове, което е отразено в заглавието на пакета. Първите 256 порта са заделени, за така наречените "well known services", към които се отнасят, например, 53 порт UDP, който е резервиран за услугата DNS.
• Най - известните услуги, основани на UDP, са разпределение на домейн имената BIND и разпределената файлова система NFS.
Протоколи ARP и RARP
• Протоколът ARP (RFC 826). Address Resolution Protocol се използва за определяне съответствието между IP-адреса и адреса Ethernet. Протоколът се използва в локалните мрежи. Съответствието се осъществява само в момента на изпращане на IP-пакета, тъй като само в този момент се създава заглавие IP и Ethernet. Съответствието на адресите се осъществява по пътя на търсене в ARP-таблица.
• Опростената, ARP-таблица се състои от две колони :
IP-адрес Ethernet-адрес
223.1.2.1 08:00:39:00:2F:C3
223.1.2.3 08:00:5A:21:A7:22
223.1.2.4 08:00:10:99:AC:54
• В първата колона се съдържа IP-адреса, а във втората Ethernet-адреса. Таблицата на съответствие е необходима, тъй като адреса се избира произволно и няма никакъв алгоритъм за неговото изчисление. Ако дадена работна станция се премести в друг сегмент на мрежата, то нейната ARP-таблица трябва да бъде изменена.
Протоколът ICMP• Протоколът ICMP (Internet Control Message Protocol) се отнася към
междумрежово ниво. Протоколът се използва за изпращане на информационни и управляващи съобщения. При това се използват следните видове съобщения : – Flow control – ако приемащата машина (шлюз или реален получател на
информация) не успява да преработва информацията, то даденото съобщение преустановява да изпраща пакети по мрежата.
– Detecting unreachаble destination – ако пакета не може да достигне до местоназначението си, то шлюза, който не може да достави пакета, съобщава за това на изпращача на пакета. Да информира за невъзможност за доставка на съобщение може и машина, чийто IP-адрес е указан в пакета. Само в този случай става дума за портове TCP и UDP.
– Redirect routing –това съобщение се изпраща в този случай, ако шлюзът не може да достави пакет, но при него има на отчет някой който може, а именно адреса на друг шлюз.
– Checking remote host – в този случай се използва така нареченото ICMP Echo Message. Ако е необходимо да се провери наличието на стека TCP/IP на отдалечената машина, то на нея се изпраща съобщение от този тип. Само когато системата получи това съобщение, тя незабавно подтвърждава за неговото получаване.