История создания сети Интернет
Прародителем Интернет можно назвать организацию ARPA (Advanced Research Projects Agency) - Агентство передовых исследовательских проектов в области обороны при Министерстве обороны США (DOD), это агентство затем было переименовано в DARPA (Defense Advanced Research Projects Agency). Под эгидой (и финансированием) этого агентства была создана сеть ARPANET (Advanced Research Projects Agency NETwork).
В декабре 1969 г. были объединены четыре узла этой сети: UCLA - Центр испытаний сети, Станфордский исследовательский институт, университет Санта-Барбары и университет Юта. Через год их стало уже пятнадцать, и они использовали для обмена пакетами протокол NCP - Network Control Protocol.
Цель ARPANET состояла в том, чтобы дать возможность подрядчикам, университетам и сотрудникам Министерства обороны, участвующим в исследованиях и разработках оборонного характера, поддерживать связь по компьютерным сетям и совместно использовать вычислительные ресурсы тех немногих на то время мощных компьютеров, которые находились в разных географических точках.
В 1975 году экспериментальную сеть объявили рабочей, причем ответственность за нее была возложена на DCA (Агентство Оборонной связи США). Одновременно, специалисты занялись разработкой основ TCP/IP (Transmission Control Protocol/Internet Protocol — Протоколы управления процессом передачи/Internet-протокол).
Столь перспективные и интересные разработки привлекали внимание различных исследователей и исследовательских групп. DARPA систематически собирало неформальные встречи с ними для обмена идеями и обсуждения результатов экспериментов. С 1979 года в проект TCP/IP включилось так много исследователей, что DARPA образовало неформальный комитет для координации и управления разработкой протоколов и архитектур развивающегося объединенного Интернета. Названная Группа по Конфигурации и Управлению Интернетом (ICCB), эта группа регулярно собиралась до 1983 года, когда она была реорганизована и была организована Группа Активности Интернета (IAB - Internet Activities Board).
В 1983 году протоколы TCP/IP были приняты в качестве Военных Стандартов США (MIL STD), после чего от всех хостов (компьютеров), подключенных к APRANET стали требовать работать только с данными протоколами.
Одновременно стал распространяться термин «Internet», в то время APRANET была разделена на две отдельных сети: MILNET (Военная Сеть) — несекретная часть Оборонной Сети Передачи данных (DDN) и новую (уменьшенных размеров) APRANET. Термин Internet употребляли тогда, когда имели в виду сразу обе сети. ARPANET стала прообразом современного Интернета.
В 1985 г. под эгидой Национального научного фонда США (National Science Foundation, NSF) на основе технологии ARPANET была создана сеть NSFNET (the National Science Foundation NETwork –Сеть Национального научного фонда), в создании которой приняли непосредственное участие NASA и Министерство энергетики. Было соединено шесть крупных научно-исследовательских центров, оснащенных новейшими суперкомпьютерами, расположенных в разных регионах США.
Основной целью создания этой сети было предоставление доступа к вычислительным ресурсам фонда (суперкомпьютерам) исследователям различных университетов США. Фонд поставил задачу, чтобы каждый ученый, каждый инженер в США оказались «подключены» к единой сети, а потому приступили к созданию сети с более быстрыми каналами, которая бы объединила многочисленные региональные и локальные сети. Это была первая инициатива, направленная на то, чтобы обеспечить широчайшему спектру научных организаций качественное и надежное соединение с Интернетом, и сеть NSFNET получила название Internet backbone (слово «backbone» означает «хребет», но в области телекоммуникаций наиболее распространенным вариантом перевода этого термина является словосочетание «опорная сеть»).
Получившаяся сущность, известная как объединенный Интернет, Интернет DARPA/NSF, Интернет TCP/IP, или просто Интернет, позволяет исследователям всех связанных институтов разделять информацию с коллегами по всей стране так же легко, как если бы они были в соседней комнате.
Важность создания NSFNET трудно переоценить. До появления первой опорной сети Интернет больше всего напоминал лоскутное одеяло, состоявшее из специализированных сетей, соединенных между собой в самых неожиданных местах. Инициатива NSF не предусматривала каких-либо функций, кроме транспортных, ее целью было исключительно объединение разрозненных сегментов в единое целое. Результат не замедлил сказаться –именно в 1985 году резко увеличилось количество подключенных к Сети организаций.
К этому времени основная цель опорной сети NSF состояла в том, чтобы обеспечить связь между растущими региональными сетями, созданы различными университетскими системами. Термин "Интернет" начал употребляться с 1983 года для обозначения концепции взаимно коммутируемых сетей.
В мае 1993 года NSF радикальным образом изменил архитектуру Интернета, поскольку правительство не хотело больше иметь дела с системами опорной сети. Вместо нее NSF выделило ряд «точек доступа в сеть» (NAP), в которых могли бы взаимодействовать друг с другом частные коммерческие опорные сети. В 1994 году NSF объявил о строительстве четырех NAP в Сан-Франциско, Нью-Йорке, Чикаго и Вашингтоне, округ Колумбия. Заказ NSF на четыре точки доступа в сеть был выполнен Ameritech, PacBell, Sprint и MFS Datanet. Дополнительная точка доступа, известная под названием MAE-West, была создана MFS Dananet на Западном побережье.
Опорная сеть NSFNET была практически закрыта, а архитектура NAP превратилась в Интернет.
Настоящий “расцвет” Интернета произошел с созданием World Wide Web (WWW) –всемирной
паутины Интернет, основанный на технологии гипертекстовых документов, позволяющей пользователям Интернет иметь удобный доступ к любой информации, находящейся в глобальной сети. И если первоначально сети были в основном предназначены для удаленного доступа к суперкомпьютерам (сервис Telnet), то сейчас основной сервис Интернет –это WWW.
Архитектура:
На этой лекции рассматриваются принципы работы сети Интернет. Интернет можно определить как множество локальных сетей, объединенных между собой. С точки зрения физических соединений, они могут иметь самую разную природу. Начиная от модемных соединений по телефонной линии (до 50 кбит/с) и заканчивая связью через спутники. В пределах одного здания для создания сети обычно используют широко известные спецификации локальных сетей (Ethernet, FDDI, Token Ring). Между географически удаленными машинами проще всего использовать выделенную телефонную линию, либо радиорелейную связь.
Как же передаются данные между компьютерами? Случай, когда две машины включены в одну локальную сеть понятен и рассматривался на предыдущей лекции. В случае удаленных машин, не имеющих между собой прямого соединения данные проходят через промежуточные машины, называемые мостами или маршрутизаторами. Эти машины обычно являются мощными серверами с сетевыми операционными системами (например, Unix) и постоянно включенным питанием. Множество компьютеров может быть представлено в виде графа, в котором длине ребра можно сопоставить время передачи единицы данных между двумя машинами. Тогда в общем случае задача передачи данных между двумя компьютерами сводится к задаче нахождения кратчайшего пути в графе. Процесс выбора следующей машины на пути следования данных называется процессом маршрутизации и будет рассмотрен ниже. Большим достоинством Интернет, является то, что пути могут выбираться разными способами и, например, в случае поломки одного из маршрутизаторов, данные могут идти в обход его.
TCP/IP
Для возможности работы приложений на разных компьютерах, использующих разные сетевые соединения используется протокол TCP/IP. Если Интернет не имеет определенной спецификации с точки зрения физических соединений его можно четко определить на логическом уровне. Как правило считается, что компьютер имеет полноценное подключение к Интернет, если на нем поддерживается протокол передачи данных TCP/IP. Драйвера этого протокола могут быть установлены на любой операционной системе. Использование унифицированных функций делает задачу программирования передачи данных в Интернет крайне простой. Все что нужно программисту, это вызвать функцию, передав ей массив с данными и адрес машины, куда их нужно передать.
Также как и в случае с локальными сетями данные разбиваются на пакеты, длиной обычно 576 байт. Каждый пакет имеет заголовок и тело. Основная информация, присутствующая в заголовке, это адреса отправителя и получателя и порты отправителя и получателя. Работу TCP/IP можно сравнить с работой обычной почты. Письмо - это пакет, заголовок - надписи на конверте, адреса соответствуют полям куда и откуда, номера портов - кому и от кого. Также как и в случае с почтой, где отправитель опускает свое письмо в почтовый ящик, после чего всю заботу о его доставке берет на себя почтовая служба, программист передает свои данные протоколу TCP/IP, после чего эта система сама производит пересылку данных.
Протокол TCP является надстройкой над протоколом IP и использует его в своей работе. Он обеспечивает гарантированную доставку данных, однако, из-за этого более медлителен. Кроме TCP может использоваться протокол UDP, также являющейся надстройкой над IP. Основные свойства и отличия этих протоколов указаны в таблице:
Критерий IP/ICMP UDP TCP
Установка логического соединения - - +
Сообщения + + -
Контрольная сумма - + +
Уведомление - - +
Повторная передача - - +
Определение раздвоений - - +
Последовательность передачи - - +
Определение оптимальных порций данных - - +
IP адрес, порт
Адрес машины в Интернет представляет собой 4 байтовых числа, разделенных точками, например 193.124.214.99 (адрес 1-ой машины в классе cctelcom) и называется IP адресом. Каждая машина, имеющая подключение к Интернет имеет собственный уникальный адрес, из чего следует что таких машин может быть не более 4 млрд. В связи с этим в последнее время встает вопрос о нехватке адресов и переходу к новому протоколу с более длинным адресом. Хотя имеются программные средства использование целого сегмента машин, с выделением им всего одного IP адреса. В IP адресе определенное количество младших бит (обычно восемь) соответсвует номеру компьютера, остальные задают адрес сети. Это разбиение задается т.н. маской сети, представляющей собой 4 байтовых числа, где вместо адреса сети выставляются 1-цы, а биты, задающие номер машины устанавливаются в 0. Для случая, когда адрес машины задается последним байтом, маска сети рана 255.255.255.0. Это означает, что две соседние машины в сети могут иметь, например, такие адреса: 193.124.214.99 и 193.124.214.100 (ws01 и ws02). Кроме того существуют специальные зарезервированные адреса, например, адрес 127.0.0.1 всегда соответствует адресу локальной машины.
Порт является понятием логическим и представляет собой двухбайтовое целое число (0-65535). Он является частью адреса и нужен для распределения пакетов между разными приложениями в пределах одного компьютера. Например, если у вас в Windows 95 запущено два окна приложения Netscape, то приходящие к ним пакеты с данными будут отличаться номерами портов. Номера портов в пределах первой тысячи являются зарезервированными и используются такими службами, как FTP - 21, Telnet - 23, HTTP - 80. Это означает, что на сервере постоянно запущенны программы, обрабатывающие запросы к этим службам, которые реагируют на пакеты, пришедшие на их адрес порта. В качестве задания к настоящей лекции предлагается при помощи утилиты IPprober посмотреть, какие службы работают на ближайщем сервере.
Маршрутизация
На всех промежуточных машинах по пути следования пакета с данными (маршрутизаторах) исполняется специальное программное обеспечение, обеспечивающее передачу IP пакетов (маршрутизацию). Решение задачи маршрутизации производится разными алгоритмами, с использованием различных соглашений. Общей частью всех этих протоколов является таблица маршрутизации. Ниже показана таблица маршрутизации, выведенная коммандой route на сервере cctelcom.nsu.ru.
Abuse:.../cherny$ /sbin/route
Kernel IP routing table
Destination Gateway Genmask Metric Iface
193.124.214.96 * 255.255.255.224 0 eth1
193.124.218.160 * 255.255.255.224 0 eth2
193.124.215.0 * 255.255.255.0 0 eth0
127.0.0.0 * 255.0.0.0 0 lo
default cisco.nsu.ru 0.0.0.0 1 eth0
При получении пакета, ему находится соответствующая запись в таблице и он отправляется дальше на машину с адресом в поле Gateway и через сетевую плату, указанную в поле Interface. Сопоставление адреса назначения в пакете и строки происходит по полям Destination и Genmask. При этом выполняется операция побитового логического и между адресом назначения и маской подсети (Genmask). Полученное число сравнивается с полем Destination и в случае равенства берется эта строка в таблице. Если адресу соответствует две и более строки, то из них берется строка с наибольшей маской (например, строка deafault соответствует всем адресам, но она берется в последнюю очередь). В приведенном выше примере на сервере стоит три сетевые карты. Первая (eth1) и вторая (eth2) соединяются с подсетями в классах 212 и 301. Третья (eth0) выходит во внешнюю сеть Университета.
Таблицы могут быть динамическими и могут меняться в зависимости от загрузки и состояния сетей. Это означает, что пакеты могут идти разными путями между одними и теми же машинами. Вырожденный случай таблицы маршрутизации присутствует на каждой рабочей станции и также используется для передачи данных. В Unix и Windows 95 эту таблицу можно посмотреть при помощи команды route.
Путь прохождения пакета можно отследить при помощи утилиты traceroute. Она последовательно посылает пакеты к адресу назначения, увеличивая каждый раз на единицу значения числа в поле "время жизни". Это поле при прохождении через очередной маршрутизатор уменьшается на единицу и по достижению 0, пакет дальше не передается, а отсылается обратно к отправителю.
Когда пакет доходит до сети назначения, он больше не передается на шлюз, а отправляется машине - получателю по ее Ethernet адресу. Задача получения Ethernet адреса по известному IP адресу решается при помощи протокола ARP (Address Resolution Protocol). В рамках этого протокола всем машинам в сети рассылается широковещательный запрос (broadcast), в котором указан IP адрес искомой машины. Каждая машина при получении такого запроса сравнивает указанный в нем IP адрес с собственным адресом и посылает ответ если они совпали. Это означает, в частности, что в принципе можно задать произвольно последний байт в IP адресе, что может быть полезным для входа на системы, имеющие ограничения на вход с определенных доменов (описание доменов см. ниже). Существует также и обратный протокол RARP, используемый, например, для определении IP адреса при загрузке системы посредством BOOTP.
Доменная Система Имен (DNS)
Числовые IP адреса не слишком удобны для использования человеком и, поэтому, кроме них широко используются символьные или т.н. доменные адреса. Такой адрес представляет собой последовательность строк, разделенных точками, например cctelcom.nsu.ru. Каждая часть этого адреса определяет соответствующий домен. Это можно проиллюстрировать набором вложенных концентрических окружностей. Самая внешняя соответствует самой правой части адреса, и в приведенном примере, отвечает всем машинам в Росси. Следующая соответствует компьютерам в пределах НГУ и последняя определяет либо конкретный сервер cctelcom, либо домен машин компьютерного класса, т.к. может быть, например, машина с адресом ws01.cctelcom.nsu.ru.
Прежде чем данные пойдут к указанному доменному адресу, его необходимо преобразовать к числовому IP адресу. Эта задача решается посредством DNS серверов. Обычно каждая крупная подсеть имеет свой собственный DNS сервер, обрабатывающий запросы всех близлежайщих машин. Все приложения автоматически разрешают эту задачу, что делает возможным работу с символьными адресами. Понятно, что на DNS сервере не может храниться информация по адресам всех машин в Интернет. Когда DNS сервер не может разрешить адрес, он отправляет запрос на другой DNS сервер отвечающий за адреса соответствующие самому верхнему домену (в данном случае, отвечающий за адреса всех компьютеров в России). Тот в свою очередь перенаправляет запрос рекурсивно на следующий сервер более низкого уровня. Таким образом задача разрешения адреса может выполнять достаточно долго. Однако этот адрес запоминается в КЭШ памяти DNS сервера, и, поэтому, следующий запрос на этот же адрес обрабатывается уже мгновенно. DNS сервера также могут решать и обратную задачу. Распределением адресов занимаются уполномоченные для этого люди. Утилита, выполняющая преобразование адресов называется nslookup (lookup).
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|