sonyps4.ru

Как работает протокол tcp. Протокол TCP — назначение и функционал

Как узнать, чем занимается на компьютере ваш ребенок или сотрудник? Какие сайты посещает, с кем общается, что и кому пишет?

Для этого существуют программы-шпионы - особая разновидность софта, который незаметно для пользователя собирает информацию обо всех его действиях. Программа шпион для компьютера решит эту задачу.

Шпионское ПО для компьютера не нужно путать с троянским: первое является абсолютно легитимным и устанавливается с ведома администратора, второе - попадает на ПК нелегально и ведет скрытую вредоносную деятельность.

Хотя использовать легитимные программы слежения могут и злоумышленники.

Приложения-шпионы чаще всего устанавливают руководители предприятий и системные администраторы для контроля сотрудников, родители для слежки за детьми, ревнивые супруги и т. д. При этом «жертва» может знать, что за ней ведется наблюдение, но чаще всего - не знает.

Обзор и сравнение пяти популярных программ-шпионов

NeoSpy

NeoSpy - это универсальная программа-шпион за клавиатурой, экраном и действиями пользователей. NeoSpy работает невидимо и может прятать свое присутствие уже при установке.

Пользователь, который устанавливает программу, имеет возможность выбрать один из двух режимов инсталляции - администраторский и скрытый. В первом режиме программа ставится открыто - создает ярлык на рабочем столе и папку в каталоге Program Files, во втором - скрыто.

Процессы программы не отображаются в диспетчере задач Windows и диспетчерах задач сторонних производителей.

Функциональные возможности NeoSpy довольно широки и программа может использоваться как в качестве домашнего слежения, так и в офисах для контроля сотрудников.

Программа шпион распространяется в трех версиях по условно-бесплатной лицензии. Цена составляет 820-1990 рублей, но может работать и бесплатно (даже в скрытом режиме) с ограничениями при просмотре отчетов.

Что может NeoSpy:

  • вести мониторинг клавиатуры;
  • следить за посещением сайтов;
  • показывать в реальном времени экран пользователя через интернет с другого компьютера или с планшета;
  • делать скриншоты экрана и сохранять снимки с веб-камеры;
  • контролировать системные события (включение, выключение, простои в работе компьютера, подключение съемных носителей);
  • перехватывать содержимое буфера обмена;
  • Следить за использованием Интернет-мессенджеров, записывать звонки по Skype;
  • перехватывать данные, отправляемые на печать и копируемые на внешние носители;
  • вести статистику работы за компьютером;
  • отправлять координаты ноутбука (вычисляются по Wi-Fi).

Благодаря русскоязычному интерфейсу, широкому набору функций, корректному перехвату клавиатуры и полностью скрытому в системе режиму работы, NeoSpy получает максимальную оценку при выборе программы для контроля пользователей.

Real Spy Monitor

Следующий шпион - Real Spy Monitor. Эта англоязычная программа обладает не только функциями слежения, но и может блокировать определенные действия на компьютере. Поэтому ее часто используют как средство родительского контроля.

Для каждой учетной записи в настройках Real Spy Monitor можно создать свою политику запретов, например, на посещение определенных сайтов.

К сожалению, из-за отсутствия англоязычного интерфейса, разобраться с работой Real Spy Monitor сложнее, несмотря на графические миниатюры к кнопкам.

Программа также платная. Лицензия стоит от $39.95.

Возможности Real Spy Monitor:

  • перехват нажатий клавиш, содержимого буфера обмена, системных событий, веб-сайтов, мессенджеров, почты;
  • работа в полускрытом режиме (без активного окна, но с отображением процесса в диспетчере задач);
  • работа с несколькими учетными записями;
  • выборочный автозапуск для разных учетных записей.

В целом, Real Spy Monitor нравится многим пользователям, из недостатков отмечают высокую стоимость, отсутствие русскоязычного интерфейса и отображение процесса в диспетчере задач.

Actual Spy

Actual Spy разработчики позиционируют как кейлоггер (клавиатурный шпион), хотя программа умеет больше, чем просто записывать нажатия клавиш.

Она контролирует содержимое буфера обмена, делает скриншоты экрана, следит за посещениями сайтов и прочее, что входит в основной набор рассмотренных нами шпионов.

При установке Actual Spy создает ярлык в меню Пуск, поэтому может быть замечен пользователем. Запуск тоже происходит открыто - для сокрытия окна программы необходимо нажимать определенные клавиши.

Возможности Actual Spy мало чем отличаются от возможностей конкурентов. Из недостатков пользователи отметили то, что он корректно записывает нажатия клавиш только в английской раскладке.

SpyGo

SpyGo - шпионский комплект для домашнего использования. Может использоваться и в офисах для контроля сотрудников.

Для начала мониторинга достаточно нажать в SpyGo кнопку «Старт».

SpyGo распространяется по условно-бесплатной лицензии и стоит 990-2990 рублей в зависимости от набора функций.

В пробных версиях продолжительность мониторинга ограничена 20 минутами в день, а также недоступна отправка отчетов на электронную почту и по FTP.

