Одом У. - CISCO Официальное руководство по подготовке к сертификационным экзаменам CCENTCCNA ICND1 - 2010 (953096), страница 39
Текст из файла (страница 39)
Для обеспечения надежности протокол ТСР нумерует оки данных, используя для згото поля последовательного номера (ьеЩ и подл~Р~кдения (АСК) в ТСР-заголовке. На рис. 6.5 показана типичная операция пере- ",)((3))й ланных. Ввб- Вебсе)твв)т брвузер бав 1000 байтов данных, порядковый Ня-! 000 1000 байтов данных, порядковый КВ»2000 — -»- Получены 3000 1000 бантов данных, порядковый ив=3000 байтов, высылаю подтверждение' Лвннык нвт,ва подтверждения=4000 ~!;:: —;:, ",„'.' рис.
6,5. 77одтвврлсдеиие безошибочной передачи данны» в протоколе ТСР ',,;рис)6.5 поле полтверждения в заголовке ТСР, отправленном всб-клиентом ":,.$":ф(взывает 'на готовность принять следующий байт; такая ситурция Называсг,, Р(И ЛадтаЕРждвиаги 370Г)васд ае(СПР)я(ЕС(бтЕ)и),' ПОСЯСДОаатЕЛЬНЫй, НО()(ЕР» УКа. »,ИОМЕР ПсгрВОГО,байта В СЕГМЕИтЕ..В даННОМ Сдуяа»Е. Ка)К(рай ТСР-жГМСИт ИМВрр , 20 г,",!:--;л б7,ба 69 Е'-'" Рз !»,:; ''443 %", 16,334-32,7бт ГСР ТСР ТСР ТСР ТСР ()()Р, ТСР ()ПР НОР ТСР ТСР () ПР ТСР () Г)Р Псрслвчв голосовых и видеоданных нв основе РТР (Уо(Р) Часть Е Основы сетей Веб- браузер Г— 1000 байтов данных, порядковыи ба=1000 Возможно, пенн сетмент'т потерпи.
Подтвердим то, что попузыю' 1000 байтов данных, порядковый не=2000 1000 байтов даннык, порядковый Мв=ЗООО Данных нет, МЕ подтверждения=2000 ! 000 байтов данных, порядковый не=2000 Данных нет, Мв подтверждения=4000 получены знее бнлн 00-3999 Рас, бб.!тодтнверждение нроозокола ХСР в случае оснабки передача Хотя это и не показано на рисункс, отправитель также устанавливает таймер:В,,; вторной передачи, ожидая подтверждения, на случай если полтвсрждснис утер11, или утеряны все переданные сегменты. Если время таймера истекло, то ТСР.::„, правитель отправляет все сегменты повторно.
Управление потоком с использованием окон Протокол ТСР выполняет управление потоком с помощью полей послсдова, ного номера и подтверждения в заголовке ТС Р, а также поля, называемого разме,,„ окна. Это поле указывает максимальное количество нсподтвсржденных байтов,",,',, торос допускается в любой момент. времени.
Сначала окно имеет небольшой и постепенно увеличивается до тек пор, пока не появятся ошибки псрслачи. окна изменяется с течением времени, поэтому оно иногла называется динами'„,',,„ окнолт бдуаааттс зктадотк2. Кроме того, поскольку порядковый номер и номер; ..., тверждения с течением времени возрастает, это окно иногда называют скпв",.„, окнам рвйсНщ втсlаке), номера которого нскользятп в сторону увеличения. Когдй', „ заполнено, отправитель прекращает передачу, что позволяет управлять пот:„ данных. На рис.'6.7 показано использование окна с текущим размером;:рв, 3тяят., Кхркдый сегмент ТСР содержит Иятб байт данных.
СХДВДУВт:ОбйатнтЬ;-ВИИМайИЕ 'На тп'„т1тп' ВЕб-ССРт'ВЕР ДОЛжЕИ',ПбЕРсйтИ"В Рсжйбвтт кыв"и нхвввь'*мвйхвьйхтхтвтажОййктФФФазйфФ,ЩЙЩ~итено, ~Э$ длину 1000байтов; количество байтов полсчитывастся в пшик последовательного номера и подтверждения. На рис. бзб отображена аналогичная ситуация, однако второй сегмент ТСР оказался утерянным или был передан с ошибками. В ответе веб-клиента в палс подтверждения содержится значение 2000, указывающее на то, что веб-клиент ожидает следующий байт с номером 2000. В этом случае функпия протокола ТСР на вебсервсре может восстановить утерянные данные путем повторной отправки второго .'',: ТСР-сегмента. Протокол ТСР позволяет повторно отправить только этот сс1 мент и' '::„.".
ожидать ответа веб-клиента с подтверждением, которое равно 4000. Глава 6. Основы протокола ТСРЛР: пврадача данных, приложения... 189 Ф- щ „~~ д Вел-сеаеео ВО=~~, аеб"еаеуееР ~р УЬс. б. 7. Использование окои е протоколе ТСР н в отношении других функций ТСР, оконный механизм передачи используоих направлениях. Обе стороны отправляют и получают данные, и в каждом олучатель согласовывает количество передаваемых данных, используя поле окна. ользование оконного механизма не обязательно требует прекращения перс- нных. Если подтверждение получено до того, как окно оказалось заполнен- открывается новое окно, и отправитель продолжает передачу до тех пор, поКущее окно нс окажется заполненным.
(ддя описания функций восстановления шнбок и использования окон, реализуемых протоколом ТСР, иногда испольермин "позитивное подтверзкдеиие и повторпая передача" <Роягвее АеМповапд Кетгапзтаз~оп — РА К) д виа и разрыв соединения д тем как начнет работать какая-либо из функций протокола ТСР, происхоновка соединения. Под установкой соединения понимается процесс иниции полей последовательного номера и подтверждения н согласование носпользуемых портов. Нарна. 6.8 приведен пример потока передаваемых даиустановке сзедннения. окно может быть отправлено после получения подтверждения. Поскольку при передаче не было ошибок, веб-клиент предоставляет серверу окно большего размера, поэтому можно отправить 4000 байт ло получения сервером полтвсрждсния.
Иными словами, получатель использует поле размера окна для того, чтобы сообщить отправителю, какое количество данных последний может отправить перел тем, как прекратить передачу и ожидать следующего подтверждения. Часть !. Основы сетей Этот трехзгапный обмен данными при установке соединения должен закончиться„перед тем как начнется передача данных.
Соединение сушествует между двумя сокетами, хотя в ТСР-заголовке нет отдельного поля сокста. Предполагается, что из . ' '; трех частей сокета (Р-алреса могут быть получены из полей ! Р-адресов отправителя . -.':;". и получа!еля в заголовке протокола )Р. Подразумевается прогокол ТСР, поскольку, -"' используется заголовок протокола ТСР, который указан в поле протокола в (Р-.,!.;, заголовке. Поэтому единственной частью сокета, которая должна быть закодирована.:',:.', в ТСР-заголовке, являются номера портов. ЯЕО=200 БЛ~, ОРОНТ-'ВО, ЯРОНТ=1027 с ВЕС=1450,АСК=201 ЬТН,АСК,ОРОНТ=1027,ДРОНТ-В0 Веб-сервер Веб-браузер ВЕЕР201, АСК-! 451 АСК, ОРОНТ=ЕО, ВРОНТ=.
Ю27 Рис. 6.8. Установка соединения протокола 7'ЕР Протокол ТСР сообшает об установке соединения, используя 2 бита в поляк! флагов ТСР-заголовка. Эти биты называются флагами ь!(Ч и АСК и имеют ос важное значение. Аббревиатура 8!'! ( означает "Синхронизировать последоватедй;; ные номера", что является необходимым компонентом инициализации для протд: . кола ТСР. Аббревиатура АСК означает "Поле подтверждения в данном заголо является лействительным". До тех пор пока порядковые номера не инициалиэн(я~'. яаны, поле подтверждения не приносит пользы. Отметим также, гго в первонач ном сегменте ТСР на рис. 6.8 номер подтверждения не показан; зто связано с тв"'„'„- что этот номер пока недействителен. Поскольку поле подтверждения (АСК) д присутствовать во всех послелуюших сегментах, бит подтверждения будет уст ливаться до тех пор, пока соединение не будет прекрашено. Протокол ТСР инициализирует поля порядкового номера (8Е()) и номе)я(.
',' твержления (АСК) любым числом, которое умсшается в 4-байтовом поле; знач привеленные на рис.6.8, являются произвольными и используются для при" ', Предполагается, что в каждом потоке при инициализации передается по олному данных, как показано в полях номеров подгверждений в привеленном примере.
На рис. 6.9 показан разрыв соединения протокола ТСР. Эта четырехзтапнвя'.'",, следовательносгь является достаточно простой и использует дополнительный называемый ню-битом (л(У ыг) (как, веРоЯтно, догадалсн читатель, сокРаи4ем~ с является сокраигемием от '))п(з(!еат). Хотелось бы сделать одно интересное ей ние: перед тем, как устройство, расположенное на рисунке справа, отправнтТ.,„„ ТСР-сегмент в ланной последовательности, оно уведомляет приложение о т!7Ф"'",.
соединение отключается. После этого оно ожидает подтвержления от, прилежа лишь затем. отправляет третий из показанных на рисунке сегментов. В случае.' „ приложеннвэ требуется некоторое время для ответа, компьютер ПК справа-оу..., ляет второй из показанных на рисунке потоков данных, подтверждая то, что... еймпьютер намерен разбрвать соединение.