862.94K
Категория: ИнтернетИнтернет

Транспортный уровень

1.

ТРАНСПОРТНЫЙ
УРОВЕНЬ

2.

НАЗНАЧЕНИЕ И ЗАДАЧИ
Транспортный уровень - это один из уровней модели OSI (модель открытых
систем взаимодействия), который обеспечивает связь между узлами в сети. Он
отвечает за установку соединения, управление потоком данных и обеспечение
надежности передачи.
1. Установка и управление соединениями: Транспортный уровень
обеспечивает механизмы для установления соединений между отправителем
и получателем данных. Это может включать управление потоком данных,
установление и разрыв соединений.
2. Разделение данных на сегменты: Перед передачей по сети, большие блоки
данных разбиваются на более мелкие сегменты, чтобы обеспечить
эффективную передачу и использование ресурсов сети.
3. Передача данных: Один из важнейших аспектов транспортного уровня - это
обеспечение передачи этих сегментов данных от отправителя к получателю,
обеспечивая корректную последовательность данных.

3.

НАЗНАЧЕНИЕ И ЗАДАЧИ
4. Надежность передачи данных: Транспортный уровень
обеспечивает механизмы обнаружения и исправления ошибок, а
также повторной передачи утраченных данных.
5. Управление потоком данных: Транспортный уровень контролирует
поток данных, чтобы предотвратить передачу данных быстрее, чем их
обработка на стороне получателя.
6. Гарантирование целостности данных: Транспортный уровень
следит за тем, чтобы данные при передаче не потерялись или не были
повреждены.
Таким образом, транспортный уровень играет ключевую роль в
обеспечении надежной и эффективной передачи данных в сети, а
также в поддержании коммуникации между различными
устройствами.

4.

МУЛЬТИПЛЕКСИРОВАНИЕ
СЕАНСОВ СВЯЗИ
Мультиплексирование сеансов связи - это процесс комбинирования
нескольких потоков данных или сеансов связи в единый поток для передачи
через один канал связи. Это позволяет эффективно использовать пропускную
способность сети и ресурсы передачи данных.
Есть несколько видов мультиплексирования сеансов связи:
1. Временное мультиплексирование (TDM): В этом методе разные источники
данных получают фиксированные временные интервалы для передачи
данных по каналу. Например, в случае цифровой телефонии каждому
голосовому каналу назначается определенный временной слот в общем
потоке данных.
2. Статистическое мультиплексирование: Этот метод использует информацию
о том, какие потоки данных активны в данный момент времени, чтобы
распределять ресурсы в зависимости от потребностей. Например, если один
поток данных требует больше пропускной способности, то ему могут быть
выделены больше ресурсов в том или ином временном интервале.

5.

МУЛЬТИПЛЕКСИРОВАНИЕ
СЕАНСОВ СВЯЗИ
3. Частотное мультиплексирование (FDM): Этот метод разделяет
доступный спектр частот на несколько поддиапазонов, каждый из
которых выделяется для отдельного потока данных. Этот метод часто
применяется в радиосвязи и кабельном телевидении.
4. Пакетное мультиплексирование: В этом методе данные
разделяются на пакеты, каждый из которых содержит информацию о
том, какой поток данных он представляет. Пакеты затем отправляются
по каналу связи и могут идти вразнобой, прежде чем быть
воссоединены на стороне получателя.
Мультиплексирование сеансов связи максимально использует
доступные ресурсы канала связи и обеспечивает эффективную
передачу множества потоков данных по единственному каналу
связи.

6.

ОПИСАНИЕ И СРАВНЕНИЕ
ПРОТОКОЛОВ TCP И UDP
Протоколы TCP (Transmission Control Protocol) и UDP (User Datagram Protocol)
являются двумя основными протоколами транспортного уровня в
модели OSI (модель открытых систем взаимодействия) и применяются
для передачи данных в компьютерных сетях. Вот их сравнение по
основным параметрам:
1. Надежность:
- TCP: TCP предоставляет надежную доставку данных, а также
обнаружение и повторную передачу утраченных пакетов. Для этого
используются механизмы контроля потока и управления
перегрузками.
- UDP: В отличие от TCP, UDP не предоставляет механизмов обеспечения
надежной доставки данных. Это означает, что UDP может потерять
пакеты без оповещения отправителя.

7.

