-
Транспортный протокол IP
Теперь
давайте посмотрим, как работает
локальная сеть с протоколом TCP/IP. В LAN
(Local Area Network) TCP/IP на базе протокола Ethernet
компьютеры обмениваются информацией
о своих IP- и MAC-адресах с помощью
обычного запроса на уровне данного
протокола. Таким образом каждый ПК
содержит таблицу с IP-адресами других
машин. Приблизительно то же самое
происходит в локальной замкнутой сети
на базе протокола IP: получая задание
доставить пакет по определенному
адресу, он сначала находит его в
таблице адресов, из которой
одновременно узнает о MAC-адресе машины
получателя. Далее сообщение
отправляется "путешествовать" по
LAN. На ПК получателя, в свою очередь, IP-протокол
проверяет совпадение IP-адресов пакета
и компьютера.
Разумеется, пользователю для отправки
данных по TCP/IP вовсе не обязательно
знать IP-адреса всех машин, ведь в
Интернете существует БД (база данных)
DNS, содержащая имена узлов и
соответствующие им IP-адреса. Данный
запрос выполняется с помощью протокола
UDP. Впрочем, в LAN представлены и другие
способы сопоставления имен с IP-адресами,
рассчитанные на мелкомасштабные сети -
но эта тема уже другой статьи.
Возможно, кому-то после всего
вышесказанного покажется, что протокол
IP и не нужен?! Но повремените делать
категоричные выводы, все его
преимущества вы прочувствуете при
работе в нескольких, связанных между
собою сетях (помните, в прошлом номере
мы говорили о сложностях обмена
информацией в связанных сетях).
Все адресное пространство TCP/IP
разделено на специальные subLAN, каждая из
них получает собственный промежуток
адресов, внутри которого данные
доставляются в основном с помощью
аппаратных протоколов (Ethernet и других).
Всего существует три основных класса
подсетей, различающихся первыми
тремя цифрами адреса (табл. 1).
Класс
подсети |
Первые
цифры IP-адреса |
Кол-во
подсетей |
Кол-во
узлов |
A |
1-126 |
126 |
16777214 |
B |
128-191 |
16382 |
65534 |
C |
192-223 |
2097150 |
254 |
-
Есть и маски подсети,
например, 255.255.255.0. Если наложить такую
маску на адрес, цифры 255 укажут, что
перед нами номер сети, а 0 обозначит
номер узла. Например, адрес 190.40.41.25 с
маской 255.255.0.0 можно трактовать так - это
сеть с номером 190.40 и узлом 41.25. IP-адрес
любого компьютера в данной LAN будет
начинаться только со 190.40.
Итак, мы видим, что структурирование
пространства IP-адресов дает
возможность создавать как маленькие (254
узла), так и огромные (16777214 узлов) сети.
Существует совсем маленькие LAN, но
сейчас не об этом.
Маршрутизация в сетях IP
Итак, чтобы связать несколько LAN TCP/IP
(не зря же Интернет иногда называют
сетью сетей :-)), понадобится
каким-то образом организовать передачу
данных из одной подсети в другую. В
таком деле вам и помогут специальные
устройства - маршрутизаторы. В
самом простом случае это - обычный
компьютер под управлениям ОС (операционной
системы) Windows NT Server, Windows 2000 или Unix с
двумя и более сетевыми адаптерами.
Разберемся, как же он работает?
Когда один из компьютеров "видит",
что получатель пакета данных находится
в другой сети, он по умолчанию пытается
отправить информацию прописанному в
настройках TCP/IP шлюзу. Если в
настройках протокола шлюзов несколько,
то в случае неудачи, машина пытается
связаться со следующим. Собственно,
шлюз, о котором здесь идет речь, и есть
маршрутизатор; он получает все
адресованные другим сетям сообщения и
переправляет их. Как вам известно уже
из прошлой статьи (МК, №34, 2000),
маршрутизатор передаст в другую сеть
только адресованные ей сообщения и не
позволит трафику одной LAN перегружать
остальные.
Также при получении сообщения такой
компьютер заменяет MAC-адрес
отправителя на собственный, так как в
другую сеть сообщение попадает из его
сетевого интерфейса, а значит, должно
иметь соответствующий адрес. Кроме
того, маршрутизатору "под силу"
соединить совершенно разные сети,
например Ethernet с ATM, или даже с… модемом!
И доложу я вам, ничего удивительного в
этом нет, ведь из LAN в LAN передают только
пакеты IP, вся специфическая для
конкретной аппаратной реализации
информация отбрасывается.
Иногда, чтобы определенное сообщение
попало в отдаленную сеть, пакет должен
пройти через целую цепь
маршрутизаторов, для чего на каждом из
них прописывают пути доставки.
Разумеется, в сложнейшей, непрерывно
изменяющейся структуре Интернета,
такие компьютеры постоянно
обмениваются между собой информацией о
текущей карте сети и вычисляют
оптимальные маршруты для доставки
информации. Если же какой-то участок
пути будет поврежден, маршрутизаторы,
заметив это, изменят свои схемы
доставки данных, конечно, если это
возможно :-).
По-видимому, пора заканчивать изучение
основ работы протокола TCP/IP и вплотную
перейти к вопросу, как же лучше
организовать доступ из LAN в Интернет.
Способ 1: маршрутизация
Итак, проще всего установить
маршрутизатор между одной из подсетей
Интернета (подсетью провайдера) и Вашей
LAN, чаще всего достаточно самой
примитивной модели. Далее необходимо
получить право на использование IP-адресов
- его обычно покупают у провайдера.
Возможно, Вы захотите использовать
специальное программное или
аппаратное обеспечение для анализа и
фильтрации пакетов сети, чтобы
предотвратить хакерские атаки, или же
просто закроете используемые RealAudio
порты, чтобы Ваши сотрудники
занимались делом, а не слушали музыку.
Так же можно закрыть целые подсети,
которым Вы не доверяете, например, в
школе наверняка запретят доступ к
адресам типа http://www.playboy.com/.
Проблема IP-адресов

