- •Лекция 8 Протоколы транспортного уровня tcp и udp. Порты
- •Протокол udp
- •Назначение полей udp пакета:
- •Протокол tcp
- •Назначение полей tcp пакета:
- •Установление соединения, передача данных и завершение соединения.
- •Механизмы обеспечения достоверности передаваемых данных.
- •Структура ip-пакета
- •Механизм управления потоком данных
- •Протокол ip
- •Функции протокола ip
- •Фрагментация
- •Транспортный уровень передачи данных
- •Внешние функции транспортного протокола
- •Внутренние функции транспортного протокола
- •Обработка сбойных ситуаций в транспортном протоколе
Обработка сбойных ситуаций в транспортном протоколе
В процессе функционирования ТП обрабатывает следующие ситуации:
обнаружение дублированных блоков
обнаружение блоков, пришедших не по порядку
предотвращение переполнения ресурсов принимающего узла
обнаружение потеряных блоков
обнаружение искаженных блоков при передаче
обнаружение и сброс блоков от старых соединений
предотвращение блокировки узлов
1) и 2) задачи решаются за счет введения порядкового номера блока в структуру блока. 3) решается за счет использования процедуры “окно”, причем его размер должен быть меньше, чем интервал номеров блоков. Для обнаружения потеряных блоков используются команды подтверждения 4). 5) решается за счет использования контрольной суммы (например сумма по модулю 2 всей байт). При обнаружении несовпадения контрольной суммы блок затирается и считается потеряным. Схематически представим ситуацию, приводящую к необходимости решения задачи 6): абонент А отправил запрос-соединение абоненту Б. Абонент Б получил этот запрос и отправил подтверждение соединения, которое затем получано А. Абонент А отправляет первый блок данных, на который получает подтверждение от Б. Абонент А посылает второй блок, к. теряется в сети, после чего абонент Б инициирует разрыв связи. Абонент А получил запрос разъединения и инициировал новое соединение с абонентом Б. Все идет хорошо до передачи первого блока и в этот момент появляется 2ой блок от первого соединения, к. считается новым (при склейке с первым получается ошибка). А) основой решения этой проблемы является введение понятия времени жизни(L) блоков в сети. ВInternet~72 часа. В простейшем случае можно запретить установление нового соединения в течении врмениL. Б) в структуру блока ТП дополняется служебное поле, к. содержит имя транспортного соединения. Имя транспортного соединения не может повторяться в течении времениL. Непредсказуемая ситуация может возникнуть, когда одновременно два абонента выйдут из связи, а блоки, направленные к ним будут находиться в сети. После входа в сеть А и Б начнется беспорядок. В) дальнейшее улучшение функционирования ТП связано с введением в структуру блока времени его отправки. Попутно это решает задачу с дублированием блоков. Как только пакет обнаружен на очередном узле с истекшим сроком жизни, он затирается. Одновременно с временем отправки блока в узле-отправителе запускается таймер, к. сбрасывается в момент прихода подтверждения на блок. Проблемы возникают при переходе от высокоскоростных каналов к низкоскоростным (пакеты не успевают стареть). Выбор оптимальных режимов ожидания подтверждения, длины блоков происходит средствами моделирования самой сети. Рассмотрим ситуацию в которой решается 7) задача. Абонент А отправил запрос-соединение. Абонент Б получил этот запрос и отправил команду отказа, которая была потеряна в сети и абонент Б отправил команду соединения А. Абонент А получил этот запрос, отождествив его с подтверждением соединения, после этого они начинают посылать друг другу блоки данных, к. при получении затираются, т.к. имеют различные имена соединений. Для избежания ситуации взаимной блокировки используется процедура тройного рукопожатия.
