Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем

Протоколы сетевого уровня реализуются программным модулем ОС, а также программными и аппаратными средствами маршрутизаторов.

14. Эталонная модель OSI. Функции уровней модели OSI. Транспортный и сеансовый уровни.

На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением.

Транспортный уровень (Transport layer) обеспечивает приложениям или верхним уровням стека — прикладному и сеансовому — передачу данных с той степенью надежности, которая им требуется.

Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем.

Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких уровней (чем транспортный), а с другой стороны, зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного — сетевым, канальным и физическим.

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

Транспортный уровень — обеспечение доставки информации с требуемым качеством между любыми узлами сети:

· разбивка сообщения сеансового уровня на пакеты, их нумерация;

· буферизация принимаемых пакетов;

· упорядочивание прибывающих пакетов;

· адресация прикладных процессов;

· управление потоком.

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

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

Остальные три верхних уровня решают задачи предоставления прикладных сервисов на основании имеющейся транспортной подсистемы.

Сеансовый уровень (Session layer) обеспечивает управление диалогом: фиксирует, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все сначала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов, хотя функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе.

Сеансовый уровень — управление диалогом объектов прикладного уровня:

· установление способа обмена сообщениями (дуплексный или полудуплексный);

· синхронизация обмена сообщениями;

· организация "контрольных точек" диалога.

15. Эталонная модель OSI. Функции уровней модели OSI. Представительный уровень и прикладной уровень.

Представительный уровень (Presentation layer) имеет дело с формой представления передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например в кодах ASCII и EBCDIC. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных служб. Примером такого протокола является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

Уровень представления — согласовывает представление (синтаксис) данных при взаимодействии двух прикладных процессов:

· преобразование данных из внешнего формата во внутренний;

· шифрование и расшифровка данных.

Прикладной уровень (Application layer) — это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют совместную работу, например с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message).

Прикладной уровеньнабор всех сетевых сервисов, которые предоставляет система конечному пользователю:

· идентификация, проверка прав доступа;

· принт- и файл-сервис, почта, удаленный доступ...

Существует очень много различных служб прикладного уровня. Приведем в качестве примера хотя бы несколько наиболее распространенных реализаций файловых служб:

SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP.

16. Сетезависимые и сетенезависимые уровни.

Функции всех уровней модели OSI могут быть отнесены к одной из двух групп:

· либо к функциям, зависящим от конкретной технической реализации сети,

· либо к функциям, ориентированным на работу с приложениями.

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

Три верхних уровня — прикладной, представительный и сеансовый — ориентированы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не влияют какие бы то ни было изменения в топологии сети, замена оборудования или переход на другую сетевую технологию. Так, переход от Ethernet к высокоскоростной технологии 100VG-AnyLAN не потребует никаких изменений в программных средствах, реализующих функции
прикладного, представительного и сеансового уровней

Транспортный уровень является промежуточным, он скрывает все детали функционирования нижних уровней от верхних. Это позволяет разрабатывать приложения, не зависящие от технических средств непосредственной транспортировки сообщений.

17. Соответствие функций различных коммуникационных устройств уровням модели OSI.

Компьютер с установленной на нем сетевой ОС взаимодействует с другим компьютером с помощью протоколов всех семи уровней.

Это взаимодействие компьютеры осуществляют опосредованно, через различные коммуникационные устройства:

· концентраторы,

· мосты,

· коммутаторы,

· маршрутизаторы.

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

18. Модели сетевой архитектуры, являющиеся промышленными стандартами. Проект 802. Общая характеристика протоколов локальных сетей.

В конце 70-х годов локальные вычислительные сети стали восприниматься в качестве потенциального инструмента ведения бизнеса и Институт инженеров по электронике и электротехнике (IEEE) пришёл к выводу, что необходимо определить стандарты для локальных вычислительных сетей.

В результате был запущен Project 802 (проект 802). Для реализации проекта был создан комитет, который принял ряд стандартов, имеющих обозначение IEEE 802.x.

Хотя публикация стандартов IEEE 802.x и опередила публикацию стандартов ISO/OSI, оба проекта велись приблизительно в одно и то же время и при полном обмене информацией, что и привело к рождению двух совместимых моделей:

· ISO/OSI и

· IEEE 802.x. – группы стандартов, выпущенных в результате реализации проекта 802

19. Структура стандартов IEEE 802.x.

Стандарты семейства IEEE 802.x охватывают только два нижних уровня семиуровневой модели OSI – физический и канальный. Это связано с тем, что именно эти уровни в наибольшей степени отражают специфику локальных сетей. Уровни, расположенные выше, в значительной степени, имеют общие черты, характерные как для локальных, так и глобальных сетей.

Специфика локальных сетей в стандартах IEEE 802.x нашла своё отражение в разделении канального уровня на два подуровня, которые часто называют также уровнями.

