Сетевые протоколы – протокол IР

Лабораторная работа №1.

Сетевые, транспортные и прикладные протоколы.

Создание собственной утилиты Whois.

Модель OSI

В основе сетевых технологий лежит эталонная модель OSI (Open System Interconnection, взаимодействие открытых систем), которая была разработана Международной организацией по стандартизации. Модель OSI разделяет различные процессы, происходящие во время сеанса связи, на семь функциональных уровней. Каждый уровень определяется сервисом, который он предоставляет вышестоящему уровню, и протоколом – набором правил и форматов данных для взаимодействия между собой объектов одного уровня, работающих на разных компьютерах.

1. Физический уровень — передача битов по физическим каналам (коаксиальный кабель, витая пара, оптоволоконный кабель). Здесь определяются характеристики физических сред и параметры электрических сигналов.

2. Канальный уровень — передача кадра данных между любыми узлами в сетях типовой топологии или соседними узлами произвольной топологии. В качестве адресов на канальном уровне используются МАС-адреса.

3. Сетевой уровень — доставка пакета любому узлу в сетях произвольной топологии. На этом уровне нет никаких гарантий доставки пакета.

4. Транспортный уровень — доставка пакета любому узлу с любой топологией сети и заданным уровнем надежности доставки. На этом уровне имеются средства для установления соединения, буферизации, нумерации и упорядочивания пакетов.

5. Сеансовый уровень — управление диалогом между узлами. Обеспечена возможность фиксации активной на данный момент стороны.

6. Уровень представления данных — здесь возможно задать преобразование данных (шифрование, сжатие).

7. Прикладной уровень — набор сетевых сервисов (FTP, E-mail и др.) для пользователя и приложения.

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

Протокол по этой модели работает следующим образом. Все начинается с прикладного уровня. Пакет попадает на этот уровень и к нему добавляется заголовок. После этого прикладной уровень отправляет этот пакет на следующий уровень (уровень представления). Здесь ему также добавляется свой собственный заголовок, и пакет отправляется дальше. Так до физического уровня, который занимается непосредственно передачей данных и отправляет пакет в сеть.

Другая машина, получив пакет, начинает обратный отсчет. Пакет с физического уровня попадает на канальный. Канальный уровень убирает свой заголовок и поднимает пакет выше (на уровень сети). Уровень сети убирает свой заголовок и поднимает пакет выше. Так пакет поднимается до уровня приложения, где остается чистый пакет без служебной информации, которая была прикреплена на исходном компьютере перед отправкой пакета.

Передача данных не обязательно должна начинаться с седьмого уровня. Если используемый протокол работает на четвертом уровне, то процесс передачи начнется с него, и пакет будет подниматься вверх до физического уровня для отправки. Количество уровней в протоколе определяет его потребности и возможности при передаче данных.

Чем ниже находится протокол (ближе к прикладному уровню), тем больше у него возможностей и больше накладных расходов при передаче данных (больше и сложнее заголовок). Рассматриваемые в работе протоколы будут находиться на разных уровнях, поэтому будут иметь разные возможности.

Корпорация Microsoft пошла своим путем и реализовала модель OSI в TCP/IP по-своему: принцип оставлен тот же, хотя изменились названия и количество уровней. У Microsoft вместо семи уровней есть только четыре. Один уровень Microsoft может выполнять все, что в OSI делают три уровня. Например, уровень приложения у Microsoft выполняет все, что делают уровень приложения, уровень представления и уровень сеанса вместе взятые. На рис. 1.1 графически сопоставлена модель MS TCP и справочная модель OSI. Слева указаны названия уровней по методу MS, а справа – уровни OSI. В центре показаны протоколы.

 

MS TCP/IP

Справочная модель OSI

Уровень приложения

Сокеты Windows

NetBios

 

 

NetBios на основе TCP/IP

Прикладной уровень     Уровень представления данных
 

Интерфейс TDI

Сеансовый уровень
Транспортный уровень

UDP

TCP

Транспортный уровень

Межсетевой уровень

ICMP

ARP

Сетевой уровень

IP

IGMP

RARP

 

Интерфейс NDIS

 

Уровень сетевого интерфейса

Internet Драйверы сетевых карт

РРР

 

Трансляция пакета данных

Канальный уровень
FDDI Сетевые карты Физический уровень
           

Рис.1.1. Модель OSI и вариант от MS

Сетевые протоколы – протокол IР

Протокол TCP/IP – это не одно целое, а два разных протокола, которые работают совместно. Разница в этих протоколах очень важна.

Если посмотреть на схему сетевой модели (рис.1.1), то можно увидеть, что протокол IP находится на сетевом уровне. Из этого можно сделать вывод, что IP выполняет сетевые функции – доставка пакета любому узлу в сетях произвольной топологии.

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

Каждый IP-пакет содержит адреса отправителя и получателя, идентификатор протокола, TTL (время жизни пакета) и контрольную сумму для проверки целостности пакета. Здесь также есть контрольная сумма, которая все же позволяет узнать целостность пакета. Но об этом узнает только получатель. Когда компьютер-получатель принимает пакет, то он проверяет контрольную сумму только для себя. Если сумма сходится, то пакет обрабатывается, иначе просто отбрасывается. А компьютер-отправитель пакета не сможет узнать об ошибке, которая возникла в пакете, и не сможет заново отправить пакет. Именно поэтому соединение по протоколу IP нельзя считать надежным.

Сопоставление адреса ARP и RARP.

Протокол ARP (Address Resolution Protocol, протокол определения адреса) предназначен для определения аппаратного (MAC) адреса компьютера в сети по его IP-адресу. Прежде чем данные смогут быть отправлены на какой-нибудь компьютер, отправитель должен знать аппаратный адрес получателя. Именно для этого и предназначен ARP.

Когда компьютер посылает ARP запрос на поиск аппаратного адреса, то сначала ищем этот адрес в локальном кэше. Если уже были обращения по данному IP-адресу, то информация о МАС-адресе должна сохраниться в кэше. Если ничего не найдено, то в сеть посылается широковещательный запрос, который получат все компьютеры сети. Они получат этот пакет и проверят, если искомый IP-адрес принадлежит им или хранится у них в кэше, то они ответят на запрос, указав нужный МАС-адрес.

Широковещательные пакеты получат все компьютеры локальной сети. Ни один широковещательный пакет не пройдет дальше маршрутизатора. Коммутаторы тоже позволяют уменьшить широковещание, потому что они знают, к какому порту подключены компьютеры с определенными IP. В них находится таблица, в которой отображаются адреса подключенных компьютеров, и если искомый компьютер подключен к порту, то поиск облегчается. Это касается современных коммутаторов.

Широковещательные пакеты могут пересылаться по коаксиальному кабелю (потому что тут отсутствуют хабы и коммутаторы), а при использовании витой пары – через хабы и простые коммутаторы. Если компьютер расположен в другой сети, то его поиск происходит немного по другой схеме.

Протокол RARP (Reverse Address Resolution Protocol, обратный протокол определения адреса) делает обратное – определяет IP-адрес по известному МАС-адресу. Процесс поиска адресов абсолютно такой же.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: