Please enable JavaScript.
Coggle requires JavaScript to display documents.
TCP/IP (Структура заголовка состоит из 4х-байтовых слов. Минимальный…
TCP/IP
Структура заголовка состоит из 4х-байтовых слов. Минимальный размер заголовка 20 байт, и длина размера опций может быть переменной и макс значение 40 байт
4 байта
Поле Sequence Number используется для присвоения передаваемой в TCP соединении порции байт порядкового номера
-
-
-
-
4 байта
-
-
6 бит - Поле Флагов
- Флаг SYN (Synchronize sequence numbers) устанавливается в сегментах, с помощью которых клиент предлагает установить соединение и сервер соглашается на установку соединения;
- флаг RST (Reset the connection) используется для того, чтобы продемонстрировать клиенту, что удаленная сторона не может принять соединение;
- флаг FIN (final) используется для уведомления партнера о разрыве соединения;
- флаг ACK устанавливается в сегментах, которые являются ответами на другие сегменты в рамках одного соединения;
- Флаг URG – urgent (срочность) - указывает на наличие срочных данных в сегменте
- Флаг PSH – Push - инструктирует получателя протолкнуть данные, накопившиеся в приёмном буфере, в приложение пользователя
16 бит - Window - играет роль в вопросах управления потоками данных между клиентом и сервером. Испльзуется для двух функционалов:
- указывает на то, сколько неподтвержденных данных можно отправить (алгоритм скользящего окно - уменьшает время простоя сети, чтобы не ждать подтверждения данных)
- указывает на то, сколько на данный момент удаленная сторона готова принять данных в буфер (закрытое окно)
- Комплексы действий в рамках установления логического соединения
Поток байт получаемых от приложения разбивается на сегменты. Размер сегмента переменный и зависит от договоренностей, которые были согласованы между двумя хостами (отправитель и получатель) в процессе установки соединения
-
Одновременно с отправкой на сетевой уровень сегмента ТСР запускает таймер, который следит за временем прошедшим с момента отправки. Если по истечению таймера удаленный хост не подтвердили получение данных ТСР автоматически осуществляет ретрансмиссию
Задачей модуля ТСР на принимающем узле является прием сегментов в буфер, проверка контрольной суммы сегмента, отправка положительной квитанции (в случае успешной проверки контрольной суммы), расположение сегментов в исходящем порядке, передача исходного блока данных приложению
Выбор адресов получателя:
- автоматически вшит в самом приложении
- клиент сам вбивает каждый раз адрес получателя
- клиент один раз настроил адрес получателя и в дальнейшем адрес получателя берется с настроек (mail клиенты)
Для публичных серверов и приложений, не желательно менять стандартный порт на нестандартный
Все порты (65536):
- 0-1023 - общеизвестные (системные)
- 1024-49151 - зарегистрированные (пользовательские)
- 49152-65535 - динамические (частные)
- UDP (User Datagram Protocol — протокол пользовательских датаграмм) — один из ключевых элементов TCP/IP, набора сетевых протоколов для Интернета. С UDP компьютерные приложения могут посылать сообщения (в данном случае называемые датаграммами) другим хостам по IP-сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных.
Решает задачу адресации сетевых приложений
Порция данных - дейтаграмма
Transmission Control Protocol (TCP, протокол управления передачей) — один из основных протоколов передачи данных интернета, предназначенный для управления передачей данных. Сети и подсети, в которых совместно используются протоколы TCP и IP, называются сетями TCP/IP.В стеке протоколов IP TCP выполняет функции протокола транспортного уровня модели OSI.
Механизм TCP предоставляет поток данных с предварительной установкой соединения, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета, гарантируя тем самым, в отличие от UDP, целостность передаваемых данных и уведомление отправителя о результатах передачи.Методы, как основной фундамент, на котором базируется любой протокол транспортного уровня:
- Нумерация передаваемых данных
- Квитирование полученных данных
- Повторные передачи данных
Порция данных называется сегмент - его размер переменный и оговаривается на этапе согласования соединения.
- типовые приложения, не нуждающиеся в гарантировании доставки данных и предпочитающие дейтаграммный режим работы:
■ Приложения, предполагающие режим работы вида: небольшой запрос — небольшой ответ.
■ Приложения, использующие широковещание или групповое вещание.
■ Синхронные приложения, для которых работа в реальном времи
- Протокол UDP обеспечивает обмен дейтаграмм между клиентом и сервером, т.е. клиент и сервер не устанавливают логического соединения перед отправкой данных, UDP не oбеспечивает гарантий доставки пакетов при обмене между клиентом и сервером.
- Основная задача протокола UDP — мультиплексирование данных множества приложений в один поток IP пакетов.
- Серверные приложения обычно используют хорошо известные (или регистрированные порты).
- Клиентские приложения чаще всего используют динамические порты.
Процедуру установки TCP соединения называют Three Way Handshake:
- в первом сегменте клиент предлагает установить соединение и сообщает свой ISN серверу;
- во втором сегменте сервер соглашается установить соединение, подтверждает клиенту «понимание» его ISN и сообщает клиенту свой ISN,
- в третьем сегменте клиент подтверждает серверу «понимание» его ISN
Изначальный порядковый номер — ISN (Initial Sequence Number)