Самостоятельная работа 1: Служебные утилиты для работы в Интернет. Изучение протокола HTTP

Структура IP адреса

IPадрес состоит из двух частей: номера сети и номера узла в сети.

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

Для разделения этих частей обычно используется 2 подхода:

С помощью маски (RFC 950, RFC 1518), представляющей собой число в паре с IP-адресом. С помощью операции » логическое И » над этими двумя числами выделяется номер сети.

С помощью классов адресов (RFC 791).

Вводится пять классов адресов: A,B,C,D,E.

A,B,C – используются для адресации сетей, D и E – имеют специальное назначение. Признаком, на основании которого IPадрес относят к тому или иному классу, являются значения нескольких первых битов адреса.

Таблица 3.1. Распределение адресов в IP сетях.

КлассПервыебитыНаименьший номер сетиНаибольшийномер сетиМаксимальное числоузлов в сети
A01.0.0.0 (0 — не используется)126.0.0.0 (127-зарезервирован)224 (3 байта)
B10128.0.0.0191.255.0.0216 (2 байта)
С110192.0.0.0223.255.255.028 (1 байт)
D1110224.0.0.0239.255.255.255групповые адреса
E11110240.0.0.0247.255.255.255зарезервировано

В рамках IP протокола существуют ограничения при назначении IP-адресов, а именно

  • номера сетей и номера узлов не могут состоять из двоичных нулей или единиц;
  • eсли IP-адрес состоит только из двоичных нулей, то он называется неопределенным адресом и обозначает адрес того узла, который сгенерировал этот пакет;
  • eсли в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет; такой адрес может быть использован только в качестве адреса отправителя;
  • если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета; такой адрес называется ограниченным широковещательным, поскольку пакет не сможет выйти за границы сети;
  • если в поле адреса назначения в разрядах, соответствующих номеру узла, стоят только единицы, то пакет рассылается всем узлам сети, номер которой указан в адресе назначения; такой тип адреса называется широковещательным ;
  • если первый октет адреса равен 127, то такой адрес называется внутренним адресом стека протоколов; он используется для тестирования программ, организации клиентской и серверной частей приложений, установленных на одном компьютере;
  • групповые адреса, относящиеся к классу D, предназначены для экономичного распространения в Интернете, большой корпоративной сети аудио- или видеопрограмм.

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

  • класс A – 255.0.0.0 ;
  • класс B – 255.255.0.0 ;
  • класс C – 255.255.255.0.

Рассмотрим следующий пример:

Исходные данныеIP адрес62.76.167.21
Маска сети255.255.255.0
Логическая операцияИ
РезультатАдрес сети62.76.167.0
Номер компьютера21

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

Утилита ipconfig

Ipconfig — это утилита командной строки для вывода деталей текущего соединения компьютера с сетью и контроля над клиентским сервисом DHCPDHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, позволяющий компьютерам автоматически получать IPадрес и другие параметры, необходимые для работы в сети TCP/IP.

Синтаксис команды:

ipconfig/ключи

Команда ipconfig/all — отображает полную информацию по всем сетевым адаптерам.

Пример вывода для Windows:

Утилита ping

Ping (Packet InterNet Grouper) — это системная программа, предназначенная для проверки соединений в сетях на основе TCP/IP. Она отправляет Echo-Request запросы протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа (RTT, Round Trip Time) позволяет определять двусторонние задержки (RTT) по маршруту и частоту потери пакетов. Что позволяет косвенно определять загруженность каналов передачи данных и промежуточных устройств. Полное отсутствие ICMP-ответов может также означать, что удалённый узел (или какой-либо из промежуточных маршрутизаторов) блокирует ICMP Echo-Reply или игнорирует ICMP Echo-Request.

Синтаксис:

ping   –параметры   конечное_имя

Конечное имя – это доменное имя или IPадрес хоста

Пример:

Утилита traceroute

Traceroute (сокращенно tracert ) — это служебная программа, предназначенная для определения маршрутов следования пакетов в сетях TCP/IP. Работа traceroute основана на протоколе ICMP.

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

Синтаксис:

tracert   –параметры   конечное_имя

Конечное_имя – это доменное имя или IPадрес хоста

Пример:

Утилита netstat

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

Утилита telnet

Telnet — сетевой протокол для реализации текстового интерфейса по сети. Название » telnet » имеет также утилита, реализующая клиентскую часть протокола. Исторически telnet служил для удалённого доступа к интерфейсу командной строки операционных систем. Протокол telnet может использоваться для выполнения отладки других протоколов на основе транспорта TCP.

