ПредишенСледващото

Книгата е посветена на семейството на операционни системи UNIX и съдържа информация за принципите на организация, идеология и архитектура, която обединява различните версии на операционната система.

Книгата обхваща: архитектурата на ядрото UNIX (I / O, управление на паметта, както и процес, както и подсистема файл), UNIX програмен интерфейс (системни функции и основни функции на библиотеката), потребителска среда (плащам черупката, основните команди и помощни програми) и мрежа подкрепа за UNIX (TCP / IP протокол семейство, архитектурата на подсистемата на мрежата, програмата гнезда и TLI интерфейси).

За широк кръг от потребители

Книга: UNIX операционна система

TCP сесия състояние

Както вече бе споменато, прехвърлянето на данни, използвайки протокола TCP осигурява предварителна комуникация, или създаването на логически TCP-канал. Тази предварителна фаза има за цел да се подобри надеждността на протокола. В хода на тази фаза се определя от началото на TCP потоци в двете посоки, могат да бъдат открити техните характеристики (например, максималният размер на прозорец) в същото време "разпада" TCP-канали последните предаване на сесиите правилно затворени, например, в резултат на аварийно спиране един от страни. Страни избират произволно първоначалните номера на последователност на потоци да се намали вероятността за обработка на сегменти, принадлежащи на "стари" сесии. [71]

Като се започне прехвърляне на сесията фаза, наречена "тройна ръкостискане" (трикратното ръкостискане), което доста точно отразява обмена на въздушната сегмент между страните. Този процес е асиметричен - една партия, наречена клиентът започва началото на сесията изпращане на другата страна -. Сървър SYN сегмент [72] Обикновено, този сегмент е на редица офис, т.е. Тя не съдържа никакви полезни данни, заглавието е номера на порта, както и първоначалния клиент-сървър серийния номер на потока. Ако сървърът е готов да приеме данни от клиента, той създава логически канал (поставяне на подходящи структури от данни), а клиентът изпраща сегмент с поредния номер настроен на първоначален поток клиента и сървъра знамена SYN и ACK. потвърждаване получаването на SYN сегмент и изразяване на сървъра готов да приема данни. Накрая, и това е третият ръкостискане, клиентът отговаря с един сегмент с флаг ACK. потвърждава получаването на отговор от страна на сървъра, и по този начин създаване на крайната фаза на TCP-канал. Процесът на установяване на връзка в TCP сесия е показана на фиг. 6.12.

Стоейки на TCP сесия

Фиг. 6.12. комуникация, пренос на данни и завършването на TCP сесия

След това и двете страни да започнат предаване TCP сегменти, всеки от които съдържа потвърждение на данните и новата стойност на прозореца. Започвайки с потвърден източник октет може да мине, без да се чака потвърждение за броя на данни, определени прозорец стойност. Ако подателят не получи потвърждение на данните, изпратени в рамките на определен период от време, той вярва, че данните са загубени, и предаването се повтаря, като се започне с последния потвърден октет. Тъй като надеждността на предаване е гарантирана от протокол, приложение на данни се прехвърлят, но не потвърди, тя запазва копие от протокола, който е унищожен след потвърждение или отново предава при липса на такива. Получавате дублиращи данни също потвърждават, въпреки че данните от своя страна са унищожени, защото дублиране може да се дължи неполучени потвърждение. Ако една от страните получава неподредени данни, те обикновено се съхраняват до липсващите последователни сегменти. Разбира се, подготовката на такива разстройства на данни не е потвърдено като потвърждение се изпраща само до получи непрекъснат сериен поток от октета.

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

Фиг. 6.12, както е показано на държавните TCP-канален комуникационни възли.

Както се вижда от фигурата, първоначалното състояние на възел (сървър или клиент) - затворено състояние. Желание на сървъра да започне разглеждане на искания от страна на клиента се определя от преход към състояние LISTEN. От тази гледна точка на сървъра може да получи и обработи сесия започване SYN сегменти. При изпращане на такъв клиент сегмент променя неговото състояние да SYN-Заявката е изпратена и очаква отговор от сървъра. Сървърът при получаване на сегмент също изпраща ACK потвърждение на SYN сегмент и отива в SYN-получили. Потвърждение от клиента допълва "ръкостискане" и сесията отива в държавата, установени. След завършване на предаване на данни партията на (например, клиент) изпраща FIN сегмент, преместване, докато в състояние FIN-WAIT-1. С приемането на този сегмент от другата страна (например сървър) изпраща ACK и отива в близък чакам, отворът става симплекс - Предаване на данни е възможно само в посока от сървъра към клиента. Когато клиентът получава потвърждение, той отива в състояние FIN-WAIT-2, която е да се получи FIN сегмент. След получаване на този сегмент на канала е напълно разрушена.

Дешифрирането щатите показани в таблица. 6.5.

Таблица 6.5. TCP сесия състояние

Свързани статии

Подкрепете проекта - споделете линка, благодаря!