Протокол TCP/IP или как работает Интернет (для чайников)
В основе работы глобальной сети Интернет лежит набор (стек) протоколов TCP/IP. Но эти термины лишь на первый взгляд кажутся сложными. На самом деле стек протоколов TCP/IP — это простой набор правил обмена информацией, и правила эти на самом деле вам хорошо известны, хоть вы, вероятно, об этом и не догадываетесь. Да, все именно так, по существу в принципах, лежащих в основе протоколов TCP/IP, нет ничего нового: все новое — это хорошо забытое старое.
Человек может учиться двумя путями:
- Через тупое формальное зазубривание шаблонных способов решения типовых задач (чему сейчас в основном и учат в школе). Такое обучение малоэффективно. Наверняка вам приходилось наблюдать панику и полную беспомощность бухгалтера при смене версии офисного софта — при малейшем изменении последовательности кликов мышки, требуемых для выполнения привычных действий. Или приходилось видеть человека, впадающего в ступор при изменении интерфейса рабочего стола?
- Через понимание сути проблем, явлений, закономерностей. Через понимание принципов построения той или иной системы. В этом случае обладание энциклопедическими знаниями не играет большой роли — недостающую информацию легко найти. Главное — знать, что искать. А для этого необходимо не формальное знание предмета, а понимание сути.
В этой статье я предлагаю пойти вторым путем, так как понимание принципов, лежащих в основе работы Интернета, даст вам возможность чувствовать себя в Интернете уверенно и свободно — быстро решать возникающие проблемы, грамотно формулировать проблемы и уверенно общаться с техподдержкой.
Принципы работы интернет-протоколов TCP/IP по своей сути очень просты и сильно напоминают работу нашей советской почты.
Вспомните, как работает наша обычная почта. Сначала вы на листке пишете письмо, затем кладете его в конверт, заклеиваете, на обратной стороне конверта пишете адреса отправителя и получателя, а потом относите в ближайшее почтовое отделение. Далее письмо проходит через цепочку почтовых отделений до ближайшего почтового отделения получателя, откуда оно тетей-почтальоном доставляется до по указанному адресу получателя и опускается в его почтовый ящик (с номером его квартиры) или вручается лично. Все, письмо дошло до получателя. Когда получатель письма захочет вам ответить, то он в своем ответном письме поменяет местами адреса получателя и отправителя, и письмо отправиться к вам по той же цепочке, но в обратном направлении.
На конверте письма будет написано примерно следующее:
Теперь мы готовы рассмотреть взаимодействие компьютеров и приложений в сети Интернет (да и в локальной сети тоже). Обратите внимание, что аналогия с обычной почтой будет почти полной.
Каждый компьютер (он же: узел, хост) в рамках сети Интернет тоже имеет уникальный адрес, который называется IP-адрес (Internet Protocol Address), например: 195.34.32.116. IP адрес состоит из четырех десятичных чисел (от 0 до 255), разделенных точкой. Но знать только IP адрес компьютера еще недостаточно, т.к. в конечном счете обмениваются информацией не компьютеры сами по себе, а приложения, работающие на них. А на компьютере может одновременно работать сразу несколько приложений (например почтовый сервер, веб-сервер и пр.). Для доставки обычного бумажного письма недостаточно знать только адрес дома — необходимо еще знать номер квартиры. Также и каждое программное приложение имеет подобный номер, именуемый номером порта. Большинство серверных приложений имеют стандартные номера, например: почтовый сервис привязан к порту с номером 25 (еще говорят: «слушает» порт, принимает на него сообщения), веб-сервис привязан к порту 80, FTP — к порту 21 и так далее.
Таким образом имеем следующую практически полную аналогию с нашим обычным почтовым адресом:
В компьютерных сетях, работающих по протоколам TCP/IP, аналогом бумажного письма в конверте является пакет, который содержит собственно передаваемые данные и адресную информацию — адрес отправителя и адрес получателя, например:
Конечно же в пакетах также присутствует служебная информация, но для понимания сути это не важно.
Обратите внимание, комбинация: «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 можно использовать имя www.ofnet.ru. А преобразованием доменного имени в цифровой IP адрес занимается сервис доменных имен — DNS (Domain Name System).
Рассмотрим подробнее, как это работает. Ваш провайдер явно (на бумажке, для ручной настройки соединения) или неявно (через автоматическую настройку соединения) предоставляет вам IP адрес сервера имен (DNS). На компьютере с этим IP адресом работает приложение (сервер имен), которое знает все доменные имена в Интернете и соответствующие им цифровые IP адреса. DNS-сервер «слушает» 53-й порт, принимает на него запросы и выдает ответы, например:
Теперь рассмотрим, что происходит, когда в своем браузере вы набираете доменное имя (URL) этого сайта (www.ofnet.ru) и, нажав , в ответ от веб-сервера получаете страницу этого сайта.
Набираем в адресной строке браузера доменное имя www.ofnet.ru и жмем . Далее операционная система производит примерно следующие действия:
Отправляется запрос (точнее пакет с запросом) DNS серверу на сокет 195.34.32.116:53. Как было рассмотренно выше, порт 53 соответствует DNS-серверу — приложению, занимающемуся распознаванием имен. А DNS-сервер, обработав наш запрос, возвращает IP-адрес, который соответствует введенному имени.
Диалог примерно следующий:
Далее наш компьютер устанавливает соединение с портом 80 компьютера 82.146.49.55 и посылает запрос (пакет с запросом) на получение страницы www.ofnet.ru. 80-й порт соответствует веб-серверу. В адресной строке браузера 80-й порт как правило не пишется, т.к. используется по умолчанию, но его можно и явно указать после двоеточия — http://www.ofnet.ru:80.
Приняв от нас запрос, веб-сервер обрабатывает его и в нескольких пакетах посылает нам страницу в на языке HTML — языке разметки текста, который понимает браузер.
Наш браузер, получив страницу, отображает ее. В результате мы видим на экране главную страницу этого сайта.
Зачем эти принципы надо понимать?
Например, вы заметили странное поведение своего компьютера — непонятная сетевая активность, тормоза и пр. Что делать? Открываем консоль (нажимаем кнопку «Пуск» — «Выполнить» — набираем cmd — «Ок»). В консоли набираем команду netstat -anи жмем . Эта утилита отобразит список установленных соединений между сокетами нашего компьютера и сокетами удаленных узлов. Если мы видим в колонке «Внешний адрес» какие-то чужие IP адреса, а через двоеточие 25-й порт, что это может означать? (Помните, что 25-й порт соответствует почтовому серверу?) Это означает то, что ваш компьютер установил соединение с каким-то почтовым сервером (серверами) и шлет через него какие-то письма. И если ваш почтовый клиент (Outlook например) в это время не запущен, да если еще таких соединений на 25-й порт много, то, вероятно, в вашем компьютере завелся вирус, который рассылает от вашего имени спам или пересылает номера ваших кредитных карточек вкупе с паролями злоумышленникам.
Также понимание принципов работы Интернета необходимо для правильной настройки файерволла (проще говоря брандмауэра :)). Эта программа (которая часто поставляется вместе с антивирусом), предназначенна для фильтрации пакетов — «своих» и «вражеских». Своих пропускать, чужих не пущать. Например, если ваш фаерволл сообщает вам, что некто хочет установить соединение с каким-либо портом вашего компьютера. Разрешить или запретить?
Ну и самое главное — эти знания крайне полезны при общении с техподдержкой.
Напоследок приведу список портов, с которыми вам, вероятно, придется столкнуться:
Несколько специальных IP адресов:
Ручная конфигурация IP-адресов
Может случиться так, что DHCP-сервер не работает на маршрутизаторе, а, может, и никакого маршрутизатора вообще нет, ведь необязательно компания должна иметь выход в Интернет, можно использовать обычный сетевой коммутатор, то есть более простое устройство, не имеющее функции DCHP-сервера. В этом случае просто необходимо вручную назначить IP адреса для связи между компьютерами. Для того, чтобы определить, что у вас присутствует именно эта ситуация и вам нужно настраивать IP-адреса вручную, необходимо знать модель вашего маршрутизатора или коммутатора. Различных моделей на рынке присутствует очень много и в рамках этой статьи мы не можем дать единой методики определения, поэтому просто расскажем о ручной настройке IP-адресов.Сначала определимся, какую адресацию выделить на сеть. Существует так называемый частный диапазон IP адресов, который можно использовать для корпоративных, домашних и прочих сетей, не имеющих непосредственного выхода в Интернет. Возьмем, к примеру, такую сеть: 192.168.100.xxx, где xxx номер, уникальный для каждого компьютера, тогда как левая часть адреса будет неизменной для всех. То есть можем взять адрес 192.168.100.5 для одного компьютера, 192.168.100.6 для другого и так далее. Чтобы назначить адрес в Windows XP нужно выбрать Пуск –> Настройка –> Панель управления –> Сетевые подключения –> Подключение по локальной сети, открыть его свойства, найти в списке Протокол Интернета TCP/IP и открыть его свойства. Там выбрать «Использовать следующий IP-адрес» и ввести первый адрес. Маску подсети указать 255.255.255.0.
Для Windows 7 адрес назначается похожим образом: нужно выбрать Пуск –> Настройка –> Панель управления –> Центр управления сетями и общим доступом –> Изменение параметров адаптера –> Подключение по локальной сети, открыть его свойства, найти в списке Протокол Интернета TCP/IP и открыть его свойства. Там нужно задать новый IP-адрес, обеспечив, разумеется, различие с другими компьютерами в последней (и ТОЛЬКО в последней!) группе цифр. В случае, если офис не имеет выхода в Интернет через маршрутизатор, можно больше ничего не менять, этого будет достаточно. Если маршрутизатор есть, но автоматическая выдача адресов (DHCP-сервер) не работает, нужно сначала узнать, какой IP-адрес назначен на внутреннем интерфейсе маршрутизатора (обычно это 192.168.0.1 или 10.0.0.1) и указать этот адрес в свойствах TCP/IP в качестве Основного шлюза и DNS-сервера:
Проверяется правильная настройка IP адресов с помощью команды ping. Нажмите Пуск – Выполнить, введите слово cmd и нажмите OK. В открывшемся окне в командной строке запустите команду (для наших примеров) ping 192.168.100.1, затем ping 192.168.100.5 и т.д. В случае правильной настройки Вы должны получить ответ от удаленного устройства, если нет, ищите ошибку в цифрах:
Альтернативный способ
С помощью Yandex тоже можно быстро и легко выяснить свой IP-адрес. Для этого нужно открыть либо браузер Яндекс, либо поисковую систему. Затем в обычной строке поиска написать «iP» и нажать Enter. Через 2-4 секунды система выдаст данные.
Каким бы способом выяснить свой IP-адрес не воспользовался пользователь, результат будет одинаковым — последовательность цифр с точками всегда будет одна и та же. Метод определения влияет только на скорость получения данных.
Присвоение IP-адреса ПК для выхода в интернет
В локальной сети можно присваивать и менять IP-адреса как угодно. Но регистрацией в глобальной сети управляет провайдер. Поэтому здесь накладываются некоторые ограничения. Поставщик услуг для регистрации в интернете основного устройства (ПК или маршрутизатора) использует динамический (сменный при переподключении) или статический (постоянный) IP-адрес.
Динамический автоматически генерируется при коннекте и на него повлиять мы не можем.
Статический можно приобрести у провайдера (обычно за отдельную плату) и присвоить компьютеру для выхода в интернет. Все необходимые настройки при этом выполняет провайдер. От вас же требуется договориться с ним об оказании этой услуги.
В случае отсутствия данной услуги у провайдера, для некоторых целей может подойти DDNS.
Все устройства в локальной сети используют один и тот же IP-адрес для выхода в интернет, присваиваемый маршрутизатору или главному компьютеру. Чтобы обойти это ограничение, можно воспользоваться услугами VPN или прокси-сервера.
Выясняем внутренний IP адрес устройства
Определить свой адрес в OS Windows можно несколькими способами:
- используя интерфейс операционной системы;
- воспользовавшись интерпретатором командной строки;
- применив программное обеспечение стороннего производителя.
Определение адреса с помощью интерфейса системы
Следует предпринять такие шаги:
-
Нужно через меню «Пуск» зайти в раздел «Панель управления» и выбрать «Сетевые подключения» («Центр управления сетями и общим доступом»).
Определение адреса с помощью интерпретатора команд (командная строка)
Пошаговые действия в этом случае выглядят так:
-
Внизу меню «Пуск» расположено окно для поиска программ. В него необходимо вписать cmd, после чего запустить найденную программу:
Работа с командной строкой требует наличия прав администратора. Если запуск не удаеёся, нужно произвести его от имени администратора или зайти в систему с соответствующей учётной записью.
Смотрите также обучающий видеоурок по получению внутреннего ай-пи адреса компьютера:
Определение ай-пи адреса с помощью программного обеспечения стороннего производителя
На просторах Интернета существует множество простых утилит, которые позволят определить свой IP адрес одним кликом мыши.
Например, программа GetMyIP (www.get-myip.com), которая не требует установки и может запускаться даже со съёмных носителей. После её запуска будут отображены все локальные адреса компьютера.
Для получения внешнего адреса достаточно нажать кнопку «Get real IP». Он отобразится по истечении некоторого времени.
Блог учителя информатики
Для тoгo чтобы в процессе обмена информацией компьютеры могли найти друг друга, в Интернете существует единая система адресации, основанная на использовании Интернет адреса (IP — aдpeca).
Каждый компьютер, подключенный к Интернету, имеет свой уникальный З2 битовый (в двоичной системе) IР — адрес .
Интернет адрес несет количество информации i = 32 бита, тогда общее количество различных Интернет адресов N равно:
Для удобства восприятия двоичный 32 битовый Интернет aдpec можно разбить на четыре части по 8 битов и каждую часть представить в десятичной форме. Десятичный Интернет aдpec состоит из четырех чисел в диапазоне от 0 до 255, разделенных точками.
Пример : 192.168.0.1
192 | 168 | 0 | 1 |
11000000 | 10101000 | 00000000 | 00000001 |
Подробнее о глобальной компьютерной сети Интернет можно узнать скачав презентацию « Глобальная компьютерная сеть Интернет».
Задача №1 На месте преступления были обнаружены четыре обрывка бумаги. Следствие установило, что на них записаны фрагменты одного IP-адреса. Криминалисты обозначили эти фрагменты буквами А, Б, В и Г.
Восстановите IP-адрес.
В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.
Решение задачи №1 Для решения данной задачи следует помнить два правила: IP-адрес состоит из четырех десятичных чисел разделенных точками, интервал каждого десятичного числа от 0 до 255.
Соберем разорванный IP-адрес.
После обрывка Г (1.96) мы не можем поставить не одного обрывка, иначе выйдем из интервала допустимого значения числа IP-адреса (от 0 до 255 ) , следовательно этот обрывок будет последним.
Если поставить обрывок Б (18) между какими-либо другими обрывками мы выходим за интервал допустимого значения числа IP-адреса. Следовательно обрывок Б (18) будет первый.
Нам осталось разложить только два обрывка А и В . Мы можем заметить если после первого обрывка Б (18) мы поставим обрывок А (24.12), то выйдем за интервал (1824.12 — 1824 выходит за интервал), следовательно обрывок А (24.12) будет на третьем месте, а обрывок В (4.2) на втором.
Ответ: IP-адресс: 184.224.121.96 Б В А Г
Задача №2
На месте преступления были обнаружены четыре обрывка бумаги. Следствие установило, что на них записаны фрагменты одного IP-адреса. Криминалисты обозначили эти фрагменты буквами А, Б, В и Г.
Восстановите IP-адрес.
В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.
Решение задачи №2 Для решения данной задачи следует помнить два правила: IP-адрес состоит из четырех десятичных чисел разделенных точками, интервал каждого десятичного числа от 0 до 255.
Соберем разорванный IP-адрес.
Рассмотрим обрывок А (.62), если после данного обрывка поставить другой обрывок, то мы выйдем из допустимого значения числа IP-адреса (от 0 до 255 ) , следовательно этот обрывок будет последним.
После обрывка Г (26.73) мы можем поставить только оброк А (.62), иначе выйдем за пределы интервала, следовательно обрывок Г будет третьим (26.73.62).
Если мы поставим обрывок Б (18) на второе место, выйдем за пределы интервала ( 1826.73.62), следовательно обрывок Б на первом месте, а обрывок В на втором месте.
Ответ: IP-адресс: 184.226.73.62 Б В Г А
Задача №3
На месте преступления были обнаружены четыре обрывка бумаги. Следствие установило, что на них записаны фрагменты одного IP-адреса. Криминалисты обозначили эти фрагменты буквами А, Б, В и Г.
Восстановите IP-адрес.
В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.
Решение задачи №3 Для решения данной задачи следует помнить два правила: IP-адрес состоит из четырех десятичных чисел разделенны х точками, интервал каждого десятичного числа от 0 до 255.
Соберем разорванный IP-адрес.
Рассмотрим обрывок В (.50), если после данного обрывка поставить другой обрывок, то мы выйдем из допустимого значения числа IP-адреса (от 0 до 255 ) , следовательно этот обрывок будет последним.
Рассмотрим обрывок Б (89), данный отрывок можно поставить только спереди обрывка В (.50), в других случаях выйдем за интервал, следовательно обрывок Б будет третьим (89.50).
Перед обрывком Б (89) мы можем поставить только обрывок Г (18.1), иначе, если поставим обрывок А (16.2) мы выйдем за пределы интервала, следовательно обрывок Г будет вторым, а обрывок А — первым.
Ответ: IP-адресс: 16.218.189.50 А Г Б В
Задачи для самостоятельного решения
Задача №4
На месте преступления были обнаружены четыре обрывка бумаги. Следствие установило, что на них записаны фрагменты одного IP-адреса. Криминалисты обозначили эти фрагменты буквами А, Б, В и Г.
Восстановите IP-адрес.
В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.
Задача №5
На месте преступления были обнаружены четыре обрывка бумаги. Следствие установило, что на них записаны фрагменты одного IP-адреса. Криминалисты обозначили эти фрагменты буквами А, Б, В и Г.
Восстановите IP-адрес.
В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.