
Дисциплина: «Компьютерные сети».
Методические указания по выполнению лабораторной работы №5
«Взаимодействие приложений в IP-сетях».
1. Цель работы:
Изучить, как происходит взаимодействие между сетевыми приложениями, для чего нужны порты. Написать программу для сканирования портов.
2. Теоретическая часть.
Стек протоколов TCP/IP
Каждый раз, когда вы передаете данные по сети, они переходят от вашего компьютера к серверу или другому компьютеру. Это происходит с помощью специального сетевого протокола. Существует множество разновидностей протоколов.
Модель взаимодействия открытых систем (OSI — Open Systems Interconnection) была разработана Международной организацией по стандартам (ISO, International Organization for Standardization). В соответствии с этой моделью сетевое взаимодействие делится на семь уровней:
Физический уровень — передача битов по физическим каналам (коаксиальный кабель, витая пара, оптоволоконный кабель). Здесь определяются характеристики физических сред и параметры электрических сигналов.
Канальный уровень — передача кадра данных между любыми узлами в сетях типовой топологии или соседними узлами произвольной топологии. В качестве адресов на канальном уровне используются МАС-адреса.
Уровень сети — доставка пакета любому узлу в сетях произвольной топологии. На этом уровне нет никаких гарантий доставки пакета.
Уровень транспорта — доставка пакета любому узлу с любой топологией сети и заданным уровнем надежности доставки. На этом уровне имеются средства для установления соединения, буферизации, нумерации и упорядочивания пакетов.
Уровень сеанса — управление диалогом между узлами. Обеспечена возможность фиксации активной на данный момент стороны.
Уровень представления — здесь возможно задать преобразование данных (шифрование, сжатие).
Прикладной уровень— набор сетевых сервисов (FTP, E-mail и др.) для пользователя и приложения.
Первые три уровня обеспечиваются оборудованием, таким как сетевые карты, маршрутизаторы, концентраторы, мосты и др. Последние три обеспечиваются операционной системой или приложением. Четвертый уровень является промежуточным.
Как работает протокол по этой модели? Все начинается с прикладного уровня. Пакет попадает на этот уровень и к нему добавляется заголовок.
После этого прикладной уровень отправляет этот пакет на следующий уровень (уровень представления). Здесь ему также добавляется свой собственный заголовок, и пакет отправляется дальше. Так до физического уровня, который занимается непосредственно передачей данных и отправляет пакет в сеть.
Другая машина, получив пакет, начинает обратный отсчет. Пакет с физического уровня попадает на канальный. Канальный уровень убирает свой заголовок и поднимает пакет выше (на уровень сети). Уровень сети убирает свой заголовок и поднимает пакет выше. Так пакет поднимается до уровня приложения, где остается чистый пакет без служебной информации, которая была прикреплена на исходном компьютере перед отправкой пакета.
Передача данных не обязательно должна начинаться с седьмого уровня. Если используемый протокол работает на четвертом уровне, то процесс передачи начнется с него, и пакет будет подниматься вверх до физического уровня для отправки. Количество уровней в протоколе определяет его потребности и возможности при передаче данных.
Чем ниже находится протокол (ближе к прикладному уровню), тем больше у него возможностей и больше накладных расходов при передаче данных (больше и сложнее заголовок). Рассматриваемые протоколы находятся на разных уровнях, поэтому будут имеют разные возможности.
Рисунок 1 Соответствие стека протоколов TCP/IP модели OSI
Корпорация Microsoft пошла своим путем и реализовала модель OSI и TCP/IP по-своему. Принцип оставлен тот же, хотя изменились названия и количество уровней в стеке протоколов TCP/IP равняется четырем.
Остальные уровни не забыты. Дело в том, что один уровень Microsoft может выполнять все, что в OS1 делают три уровня. Например, уровень приложения у Microsoft выполняет все, что делают уровень приложения, уровень представления и уровень сеанса вместе взятые.
На рис. 1 сопоставлена модель MS TCP и справочная модель OSI. Слева указаны названия уровней по методу MS, а справа — уровни OSI. В центре показаны протоколы.