протокол TCP

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







В допълнение, TCP предвижда:

  • Надеждни сегменти доставка.
  • Последователност сегменти след получаването им.
  • Работа с сесии.
  • Контрол на скоростта.

Помислете за тези функции в по-големи подробности.

Надежден сегмент доставка

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

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

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

TCP автоматично, възстановяването им в правилния ред, използвайки всички същия пореден номер поле и даде след залепване на ниво приложение.







Работа с сесии

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

Контрол на скоростта

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

Структурата на TCP

Header TCP сегмент има следната структура:

протокол TCP

  • Източник порт и порт Дестинация - са съответно номер на получателя и порт на изпращача, идентифициране на приложения, за да изпращате и получавате възли.
  • Пореден номер и потвърждение брой - последователен сегмент номер и потвърждение брой, които се използват за надеждна доставка. Например, ако подателят изпраща сегмент с SN 100, получателят може да отговори на него като АСК 101 SN200, което означава: "Аз сте получили своя сегмент с номера 100, и аз ви очакваме до 101-ти, между другото, аз имам моя собствена номерация. Мои номера започват с 200 "Sender, от своя страна, може да отговори на SN101 ACK201, което означава" Получих от вас сегмент с номера 200, мога да взема следващите две сто и първия, и тук ми е сто и първия сегмент, който ви очаква. " И така нататък.
  • дължина Header - Това chetyrohbitnoe поле, съдържащо дължина TCP глава на сегмента.
  • Запазено - 6 Запазена малко за всеки случай.
  • Control - поле с флагове, които се използват по време на обмена на информация и описват допълнителен сегмент задача. Например, FIN флаг се използва за завършване на връзките, SYN и ACK - за инсталация.
  • Window - съдържа размера на прозореца, което е казано по-горе.
  • Checksumm - глава контролна и данни.
  • Спешно - знак за значението (спешно) от този сегмент.
  • Опции - допълнителна незадължително поле, което може да се използва, например, за да тествате протокола.
  • Секцията съдържа данни действителните данни, получени от слой протокола за изпълнение, или им парче ако данните трябва да се разбият.

Тя се отнася до темата: