в мрежата

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

Начало TCP/IP Глава 4 Транспортният слой


Глава 4 Транспортният слой

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

Транспортният слой определя дали изпращача и получатея  ще изградят връзка преди започване на комуникацията  и колко често ще пращат потвърждение за тази връзка един на друг. В транспортния слой има само два протокола: 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 е обсъждан:

TCP header

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

UDP header

Етикети: 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

Поща



Не си логнат.

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

Кой е на линия

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