Как работают интернет провайдеры. Что такое порт? Как работает провайдер инфраструктуры

В основе работы глобальной сети Интернет лежит набор (стек) протоколов 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 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).

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

Согласно Википедии, Интерне́т (произносится [интэрнэ́т ]; англ. Internet ) — всемирная система объединённых компьютерных сетей, построенная на использовании протокола IP и маршрутизации пакетов данных. Интернет образует глобальное информационное пространство, служит физической основой для Всемирной паутины и множества других систем (протоколов) передачи данных. Часто упоминается как «Всемирная сеть» и «Глобальная сеть». В обиходе иногда говорят «Ине́т», "Веб".

Интернет (вначале он назывался ARPANET) - проект американских военных, созданный в результате Холодной войны для противодействия угрозе, якобы исходящей от Советского Союза.

Рождением Интернета, считается 22:30 29 октября 1969 года, когда впервые в мире, компьютерная информация была передана на 700 километров.

В 1991 году проект ARPANET был заморожен и, собственно, появился Интернет.

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

В нашей стране "Интернет" вначале был представлен в виде Фидонета (Fidonet) или просто "Фидо". Фидонет изобрел Том Дженнингс из США в 1984 году. Кто-то устанавливал у себя на компьютере специальную программу, позволяющую другим пользователям складывать и обмениваться информацией через этот компьютер. Такой компьютер назывался "Узел" или "Нода" (Node). А человек - хозяин компьютера - Сисоп (Системный оператор) компьютеры, которые к нему подключились - "Точки" или "Поинты" (point). Таким образом - тусовка фидошников называлась "поинтовкой".

Вообще, в Фидо была следующая иерархия: Zone > Net > Node > Point (Страна, Сеть, Узел, Точка) Например, номер первого российского узла в Новосибирске - 2:42/100.

Прообразом современных Форумов были "Эхи" (Echomail) - система сетевых конференций Фидо. Для обновления конференции на своем компьютере необходимо было скачивать сообщения в свой ящик. Так что одновременно, Эхомейлы были прообразами современной электронной почты. Некоторые консервативные форумы до сих пор сохраняют структуру фидошных эхомейлов. ()

В середине 90-х годов появилось переходное звено, между Фидо и Интернетом (каким мы его знаем). Оно называлось БиБиЭс (BBS, Bulletin Board System) или просто "Доска объявлений". Сисоп ставил себе программу для организации BBS, закачивал файлы и давал рекламу в Фидо. Когда его домашние ложились спать (надо сказать, что Фидо был преимущественно уделом взрослых дядек) - начинались прозвоны.

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

Интерфейс Бибиэсок был крайне скудным (хотя для того времени некоторые Сисопы показывали класс ANCII графики). И вскоре, на смену модему стали приходить кабельные сети. Сначала в виде DSL модемов, потом в виде кабельных локальных сетей (локалок), а затем и в виде оптоволоконных высокоскоростных сетей и WiFi, 3G, WiMAX.

Надо отметить, что лобительские "локалки" были во многих городах единственным способом получить высокоскоростной доступ в Интернет. Подключение к "Первопровайдерам" (в Москве это Демос, Зенон) было довольно дорого и стоило от ста долларов в месяц. Бедным студентам и школьникам за эти деньги нужно было работать по 3-4 месяца, а большинству взрослых Интернет казался детской забавой. Приходилось покупать один доступ на несколько квартир. Потом подтягивался подъезд, дом, другие дома и постепенно прыщавый юнец (простите, уже целый АДМИН) становился владельцем компьютерной сети и обладателем неплохого бизнеса. Одной из первой локалок в Москве стала "Ультранет" во главе с ее руководителем - Енотом.

Так как Интернет стоил денег, то админ локалки завлекал людей внутренними ресурсами - играми по сети (Quake, Doom, CS), возможностью обмена файлами. В дальнейшем сеть обрастала собственными игровыми серверами, медиасерверами, сайтами, форумом. К 2005 году "Бум" локальных сетей пошел на спад. Тогда же, Правительство Москвы издало по ДЕЗам распоряжение всеми силами бороться с локалками. Но, насилие рождает насилие, и это привело лишь к волне протеста и социальным акциям. К 2010 году большинство локалок в Москве было куплено крупными игроками - иностранными инвесторами, компаниями крупных чиновников.

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

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

"Как испечь самые вкусные блины?", "Как правильно целоваться?", "Что такое Интернет?", "Заказать обслуживание компьютеров. ". Ответы на эти и многие другие вопросы, давно не дававшие покоя человечеству могут быть найдены прямо сейчас.

Интернет это нервная система Человечества. Конкретно ни одна организация не осуществляет контроль над ним. В Китае, например, свой отдельный Интернет. В России существует понятие "Рунет" - грубо говоря это все узлы сайты, расположенные в зоне.ru.

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

Периодически на транс-магистралях происходят крупные аварии и Россия остается отключенной от остального мира. Так, кажется в 2006 или 2007 году пьяный экскаваторщик в Финляндии (Кто финн? Я финн?) обрубил самый толстый оптоволоконный кабель. И половина банков в России осталась парализованной на несколько дней. (Ну и не работали все заграничные сайты).

Главной по Интернету все же считаются США, так как они являются его родиной.

Строение Интернета сравнимо с нервной системой человека. Если проследить путь от вашего компьютера до США, то он получится примерно такой:

Компьютер > Коммутатор на чердаке > Узел провайдера > Шлюз провайдера > Узел соединения с другими провайдерами (АТС M9, M10) > толстый оптический кабель > шлюз в Голландии > шлюз еще где-то > и скорее всего еще один > трансатлантический кабель (идет прям под водой, по дну океана)> США. И от каждой точки отходят тысячи, десятки тысяч других абонентов. В Windows есть специальная команда "tracert", с помощью которой можно узнать как далеко от вас находится сайт и какие узлы встречаются на пути к нему. Например: "tracert -d yahoo.com".

Кто же все-таки управляет Интернетом и как же разобраться во всем этом хаосе? Практически каждому узлу - компьютеру, коммутатору, шлюзу, присвоен свой уникальный адрес. Например 195.34.32.11 или 77.246.248.220. Эти адреса называются "IPv4" Таким образом, может быть около трех миллиардов комбинаций. Да, это мало. И сейчас, потихоньку вводится новый протокол - "IPv6". Который будет иметь значительно больше адресов. Переход с протокола на протокол достаточно сложное мероприятие и, несмотря на то что многие операционные системы уже поддерживают новый стандарт, переход на него все откладывается.

А при чем тут www.? То есть, вы набираете в браузере не 195.80.20.13 а www.сайт. Ну в принципе, определение хоста идет именно через эти циферки, а операцией по переводу их в красивый адрес (резолвинг) занимается DNS или nameserver или Сервер Доменных Имен. То есть, на Шлюзе вашего провайдера стоит специальная программа, которая отслеживает то, что вы отправляете через адресную строку браузера и переводит эти данные в циферки. А чтобы не произошло путаницы (ведь одни сайты закрываются, а другие открываются по их адресу), программа обновляется на шлюзе более крупного провайдера, а он, в свою очередь - на главном сервере имен - RIPN или РосНИИРОС (Russian Institute foe Public Names или Российский научно-исследовательский институт развития общественных сетей). И так далее.

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

Internet - international network. Дословно означает «интернациональная сеть». Фактически куча компьютеров, которые соединены между собой. Но, для того чтоб компьютеры могли находить друг друга им присваивают адреса. Такой адрес в сети интернет называется IP - адрес.

IP - internet protocol. Протокол - это нечто вроде языка или условностей. Например, я объясняю товарищам условный знак: если у меня в окне стоит цветок на подоконнике с левой или правой стороны, то родители дома, а если по центру подоконника то родаки уехали на дачу и ко мне можно забуриться с пивом на ночь. Это будет протокол мгновенного определения наличия предков дома и возможности зависнуть на ночь. Этим протоколом смогут пользоваться все ребята в нашей компании, кто точно знает об оговоренной условности. Если же эти условности узнают и будут использовать в другой компании, то мы им не сможем помешать, особенно если вместо цветка они обусловятся ставить на подоконник бутылку водки. Так же само протокол IP никто не запрещает использовать в сетях отличных от интернет. Сети использующие TCP/IP протоколы, но не входящие в сеть Internet называются Intranet.

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

Как я уже говорил каждый компьютер в интернете имеет IP-адрес. Его можно увидеть, если зайти в кнопку «ПУСК» -> «Выполнить», запустить «cmd» и выполнить команду «ipconfig». Эта команда напишет все сетевые настройки компьютера, независимо от того вписаны они вручную или получены автоматически.

Предположим что IP-адрес вашего компьютера 192.168.99.100 и маска подсети 255.255.255.0. Это значит, что ваш компьютер сможет напрямую без помощи маршрутизатора связаться с другими компьютерами вашей подсети 192.168.99.* . Это равносильно тому, что с любым из соседей вашего дома вы можете связаться просто высунувшись из окна и крикнуть во двор «Ваааська, заходи ко мне с пивом». Если же Васька живет на другой улице, то тут прийдется связываться с ним совсем по другому алгоритму - например по телефону.

Шлюз по умолчанию - маршрутизатор на который скидываются пакеты, которые предназначаются для IP адресов не относящихся в вашей подсети. На английском языке шлюз называется «gateway» или просто «gate». Так как на пользовательских компьютерах не известно и не должно быть известно ничего о нахождении других IP адресов во всем мире, то все что компьютер делает перед отправкой пакета - проверяет относится ли IP-адрес получателя к локальной подсети. Если относится, то пакет отправляется напрямую, если не относится, то пакет скидывается в шлюз и пусть шлюз сам разбирается как и где найти получателя. Аналогию можно провести такую. Вы выходите из своей двери в коридор. В коридоре множество дверей. Двери с разными номерами ведут в такие же кабинеты, как у вас и только одна дверь - это выход. Дверь выхода может иметь любой номер и выглядеть как и все остальные, единственное что ее отличает - это то что она является выходом с коридора. Выходов может быть много, включая пожарный. Так же и шлюзов в подсети может быть несколько. Итак, шлюз - это IP адрес в той же подсети, который отвечает за вывод пакетов во внешний мир. Если выход во внешний мир не нужен и локальная сеть работает самодостаточно, то шлюз не нужен.

Маршрутизатор - это, компьютер который согласно таблицам маршрутов знает куда отправлять пакеты, предназначенные для того или иного IP адреса. В английской терминологии маршрутизатор называют router, которое происходит от слова route - путь. Таблицы маршрутизации во всем мире меняются ежедневно из-за того, что появляются новые провайдеры, интернет расширяется, проводятся новые магистрали между странами и континентами. Изначально интернет был военной сетью и основной целью этой сети было обеспечение надежной связи, которая бы работала даже при разрушении части сети в случае военных действий. Эта надежность обеспечивается за счет наличия запасных маршрутов. А маршрутизатор знает эти маршруты и выбирает самый подходящий рабочий маршрут, по которому можно доставить пакет получателю. Таким образом, чтоб доехать из Харькова в Ростов вам нужно сначала добраться до трассы Харьков-Ростов, а когда доедете до Ростова по мелким улочкам закоулкам добраться до нужного вам адреса. Если же трассу Харьков-Ростов перекроют или разломают, это не будет значить, что больше нет возможности добраться в Ростов. Это будет значить что дорога будет дольше, неудобней и прийдется попотеть над картой, чтоб выбрать подходящий маршрут, который наверняка будет загружен, потому что желающих добраться в Ростов меньше не станет.

