Новости Мурома
Новости провайдера
Вы здесь
Техподдержка
- Инструкция по оплате услуг #
- Личный кабинет #
- Советы по выбору тарифного плана #
- Настройка локальной сети в Windows 7 #
- Настройка VPN-соединения в Windows 7 #
- Создание подключения к сети в Win XP #
- Настройка VPN - соединения в Windows 2000/XP #
- Создание VPN соединения #
- IP-Телевидение #
- Распространенные ошибки VPN-соединения и пути решения #
- Включение авторизации при отправке почты #
- Настройка почтового-клиента Outlook Express #
- Настройка почтового-клиента Mozilla Thunderbird #
- Распространенные ошибки при работе с почтой #
- Удаление и установка протокола TCP/IP #
- Протокол TCP/IP или как работает Интернет #
- Домашний Интернет, решение проблем #
- Ошибки VPN подключения #
- О маршрутизации #
- Как защитить себя от спама и вирусов #
Протокол TCP/IP или как работает Интернет (для чайников)
В основе работы глобальной сети Интернет лежит стек (т.е. набор) протоколов TCP/IP. Не пугайтесь этих терминов — это всего лишь набор правил обмена информацией, кстати, вам хорошо известных, хоть вы об этом и не подозреваете. Да, да. Все новое — это хорошо забытое старое.
Есть две формы обучения человека чему-либо:
1. через формальное запоминание набора способов решения той или иной задачи (современное школьное образование);
2. через понимание сути задач, явлений, закономерностей.
Мы пойдем вторым путем, ибо понимание основных простых принципов работы Интернета откроет перед вами возможность чувствовать себя в Интернете, как рыба в воде — быстро и с пониманием решать возникающие проблемы, грамотно и уверенно общаться с техподдержкой и т.д. и т.п.
Забегая вперед, сразу скажу, что принципы работы интернет-протоколов TCP/IP по сути своей очень просты и похожи на работу обычной нашей совковой почты.
Давайте вспомним, как работает обычная (бумажная) почта. Вы пишете письмо, кладете его в конверт, запечатываете, на обратной стороне пишете адрес отправителя и адрес получателя, а потом относите в ближайшее почтовое отделение. Далее письмо проходит через цепочку почтовых отделений до ближайшего почтового отделения получателя, откуда оно почтальоном доставляется до дома по указанному адресу получателя и опускается в почтовый ящик квартиры получателя. Все. Письмо доставлено. Если получатель письма захочет вам ответить, то в его письме адрес получателя и адрес отправителя поменяются местами, и письмо пойдет по той же цепочке в обратном направлении.
Обратная сторона бумажного письма будет выглядеть примерно так:
Адрес отправителя:
От кого: Василия Пупкина
Откуда: Москва, ул. Большой коммунистический тупик, д. 8, кв. 25
Адрес получателя:
Кому: Башмачкину Акакию Акакиевичу
Куда: Санкт-Петербург, переулок Пирогова, д. 105, кв. 110
Теперь рассмотрим взаимодействие компьютеров и приложений в сети Интернет. Аналогия с обычной почтой будет практически полной.
Каждый компьютер (узел, хост) в Интернете также имеет свой уникальный адрес, который называется IP, например: 195.34.32.116. IP адрес состоит из четырех десятичных чисел (от 0 до 255 каждое), разделенных точкой. Но знать только IP адрес компьютера недостаточно, т.к. на компьютере может одновременно работать сразу несколько приложений (почтовый сервер, веб-сервер и пр.). Также как недостаточно знать только адрес дома для доставки письма — надо еще знать номер квартиры в этом доме. Аналогично каждое приложение (сервис, серверная программа) имеет такой номер, который называется номером порта. Например почтовый сервис привязан к порту 25 (еще говорят: «слушает» порт, принимает на него сообщения), веб-сервис привязан к порту 80 и т.д.
Таким образом имеем следующую аналогию:
адрес дома, номер квартиры ~ IP адрес компьютера, номер порта.
В компьютерных сетях аналогом бумажного письма в коверте является пакет, который содержит передаваемые данные и адресную информацию — адрес отправителя и адрес получателя, например:
Адрес отправителя (Source address):
IP: 82.37.56.124
Port: 2049
Адрес получателя (Destination address):
IP: 195.34.32.116
Port: 53
Данные пакета:
...
Комбинация: IP адрес и номер порта называется также сокетом.
В данном примере мы посылаем пакет на сокет 195.34.32.116:53, т.е. пакет пойдет на компьютер, имеющий IP адрес 195.34.32.116, на порт 53. А порту 53 соответствует приложение DNS-сервер (о нем ниже), который и примет этот пакет. Зная адрес отправителя, этот сервер аналогично может сформировать ответный пакет, который пойдет на сокет отправителя 82.37.56.124:2049.
Обычно взаимодействие происходит по схеме «клиент-сервер». Клиент запрашивает какую-либо информацию (например страницу сайта), а сервер отвечает. Серверные программы, как правило, привязаны к общеизвестным номерам портов, например: 25-й порт «слушает» сервер, занимающийся доставкой почты (по SMTP-протоколу), 110-й — сервер, обеспечивающий чтение почты из ваших почтовых ящиков (по POP3 протоколу), 80-й порт «слушает» веб-сервис, который по вашему клиентскому запросу выдает запрошенную страницу сайта и пр.
Номер порта на клиенте не фиксирован и назначается операционной системой динамически. Обычно серверные порты имеют номера до 1024 (но не всегда), а клиентские после 1024.
Еще раз повторю: IP — это адрес компьютера (узла, хоста) в сети, а порт — номер приложения, работающего на этом компьютере.
Но человеку работать с цифровыми IP адресами неудобно, поэтому был придуман сервис доменных имен — DNS (Domain Name System), который позволяет IP адресу поставить в соответствие какое-либо легко запоминающееся имя. Это позволило, например, для доступа к Яндексу в строке браузера набирать адрес www.yandex.ru, вместо 82.37.56.124.
Как это работает? Ваш провайдер предоставил вам IP адрес сервера имен (DNS). На этом компьютере работает приложение (сервер имен), которое знает все имена в Интернете и соответствующие им IP адреса. А занимется оно тем, что «слушает» 53-й порт, принимает на него запросы и выдает ответы, типа:
Запрос: какой IP адрес соответствует имени www.yandex.ru?
Ответ: 82.37.56.124.
Теперь суммируем полученные знания на следующем примере. Рассмотрим, что происходит, когда вы в браузере набираете адрес (URL) Яндекса www.yandex.ru, нажимаете и в ответ получаете страницу поиска.
Например, мы имеем:
IP адрес нашего компьютера: 91.76.65.216
Браузер: Internet Explorer (IE),
DNS сервер (предоставленный провайдером): 195.34.32.116 (у вас может быть другой),
Страница, которую мы хотим открыть: www.yandex.ru.
Поехали. Набираем в адресной строке браузера имя www.yandex.ru и жмем . В глубинах операционной системы происходит примерно следующее:
Сначала отправляется запрос (т.е. пакет с запросом) DNS серверу на сокет 195.34.32.116:53 (порт 53 соответствует DNS-серверу, т.е. приложению, которое занимается распознаванием имен), а DNS-сервер возвращает IP-адрес, соответствующий этому имени.
Диалог примерно следующий:
- Какой IP адрес соответствует имени www.yandex.ru?
- 82.37.56.124.
Далее устанавливается соединение с портом 80 компьютера 82.37.56.12 и посылается пакет с запросом на получение страницы www.yandex.ru. (Порт 80 соответствует веб-серверу. В адресной строке браузера порт 80 обычно не пишется, т.к. используется по умолчанию, но его можно и явно указать после двоеточия - http://www.yandex.ru: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 — прокси-серверы.
Также приведу несколько специальных IP адресов:
127.0.0.1 — это localhost, адрес локальной системы, т.е. локальный адрес вашего компьютера.
0.0.0.0 - так обозначаются все IP-адреса.
192.168.xxx.xxx — адреса, которые можно произвольно использовать в локальных сетях. В Интернете они не используются. Они уникальны только в рамках одной локальной сети, но не в рамках Интернета. Адреса из этого диапазона вы смело можете использовать, например, для организации своей домашней или офисной сети.
А что такое маска подсети и шлюз по умолчанию (роутер)? - спросите вы.
(Эти параметры задаются в настройках сетевых подключений в Windows).
Все просто. Компьютеры объединяются в локальные сети. В локальной сети компьютеры напрямую «видят» друг друга. Локальные сети соединены друг с другом через роутеры (шлюзы). При отправлении пакета, маска подсети используется для определения — принадлежит ли компьютер-получатель к этой же локальной сети или нет. Если компьютер-получатель принадлежит этой же сети, что и компьютер-отправитель, то пакет передается ему напрямую, в противном случае пакет отправляется на шлюз по умолчанию, который далее, по известным ему маршрутам, передает пакет в другую сеть, т.е. в другое почтовое отделение (по аналогии с советской почтой).
Напоследок рассмотрим что же означают непонятные слова TCP/IP.
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 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).
С использованием материалов www.ofnet.ru