Windows. Железо. Интернет. Безопасность. Программы
  • Главная
  • Windows 8
  • Общие принципы устройства сети (для совсем новичков). Монтаж компьютерной сети: пособие для чайников Как работает сеть интернет

Общие принципы устройства сети (для совсем новичков). Монтаж компьютерной сети: пособие для чайников Как работает сеть интернет

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

Два провайдера, один работает по GPON, ONT может стоять в доме на чердаке, к абонентам витая пара или дома у абонента, если тариф гигабит, белые динамические ip адреса по dhcp, нет привязки по mac-адресу. Каждый абонент имеет свой влан client-VLAN, а ONT имеет свой влан, т.е по QinQ работает.
А второй провайдер по ethernet, абоненты с одного или нескольких свитчей могут быть в одном влане, по территориальному признаку, серые ip адреса также по dhcp, с привязкой по mac-адресу и с iptv по мультикасту.

1. Есть ли госты\международные стандарты по тому, как провайдер должен построить сеть или хотя бы как делают умные ребята и как делать не нужно? Стоит ли для каждого абонента делать отдельный влан или объединять группы абонентов в широковещательные домены? Какие плюсы и минусы для каждого из способов для провайдера и для абонента?
2. От чего зависит выбор как строить сеть на физическом и логическом уровне?
3. Связанно это с типом кабеля? Или можно и для оптики сделать, чтобы абоненты были в одном широковещательном домене (с одного района например), а те, что по витой паре наоборот для каждого отдельный влан?
4. У первого провайдера ip адреса динамические, т.е есть какой то пул, который ему выделили для абонентов и клиент получает тот, который свободен сейчас? у второго провайдера также из пула адресов выдается ip или все выходят под одним и тем же? Это связанно с тем, что у второго просто закончились ip адреса из за большего количества пользователей и первый провайдер тоже всех за NAT переведет, когда клиентов станет много? Как крупные провайдеры используют ip диапазон, динамические ip или за nat (понятно, что они выкупают маленьких провайдеров и везде по разному, есть ли стандарт к которому они стремятся или должны стремится или если все работает, то и так сойдет?)
5. По поводу iptv. У меня дома роутер с днс от гугл, от него кабель к Smart TV и у провайдера есть собственное приложение для просмотра. Проблема была в том, что у меня не было списка каналов и решилось тем, что я поставил днс на роутере от провайдера, как объяснили в ТП это было связанно с тем, что так как у меня серый IP он соответствовал адресу NAS и так как этот адрес не соответствовал адресу никакому из абонентов, то список был пуст. Но разве может быть выдан адрес NAS абоненту? это же просто сетевое хранилище, бред или нет? проверил свой IP на сайте и попросил друга подключенного к этому же провайдеру с моего дома, проверить. у нас были разные ip. значит техподдержка врет?(это второй провайдер, да со статическим ip все бы работало, но мне интересно, что не так с серыми ip)

  • Tutorial

Всем привет. На днях возникла идея написать статьи про основы компьютерных сетей, разобрать работу самых важных протоколов и как строятся сети простым языком. Заинтересовавшихся приглашаю под кат.


Немного оффтопа: Приблизительно месяц назад сдал экзамен CCNA (на 980/1000 баллов) и осталось много материала за год моей подготовки и обучения. Учился я сначала в академии Cisco около 7 месяцев, а оставшееся время вел конспекты по всем темам, которые были мною изучены. Также консультировал многих ребят в области сетевых технологий и заметил, что многие наступают на одни и те же грабли, в виде пробелов по каким-то ключевым темам. На днях пару ребят попросили меня объяснить, что такое сети и как с ними работать. В связи с этим решил максимально подробно и простым языком описать самые ключевые и важные вещи. Статьи будут полезны новичкам, которые только встали на путь изучения. Но, возможно, и бывалые сисадмины подчеркнут из этого что-то полезное. Так как я буду идти по программе CCNA, это будет очень полезно тем людям, которые готовятся к сдаче. Можете держать статьи в виде шпаргалок и периодически их просматривать. Я во время обучения делал конспекты по книгам и периодически читал их, чтобы освежать знания.

Вообще хочу дать всем начинающим совет. Моей первой серьезной книгой, была книга Олиферов «Компьютерные сети». И мне было очень тяжело читать ее. Не скажу, что все было тяжело. Но моменты, где детально разбиралось, как работает MPLS или Ethernet операторского класса, вводило в ступор. Я читал одну главу по несколько часов и все равно многое оставалось загадкой. Если вы понимаете, что какие то термины никак не хотят лезть в голову, пропустите их и читайте дальше, но ни в коем случае не отбрасывайте книгу полностью. Это не роман или эпос, где важно читать по главам, чтобы понять сюжет. Пройдет время и то, что раньше было непонятным, в итоге станет ясно. Здесь прокачивается «книжный скилл». Каждая следующая книга, читается легче предыдущей книги. К примеру, после прочтения Олиферов «Компьютерные сети», читать Таненбаума «Компьютерные сети» легче в несколько раз и наоборот. Потому что новых понятий встречается меньше. Поэтому мой совет: не бойтесь читать книги. Ваши усилия в будущем принесут плоды. Заканчиваю разглагольствование и приступаю к написанию статьи.

Вот сами темы

1) Основные сетевые термины, сетевая модель OSI и стек протоколов TCP/IP.
2)
3)
4)
5)
6)
7)
8)
9) Маршрутизация: статическая и динамическая на примере RIP, OSPF и EIGRP.
10) Трансляция сетевых адресов: NAT и PAT.
11) Протоколы резервирования первого перехода: FHRP.
12) Безопасность компьютерных сетей и виртуальные частные сети: VPN.
13) Глобальные сети и используемые протоколы: PPP, HDLC, Frame Relay.
14) Введение в IPv6, конфигурация и маршрутизация.
15) Сетевое управление и мониторинг сети.

P.S. Возможно, со временем список дополнится.


Итак, начнем с основных сетевых терминов.

Что такое сеть? Это совокупность устройств и систем, которые подключены друг к другу (логически или физически) и общающихся между собой. Сюда можно отнести сервера, компьютеры, телефоны, маршрутизаторы и так далее. Размер этой сети может достигать размера Интернета, а может состоять всего из двух устройств, соединенных между собой кабелем. Чтобы не было каши, разделим компоненты сети на группы:

1) Оконечные узлы: Устройства, которые передают и/или принимают какие-либо данные. Это могут быть компьютеры, телефоны, сервера, какие-то терминалы или тонкие клиенты, телевизоры.

2) Промежуточные устройства: Это устройства, которые соединяют оконечные узлы между собой. Сюда можно отнести коммутаторы, концентраторы, модемы, маршрутизаторы, точки доступа Wi-Fi.

3) Сетевые среды: Это те среды, в которых происходит непосредственная передача данных. Сюда относятся кабели, сетевые карточки, различного рода коннекторы, воздушная среда передачи. Если это медный кабель, то передача данных осуществляется при помощи электрических сигналов. У оптоволоконных кабелей, при помощи световых импульсов. Ну и у беспроводных устройств, при помощи радиоволн.

Посмотрим все это на картинке:

На данный момент надо просто понимать отличие. Детальные отличия будут разобраны позже.