ОПИСАНИЕ И СРАВНЕНИЕ
ПРОТОКОЛОВ TCP И UDP
2. Производительность:
- TCP: Из-за механизмов обеспечения надежности передачи данных,
производительность TCP может страдать в случае сетевых задержек или потерь
пакетов. Также TCP имеет некоторую накладную часть из-за установления
соединения и управления потоком данных.
- UDP: По сравнению с TCP, UDP обеспечивает более высокую производительность
за счет отсутствия механизмов обеспечения надежности. Это особенно полезно
для приложений, где скорость передачи данных важнее, чем надежность
доставки.
3. Область применения:
- TCP: TCP обычно используется в приложениях, где надежная доставка данных и
управление потоком критически важны, таких как веб-серверы, электронная почта,
передача файлов и другие приложения, где целостность данных является важным
аспектом.
- UDP: UDP чаще всего применяется в реальном времени или интерактивных
приложениях, где небольшие задержки и более высокая производительность
важнее, чем надежность доставки данных, например, в потоковом видео,
видеозвонках, онлайн-играх и т. д.

8.

АДРЕСАЦИЯ ПОРТОВ И СЕГМЕНТАЦИЯ TCP И UDP
TCP:
- Сегментация: TCP разбивает данные на более мелкие
единицы, называемые сегментами. Это делается из-за
ограничений максимального размера передаваемого пакета
данных в сети. Каждый сегмент содержит заголовок, который
включает в себя информацию о последовательности данных,
подтверждения получения и другие управляющие данные.
- Адресация портов: TCP использует порты для идентификации
конкретных процессов на устройстве. Отправляя данные через
TCP, их сначала делят на порции, а затем отправляют на
конкретный порт назначения на удаленной машине, чтобы
гарантировать доставку и связь с нужным приложением.

9.

АДРЕСАЦИЯ ПОРТОВ И СЕГМЕНТАЦИЯ TCP И UDP
UDP:
- Сегментация: В отличие от TCP, UDP использует технику, позволяющую
отправлять данные в виде датаграмм - полных пакетов данных без
разбивки на меньшие части. UDP не предоставляет механизмов
сегментации и восстановления потерянных пакетов.
- Адресация портов: Как и TCP, UDP также использует порты для
идентификации конкретных процессов на устройстве. При отправке
данных по протоколу UDP, информация доставляется на указанные
порты получателя, где ее обрабатывает приложение-получатель.
Таким образом, оба протокола используют адресацию портов для
идентификации приложений или сервисов на устройстве, а TCP также
выполняет сегментацию данных для более эффективной передачи и
надежности.

10.

ОБМЕН ДАННЫМИ ПО TCP
Обмен данными по протоколу TCP (Transmission Control Protocol)
происходит следующим образом:
1. Установление соединения: - Прежде чем начать обмен данными,
установляется соединение между клиентом и сервером. Этот процесс
включает в себя установление "трехстороннего рукопожатия", где
клиент и сервер обмениваются специальными сегментами TCP для
согласования параметров соединения.
2. Передача данных: - После установления соединения клиент и
сервер могут начать обмен данными. Клиент отправляет данные,
упакованные в сегменты TCP, на сервер. Каждый сегмент содержит
порции информации и управляющую информацию, такую как порты и
номера последовательности. - Сервер принимает сегменты, а затем
отправляет подтверждения (ACK) об успешном приеме данных обратно
клиенту.

11.

ОБМЕН ДАННЫМИ ПО TCP
3. Разрыв соединения:
- По завершении обмена данными или после передачи
всех необходимых данных, клиент или сервер могут
инициировать разрыв соединения. Этот процесс
осуществляется через обмен специальными TCPсегментами для закрытия соединения.
Протокол TCP обеспечивает гарантированную доставку
данных, управление потоком, контроль ошибок и
нумерацию последовательности данных, чтобы
гарантировать, что данные доставлены в правильной
последовательности и без утрат. TCP также обеспечивает
надежную связь между клиентом и сервером.

12.

ПРОЦЕССЫ TCP СЕРВЕРА
1. Прослушивание на определенном порте: - TCP сервер начинает свою
работу с прослушивания на определенном порту. Это позволяет серверу
принимать входящие соединения от клиентов.
2. Установление соединения: - Когда клиент хочет установить соединение с
сервером, он отправляет TCP сегмент с запросом на соединение (SYN). Сервер
отвечает на этот запрос с сегментом подтверждения (SYN-ACK). Если клиент
отправляет подтверждение (ACK), соединение считается установленным.
3. Принятие и обработка запросов: - После установления соединения сервер
принимает входящие запросы от клиентов. Запросы обычно содержат
информацию о том, что клиент хочет от сервера.
4. Обработка данных: - Сервер обрабатывает данные, полученные от клиента
в соответствии с логикой своего приложения. Это может включать в себя
выполнение вычислений, чтение или запись данных в базу данных, отправку
ответов клиенту и т.д.