Виртуальные порты TCP/IP
Представте ситуацию, когда приходит почтальон и приносит по вашему адресу письмо, на котором стоит только номер вашей квартиры. Его встречает вся семья и интересуется, а для кого из членов семьи собственно говоря письмо? Такая же ситуация получилась бы, если бы на IP-адрес вашего компьютера пришел пакет, нельзя было бы определить какой программе предназначается пакет ICQ, Skype, Firefox ? Для того, чтоб не возникало таких инцидентов и мы могли запускать одновременно множество программ, использующих сеть ввели понятие виртуальных портов. Так же как на почтовых конвертах пишут имя получателя, IP-пакеты маркируются номером порта, для которого он предназначается. Так, каждая сетевая программа резервирует за собой воображаемый порт и все пакеты попадают нужным программам. Благодаря портам мы на одном компьютере можем запускать одновременно множество сетевых программ. Порт является просто числом от 0 до 65535 - двойка в 16 степени.

Кроме того, сервера предоставляя сервисы используют именно те порты, которые во всем мире принято использовать для каждого сервиса. Так, например, веб-сайты всегда работают по умолчанию на порту с номером 80, почта отправляется через порт 25, а получается через порт 110. Ничто не мешает администратору настроить сервер отдавать сайты через порт 25, но тогда получится ситуация что клиенты, зная что 25й порт это почтовый порт отправки почты работает по протоколу SMTP будут пытаться общаться с сервером, который отвечает по протоколу HTTP. Результат будет подобен тому, что я по оговоренному выше протоколу при желании выпить пива буду искать на подоконнике цветок, а буду находить бутылку водки.

Доменные имена
У каждого владельца паспорта имеется фискальный код, но так уж повелось, нам людям в отличие от компьютеров удобней работать с именами, а не с цифрами и мы друг друга зовем по имени, а не по фискальному коду. Так и вместо IP-адресов нам удобней набирать имена сайтов, такие как mail.ru или google.com. Система, которая преобразовывает имя в IP-адрес называется DNS - Domain Name System. В настройках сети, если вы пишете их вручную, всегда указывается DNS сервер для преобразования доменных имен в IP адреса. Или же сервер DNS получается вашим компьютером автоматически при подключении к интернету . Каждый раз когда вы набираете адрес сайта в браузере, ваш компьютер запрашивает у DNS сервера его IP адрес и устанавливает соединение с нужным IP адресом. У одного доменного имени может быть множество IP адресов. Это делается для распределения нагрузки. Можно увидеть набрав на разных компьютерах команду ping google.com, что пингуются совсем разные IP-адреса. Таким образом во всем мире люди набирают один адрес google.com, но попадают на разные сервера google, которых по всему миру тысячи. То же самое как в любой стране мира мы можем обратиться в Макдональдс, чтоб получить гамбургер, независимо от его адреса.

Сервер - это компьютер, который предоставляет сервисы. Название образуется от английского «to serve» - обслуживать. Когда вы даете доступ на файлы вашего компьютера, чтоб на него можно было зайти через сетевое окружение и скачать что либо, ваш компьютер становится сервером, потому что предоставляет сервис доступа к файлам. То же самое, если вы поставите на свой компьютер программное обеспечение веб сервера (например, веб сервер apache), то на ваш компьютер можно будет зайти через веб-браузер просто набрав IP адрес вашего компьютера и просмотреть вашу страничку. Другой вопрос, что для настоящих серверов используют более качественное и надежное оборудование, которое позволяет сервисам работать без сбоев круглые сутки и круглый год. Примеры предоставляемых популярных сервисов: HTTP для предоставления сайтов, DNS для преобразования доменных имен, FTP для обмена файлами, SMTP для отправки почты, POP3 или IMAP4 для получения почты, BitTorrent для пиринговых сетей, игровые серверы типа BattleNet. Свой сервер - это отличное решение для фирмы, офиса, локальной компьютерной сети или интернет клуба. Сервер помогает оптимизировать работу и сложить многие функции с людей на машину. Простой сервер может настроить единожды системный администратор. Корректно настроенный сервер практически не нуждается в обслуживании. Если же на сервер возложенно множество функций и от них зависит вся работа офиса, то фирме для обслуживания сервера понадобится должность системного администратора.

