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

В этом разделе мы рассмотрим общие принципы надежной передачи данных. Проблема надежной передачи данных является одной из центральных для компьютерных сетей и проявляется не только на транспортном, но также на сетевом и прикладном уровнях. Большинство принципов, изложенных ниже, реализованы в протоколе 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 — протокол управления передачей), напротив, предоставляет службу надежной передачи данных с установлением логического соединения. Создавая новое

Подробнее

Взаимодействие между транспортным и сетевым уровнями

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

Подробнее

Службы транспортного уровня

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

Подробнее

Транспортный уровень играет ключевую роль в архитектуре Интернета

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

Подробнее