Утилита telnet поддерживает следующие команды:

  • Close – закрытие текущего подключения.
  • Display – отображение параметров операции.
  • Open – подключение к сайту.
  • Quit – выход из telnet.
  • Set – установление параметров.
  • Send – отправление строки на сервер.
  • Status – вывод сведений о текущем состоянии.
  • Unset – сброс параметров.

Используя утилиту telnet можно, например вручную отправить запрос клиента и получить ответ сервера по протоколу HTTP.

Для этого выполним следующую последовательность действий:

Запуск утилиты telnet

Установление соединения с веб-сервером с помощью команды:

open имя_хоста 80

Формируем строку состояния запроса клиента:

GET 
http://LOCALHOST/PERLCALC.HTML 
HTTP/1.0 <ENTER><ENTER>

Получение ответа сервера

Видно, что ответ веб-сервера localhost содержит строку состояния (с кодом успешного завершения 200), поля заголовка ( Server, Date, Content-type и др.) и тело, содержащее HTML код запрошенного клиентом документа http://localhost/perlcalc.html.

Порядок выполнения работы

Задание 1. Просмотр сетевых настроек

С помощью утилиты ipconfig (запускается в командной строке командой ipconfig) определите IP-адрес и маску подсети для своего компьютера.

Определите класс подсети, в которой находится ваш компьютер без использования маски подсети и по маске подсети.

Определите адрес подсети, в которой находится ваш компьютер, с использованием функции «Логическое И» над IP-адресом и маской подсети. Следует иметь в виду, что операция «Логическое И» должна производиться с двоичным представлением операндов.

Задание 2

С помощью утилиты ping (запускается в командной строке командой ping ) проверьте доступность хостов, минимальное, среднее и максимальное время приема-передачи ICMP пакетов до них. Можно рассмотреть хосты, например в следующей последовательности:

  • Сервер вашего непосредственного провайдера или сервера вашей подсети;
  • Какой-либо сервер вашего региона;
  • Веб-сервер Интернет-Университета Информационных Технологий: www.intuit.ru;
  • Веб-сервер Университета в Кембридже: www.cam.ac.uk;
  • Веб-сервер Университета в Калифорнии: www.ucla.edu;
  • Веб-сервер Университета в Токио: www.u-tokyo.ac.jp;
  • Веб-сервер компании Майкрософт: www.microsoft.com.

Обратите внимание, что в последнем случае ICMP-пакеты блокируются веб-сервером.

Задание 3

С помощью утилиты tracert (запускается в командной строке командой tracert ) определите маршруты следования и время прохождения пакетов до хостов, приведенных в задании 2.

Задание 4

С помощью утилиты netstat (запускается в командной строке командой netstat ) посмотрите активные текущие сетевые подключения и их состояние на вашем компьютере.

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

Закрывайте браузеры и с помощью netstat проверяйте изменение списка сетевых подключений.

Задание 5. Ознакомление с протоколом HTTP с помощью утилиты telnet

Запустите сеанс telnet (запускается в командной строке командой telnet). При этом появится подсказка Microsoft Telnet>. С полным списком команд можно ознакомиться с помощью команды help.

Разрешите режим отображения вводимых с клавиатуры символов с помощью команды set localecho.

В соответствии с протоколом HTTP необходимо установить соединение с веб-сервером. Для этого с помощью команды openустанавливается соединение, например: open http://www.yandex.ru 80.

Сформируйте клиентский запрос. Как минимум он должен содержать строку состояния, например:

GET HTTP://WWW.YANDEX.RU/INDEX.HTML HTTP/1.0

Если поля запроса отсутствуют, то ввод заканчивается двумя нажатиями клавиши <ENTER> для вставки пустой строки после заголовка.

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

Изучите полученный ответ сервера. Обратите внимание на код ответа в строке состояния ответа веб-сервера в строке состояния и поля заголовка ответа. Если ответ сервера очень большой (в первую очередь из-за размера документа в теле ответа), то содержимое ответа сервера в окне интерпретатора командной строки обрезается с начала. В этом случае рекомендуется для просмотра заголовка вместо метода GET использовать метод HEAD.

Контрольные задания

  1. С помощью какой утилиты по заданному доменному имени хоста можно определить его IP адрес? Определите IP адрес хоста http://www.mail.ru.
  2. C помощью утилиты telnet определите какой веб-сервер установлен на хосте www.rbc.ru.
  3. Определите маршрут прохождения ICMP пакетов до хоста www.ttt.com. Определите примерную географическую локализацию хоста.