Надежная передача данных по каналу, допускающему искажение битов и потерю пакетов

Теперь предположим, что нам необходимо обеспечить передачу данных по каналу, в котором возможны не только искажения, но и потери пакетов (такая ситуация вполне типична для современных компьютерных сетей, включая Интернет). При разработке протокола нам придется решить две дополнительные задачи: найти способ определения факта потери пакета и указать действия, предпринимаемые в этом случае. Последняя задача решается с помощью контрольных сумм, порядковых

Подробнее

Надежная передача данных по каналу, допускающему искажение битов

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

Подробнее

Надежная передача данных по абсолютно надежному каналу

Сначала рассмотрим простейший случай, когда канал, по которому передаются данные, является абсолютно надежным. Протокол rdt 1.0, обеспечивающий передачу по такому каналу, также является тривиальным. На рис. 3.8 приведена схема конечных автоматов, описывающая этот протокол. Фрагмент а соответствует передающей стороне, фрагмент б — принимающей. При описании протокола важным является наличие двух моделей конечных автоматов, соответствующих каждой из его сторон. В данном

Подробнее

Общие принципы надежной передачи данных

В этом разделе мы рассмотрим общие принципы надежной передачи данных. Проблема надежной передачи данных является одной из центральных для компьютерных сетей и проявляется не только на транспортном, но также на сетевом и прикладном уровнях. Большинство принципов, изложенных ниже, реализованы в протоколе TCP; мы убедимся в этом в следующем разделе. На рис. 3.7 приведена схема надежной передачи данных. Служба надежной передачи

Подробнее

Контрольная сумма UDP-сегмента

Как было показано ранее, контрольная сумма UDP-сегмента предназначена для обнаружения ошибок, то есть определения, были ли какие-либо биты сегмента искажены в процессе передачи (например, в результате помех на линии связи или промежуточного хранения в маршрутизаторе). Протокол UDP на передающей стороне вычисляет дополнение до 1 суммы всех 16-разрядных слов сегмента, игнорируя происходящие при суммировании переполнения. Результат вычисления заносится в поле контрольной

Подробнее

Web-серверы и TCP

Перед тем как завершить разговор о мультиплексировании и демультиплексировании, необходимо сказать несколько слов о web-серверах и об использовании ими номеров портов. Предположим, что на хосте выполняется web-сервер (например, Apache) с портом номер 80. Когда клиенты (к примеру, браузеры) формируют сегменты для передачи серверу, во всех сегментах номер порта получателя получает значение 80. Как упоминалось выше, сервер различает подобные сегменты по

Подробнее

Структура UDP-сегмента

Структура UDP-сегмента, представленная на рис. 3.6, описана в RFC 768. Данные приложения размещаются в поле данных сегмента; например, в поле данных может быть размещено DNS-сообщение (запрос или ответ) или сэмпл потокового аудио. Заголовок UDP-сегмента состоит из четырех двухбайтовых полей. Номера портов отправителя и получателя позволяют хосту назначения направить данные сегмента нужному сокету (другими словами, осуществить процедуру демультиплексирования). Контрольная сумма предназначена

Подробнее

Мультиплексирование и демультиплексирование без установления логического соединения

Вспомним о том, что в программе на языке Java, выполняющейся на оконечной системе, создание UDP-сокета производится командой DatagramSocket mySocket = new DatagramSocket(); При выполнении этой команды транспортный уровень автоматически связывает номер порта с создаваемым сокетом. Номером порта является любое число от 1024 до 65 535, не используемое в текущий момент другим UDP-портом. Номер порта может быть задан явно: DatagramSocket mySocket

Подробнее

Демультиплексирования на транспортном уровне

В этом разделе мы рассмотрим операции мультиплексирования и демультиплексирования на транспортном уровне, «продолжающие» соединение между оконечными системами до уровня соединения между процессами. Для того чтобы конкретизировать обсуждение, мы будем рассматривать службу мультиплексирования и демультиплексирования на транспортном уровне в контексте Интернета. Тем не менее эта служба необходима во всех компьютерных сетях. Сетевой уровень принимающей оконечной системы передает полученные сегменты транспортному уровню,

Подробнее

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

Как уже неоднократно отмечалось, в Интернете (а точнее, в любой компьютерной сети, поддерживающей протокол TCP/IP) существуют два протокола транспортного уровня. Протокол UDP (User Datagram Protocol — протокол пользовательских дейтаграмм) предоставляет приложениям службу ненадежной передачи данных без установления логического соединения. Протокол TCP (Transmission Control Protocol — протокол управления передачей), напротив, предоставляет службу надежной передачи данных с установлением логического соединения. Создавая новое

Подробнее

Все статьи из рубрики "Транспортный уровень" размещены на сайте Компьютерные сети и многоуровневая архитектура интернета (conlex.kz) в ознакомительных целях.
Уточнения, корректировки и обсуждения статей доступны под текстом статей, в комментариях.
Ответственность, за все изменения, внесённые в систему по советам данных статей, Вы берёте на себя.
Копирование данных статей, без указания ссылки на сайт первоисточника Компьютерные сети и многоуровневая архитектура интернета (conlex.kz), строго запрещено.