
- •3 . Классификация сетей. Локальные сети, глобальные сети.
- •4.Ключевые аспекты организации уровня передачи данных. Обнаружение и исправление ошибок.
- •5. Ключевые аспекты организации уровня передачи данных. Обработка ошибок.
- •6. Ключевые аспекты организации уровня передачи данных.Сервисы, предоставляемые сетевому уровню
- •7. Ключевые аспекты организации уровня передачи данных. Формирование кадра.
- •8. Подуровень управления доступом к среде. Коммутация на уровне передачи данных. Повторители, концентраторы, мосты, коммутаторы, маршрутизаторы и шлюзы.
- •9. Подуровень управления доступом к среде. Коммутация на уровне передачи данных.Мосты между .X и .У
- •10. Подуровень управления доступом к среде. Проблема распределения канала. Динамическое распределение каналов
- •11. Подуровень управления доступом к среде. Проблема распределения канала. Протоколы без столкновений
- •12. Подуровень управления доступом к среде. Проблема распределения канала. Протоколы множественного доступа с контролем несущей.
- •13. Подуровень управления доступом к среде. Проблема распределения канала. Протоколы с ограниченной конкуренцией
- •14. Подуровень управления доступом к среде. Проблема распределения канала. Статическое распределение канала
- •15. Подуровень управления доступом к среде. Сети Ethernet.
- •16. Подуровень управления доступом к среде. Сеть Ethernet. Манчестерский код.
- •17. Подуровень управления доступом к среде. Сеть Ethernet. Протокол подуровня управления доступом к среде в Ethernet
- •18. Подуровень управления доступом к среде. Сеть Ethernet. Кабели Ethernet.
- •19. Подуровень управления доступом к среде. Система aloha
- •20. Прикладной уровень. Архитектура www
- •21. Прикладной уровень. Служба имен доменов dns.
- •22. Прикладной уровень. Служба доменов dns. Записи ресурсов
- •23. Прикладной уровень. Служба доменов dns. Пространство имен dns
- •24. Прикладной уровень. Служба доменов dns. Серверы имен
- •25. Прикладной уровень. Электронная почта. Архитектура и службы
- •26. Прикладной уровень. Электронная почта. Доставка сообщений
- •27. Прикладной уровень. Электронная почта. Пересылка писем
- •28. Проектирование сетевого уровня. Реализация сервиса без установления соединения.
- •29. Проектирование сетевого уровня. Сервисы, предоставляемые транспортному уровню.
- •30. Проектирование сетевого уровня. Сравнение подсетей виртуальных каналов и дейтаграмных подсетей.
- •31. Сетевой уровень в Интернете. Ip-адреса
- •Ip адрес
- •32. Сетевой уровень в Интернете. Управляющие протоколы Интернета.
- •33. Сетевой уровень в Интернете. Протокол ip.
- •34. Сетевой уровень. Алгоритмы маршрутизации. Выбор кратчайшего пути. Заливка.
- •35. Сетевой уровень. Управляющие алгоритмы маршрутизации. Выбор кратчайшего пути. Маршрутизация по вектору расстояний.
- •36. Сетевой уровень. Управляющие алгоритмы маршрутизации. Выбор кратчайшего пути. Маршрутизация с учётом состояния линий.
- •37. Службы и протоколы.
- •38. Службы на основе соединений и службы без установления соединений
- •39. Службы на основе соединений и службы без установления соединений
- •40. Транспортная служба. Примитивы транспортной службы.
- •41. Транспортная служба. Сокеты Беркли.
- •42. Транспортная служба. Услуги, предоставляемые верхним (транспортным) уровнем.
- •43. Транспортные протоколы Интернета: tcp
- •44. Транспортные протоколы Интернета: tcp Протокол tcp.
- •45. Транспортные протоколы Интернета: tcp. Модель службы tcp
- •46. Транспортные протоколы Интернета: tcp. Основы tcp
- •47. ТпИ: udp Вызов удаленной процедуры
- •48. ТпИ: udp Основы
39. Службы на основе соединений и службы без установления соединений
Оконечные системы используют службы Интернета для того, чтобы обмениваться данными, или, говоря точнее, сообщениями. Каналы и линии связи, маршрути заторы и другие элементы, составляющие структуру Интернета, определяют технологию передачи сообщений между оконечными системами. Далее мы рассмотрим виды таких технологий и их особенности.
Протокол ТСР/IР предоставляет два вида служб оконечным системам: службу с установлением логического соединения и службу без установления логического соединения. При создании любого Интернет-приложения (программы обработки электронной почты, передачи файлов, web-браузера или приложения Интернет-телефонии) разработчику необходимо выбрать одну из двух указанных служб.
Служба с установлением логического соединения
Отличительной особенностью службы с установлением логического соединения является то, что клиент и сервер перед передачей данных (например, сообщений электронной почты) сначала обмениваются специальными управляющими пакетами. Эта процедура, иногда называемая рукопожатием, позволяет сторонам подготовиться к процессу основного обмена. Говорят, что по окончании процедуры рукопожатия соединение между оконечными системами является установленным.
Интересно отметить, что процедура рукопожатия между хостами очень напоминает протокол взаимодействия (общения) между людьми, в этом случае обмен приветствиями представляет собой аналог человеческой процедуры рукопожатия (хотя реального рукопожатия между двумя людьми может не быть). В случае web-взаимодействия, процедуру рукопожатия реализуют первые два сообщения, а следующая пара сообщений — сообщение GЕТ и ответное сообщение с файлом — содержат реальные данные и пересылаются только после успешного установления соединения.
Не удивительно, если у вас сразу же возникнет вопрос о том, что означает термин «логическое соединение» и чем логическое соединение отличается от «обычного» соединения. Термин «логическое» отражает два аспекта. Во-первых, об установленном соединении известно только оконечным системам; коммутаторы (то есть маршрутизаторы) функционируют, «не зная», какие оконечные системы они обслуживают. Во-вторых, соединение представляет собой не что иное, как совокупность буферов обмена, выделенных в памяти оконечных систем, а также переменных состояния. Ни буферы, ни переменные также не содержат никакой информации о том, каким образом будет осуществляться передача пакетов.
С логическим соединением связаны несколько важных задач: надежной передачи данных, контроля потока данных и контроля перегрузки. Под надежной передачей данных понимается передача, в ходе которой не допускаются потери или искажения данных. Надежная передача в Интернете обеспечивается при помощи механизмов подтверждений и повторных посылок. Для того чтобы представить процесс надежной передачи данных, рассмотрим следующую ситуацию. Пусть установлено соединение между оконечными системами А и В. Каждый раз при завершении приема очередного пакета данных от системы А система В посылает подтверждение о том, что пакет был успешно принят. В случае, если система А не получает подтверждения, она инициирует повторную посылку пакета. Контроль потока данных требуется для того, чтобы ни одна сторона не превысила установленную частоту (или скорость) передачи пакетов. Это необходимо потому, что оконечные системы могут иметь разные скорости передач и, следовательно, отсутствие контроля может привести к ошибкам. В случае вероятности таких ошибок протокол вынуждает одну из сторон снизить скорость передачи пакетов. Kонтроль потока данных в Интернете осуществляется путем использования буферов на принимающей и передающей сторонах. Контроль перегрузки служит для предотвращения ситуаций взаимной блокировки передающих сторон. Когда маршрутизатор перегружен, возникает угроза переполнения его буферов и потери передаваемых пакетов. В Интернете эта проблема решается путем принудительного снижения частоты передачи пакетов в периоды перегрузки. Оконечные системы «узнают» о перегрузке по отсутствию подтверждений при передаче пакетов.
Логическое соединение не обязательно подразумевает надежную передачу данных, контроль потока данных и контроль перегрузки. Вполне допустимо существование компьютерных сетей, в которых наличие логического соединения не означает необходимость решать сразу все три задачи. В самом деле, службу с установлением логического соединения использует любая сеть, в которой перед передачей данных осуществляется процедура рукопожатия .
В Интернете протокол, использующий службу с установлением логического соединения, имеет название ТСР (Transmission Control Protocol — протокол управления передачей). Первая версия ТСР была определена в документе RFС 793. Как следует из сказанного ранее, протокол ТСР решает три задачи: надежной передачи данных, контроля потока данных и контроля перегрузки. Обратим внимание на то, что приложения никак не связаны с механизмами функционирования ТСР; другими словами, они «не знают», каким образом протокол решает поставленные перед ним задачи.
Служба без установления логического соединения
Как вы, вероятно, уже догадались, служба без установления логического соединения не использует процедуру рукопожатия: вместо нее происходит простая передача пакетов. Это, с одной стороны, позволяет значительно сэкономить время при пересылке данных. С другой стороны, выигрыш во времени происходит за счет снижения надежности передачи: передающая сторона не имеет информации о том, была ли передача пакета успешной. Более того, контроль потока данных и перегрузки в службе без установления логического соединения также не производится, что обусловливает возможность потерь данных при передаче. Протокол Интернета, использующий описанную службу, называется UDP (User Datagram Protoocl — протокол пользовательских дейтаграмм) и определен в документе RFС 768.
Большая часть популярных Интернет-приложений работает по протоколу ТСР, то есть задействует службу с установлением логического соединения. К этим приложениям относятся Теlnet (для удаленного доступа в сеть), SМТР (для работы с электронной почтой), FТР (для передачи файлов) и НТТР (для навигации в Web). Тем не менее, протокол UDP также является весьма востребованным, в особенности в развивающейся сфере мультимедиа-приложений; например, с его помощью нередко организуются аудио- и видеоконференции.