Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Адресация уровня 4
Как уже говорилось выше, в большинстве источников порты TCP и UDP не рассматриваются как средства адресации уровня 4, поскольку порты формально не являются адресами, такое название к ним вполне подходит. Порты являются идентификаторами, точно так же, как и адреса, но они, в отличие от адресов, обозначают не хост, а приложение на этом хосте. Например, если при просмотре ресурсов Web на компьютере открыто несколько окон браузера, последний без труда определяет, какая Web -страница должна быть открыта в том или ином окне. Причем даже если в двух разных окнах браузера открыта одна и та же Web -страница, то при щелчке на кнопке поиска Search на одной из этих страниц не происходит путаница, и ответ на запрос появляется в том окне, где был выполнен щелчок. Дело в том, что для обозначения отдельных экземпляров программы браузера, применяемых для работы с разными окнами, используются различные номера портов.
Компьютер без портов действовал бы следующим образом. На компьютере пришлось бы открывать все сообщения, предназначенные для 500 разных приложений, но поступающих по одному и тому же адресу, и читать часть каждого сообщения для определения того, предназначено ли оно, например, для программы Outlook, Ping или Internet Explorer. А благодаря использованию портов, если на компьютере работает Web -сервер и сервер Telnet, то на нем порт 23 назначается как входящий порт для сообщений Telnet, а порт 80 — как входящий порт для запросов HTTP. Поэтому при поступлении каких-либо данных через порт 80 предполагается, что эти данные предназначены для Web -сервера.
Для работы по протоколам TCP и UDP предназначено по 65 536 портов (с номерами от 0 до 65535). Порты с номерами от 0 до 1023 называются стандартными. Распределением этих номеров управляет организация IANA, и их нельзя изменять по своему усмотрению. Каждый конкретный порт в этом диапазоне по умолчанию используется одним из распространенных серверных сетевых приложений. Краткий список наиболее широко применяемых портов приведен в табл. 5.1.
Таблица 5.1. Некоторые наиболее широко применяемые порты TCP Десятич. номер порта Обозначение порта Описание
в Интернет в Unix
- - Зарезервировано
TCPmux - tcp Мультиплексор
Compressnet - Программа управления
Compressnet - Процесс сжатия
RJE - Вход в удаленную задачу
Echo echo Эхо
Discard discard Сброс
Users systat Активные пользователи
Daytime daytime Время дня
- Netstat Кто работает или netstat
Chargen chargen Генератор символов
FTP-data ftp-data FTP (данные)
FTP ftp Протокол пересылки файлов (управление)
telnet telnet Подключение терминала
- - Любая частная почтовая система
SMTP smtp Протокол передачи почтовых сообщений
MSG-auth
Распознавание сообщения (аутентификация)
- - Любой частный принт-сервер
Time time Время
RLP - Протокол поиска ресурсов
Graphics
Графика
nameserver name Сервер имен
Nicname whois Кто это? (whois-сервис)
MPM - Блок обработки входных сообщений
MPM-snd - Блок обработки выходных сообщений
Auditd - Демон цифрового аудита
login - Протокол входа в ЭВМ
RE-mail-ck - Протокол удаленного контроля почтовым обменом
Domain nameserver Сервер имен доменов (dns)
- - Любой частный терминальный доступ
- - Любой частный файл-сервер
covia - Коммуникационный интегратор (ci)
SQL*net - Oracle SQL*net
Bootps Bootps Протокол загрузки сервера
Bootpc bootpc Протокол загрузки клиента
TFTP tftp Упрощенная пересылка файлов
Gopher - Gopher (поисковая система)
- Netrjs-1 Сервис удаленных услуг
- rje Любой частный RJE-сервис
Finger finger finger
WWW-HTTP
World Wide Web HTTP
Hosts2-NS - Сервер имен 2
- - Любая частная терминальная связь
Kerberos
Kerberos
NPP - Протокол сетевой печати
DCP - Протокол управления приборами
Supdup supdup Supdup протокол
Swift-rvf - swift-протокол удаленных виртуальных файлов
Hostname hostnames Сервер имен ЭВМ для сетевого информационного центра
ISO-Tsap iso-tsap ISO-Tsap
GPPitnp
Сети точка-точка
ACR-nema
ACR-nema digital IMAG. & comm. 300
Snagas
sna-сервер доступа
POP2 - Почтовый протокол pop2
POP3 - Почтовый протокол POP3
SUNRPC sunrpc SUN microsystem RPC
Auth auth Служба распознавания
Audionews
Аудио-новости
SFTP
Простой протокол передачи файлов
UUCP-path uucp-path Служба паролей uucp
SQLserv
SQL-сервер
NNTP NNTP Протокол передачи новостей
NTP NTP Сетевой протокол синхронизации
PWDgen
Протокол генерации паролей
130-132
Cisco
Statsrv
Сервер статистики
Ingres-net
Ingres-net-сервис
LOC-srv
Поисковый сервис
Netbios-SSN - Служба имен Netbios
Netbios-DGM
Служба дейтограмм netbios
Netbios-SSN
Служба сессий Netbios
ISO-IP
ISO-IP
SQL-net
SQL net
BFTP
Протокол фоновой пересылки файлов
SQLsrv
SQL-сервер
PCmail-srv
PC почтовый сервер
- SNMP Сетевой монитор SNMP
- SNMP-trap SNMP-ловушки
Print-srv
postscript сетевой сервер печати
BGP
Динамический протокол внешней маршрутизации
Prospero
Служба каталогов Prospero
IRC
Протокол Интернет для удаленных переговоров
201-206
Протоколы сетей Apple talk
IPX
ipx
CSI-SGWP
Протокол управления cabletron
Netware-IP
Novell-Netware через IP
Kryptolan
Kryptolan
Infoseek
Infoseek (информационный поиск)
Hyper-g
Hyper-g
SNPP
Простой протокол работы со страницами
- biff (exec) Unix Comsat (удаленное исполнение)
- Who Unix Rwho daemon
- syslog Дневник системы
Printer
Работа с буфером печати (spooler)
- Timed Драйвер времени
Порты с номерами от 1024 до 49 151 называются зарегистрированными. Эти порты также обычно применяются для серверных сетевых приложений, но не так строго определены, как стандартные порты. А любой порт с номером больше 49 151 рассматривается как динамический и может использоваться приложениями по мере необходимости.
Рис. 5.5 Адресация 4-го уровня
Номера портов используются с обеих сторон соединения. Например, предположим, что пользователь работает с одним и тем же Web -сервером, открыв два отдельных окна браузера. При отправке пользователем запроса через одно из этих окон (допустим, окно браузера #1) в заголовке TCP заполняется поле порта отправителя и поле порта получателя. В поле порта получателя, скорее всего, будет введено значение 80 (поскольку получателем является Web -сервер), а в поле порта — случайное число, которое превышает 49 151 (например 54200). Браузер контролирует это значение и запоминает, что оно используется именно для этого конкретного взаимодействия через окно браузера #1,
А если теперь запрос будет отправлен через окно браузера #2, в заголовок TCP будет помещено другое обозначение порта отправителя (например 62900). После получения ответа в нем будет указан номер порта отправителя 80 (поскольку пакет поступил с Web -сервера), а номер порта получателя устанавливается равным 54200. Таким образом, браузер может определить, что полученное сообщение должно быть выведено в окно браузера #2, а не #1. Этот процесс обмена сообщениями показан схематически на рис. 5.6.
Рис. 5.6 Пример Использования портов
6. Трансляция адресов и адресация в закрытой сети
Адресация в закрытой сети и трансляция сетевых адресов (NAT) — это два взаимосвязанных метода, которые способствуют резкому сокращению потребности в использовании открытых IP -адресов. В основе этих методов лежит следующий принцип. Хостам закрытой сети присваиваются адреса, которые не используются в общедоступной сети (Internet). При возникновении необходимости организовать обмен данными между хостом в закрытой сети и хостом в открытой сети первый посылает запрос в сетевой шлюз, который преобразует закрытый IP -адрес в открытый IP -адрес. Благодаря этому уменьшается потребность в использовании открытых IP -адресов, поскольку не приходится присваивать открытый IP -адрес каждому хосту, для которого необходимо обеспечить работу в Internet. Вместо этого присваивается один (или несколько) адресов устройству NAT, которое обеспечивает доступ к Internet.
Помимо сетевых адресов можно преобразовывать адреса транспортного уровня (порты TCP). Этот метод носит название PAT. Суть его в том, что одному открытому IP -адресу можно поставить в соответствие 65 535 (количество портов TCP) комбинаций из закрытого IP -адреса хоста и номера порта приложения на этом хосте.
Функционирование метода NAT / PAT легче всего понять, рассмотрев практический пример. Ниже описано, какие действия фактически осуществляются при трансляции адресов.
Как показано на рис. 6.1, хост посылает запрос по адресу www. rambler. ru из закрытой сети. Он имеет адрес закрытой сети, поэтому должен обратиться к устройству NAT, чтобы выйти в Internet. В данном случае функции устройства NAT (т.е. трансляцию сетевых адресов) выполняет маршрутизатор. А компьютер просто применяет к адресу получателя маску сети с помощью операции " И" и определяет, что пакет предназначен для другой сети и передает его в шлюз, предусмотренный по умолчанию (маршрутизатор с поддержкой NAT). При поступлении в маршрутизатор пакет имеет следующие поля. Адрес отправителя — 192.168.1.10 (пользователь). Порт отправителя — 44000 (порт отправителя в данном сеансе связи). Адрес получателя — 81.19.70.1 (www. rambler. ru). Порт получателя — 80 (HTTP).
Рис. 6.1 Пример использования NAT
Теперь маршрутизатор с поддержкой NAT принимает пакет и заменяет в нем адрес отправителя своим открытым IP -адресом (в данном примере 23.02.19.82), а также вводит другой номер порта, чтобы иметь возможность отличить пакет, переданный в ответ отправителю (по адресу 192.168.1.10), от других пакетов, например, передаваемых в ответ на компьютер с адресом 192.168.1.200. Маршрутизатор вносит сведения о выполненных им преобразованиях в таблицу трансляции и отправляет пакет на Web -сервер. К этому времени заголовок пакета содержит данные, приведенные ниже. Адрес отправителя — 23.02.19.82 (открытый IP -адрес маршрутизатора). Порт отправителя — 60000 (порт маршрутизатора в данном сеансе связи). Адрес получателя — 81.19.70.1 (www.rambler.ru). Порт получателя — 80 (HTTP).
Предположим, что одновременно с этим попытку обратиться по адресу www. rambler. ru предпринимает еше один хост (с адресом 192.168.1.200). Для него выполняется такие же действия. Допустим, что заголовок пакета, первоначально отправленный этим хостом (до трансляции), содержит данные, перечисленные ниже. Адрес отправителя— 192.168.1.200 (IP -адрес компьютера, последний октет которого равен 200). Порт отправителя — 55555 (порт компьютера с IP -адресом 200, применяемый в данном сеансе связи). Адрес получателя — 81.19.70.1 (www. rambler. ru). Порт получателя — 80 (HTTP).
Преобразуется и IP -адрес этого компьютера (192.168.1.200), и после преобразования заголовок пакета содержит данные, перечисленные ниже. Адрес отправителя — 23.02.19.82 (открытый IP -адрес маршрутизатора). Порт отправителя — 50600 (порт маршрутизатора связи с компьютером, имеющим IP -адрес 200). Адрес получателя — 81.19.70.1 (www. cisco. com). Порт получателя — 80 (HTTP).
После выполнения всех этих действий устройство NAT формирует таблицу трансляции, которая приведена в табл. 6. 1.
Таблица 6. 1. Таблица трансляции NAT / PAT
После поступления на маршрутизатор с узла www. rambler. ru пакета с IP -адресом получателя 23.02.19.82 и портом получателя 60000, это устройство NAT выполняет поиск в таблице трансляции и обнаруживает, что пакет предназначен для передачи в порт 44000 компьютера с адресом 192.168.1.1. После этого выполняется преобразование и передача пакета на локальный компьютер. Компьютер получает этот пакет, не имея никаких сведений о том, какая промежуточная обработка была выполнена с данным пакетом.
Трансляция сетевых адресов может выполняться маршрутизатором, но чаще всего этот процесс осуществляется в специализированном устройстве, который принято называть прокси-сервером. Прокси-сервер выполняет основные функции трансляции сетевых адресов NAT, а также обеспечивает выполнение целого ряда других процессов. В частности, прокси-сервер обеспечивает кэширование информационного наполнения (записывает файлы, как правило, Web-страницы, к которым часто происходит доступ, на своем жестком диске, чтобы при получении повторного запроса к этим данным с другого хоста не приходилось снова выполнять их загрузку из Internet), преобразование пакетов других протоколов (таких как IPX / SPX) в пакеты IP и фильтрацию пакетов (принимает или отбрасывает пакеты с учетом таких критериев, как IP -адрес отправителя или номер порта). Но независимо от того, каким устройством осуществляется трансляция сетевых адресов, метод NAT применяется более эффективно при использовании пула IP -адресов, а не отдельного адреса, поскольку при наличии нескольких IP‑ адресов устройству NAT не приходится слишком часто выполнять трансляцию номеров портов.
Хотя метод NAT может применяться при использовании любой структуры IP -адресов (включая открытые адреса), обычно лучше использовать пространство адресов, зарезервированное для закрытой сети. Причина этого очень проста — если в закрытой сети применятся открытые адреса, то общедоступный ресурс, обозначенный этим адресом (а также все другие ресурсы, обозначенные применяемой маской), станут недоступными из закрытой сети. Например, если организация использует в своей внутренней сети адрес 207.46.230.0/24, то ее сотрудники не смогут обратиться к любому компьютеру в Internet, находящемуся в сети 207.46.230.0 (которая принадлежит Microsoft), поскольку хост локальной сети будет рассматривать такой адрес получателя в пакете как локальный адрес и не отправит пакет в устройство NAT.
В связи с этим, для каждого класса сети (от А до С) определен блок адресов, предназначенный для использования в закрытой сети. Именно эти адреса, перечисленные ниже, должны использоваться в сочетании со средствами NAT. 10.0.0.0.
|