Главная страница
Навигация по странице:

  • TCP/IP

  • Протокол TCP/IP. TCP

  • Обеспечение достоверности

  • Метод передачи данных

  • Практика №9. Протокол tcp особенности. 5 Заголовоки tcp. 6 Флаги tcp. 7 Алгоритм передачи данных тройное рукопожатие. 8


    Скачать 241.34 Kb.
    НазваниеПротокол tcp особенности. 5 Заголовоки tcp. 6 Флаги tcp. 7 Алгоритм передачи данных тройное рукопожатие. 8
    Дата18.12.2021
    Размер241.34 Kb.
    Формат файлаdocx
    Имя файлаПрактика №9.docx
    ТипПротокол
    #308254


    Оглавление


    Введение. 3

    Функции протокола TCP. 3

    Протокол TCP особенности. 5

    Заголовоки TCP. 6

    Флаги TCP. 7

    Алгоритм передачи данных «тройное рукопожатие». 8

    Уязвимость протокола TCP. 8

    Заключение. 9


    Введение.


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

    Протокол TCP/IP.

    TCP — это набор протоколов, который задает стандарты связи между компьютерами и содержит подробные соглашения о маршрутизации и межсетевом взаимодействии. TCP/IP широко применяется в Internet, поэтому с его помощью могут общаться пользователи из исследовательских институтов, школ, университетов, правительственных учреждений и промышленных предприятий.

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

    Функции протокола TCP.


    1. Базовая передача данных

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

    1. Обеспечение достоверности

    Модуль TCP обеспечивает защиту от повреждения, потери, дублирования и нарушения очередности получения данных.

    Для выполнения этих задач все октеты в потоке данных сквозным образом пронумерованы в возрастающем порядке. Заголовок каждого сегмента содержит число октетов данных в сегменте и порядковый номер первого октета той части потока данных, которая пересылается в данном сегменте. Например, если в сегменте пересылаются октеты с номерами от 2001 до 3000, то номер первого октета в данном сегменте равен 2001, а число октетов равно 1000.

    Номер первого байта в потоке определяется на этапе установления соединения и обозначается ISN+1. Например, ISN+1=1.

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

    1. Разделение каналов

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

    1. Управление соединениями

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

    Каждое соединение уникально идентифицируется в Интернет парой сокетов.

    Соединение характеризуется для клиента именем, которое является указателем на структуру TCB содержащую информацию о соединении.

    Открытие соединения клиентом осуществляется вызовом функции OPEN, которой передается сокет, с которым требуется установить соединение. Функция возвращает имя соединения. Различают два типа открытия соединения: активное и пассивное.

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

    1. Управление потоком

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

    TCP обеспечивает средства, позволяющие вашему компьютеру выступать в роли хоста Internet, который может подключиться к сети и установить соединение с любым другим хостом Internet. В TCP/IP предусмотрены команды и средства, которые позволяют выполнять следующие действия:

    1. Передавать файлы в другую систему

    2. Входить в удаленную систему

    3. Выполнять команды в удаленной системе

    4. Печатать файлы в удаленной системе

    5. Отправлять электронные сообщения удаленным пользователям

    6. Вести интерактивный диалог с удаленными пользователями

    7. Управлять сетью



    Протокол TCP особенности.


    Протокол TCP это сетевой протокол, который «заточен» под соединение. Иными словами, прежде, чем начать обмен данными, данному протоколу требуется установить соединение между двумя хостами.

    Плюсы протокола TCP:

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

    Упорядоченность: TCP, гарантирует передачу пакетов данных именно в том порядке, в котором они были отправлены.

    Метод передачи данных: TCP данные передаются потоково, границы фрагментов данных не имеют обозначения.
    Минус протокола TCP:

    Скорость: TCP-протоколу будет требоваться больше времени для установки соединения, подтверждения получения, повторной отправки данных чем протоколу UDP;

    Заголовоки TCP.


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

    Длина заголовка.

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

    В заголовке TCP содержаться следующие поля:

    1. Source port (16 бит): порт источника. Порт хоста, от которого исходит запрос.

    2. Destination port (16 бит): порт назначения. Порт хоста, куда направляется запрос.

    3. Sequence number, SYN (32 бита): порядковый номер. Позволяет контролировать порядок сообщений.

    4. Acknowledgement number, ACK (32 бита): номер подтверждения. Когда сообщение содержит флаг ACK, то значение в номере подтверждения должно соответствовать следующему порядковому номеру (SYN), которое отправитель сообщения с флагом ACK ожидает получить от передающей системы. Таким образом, отправка одного номера подтверждения способна подтвердить получение всех байтов с информацией, полученных до этого.

    5. Checksum (16 бит): контрольная сумма. Используется для проверки на наличие ошибок при передаче и/или приеме отправленного пакета.


    Флаги TCP.




    1. Флаги NSCWR и ECE используются для управления перегрузкой.




    1. Флаг URG указывает на то, что в сегменте содержатся срочные данные, которые необходимо быстро передать приложению. Этот флаг используется совместно с полем указатель на срочные данные, который содержит адрес этих данных. Сейчас этот флаг и поле указатель на срочные данные не используются.




    1. Флаг ACK используются, если в поле номер подтверждения записаны осмысленные данным, то есть для подтверждения принятой ранее информации.




    1. Флаг PSH указывает, что полученные данные необходимо полностью сразу передать приложение без промежуточной записи в буфер, также как и флаг URG этот флаг сейчас не используется.




    1. Флаги RST и FIN используются для разрыва соединений, а флаг SYN синхронизация, используется для установки соединения.


    Алгоритм передачи данных «тройное рукопожатие».


    Связь TCP работает в модели Server / Client. Клиент инициирует соединение, и сервер либо принимает, либо отклоняет его. Для управления подключением используется трехстороннее связывание.



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

    Любой из серверов и клиентов может отправлять сегмент TCP с флагом FIN, установленным в 1. Когда принимающая сторона отвечает на это посредством ACKnowlinging FIN, это направление связи TCP закрывается и соединение освобождается.

    Уязвимость протокола TCP.


    Уязвимость протокола TCP — это трехстороннее рукопожатие для установления соединения. Злоумышленник может запустить атаку типа «отказ в обслуживании» «SYN-flooding», чтобы воспользоваться этой уязвимостью. Он устанавливает много полуоткрытых сессий, не завершив рукопожатие. Это приводит к перегрузке сервера и в конечном итоге к краху.

    Заключение.


    Протокол TCP это сетевой протокол, который «заточен» под соединение. Иными словами, прежде, чем начать обмен данными, данному протоколу требуется установить соединение между двумя хостами. Скорость передачи пакетов уступает другим протоколам. Протокол TCP довольно надежный и понятный.


    написать администратору сайта