NAT
В любой локальной сети рано или поздно возникает потребность подключения к интернету. В локальных сетях для адресации компьютеров используются приватные IP-адреса, которые всему миру не известны. Провайдер же выдает только один реальный адрес на одно подключение. Как же быть, если в интернет надо подключить множество компьютеров, а адрес всего один? Так же, как это делается при подключении внутренних телефонных станций. Внутри офиса с телефонной станцией вы можете набрать номер 100 чтоб дозвониться начальнику или номер 101 чтоб дозвониться к коллеге. Но, если вы за пределеами офиса наберете номер 100 или 101, то вы наберете не существующий номер. Этот номер существует только в пределах внутренней телефонной сети вашего предприятия. Аналогично, в локальных компьютерных сетях используют внтренние IP адреса, которые начинаются на 192.168.*.* для адресации компьютеров и называются приватными. Такие адреса могут быть как в вашей локальной сети, так и в тысячах локалках всего мира. При попадании в интернет пакеты с таких приватных адресов выбрасываются, для них нет получателя. Поэтому при выходе пакета из локальной сети в мир используется следующий финт, который называется NAT - network address translation - преобразование сетевых адресов. На маршрутизаторе локалки, который отвечает за раздачу интернета, исходящий адрес пакета перебивается на адрес маршрутизатора. Всему интернету кажется что именно маршрутизатор отправил этот пакет и ответные пакеты отправляются на адрес этого же маршрутизатора. Маршрутизатор имеет именно тот единственный реальный IP адрес, который дал провайдер при подключении к интернету. При попадании на маршрутизатор система NAT понимает, что хоть адресом назначения и является адрес маршрутизатора, на самом деле пакет предназначается другому компьютеру. На пакете адрес назначения меняется на внутренний приватный адрес в вашей локальной сети и маршрутизатор заворачивает его в локальную сеть. Система NAT просто запоминает какой из компьютеров локальной сети инициализировал подключение и по таблицам подключений возвращает обратные пакеты. При такой системе выхода в интернет неудобство заключается в том, что никто из интернета не сможет инициализировать подключение к вашему компьютеру. Это плохо, если вы хотите на своем компьютере запустить веб сервер или сделать сервер ftp, или хотя бы создать сетевую игру вроде Counter-Strike или WarCraft. А преймущество в том, что вам не нужно защищать свой компьютер, ведь из интернета никто не может к вам подключиться и получить доступ к вашим ресурсам. Защищаться нужно только от компьютеров локальной сети, а это намного проще с учетом того что их немного и как правило они не настроены против вас враждебно.

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

Что такое фаервол/брэндмауэр и как он работает.
Жила была девочка Маша и радовалась каждому письму которое ей приходило. Но, когда она выросла и стала звездой мирового масштаба, ее стали заваливать сотнями писем в день. Одни письма были признаниями в любви, другие оскорблениями и угрозами, а Машу из всех писем интересовали только те, которые являлись предложениями о сотрудничестве. Маша доверила обработку всех приходящих пакетов секретарю, чтоб тот их фильтровал и выбирал только единицы полезных писем, проверял наличие корректного обратного адреса и оставлял письма только отпечатанные на лазерном принтере, а остальные выбрасывал. Так же секретарю указали выкидывать все письма из городов Урюпинск, Мухосранск и Бобруйск после неудачных концертов в этих городах. А для того, чтоб через письмо с якобы предложением о сотрудничестве не прислали бомбу или отраву снабдили секретаря приборами для тестирования всех писем на наличие взрывоопасных и токсичных веществ. А секретаря назвали Файрволом. В общем файрвол - это программа, которая фильтрует весь сетевой траффик приходящий на ваш компьютер, и в зависимости от ваших настроек блокирует его или разрешает. Так же файрвол может быть наделен функциями проверки траффика на вирусы и на прочие вредоносные данные.

Килобиты и килобайты
И последний вопрос, в котором больше всего путаются пользователи интернета - это килобиты и килобайты. Для пользователя все равно 128 килобит или килобайт, ему Opera на закачке показала 128кб, а в контракте написано 1024 кбит - обманули. Но разьве это не одно и тоже? А какая разница? Давайте все по порядку.