Основные возможности SpyGo:

  • мониторинг нажатия клавиш;
  • запись всех действий на компьютере (запуск программ, операции с файлами и прочее);
  • контроль посещений веб-ресурсов (история, поисковые запросы, часто посещаемые сайты, продолжительность нахождения на сайте);
  • запись происходящего на экране;
  • сохранение содержимого буфера обмена;
  • прослушивание окружающей обстановки (при наличии микрофона);
  • мониторинг системных событий (время включения и выключения компьютера, простои в работе, подключение флешек, дисков и прочее).

Важно! К недостаткам SpyGo, по мнению пользователей, можно отнести то, что он поддерживает не все версии Windows, при отправке отчетов нередко выбрасывает ошибки и довольно легко демаскируется.

Snitch

Snitch - название этой программы переводится, как «стукач», причем очень недоброжелательно настроенный к пользователю. Snitch шпионит за действиями на компьютере. Работает скрыто, не требует сложных настроек и мало влияет на быстродействие системы.

Программа выпускается в единственной версии.

Возможности и особенности Snitch:

  • мониторинг клавиатуры, буфера обмена, системных событий, веб-серфинга и общения в мессенджерах;
  • составление сводных отчетов и графиков контролируемых событий;
  • нетребовательность к сетевой конфигурации;
  • защита от несанкционированного завершения процесса программы;
  • наблюдение ведется даже при отсутствии выхода в сеть.

Из недостатков можно заметить конфликты с антивирусами

Как обнаружить шпиона на компьютере?

Найти программу-шпион на компьютере, которая внешне никак себя не проявляет, сложно, но можно.

Так, несмотря на легитимность, рассмотренные нами приложения могут распознать специальные антивирусы, «заточенные» под поиск spyware (троянов с функцией шпионажа), поэтому рекомендуем добавлять установленную программу в список исключений таких антивирусов.

А если вам не требуется удалять шпион, а нужно только замаскировать от него свои действия, можете воспользоваться средствами защиты от шпионажа, которые, несмотря на активную слежку за вами, воспрепятствуют перехвату событий клавиатуры и снимкам экрана.

Тогда ваша переписка и пароли не попадут в чужие руки.

Программа шпион для компьютера поможет вам узнать, чем занимается на компьютере ваш ребенок или сотрудник, а также прояснит, какие сайты посещает, с кем общается, что и кому пишет.

Для этого существуют программы-шпионы - особая разновидность софта, который незаметно для пользователя собирает информацию обо всех его действиях.

Программа шпион для компьютера решит эту задачу.

Шпионское ПО для компьютера не нужно путать с троянским: первое является абсолютно легитимным и устанавливается с ведома администратора, второе - попадает на ПК нелегально и ведет скрытую вредоносную деятельность.

Хотя использовать легитимные программы слежения могут и злоумышленники.

Приложения-шпионы чаще всего устанавливают руководители предприятий и системные администраторы для контроля сотрудников, родители для слежки за детьми, ревнивые супруги и т. д.

При этом «жертва» может знать, что за ней ведется наблюдение, но чаще всего - не знает.

Обзор и сравнение пяти популярных программ-шпионов

NeoSpy

NeoSpy- это универсальная программа-шпион за клавиатурой, экраном и действиями пользователей. NeoSpy работает невидимо и может прятать свое присутствие уже при установке.

Пользователь, который устанавливает программу, имеет возможность выбрать один из двух режимов инсталляции - администраторский и скрытый.

В первом режиме программа ставится открыто - создает ярлык на рабочем столе и папку в каталоге Program Files, во втором - скрыто.

Процессы программы не отображаются в диспетчере задач Windows и диспетчерах задач сторонних производителей.

Функциональные возможности NeoSpy довольно широки и программа может использоваться как в качестве домашнего слежения, так и в офисах для контроля сотрудников.

Real Spy Monitor

Следующий шпион -Real Spy Monitor. Эта англоязычная программа обладает не только функциями слежения, но и может блокировать определенные действия на .

Поэтому ее часто используют как средство родительского контроля.

Для каждой учетной записи в настройках Real Spy Monitor можно создать свою , например, на посещение определенных сайтов.

Actual Spyразработчики позиционируют как кейлоггер (клавиатурный шпион), хотя программа умеет больше, чем просто записывать нажатия клавиш.

Она контролирует содержимое буфера обмена, делает скриншоты экрана, следит за посещениями сайтов и прочее, что входит в основной набор рассмотренных нами шпионов.

При установке Actual Spy создает ярлык в меню Пуск, поэтому может быть замечен пользователем.

Запуск тоже происходит открыто - для сокрытия окна программы необходимо нажимать определенные клавиши.

Возможности Actual Spy мало чем отличаются от возможностей конкурентов. Из недостатков пользователи отметили то, что он корректно записывает нажатия клавиш только в английской раскладке.

Если вы уже интересуетесь шпионскими программами и мониторите этот рынок, то значит ваша ситуация располагает, остаётся только выбрать программу и выяснить правду. Но у многих пользователей проблема встает именно в выборе – кому поверить, что реально работает, и сколько стоит лучшее качество? Если вы на перепутье, то этот шпионский обзор лучших программ на рынке для вас…

