Слайд 1Протоколы транспортного уровня TCP/IP
Выполнено студентом группы 2382
Алекперовым И.А.
2005
Слайд 2Протоколы транспортного уровня TCP/IP, общее описание
На сетевом уровне нет гарантий
успешной доставки всех пакетов
основной или транспортный уровень стека TCP/IP -
обеспечивает надежную информационную связь между двумя конечными узлами
Слайд 3Протоколы транспортного уровня TCP/IP, общее описание
На этом уровне функционируют два
протокола:
протокол управления передачей Transmission Control Protocol
протокол дейтаграмм пользователя
User Datagram
Protocol
Слайд 4Протоколы транспортного уровня TCP/IP, общее описание
Протокол TCP образует надежные логические
соединения
TCP устанавливает надежную связь через составную сеть, все узлы которой
используют для передачи сообщений дейтаграммный протокол IP
Слайд 5Протоколы транспортного уровня TCP/IP, общее описание
UDP
позволяет передавать пакеты только дейтаграммным способом, как и протокол уровня
межсетевого взаимодействия IP
Слайд 6Понятие портов
Решают проблему доставки сообщений конкретному процессу-получателю
Множества очередей к
точкам входа различных прикладных процессов и называются портами
Номер порта в
совокупности с номером сети и номером конечного узла однозначно определяет прикладной процесс в сети.
Этот набор идентифицирующих параметров называется сокет
Слайд 7Понятие портов
Номера портов наиболее распространенным службам, таким как FTP –
21 или telnet – 23 назначаются
в Internet Assigned Numbers
Authority (IANA). Эти номера затем закрепляются и опубликовываются в стандартах Internet (RFC 1700).
Слайд 8Понятие портов
Локальное присвоение номера порта также возможно
идентификатор не должен входить
в число зарезервированных номеров портов
Слайд 9Понятие портов
TCP ведет две очереди - очередь пакетов, поступающих в
данный порт из сети, и очередь пакетов, отправляемых данным портом
в сеть
Мультиплексирование – обслуживание очереди для отправки
Демультиплексирование – обслуживание принятых пакетов
Слайд 11Протокол TCP
Сегменты и потоки
Сегмент - единица данных TCP
TCP рассматривает данные
приложений как неструктурированный поток байтов
Поступающие данные буферизуются. Для передачи на
сетевой уровень из буфера вырезается некоторая часть данных, - это и есть сегмент.
Слайд 12Протокол TCP
Сегменты и потоки
Все сегменты не обязательно имеют одинаковый размер
Но
есть ограничение – максимальный размер сегмента
Хорошо, чтобы размер максимального сегмента
не превосходил максимального размера поля данных IP-пакета
Слайд 13Протокол TCP
Соединения
Многошаговая процедура подтверждения связи
Формально соединение – это:
согласованные размеры сегментов
объемы
данных, которые разрешено передавать без подтверждения
начальные и текущие номера передаваемых
байтов
Слайд 14Протокол TCP
Установка связи по протоколу
Узел-отправитель запрашивает соединение, посылая сегмент с
установленным флагом синхронизации (SYN).
Узел-адресат подтверждает получение запроса, отправляя обратно сегмент
с:
Установленным флагом синхронизации
Порядковым номером начального байта сегмента, который он может послать
Подтверждением, включающим порядковый номер следующего сегмента, который он ожидает получить
Запрашивающий узел посылает обратно сегмент с подтверждением номера последовательности и номером своего подтверждения (ACK).
Слайд 15Протокол TCP
Установка связи по протоколу
Слайд 17Протокол TCP
Структура пакета
Поле flags
Слайд 18Протокол TCP
Реализация скользящего окна
Частный случай квитирования – алгоритм скользящего окна
Окно определено на множестве нумерованных байтов неструктурированного потока данных
Слайд 19Протокол TCP
Реализация скользящего окна
Слайд 20Протокол TCP
Реализация скользящего окна
Концептуально каждому байту присваивается номер очереди –
число на единицу большее, чем максимальный номер байта в полученном
сегменте
Номер очереди для первого байта данных в сегменте передается вместе с этим сегментом и называется номером очереди для сегмента.
Сегменты также несут номер подтверждения, который является номером для следующего ожидаемого байта данных, передаваемого в обратном направлении.
Слайд 21Протокол TCP
Реализация скользящего окна
Существует очередь повторной передачи TCP
Производительность протокола во
многом зависит от правильного выбора тайм-аута
Слайд 22Протокол TCP
Реализация скользящего окна
Алгоритм определения тайм-аута
Узнать время оборота
Усреднить времена весовыми
коэффициентами
В качестве тайм-аута выбирать среднее время оборота, умноженное на специальный
коэффициент (на практике значение этого коэффициента должно превышать 2).
Слайд 23Протокол TCP
Реализация скользящего окна
Исключено появление продублированных сегментов
Контроль получателем размера буфера
данных
Применение параметра 20-40 % от максимально возможного объема памяти для
данного соединения до изменения окна
Централизованный контроль за размером окна
Нулевой размер окна и пометка «срочно»
Слайд 24Протокол UDP
Общее описание
Протокол User Datagram Protocol (UDP) обеспечивает неориентированную на
соединение службу доставки дейтаграмм по принципу «максимального усилия». Это означает,
что получение всей дейтаграммы или правильной последовательности не гарантируется.
Протокол UDP используется приложениями, не требующими подтверждения. Обычно такие приложения передают данные небольшого объема за один раз. К примеру, это: сервис имен NetBIOS, сервис SNMP, сервис дейтаграмм NetBIOS
Слайд 25Протокол UDP
Порты
IP-адрес и номер порта получателя определяют точку назначения дейтаграммы
UDP-порт
– это мультиплексная очередь сообщений
порты UDP отличаются от портов TCP
несмотря на использование одних и тех же значений номеров