Компьютер воспринимает любую информацию в виде нулей и единиц. Будь это картинка, текст музыка или видео. Почему нулей и единиц? Потому что компьютеру так проще, он понимает только есть напряжение или нет напряжения. Допустим, вы с другом договорились свет горит в зале - есть родаки дома (единица), свет не горит - значит никого нет дома (ноль). Вы можете с помощью одного выключателя передать только два числа - ноль или один. А если нужно передать количество требуемых бутылок пива? Если выключателей несколько, то можно передать числа гораздо больше чем ноль и один даже несмотря на то что выключатель может только показать ВКЛ или ВЫКЛ, только надо обусловиться, как переводить из одной системы в другую. Рисуем такую таблицу для двух выключателей в двух разных комнатах:
00 - 0
01 - 1
10 - 2
11 - 3
Получается двумя выключателями можно передать число от 0 до 3 (то есть четыре числа). А если выключателей три?
000 - 0
001 - 1
010 - 2
011 - 3
100 - 4
101 - 5
110 - 6
111 - 7
Если выключателей три, то можно передать числа от нуля до 7, то есть восемь чисел.

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

Итак, если выключателей 8 штук, то 8 в восьмой степени = 256. В компьютерной терминологии один выключатель имеет объем информации 1 бит. А восемь объединенных в группу выключателей 1 байт. Итак, 1 байт - это число от 0 до 255.

С помощью числа от 0 до 255 можно уже договориться передавать буквы. Например,
1 = A
2 = B
и т.д.
Примерно так хранятся буквы в вашем компьютере. Так же само можно обсуловиться что каждое число будет обозначать градации какого то цвета в изобращении и тогда с помощью выключателей можно передавать изображения. Если же число будет обуславливать напряжение на динамике в определенный момент времени, то поток таких чисел задаст мелодию.

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

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

Итак, в сети биты, килобиты, мегабиты используются потому что передаваемая информация приводится к элементарному ВКЛ или ВЫКЛ, что и является ячейкой в один бит.

Но, мы привыкли мерять объем текста, фото или видео с помощью байтов, килобайтов или мегабайтов. Зная, что 1 байт = 8 бит несложно преобразовать одну единицу измерения в другую. Именно поэтому Opera на закачке меряет в байтах, а сетевое оборудование меряют в битах.

Всегда с чем то интересным Новак Сергей на блоге

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

Чем занимается провайдер интернета

Интернет провайдером принято называть организацию, фирму или компанию, которая занимается предоставлением услуг обеспечения связи и подключения к сети. Говоря проще, такие организации попросту «продают интернет» потребителю. Во всем мире существует четкое разделение подобных компаний на уровни, которые маркируют как tier 1, 2, 3…

Можно сказать, что вся глобальная сеть держится на интернет провайдерах уровня tier1, которые имеют свою оптику, расположенную на дне морей и океанов. Такие глобальные операторы, как правило, не работают с конечными потребителями, а продают трафик более мелким компаниям. Интересно, что мировые цены на трафик колеблются в пределах 25-27 евро за мегабит, однако при заключении особо крупных сделок цена может доходить до 7-10 евро.

Как уже упоминалось выше, такие акулы как tier1 обычно сотрудничают с провайдерами низшего уровня, предоставляя трафик сотнями мегабит. Покупателями для них становятся обычно национальные операторы. Для России такую прослойку tier2 представляют две основные компани:

Ростелеком;
- Транстелеком.

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

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

Родные интернет провайдеры tier3

Конечный потребитель в подавляющем числе случаев имеет дело с провайдерами уровня tier3, которые занимаются организацией локальных сетей и предоставлением услуг по подключению абонентов. Безусловно, такая схема несколько увеличивает стоимость интернета для потребителя, поскольку вводит в ход понятие погигабайтной оплаты, однако здесь следует понимать, что именно tier3 обычно берет на себя все обязательства по организации сервиса, ремонта и устранения неполадок сети, а также осуществляет непосредственный технический контакт с клиентами. Примером оператора третьего уровня может стать провайдер «Смайл» (официальный сайт smile-net.ru), который является организатором крупнейшей локальной сети в Московской области.