Благодаря моей бывшей жене я стал профессионалом в шпионских возможностях. Итак, я выяснил что различные жучки, камеры и прочие атрибуты мало применимы для поимки неверной супруги, так как основная активность как правило ведётся именно в социальных сетях и сообщениях чатов. Поэтому только программа прослушки способна дать полную картину. Но какую программу выбрать?


В первую очередь вы должны четко понимать, что гугля такой сервис, в интернет выдаче вы получите массу предложений от детективных агентств до волшебных способов считывания по воздуху любой информации. Поэтому, чтобы сэкономить ваше время на поиск я даю вам четкий расклад прямо здесь и сейчас:

— По воздуху передаются только воздушно капельные инфекции!!! Помните это!
— Детективные агентства - это дорого!
— Программа прослушки не должна стоить дороже 500 долларов! Потому что за эти деньги она должна не просто передавать мне данные, но еще и борщ варить и кота кормить. Шпионский технологии столько не стоят.
— В интернете очень много продавцов шпионских программ, и всего несколько производителей. Продавцы покупают ПО у производителей и перепродают вам с моржой. Поэтому всегда выгоднее покупать с завода.

Отделить продавцов от производителей просто, если вы в этом разбираетесь. Гуглится на раз и местонахождение, и IP, и линки и сам бренд. Поэтому я представляю вашему вниманию ТОП 3 производителя шпионского софта, из которых можно выбирать:


Производитель: Flexispy Ltd., США Сайт: https://www.flexispy.com/ru/

В первую очередь хочется отметить продукт FlexiSPY. Его производители не жалеют средств на новые разработки, безопасность продукта и поддержку клиентов на родном языке. За это им респект и первое место!

Преимущества перед конкурентами по пунктам:

— Невидимость
Для меня самое важное это моя безопасность, те программа не должна выдавать свою работу, ведь всегда есть шанс наладить отношения… За почти год тестирования, FlexiSPY ни разу не показал ни одного демаскирующего признака!

— Самый широкий функционал
Такие базовые функции как перехват СМС , звонки , слежение по GPS и интернет активность FlexiSPY щелкает как орешки.

Востребованные функции – перехват мессенджеров, у FlexiSPY так же представлен в самом широком объеме – 18 текущих и они не собираются останавливается — WhatsApp, Facebook, Viber, LINE, Skype, WeChat, iMessage, BBM, Blackberry PIN, Yahoo, Snapchat, Hangouts, KIK, Telegram, Tinder, Instagram, QQ

Перейдем к передовым функциям – доступ к камере и микрофону предлагаются у в полном пакете Extreme — запись телефонных разговоров абонента, снимки с камеры и запись окружения телефона через микрофон.

Не могу не отметить уникальные функции FlexiSPY – перехват вызова и прослушка окружения в режиме реального времени. На сегодняшний день, ввиду юридических нюансов, эти функции отменены у всех остальных программ.

Когда моя жена пошла с ‘коллегами’ в бар, я услышал много всего интересного именно здесь и сейчас, а не позже в записи, так что иногда эти функции просто жизненно необходимы…

— Стоимость
У продукта золотая средина и в этом отношении. Качество стоит денег, но разумных. Поэтому стоимость программ начинается от 68 USD в месяц, это вполне приемлемо. Перейди на продвинутую версию можно доплатив разницу в любое время. При этом переустанавливать ничего не нужно!


— Русский саппорт
У продукта есть инструкции и поддержка на русском языке. Когда я устанавливал программу, то получал консультации о рутировании и джейлбрейке в том числе на русском языке. Это очень помогает не уверенным пользователям.

— Стабильность
Многие конкуренты — Shadow copy, StealthGenie, SpyBubble и другие были принудительно закрыты в последние годы ввиду правовых вопросов, которые очень спорны в этом бизнесе. Разумеется, пользователям никто ничего не вернул, поэтому выбирать нужно стабильный сервис.
Продукт существует с 2005 года, те 10 лет, а это более чем стабильно для шпионского бизнеса!

Недостатки
К сожалению, разработчики так и на выпустили русифицированную версию личного кабинета, ссылаясь на то, что имеют пользователей во всем мире. Однако, очень важная часть все-таки переведена на русский язык — это раздел установки и настройки программы.

mSpy

Производитель: Bitex Group LTD., Англия Сайт: https://www.mspy.com

Следующий лауреат рейтинга - это производитель с названием mSpy . Не могу не отметить что эти разработчики так же знают свое дело и выпускают классный софт. Но есть одна особенность для русскоязычной аудитории – у них нет русской версии сайта. Поэтому, если с английским у вас не очень, то читайте выше про конкурента, а если для вас это не проблема, то ниже мой обзор о mSpy.


Преимущества mSpy перед конкурентами по пунктам:

— Стоимость
Стоимость стандартного пакета mSpy начинается от 29.99 USD, что несомненно ниже основных конкурентов и это главное приемущество. За эти деньги вы получите базовые функции шпионского софта —SMS, MMS, историю вызовов, контакты, email, фото и видео, интернет активность, календарь, заметки, приложения, GPS слежение , а так же полное сервисное обслуживание.


