Отображение IP-пространства на политическую карту мира | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Курсовая работа Глюковой Татьяны (2003) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Содержание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Введение | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
"Internet - это глобальная сеть сетей, взаимно связанных протоколами TCP/IP и другими коммуникационными протоколами" (д-р Винтон Серф, президент Сообщества Internet). Согласно спецификации TCP/IP протокола, каждому узлу в ip-сети должен быть присвоен уникальный ip-адрес. Ip-сеть - это набор ip-адресов. Существует организация, отвечающая за распределение ip-адресов - IANA (Internet Assigned Numbers Authority). Эта организация разработала иерархическую систему распространения ip-адресов: поделила мир на региональные группы, и в каждом из этих регионов образовалась региональная регистрирующая компания (APNIC, ARIN, LACNIC, RIPE NCC). APNIC - отвечает за распределение ip-адресов в некоторых странах Азии и Африки, островах Тихого океана, ARIN - в странах Америки, некоторых странах Европы и Африки, LACNIC - в странах Латинской Америки, RIPE NCC - в странах Ближнего Востока, Европы и Африки. Региональные регистрирующие компании, в свою очередь, поделили "свои" регионы на меньшие регионы с локальными регистрирующими компаниями и т. д. Нет жесткой привязки ip-адресов к географической области: например, компании, которая является провайдером Internet в России и на Украине, выделили блок ip-адресов, она может часть отдать Украине, а часть России. Когда создавалась сеть Internet, не учитывались никакие геополитические границы. Сети, из которых состоит Интернет, могут быть расположены в нескольких городах (необязательно одной страны), странах, или даже континентах (сети международных организаций). Но все же существует географическая привязка ip-адресов, так как Internet построена на автономных системах (автономная система - сеть или набор сетей, имеющих единую администрацию и общую маршрутную политику). Локальные сети уже существовали к тому времени, когда появился Интернет, и, чтобы подключится к нему, владельцам локальных сетей не надо было никуда переезжать. Они получали адреса, оставаясь на своих местах, как, например, Уральский Государственный Университет. Так что для большинства адресов все-таки можно определить страну. Если существует географическая привязка адресов, то можно отобразить адресное пространство на политическую карту мира, представив ее в виде множества стран. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
К содержанию... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Немного истории.. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В 1961 году по заказу министерства обороны США DARPA (Defense Advanced Research Projects Agency) приступила к проекту по созданию экспериментальной сети передачи пакетов данных (но не только они в этой области вели разработки). Эта сеть, названная ARPANET, была предназначена для изучения методов обеспечения надежной связи между компьютерами различных типов. В 1969 году министерство обороны США утвердило ARPANET в качестве ведущей организации для исследования в области компьютерных технологий. В 1970 году хосты ARPANET стали использовать для передачи данных NCP (Network Control Protocol). В 1972 была создана группа для разработки адресации, необходимой для согласования различных протоколов. Первые международные подключения были осуществлены в 1973 году (присоединились машины из Англии и Норвегии). В 1975 году ARPANET превратилась из экспериментальной в рабочую сеть. Администрирование этой сети взяло на себя Defence Communication Agency (сейчас - Defence Information Systems Agency). В 1983 году мин. обороны США объявило TCP/IP своим стандартом, из ARPANET выделилась MILNET (относилась к Defence Data Network мин. обороны США). В 1984 году была введена Domain Name System (DNS). В 1988 году сеть NSFNET (сеть, основанная на пяти "суперкомпьютерах") стала использовать канал T1(1,544 Мбит/с.). К NSFNET подключились Канада, Исландия, Дания, Норвегия, Франция Финляндия и Швеция. В 1989 году к Cети подключились Великобритания, Япония, Германия, Австрия, Израиль, Италия, Мексика, Новая Зеландия, Нидерланды. Россия подключилась к СЕТИ в 1990 году. И хотя в 1991 году ARPANET прекратила свое существование, сеть Internet не умерла вместе с ней, она стала еще больше, ее размеры намного превысили первоначальные, так как она объединила множество сетей во всем мире. Сеть NSFNET стала использовать каналы T3 (44,736 Мбит/c.) В 1993 году по инициативе NSF(National Science Foundation) был создан InterNIC для регистрации доменных имен. C 1995 года регистрация доменных имен стала платной. NSFNET перестала существовать и была установлена коммерческая система. B 1999 году вошла в строй новая глобальная сеть - Internet2. Internet Assigned Numbers Authority (IANA), оказывающая основное воздействие на организацию технической базы функционирования глобальной сети, одобрила вариант перехода на новую систему IP-адресов… | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
К содержанию... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Организации, "курирующие" Интернет | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ISOC - Internet Society IAB - Internet Architecture Board IETF - Internet Engineering Task Force IRTF - Internet Research Task Force ICANN - Internet Corporation for Assigned Names and Numbers IANA - Internet Assigned Numbers Authority и другие.. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Круг задач, связанных с общим управлением Интернетом, достаточно широк: координирование научных разработок в области Интернета, подготовка и публикация стандартов, контроль за выполнением некоторых обязательных технических условий ключевыми узлами Сети, текущие работы по поддержанию единой адресации и др. Этим занимается целый ряд организаций как чисто американского, чисто европейского, так и интернационального происхождения. Сколько таких организаций - сложно сказать, так как чуть ли не каждый день возникают и исчезают какие-то комитеты, ассоциации. Но организации приведенной схемы, пожалуй, составляют основу иерархии. Хотя и здесь не все хорошо - между организациями возникают какие-то ссоры, рождаются новые рабочие группы, комитеты и распадаются старые. В прошлом (до 1999 года), деятельность IANA как организации (IANA, по сути - название контракта между Университетом Южной Калифорнии и Правительством США) поддерживалась правительством Соединенных Штатов. В дальнейшем - это стало финансово невозможно и этически недопустимо. Поэтому пришлось "слегка переделать" IANA. Новая независимая IANA, как организация, ответственна за три взаимосвязанные области: IP адреса, доменные имена и параметры протокола, включая также и управление системой корневого сервера (root server system management), а также продолжает уже выполненную к настоящему времени существующим IANA работу. Управление и обслуживание IANA раньше осуществлял Университет Института Информатики Южной Калифорнии (при непосредственном участии Джона Постела). Новая IANA будет управляться Правлением Директоров с представительством всех избирательных округов и обязательным участием международного представительства. (материал взят с сайта http://www.iana.org/ ). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Имена доменов | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IANA, как и ICANN, занимается созданием и распределением доменов первого уровня (Top Level Domains, TLD). Домены первого уровня бывают двух видов - основные (generic TLD) и домены, образованные от двухбуквенного кода страны согласно стандарту ISO (Country Code Top Level Domains, ccTLD). Регистрант домена первого уровня может быть только один (исключая .com , .net и .org). IANA ведет соответствующие базы данных и ведет разработку новых доменов первого уровня (generic TLD). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Основные параметры протоколов | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Это все, начиная от назначения стандартных TCP/UDP портов для Интернет приложений и заканчивая регистрацией кодовых таблиц, в компетенции организации IANA (раньше эта информация содержалась в документе RFC1700 Assigned Numbers, а теперь там работа приостановлена и все изменения публикуются на http://www.iana.org/numbers.html). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Распределение IP адресов | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Как известно, правильное функционирование Internet Protocol (IP) возможно лишь в том случае, если все объекты сети, будь то хост или маршрутизатор, принтер или другое какое-нибудь устройство, имеют уникальный адрес. IANA разработала иерархическую схему распределения IP-адресов. Иерархия выглядит следующим образом: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IANA распределила все адресное пространство на региональные группы, и в каждом из этих регионов образовалась региональная регистрирующая компания (APNIC, ARIN, LACNIC, RIPE NCC). В свою очередь, каждая из RIR выделяет блоки адресов компаниям и организациям стран "своего" региона. Эти компании (после уплаты взносов) получают статус локальной регистрирующей структуры, и распределяют адреса в своем регионе. Количество LIR жестко не ограничено, поэтому любая компания, отвечающая ряду условий и имеющая достаточно денег, может позволить себе этот статус. Как правило, крупными локальными регистрантами становятся провайдеры Интернет, владельцы крупных корпоративных, научных или образовательных сетей. Другими словами, существуют автономные системы, которым распределяют адреса. Автономной системой (AS) называют такую локальную сеть или систему сетей, которые имеют единую администрацию и общую маршрутную политику. Пользователь, связанный только с одним сервис-провайдером, должен принадлежать к общей с ним AS. Автономная система должна обязательно создаваться, когда оператор сети связан с более чем одной AS с отличной от его маршрутной политикой. Если же пользователь обращается к услугам двух или более сервис-провайдеров, придерживающихся различных маршрутных политик, то он должен создать свою независимую AS. То есть адреса, выделенные одной автономной системе, маршрутизируются только через нее. Внедрение идеологии автономных систем сделали возможным существенно облегчить процедуру маршрутизации, сократить требуемое число IP-адресов и создать гибкую и эффективную схему описания маршрутной политики. Каждый RIR в своем регионе выполняет и другие действия для полноценной работы провайдеров. Их целью также является обеспечение и гарантирование административной и технической координации, необходимой для предоставления возможностей ведения оперирования в сети, распределение и регистрация IP адресов - IPv4 и IPv6, Автономных Систем и т.п. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APNIC (Asia Pacific Network Information Centre) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
http://www.apnic.net/ ftp://www.apnic.net/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ARIN (American Registry for Internet Numbers) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
http://www.arin.net/ ftp://www.arin.net/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LACNIC (The Latin America and Caribbean Internet Addresses Registry) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
http://lacnic.net/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RIPE NCC (Reseaux IP Europeens Network Coordination Centre) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
http://www.ripe.net/ ftp://ftp.ripe.net/ RIPE NCC действует как Региональный Регистр Интернет (RIR) в Европе. Результатом координирующих действий и усилий RIPE является то, что индивидуальные конечные пользователи получают унифицированное обслуживание непосредственно на своих рабочих местах, безотносительно того, к каким сетям они присоединены. Большинство работ выполняется в самых различных рабочих группах:
Материалы взяты с сайта. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Russian Institute for Public Networks (RIPN) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
http://www.ripn.net/ Это LIR, зарегистрированный RIPE NCC. Российский институт общественных сетей - организация, образована в 1992 году Комитетом высшей школы России, Российским исследовательским центром "Курчатовский Институт", Компьютерным центром Курчатовского института. В рамках Центра Сетевой Информации (Network Information Centre, NIC) он выполняет следующие задачи:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Провайдеры города Екатеринбурга | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(материалы взяты с сайта http://www.nag.ru) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
К содержанию... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структура IP пространства | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Стек протоколов TCP/IP тесно связан с сетью Internet. Создан он был в 1969 году, когда для сети ARPANET понадобился ряд стандартов для объединения в единую сеть компьютеров с различными архитектурами и операционными системами. Вместе с ростом Internet протокол TCP/IP завоевывал позиции и в других сетях. На сегодняшний день этот сетевой протокол используется как для связи компьютеров всемирной сети, так и в подавляющем большинстве корпоративных сетей. IP - сеть - это некоторое количество IP-адресов. IP-сеть задаётся базовым адресом и маской. IP-адрес входит в сеть, если выполняется равенство: базовый_адрес = (IP - адрес AND маска), где AND - операция побитового умножения. Согласно спецификации протокола, каждому узлу, подсоединенному к IP-сети, присваивается уникальный номер. Узел может представлять собой компьютер, маршрутизатор, межсетевой экран и др. Если один узел имеет несколько физических подключений к сети, то каждому подключению должен быть присвоен свой уникальный номер. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Классическая адресная схема протокола IP | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Сети класса А (префикс /8) очень большие - на сетевую часть отводится 8 битов, а на идентификацию узла остальные 24. Каждая такая сеть может иметь 224 - 2 узла. Два адреса необходимо отнять, поскольку адреса, содержащие в правом октете все нули (идентифицирует указанную сеть) и все единицы (широковещательный адрес) используются в служебных целях и не могут быть присвоены узлам. Самих же сетей "восьмерок" может быть 27-2. Снова мы вычитаем двойку, но это уже две служебных сети: 127/8 и 0/8 (по-старому: 127.0.0.0 и 0.0.0.0). Класс А содержит 231 адресов, или половину всех возможных IP адресов. Класс В (префикс /16) предназначен для сетей большого и среднего размеров. Сетевой префикс класса состоит из шестнадцати бит или первых двух октетов адреса. Поскольку два первых бита сетевого префикса заняты определяющим класс ключом, то можно задать лишь 214 различных сетей. Узлов же в каждой сети можно определить до 216-2. Класс В занимает четверть адресного пространства IP (230). Наконец, самый употребляемый класс сетей - класс С (префикс /24) - имеет 24 битный сетевой префикс, определяется старшими битами, установленными в 110, и может идентифицировать до 221 сетей. Соответственно, класс позволяет адресовать до 28-2 узлов. Занимает восьмую часть адресного пространства протокола TCP/IP. Последние два класса занимают оставшуюся восьмую часть в адресном пространстве и предназначены для служебного (класс D) и экспериментального (класс Е) использования. Для класса D старшие четыре бита адреса установлены в 1110, для класса Е -- 1111. Сегодня класс D используется для групповой передачи информации. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Зарезервированные адреса | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Если биты всех октетов адреса равны нулю, то он обозначает адрес того узла, который сгенерировал данный пакет. Это используется в ограниченных случаях, например в некоторых сообщениях протокола IP. Если биты сетевого префикса равны нулю, полагается, что узел назначения принадлежит той же сети, что и источник пакета. Когда биты всех октетов адреса назначения равны двоичной единице, пакет доставляется всем узлам, принадлежащим той же сети, что и отправитель пакета. Такая рассылка называется ограниченным широковещанием. Наконец, если в битах адреса, соответствующих узлу назначения, стоят единицы, то такой пакет рассылается всем узлам указанной сети. Это называется широковещанием. Специальное значение имеет, так же, адреса сети 127/8. Они используются для тестирования программ и взаимодействия процессов в пределах одной машины. Пакеты, отправленные на этот интерфейс, обрабатываются локально, как входящие. Потому адреса из этой сети нельзя присваивать физическим сетевым интерфейсам. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Организация подсетей | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Очень редко в локальную вычислительную сеть входит более 100-200 узлов: даже если взять сеть с большим количеством узлов, многие сетевые среды накладывают ограничения, например, в 1024 узла. Исходя из этого, целесообразность использования сетей класса А и В весьма сомнительна. Да и использование класса С для сетей, состоящих из 20-30 узлов, тоже является расточительством. Для решения этих проблем в двухуровневую иерархию IP-адресов (сеть -- узел) была введена новая составляющая -- подсеть. Идея заключается в "заимствовании" нескольких битов из узловой части адреса для определения подсети. Полный префикс сети, состоящий из сетевого префикса и номера подсети, получил название расширенного сетевого префикса. Двоичное число, и его десятичный эквивалент, содержащее единицы в разрядах, относящихся к расширенному сетевому префиксу, а в остальных разрядах -- нули, назвали маской подсети. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В точечно-десятичной нотации маску удобно записывать лишь в том случае, когда расширенный префикс заканчивается на границе октетов, в других случаях ее расшифровать сложнее : | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Очевидно, что намного удобнее обозначать маску в виде "/xx", где xx - количество бит расширенного сетевого префикса. В нашем случае 160.160.30.3/26, вместо 160.160.30.3 и 255.255.255.192. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Непредвиденные ограничения классовой адресации | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Первые разработчики адресации никогда не могли представить себе, что сеть Интернет вырастет до таких размеров, какие она имеет на сегодняшний день. Во времена юности Интернет, кажущееся безграничным адресное пространство позволяло распределять IP-адреса между организациями на основе требований, а не реальной необходимости. В результате, адреса назначались свободно тем, кто их запрашивал, без опасений о возможном исчерпании адресного пространства протокола IP. Классовая организация сетей A, B и C с их разделением сетей и узлов в сети на границах байта была легка для понимания и внедрения, но не благоприятствовала эффективному распределению конечного адресного пространства. Отсутствие класса сети, специально разработанного для поддержки средних организаций, также повлекло ряд проблем. Сеть с префиксом /24, поддерживающая 254 узла - слишком мала, в то время как сеть с префиксом /16, поддерживающая 65534 узла - слишком велика. В прошлом, организациям с несколькими сотнями компьютеров назначалась сеть с префиксом /16, вместо пары сетей с префиксом /24. К сожалению, это закончилось преждевременным истощением адресного пространства сетей с префиксом /16. Единственными легко доступными адресами для средних организаций стали сети с префиксом /24, которые, в свою очередь, имеют негативное потенциальное влияние, выражающееся в увеличении размера глобальных таблиц маршрутизации сети Интернет. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
К содержанию... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Описание программы | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Из всего вышеизложенного следует, что по IP - адресу можно найти его владельца, информацию о местонахождении хоста и т.п. Информация о распределенных адресах общедоступна и находится на сайтах RIR и LIR. Чтобы автоматизировать процесс поиска надо обработать эти базы какой-нибудь СУБД. Максимальное количество записей - 232 = 4294967296. Но все адреса хранить не надо - вычтем зарезервированные адреса, класс D и E, а также учтем "нераспределенные" адреса. Для обработки этих баз вполне подойдет FoxPro - мощная и быстрая среда для разработки приложений баз данных. Существование автономных систем позволяет определить расположение хоста с точностью до города. Например, возьмем в качестве автономной системы провайдера Интернет. Как было написано выше, пользователь, связанный только с одним сервис - провайдером, должен принадлежать к общей с ним автономной системе. У нас в городе тридцать провайдеров… А что если автономная система расположена в нескольких городах или странах? Тогда найти расположение хоста поможет трассировка : она даст нам цепочку адресов маршрутизаторов, последний из которых будет находится в одном городе с искомым адресом (из-за определения автономной системы). Но таких автономных систем очень мало. Теперь можно приступить к программированию. Информация от 1 апреля 2003 года. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Занесение данных в таблицу. (ReadFile) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Исходная таблица "Temp" содержит следующие поля: Имя Тип Ширина "Rir" character 8 (название регионального регистранта) "c_2" character 2 (название страны в двухбукв. коде) "a_type" character 4 (Ipv4) "ip" character 15 (dotted decimal ip address) "ip_count" numeric 10 (количество адресов, начиная с данного) "date" character 10 (дата распределения) "property" character 10 (allocated/assigned) Процедура удаляет лишние записи: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поиск ошибок. (IsIntersect) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Отсортируем данные по номеру сети (поле "n_ip"). Виды ошибок: ![]() ![]() Поля таблицы результатов "res_i": par_rir character 8 (rir предыдущей сети) aff_rir character 8 (rir текущей сети) par_c_2 character 2 (страна предыдущей сети) par_ip character 15 (ip-адрес предыдущей сети) par_ip_c numeric 10 (количество адресов предыдущей сети) aff_c_2 character 2 (страна текущей сети) aff_ip character1 5 (ip-адрес текущей сети) aff_ip_c numeric 10 (количество адресов текущей сети) property character 10 (equal/inside/imposing) После занесения ошибок в таблицу res_i, можно их исправлять. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Исправление ошибок. (Correction) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Результаты заносятся в промежуточную таблицу "tbase". Если сети не пересекаются, то предыдущую запись заносим в промежуточную таблицу. Если сети равны, то ничего не делаем. Если предыдущая сеть внутри текущей и они находятся в разных странах, то предыдущую запись заносим в промежуточную таблицу, а текущая сеть будет начинаться с конца предыдущей. Если предыдущая внутри текущей и они в одной стране, то объединяем их. Если текущая внутри предыдущей и они в одной стране, то ничего не делаем. Если текущая внутри предыдущей и они в разных странах, то текущую разбиваем на сети : ![]() Если сети пересекаются и в одной стране, то объединяем их. Если сети пересекаются и в разных странах, то расширяем меньшую: ![]() После исправления ошибок 51202 записей (промежуточная таблица "tbase"). Поля таблицы "tbase" : c_2 character 2 n_ip numeric 12 ip_count numeric 10 Чтобы ускорить поиск, можно модифицировать данные - объединить сети, находящиеся в одной стране. Так как все ошибки исправлены, может быть два расположения сетей одной относительно другой. ![]() ![]() Сети расположены "рядом", если номер следующей сети = номер предыдущей сети + количество узлов предыдущей сети. Объединяем сети, если они расположены рядом. Возможное количество сетей после объединения вычисляет процедура "myUnion". Результаты работы этой процедуры заносятся в файл "res_union". Поля таблицы "res_union" : Country character 2 (название страны в двухб. коде) Init_count numeric 10 (исходное количество сетей) New_count numeric 10 (минимальное количество сетей) Процедура объединения сетей называется "Associate", которая заносит результаты в файл "ttbase". Таблица "ttbase" является окончательной. В ней около 17000 записей. Поля таблицы "ttbase" : C_2 character 2 (название страны в двухбуквенном коде) N_ip numeric 12 (номер сети) Ip_count numeric 10 (количество адресов в сети) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Результат | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
По такой таблице процедура поиска "get_country" работает довольно быстро. В качестве теста была выбрана таблица логов одного WEB-сервера, в которой было зафиксировано около 44000 запросов (то есть адреса, находящиеся там реально существуют). Тесты проводились на компьютере со следующими параметрами: Pentium4 1,6 Гц, 512 Мб RAM под управлением Windows 2000 Service Pack 3. Функция обработала таблицу за 5 секунд, то есть за 1 секунду обрабатывается проядка 10000 записей. Для 1404 адресов страна не была найдена, что составляет около 3,2% от всех адресов таблицы. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
К содержанию... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Программа (коды процедур) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Подготовка и оптимизация таблиц | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процедура поиска | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
К содержанию... | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Заключение | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Данные о распределенных ip-адресах общедоступны и находятся на сайтах региональных регистрантов (указаны в основной части работы). Информация, полученная мной 1 апреля 2003 года, заняла в таблице (исходная таблица "temp") около 52000 записей. После исправления ошибок (их виды указаны в основной части), в промежуточной таблице "tbase" осталось около 51000 записей. После объединений сетей внутри каждой страны, в основную таблицу "ttbase" было занесено около 17000 записей. Всего в таблице "ttbase" 1866074083 адреса, что составляет примерно 43% адресного пространства. То есть для 43% адресов можно узнать географическое расположение. Используя среду разработки приложений баз данных FoxPro, я создала функцию cc = get_country (table_name,dot_dec_ip), которая по запрашиваемому ip-адресу находит страну, в которой этот адрес находится. В качестве теста была выбрана таблица логов одного WEB-сервера, в которой было зафиксировано чуть больше 44000 запросов (то есть адреса, находящиеся там реально существуют). Тесты проводились на компьютере со следующими параметрами: Pentium4 1,6 Гц, 512 Мб RAM под управлением Windows 2000 Service Pack 3. Функция обработала таблицу за 5 секунд, то есть за 1 секунду обрабатывается проядка 10000 записей. Для 1404 адресов страна не была найдена, что составляет около 3,2% от всех адресов таблицы. Хорошо посещаемый российский WEB-сайт имеет несколько тысяч обращений в день, хорошо "раскрученный" западный WEB-сайт (например, www.microsoft.com ) имеет 2-3 миллиона запросов в месяц (т.е. до 10000 запросов в день) Эта функция может использоваться любым приложением, поддерживающим ActiveX. Например, можно создать сайт на WEB-сервере, который бы динамически находил страну, из которой идет запрос на сервер. Можно было бы создать статистику о посещении сайта представителями разных стран, и на основе этой статистики соответствующе изменить информацию сайта (например, если сайт создавался для англоязычной публики, а на сайт заходят преимущественно русские, можно было бы создать вариант этого сайта на русском языке, или добавить информацию специально для русскоязычной аудитории). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
К содержанию... |