Структура 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 сетях.
Класс | Первыебиты | Наименьший номер сети | Наибольшийномер сети | Максимальное числоузлов в сети |
A | 0 | 1.0.0.0 (0 — не используется) | 126.0.0.0 (127-зарезервирован) | 224 (3 байта) |
B | 10 | 128.0.0.0 | 191.255.0.0 | 216 (2 байта) |
С | 110 | 192.0.0.0 | 223.255.255.0 | 28 (1 байт) |
D | 1110 | 224.0.0.0 | 239.255.255.255 | групповые адреса |
E | 11110 | 240.0.0.0 | 247.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 — это утилита командной строки для вывода деталей текущего соединения компьютера с сетью и контроля над клиентским сервисом DHCP. DHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, позволяющий компьютерам автоматически получать IP—адрес и другие параметры, необходимые для работы в сети TCP/IP.
Синтаксис команды:
ipconfig/ключи
Команда ipconfig/all — отображает полную информацию по всем сетевым адаптерам.
Пример вывода для Windows:
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.
Контрольные задания
- С помощью какой утилиты по заданному доменному имени хоста можно определить его IP адрес? Определите IP адрес хоста http://www.mail.ru.
- C помощью утилиты telnet определите какой веб-сервер установлен на хосте www.rbc.ru.
- Определите маршрут прохождения ICMP пакетов до хоста www.ttt.com. Определите примерную географическую локализацию хоста.
Для отправки комментария необходимо войти на сайт.