— Решение без джейлбрейка
Тут можно аплодировать стоя! Конечно, любой человек, вынужденный шпионить за кем то, хочет это делать без доступа к устройству… но реальность такова, что это невозможно. Однако, разработчики mSpy предлагают одно решение, которое я не могу назвать альтернативным, но оно может подойти определенной категории пользователей – перекачивание данных в личный кабинет с iCloud.

Это решение доступно только для iOS устройств, только если вы знаете логин и пароль к учетной записи iCloud, и только если синхронизация данных с облаком включена на устройстве.
Доступный функционал в этом случае – Whatsapp, iMessage, SMS, MMS, история вызовов, контакты, интернет активность, календарь, заметки, приложения за 69.99 USD в месяц.



Это уникальные функции mSpy , их нет ни у одного конкурента.
Если вы контролируете своего ребенка, то блокировка приложений и сайтов очень важная функция, согласитесь. Ребенок не сможет открыть и просмотреть то, что вы не хотите, но не можете ему запретить.

В случае с контролем супруги, вероятно может возникнуть ситуация, когда вы не захотите, чтобы какой-либо абонент дозвонился. Но не забывайте об альтернативных способах связи.


— Скайп для саппорта
Поддержка клиентов важна каждому клиенту, особенно когда вы покупаете не российский софт, а говорите только на родном языке. В этом случае, конечно нужно выбирать программу, которую поддерживают на русском языке. Однако, крупные корпорации не могут подходить к каждому клиенту индивидуально, и для тех поддержки своих клиентов используют специальные сайты, это не совсем удобно пользователям, которые привыкли к простым методам общения. В этом случае, преимущество mSpy очевидно – поддержка клиентов по обычному Скайпу в любое время!


Недостатки
Как и FlexiSPY, mSpy не перевели свой личный кабинет ни на один другой язык с английского. Это недостаток в использовании программы для многих пользователей.

TalkLog

Производитель: Talklog.Net

Третье место в рейтинге занимает очень интересный софт TalkLog , но работает он только на платформе Андроид. Интересен он тем, что его продает производитель, и он полностью русскоязычный.
Это огромное преимущество, подумаете вы, но функционал у этого приложения очень мал.


В деталях:

Софт русскоязычный
Полностью вся программа на русском языке, включая установочный файл. Я сам тестировал на своем телефоне, и должен отметить что установка занимает не более пяти минут, все очень просто и понятно самому дремучему пользователю. Однако, рекомендую дочитать это пост до конца.


В связи с такой легкой установкой нельзя рассматривать TalkLog как полноценную программу слежение, скорее, как легкое приложение мониторинга некоторых функций телефона – вызовы, аудиоконтроль, СМС, MMC, медиа, местоположение, интернет активность, приложения и возможность выключать и включать устройство.

Встроенные чаты полностью отсутствуют, ну кто в наше время пользуется СМС? Стоимость программы соответствует функционалу.


Так как программа ставится без , она остается в списке приложений и всегда может быть обнаружена пользователем, но в этом и заключается разница между закачиванием мощной программы слежения в корневую папку телефона и установкой простого приложения в 2 клика – помните об этом!


Кратко резюмировать этот длинный пост я могу так – если вы ищите соотношение цены и качества, беспокоитесь чтобы вас не вычислили и хотите знать все, то ваш выбор . Если вы ограничены в средствах или ищете хоть какую-то возможность считывать информацию через iCloud без доступа к телефону, несомненно выбирайте mSpy . Ну а если вам нужно решение для Андроид, при этом вы не хотите пользоваться поддержкой клиентов и желаете видеть только общую активность абонента без подробностей и по очень низкой стоимости, то TalkLog должен вам подойти!

Если есть вопросы или пожелания я всегда буду раз комментариям!

Протоколы транспортного уровня предназначены для обеспечения непосредственного информационного обмена между двумя пользовательскими процессами. Существует два типа протоколов транспортного уровня – сегментирующие протоколы и не сегментирующие протоколы доставки дейтаграмм.

Сегментирующие протоколы транспортного уровня, разбивают исходное сообщение на блоки данных транспортного уровня - сегменты.

Протоколы доставки дейтаграмм не сегментируют сообщение и отправляют его одним куском, который называется «дейтаграмма». При этом функции установления и разрыва соединения, управления потоком не нужны. Протоколы доставки дейтаграмм просты для реализации, однако, не обеспечивают гарантированной и достоверной доставки сообщений.

В качестве протоколов транспортного уровня в сети Internet могут быть использованы два протокола:

  • UDP User Datagram Protocol
  • TCP Transmission Control Protocol

Идентификация процессов на транспортном уровне

Для организации информационного взаимодействия на транспортном уровне должен быть указан сетевой адрес абонента и номер порта процесса. В данном случае порт является виртуальным интерфейсом транспортного уровня. Взаимодействие процессов пользователя с портами может производиться по различным схемам:

  • Синхронизация процесса
  • Буферизация поступающих данных

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

Перечень номеров назначенных портов приведен в документе IETF STD 2

Транспортный протокол UDP

Описание принципов построения протокола UDP приведено в RFC 768. Для передачи сообщений UDP используются пакеты IP. Сообщения UDP в данном случае размещаются в поле данных переносящего их пакета.

Формат сообщения UDP

