Помощь в написании студенческих работ
Антистрессовый сервис

Теоретические принципы разработки системы организации удаленного обмена файлами

РефератПомощь в написанииУзнать стоимостьмоей работы

Любую программу удаленного администрирования, ориентированную на работу в локальной сети, можно попытаться использовать для реализации удаленного доступа к ПК через Интернет. К примеру, для организации удаленного доступа к компьютеру через Интернет можно попытаться воспользоваться стандартными средствами и программами, такими как утилита Remote Desktop Connection, входящая в состав операционной… Читать ещё >

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

Принцип организации удаленного обмена файлами

Любую программу удаленного администрирования, ориентированную на работу в локальной сети, можно попытаться использовать для реализации удаленного доступа к ПК через Интернет. К примеру, для организации удаленного доступа к компьютеру через Интернет можно попытаться воспользоваться стандартными средствами и программами, такими как утилита Remote Desktop Connection, входящая в состав операционной системы Windows XP. Однако на практике это не даст должного результата. Все дело в том, что подобные утилиты ориентированы на создание соединения между двумя компьютерами с известными IP-адресами. В локальной сети это не вызывает проблем, однако если нужно получить удаленный доступ к компьютеру через Интернет, то не все так просто. Проблема заключается в том, что компьютеры пользователей, находящиеся в локальных сетях, не имеют внешнего (публичного) IP-адреса. Действительно, компьютеры в составе локальной корпоративной сети с выходом в Интернет, как правило, находятся за интернетшлюзом с интегрированным NAT-устройством и со стороны внешней сети (Интернета) имеют один IP-адрес, который является IP-адресом самого интернетшлюза. Внутри локальной сети компьютерам присваиваются адреса из зарезервированного для частного использования диапазона IP-адресов. Частное адресное пространство регламентируется документом RFC 1918. К таким адресам относятся следующие IP-диапазоны: 10.0.0.0−10.255.255.255, 172.16.0.0−172.31.255.255, 192.168.0.0−192.168.255.255.

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

Прежде всего рассмотрим, как происходит сетевое соединение между двумя ПК.

Когда один компьютер сети устанавливает соединение с другим компьютером, открывается сокет, определяемый IP-адресом источника, портом источника, IP-адресом назначения, портом назначения и сетевым протоколом. Формат IP-пакета предусматривает двухбайтовое поле для номеров портов. Это позволяет определить 65 535 портов, которые играют роль своеобразных каналов связи. Из 65 535 портов первые 1023 зарезервированы для хорошо известных серверных сервисов, таких как web, FTP, Telnet и т. д. Все остальные порты могут применяться для любых других целей.

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

Теперь рассмотрим процесс установления сессии при использовании маршрутизатора на границе внутренней сети и Интернета. Когда клиент внутренней сети устанавливает связь с компьютером внешней сети, открывается сокет, определяемый IP-адресом источника, портом источника, IP-адресом назначения, портом назначения и сетевым протоколом. Когда приложение передает данные через этот сокет, IP-адрес источника и порт источника вставляются в пакет в поля параметров источника. Поля параметров пункта назначения будут содержать IP-адрес получателя и порт получателя. К примеру, компьютер внутренней сети с IP-адресом 192.168.0.1 может обратиться к web-серверу Глобальной сети с IP-адресом 64.233.188.104. В этом случае операционная система клиента может назначить установленной сессии порт 1251 (порт источника), а порт назначения — это порт web-сервиса, то есть 80. Тогда в заголовке отправляемого пакета будут указаны следующие атрибуты (рис. 1):

Примечание: [составлено автором].

Рисунок 1. — Принцип работы маршрутизатора при передаче пакета.

IP-адрес источника — 192.168.0.1;

порт источника — 1251;

IP-адрес получателя — 64.233.183.104;

порт получателя — 80;

протокол — TCP.

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

Предположим, что в рассмотренном выше примере NAT-маршрутизатор имеет внешний IP-адрес 195.2.91.103 (адрес WAN-порта), а для установленной сессии внешний порт NAT-устройства — 3210. В этом случае внутренняя таблица сопоставления портов источника и получателя пакета содержит следующую информацию:

IP-адрес источника — 192.168.0.1;

порт источника — 1251;

внешний IP-адрес NAT-устройства — 195.2.91.103;

внешний порт NAT-устройства — 3210;

IP-адрес получателя — 64.233.183.104;

порт получателя — 80;

протокол — TCP.

Затем устройство NAT «транслирует» пакет, преобразуя в пакете поля источника: внутренние IP-адрес и порт клиента заменяются внешними IP-адресом и портом устройства NAT. В рассмотренном примере преобразованный пакет будет содержать следующую информацию:

IP-адрес источника — 195.2.91.103;

порт источника — 3210;

IP-адрес получателя — 64.233.183.104;

порт получателя — 80;

протокол — TCP.

Преобразованный пакет пересылается по внешней сети и в итоге попадает на заданный сервер.

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

Теоретические принципы разработки системы организации удаленного обмена файлами.

Примечание: [составлено автором].

Рисунок 1. — Принцип работы маршрутизатора при передаче пакета из внешней сети во внутреннюю.

IP-адрес источника — 64.233.183.104;

порт источника — 80;

IP-адрес получателя — 195.2.91.103;

порт получателя — 3210;

протокол — TCP.

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

IP-адрес источника — 64.233.183.104;

порт источника — 80;

IP-адрес получателя — 192.168.0.1;

порт получателя — 1251;

протокол — TCP.

Однако если в таблице сопоставления портов не находится соответствия, то входящий пакет отвергается и соединение разрывается.

Любой ПК внутренней сети может передавать данные в Глобальную сеть с использованием внешнего IP-адреса и порта маршрутизатора. При этом IP-адреса внутренней сети, как присвоенные сессиям порты, остаются невидимыми со стороны внешней сети.

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

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

Демилитаризованная зона (DMZ-зона) — это способ обхода ограничений протокола NAT. Компьютер внутренней локальной сети, размещенный в зоне DMZ, становится прозрачным для протокола NAT. Фактически это означает, что компьютер внутренней сети виртуально располагается перед брандмауэром. Для ПК, находящегося в DMZ-зоне, осуществляется перенаправление всех портов на один внутренний IP-адрес, что позволяет организовать передачу данных из внешней сети во внутреннюю.

Если, к примеру, компьютер с IP-адресом 192.168.1.10, находящийся во внутренней локальной сети, размещен в DMZ-зоне, а сама локальная сеть защищена маршрутизатором, то при поступлении по любому порту запроса из внешней сети по адресу WAN-порта маршрутизатора этот запрос будет переадресован на IP-адрес 192.168.1.10, то есть на адрес компьютера в DMZ-зоне.

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

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

К примеру, если во внутренней сети конфигурируется виртуальный сервер, который запускается на ПК с IP-адресом 192.168.0.10, то при настройке виртуального сервера задаются IP-адрес виртуального сервера (192.168.0.10), применяемый протокол и порт приложения, к которому необходимо получить доступ извне. Так, если приложение использует протокол TCP и порт 12 345, то при обращении по внешнему IP-адресу маршрутизатора по порту 12 345 пользователь внешней сети может получить доступ к приложению виртуального сервера внутренней сети, несмотря на использование протокола NAT.

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

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

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

Показать весь текст
Заполнить форму текущей работой