13.

ПРОЦЕССЫ TCP СЕРВЕРА
5. Отправка ответов: - После обработки запроса сервер отправляет
ответ клиенту. Ответ также упаковывается в TCP сегмент и
отправляется обратно клиенту через установленное соединение.
6. Закрытие соединения: - По завершении обмена данными или после
передачи всех необходимых данных, сервер или клиент могут
инициировать разрыв соединения. Это осуществляется через обмен
специальными TCP сегментами для закрытия соединения.
Это общий обзор процессов TCP сервера. Различные серверные
приложения могут иметь свои собственные специфические шаги
обработки запросов, но общие процессы установления, обработки
данных и закрытия соединения остаются похожими для большинства
TCP серверов.

14.

УСТАНОВЛЕНИЕ TCP-СОЕДИНЕНИЯ И
ЕГО ЗАВЕРШЕНИЕ
Установление соединения (трехстороннее рукопожатия):
1. Клиент отправляет серверу сегмент TCP с флагом SYN
(синхронизация) и выбранным начальным номером
последовательности.
2. Сервер принимает сегмент, записывает начальный номер
последовательности, который ему отправил клиент, и отправляет
клиенту сегмент с флагами SYN и ACK, а также выбранным начальным
номером последовательности для себя.
3. Клиент подтверждает получение сегмента сервера, отправляя
серверу сегмент с флагом ACK, с последовательным номером, который
равен номеру сервера увеличенному на 1. Этот обмен сегментами SYN
и ACK устанавливает начальное согласование параметров соединения
между клиентом и сервером.

15.

УСТАНОВЛЕНИЕ TCP-СОЕДИНЕНИЯ И
ЕГО ЗАВЕРШЕНИЕ
Обмен данными: После установления соединения клиент и сервер
могут обмениваться данными в обе стороны, принимая и
подтверждая получение сегментов.
Завершение соединения (четырехстороннее рукопожатия):
1. Клиент или сервер инициируют разрыв соединения, отправляя
сегмент с флагом FIN (завершение).
2. При получении сегмента с флагом FIN, получатель отправляет
обратно подтверждение с флагом ACK.
3. Получатель также инициирует разрыв соединения, отправляя
сегмент с флагом FIN.
4. Первоначальный отправитель отправляет подтверждение с флагом
ACK в ответ.
После этого обмен сегментами FIN и ACK завершает соединение между
клиентом и сервером.

16.

ПРИНЦИПЫ «ТРЁХСТОРОННЕГО
РУКОПОЖАТИЯ» TCP
Принцип "трехстороннего рукопожатия" (three-way handshake) является
фундаментальной частью установления соединения в протоколе TCP. Он
обеспечивает согласование параметров соединения между клиентом и
сервером. Принцип трехстороннего рукопожатия состоит из трех шагов:
1. Шаг 1: Клиент отправляет серверу сегмент с флагом SYN (синхронизация) и
выбранным начальным номером последовательности. Флаг SYN указывает,
что клиент хочет установить соединение.
2. Шаг 2: Сервер принимает сегмент от клиента, записывает начальный номер
последовательности, который ему отправил клиент, и отправляет клиенту
сегмент с флагами SYN и ACK, а также выбранным начальным номером
последовательности для себя. Флаг SYN указывает, что сервер тоже хочет
установить соединение, а флаг ACK подтверждает получение сегмента от
клиента.

17.

ПРИНЦИПЫ «ТРЁХСТОРОННЕГО
РУКОПОЖАТИЯ» TCP
3. Шаг 3: Клиент подтверждает получение сегмента от сервера,
отправляя серверу сегмент с флагом ACK, с последовательным
номером, который равен номеру сервера увеличенному на 1.
Это завершает процесс трехстороннего рукопожатия и
устанавливает соединение между клиентом и сервером.
Принцип "трехстороннего рукопожатия" обеспечивает надежное
установление соединения в TCP, гарантируя согласование
параметров соединения между обеими сторонами. Это позволяет
обеим узлам быть уверенными в правильной и стабильной работе
соединения до начала передачи данных.

18.