Дейтаграммы UDP имеют переменную длину и состоят из заголовка сообщения UDP header и собственно сообщения UDP Data. На рисунке приведена структура заголовка сообщения UDP.

Поле UDP DESTINATION PORT

В этом поле должен быть размещен номер порта процесса, которому предназначено данное сообщение.

Поле UDP SOURCE PORT

В этом поле может быть размещен номер порта процесса, который является источником данного сообщения. Это поле формируется в том случае, если характер информационного взаимодействия предполагает формирование отклика.

Поле UDP MRSSAGE LENGTH

В поле UDP MRSSAGE LENGTH размещается выраженная в байтах длина сообщения UDP. Сообщение минимальной длины – 8 байт состоит из одного заголовка.

UDP SOURCE PORT UDP DESTINATION PORT
UDP MRSSAGE LENGTH UDP CHECKSUM
DATA

Поле UDP CHECKSUM

В этом поле может размещаться контрольная сумма сообщения. В том случае, если контрольная сумма сформирована, она должна быть вычислена с учетом псевдо- заголовка UDP, который является не частью дейтаграммы, а фрагментом пакета IP и содержит адреса сетевого уровня источника и станции назначения.

Использование протокола UDP

Протокол UDP обеспечивает негарантированную доставку сообщений в сети Internet. Этот протокол может быть использован в тех приложениях, которые либо не нуждаются в этом качестве, либо обеспечивают гарантированность доставки другими средствами. Примерами приложений, которые используют протокол UDP, являются TELNET и TFTP.

Транспортный протокол TCP

Протокол TCP используется для обеспечения надежного информационного обмена на транспортном уровне в сетях Internet. Первое описание протокола приведено в RFC 793.

Особенности реализации информационного обмена TCP

Существует достаточно много причин, которые могут помешать пакету, который передается в сети, успешно достичь станции назначения. Таким образом, если не будут использованы специальные методы для обеспечения гарантированной доставки, принятое сообщение может существенным образом отличаться от того сообщения, которое было передано.

Надежный информационный обмен предполагает следующие возможности:

  • Потоковый обмен
  • Использование виртуальных соединений
  • Буферизированная передача данных
  • Неструктурированный поток
  • Обмен в режиме полного дуплекса

Потоковый обмен

Надежное транспортное соединение позволяет обеспечить такой режим информационного взаимодействия, когда приемник получает абсолютно ту же последовательность байтов, которая была передана отправителем.

Использование виртуальных соединений

Надежный информационный обмен на транспортном уровне может быть интерпретирован виртуальным логическим соединением. На начальной стадии одна из взаимодействующих сторон инициирует установление соединения, используя при этом по мере необходимости процедуры аутентификации. В процессе информационного обмена через установленное соединение обе стороны контролируют его качество и при возникновении проблем с передачей данных инициируют процесс разрыва соединения и формируют соответствующие сообщения для протоколов верхних уровней.

Буферизированная передача данных

Использование буферов позволяет согласовать скорость информационного обмена в канале передачи данных с значением скорости передачи данных приложением пользователя.

Для обеспечения требования доставки трафика, который чувствителен к временным задержкам, в дополнение к буферу может быть использован дополнительный механизм «push» - поршень. Использование данного механизма обеспечивает форсирование передачи содержимого буфера в тот момент, когда в него попадают данные, которые чувствительны к временным задержкам.

Методы обеспечения надежного информационного взаимодействия в TCP.

Для обеспечения гарантированной доставки сообщений протокол TCP использует аппарат позитивного квитирования с повторной передачей (positive acknowledgement with retransmission). Обычно при использовании данной схемы получатель информации посылает специальный сигнал ACK в подтверждение ее получения. Дальнейшее выполнение информационного обмена может быть выполнено только в том случае, если передающая сторона получит это подтверждение.

Простая процедура квитирования

Передающая сторона приостанавливает передачу очередного сегмента до получения подтверждения о приеме предыдущего сегмента. Интервал ожидания устанавливается равным значению задержки повторной передачи – retransmit timer. Если в течение этого интервала времени не будет получено подтверждение о приеме переданного сегмента, передача данного сегмента выполняется повторно.

Квитирование с использованием скользящего окна

Применение простой процедуры квитирования не обеспечивает достаточную эффективность использования пропускной способности каналов передачи данных. По крайней мере, половину времени системы ожидают получения подтверждения. Более эффективной в этом смысле является процедура квитирования с использованием скользящего окна, которая позволяет передающей стороне передать несколько сегментов сообщения, не дожидаясь получения подтверждения о приеме.

Максимальное число сегментов, которые передающая сторона может передать до получения подтверждения приема первого из них, называется ОКНОМ

При использовании этого механизма принимающая сторона может передавать подтверждение на получение сразу нескольких сегментов.

Процедуры управления потоком TCP

Протокол TCP оперирует с данными, которые поступают в виде потока байтов, которые сгруппированы в сегменты. Для передачи каждого сегмента используется отдельная дейтаграмма.

Описанный в предыдущем параграфе метод скользящего окна используется протоколом TCP для обеспечения выполнения двух функций:

  • Управление скоростью передачи данных
  • Обеспечение надежной доставки передаваемых данных

