Заметка

OSI модель. Транспортный уровень.

Всем привет!

Мы продолжаем обсуждать OSI модель, также называемую стеком OSI. Сегодня мы разберем основные  протоколы транспортного уровня.

Если вы еще не ознакомились с понятием OSI модели, то советую перед этим прочитать мою статью.

Здесь мы разберем протоколы TCP и UDP  фундаментальные протоколы транспортного уровня, на которых работает практически весь Интернет.

Введение

Internet Protocol или IP (это протокол сетевого уровня) обеспечивает ненадежную систему доставки пакетов — каждый пакет является индивидуальным и обрабатывается отдельно. Пакеты могут прийти к получателю не в том порядке, в котором посылались, или вовсе не прийти. Получатель не подтверждает их получение, поэтому отправитель не знает, что передача прошла успешно. Там нет положений об управлении потоком — пакеты могут быть доставлены быстрее, чем они могут быть использованы.

TCP (Transmission Control Protocol)

TCP — это сетевой протокол, призванный разрешить данные проблемы. TCP использует IP, но добавляет уровень контроля.

vint_cerf_meme

На фото Винтон Грей Серф — один из изобретателей протокола TCP.

Вообще, угарный дядька, судя по всему 🙂

43-Vint-Agent_2

TCP пакеты тоже иногда теряются, как и IP пакеты. Разница в том, что TCP протокол заботится о запросе повторных передач, чтобы убедиться, что все пакеты дошли до цели, а также отслеживает порядок номеров пакетов, чтобы убедиться, что все пакеты дошли в правильном порядке.

Представляйте себе TCP протокол, как протокол, обеспечивающий стабильное соединение между двумя узлами. Все, что было отправлено, гарантированно дойдет до получателя и в правильном порядке.

Заголовок TCP пакета (TCP header имеет размер от 20 до 60 байт)

UDP (User Datagram Protocol)

UDP — сетевой протокол, в отличие от TCP, обеспечивает ненадежную систему доставки пакетов. Он также, как и TCP, использует IP. Как и в IP, каждый пакет индивидуален и обрабатывается отдельно. Именно поэтому количество информации, которое может быть послана в UDP пакете, ограничено количеством информации, которое может содержать в себе один IP пакет. Таким образом, UDP пакет может содержать не более 65507 байт (65535 байт — размер IP пакета минус минимальный размер IP header (заголовка) в 20 байт и минус 8 байт UDP header).

UDP пакеты могут прийти не в своем порядке следования или не все полностью. Ни один пакет не имеет никакой информации о предыдущем и следующем за ним пакетом. Получатель не подтверждает получение пакетов, поэтому отправитель не может быть уверен, что передача прошла успешно.

В UDP также нет положений об управлении потоком — пакеты могут прийти быстрее, чем могут быть использованы получателем. Мы можем назвать этот тип соединения «без установления связи», потому что пакеты не имеют никакого родственного отношения друг к другу (следующий, предыдущий) и потому что не поддерживаются никакие состояния (например, «успешное получение», или «потерян 45 пакет»).

Можно провести аналогию отправки UDP пакета с отправкой обычного письма. Вы пишите письмо(данные, которые вы посылаете); кладете письмо в конверт(UDP пакет); указываете получателя (используете IP адрес и номер порта); указываете от кого оно (ваш локальный IP адрес и номер порта) и тогда посылаете письмо.

Как и у настоящего письма, у вас нет возможности узнать, был ли получен UDP пакет. Если вы посылаете второе письмо, оно может прийти раньше первого. Или второе может вообще не дойти.

Можно отметить, что так как заголовок TCP пакета намного больше заголовка UDP пакета, передача данных по UDP протоколу происходит быстрее, чем по TCP. Поэтому обычно потоковое видео передается по UDP протоколу. С другой стороны, при использовании UDP есть высокая вероятность потери данных, но, например, для того же потокового видео это не такая большая проблема.

На этом все. Всем удачи!

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s