Теперь, на мой взгляд, главный вопрос: Для чего мы используем сети? Ответов на этот вопрос много, но я освещу самые популярные, которые используются в повседневной жизни:

1) Приложения: При помощи приложений отправляем разные данные между устройствами, открываем доступ к общим ресурсам. Это могут быть как консольные приложения, так и приложения с графическим интерфейсом.

2) Сетевые ресурсы: Это сетевые принтеры, которыми, к примеру, пользуются в офисе или сетевые камеры, которые просматривает охрана, находясь в удаленной местности.

3) Хранилище: Используя сервер или рабочую станцию, подключенную к сети, создается хранилище доступное для других. Многие люди выкладывают туда свои файлы, видео, картинки и открывают общий доступ к ним для других пользователей. Пример, который на ходу приходит в голову, - это google диск, яндекс диск и тому подобные сервисы.

4) Резервное копирование: Часто, в крупных компаниях, используют центральный сервер, куда все компьютеры копируют важные файлы для резервной копии. Это нужно для последующего восстановления данных, если оригинал удалился или повредился. Методов копирования огромное количество: с предварительным сжатием, кодированием и так далее.

5) VoIP: Телефония, работающая по протоколу IP. Применяется она сейчас повсеместно, так как проще, дешевле традиционной телефонии и с каждым годом вытесняет ее.

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

1) Загрузчики. Это файловые менеджеры, работающие по протоколу FTP, TFTP. Банальный пример - это скачивание фильма, музыки, картинок с файлообменников или иных источников. К этой категории еще можно отнести резервное копирование, которое автоматически делает сервер каждую ночь. То есть это встроенные или сторонние программы и утилиты, которые выполняют копирование и скачивание. Данный вид приложений не требует прямого человеческого вмешательства. Достаточно указать место, куда сохранить и скачивание само начнется и закончится.

Скорость скачивания зависит от пропускной способности. Для данного типа приложений это не совсем критично. Если, например, файл будет скачиваться не минуту, а 10, то тут только вопрос времени, и на целостности файла это никак не скажется. Сложности могут возникнуть только когда нам надо за пару часов сделать резервную копию системы, а из-за плохого канала и, соответственно, низкой пропускной способности, это занимает несколько дней. Ниже приведены описания самых популярных протоколов данной группы:

FTP- это стандартный протокол передачи данных с установлением соединения. Работает по протоколу TCP (этот протокол в дальнейшем будет подробно рассмотрен). Стандартный номер порта 21. Чаще всего используется для загрузки сайта на веб-хостинг и выгрузки его. Самым популярным приложением, работающим по этому протоколу - это Filezilla. Вот так выглядит само приложение:


TFTP- это упрощенная версия протокола FTP, которая работает без установления соединения, по протоколу UDP. Применяется для загрузки образа бездисковыми рабочими станциями. Особенно широко используется устройствами Cisco для той же загрузки образа и резервных копий.

Интерактивные приложения. Приложения, позволяющие осуществить интерактивный обмен. Например, модель «человек-человек». Когда два человека, при помощи интерактивных приложений, общаются между собой или ведут общую работу. Сюда относится: ICQ, электронная почта, форум, на котором несколько экспертов помогают людям в решении вопросов. Или модель «человек-машина». Когда человек общается непосредственно с компьютером. Это может быть удаленная настройка базы, конфигурация сетевого устройства. Здесь, в отличие от загрузчиков, важно постоянное вмешательство человека. То есть, как минимум, один человек выступает инициатором. Пропускная способность уже более чувствительна к задержкам, чем приложения-загрузчики. Например, при удаленной конфигурации сетевого устройства, будет тяжело его настраивать, если отклик от команды будет в 30 секунд.

Приложения в реальном времени. Приложения, позволяющие передавать информацию в реальном времени. Как раз к этой группе относится IP-телефония, системы потокового вещания, видеоконференции. Самые чувствительные к задержкам и пропускной способности приложения. Представьте, что вы разговариваете по телефону и то, что вы говорите, собеседник услышит через 2 секунды и наоборот, вы от собеседника с таким же интервалом. Такое общение еще и приведет к тому, что голоса будут пропадать и разговор будет трудноразличимым, а в видеоконференция превратится в кашу. В среднем, задержка не должна превышать 300 мс. К данной категории можно отнести Skype, Lync, Viber (когда совершаем звонок).

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

Теперь посмотрим и разберем виды топологии:

1) Топология с общей шиной (англ. Bus Topology)


Одна из первых физических топологий. Суть состояла в том, что к одному длинному кабелю подсоединяли все устройства и организовывали локальную сеть. На концах кабеля требовались терминаторы. Как правило - это было сопротивление на 50 Ом, которое использовалось для того, чтобы сигнал не отражался в кабеле. Преимущество ее было только в простоте установки. С точки зрения работоспособности была крайне не устойчивой. Если где-то в кабеле происходил разрыв, то вся сеть оставалась парализованной, до замены кабеля.

2) Кольцевая топология (англ. Ring Topology)


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

3) Топология звезда (англ. Star Topology)


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

4)Полносвязная топология (англ. Full-Mesh Topology)


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

5)Неполносвязная топология (англ. Partial-Mesh Topology)


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

6) Смешанная топология (англ. Hybrid Topology)


Самая популярная топология, которая объединила все топологии выше в себя. Представляет собой древовидную структуру, которая объединяет все топологии. Одна из самых отказоустойчивых топологий, так как если у двух площадок произойдет обрыв, то парализована будет связь только между ними, а все остальные объединенные площадки будут работать безотказно. На сегодняшний день, данная топология используется во всех средних и крупных компаниях.

И последнее, что осталось разобрать - это сетевые модели. На этапе зарождения компьютеров, у сетей не было единых стандартов. Каждый вендор использовал свои проприетарные решения, которые не работали с технологиями других вендоров. Конечно, оставлять так было нельзя и нужно было придумывать общее решение. Эту задачу взвалила на себя международная организация по стандартизации (ISO - International Organization for Standartization). Они изучали многие, применяемые на то время, модели и в результате придумали модель OSI , релиз которой состоялся в 1984 году. Проблема ее была только в том, что ее разрабатывали около 7 лет. Пока специалисты спорили, как ее лучше сделать, другие модели модернизировались и набирали обороты. В настоящее время модель OSI не используют. Она применяется только в качестве обучения сетям. Мое личное мнение, что модель OSI должен знать каждый уважающий себя админ как таблицу умножения. Хоть ее и не применяют в том виде, в каком она есть, принципы работы у всех моделей схожи с ней.

Состоит она из 7 уровней и каждый уровень выполняет определенную ему роль и задачи. Разберем, что делает каждый уровень снизу вверх:

1) Физический уровень (Physical Layer): определяет метод передачи данных, какая среда используется (передача электрических сигналов, световых импульсов или радиоэфир), уровень напряжения, метод кодирования двоичных сигналов.

2) Канальный уровень (Data Link Layer): он берет на себя задачу адресации в пределах локальной сети, обнаруживает ошибки, проверяет целостность данных. Если слышали про MAC-адреса и протокол «Ethernet», то они располагаются на этом уровне.

3) Сетевой уровень (Network Layer): этот уровень берет на себя объединения участков сети и выбор оптимального пути (т.е. маршрутизация). Каждое сетевое устройство должно иметь уникальный сетевой адрес в сети. Думаю, многие слышали про протоколы IPv4 и IPv6. Эти протоколы работают на данном уровне.