Процедура скользящего окна в протоколе TCP реализуется применительно к байтам. Каждому байту входного потока присваивается порядковый номер. Для управления процессом передачи используется три указателя.

Первый указывает границу между последним байтом, который был передан и получение которого подтверждено и первым переданным, но неподтвержденным байтом.

Второй указывает границу между последним переданным байтом, подтверждение о получении для которого еще не получено, и первым байтом, который может быть передан, до получения подтверждения о приеме предыдущих переданных байтов.

Третий указывает границу между последним байтом, который может быть передан, до получения подтверждения о приеме предыдущих переданных байтов и остальной частью информационного потока.

Процедура управления потоком заключается в согласовании скорости, с которой передаются данные с пропускной способностью канала их передачи.

Для обеспечения управления потоком в протоколе TCP предусмотрена возможность изменения размера окна. Каждое сообщение подтверждения содержит в себе значение представляемого размера окна - (window advertisement) которое в общем случае определяет размер буфера, который может быть использован в текущий момент для приема информации.

Использование скользящего окна для управления информационным потоком делает ненужным использование дополнительных механизмов для управления переполнением.

Особенности практической реализации протокола TCP

Синдром неоптимального окна

При использовании протокола TCP на линиях, пропускная способность которых была различной в различных направлениях, пользователи могли наблюдать возникновение ситуации, которая получила название синдром неоптимального окна – silly window syndrome - SWS. Данная ситуация характеризуется тем, что одно из взаимодействующих приложений «А» может передавать данные с существенно большей скоростью, чем другое - «В». Если изначально сторона «В» установила размер своего окна равным величине своего буфера, вполне может получиться так, что сторона «А» заполнит весь буфер до того, как получит первое уведомление об изменении размера окна. Исчерпав лимит байтов, установленный для передачи, сторона «А» перейдет в режим ожидания подтверждения. Когда сторона «В» начнет обработку поступивших данных, она сможет освободить некоторую часть буфера и передаст уведомление о соответствующем изменении размера приемного окна. Сторона «А» быстро заполнит освободившееся место в буфере и опять перейдет в режим ожидания. Наиболее неприятным следствием возникновения такой ситуации будет то, что канал передачи данных в направлении от «А» к «В» будет использоваться крайне неэффективно, поскольку сегменты TCP будут использоваться для переноса небольших объемов данных (до 1 байта). Соотношение долей полезной нагрузки и служебной информации в данном случае будет крайне неудачным. Для того, чтобы избежать возникновения SWS в практической реализации протокола TCP используются несколько различных способов.

Способы предотвращение появления SWS на приемной стороне

Для того, чтобы предотвратить возникновение SWS, приемной стороне достаточно передавать представления только для больших изменений размеров окна. Это означает, что сообщение ACK с новым значением размера окна передается не сразу после того, как появится свободное место во входном буфере, а только после того, как размер этого свободного место будет достаточен для приема минимального установленного объема передаваемой информации. Например, в качестве такого минимального объема может быть использован половинный объем приемного буфера. Некоторые реализации протокола TCP могут также использовать в качестве представления величины окна максимальную длину передаваемого сегмента.

Другим способом, который также может быть использован на приемной стороне для предотвращения возникновения эффекта SWS, является процедура задержки подтверждений. Этот метод довольно прост для реализации и в тоже время достаточно эффективен. Действительно, задержка ответа на некоторое постоянное время, позволит избежать SWS и одновременно повысить эффективность использования канала передачи данных – поскольку на все сегменты, которые поступят на приемник в течение интервала задержки, будет сформировано только одно подтверждение. Использование фиксированной задержки подтверждения рекомендовано стандартом для предотвращения SWS. Следует, однако, иметь в виду, что выбор слишком большого времени задержки может привести к повторной передаче сегмента.

Способы предотвращение появления SWS на передающей стороне

Для предотвращения появления SWS передающая сторона может использовать алгоритм Нейгла (Nagle). Суть этого алгоритма заключается в том, что первая порция информации передается немедленно после попадания в буфер, все последующие дожидаются, пока в буфере накопится достаточный для передачи объем данных.

Предыдущая лекция
Протоколы внешней маршрутизации

Протокол TCP (TransmissionControlProtocol, протокол управления передачей) представляет собой надежный протокол с установлением соединения, являющийся альтернативой UDP, и отвечающий за большинство передач пользовательских данных по сетям TCP/IP, и даже внесший свой вклад в название всего набора протоколов. Протокол TCP, как определено в документе RFC 793, обеспечивает приложения всем диапазоном транспортных услуг, включая подтверждение получения пакетов, отслеживание ошибок и их исправление, а также управление потоком.

Протокол TCP предназначен для передачи относительно больших объемов информации, которая заведомо не сможет быть упакована в один пакет. Информация обычно принимает форму целых файлов, которые должны быть разделены на множественные дейтаграммы для передачи. Информация, поставляемая Транспортному уровню, в терминологии протокола TCP рассматривается как последовательность (sequence), которую протокол разбивает на сегменты (segment) для передачи по сети. Как и в случае протокола UDP, сегменты затем упаковываются в IP-дейтаграммы, которые могут преодолевать маршрут до места назначения различными способами. Поэтому, протокол TCP снабжает каждый из сегментов порядковым номером для того, чтобы система-получатель смогла собрать их воедино в правильном порядке.

