
- •Оконечные системы и ядро сетей. Коммутация каналов и пакетов. Дейтаграммные сети и сети с виртуальными каналами
- •1. Периферия компьютерных сетей
- •1.1. Оконечные системы, клиенты и серверы
- •1.4. Служба без установления логического соединения
- •2. Ядро компьютерных сетей
- •2.1. Коммутация каналов и коммутация пакетов
- •2.2. Коммутация каналов
- •2.3. Мультиплексирование в сетях с коммутацией каналов
- •2.4. Коммутация пакетов
- •2.5. Сравнение коммутации пакетов и коммутации каналов
- •Коммутация каналов:
- •2.6. Сегментирование сообщений
- •2.7. Передача сообщений
- •2.8. Сети с виртуальными каналами
- •2.9. Дейтаграммные сети
- •3. Классификация сетей
Оконечные системы и ядро сетей. Коммутация каналов и пакетов. Дейтаграммные сети и сети с виртуальными каналами
(Слайд 1)
1. Периферия компьютерных сетей
1.1. Оконечные системы, клиенты и серверы
1.2. Службы с установлением и без установления соединения
1.3. Служба с установлением логического соединения
1.4. Служба без установления логического соединения
2. Ядро компьютерных сетей
2.1. Коммутация каналов и коммутация пакетов
2.2. Коммутация каналов
2.3. Мультиплексирование в сетях с коммутацией каналов
2.4. Коммутация пакетов
2.5. Сравнение коммутации пакетов и коммутации каналов
2.6. Сегментирование сообщений
2.7. Передача сообщений
2.8. Сети с виртуальными каналами
2.9. Дейтаграммные сети
3. Классификация сетей
1. Периферия компьютерных сетей
В предыдущих лекциях была рассмотрена общая организация Интернета и сетевых протоколов. Можно также рассмотреть компьютерную сеть (и, в частности, Интернет) как совокупность взаимодействующих компонентов, в которой периферия сети — обычные ПК. В данной лекции рассматривается организация периферии сети и ядра сети, т.е., каким образом в сетях осуществляется взаимодействие и передача сообщений. Позднее будет рассматриваться физический уровень сети.
1.1. Оконечные системы, клиенты и серверы
Оконечные системы - в терминах Интернет-технологий это компьютеры, подключенные к глобальной Сети. (Слайд 2). Оконечные системы могут представлять собой:
вычислительные устройства, с которыми пользователи работают напрямую
настольные компьютеры (персональные компьютеры, компьютеры семейства Macintosh, рабочие станции на платформе UNIX),
мобильные компьютеры (переносные компьютеры, планшеты и КПК с беспроводным подключением к Интернету).
вычислительные устройства, с которыми пользователи напрямую не работают:
web-серверы,
серверы электронной почты.
Оконечные системы зачастую называют более простым термином хост.
Хосты делят на две подгруппы: клиенты и серверы. Неформально клиенты, как правило, являются относительно маломощными вычислительными машинами — персональными компьютерами, в то время как серверы чаще всего представляют собой значительно более мощные компьютеры.
Клиентом принято называть программу, выполняющуюся на оконечной системе, основной функцией которой является формирование запросов и получение результатов обслуживания от программы-сервера, расположенной на другой оконечной системе. Модель клиент-сервер - модель взаимодействия оконечных систем, является доминирующей в Интернете. Сетевые приложения, такие как web-браузеры, программы обработки электронных сообщений, групп новостей и передачи файлов, удаленного доступа к Сети (например, Telnet) и т. п., используют модель клиент-сервер. Поскольку программа-клиент и программа-сервер выполняются на различных вычислительных устройствах, то, по определению, приложения модели клиент-сервер являются распределенными. Клиент и сервер взаимодействуют, передавая друг другу сообщения через Интернет. На данном уровне рассмотрения маршрутизаторы, каналы связи и прочие компоненты, из которых состоит Интернет, являются устройствами, обеспечивающими передачу сообщений между клиентом и сервером. (Слайд 2)
1.2. Службы с установлением и без установления соединения
Оконечные системы используют службы Интернета для того, чтобы обмениваться данными, или, говоря точнее, сообщениями. Каналы и линии связи, маршрутизаторы и другие элементы, составляющие структуру Интернета, определяют технологию передачи сообщений между оконечными системами.
Протокол TCP/IP предоставляет два вида служб оконечным системам:
служба с установлением логического соединения
служба без установления логического соединения.
При создании любого Интернет-приложения (программы обработки электронной почты, передачи файлов, web-браузера или приложения Интернет-телефонии) разработчику необходимо выбрать одну из двух указанных служб.
1.3. Служба с установлением логического соединения
Отличительной особенностью службы с установлением логического соединения является то, что клиент и сервер перед передачей данных (например, сообщений электронной почты) сначала обмениваются специальными управляющими пакетами – выполняют т.н. процедуру рукопожатия, что позволяет сторонам подготовиться к процессу основного обмена. По окончании процедуры рукопожатия соединение между оконечными системами является установленным.
Процедура рукопожатия между хостами очень напоминает протокол взаимодействия (общения) между людьми, в этом случае обмен приветствиями (Слайд 3) представляет собой аналог человеческой процедуры рукопожатия (хотя реального рукопожатия между двумя людьми может не быть). В случае web-взаимодействия (Слайд 3), процедуру рукопожатия реализуют первые два сообщения, а следующая пара сообщений — сообщение GET и ответное сообщение с файлом — содержат реальные данные и пересылаются только после успешного установления соединения.
Термин «логическое соединение» отражает два аспекта:
об установленном соединении известно только оконечным системам; маршрутизаторы выполняют коммутацию, не зная, какие оконечные системы они обслуживают.
соединение представляет собой совокупность буферов обмена, выделенных в памяти оконечных систем, а также переменных состояния.
Ни буферы, ни переменные также не содержат никакой информации о том, каким образом будет осуществляться передача пакетов. Логическое соединение должно обеспечивать:
Надежная передача данных - передача, в ходе которой не допускаются потери или искажения данных - обеспечивается в Интернете при помощи механизмов подтверждений и повторных посылок. При установлении соединения между двумя оконечными системами, каждый раз при завершении приема очередного пакета данных от системы-отправителя система-получатель посылает подтверждение о том, что пакет был успешно принят. В случае, если система-отправитель не получает подтверждения, она инициирует повторную посылку пакета.
Контроль потока данных требуется для того, чтобы ни одна сторона не превысила установленную частоту (или скорость) передачи пакетов. Оконечные системы могут иметь разные скорости передач и, следовательно, отсутствие контроля может привести к ошибкам. В случае вероятности таких ошибок протокол вынуждает одну из сторон снизить скорость передачи пакетов. Контроль потока данных в Интернете осуществляется путем использования буферов на принимающей и передающей сторонах.
Контроль перегрузки служит для предотвращения ситуаций взаимной блокировки передающих сторон. Когда маршрутизатор перегружен, возникает угроза переполнения его буферов и потери передаваемых пакетов. В Интернете эта проблема решается путем принудительного снижения частоты передачи пакетов в периоды перегрузки. Оконечные системы узнают о перегрузке по отсутствию подтверждений при передаче пакетов.
Логическое соединение не обязательно подразумевает надежную передачу данных, контроль потока данных и контроль перегрузки. Существуют компьютерные сети, в которых наличие логического соединения не означает необходимость решать сразу все три задачи. Службу с установлением логического соединения использует любая сеть, в которой перед передачей данных осуществляется т.н. процедура рукопожатия.
В Интернете протокол, использующий службу с установлением логического соединения, имеет название TCP (Transmission Control Protocol — протокол управления передачей - см. предыдущие лекции).
Как следует из сказанного ранее, протокол TCP решает три задачи: надежной передачи данных, контроля потока данных и контроля перегрузки. Приложения никак не связаны с механизмами функционирования TCP; другими словами, они не знают, каким образом протокол решает поставленные перед ним задачи.