4) Транспортный уровень (Transport Layer): Этот уровень берет на себя функцию транспорта. К примеру, когда вы скачиваете файл с Интернета, файл в виде сегментов отправляется на Ваш компьютер. Также здесь вводятся понятия портов, которые нужны для указания назначения к конкретной службе. На этом уровне работают протоколы TCP (с установлением соединения) и UDP (без установления соединения).

5) Сеансовый уровень (Session Layer): Роль этого уровня в установлении, управлении и разрыве соединения между двумя хостами. К примеру, когда открываете страницу на веб-сервере, то Вы не единственный посетитель на нем. И вот для того, чтобы поддерживать сеансы со всеми пользователями, нужен сеансовый уровень.

6) Уровень представления (Presentation Layer): Он структурирует информацию в читабельный вид для прикладного уровня. Например, многие компьютеры используют таблицу кодировки ASCII для вывода текстовой информации или формат jpeg для вывода графического изображения.

7) Прикладной уровень (Application Layer): Наверное, это самый понятный для всех уровень. Как раз на этом уроне работают привычные для нас приложения - e-mail, браузеры по протоколу HTTP, FTP и остальное.

Самое главное помнить, что нельзя перескакивать с уровня на уровень (Например, с прикладного на канальный, или с физического на транспортный). Весь путь должен проходить строго с верхнего на нижний и с нижнего на верхний. Такие процессы получили название инкапсуляция (с верхнего на нижний) и деинкапсуляция (с нижнего на верхний). Также стоит упомянуть, что на каждом уровне передаваемая информация называется по-разному.

На прикладном, представления и сеансовым уровнях, передаваемая информация обозначается как PDU (Protocol Data Units). На русском еще называют блоки данных, хотя в моем круге их называют просто данные).

Информацию транспортного уровня называют сегментами. Хотя понятие сегменты, применимо только для протокола TCP. Для протокола UDP используется понятие - датаграмма. Но, как правило, на это различие закрывают глаза.
На сетевом уровне называют IP пакеты или просто пакеты.

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

1) Представим ситуацию, что вы сидите у себя дома за компьютером, а в соседней комнате у вас свой локальный веб-сервер. И вот вам понадобилось скачать файл с него. Вы набираете адрес страницы вашего сайта. Сейчас вы используете протокол HTTP, которые работает на прикладном уровне. Данные упаковываются и спускаются на уровень ниже.

2) Полученные данные прибегают на уровень представления. Здесь эти данные структурируются и приводятся в формат, который сможет быть прочитан на сервере. Запаковывается и спускается ниже.

3) На этом уровне создается сессия между компьютером и сервером.

4) Так как это веб сервер и требуется надежное установление соединения и контроль за принятыми данными, используется протокол TCP. Здесь мы указываем порт, на который будем стучаться и порт источника, чтобы сервер знал, куда отправлять ответ. Это нужно для того, чтобы сервер понял, что мы хотим попасть на веб-сервер (стандартно - это 80 порт), а не на почтовый сервер. Упаковываем и спускаем дальше.

5) Здесь мы должны указать, на какой адрес отправлять пакет. Соответственно, указываем адрес назначения (пусть адрес сервера будет 192.168.1.2) и адрес источника (адрес компьютера 192.168.1.1). Заворачиваем и спускаем дальше.

6) IP пакет спускается вниз и тут вступает в работу канальный уровень. Он добавляет физические адреса источника и назначения, о которых подробно будет расписано в последующей статье. Так как у нас компьютер и сервер в локальной среде, то адресом источника будет являться MAC-адрес компьютера, а адресом назначения MAC-адрес сервера (если бы компьютер и сервер находились в разных сетях, то адресация работала по-другому). Если на верхних уровнях каждый раз добавлялся заголовок, то здесь еще добавляется концевик, который указывает на конец кадра и готовность всех собранных данных к отправке.

7) И уже физический уровень конвертирует полученное в биты и при помощи электрических сигналов (если это витая пара), отправляет на сервер.

Процесс деинкапсуляции аналогичен, но с обратной последовательностью:

1) На физическом уровне принимаются электрические сигналы и конвертируются в понятную битовую последовательность для канального уровня.

2) На канальном уровне проверяется MAC-адрес назначения (ему ли это адресовано). Если да, то проверяется кадр на целостность и отсутствие ошибок, если все прекрасно и данные целы, он передает их вышестоящему уровню.

3) На сетевом уровне проверяется IP адрес назначения. И если он верен, данные поднимаются выше. Не стоит сейчас вдаваться в подробности, почему у нас адресация на канальном и сетевом уровне. Это тема требует особого внимания, и я подробно объясню их различие позже. Главное сейчас понять, как данные упаковываются и распаковываются.

4) На транспортном уровне проверяется порт назначения (не адрес). И по номеру порта, выясняется какому приложению или сервису адресованы данные. У нас это веб-сервер и номер порта - 80.

5) На этом уровне происходит установление сеанса между компьютером и сервером.

6) Уровень представления видит, как все должно быть структурировано и приводит информацию в читабельный вид.

7) И на этом уровне приложения или сервисы понимают, что надо выполнить.

Много было написано про модель OSI. Хотя я постарался быть максимально краток и осветить самое важное. На самом деле про эту модель в Интернете и в книгах написано очень много и подробно, но для новичков и готовящихся к CCNA, этого достаточно. Из вопросов на экзамене по данной модели может быть 2 вопроса. Это правильно расположить уровни и на каком уровне работает определенный протокол.

Как было написано выше, модель OSI в наше время не используется. Пока разрабатывалась эта модель, все большую популярность получал стек протоколов TCP/IP. Он был значительно проще и завоевал быструю популярность.
Вот так этот стек выглядит:


Как видно, он отличается от OSI и даже сменил название некоторых уровней. По сути, принцип у него тот же, что и у OSI. Но только три верхних уровня OSI: прикладной, представления и сеансовый объединены у TCP/IP в один, под названием прикладной. Сетевой уровень сменил название и называется - Интернет. Транспортный остался таким же и с тем же названием. А два нижних уровня OSI: канальный и физический объединены у TCP/IP в один с названием - уровень сетевого доступа. Стек TCP/IP в некоторых источниках обозначают еще как модель DoD (Department of Defence). Как говорит википедия, была разработана Министерством обороны США. Этот вопрос встретился мне на экзамене и до этого я про нее ничего не слышал. Соответственно вопрос: «Как называется сетевой уровень в модели DoD?», ввел меня в ступор. Поэтому знать это полезно.

Было еще несколько сетевых моделей, которые, какое то время держались. Это был стек протоколов IPX/SPX. Использовался с середины 80-х годов и продержался до конца 90-х, где его вытеснила TCP/IP. Был реализован компанией Novell и являлся модернизированной версией стека протоколов Xerox Network Services компании Xerox. Использовался в локальных сетях долгое время. Впервые IPX/SPX я увидел в игре «Казаки». При выборе сетевой игры, там предлагалось несколько стеков на выбор. И хоть выпуск этой игры был, где то в 2001 году, это говорило о том, что IPX/SPX еще встречался в локальных сетях.