Перед началом любой передачи пользовательских данных с применением протокола TCP две системы обмениваются сообщениями с целью установления соединения. Это позволяет убедиться, что система-получатель функционирует и в состоянии принять данные. Как только соединение установлено и начинается процесс передачи данных, система-получатель периодически посылает сообщения, подтверждающие прием пакетов. Эти сообщения оповещают систему-отправителя о потерянных пакетах, а также обеспечивают ее информацией, используемой при контроле скорости потока передачи.

Формат TCP –сообщения

Функции полей TCP-заголовка описаны ниже.

Порт источника (SourcePort), 2 байта. Идентифицирует номер порта передающей системы, используемый процессом, который создал информацию, переносимую TCP-сегментами. В некоторых случаях это может быть фиктивный номер порта, выделенный клиентом специально для данной транзакции.

Порт назначения (DestinationPort), 2 байта. Указывает номер порта системы назначения, на который должна быть передана информация ТСР-сегментов. Номера портов перечислены в документе "AssignedNumbers", а также в файле SERVICES каждой ТСР/1Р-системы.

Порядковый номер (SequenceNumber), 4 байта. Определяет положение конкретного сегмента по отношению ко всей последовательности данных.

Подтвержденный номер (AcknowledgmentNumber), 4 байта. Задает максимальный номер байта в сегменте, увеличенный на единицу, который подтверждающая система ожидает получить от отправителя. Используется совместно с битом управления АСК.


Смещение данных (DataOffset), 4 бита. Задает длину в 4-байтных словах, TCP-заголовка (который может содержать опции, увеличивающие его размер вплоть до 60 байт).

Зарезервировано (Reserved), 6 битов. Выделено для последующих применений.

Биты управления (ControlBits), 6 битов. Содержит шесть 1-битных флагов, выполняющих перечисленные ниже функции:

URG - показывает, что последовательность содержит срочные данные (urgentdata) и активирует поле указателя срочности;

АСК - отмечает, что сообщение является подтверждением ранее полученных данных и активирует поле номера подтверждения;

PSH - предписывает системе-получателю передать всю информацию текущей последовательности, полученную на данный момент, приложению, идентифицированному полем порта назначения, не дожидаясь поступления остальных фрагментов;

RST - инструктирует систему-получателя отбросить все сегменты текущей последовательности, полученные к настоящему моменту, и начать установление TCP-соединение заново;

SYN - используется во время процедуры установления соединения для синхронизирования нумераторов переданных данных между взаимодействующими системами;

FIN - извещает другую систему, что передача данных закончена и соединение должно быть завершено.

Окно (Window), 2 байта. Реализует механизм управления потоком протокола TCP (скользящее окно) путем объявления количества байтов, которое система-получатель может принять от системы-источника.

Контрольная сумма (Checksum), 2 байта. Содержит результат вычисления контрольной суммы с учетом TCP-заголовка, данных, а также псевдозаголовок, составленный из полей IP-адреса источника, протокола, IP-адреса назначения из IP-заголовка плюс длина всего ТСР-сообщения.

Указатель срочности (UrgentPointer), 2 байта. Задействуется совместно с битом URG, определяет данные последовательности, которые должны рассматриваться получателем как срочные.

Опции (Options), переменный размер. Может содержать дополнительные конфигурационные параметры для TCP-соединения вместе с битами выравнивания, требуемыми для того, чтобы привести размер поля до ближайшего значения, кратного 4 байтам. Возможные опции перечислены ниже.

Максимальный размер сегмента (MaximumSegmentSize). Задает размер максимального сегмента, который текущая система может получить от другой системы, соединенной с ней.

Фактормасштабаокна (Window Scale Factor). Используется для увеличения размера поля окна с 2 до 4 байтов.

Временная отметка (Timestamp). Используется для хранения временных отметок пакетов данных, которые система-получатель возвращает отправителю с целью подтверждения. Это позволяет отправителю измерять время путешествия данных в оба конца.

Данные (Data), переменный размер. Может включать в себя сегменты данных, поступившие с вершины протокольного стека, от протоколов Прикладного уровня. В пакетах SYN, АСК и FIN это поле оставляется пустым.

IPX/SPX: Для обеспечения транспортных услуг для операционной системы NovellNetWare, фирмой Novell был создан свой собственный стек протоколов, получивший общее название по наименованию протокола Сетевого уровня - IPX (InternetworkPacketExchange, межсетевой обмен пакетами). По аналогии с TCP/IP этот стек иногда также называют IPX/SPX. Вторая часть этого обозначения соотносится с SPX (SequencedPacketeXchange, последовательный обмен пакетами), протоколом, работающим на Транспортном уровне. Однако, в отличие от комбинации TCP и IP, которая повсеместно встречается в TCP/IP- сетях и предназначена в основном для доставки большого количества трафика, комплекс IPX/SPX в сетях NetWare можно встретить относительно редко.

