Теоретические положения.




Сеть Internet - это сеть сетей, объединяющая как локальные сети, так и глобальные сети типа NSFNET. Поэтому центральным местом при обсуждении принципов построения сети является семейство протоколов межсетевого обмена TCP/IP.

Под термином "TCP/IP" обычно понимают все, что связано с протоколами TCP и IP. Это не только собственно сами проколы с указанными именами, но и протоколы построенные на использовании TCP и IP, и прикладные программы.

Главной задачей стека TCP/IP является объединение в сеть пакетных подсетей через шлюзы. Каждая сеть работает по своим собственным законам, однако предполагается, что шлюз может принять пакет из другой сети и доставить его по указанному адресу. Реально, пакет из одной сети передается в другую подсеть через последовательность шлюзов, которые обеспечивают сквозную маршрутизацию пакетов по всей сети. В данном случае, под шлюзом понимается точка соединения сетей. При этом соединяться могут как локальные сети, так и глобальные сети. В качестве шлюза могут выступать как специальные устройства, маршрутизаторы, например, так и компьютеры, которые имеют программное обеспечение, выполняющее функции маршрутизации пакетов. Маршрутизация - это процедура определения пути следования пакета из одной сети в другую.

2.1. Структура стека протоколов TCP/IP

При рассмотрении процедур межсетевого взаимодействия всегда опираются на стандарты, разработанные International Standard Organization (ISO). Эти стандарты получили название "Семиуровневой модели сетевого обмена" или в английском варианте "Open System Interconnection Reference Model" (OSI Ref.Model). В данной модели обмен информацией может быть представлен в виде стека, представленного на рисунке 1. Как видно из рисунка, в этой модели определяется все - от стандарта физического соединения сетей до протоколов обмена прикладного программного обеспечения. Дадим некоторые комментарии к этой модели.

Физический уровень данной модели определяет характеристики физической сети передачи данных, которая используется для межсетевого обмена. Это такие параметры, как: напряжение в сети, сила тока, число контактов на разъемах и т.п. Типичными стандартами этого уровня являются, например RS232C, V35, IEEE 802.3 и т.п.

Рис. 1. Семиуровневая модель протоколов межсетевого обмена OSI

К канальному уровню отнесены протоколы, определяющие соединение, например, SLIP (Strial Line Internet Protocol), PPP (Point to Point Protocol), NDIS, пакетный протокол, ODI и т.п. В данном случае речь идет о протоколе взаимодействия между драйверами устройств и устройствами, с одной стороны, а с другой стороны, между операционной системой и драйверами устройства. Такое определение основывается на том, что драйвер - это, фактически, конвертор данных из оного формата в другой, но при этом он может иметь и свой внутренний формат данных.

Предметом рассмотрения в данной работе является канальный уровень модели OSI.

Сеть Интернет и другие сети, построенные на технологии TCP/IP относятся к сетям с пакетной передачей данных. Это означает, что информация от одного устройства к другому передается отдельными блоками, называемыми пакетами. В модели OSI, начиная с канального уровня, появляются пакеты. Каждый пакет состоит в общем случае из заголовка и самих передаваемых данных. Как правило, пакеты более высоких уровней целиком являются блоками данных для пакетов низких уровней. Т.е. для того, чтобы передать данные от одного узла на другой через сетевой уровень (например, протокол IP), необходимо сформировать пакет данных со своим заголовком. После этого весь пакет будет передан на канальный уровень, к нему добавится свой заголовок и данные будут переданы через физическую линию связи на нижнем, физическом уровне.

Технология Ethernet описывает передачу данных через разные типы кабелей. Базовая единица передаваемых данных –Ethernet кадр. Структура кадра показана в таблице:

MAC заголовок данные контрольная сумма
адрес получателя 6 байт адрес отправителя 6 байт тип данных 2 байта 46-1500 байт 4 байта
         

 

Media Access Control (MAC), уровень управления доступом к среде (передачи) — подуровень протокола передачи данных, также известен, как Medium Access Control. Является подуровнем канального (второго) уровня модели OSI. MAC обеспечивает адресацию и механизмы управления доступом к каналам, что позволяет нескольким терминалам или точкам доступа общаться между собой в многоточечной сети (например, в локальной или городской вычислительной сети).

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

Введение в протокол ARP

Проблема, которую мы будем обсуждать в этой главе, заключается в том, что IP адреса имеют какое-либо значение только в семействе протоколов TCP/IP. Канальные уровни, такие как Ethernet или Token ring, имеют собственную схему адресации (в основном 48-битные адреса); сетевые уровни, в свою очередь, используют эти канальные уровни. Сеть Ethernet, может быть использована различными сетевыми уровнями в одно и то же время. Компьютеры использующие разные сетевые протоколы могут находиться на одном и том же физическом кабеле.

Когда фрейм Ethernet отправляется от одного хоста по локальной сети к другому, по его 48-битному Ethernet адресу (MAC) определяется, к какому интерфейсу он должен быть доставлен. Драйвер сетевой платы никогда не смотрит на IP адрес назначения в IP датаграмме.

Другими словами возникает необходимость установить соответствие между двумя различными формами адресов: 32-битными IP адресами и каким-либо типом адресов канального уровня. RFC 826 [Plummer 1982] - официальная спецификация ARP.