Первый подуровень – логический (передача данных) – LLC (Logical Link Control)

и второй подуровень – управления доступом к среде – MAC (Medium Access Control).

20. Семейство стандартов IEEE 802.x.

Получили известность следующие подкомитеты (рабочие группы):

802.1 – объединение сетей, основная задача - internetworking;

802.2 – управления логической передачи данных (LLC);

802.3 – Ethernet с методом доступа CSMA/CD;

802.4 – локальные сети с методом доступа Token Bus (маркёрный доступ к шине, аналог ArcNet);

802.5 – локальные сети с методом доступа Token Ring (маркёрный доступ к кольцу);

802.6 – сети мегаполисов (MAN);

802.7 – техническая консультационная группа по широкополосной передаче;

802.8 – техническая консультационная группа по волоконно-оптическим сетям;

802.9 – интегрированные сети передачи голоса и данных;

802.10 – сетевая безопасность;

802.11 – беспроводные сети;

802.12 – локальные сети с методом доступа по требованию с приоритетами.

21. Проект 802. MAC –подуровень.

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

В локальных сетях получили распространение несколько протоколов подуровня MAC, реализующих различные алгоритмы доступа к разделяемой среде. Эти протоколы полностью определяют специфику таких технологий, как Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI и т.д.

22. Проект 802. LLC – подуровень.

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

Протоколы LLC и MAC взаимно независимы, т.е. каждый протокол уровня MAC может использоваться с любым протоколом уровня LLC и наоборот.

23. Технологии локальных сетей и их представление в Проекте 802.

Wi-Fi (Wireless Fidelity — «беспроводная точность») — стандарт на оборудование Wireless LAN (Wireless Loсal Area Network; WLAN) — беспроводная локальная сеть. Разработан консорциумом Wi-Fi Alliance на базе стандартов IEEE 802.11, «Wi-Fi» — торговая марка «Wi-Fi Alliance». Технологию назвали Wireless-Fidelity (дословно «беспроводная точность»).

Установка Wireless LAN рекомендуется там, где развёртывание кабельной системы невозможно или экономически нецелесообразно. Пользователи могут перемещаться между точками доступа по территории покрытия сети Wi-Fi. При этом, при смене точек доступа происходит кратковременный разрыв связи.

Мобильные устройства (КПК, смартфоны и ноутбуки), оснащённые клиентскими Wi-Fi приёмо-передающими устройствами, могут подключаться к локальной сети и получать доступ в Интернет через точки доступа или хотспоты

Wi-Fi имеют ограниченный радиус действия. Типичный домашний Wi-Fi маршрутизатор стандарта 802.11b или 802.11g имеет радиус действия 45 м в помещении и 90 м снаружи. Микроволновка или зеркало, расположенные между устройствами Wi-Fi, ослабляют уровень сигнала. Расстояние зависит также от частоты. Wi-Fi в диапазоне 2.4 ГГц работает дальше, чем Wi-Fi в диапазоне 5 ГГц.

Wi-Fi — это набор глобальных стандартов. В отличие от сотовых телефонов, Wi-Fi оборудование может работать в разных странах по всему миру.

24. Нумерация стандартов IEEE

Нумерация стандартов IEEE из серии 802 производится в соответствии со своей схемой. Если за цифрой следует прописная буква, то это отдельный стандарт, если же за цифрой следует строчная буква, то это дополнение к стандарту или часть стандарта, обозначаемого несколькими цифрами и буквами.

Примеры:

1. IEEE 802.1F – Стандарт определения управляющей информации для серии 802; одобрен в 1993году.

2. IEEE 802.3ae – 10GBaseX (Ethernet со скоростью 10 Гбит/с для оптического волокна).

3. IEEE 802.3an – 10GBaseT (Ethernet со скоростью 10 Гбит/с по кабелям Категории 6 и 7).

25. Топология соединения узлов локальной сети. Физическая и логическая топологии.

Различают два вида топологий – физическую и логическую.

Физическая топология определяет правила физических соединений узлов. Примеры физических топологий: шина (bus), кольцо (ring), звезда (star), дерево (tree) и т.д. (см. следующий слайд- рисунок 3)

Логическая топология определяет направления потоков данных между узлами сети. Примеры такой топологии: логическая шина (logical bus), логическое кольцо (logical ring) и т.д.

26. Методы доступа к среде передачи данных.

27. Соответствие функций коммуникационного оборудования уровням модели OSI

28. Стандартные стеки коммуникационных протоколов. Краткая характеристика

 
 


29. Стандартные стеки коммуникационных протоколов. Стек OSI. Краткая характеристика.

Следует чётко разделять модель OSI и стек OSI. В то время, как модель OSI является концептуальной схемой взаимодействия открытых систем, стек OSI представляет собой набор вполне конкретных спецификаций протоколов.

В отличие от других стеков протоколов, стек OSI полностью соответствует модели OSI, т.е. он включает спецификацию протоколов для всех семи уровней модели взаимодействия открытых систем. На нижних уровнях стек OSI поддерживает Ethernet, Token Ring, т.е. использует разработанные вне стека протоколы нижних (1 и 2) уровней, как и все другие стеки.

Протоколы сетевого, транспортного и сеансового уровней стека OSI реализованы различными производителями, но не получили широкого распространения. Наиболее популярными протоколами стека OSI являются прикладные протоколы, в частности, протокол справочной службы X.500, протокол электронной почты X.400 и другие.

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

Стек OSI – международный, независимый от производителей стандарт. Этот стек поддерживает правительство США (существовала программа GOSIP, в соответствии с которой, все компьютеры, установленные в правительственных учреждениях США после 1990 г., должны или непосредственно поддерживать стек OSI, или обеспечивать средства для перехода на этот стек в будущем).

Тем не менее, стек OSI был более популярен в Европе, чем в США.

30. Стандартные стеки коммуникационных протоколов. Стек TCP/IP. Краткая характеристика.

31. Стандартные стеки коммуникационных протоколов. Стек IPX/SPX. Краткая характеристика.

Стек IPX/SPX является оригинальным стеком протоколов фирмы Novell, разработанный для сетевой операционной системы NetWare в начале 80 – х годов.

Популярность стека IPX/SPX непосредственно связана с этой ОС, которая до середины 90-х годов сохраняла мировое лидерство по числу установок.

Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare (до версии 4.0) на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Естественно, что для работы таких ПК нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти, и которые бы быстро работали на процессорах небольшой вычислительной мощности.

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

Это обстоятельство и тот факт, что стек IPX/SPX является собственностью фирмы Novell, и на его реализацию нужно получить лицензию у разработчика, долгое время ограничивали распространение этого стека только сетями Novell.

Последующие изменения в стеке не позволили ему сохранить лидирующие позиции.

32. Стандартные стеки коммуникационных протоколов. Стек NETBIOS/SMB. Краткая характеристика.

Этот стек широко используется в продуктах компаний IBM и Microsoft. На верхних уровнях работает протокол NetBIOS или его усовершенствованная версия NetBEUI.

Протокол NetBIOS появился в 1984 г. как сетевое расширение стандартных функций BIOS в персональных компьютерах IBM PC для сетевой программы PC Network фирмы IBM. В дальнейшем протокол NetBIOS был заменён т.н. протоколом расширенного пользовательского интерфейса NetBEUI. (NetBIOS Extended User Interface).

Для обеспечения совместимости приложений в качестве интерфейса протоколу NetBEUI был сохранён интерфейс NetBIOS. Протокол NetBEUI разрабатывался как протокол, потребляющий немного ресурсов для использования в сетях, насчитывающих не более 200 рабочих станций.

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

Некоторые ограничения этого протокола снимаются реализацией нового протокола NBF (NetBEUI Frame). Этот протокол фирмы Microsoft начал включаться в операционные системы Windows, начиная с NT.

Протокол SMB (Server Message Block) выполняет функции представительного и прикладного уровней; реализует файловый сервис, сервис печати и сервис передачи сообщений между приложениями

33. Методы доступа к среде передачи. Вероятностные методы.

Вероятностные методы основаны на прослушивании сигнала в среде передачи данных. Используются два вероятностных метода: CSMA/CA (множественный доступ с контролем несущей и исключением коллизий) и CSMA/CD (множественный доступ с контролем несущей и обнаружением коллизий).

При вероятностном методе доступа узел, желающий послать кадр в сеть, прослушивает линию. Если линия занята (т.е. присутствует несущая), то попытка передачи откладывается на некоторое время.

Основными вероятностными методами доступа к среде передачи являются:

  1. Множественный доступ с контролем (прослушиванием) несущей и исключением коллизий (CSMA/CA).

В данном методе узел, готовый послать кадр, прослушивает сеть (линию). При отсутствии несущей (линия свободна) узел посылает короткий сигнал запроса на передачу (RTS) и определённое время ожидает ответа (CTS) от адресата назначения. При отсутствии ответа (подразумевается возможность возникновения коллизии) попытка передачи откладывается. При получении ответа в линию посылается кадр.

Данный метод не позволяет полностью избежать коллизий (столкновений), но при этом возникающие коллизии обрабатываются на вышестоящих уровнях протокола. Данный метод доступа к среде применяется в сети Apple Local Talk. Он характерен простотой и низкой стоимостью цепей доступа.

  1. Множественный доступ с контролем (прослушиванием) несущей и обнаружением коллизий (CSMA/CD).

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

При обнаружении коллизии передача прекращается и повторная попытка откладывается на случайное время.

Таким образом, коллизия для данного метода доступа – нормальное, хотя и не очень частое явление. Частота коллизий связана с количеством и активностью подключенных узлов.

34. Методы доступа к среде передачи. Детерминированные методы.

Детерминированные методы доступа основаны на определённой дисциплине передачи прав доступа. Конкретными реализациями являются: доступ с передачей маркёра и опрос готовности (поллинг).

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

Основные типы доступа: доступ с передачей маркёра, применяемый в сетях ArcNet, Token Ring, FDDI, либо опрос готовности (поллинг), применяемый в больших машинах (мэйнфреймах).

Основное преимущество детерминированных методов – определённое время прохождения кадров, не зависящее от нагрузки.

35. Сетевые адаптеры

Сетевые адаптеры предназначены для сопряжения сетевых устройств со средой передачи. Сетевым устройством может быть компьютер пользователя, повторитель, концентратор, switch (bridge).

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

функции сопряжения с сетевым устройством и

функции обмена с сетью.

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

Если в качестве сетевого устройства выступает компьютер, то связь с сетевой средой можно реализовать двумя способами: через системную шину или через внешние интерфейсы (последовательные и параллельные порты).

Наиболее распространённым является способ сопряжения через шину (чаще всего используется шина PCI, хотя кое-где ещё встречается устаревшая шина ISA). При этом адаптер буферизует данные, поступающие с системной шины, и вырабатывает внутренние управляющие сигналы.

Сетевые функции могут перераспределяться между адаптером и компьютером. Чем больше функций выполняет компьютер, тем проще функциональная схема адаптера, но и тем большей является загрузка CPU.

На сегодняшний день наибольшее распространение получили сетевые адаптеры Ethernet.

36. Стек протоколов TCP/IP. Логическая структура сетевого программного обеспечения (один сетевой адаптер).

Логическая структура сетевого программного обеспечения, реализующего протоколы семейства TCP/IP в каждом узле (компьютере) сети internet, может быть проиллюстрирована рисунком на предыдущем слайде.

На слайде прямоугольники означают обработку данных; линии, соединяющие прямоугольники – пути передачи данных; горизонтальная линия со стрелками внизу рисунка – кабель сети Ethernet, которая используется в качестве примера физической среды передачи данных.

Понимание этой логической структуры является основой для понимания всей технологии internet.

37. Технология межсетевого взаимодействия.

Стек протоколов TCP/IP включает целое семейство протоколов, а не только TCP и IP. В состав семейства входят такие протоколы, как UDP, ARP, Telnet, FTP и множество других. Кроме того, TCP/IP – технология межсетевого взаимодействия (технология internet).

Сеть, использующая технологию internet, называется сетью internet. Если речь идёт о глобальной сети, объединяющей множество сетей с технологией internet, то такая сеть называется сетью INTERNET.

38. Стек протоколов TCP/IP. Инкапсуляция. Документы RFS.

39. Стек протоколов TCP/IP. Потоки данных. Мультиплексирование и демультиплексирование.

Рассмотрим потоки данных, проходящие через стек протоколов, изображенный на слайде.

В случае использования протокола TCP (Transmission Control Protocol - протокол управления передачей), данные передаются между прикладным процессом и модулем TCP. Типичным прикладным процессом, использующим протокол TCP, является модуль FTP (File Transfer Protocol протокол передачи файлов).

Стек протоколов в этом случае будет FTP/TCP/IP/ENET.

При использовании протокола UDP (User Datagram Protocol - протокол пользовательских дейтаграмм), данные передаются между прикладным процессом и модулем UDP.

Например, SNMP (Simple Network Management Protocol - простой протокол управления сетью) пользуется транспортными услугами UDP.

Его стек протоколов выглядит так: SNMP/UDP/IP/ENET.


Модули TCP, UDP и ENET являются мультиплексорами n*1.

Действуя как мультиплексоры, они переключают n входов на один выход.

Эти же модули являются демультиплексорами 1*n, т.е. переключают один вход на n выходов.

n Когда Ethernet-кадр попадает в драйвер сетевого интерфейса Ethernet, он может быть направлен либо в модуль ARP (Address Resolution Protocol адресный протокол), либо в модуль IP (Internet Protocol - межсетевой протокол). На то, куда должен быть направлен Ethernet-кадр, указывает значение поля типа в заголовке кадра.

n Если IP-пакет попадает в модуль IP, то содержащиеся в нем данные могут быть переданы либо модулю TCP, либо UDP, что определяется полем "протокол" в заголовке IP-пакета.

n Если UDP-датаграмма попадает в модуль UDP, то на основании значения поля "порт" в заголовке датаграммы определяется прикладная программа, которой должно быть передано прикладное сообщение. Если TCP-сообщение попадает в модуль TCP, то выбор прикладной программы, которой должно быть передано сообщение, осуществляется на основе значения поля "порт" в заголовке TCP-сообщения.

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

n Данные от прикладного процесса проходят через модули TCP или UDP, после чего попадают в модуль IP и оттуда - на уровень сетевого интерфейса.

n Хотя технология internet поддерживает много различных сред передачи данных, здесь мы будем предполагать использование Ethernet, так как именно эта среда чаще всего служит физической основой для IP-сети. Машина на слайде имеет одну точку соединения с Ethernet. Шестибайтный Ethernet-адрес является уникальным для каждого сетевого адаптера и распознается драйвером.

n Машина имеет также четырехбайтный IP-адрес. Этот адрес обозначает точку доступа к сети на интерфейсе модуля IP с драйвером. IP-адрес должен быть уникальным в пределах всей локальной сети.

n Работающая машина всегда знает свой IP-адрес и Ethernet-адрес.

40. Стек протоколов TCP/IP. Работа с несколькими сетевыми адаптерами.

Машина может быть подключена одновременно к нескольким средам передачи данных, в частности, на рисунке показана машина с двумя сетевыми адаптерами Ethernet, т.е. эта машина имеет два разных Ethernet- адреса и 2 IP-адреса.

Из представленной схемы видно, что для машины с несколькими сетевыми адаптерами модуль IP выполняет функции мультиплексора m*n и функции демультиплексора n*m. Этот модуль в данном случае сложнее, чем в примере с одним сетевым адаптером, т.к. он может передавать данные между сетями.Данные могут поступать через любой сетевой адаптер и быть ретранслированными через любой другой сетевой адаптер.

41. Стек протоколов TCP/IP. Ретрансляция IP – пакета.

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

Ретранслируемые пакеты не передаются модулям TCP или UDP. Аппаратно реализованные маршрутизаторы, как правило, не имеют модулей TCP и UDP.

42. Стек протоколов TCP/IP. Среда передачи данных Ethernet. Модуль ENET.

Самый нижний уровень в схеме взаимодействия модулей стека TCP/IP представлен модулем ENET, который при передаче формирует кадр Ethernet, а при приёме обрабатывает кадр Ethernet.

Кадр Ethernet уже был проиллюстрирован, заголовок кадра также был проиллюстрирован. Добавим, что длина поля данных лежит в диапазоне 46 – 1500 байт, а заголовок обязательно содержит Ethernet-адреса получателя и отправителя.

При приёме модуль ENET просматривает Ethernet-кадры, проходящие по сети, и выискивает кадры со своим Ethernet-адресом, а также с адресом ff:ff:ff:ff:ff:ff, который означает «всем» и используется при широковещательной передаче. При формировании Ethernet-кадра для передачи в поле данных, как правило, инкапсулируется IP-пакет; адрес отправителя модуль ENET «знает» (это его адрес), но Ethernet-адрес получателя ему может быть неизвестен, и в этом случае необходим протокол ARP.

Технология Ethernet очень популярна на рынке локальных сетей. В 80-е годы и в начале 90-х технологии Ethernet приходилось конкурировать с множеством альтернативных технологий локальных сетей, включая сети Token ring, FDDI и ATM. Некоторым из этих технологий удалось на несколько лет захватить часть рынка. Но технология Ethernet, разработанная в середине 70-х, продолжает свой рост и развитие до сих пор, а в последние годы она прочно заняла доминирующее положение на рынке. Сегодня Ethernet представляет собой превалирующую технологию локальных сетей, и, похоже, такая ситуация сохранится в обозримом будущем.

Ethernet реализует метод CSMA/CD (множественный доступ с контролем несущей и обнаружением столкновений). Метод CSMA/CD предполагает, что все устройства взаимодействуют в одной среде, в каждый момент времени может передавать только одно устройство, а принимать могут все одновременно. Если два устройства пытаются передавать одновременно, то происходит столкновение передач, и оба устройства после случайного (краткого) периода ожидания пытаются вновь выполнить передачу.

43. Стек протоколов TCP/IP. Протокол ARP.

Рассмотрим, каким образом при формировании Ethernet-кадра для передачи определяется адрес получателя.

К моменту формирования Ethernet-адреса получателя известен его IP-адрес (находящийся в заголовке IP-пакета). Возникает задача преобразования IP-адреса получателя в Ethernet-адрес. Её решение реализует протокол ARP (RFC-826). Это преобразование выполняется только для отправляемых IP-пакетов, т.к. только в этом случае формируется соответствующий Ethernet-фрейм. Это преобразование (IP-адреса в Ethernet-адрес) производится с использованием ARP-таблицы.

ARP-таблица хранится в памяти и содержит строки для машин сети, с которыми в последнее время осуществлялось взаимодействие. Структура ARP-таблицы (RFC-1213) предельно проста. В простейшем случае эта таблица имеет три столбца – IP-адрес, Ethernet-адрес и тип записи.

Замечание. Принято все 4 байта IP-адреса записывать десятичными числами, разделёнными точками, а для записи 6-байтного Ethernet-адреса каждый байт указывается в шестнадцатеричной системе и отделяется двоеточием.

ARP-таблица является необходимой по той простой причине, что IP-адрес и Ethernet-адрес выбираются абсолютно независимо друг от друга и аналитической формулы типа Ethernet-адрес = F(IP-адрес) для преобразования IP-адреса в Ethernet-адрес не существует

Обычно, прикладная программа, такая, как, например, Telnet, отправляет прикладное сообщение модулю TCP. Модуль TCP посылает соответствующее транспортное сообщение модулю IP.

Прикладной программе, модулю TCP и модулю IP IP - адрес известен. К этому времени IP-пакет уже составлен и готов к передаче, но прежде его необходимо инкапсулировать в Ethernet – кадр. При формировании заголовка кадра нужен Ethernet-адрес получателя, для чего и используется ARP-таблица.

ARP-таблица заполняется динамически модулем (протоколом) ARP, по мере необходимости.

44. Стек протоколов TCP/IP. Межсетевой протокол IP. Прямая маршрутизация.

Модуль IP является базовым элементом технологии internet, а центральной частью модуля IP является его таблица маршрутов. Протокол IP (IPv4, RFC-791) использует эту таблицу при принятии всех решений о маршрутизации IP-пакетов. Содержание таких маршрутов в простейшем случае определяет администратор сети. Ошибки при установке маршрутов могут заблокировать передачу.

Чтобы понять технику межсетевого взаимодействия, нужно понять то, как используется таблица маршрутов. Это понимание необходимо для успешного администрирования и сопровождения сетей internet.

Каждая машина имеет стек протоколов, аналогичный представленному на рисунке схемы взаимодействия модулей стека протоколов TCP/IP. Каждый сетевой адаптер машин имеет свой Ethernet-адрес и IP-адрес.

Когда машина A посылает IP-пакет машине B, то заголовок этого пакета содержит в поле отправителя - IP-адрес машины A, а заголовок Ethernet-кадра содержит в поле отправителя Ethernet-адрес этого же компьютера. Кроме этого, IP-заголовок содержит в поле получателя IP-адрес машины B, а Ethernet-заголовок содержит в поле получателя Ethernet-адрес машины B.

Адреса в Ethernet-кадре, передающем IP-пакет

от машины A к машине B, можно представить

в виде следующей таблицы:

В этом простом примере в протоколе IP обнаруживается излишество, а именно – он ничего не добавляет к услугам, предоставляемым средой Ethernet; однако протокол IP требует дополнительных затрат времени процессора и пропускной способности среды передачи данных на создание, передачу и обработку IP-заголовка.

При взаимодействии машин A и B используется так называемая прямая маршрутизация, в которой модуль IP является избыточным.

45. Стек протоколов TCP/IP. Межсетевой протокол IP. Косвенная маршрутизация.

На рисунке представлена более реалистичная картина сети internet. В данном случае сеть internet состоит из трех сетей Ethernet, на базе которых работают три IP-сети, объединенные маршрутизатором (шлюзом) D. Каждая IP-сеть включает четыре машины; каждая машина имеет свои собственные IP- и Ethernet- адреса.

За исключением D все машины имеют стек протоколов, аналогичный показанному на слайде (*). Шлюз D соединяет все три сети и, следовательно, имеет три IP-адреса и три Ethernet-адреса. Машина D имеет стек протоколов TCP/IP, похожий на тот, что показан на слайде (**), но вместо двух модулей ARP и двух драйверов (ENET), он содержит три модуля ARP и три драйвера Ethernet. Обратим внимание на то, что машина D имеет только один модуль IP.

Администратор сети присваивает каждой сети Ethernet уникальный номер, называемый IP-номером сети. На рисунке IP-номера не показаны, вместо них используются имена сетей.

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

Когда машина D взаимодействует с машиной A, то это прямое взаимодействие. Когда машина D взаимодействует с машиной E, то это прямое взаимодействие. Когда машина D взаимодействует с машиной H, то это прямое взаимодействие. Это так, поскольку каждая пара этих машин принадлежит одной IP-сети.

Однако, когда машина A взаимодействует с машинами, включенными в другую IP-сеть, то взаимодействие уже не будет прямым. Машина A должна использовать маршрутизатор D для ретрансляции IP-пакетов в другую IP-сеть. Такое взаимодействие называется косвенным.

Маршрутизация IP-пакетов выполняется модулями IP и является прозрачной для модулей TCP, UDP и прикладных процессов.

Если машина A посылает машине E IP-пакет, то IP-адрес и Ethernet-адрес отправителя соответствуют адресам A. IP-адрес места назначения является адресом E, но поскольку модуль IP в A посылает IP-пакет через D, Ethernet-адрес места назначения является адресом D.

Модуль IP в машине D получает IP-пакет и проверяет IP - адрес места назначения. Определив, что это не его IP-адрес, Маршрутизатор D посылает этот IP-пакет прямо к E.

Итак, при прямой маршрутизации IP- и Ethernet-адреса отправителя соответствуют адресам того узла, который послал IP-пакет, а IP- и Ethernet-адреса места назначения соответствуют адресам получателя. При косвенной маршрутизации IP- и Ethernet-адреса не образуют таких пар.

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

В приведенном примере несколько сетей Ethernet объединяются шлюзом для того, чтобы локализовать широковещательный трафик в каждой сети.

46. Правила маршрутизации в модуле IP.

Рассмотрим правила или алгоритм маршрутизации.

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

Для принимаемых IP-пакетов, поступающих от сетевых драйверов, модуль IP должен решить, нужно ли ретранслировать IP-пакет по другой сети или передать его на верхний уровень. Если модуль IP решит, что IP-пакет должен быть ретранслирован, то дальнейшая работа с ним осуществляется также, как с отправляемыми IP-пакетами.

Входящий IP-пакет никогда не ретранслируется через тот же сетевой интерфейс, через который он был принят.

Решение о маршрутизации принимается до того, как IP-пакет передается сетевому драйверу, и до того, как происходит обращение к ARP-таблице.

47. Протокол IPv6. Расширение адресации.

48. Протокол IPv6. Основные термины.

49. Классификация адресации узлов сети. Типы адресов в протоколе IPv6.

50. Стандартные формы для представления IPv6 адресов в виде текстовых строк.

51. Подходы к организации взаимодействия узлов сети, использующих разные стеки TCP/IP.

52. ФПМИ и IPv6.

53. Стек протоколов TCP/IP. Концепция портов.

54. Стек протоколов TCP/IP. Протокол UDP.

Протокол UDP (RFC-768, User Datagram Protocol - протокол пользовательских датаграмм) является одним из двух основных протоколов, расположенных непосредственно над IP. Он предоставляет прикладным процессам транспортные услуги, которые не многим отличаются от услуг, предоставляемых протоколом IP.

Протокол UDP обеспечивает ненадежную доставку датаграмм и не поддерживает соединений из конца в конец. К заголовку IP-пакета он добавляет два поля, одно из которых, поле "порт", обеспечивает мультиплексирование информации между разными прикладными процессами, а другое поле - "контрольная сумма" - позволяет поддерживать целостность данных

Важнейшие поля заголовка

UDP-датаграммы:

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

Например, сервер SNMP всегда ожидает поступлений сообщений в порт 161. Если клиент SNMP желает получить услугу, он посылает запрос в UDP порт 161 на машину, где работает сервер. В каждом узле может быть только один сервер SNMP, так как существует только один UDP-порт 161. Данный номер порта является общеизвестным, то есть фиксированным номером, официально выделенным для услуг SNMP.

Общеизвестные номера определяются стандартами Internet (RFC-1700 и RFC-3232).

Каждый порт идентифицируется уникальным номером. Следует отметить, что UDP-порты отличны от TCP-портов, даже несмотря на то, что некоторые номера у них совпадают. Некоторые из UDP-портов

Данные, отправляемые прикладным процессом через модуль UDP, достигают места назначения как единое целое. Например, если процесс - отправитель производит 5 записей в UDP-порт, то процесс-получатель должен будет сделать 5 чтений.

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

Когда модуль UDP получает датаграмму от модуля IP, он проверяет контрольную сумму, содержащуюся в ее заголовке. Если контрольная сумма равна нулю, то это означает, что отправитель датаграммы ее не подсчитывал, и, следовательно, ее нужно игнорировать. Если два модуля UDP взаимодействуют только через одну сеть Ethernet, то от контрольного суммирования можно отказаться, так как средства Ethernet обеспечивают достаточную степень надежности обнаружения ошибок передачи. Это снижает накладные расходы, связанные с работой UDP. Однако рекомендуется всегда выполнять контрольное суммирование, так как возможно в какой-то момент изменения в таблице маршрутов приведут к тому, что датаграммы будут посылаться через менее надежную среду.

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

Материалы об эффективном вычислении контрольной суммы можно найти в RFC-1071.

55. Стек протоколов TCP/IP. Протокол TCP.

Протокол TCP (Transmission Control Protocol – протокол управления передачей) предоставляет транспортные услуги, отличающиеся от услуг UDP. Описание TCP содержится в документах RFC-793, RFC-1112, RFC-1323, RFC-2018 и RFC-2581. Вместо ненадежной доставки датаграмм без установления соединений, он обеспечивает гарантированную доставку с установлением соединений в виде байтовых потоков.

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

Наиболее типичными прикладными процессами, использующими TCP, являются FTP (RFC-959, File Transfer Protocol - протокол передачи файлов), TELNET (RFC-854), HTTP (RFC-1915 и RFC-2616, Hyper Text Transfer Protocol – протокол передачи гипертекста) и многие другие популярные прикладные протоколы.

Большие возможности TCP даются не бесплатно. Реализация TCP требует большой производительности процессора и большой пропускной способности сети. Внутренняя структура модуля TCP гораздо сложнее структуры модуля UDP

Основными полями заголовка TCP-сегмента являются:

TCP-порт определяет адрес доставки TCP-сегментов. Номера портов, меньшие 1024, назначаются организацией IANA (Internet Assigned Numbers Authority). Примеры некоторых TCP-портов:

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

Этот виртуальный канал потребляет ресурсы обоих оконечных модулей TCP. Канал является дуплексным; данные могут одновременно передаваться в обоих направлениях.

Один прикладной процесс пишет данные в TCP-порт, они проходят по сети, и другой прикладной процесс читает их из своего TCP-порта.

TCP-соединение инициализируется в процессе трёхэтапного согласования (hand-shake). Цель этого процесса – синхронизировать порядковый номер и номера подтверждения по обе стороны соединения и обменяться информацией о размерах TCP - окон. Порядок трёхэтапного согласования:

1. Клиент посылает серверу TCP-сегмент с начальным порядковым номером для данного соединения, данными о размере окна, которые определяют объём буфера на клиентской стороне для хранения сегментов, поступающих от сервера.

2. Сервер отсылает TCP-сегмент с выбранным им (сервером) начальным порядковым номером, подтверждением порядкового номера, переданного клиентом, и данными о размере окна, которые указывают объём буфера на серверной стороне для хранения сегментов, поступающих от клиента.

3. Клиент передаёт серверу TCP-сегмент с подтверждением порядкового номера, переданного сервером.

При закрытии соединения выполняется аналогичное согласование. Это даёт гарантию того, что передача данных закончена обеими хостами и что все данные ими приняты.

Протокол TCP разбивает поток байт на сегменты; он не сохраняет границ между записями. Например, если один прикладной процесс делает 5 записей в TCP-порт, то прикладной процесс на другом конце виртуального канала может выполнить 10 чтений для того, чтобы получить все данные.

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

Протокол TCP требует, чтобы все отправленные данные были подтверждены принявшей их стороной.

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

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

Так как TCP-канал является дуплексным, то подтверждения для данных, идущих в одном направлении, могут передаваться вместе с данными, идущими в противоположном направлении. Приемники на обеих сторонах виртуального канала выполняют управление потоком передаваемых данных для того, чтобы не допускать переполнения буферов

56. Принципы работы протоколов прикладного уровня.

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

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

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

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

Сетевые приложения строятся на основе протоколов прикладного уровня, которые регламентируют формат и порядок обмена сообщениями, а также процедуры, выполняемые при приеме или передаче сообщений.

Необходимо различать понятия сетевых приложений и протоколов прикладного уровня. Протоколы прикладного уровня являются частью (хотя и весьма большой) сетевых приложений. Рассмотрим два примера.

Web является сетевым приложением, позволяющим пользователям получать web-документы по запросу и состоящим из множества компонентов, включая стандарт формата документов (HTML), браузеры (Netscape Navigator, Microsoft Internet Explorer и др.), web-серверы (например, Apache, Microsoft или Netscape), протоколы прикладного уровня.

Протокол прикладного уровня для web носит название протокола передачи гипертекста (HyperText Transfer Protocol, HTTP) и описывает формат и порядок обмена сообщениями между клиентом и сервером (RFC-2646).

Таким образом, HTTP является лишь частью web-приложения.

57. Взаимосвязь протоколов семейства TCP/IP.

Общее их количество велико и продолжает постоянно увеличиваться. Некоторые приложения существуют с самого начала развития internet.

Например, TELNET и FTP.

Другие появились относительно недавно: X-Window, SNMP.

Протоколы (программы) прикладного уровня ориентированы на конкретные прикладные задачи. Они определяют как процедуры по организации взаимодействия определенного типа между прикладными процессами, так и форму представления информации при таком взаимодействии.

Коротко рассмотрим некоторые из прикладных протоколов (программ).

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

¢ TELNET работает на базе протокола TCP. На прикладном уровне над TELNET находится либо программа поддержки реального терминала (на стороне пользователя), либо прикладной процесс в обсуживающей машине, к которому осуществляется доступ с терминала.

¢ Работа с TELNET походит на набор телефонного номера. Пользователь набирает на клавиатуре что-то вроде


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: