Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзаменационные вопросы по курсу.docx
Скачиваний:
14
Добавлен:
14.04.2019
Размер:
2.84 Mб
Скачать
  1. Инкапсуляция в кс.

Инкапсуляция в компьютерных сетях — это метод построения модульных cетевых протоколов, при котором логически независимые функции сети абстрагируются от нижележащих механизмов путём включения или инкапсулирования в более высокоуровневые объекты.

Пример: когда процесс хочет послать сообщение с помощью UDP, он передает сообщение к UDP в соответствии с парой гнездовых адресов и длины данных. UDP получает данные, дополненные заголовком UDP. Затем UDP передает пользовательскую дейтаграмму к IP с гнездовым адресом. IP дополняет свой заголовок, который использует значение 17 в поле протокола, указывающее, что данные поступили от UDP-протокола. IP-дейтаграмма дополняет и добавляет собственный заголовок (при необходимости и окончание) и передает ее к физическому уровню. Этот физический уровень кодирует биты в электрические или оптические сигналы и посылает их отдалённой машине.

В другой интерпретации это выглядит следующим образом:

  1. Функции сетевого уровня сети.

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

Если в подсети одновременно находится слишком большое количество пакетов, то они могут закрыть дорогу друг другу, образуя заторы в узких местах. Недопущение подобной “закупорки” – также задача сетевого уровня.

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

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

  1. Функции транспортного уровня сети.

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

Кроме того, все это должно быть сделано эффективно и таким образом, чтобы изолировать более высокие уровни от каких-либо изменений в аппаратной технологии.

Транспортный уровень также определяет тип сервиса, предоставляемого сеансовому уровню, и, в конечном счете, пользователям сети. Наиболее популярный вид транспортного соединения – защищенный от ошибок канал между двумя узлами, поставляющий сообщения или байты в том порядке, в котором они были отправлены. Однако транспортный уровень может предоставлять и другие типы сервисов, например пересылку отдельных сообщений без гарантии соблюдения порядка их доставки или одновременную отправку сообщения различным адресатам по принципу широковещания. Тип сервиса определяется при установке соединения (Строго говоря, полностью защищенный от ошибок канал создать невозможно, говорят лишь о таком канале, уровень ошибок в котором достаточно мал, чтобы им можно было пренебречь на практике).

На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень (Transport layer) обеспечивает приложениям или верхним уровням стека – прикладному и сеансовому – передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное – способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней, а с другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного – сетевым, канальным и физическим. Так, например, если качество каналов передачи связи очень высокое и вероятность возникновения ошибок, необнаруженных протоколами более низких уровней, невелика, то разумно воспользоваться одним из облегченных сервисов транспортного уровня, не обремененных многочисленными проверками, квитированием и другими приемами повышения надежности. Если же транспортные средства нижних уровней изначально очень ненадежны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя максимум средств для обнаружения и устранения ошибок, – с помощью предварительного установления логического соединения, контроля доставки сообщений по контрольным суммам и циклической нумерации пакетов, установления тайм-аутов доставки и т. п. Блок данных транспортного уровня принято называть дейтаграммами (datagram).

Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети – компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.