Протоколы IPX в нескольких аспектах похожи на TCP/IP. Оба стека протоколов задействуют на Сетевом уровне ненадежные протоколы без установления соединения (IPX и IP соответственно) для переноса дейтаграмм, содержащих данные множества протоколов верхних уровней, что обеспечивает широкий спектр услуг для различных применений. Подобно IP, IPX отвечает за адресацию дейтаграмм и маршрутизацию их к месту назначения в другой сети.

Однако в отличие от TCP/IP протоколы IPX были разработаны для применения в локальных сетях, и не поддерживают той почти неограниченной масштабируемости, свойственной протоколам Интернета. IPX не обладает такой самостоятельной адресной системой, какая имеется у протокола IP. Системы в сети NetWare идентифицируют другие системы посредством аппаратных адресов, "зашитых" в платы сетевых адаптеров в сочетании с адресом сети, назначенным администратором (или ОС) во время инсталляции операционной системы.

Дейтаграммы IPX переносятся внутри стандартных кадров протокола Канального уровня точно так же, как дейтаграммы IP. Протоколы IPX не имеют собственных протоколов Канального уровня. Тем не менее, в большинстве сетей данные IPX инкапсулируются кадрами Ethernet или TokenRing.

Протокол IPX

IPX базируется на протоколе IDP (InternetworkDatagramPacket, межсетевой обмен дейтаграммами), разработанном для сетевых служб Xerox (XNS, XeroxNetworkServices). IPX обеспечивает базовые транспортные услуги без установления соединения между системами интерсети при широковещательной и однонаправленной передаче. Большая часть обычного трафика между серверами NetWare или между клиентами и серверами переносится посредством дейтаграмм IPX.

Заголовок дейтаграммы IPX имеет длину 30 байтов (для сравнения: размер заголовка IP равен 20 байтам). Назначение полей заголовка перечислено ниже.

Контрольная сумма (Checksum), 2 байта. В оригинальном заголовке IDP это поле содержит значение CRC для дейтаграммы. Так как протоколы Канального уровня сами выполняют проверку контрольных сумм, то данная функция при обработке дейтаграмм IPX не задействована и поле всегда содержит шестнадцатеричное значение ffff.

Длина (Length), 2 байта. Задает размер дейтаграммы в байтах, включая заголовок IPX и поле данных.

Управление доставкой (TransportControl), 1 байт. Это поле также известно как счетчик транзитов (hopcount). Оно фиксирует количество маршрутизаторов, через которые прошла дейтаграмма на пути к месту назначения. Передающая система сбрасывает его в 0, а каждый из маршрутизаторов при обработке дейтаграммы увеличивает значение счетчика на 1. Как только количество транзитных маршрутизаторов достигает 16, последний из них отбрасывает дейтаграмму.

Тип пакета (Packet Туре), 1 байт. Идентифицирует сервис или протокол верхнего уровня, который создал данные, переносимые дейтаграммой. Используются следующие значения:

0 - не определен;

1 - RoutingInformationProtocol (RIP, протокол информации маршрутизации);

4 - ServiceAdvertisingProtocol (SAP, протокол извещения об услугах);

5 - SequencedPacketExchange (SPX, последовательный обмен пакетами);

17 - NetWare Core Protocol (NCP, основнойпротокол NetWare).

Адрессетиназначения (Destination Network Address), 4 байта. Указывает сеть, в которой расположена система-получатель, содержит значение, выделенное администратором или операционной системой во время инсталляции NetWare.

Адрес узла назначения (DestinationNodeAddress), 6 байтов. Определяет сетевой интерфейс компьютера, которому должны быть доставлены данные, представляет собой аппаратный адрес протокола Канального уровня. Широковещательные сообщения передаются с шестнадцатеричным адресом ffffffffffff.

Сокет назначения (DestinationSocket), 2 байта. Отвечает за идентификацию процесса, выполняющегося на системе-получателе, для которого, собственно, и предназначены данные внутри дейтаграммы. Используетсяодноизследующихзначений:

0451 - NetWare Core Protocol;

0452 - Service Advertising Protocol;

0453 - Routing Information Protocol;

0455 - NetBIOS;

0456 - диагностический пакет;

0457 - пакет присваивания номера (serializationpacket);

4000-6000 - сокеты, отведенные процессам сервера;

9000 - NetWareLinkServicesProtocol;

9004 - IPXWAN Protocol.

Адрес сети источника (SourceNetworkAddress), 4 байта. Идентифицирует сеть, в которой находится система, пославшая дейтаграмму. Используется значение, выделенное администратором или операционной системой во время инсталляции NetWare.

Адрес узла источника (SourceNodeAddress), 6 байтов. Содержит аппаратный адрес протокола Канального уровня для сетевого интерфейса компьютера, который отправил дейтаграмму.

Сокет источника (SourceSocket), 2 байта. Определяет процесс, выполняющийся на локальной системе, сформировавший данные пакета. Применяются те же значения, что и для поля сокета назначения.

Данные (Data), переменной длины. Информация, сгенерированная протоколом вышележащего уровня.

Поскольку IPX является протоколом без установления соединения, для подтверждения правильности доставленных данных он полагается на протоколы верхних уровней. Тем не менее, клиенты NetWare активируют системные часы таймаута запроса, по истечении которого таймер вынуждает их повторно отправить дейтаграмму IPX, если ответ не был получен в течение заданного периода времени.



Загрузка...