Шта је ТЦП?
ТЦП (Трансмиссион Цонтрол Протоцол) је протокол транспортног слоја оријентисан на везу.
Намера овог чланка:
Разумевање целокупног ТЦП-а није лак задатак. У овом чланку ћемо покушати да разумемо основне размене пакета ТЦП-а путем Виресхарк-а. Теорија се може читати путем интернета. Више ћемо се фокусирати на анализу хватања пакета.
Зашто је ТЦП познат?
Постоји више разлога због којих је ТЦП тако познат:
- ТЦП је протокол оријентисан на везу, тако да је поузданост врло висока.
- ТЦП може сам да контролише загушења.
- ТЦП може открити грешку.
- ТЦП користи протокол за контролу протока.
- ТЦП има функције одлагања АЦК.
- ТЦП има селективну АЦК функцију.
- ТЦП има функцију позивања прозора за побољшање протока.
Постоји толико много других карактеристика које чине ТЦП тако познатим.
Анализа ТЦП:
Пратићемо неке кораке за генерисање ТЦП оквира.
Корак 1: Једноставан начин за генерисање ТЦП пакета је приступ било којој ХТТП веб локацији. Разлог је тај што је ХТТП протокол апликативног слоја и користи ТЦП као основни протокол транспортног слоја.
Да бисте сазнали више о ХТТП-у, следите везу испод
хттпс: // линукхинт.цом / хттп_виресхарк /
Корак 2: Покрените Виресхарк.
Корак 3: Отворите доњу везу у било ком прегледачу.
хттп: // гаиа.цс.умасс.еду / виресхарк-лабс / алице.ткт
Корак 4: Зауставите Виресхарк и ставите ТЦП као филтер.
Корак 5: АНАЛИЗА
Сада бисмо требали видети ТЦП тросмерне пакете руковања. Ево једноставног дијаграма.
Оквир 1: СИН [Синхронизација]
СИН је први пакет који долази од клијента до сервера. У нашем случају 192.168.1.6 је клијент [систем у којем смо отворили прегледач] и гаиа.цс.умасс.еду је сервер.
Ево неколико важних поља у СИН оквиру
СИН оквир је потребан за слање могућности клијента на сервер.
Оквир 2: СИН + АЦК [Синхронизација + потврда]
СИН, АЦК је други пакет који долази од сервера до клијента.
Ево неколико важних поља у оквиру СИН, АЦК
СИН, АЦК оквир је потребан за слање могућности сервера клијенту.
Сада су клијент и сервер поделили своје могућности.
Оквир 3: АЦК [Признање]
АЦК је трећи пакет који долази од клијента до сервера. Ово је у основи потврда од клијента до сервера и такође прихватање могућности које сервер шаље.
Овде су важна поља за АЦК.
Проверимо важне информације које се деле између клијента и сервера:
КлијентСервер
Величина прозора за примање: 64240 Битес Величина прозора за примање: 29200 бајтова
Максимална величина сегмента: 1460 бајтова Максимална величина сегмента: 1412 бајтова
ВРЕЋА Дозвољено: да ВРЕЋА Дозвољено: да
Прозорска скала: 8 (помножи са 256) Прозорска скала: 7 (помножи са 128)
Приметили смо да постоје разлике у вредностима. Ако клијент или сервер прихвате туђе могућности, тросмерно руковање је успешно.
ТЦП заглавље:
Ево важних поља ТЦП заглавља:
- Изворни порт (16 бита): Ово је порт за слање.
- Одредишни порт (16 бита): Ово је пријемни порт.
- Број секвенце (32 бита):
- Ако је постављен СИН бит [1], онда је ово почетни секвенцијски број.
- Ако СИН бит није постављен [0], то је акумулирани секвенцијски број првог бајта података овог сегмента.
- Број потврде (32 бита): Ако је постављена ознака АЦК, вредност овог поља је следећи секвенцијски број који очекује пошиљалац АЦК.
- Дужина заглавља: Величина заглавља може варирати од 20 бајтова, а максимално 60 бајтова.
- Заставе (9 битова):
… = Резервисано: Није постављено
… 0… = Нонце: Није постављено
… 0… = Смањен прозор загушења (ЦВР): Није постављено
… 0… = ЕЦН-Ецхо: Није подешено
… 0… = Хитно: Није постављено
… 0… = Потврда: Није постављено
… 0… = Притисни: Није постављено
… 0… = Ресетовање: Није постављено
… 1. = Син: Постављено
… 0 = Фин: Није постављено
- Величина прозора (16 бита): Ово је величина прозора за пријем у бајтовима.
- Контролна сума (16 бита):
Користи се провера грешака заглавља.
Пример: Контролна сума: 0к436ф- Хитни показивач (16 бита):
Ово је одмак од секвенцијског броја који указује на последњи хитни бајт података.
Пример: Хитни показивач: 0- Опције:
ТЦП опција - максимална величина сегмента: 1460 бајтова
ТЦП опција - не-рад (НОП)
ТЦП опција - Прозорна скала: 8 (помножи са 256)
ТЦП опција - САЦК дозвољен
Посматрање:
Величина ТЦП заглавља СИН је 32 бајта.
Величина ТЦП заглавља СИН, АЦК је 32 бајта.
Величина ТЦП заглавља АЦК је 20 бајтова, јер нема поља са опцијама.
ТЦП подаци:
Ево снимка екрана са објашњењем за ТЦП податке и ТЦП АЦК. Овде можемо видети функцију ТК одлагања ТЦП. Сервер је послао три ТЦП пакета података клијенту, а клијент је послао једно одложено АЦК да каже серверу да је примио сва три ТЦП пакета података. Због тога у ТЦП АЦК [број пакета 96 на снимку екрана] видимо АЦК = 14121 што значи да је клијент примио до 14121 бајта.
Референца:
За основну теорију ТЦП погледајте
хттпс: // ен.википедиа.орг / вики / Трансмиссион_Цонтрол_Протоцол