Пожалуй, изложенный способ
раздачи Интернета в LAN - действительно,
самый простой и предоставляет
максимальные удобства. Но и в нем
найдутся недостатки, и вот какие:
- Не всегда удается купить у провайдера
необходимое количество адресов для
своей сети. Если же Вы являетесь dial-up
клиентом, наверняка, подобная услуга
вообще не предоставляется ISP, тем более
в случае prepaid (карточного) Интернета.
- Всегда существует серьезная угроза,
что в Вашу LAN проникнут всяческие
взломщики и хакеры.
- Если у Вас LAN, например, на базе Windows 9x
без сервера, т. е. не содержит
программного роутера, понадобится
аппаратный (а он стоит заоблачных денег).
Естественно, у каждой машины в мире
должен быть собственный уникальный IP-адрес.
Разумеется, пока Ваша LAN не подключена к
Интернету, можно использовать любые
адреса - вам удастся избежать конфликта
с другими пользователями. Существует
определенная группа подсетей -приватные
- на их базе можно создавать
неограниченное количество LAN: подсеть 10
класса A, 172.16 класса B и 192.168.0 класса C.
Фокус состоит в том, что данные из них
не могут быть переданы в Интернет ни
одним маршрутизатором, он просто
откажется это делать.

Реальна и такая ситуация,
когда в каждом из 10-ти рядом стоящих
зданий будет подсеть класса C,
содержащая компьютер с адресом 192.168.0.2.
Такая схема прекрасно работает до тех
пор, пока подсети не связаны между
собой, иначе каждому зданию необходимо
дать сегмент подсети B, например, 172.16.1,
172.16.2, 172.16.3 и т. д.
Несмотря на наши заверения о том, что из
приватных LAN выход в Интернет
невозможен, не исключено, что некоторые
читатели будут в легком недоумении: и
Сеть работает, и в настройках TCP/IP
прописан адрес 192.168.0.1?! В чем же дело?
Способ 2: NAT (Network Address Translation)
Как решить эту проблему, ясно уже из
заголовка. Давайте рассмотрим эту
интересную технологию на примере
работы с Web. Обычно трансляция адресов
осуществляется специальным аппаратным
или программным маршрутизатором.
Итак, вам надо загрузить страницу http://www.alexanderbutenko.com/,
но ваш компьютер имеет приватный адрес
10.0.0.1, но в сети находится маршрутизатор
NAT, соединенный с LAN сетевым
адаптером 10.0.0.3 и Интернетом
посредством модема 212.40.41.60. Это
типичный пример соединения двух сетей
маршрутизатором, который теперь имеет
встроенную фунцкию NAT. Посмотрим, как в
этом случае решается проблема доступа
в Глобальную Сеть:
- пользователь Вася Пупкин открывает
свой браузер Internet Explorer на машине с
адресом 10.0.0.1 и вводит http://www.alexanderbutenko.com/.
- имя домена передается DNS-серверу - он
должен быть подключен как к LAN, так и к
Интернету (многие, особенно
программные, маршрутизаторы NAT имеют
встроенный DNS-сервер). Сервер
возвращает клиенту IP-адрес этого узла
216.34.13.245.
- клиент передает свой запрос по
умолчанию шлюзу(по его адресу в
локальной сети 10.0.0.3), в нашем случае
последний и есть NAT-маршрутизатор.
- маршрутизатор меняет адрес
отправителя с 10.0.0.1 на свой в сети
Интернет 212.40.41.60, после чего отправляет
этот запрос в Сеть.
- все строго по правилам: запрос ушел в
Интернет от имени машины с корректным
адресом, и ответ придет только на нее!
- сервер http://www.alexanderbutenko.com/,
получив запрос, в ответ вышлет
стартовую страницу index.html по адресу
отправителя, а так как адрес был
заменен маршрутизатором на
собственный, реально он и получит ответ.
- наконец, получив ответ, маршрутизатор
отследит в своих журналах, какая именно
машина в локальной сети была автором
запроса, и перешлет ответ в LAN по адресу
10.0.0.1 (в нашем случае).
- машина Васи Пупкина получит ответ и
Internet Explorer отобразит на экране домашнюю
страничку автора этой статьи - теперь
Вася может продолжать работу в
Интернете, хоть раньше ему это казалось
невозможным :-).
Как видите, механизм NAT довольно
прост, нужен только специальный
маршрутизатор и DNS-сервер, у
которых есть адреса как в Интернете,
так и в локальной сети (реально оба этих
сервера могут быть совмещены в одном
устройстве). Описанный способ идеально
подходит, чтобы подключить к Интернету
небольшой LAN через dial-up - провайдер
даже не узнает, что у него на другом
конце линии не один клиент, а несколько!
Особенно оценят этот метод домашние
пользователи.
Итак, как мы выяснили, даже с машины,
имеющей приватный адрес, можно
отсылать запросы в Инет, а как быть в
том случае, если Вы хотите, чтобы,
наоборот, из Глобальной Сети был доступ
к Вашему компьютеру? В определенной
степени разрешима и эта проблема.
Например, если в LAN есть web-сервер с
приватным адресом, достаточно
установить NAT-маршрутизатор, который
будет переправлять все запросы,
приходящие на 80-ый порт, на какую-то
машину в локальной сети. Таким образом
если кто-то из Интернета попробует
вызвать Ваш маршрутизатор из web-браузера,
данный компьютер передаст запрос
серверу внутри сети, а после, еще раз
выполнив трансляцию адресов, отправит
ответ в Интернет.
Безопасность - серьезное преимущество
такого метода. Часто хакеры атакуют
жертву-компьютер через какой-то из его
портов. Но такое невозможно проделать с
машиной с публичным адресом в
локальной сети - только с
маршрутизатором. То есть находящийся
за таким компьютером ваш web-сервер
будет доступен исключительно по 80-ому
порту (через маршрутизатор).
Именно поэтому часто компании, даже
которые могут себе позволить купить
обычные адреса Интернета, в целях
безопасности пользуются приватными.
Многие известные производители, такие
как Intel (http://www.intel.ru/),
3COM (http://www.3com.ru/),
Zyxel (http://www.zyxel.ru/)
и прочие выпускают продукты, которые
можно использовать в качестве
аппаратных маршрутизаторов NAT. В
основном они рассчитаны на рынок SOHO и
подключаются к Интернету посредством
модема (обычно его нужно покупать
отдельно).
Также доступно и множество программных
маршрутизаторов. Во-первых, ОС Windows 98
Second Edition и Windows 2000 Professional содержат
компонент ICS - простой маршрутизатор NAT.
Более мощное решение входит в поставку
Windows 2000 Server. Представлены и продукты
сторонних производителей, например, WinRoute
(http://www.winroute.com/).
<<
Предыдущая часть
Источник: http://www.mycomp.com.ua/
|