Еще один стек, который стоит упомянуть - это AppleTalk. Как ясно из названия, был придуман компанией Apple. Создан был в том же году, в котором состоялся релиз модели OSI, то есть в 1984 году. Продержался он совсем недолго и Apple решила использовать вместо него TCP/IP.

Также хочу подчеркнуть одну важную вещь. Token Ring и FDDI - не сетевые модели! Token Ring - это протокол канального уровня, а FDDI это стандарт передачи данных, который как раз основывается на протоколе Token Ring. Это не самая важная информация, так как эти понятия сейчас не встретишь. Но главное помнить о том, что это не сетевые модели.

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

  • топология сети
  • Добавить метки

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

    Человек может учиться двумя путями:

    1. Через тупое формальное зазубривание шаблонных способов решения типовых задач (чему сейчас в основном и учат в школе). Такое обучение малоэффективно. Наверняка вам приходилось наблюдать панику и полную беспомощность бухгалтера при смене версии офисного софта - при малейшем изменении последовательности кликов мышки, требуемых для выполнения привычных действий. Или приходилось видеть человека, впадающего в ступор при изменении интерфейса рабочего стола?
    2. Через понимание сути проблем, явлений, закономерностей. Через понимание принципов построения той или иной системы. В этом случае обладание энциклопедическими знаниями не играет большой роли - недостающую информацию легко найти. Главное - знать, что искать. А для этого необходимо не формальное знание предмета, а понимание сути.

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

    Итак, начнем.

    Принципы работы интернет-протоколов TCP/IP по своей сути очень просты и сильно напоминают работу нашей советской почты.

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

    На конверте письма будет написано примерно следующее:

    Адрес отправителя: От кого : Иванов Иван Иванович Откуда : Ивантеевка, ул. Большая, д. 8, кв. 25 Адрес получателя: Кому : Петров Петр Петрович Куда : Москва, Усачевский переулок, д. 105, кв. 110

    Теперь мы готовы рассмотреть взаимодействие компьютеров и приложений в сети Интернет (да и в локальной сети тоже). Обратите внимание, что аналогия с обычной почтой будет почти полной.

    Каждый компьютер (он же: узел, хост) в рамках сети Интернет тоже имеет уникальный адрес, который называется IP-адрес (Internet Protocol Address), например: 195.34.32.116. IP адрес состоит из четырех десятичных чисел (от 0 до 255), разделенных точкой. Но знать только IP адрес компьютера еще недостаточно, т.к. в конечном счете обмениваются информацией не компьютеры сами по себе, а приложения, работающие на них. А на компьютере может одновременно работать сразу несколько приложений (например почтовый сервер, веб-сервер и пр.). Для доставки обычного бумажного письма недостаточно знать только адрес дома - необходимо еще знать номер квартиры. Также и каждое программное приложение имеет подобный номер, именуемый номером порта. Большинство серверных приложений имеют стандартные номера, например: почтовый сервис привязан к порту с номером 25 (еще говорят: «слушает» порт, принимает на него сообщения), веб-сервис привязан к порту 80, FTP - к порту 21 и так далее.

    Таким образом имеем следующую практически полную аналогию с нашим обычным почтовым адресом:

    "адрес дома" = "IP компьютера" "номер квартиры" = "номер порта"

    В компьютерных сетях, работающих по протоколам TCP/IP, аналогом бумажного письма в конверте является пакет , который содержит собственно передаваемые данные и адресную информацию - адрес отправителя и адрес получателя, например:

    Адрес отправителя (Source address): IP: 82.146.49.55 Port: 2049 Адрес получателя (Destination address): IP: 195.34.32.116 Port: 53 Данные пакета: ...

    Конечно же в пакетах также присутствует служебная информация, но для понимания сути это не важно.

    Обратите внимание, комбинация: "IP адрес и номер порта" - называется "сокет" .

    В нашем примере мы с сокета 82.146.49.55:2049 посылаем пакет на сокет 195.34.32.116:53, т.е. пакет пойдет на компьютер, имеющий IP адрес 195.34.32.116, на порт 53. А порту 53 соответствует сервер распознавания имен (DNS-сервер), который примет этот пакет. Зная адрес отправителя, этот сервер сможет после обработки нашего запроса сформировать ответный пакет, который пойдет в обратном направлении на сокет отправителя 82.146.49.55:2049, который для DNS сервера будет являться сокетом получателя.

    Как правило взаимодействие осуществляется по схеме «клиент-сервер»: "клиент" запрашивает какую-либо информацию (например страницу сайта), сервер принимает запрос, обрабатывает его и посылает результат. Номера портов серверных приложений общеизвестны, например: почтовый SMTP сервер «слушает» 25-й порт, POP3 сервер, обеспечивающий чтение почты из ваших почтовых ящиков «слушает» 110-порт, веб-сервер - 80-й порт и пр.

    Большинство программ на домашнем компьютере являются клиентами - например почтовый клиент Outlook, веб-обозреватели IE, FireFox и пр.

    Номера портов на клиенте не фиксированные как у сервера, а назначаются операционной системой динамически. Фиксированные серверные порты как правило имеют номера до 1024 (но есть исключения), а клиентские начинаются после 1024.

    Повторение - мать учения: IP - это адрес компьютера (узла, хоста) в сети, а порт - номер конкретного приложения, работающего на этом компьютере.

    Однако человеку запоминать цифровые IP адреса трудно - куда удобнее работать с буквенными именами. Ведь намного легче запомнить слово, чем набор цифр. Так и сделано - любой цифровой IP адрес можно связать с буквенно-цифровым именем. В результате например вместо 82.146.49.55 можно использовать имя А преобразованием доменного имени в цифровой IP адрес занимается сервис доменных имен - DNS (Domain Name System).

    Рассмотрим подробнее, как это работает. Ваш провайдер явно (на бумажке, для ручной настройки соединения) или неявно (через автоматическую настройку соединения) предоставляет вам IP адрес сервера имен (DNS). На компьютере с этим IP адресом работает приложение (сервер имен), которое знает все доменные имена в Интернете и соответствующие им цифровые IP адреса. DNS-сервер «слушает» 53-й порт, принимает на него запросы и выдает ответы, например:

    Запрос от нашего компьютера: "Какой IP адрес соответствует имени www.сайт?" Ответ сервера: "82.146.49.55."

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

    Например:

    IP адрес нашего компьютера: 91.76.65.216 Браузер: Internet Explorer (IE), DNS сервер (стрима): 195.34.32.116 (у вас может быть другой), Страница, которую мы хотим открыть: www.сайт.

    Набираем в адресной строке браузера доменное имя и жмем . Далее операционная система производит примерно следующие действия:

    Отправляется запрос (точнее пакет с запросом) DNS серверу на сокет 195.34.32.116:53. Как было рассмотренно выше, порт 53 соответствует DNS-серверу - приложению, занимающемуся распознаванием имен. А DNS-сервер, обработав наш запрос, возвращает IP-адрес, который соответствует введенному имени.

    Диалог примерно следующий:

    Какой IP адрес соответствует имени www.сайт ? - 82.146.49.55 .

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

    Приняв от нас запрос, веб-сервер обрабатывает его и в нескольких пакетах посылает нам страницу в на языке HTML - языке разметки текста, который понимает браузер.

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

    Зачем эти принципы надо понимать?

    Например, вы заметили странное поведение своего компьютера - непонятная сетевая активность, тормоза и пр. Что делать? Открываем консоль (нажимаем кнопку «Пуск» - «Выполнить» - набираем cmd - «Ок»). В консоли набираем команду netstat -an и жмем . Эта утилита отобразит список установленных соединений между сокетами нашего компьютера и сокетами удаленных узлов. Если мы видим в колонке «Внешний адрес» какие-то чужие IP адреса, а через двоеточие 25-й порт, что это может означать? (Помните, что 25-й порт соответствует почтовому серверу?) Это означает то, что ваш компьютер установил соединение с каким-то почтовым сервером (серверами) и шлет через него какие-то письма. И если ваш почтовый клиент (Outlook например) в это время не запущен, да если еще таких соединений на 25-й порт много, то, вероятно, в вашем компьютере завелся вирус, который рассылает от вашего имени спам или пересылает номера ваших кредитных карточек вкупе с паролями злоумышленникам.

    Также понимание принципов работы Интернета необходимо для правильной настройки файерволла (проще говоря брандмауэра:)). Эта программа (которая часто поставляется вместе с антивирусом), предназначенна для фильтрации пакетов - "своих" и "вражеских". Своих пропускать, чужих не пущать. Например, если ваш фаерволл сообщает вам, что некто хочет установить соединение с каким-либо портом вашего компьютера. Разрешить или запретить?

    Ну и самое главное - эти знания крайне полезны при общении с техподдержкой .

    Напоследок приведу список портов, с которыми вам, вероятно, придется столкнуться:

    135-139 - эти порты используются Windows для доступа к общим ресурсам компьютера - папкам, принтерам. Не открывайте эти порты наружу, т.е. в районную локальную сеть и Интернет. Их следует закрыть фаерволлом. Также если в локальной сети вы не видите ничего в сетевом окружении или вас не видят, то вероятно это связано с тем, что фаерволл заблокировал эти порты. Таким образом для локальной сети эти порты должны быть открыты, а для Интернета закрыты. 21 - порт FTP сервера. 25 - порт почтового SMTP сервера. Через него ваш почтовый клиент отправляет письма. IP адрес SMTP сервера и его порт (25-й) следует указать в настройках вашего почтового клиента. 110 - порт POP3 сервера. Через него ваш почтовый клиент забирает письма из вашего почтового ящика. IP адрес POP3 сервера и его порт (110-й) также следует указать в настройках вашего почтового клиента. 80 - порт WEB -сервера. 3128, 8080 - прокси-серверы (настраиваются в параметрах браузера).

    Несколько специальных IP адресов:

    127.0.0.1 - это localhost, адрес локальной системы, т.е. локальный адрес вашего компьютера. 0.0.0.0 - так обозначаются все IP-адреса. 192.168.xxx.xxx - адреса, которые можно произвольно использовать в локальных сетях, в глобальной сети Интернет они не используются. Они уникальны только в рамках локальной сети. Адреса из этого диапазона вы можете использовать по своему усмотрению, например, для построения домашней или офисной сети.

    Что такое маска подсети и шлюз по умолчанию (роутер, маршрутизатор)?

    (Эти параметры задаются в настройках сетевых подключений).

    Все просто. Компьютеры объединяются в локальные сети. В локальной сети компьютеры напрямую «видят» только друг друга. Локальные сети соединяются друг с другом через шлюзы (роутеры, маршрутизаторы). Маска подсети предназначена для определения - принадлежит ли компьютер-получатель к этой же локальной сети или нет. Если компьютер-получатель принадлежит этой же сети, что и компьютер-отправитель, то пакет передается ему напрямую, в противном случае пакет отправляется на шлюз по умолчанию, который далее, по известным ему маршрутам, передает пакет в другую сеть, т.е. в другое почтовое отделение (по аналогии с советской почтой).

    Напоследок рассмотрим что же означают непонятные термины:

    TCP/IP - это название набора сетевых протоколов. На самом деле передаваемый пакет проходит несколько уровней. (Как на почте: сначала вы пишете писмо, потом помещаете в конверт с адресом, затем на почте на нем ставится штамп и т.д.).

    IP протокол - это протокол так называемого сетевого уровня. Задача этого уровня - доставка ip-пакетов от компьютера отправителя к компьютеру получателю. По-мимо собственно данных, пакеты этого уровня имеют ip-адрес отправителя и ip-адрес получателя. Номера портов на сетевом уровне не используются. Какому порту, т.е. приложению адресован этот пакет, был ли этот пакет доставлен или был потерян, на этом уровне неизвестно - это не его задача, это задача транспортного уровня.

    TCP и UDP - это протоколы так называемого транспортного уровня. Транспортный уровень находится над сетевым. На этом уровне к пакету добавляется порт отправителя и порт получателя.

    TCP - это протокол с установлением соединения и с гарантированной доставкой пакетов. Сначала производится обмен специальными пакетами для установления соединения, происходит что-то вроде рукопожатия (-Привет. -Привет. -Поболтаем? -Давай.). Далее по этому соединению туда и обратно посылаются пакеты (идет беседа), причем с проверкой, дошел ли пакет до получателя. Если пакет не дошел, то он посылается повторно («повтори, не расслышал»).

    UDP - это протокол без установления соединения и с негарантированной доставкой пакетов. (Типа: крикнул что-нибудь, а услышат тебя или нет - неважно).

    Над транспортным уровнем находится прикладной уровень. На этом уровне работают такие протоколы, как http , ftp и пр. Например HTTP и FTP - используют надежный протокол TCP, а DNS-сервер работает через ненадежный протокол UDP.

    Как посмотреть текущие соединения?

    Текущие соединения можно посмотреть с помощью команды

    Netstat -an

    (параметр n указывает выводить IP адреса вместо доменных имен).

    Запускается эта команда следующим образом:

    «Пуск» - «Выполнить» - набираем cmd - «Ок». В появившейся консоли (черное окно) набираем команду netstat -an и жмем . Результатом будет список установленных соединений между сокетами нашего компьютера и удаленных узлов.

    Например получаем:

    Активные подключения

    Имя Локальный адрес Внешний адрес Состояние
    TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
    TCP 91.76.65.216:139 0.0.0.0:0 LISTENING
    TCP 91.76.65.216:1719 212.58.226.20:80 ESTABLISHED
    TCP 91.76.65.216:1720 212.58.226.20:80 ESTABLISHED
    TCP 91.76.65.216:1723 212.58.227.138:80 CLOSE_WAIT
    TCP 91.76.65.216:1724 212.58.226.8:80 ESTABLISHED
    ...

    В этом примере 0.0.0.0:135 - означает, что наш компьютер на всех своих IP адресах слушает (LISTENING) 135-й порт и готов принимать на него соединения от кого угодно (0.0.0.0:0) по протоколу TCP.

    91.76.65.216:139 - наш компьютер слушает 139-й порт на своем IP-адресе 91.76.65.216.

    Третья строка означает, что сейчас установлено (ESTABLISHED) соединение между нашей машиной (91.76.65.216:1719) и удаленной (212.58.226.20:80). Порт 80 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).

    В следующих статьях мы рассмотрим, как применять эти знания, например

    Как работает интернет?



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

    Структура интернета

    По всему миру в офисах компаний, государственных учреждений, в частных домах и квартирах стоят компьютеры. Отдельными группами они объединяются в небольшие локальные сети (от сети компьютеров в какой-то организации до городской сети). Те в свою очередь включаются в более крупные сети - региональные, национальные. Они также являются частью, только уже еще более масштабных сетей — континентальных. Эти сети соединяются между собой колоссальным по параметрам подводным трансатлантическим оптоволоконным кабелем. За счет этого, например, компьютер, стоящий в Орле, связан с компьютером в Ванкувере. Пользователи этих двух ПК посредством интернета могут общаться друг с другом.

    Что касается того, как работает интернет на международном, общемировом уровне, то это достигается за счет глобальной сети — совокупности всех компьютеров мира, соединенных между собой с помощью интернета. Размеры ее поистине колоссальны, ведь она охватывает практически всю планету за исключением редких уголков, которые в силу географических, социальных, политических и прочих причин не имеют возможности работать с подобным ресурсом.

    Кроме того, имеются достаточно крупные сети, не соединенные или соединенные лишь частично вместе с другими сетями мирового интернета. Например, такова ситуация в Северной Корее. В этой стране доступ к «Всемирной паутине» осуществляется исключительно по разрешению властей, а потому право на него имеют редкие чиновники высшего ранга. Внутри же самой страны работает внутренняя сеть под названием «Кванмен», которая стала доступна местным гражданам не так давно. Количество информации и ее характер жестко контролируются властями республики.

    Как работает сеть интернет: составляющие элементы

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

    Пользователь

    Или какая-то автоматическая программа, посылающая запросы в интернет для получения информации.

    Компьютер

    Или любое другое средство выхода в интернет, например, телефон, планшет. Без таких устройств выйти в сеть нельзя.

    Интернет-провайдер

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

    • Первая - это владельцы какой-то доли мирового интернета, располагающие обычно своими оптоволоконными сетями, по которым они и передают трафик (то есть заданный объем информации, которую можно получить через интернет) сетевым провайдерам низшей группы.
    • Вторая - это компании национального уровня или регионального (созданные несколькими соседними странами). Например, это "Ростелеком".
    • Третья - это все остальные участники рынка, представленные менее крупными фирмами-провайдерами в городах и областях.

    Финансовые взаимоотношения, определяющие, в частности, количество полученного трафика между всеми этими группами (а особенно между первой и второй категориями) провайдеров очень сложны. Здесь нередко играют роль не только экономические моменты, но и личные интересы, политика и проч.

    Браузер

    Это программа-клиент для работы в интернете, которую можно установить либо с диска, либо скачав через тот же интернет. Самыми популярными браузерами являются Google Chrome, Internet Explorer, Mozilla Firefox, Safari, Opera.

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

    Домен

    Под этим понятием подразумевается некая зона в сети интернет, занятая тем или иным сайтом. Соответственно, у каждой страницы в интернете есть свое неповторимое доменное имя - адрес, по которому вы можете найти сайт в сети.

    Запустив браузер, в адресной строке вы вводите именно доменное имя нужного вам ресурса. После этого система обращается с соответствующим запросом к сети интернет-провайдера. У провайдера установлен сервер типа DNS (Domain Name System), который позволяет перекодировать доменное имя сайта в IP-адрес. IP-адрес (Internet Protocol Address) - это уникальный адрес какой-то зоны в интернете, представленный, в отличие от доменного имени, в виде цифр. К слову, IP-адрес имеют не только сайты, но и сами компьютеры. Каждому ПК IP-адрес присваивает интернет-провайдер, предоставляющий доступ к сети. Это делается для того, чтобы иметь возможность поставлять трафик по нужному адресу, то есть к каждому конкретному ПК, а также чтобы решать какие-то проблемы в обслуживании.

    После этого IP-адрес сайта перекодируется из десятичной системы вычисления в двоичную (с участием 0 и 1). В этом виде провайдер посредством сервера отправляет запрос о получении информации с нужного пользователю сайта на маршрутизатор.

    Маршрутизатор

    Другое название данного устройства - роутер. Оно обеспечивает передачу информации по каналу сети. Можно сказать, что маршрутизатор является двоюродным братом GPS-навигатора, используемого в жизни. Зная расположение двух точек (в случае с интернетом это компьютер пользователя и сайт в интернете), маршрутизатор прокладывает нужный путь между ними, чтобы обеспечить обмен информацией.

    Передача информации осуществляется от одного маршрутизатора к другому вплоть до конечной точки - сервера.

    Сервер

    Мощный компьютер, который может выполнять в зависимости от его вида следующие задачи:

    • Обеспечивает получение компьютерами сети интернет-трафика.
    • Занимается перекодировкой доменных имен в IP-адреса.
    • Хранит данные. Например, это может быть сервер с данными пользователей какой-то электронной почты: входящими и исходящими письмами, письмами в корзине и в папке со спамом, информация из адресных книг и проч.
    • Размещает в своей памяти информации о различных сайтах сети, всех данных на них. Такие серверы называются хостингами.

    Соответственно, в нашем примере запрос на открытие сайта будет передан через маршрутизаторы на соответствующий хостинг, хранящий информацию об искомой интернет-странице. Ответ сервера будет передан по обратной цепочке (через маршрутизаторы, интернет-провайдера и браузер) на ПК.

    Однако прежде чем результат высветится на мониторе, для передачи информации будет использован один из многочисленных портов, которые использует ПК.

    Порт

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

    Для работы с веб-сайтами также существует отдельный порт. Он анализирует полученную информацию и отправляет ее в браузер. В результате перед нами открывается желанная страница.

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

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

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

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

    В принципе, соединение с провайдером может идти по различным каналам: по телефонной линии, по выделенной линии, на основе беспроводной или спутниковой связи, по сети кабельного телевидения или даже по силовым линиям - все эти альтернативные варианты показаны на рис. 1 .

    Чаще всего это так называемое временное (сеансовое) соединение по телефонной линии. Вы набираете один из телефонных номеров, который предоставил вам провайдер, и дозваниваетесь на один из его модемов. На рис. 1 показан набор модемов провайдера, так называемый модемный пул. После того как вы соединились с вашим ISP (Internet Service Provider)-провайдером, вы становитесь частью сети данного ISP. Провайдер предоставляет своим пользователям различные сервисы, электронную почту, Usenet и т.д.

    Каждый провайдер имеет свою магистральную сеть, или бэкбоун . На рис. 1 мы условно изобразили магистральную сеть некоего провайдера ISP-A. Его магистральная сеть показана зеленым цветом.

    Обычно ISP-провайдеры - это крупные компании, которые в ряде регионов имеют так называемые точки присутствия (POP, Point of Presence), где происходит подключение локальных пользователей.

    Обычно крупный провайдер имеет точки присутствия (POP) в нескольких крупных городах. В каждом городе находятся аналогичные модемные пулы, на которые звонят локальные клиенты этого ISP в данном городе. Провайдер может арендовать волоконно-оптические линии у телефонной компании для соединения всех своих точек присутствия (POP), а может протянуть свои собственные волоконно-оптические линии. Крупнейшие коммуникационные компаний имеют собственные высокопропускные каналы. На рис. 1 мы показали опорные сети двух Интернет-провайдеров. Очевидно, что все клиенты провайдера ISP-А могут взаимодействовать между собой по собственной сети, а все клиенты компании ISP-В - по своей, но при отсутствии связи между сетями ISP-A и ISP-B клиенты компании «A» и клиенты компании «В» не могут связаться друг с другом. Для реализации данной услуги компании «A» и «B» договариваются подключиться к так называемым точкам доступа (NAP - Network Access Points) в разных городах, и трафик между двумя компаниями течет по сетям через NAP. На рис. 1 показаны магистральные сети только двух ISP-провайдеров. Аналогично организуется подключение к другим магистральным сетям, в результате чего образуется объединение множества сетей высокого уровня.

    В Интернете действуют сотни крупных Интернет-провайдеров, их магистральные сети связаны через NAP в различных городах, и миллиарды байтов данных текут по разным сетям через NAP-узлы.

    Если вы пользуетесь Интернетом в офисе, то, скорее всего, вы подключены к локальной сети (LAN - Local Area Network). В этом случае рассмотренная нами схема несколько видоизменяется (рис. 2). Сеть организации обычно отделена от внешнего мира определенной службой защиты информации, которая на нашей схеме условно показана в виде кирпичной стены. Варианты подключения к провайдеру могут быть различными, хотя чаще всего это выделенная линия.

    Поскольку невозможно схематически отразить всю совокупность сетей Интернета, ее часто изображают в виде размытого облака, выделяя в нем лишь основные элементы: маршрутизаторы, точки присутствия (POP) и места доступа (NAP).

    Скорость передачи информации на различных участках Сети существенно различается. Магистральные линии, или бэкбоуны, связывают все регионы мира (рис. 5) - это высокоскоростные каналы, построенные на основе волоконно-оптических кабелей. Кабели обозначаются OC (optical carrier), например OC-3, OC-12 или OC-48. Так, линия OC-3 может передавать 155 Мбит/с, а OC-48 - 2488 Мбит/с (2,488 Гбит/с). В то же время получение информации на домашний компьютер с модемным подключением 56 K происходит со скоростью всего 56 000 бит/с.

    Как происходит передача информации в Интернете

    Маршрутизаторы

    Как же происходит передача информации по всем этим многочисленным каналам? Как сообщение может быть доставлено с одного компьютера на другой через весь мир, пройдя несколько различных сетей за долю секунды? Для того чтобы объяснить этот процесс, необходимо ввести несколько понятий и прежде всего рассказать о работе маршрутизаторов. Доставка информации по нужному адресу невозможна без маршрутизаторов, определяющих, по какому маршруту передавать информацию. Маршрутизатор - это устройство, которое работает с несколькими каналами, направляя в выбранный канал очередной блок данных. Выбор канала осуществляется по адресу, указанному в заголовке поступившего сообщения.

    Таким образом, маршрутизатор выполняет две различные, но взаимосвязанные функции. Во-первых, он направляет информацию по свободным каналам, предотвращая «закупорку» узких мест в Сети; во-вторых, проверяет, что информация следует в нужном направлении. При объединении двух сетей маршрутизатор включается в обе сети, пропуская информацию из одной в другую, и в некоторых случаях осуществляет перевод данных из одного протокола в другой, при этом защищая сети от лишнего трафика. Эту функцию маршрутизаторов можно сравнить с работой патрульной службы, которая с вертолета ведет наблюдение за движением в городе, контролирует общую ситуацию с поломками и заторами на дорогах и сообщает о наиболее загруженных участках трассы, чтобы водители выбирали оптимальный маршрут и не попадали в пробки.

    Протоколы Интернета

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

    Следует различать два типа протоколов: базовые и прикладные. Базовые протоколы отвечают за физическую пересылку сообщений между компьютерами в сети Интернет. Это протоколы IP и TCP. Прикладными называют протоколы более высокого уровня, они отвечают за функционирование специализированных служб. Например, протокол http служит для передачи гипертекстовых сообщений, протокол ftp - для передачи файлов, SMTP - для передачи электронной почты и т.д.

    Набор протоколов разных уровней, работающих одновременно, называют стеком протоколов. Каждый нижележащий уровень стека протоколов имеет свою систему правил и предоставляет сервис для вышележащих.

    Такое взаимодействие можно сравнить со схемой пересылки обычного письма. Например, директор фирмы «А» пишет письмо и отдает его секретарю. Секретарь помещает письмо в конверт, надписывает адрес и относит конверт на почту. Почта доставляет письмо в почтовое отделение. Почтовое отделение связи доставляет письмо получателю - секретарю директора фирмы «B». Секретарь распечатывает конверт и передает письмо директору фирмы «В». Информация (письмо) передается с верхнего уровня на нижний, обрастая на каждой стадии дополнительной служебной информацией (пакет, адрес на конверте, почтовый индекс, контейнер с корреспонденцией и т.д.), которая не имеет отношения к тексту письма.

    Нижний уровень - это уровень почтового транспорта, которым письмо перевозится в пункт назначения. В пункте назначения происходит обратный процесс: корреспонденция извлекается, считывается адрес, почтальон несет конверт секретарю фирмы «B», который достает письмо, определяет его срочность, важность и в зависимости от этого передает информацию выше. Директора фирм «А» и «Б», передавая друг другу информацию, не заботятся о проблемах пересылки этой информации, подобно тому как секретаря не волнует, как доставляется почта.

    Аналогично каждый протокол в стеке протоколов выполняет свою функцию, не заботясь о функциях протокола другого уровня.

    На нижнем уровне, то есть на уровне TCP/IP , используется два основных протокола: IP (Internet Protocol - протокол Интернета) и ТСР (Transmission Control Protocol - протокол управления передачей).

    Архитектура протоколов TCP/IP предназначена для объединенной сети. Интернет состоит из разнородных подсетей, соединенных друг с другом шлюзами. В качестве подсетей могут выступать разные локальные сети (Token Ring, Ethernet и т.п.), различные национальные, региональные и глобальные сети. К этим сетям могут подключаться машины разных типов. Каждая из подсетей работает в соответствии со своими принципами и типом связи. При этом каждая подсеть может принять пакет информации и доставить его по указанному адресу. Таким образом, требуется, чтобы каждая подсеть имела некий сквозной протокол для передачи сообщений между двумя внешними сетями.

    Разобраться в работе протоколов поможет схема на рис. 6 . Предположим, имеется некое послание, отправляемое по электронной почте. Передача почты осуществляется по прикладному протоколу SMTP, который опирается на протоколы TCP/IP. Согласно протоколу TCP, отправляемые данные разбиваются на небольшие пакеты фиксированной структуры и длины, маркирующиеся таким образом, чтобы при получении данные можно было бы собрать в правильной последовательности.

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

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

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

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

    При этом, если соединение нормальное, значит выделенная вам часть сети для других уже не доступна. Речь идет о сети с коммутацией каналов. Интернет же является сетью с коммутацией пакетов, а это совсем другая история. Процесс пересылки электронной почты принципиально иной.

    Как уже было отмечено, Интернет-данные в любой форме (будь то электронное послание, Web-страница или скачиваемый файл) путешествуют в виде группы пакетов. Каждый пакет посылается на место назначения по оптимальному из доступных путей. Поэтому даже если какой-то участок Сети окажется нарушенным, то это не повлияет на доставку пакета, который будет направлен по альтернативному пути. Таким образом, во время доставки данных нет необходимости в фиксированной линии связи между двумя пользователями. Принцип пакетной коммутации обеспечивает основное преимущество Интернета - надежность. Сеть может распределять нагрузку по различным участкам за тысячные доли секунды. Если какой-то участок оборудования сети поврежден, пакет может обойти это место и пройти по другому пути, обеспечив доставку всего послания .

    Адресация в Интернете

    ы уже упоминали IP-адрес, теперь расскажем о нем подробнее. Каждому компьютеру, подключенному к Интернету, присваивается идентификационный номер, который называется IP-адресом.

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

    IP-адрес имеет формат xxx.xxx.xxx.xxx, где xxx - числа от 0 до 255. Рассмотрим типичный IP-адрес: 193. 27.61.137.

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

    11000001.00011011.00111101.10001001.

    Четыре числа в IP-адресе называются октетами, поскольку в каждом из них при двоичном представлении имеется восемь разрядов: 4×8=32. Так как каждая из восьми позиций может иметь два различных состояния: 1 или 0, общий объем возможных комбинаций составляет 28, или 256, то есть каждый октет может принимать значения от 0 до 255. Комбинация четырех октетов дает 232 значений, то есть примерно 4,3 млрд. комбинаций, за исключением некоторых зарезервированных адресов.

    Октеты служат не только для того, чтобы разделять числа, но и выполняют другие функции. Октеты можно распределить на две секции: Net и Host. Net-секция используется для того, чтобы определить сеть, к которой принадлежит компьютер. Host, который иногда называют узлом, определяет конкретный компьютер в сети.

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

    На ранней стадии своего развития Интернет состоял из небольшого количества компьютеров, объединенных модемами и телефонными линиями. Тогда пользователи могли установить соединение с компьютером, набрав цифровой адрес, например 163. 25.51.132. Это было удобно, пока сеть состояла из нескольких компьютеров. По мере увеличения их количества, учитывая тот факт, что текстовое имя всегда удобнее для запоминания, чем цифровое, постепенно цифровые имена стали заменять на текстовые.

    Возникла проблема автоматизации данного процесса, и в 1983 году в Висконсинском университете США (University of Wisconsin) была создана так называемая DNS (Domain Name System)-система, которая автоматически устанавливала соответствие между текстовыми именами и IP-адресами. Вместо чисел была предложена ставшая сегодня для нас привычной запись типа http://www.myhobby.narod.ru/ .

    Подобным образом осуществляется сортировка обычной почты. Люди привыкли ориентироваться по географическим адресам, например: «Москва, ул. Рылеева, д. 3, кв. 10», в то время как автомат на почте быстро сортирует почту по индексу.

    Таким образом, при пересылке информации компьютеры используют цифровые адреса, люди - буквенные, а DNS-сервер служит своеобразным переводчиком.

    Прежде чем переходить к описанию работы DNS-серверов, следует сказать несколько слов о структуре доменных имен.

    Доменные имена

    огда вы обращаетесь на Web или посылаете e-mail, вы используете доменное имя. Например, адрес http://www.microsoft.com/ содержит доменное имя microsoft.com. Аналогично e-mail-адрес [email protected] содержит доменное имя aha.ru.

    В доменной системе имен реализуется принцип назначения имен с определением ответственности за их подмножество соответствующих сетевых групп.

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

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

    Домены тоже имеют аналогичную иерархию. В именах домены отделяются друг от друга точками: companya.msk.ru, companyb.spb.ru. В имени может быть различное количество доменов, но обычно их не больше пяти. По мере движения по доменам в имени слева направо, количество имен, входящих в соответствующую группу, возрастает.

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

    В качестве примера давайте рассмотрим адрес http://www.pc.dpt1.company.msk.ru/ .

    Первым в имени стоит название рабочей машины - реального компьютера с IP-адресом. Это имя создано и поддерживается группой dpt1. Группа входит в более крупное подразделение company, далее следует домен msk - он определяет имена московской части сети, а ru - российской.

    Каждая страна имеет свой домен. Так au - соответствует Австралии, be - Бельгии и т.д. Это географические домены верхнего уровня.

    Помимо географического признака используется тематический, в соответствии с которым существуют следующие доменные имена первого уровня:

    • com - обозначает коммерческие предприятия;
    • (edu) - образовательные;
    • Как работает DNS-сервер

      NS-сервер принимает запрос на конвертацию доменного имени в IP-адрес. При этом DNS-сервер выполняет следующие действия:

      • отвечает на запрос, выдав IP-адрес, поскольку уже знает IP-адрес запрашиваемого домена.
      • контактирует с другим DNS-сервером для того, чтобы найти IP-адрес запрошенного имени. Этот запрос может проходить по цепочке несколько раз.
      • выдает сообщение: «Я не знаю IP address домена, запрашиваемого вами, но вот IP address DNS-сервера, который знает больше меня»;
      • сообщает, что такой домен не существует.

      Представим, что вы набрали адрес http://www.pc.dpt1.company.com/ в вашем браузере, который имеет адрес в домене верхнего уровня COM (рис. 9). В простейшем варианте ваш браузер контактирует с DNS-сервером для того, чтобы получить IP-адрес искомого компьютера, и DNS-сервер возвращает искомый IP-адрес (рис. 10).

      На практике в Сети, где объединены миллионы компьютеров, найти DNS-сервер, который знает нужную вам информацию, - это целая проблема. Иными словами, если вы ищете какой-то компьютер в Сети, то прежде всего вам необходимо найти DNS-сервер, на котором хранится нужная вам информация. При этом в поиске информации может быть задействована целая цепочка серверов. Пояснить работу DNS-серверов можно на примере, показанном на рис. 11 .

      Предположим, что тот DNS-сервер, к которому вы обратились (на рис. 11 он обозначен как DNS1), не имеет нужной информации. DNS1 начнет поиск IP-адреса с обращения к одному из корневых DNS-серверов. Корневые DNS-серверы знают IP-адреса всех DNS-серверов, отвечающих за доменные имена верхнего уровня (COM, EDU, GOV, INT, MIL, NET, ORG и т.д.).

      Например, ваш сервер DNS1 может запросить адрес у корневого DNS-сервера. Если корневой сервер не знает данного адреса, возможно, он даст ответ: «Я не знаю IP-адреса для http://www.pc.dpt1.company.com/ , но могу предоставить IP-адрес COM DNS-сервера».

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

      Одна из причин, по которой система работает надежно, - это ее избыточность. Существует множество DNS-серверов на каждом уровне, и поэтому, если один из них не может дать ответ, наверняка существует другой, на котором есть необходимая вам информация. Другая технология, которая делает поиск более быстрым, - это система кэширования. Как только DNS-сервер выполняет запрос, он кэширует полученный IP-адрес. Однажды сделав запрос на корневой DNS (root DNS) и получив адрес DNS-сервера, обслуживающего COM-домены, в следующий раз он уже не должен будет повторно обращаться с подобным запросом. Подобное кэширование происходит с каждым запросом, что постепенно оптимизирует скорость работы системы. Несмотря на то что пользователям работа DNS-сервера не видна, эти серверы каждый день выполняют миллиарды запросов, обеспечивая работу миллионов пользователей.

      КомпьютерПресс 5"2002

    Лучшие статьи по теме