НАДЁЖНОСТЬ И УПРАВЛЕНИЕ
ПОТОКОМ TCP
Надежность и управление потоком являются ключевыми характеристиками
протокола TCP. Вот как они реализуются:
1. Подтверждение получения сегментов: Когда узел получает сегмент
данных, он отправляет обратно подтверждение (ACK) для уведомления
отправителя о получении. Если отправитель не получает подтверждения в
течение определенного времени, он повторно отправляет сегмент. Это
обеспечивает надежную доставку данных и контроль целостности.
2. Потеря данных и повторная передача: Если отправитель не получает
подтверждения о получении данных в течение определенного времени, он
повторно отправляет эти данные. Кроме того, TCP использует таймауты и
механизмы проверки целостности данных, чтобы обнаруживать и
восстанавливать потерянные или поврежденные сегменты. Это
гарантирует, что данные доставляются надежно даже в условиях сетевой
неполадки.

19.

НАДЁЖНОСТЬ И УПРАВЛЕНИЕ
ПОТОКОМ TCP
3. Управление потоком: TCP использует механизмы управления
потоком, чтобы предотвратить перегрузку получателя слишком
большим объемом данных. Он основан на динамическом
алгоритме, где отправитель регулирует скорость отправки
данных в соответствии с обратной связью от получателя. Это
позволяет избежать перегрузки и переполнения буферов узлов
сети.
В целом, надежность и управление потоком TCP обеспечивают
надежную, стабильную и эффективную передачу данных в
распределенных сетях, где надежность и эффективность
передачи данных являются критически важными.

20.

ОБМЕН ДАННЫМИ С ИСПОЛЬЗОВАНИЕМ UDP
Основные особенности:
1. Отсутствие установления соединения: В отличие от TCP, где
устанавливается надёжное соединение перед передачей данных, UDP
не требует установления соединения. Клиент просто отправляет пакет
данных на указанный адрес и порт, а сервер принимает пакет и
отправляет ответ, если необходимо.
2. Отсутствие подтверждения доставки: UDP не гарантирует доставку
данных и не предоставляет механизмов подтверждения доставки или
повторной передачи утерянных пакетов. Это означает, что в
приложениях, использующих UDP, необходимо предусмотреть
собственные механизмы обнаружения и восстановления утерянных
данных.
3. Низкая задержка: Использование UDP обеспечивает более низкую
задержку и меньший объем данных, чем TCP, так как UDP не
обеспечивает управление потоком и надежную доставку. Это делает
UDP предпочтительным выбором для приложений, в которых более
важна скорость передачи данных, чем надежность.

21.

ПРИЛОЖЕНИЯ, ИСПОЛЬЗУЮЩИЕ UDP И TCP
Примеры приложений, использующих UDP:
1. Видео- и аудиоконференции: Приложения для видео- и
аудиоконференций, такие как Skype, Zoom, Google Meet, обычно
используют UDP для стриминга видео и аудио, так как UDP обеспечивает
более быструю передачу данных, чем TCP, и потеря пакетов в редких
случаях может быть не так критична.
2. Онлайн-игры: Многие онлайн-игры, такие как шутеры от первого
лица или многопользовательские ролевые игры, используют UDP для
быстрой передачи данных между игровыми клиентами и сервером
игры. UDP предоставляет низкую задержку, что особенно важно в
игровых приложениях. (Fortnite, League of Legends и Counter-Strike)
3. DNS (Domain Name System): Протокол DNS, используемый для
разрешения доменных имен в IP-адреса, обычно работает поверх UDP
из-за его меньшей накладной нагрузки, по сравнению с TCP.

22.

ПРИЛОЖЕНИЯ, ИСПОЛЬЗУЮЩИЕ UDP И TCP
Примеры приложений, использующих TCP:
1. Веб-браузеры: Протокол HTTP, используемый в веб-браузерах для
передачи веб-страниц, обычно работает поверх TCP из-за своей
надежности и гарантированной доставки. (Google Chrome, Mozilla Firefox и
Microsoft Edge)
2. Почтовые клиенты: Почтовые протоколы, такие как SMTP (протокол
передачи почты) и POP3/IMAP (протоколы получения почты), используют
TCP для передачи почтовых сообщений из-за необходимости надежной
доставки. (Microsoft Outlook)
3. Файловые передачи: Программы для передачи файлов, такие как FTP
(протокол передачи файлов) и SFTP (протокол безопасной передачи
файлов), обычно используют TCP из-за необходимости гарантированной
доставки и контроля целостности данных при передаче файлов. (FileZilla
(FTP-клиент) и WinSCP (SFTP)
English     Русский Правила