- •24. Функции и интерфейсы транспортного уровня стека tcp/ip. Понятие потока, дейтаграммы, пакета и кадра данных.
- •25. Протокол udp. Описать формат заголовка для датаграмм протокола udp, функциональные обязанности протокола.
- •26. Определить назначение сокетов. Понятие порта и типы портов.
- •27. Описать процесс инкапсуляции данных приложения в заголовке udp. Определить мультиплексирование и демультиплексирование.
- •28. Основные функции и особенности протокола tcp .Описать формат заголовка tcp и назначения его полей.
- •30. Управление потоком передаваемых данных в протоколе тср. Метод скользящего окна.
- •31. Методы работы протокола tcp. Алгоритм медленного запуска .
- •32. Методы работы протокола tcp .Алгоритм предотвращения перегрузок
28. Основные функции и особенности протокола tcp .Описать формат заголовка tcp и назначения его полей.
Transmission Control Protocol (TCP) (протокол управления передачей) - выполняет функции протокола транспортного уровня модели OSI. Предоставляет предваритеьную установку соединений, за счет чего дает уверенность в достоверности получаемых данных. В случае потери данных – осуществляет повторный запрос, в случае получения двух копий – устраняет дублирование.
Заголовок TCP:
29. Основные функции и особенности протокола TCP .Описать последовательность установления логического соединения между двумя прикладными процессами, трехэтапное установление связи при установке соединения ТСР.
Задача протокола TCP (транспортного уровня) - обеспечение надежного канала обмена данными между прикладными процессами в составной сети с помощью установления логического соединения. Это байтовый (каждому байту любого пакета присваивается порядковый номер) последовательный протокол с установлением соединения. Это его особенность. Пакеты последовательно нумеруются с подтверждениями -> надёжность.
Соединение в TCP идентифицируется парой полных адресов обоих взаимодействующих процессов - сокетов.
Последовательность соединения:
* Одна из сторон является инициатором - посылает запрос к протоколу TCP на открытие порта для передачи.
* После открытия порта TCP на стороне инициатора посылает запрос процессу, с которым требуется установить соединение.
* TCP на приемной стороне открывает порт для приема данных и возвращает квитанцию, подтверждающую прием запроса.
* Те же шаги происходят для второго клиента. Далее происходит обмен данными в рамках данного соединения.
Цель трехэтапного установления связи - синхронизировать порядковые номера и номера подтверждений для каждой конечной точки в момент установки соединения ТСР.
30. Управление потоком передаваемых данных в протоколе тср. Метод скользящего окна.
ТСР необходимы две функции, чтобы протокол мог управлять данными в соединении: управление потоком (flow control) и управление передачей (transmission control).
Если данные принимаются на целевой станции быстрее, чем станция успевает их обрабатывать, ей приходится обращаться к станции-отправителю с просьбой замедлиться или совсем остановиться и подождать, пока будет освобождено место (обновлен буфер), то есть другими словами должен существовать механизм, который позволит управлять потоком поступающих данных. Как это осуществляет протокол TCP?
Квитирование - это один из традиционных методов обеспечения надежной связи. Для того, чтобы можно было организовать повторную передачу искаженных данных отправитель нумерует отправляемые единицы передаваемых данных (кадра).
Для каждого кадра отправитель ожидает от получателя так называемую положительную квитанцию - служебное сообщение, извещающее о том, что исходный кадр был получен и данные в нем оказались корректными.
Время этого ожидания ограничено - при отправке каждого кадра передатчик запускает таймер, и если по его истечению положительная квитанция на получена, то кадр считается утерянным.
В некоторых протоколах приемник, в случае получения кадра с искаженными данными должен отправить отрицательную квитанцию - явное указание того, что данный кадр нужно передать повторно.
В протоколе TCP используется частный случай квитирования - алгоритм скользящего окна. Особенность этого алгоритма в протоколе TCP состоит в том, что, хотя единицей передаваемых данных является сегмент, окно определено на множестве нумерованных байт неструктурированного потока данных, поступающих с верхнего уровня и буферизуемых протоколом TCP.
Получающий модуль TCP отправляет "окно" посылающему модулю TCP.
Данное окно задает количество байтов (начиная с номера байта, о котором уже была выслана квитанция), которое принимающий модуль TCP готов в настоящий момент принять.
Квитанция (подтверждение) посылается только в случае правильного приема данных, отрицательные квитанции не посылаются. Таким образом, отсутствие квитанции означает либо прием искаженного сегмента, либо потерю сегмента, либо потерю квитанции. В качестве квитанции получатель сегмента отсылает ответное сообщение (сегмент), в которое помещает число, на единицу превышающее максимальный номер байта в полученном сегменте. Это число называется порядковым номером.
Если размер окна равен W, а последняя по времени квитанция содержала значение N, то отправитель может посылать новые сегменты до тех пор, пока в очередной сегмент не попадет байт с номером N+W. Этот сегмент выходит за рамки окна, и передачу в таком случае необходимо приостановить до прихода следующей квитанции.
Надежность передачи достигается благодаря подтверждениям и номерам очереди.