Работа протокола ARP поясняется на рис. 2.

Перед посылкой IP-дейтаграммы, узел А на сетевом уровне определил IP-адрес узла назначения. Для определения МАС-адреса узла назначения узел А запускает протокол ARP. Работа протокола ARP начинается с просмотра ARP-таблицы, в которой каждая строка указывает соответствие между IP-адресом и МАС-адресом. Если искомый адрес в ARP-таблице отсутствует, то протокол ARP посылает широковещательный кадр Ethernet, в который вложен ARP запрос (ARP request),

Рис. 2. ARP-запрос и ARP-ответ

ARP-запрос содержит IP-адрес узла назначения и запрос "если Вы владелец этого IP-адреса, пожалуйста, сообщите мне Ваш аппаратный адрес".

Все узлы локальной сети получают ARP-запрос и сравнивают указанный в нем IP-адрес с собственным. В случае их совпадения узел (узел В) формирует ARP-ответ (ARP reply), в котором указывает свой IP-адрес и МАС-адрес и отправляет его уже персонально отправителю ARP-запроса.

После получения ARP-ответа узел А добавляет запись в свою ARP-таблицу, и IP дейтаграмма, из-за которой начался обмен ARP-пакетами, может быть послана.

^ Формат пакета ARP

На рисунке 3 показан формат ARP-запроса и ARP-ответа, в случае использования Ethernet и IP-адресов. (Существуют реализации протокола ARP для установления соответствия различных аппаратных и логических адресов. Типы и размеры этих адресов указывают поля Hard size, Prot size, Hard type, Prot type.)

Рис. 3. Формат пакета ARP.

В ARP-запросе все поля заполнены, за исключением поля MAC-адреса назначения. Когда узел получает ARP-запрос, который предназначается ему, он вставляет свой аппаратный адрес, меняет местами адреса источника и назначения, устанавливает поле op в значение 2 и отправляет ответ.

 

Для быстрой работы сетевого соединения каждое устройство хранит ARP-кэш – таблицу соответствия MAC-адресов и IP-адресов. Работа с данной таблицей осуществляется при помощи команды arp

 

Задание

1. Использовать модель сети из первой лабораторной работы.

2. Включить все компьютеры.

3. Выбрать произвольный компьютер, убедиться в том, что кэш ARP пуст (команда arp –a) (включить в отчёт)

4. Включить режим симуляции

5. Выполнить с выбранного компьютера команду ping другого компьютера.

6. Наблюдать последовательность распространения ARP пакетов, ICMP пакетов.

в списке «Event list» появится список пакетов, нажимая на закрашенный квадрат каждого пакета можно посмотреть дополнительные его свойства, в том числе – место данного пакета в модели OSI, заголовки пакетов, его содержимое.

7. Занести последовательность ARP пакетов в отчет (документ Word, описывающий результаты выполнения ваших действий), привести пример содержимого одного пакета.

8. Добавить в отчет содержимое ARP кэша каждого компьютера.

9. С каждого компьютера выполнить пинг на все оставшиеся, повторить п. 8.

10. очистить список событий в окне симуляции сети.

11. Выполнить команду ping с одного компьютера на другой.

12. добавить в отчет информацию о последовательности пакетов, передаваемых по сети. Сравнить с последовательностью, выполняемой в п. 5,6.

13. Очистить кэш ARP каждого компьютера командой arp –d

14. Закрыть симулятор.

Вторая часть работы будет выполнена на реальном компьютере.

15. В центре управления сетями и общим доступом (или сетевые подключения, у кого до сих пор версия Windows до Vista) необходимо узнать имя сетевого адаптера, подключенного к сети; обычно "Подключение по локальной сети", но может быть и другое

16. Запустить командную строку (cmd)от имени администратора

17. Определить локальный IP компьютера командой ipconfig и шлюз по умолчанию командой ipconfig /all или route print

18. Очистить кэш протокола arp командой arp –d. Рекомендуется перед этим закрыть все программы, работающие с Интернетом

19. Вывести на экран кэш протокола arp командой arp –a, добавить в отчет

20. Вызвать команду ping с указанием IP адреса шлюза по умолчанию

21. Снова вывести кэш arp и посмотреть, какие изменения произошли, добавить в отчет.

22. Очистить кэш протокола arp командой arp –d

23. С помощью команды netsh interface ipv4 add neighbor "Имя сетевого адаптера" IP_адрес_шлюза MAC_адрес добавить статическую запись для шлюза по умолчанию в таблицу ARP с заведомо неверным MAC-адресом (несовпадающим с выводом из п. 21) (можно объединить с предыдущей командой в один cmd файл и запускать от имени администратора)

24. Вызвать команду ping с указанием IP адреса шлюза по умолчанию, внести результаты в отчет, сделать выводы по полученному результату и необходимости протокола ARP в целом, использовании ARP-кэша

25. Удалить статическую запись из ARP-таблицы командой netsh interface ipv4 delete neighbor "Имя сетевого адаптера" IP_адрес_шлюза MAC_адрес.

Если у Вас не Windows – используйте команду arp –s для ручного внесения записей в ARP-кэш.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-10-25 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: