Транспортный уровень (уровень 4) определяет логическое соединение между конечными узлами сети и предоставляет транспортную службу от узла-источника до узла-назначения.
Эту службу называют службой сквозного соединения (end-to-end service).
На транспортном уровне определяются два протокола:
TCP – Transmission Control Protocol – Протокол управления передачей
UDP – User Datagram Protocol – Протокол передачи дейтаграмм пользователя
Протоколы TCP и UDP
Application Header + data
TCP-Заголовок
UDP-Заголовок
или
UDP
TCP
TCP/UDP
TCP/UDP
Инкапсуляция/Деинкапсуляция
Data
HTTP Header
TCP Header
IP Header
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
IP Packet
Data Link Header
Data Link Trailer
Data
HTTP Header
TCP Header
IP Header
Data Link Header
Data Link Trailer
Инкапсуляция/деинкапсуляция и транспортный уровень
TCP
TCP
Транспортный уровень
Транспортный уровень обеспечивает сегментирование данных на узле-источнике и управляет сборкой сегментов на узле-назначения.
Основные функции:
- Отслеживание индивидуальных коммуникаций между приложениями на узлах-источниках и узлах-назначения.
- Сегментирование данных
- Управление сегментами
- Сборка сегментов в на узлах-назначения
- Идентификация различных приложений
Транспортный уровень обеспечивает передачу данных между приложениями, работающими на сетевых устройствах
Транспортный уровень
Транспортный уровень
Протоколы:
TCP
UDP
Транспортный уровень оперирует с сегментами
Протокол IP считается ненадежным протоколом без установления соединения и не предоставляет никаких служб, гарантирующих доставку пакетов узлу-назначения.
Протоколы TCP/UDP обеспечивают необходимый уровень качества обслуживания для процессов ненадежного протокола IP.
сегмент
сегмент
Сравнение TCP и UDP
TCP обеспечивает:
Надежную доставку
Контроль ошибок
Управление потоками
Управление переполнением
Последовательность доставки
(Установка предварительного
соединения)
Приложения:
HTTP, FTP, SMTP
Telnet MSN messenger
UDP обеспечивает:
Ненадежная доставка
Нет контроля ошибок
Нет управления данными
Нет управления переполнением
Не контролируется последовательность доставки
(Нет предварительного соединения
Приложения:
DNS (обычно), SNTP
TFTP, DHCP
Последовательность доставки означает, что сегменты доставляются в той же последовательности, в которой они были переданы.
Установка соединения
гарантирует, что приложения готовы к получению данных
Надежность доставки означает, что потерянные сегменты восстанавливаются, так что доставляются полностью
Управление потоками означает процесс регулирования данных между двумя сетевыми устройствами,
Один клиент может иметь несколько транспортных соединений с несколькими серверами.
Один клиент может иметь несколько транспортных соединений с несколькими серверами.
Примечание: TCP – служба, ориентированная на предварительное соединение (двусторонние стрелки) между узлами, но UDP – служба без установления соединения (односторонние стрелки).
TCP
TCP
TCP
TCP
TCP
TCP
HTTP
HTTP
FTP
UDP
SMTP
UDP
Web Сервер
Email и FTP Сервер
провайдера ISP
Порты протоколов TCP и UDP
TCP и UDP используют номера портов (или сокетов) для передачи информации протоколам верхнего уровня.
TCP и UDP используют номера портов (или сокетов) для передачи информации протоколам верхнего уровня.
TCP-заголовок
HTTP - порт 80
UDP-заголовок
Номера портов:
Номера портов
Заголовок приложения + Данные
Заголовок приложения + Данные
Номера портов используются для выбора соответствующего приложения конечной станции (узла-источника) и поддержки одновременных сеансов
Номера портов используются для выбора соответствующего приложения конечной станции (узла-назначения) и поддержки одновременных сеансов
Различные:
Приложения
-Протоколы
- Номера портов
Транспорт
Для поддержки различных одновременных сеансов используются номера портов. Порты позволяют разграничивать транспортные потоки сегментов.
http://www.iana.org/assignments/port-numbers
Порты назначаются организацией IANA (Internet Assigned Numbers Authority).
Зарезервированные порты (Well Known Ports) от 0 до 1023
Зарезервированные порты (Well Known Ports) от 0 до 1023
Резервируются для общих служб и приложений:
- HTTP (web-сервер) POP3/SMTP (сервер e-почты) и Telnet.
Клиент использует номер порта назначения в TCP.
- Клиентские приложения могут запрашивать соединение с конкретным портом на сервере и связанной с ним службой.
Области номеров портов
Категории портов
От 0 до 1023
Зарезервированные порты
Зарегистрированные порты
Частные порты или динамические
1024 до 49151
49152 до 65535
Области номеров портов
Категории портов
От 0 до 1023
Зарезервированные порты
Зарегистрированные порты
Частные порты или динамические
1024 до 49151
49152 до 65535
Зарегистрированные порты (от 1024 до 49151)
Назначаются пользовательским процессам и приложениям.
Для соединения клиента со службой сервера должны быть указаны порты отправителя и получателя. Порты получателей или порты, предназначенные для служб, обычно назначаются из числа зарезервированных портов. Порты-отправители, устанавливаемые клиентом, определяются динамически из области зарегистрированных портов.
Частные или динамические порты (от 49152 до 65535)
Частные или динамические порты (от 49152 до 65535)
Обычно динамически назначаются клиентским приложениям при инициализации соединения.
Клиент устанавливает номер порта (случайное число) отправителя в сегментах протокола TCP.
Области номеров портов
Категории портов
От 0 до 1023
Зарезервированные порты
Зарегистрированные порты
Частные порты или динамические
1024 до 49151
49152 до 65535
Client
Server
Telnet
Клиент посылает сегмент TCP с:
Клиент посылает сегмент TCP с:
Порт получателя: 23 (зарезервированный порт)
Порт отправителя: 1028 (Динамический порт, назначаемый клиентом)
Заголовок клиента TCP
23
1028
Data for Telnet
Клиент
Сервер
Данные для Telnet
Сервер отвечает сегментом TCP, содержащим:
Сервер отвечает сегментом TCP, содержащим:
Порт получателя: 1028 (Динамический порт, назначенный клиентом)
Порт отправителя: 23 (зарезервированный порт)
Заголовок cервера ТСР
1028
23
Data for Telnet
Клиент
Сервер
Рассмотрим, как порты отправителя и получателя используются клиентами и серверами:
Рассмотрим, как порты отправителя и получателя используются клиентами и серверами:
Клиент (инициализирующий службу Telnet):
Порт получателя = 23 (telnet)
Порт отправителя = 1028 (динамически назначаемый)
Сервер (ответ на запрос службы Telnet):
Порт получателя = 1028 (порт отправителя клиента)
Порт отправителя = 23 (telnet)
Клиент
Сервер
Один клиент – один сервер: Две разные сессии HTTP
Один клиент – один сервер: Две разные сессии HTTP
Клиент: Одинаковые порты получателя
Клиент: Разные порты отправителя, чтобы идентифицировать уникальные сессии.
Разные соединения могут использовать один и тот же порт отправителя сколь угодно долго до тех пор, пока отличаются порты отправителя или IP-адреса отправителя.