TCP: Разлика помеѓу преработките
[непроверена преработка] | [непроверена преработка] |
Избришана содржина Додадена содржина
→Терминирање на конекцијата: средување на подсекција |
→Терминирање на конекцијата: досредување на подсекција |
||
Ред 116:
Во овој момент, и клиентот и серверот имаат добиено потврда за конекција. Чекорите 1 и 2, воспоставуваат врска параметар(секвенциски број) во еден правец и тоа се потврдува. Чекорите 2 и 3, воспоставуваат врска параметар (секвенциски број) во другиот правец и тоа се потврдува. Со овие, се воспоставува full-duplex комуникација.
===Терминирање на конекцијата===
[[File:TCP CLOSE.svg|right|thumbnail|260px|Терминирање на конекција]]
Фазата на терминирање на врска користи ракување преку четири чекори и со секоја страна од врската раскинувањето независно. Кога крајна точка сака да прекине половина од врската, таа испраќа FIN пакет, кој на другиот крај потврдува со ACK. Затоа, типичното прекинување бара еден пар на FIN и ACK сегмент од двете крајни точки на TCP. Откако двете размени на FIN/ACK се заклучени, страната која ја испрати првата FIN чека за истек на време пред конечно да ја затвори врската, време за кое локалната порта е недостапна за нови врски, тоа спречува конфузија при испорака на задоцнети пакети да стигнат во текот на следните врски.
Врската може да биде "полу-отворена", во кој случај едната страна ја прекинува врската од својот крај, но другата не. Страната што ја раскинала не може да испрати податоци во врската, но од друга страна може. Терминираната страна треба да го продолжи читањето на податоците додека другата страна побара раскинување.
Исто така е можно да се прекине врската со 3 чекори на ракување, кога домаќинот А испраќа FIN и домаќинот Б одговара со FIN и ACK (комбинира 2 чекори во еден) и домаќинот враќа со ACK. Ова е можеби најчестиот метод.<ref>{{cite book |last= Tanenbaum|first= Andrew S.|authorlink= Andrew S. Tanenbaum|title= Computer Networks|edition= Fourth |date= 2003-03-17|publisher= Prentice Hall|isbn= 0-13-066102-3}}</ref>
Можно е двата домаќини да испратат FIN истовремено тогаш и двата само треба да ACK. Ова веројатно би можело да се смета за ракување во 2 чекора бидејќи FIN/ACK секвенцата е направена во паралела за двете насоки.
Некои
Некои апликациски протоколи може да го нарушат [[OSI моделот|OSI_модел]] користејќи го ракувањето со TCP open/close во апликацискиот протокол. Ваквите апликации можат да се соочат со RST проблемот на затварање на активна врска. Како пример:
s = connect(remote);
send(s, data);
close(s);
Доколку програмскиот тек е како опишаниот погоре, TCP/IP стакот не гарантира дека сите податоци ќе се испорачаат на апликацијата од другата страна.
== Пренос на податоци ==
|