Занятие 5 по курсу "Информационные сети"

Уровни OSI

В модели OSI (рис. 4.2) средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с определённым аспектом взаимодействия сетевых устройств.


Рис. 4.2. Модель взаимодействия открытых систем ISO/OSI.

Модель OSI описывает только системные средства взаимодействия, реализуемые операционной системой, системными утилитами и аппаратными средствами. Она не включает средства взаимодействия приложений конечных пользователей. Собственные протоколы взаимодействия приложения реализуют, обращаясь к системным средствам. Поэтому необходимо различать уровень взаимодействия приложений и прикладной уровень.

Следует также иметь в виду, что приложение может взять на себя функции некоторых верхних уровней модели OSI. Например, некоторые СУБД имеют встроенные средства удалённого доступа к файлам. В этом случае приложение, выполняя доступ к удалённым ресурсам, не использует системную файловую службу; оно обходит верхние уровни модели OSI и обращается напрямую к системным средствам, ответственным за транспортировку сообщений по сети, располагающимся на нижних уровнях модели OSI.

Итак, пусть приложение обращается с запросом к прикладному уровню, например к файловой службе. На основании этого запроса ПО прикладного уровня формирует сообщение стандартного формата. Обычное сообщение состоит из заголовка и поля данных. Заголовок содержит служебную информацию, которую необходимо передать через сеть прикладному уровню машины-адресата, чтобы сообщить ему, какую работу надо выполнить. В данном случае заголовок, очевидно, должен содержать информацию о местонахождении файла и о типе операции, которую необходимо выполнить. Поле данных сообщения может быть пустым или содержать какие-либо данные, например те, которые необходимо записать в удалённый файл. Чтобы доставить эту информацию по назначению, предстоит решить много задач, ответственность за которые несут нижележащие уровни.

После формирования сообщения прикладной уровень направляет его вниз по стеку представительному уровню. Протокол представительного уровня на основании информации, полученной из заголовка прикладного уровня, выполняет требуемые действия и добавляет к сообщению собственную служебную информацию – заголовок представительного уровня, в котором содержатся указания для протокола представительного уровня машины-адресата. Полученное в результате сообщение передаётся вниз сеансовому уровню, который в свою очередь добавляет свой заголовок, и т. д. (Некоторые протоколы помещают служебную информацию не только в начале сообщения в виде заголовка, но и в конце, в виде так называемого «концевика».) Наконец, сообщение достигает нижнего, физического уровня, который и передаёт его по линиям связи машине-адресату. К этому моменту сообщение «обрастает» заголовками всех уровней (рис. 4.3.).

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


Рис. 4.3. Вложенность сообщений различных уровней.

Наряду с термином сообщение (message) существуют и другие термины, применяемые сетевыми специалистами для обозначения единиц данных в процедурах обмена. В стандартах ISO для обозначения единиц данных, с которыми имеют дело протоколы разных уровней, используют общее название протокольный блок данных (Protocol Data Unit, PDU). Для обозначения блоков данных определённых уровней используют специальные названия: кадр (frame), пакет (packet), дейтаграмма (datagram), сегмент (segment).

Сетевой уровень (Network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, причём эти сети могут использовать различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. Функции сетевого уровня достаточно разнообразны. Рассмотрим их на примере объединения локальных сетей.

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

На сетевом уровне сам термин «сеть» наделяют специфическим значением. В данном случае под сетью понимается совокупность компьютеров, соединенных между собой в соответствии с одной из стандартных типовых топологий и использующих для передачи данных один из протоколов канального уровня, определённый для этой топологии.

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

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

Маршрутизатор (устройство) собирает информацию о топологии межсетевых соединений и пересылает пакеты сетевого уровня в сеть назначения. Для передачи сообщения от отправителя, находящегося в одной сети, получателю, находящемуся в другой сети, нужно совершить несколько транзитных передач между сетями, или хопов («hop» – прыжок), каждый раз выбирая подходящий маршрут. Маршрут представляет последовательность маршрутизаторов, через которые проходит пакет.

Сетевой уровень – доставка пакета:

На рис. 4.4. показаны четыре сети, связанные тремя маршрутизаторами. Между узлами А и В данной сети пролегает два маршрута: первый – через маршрутизаторы 1 и 3, а второй – через маршрутизаторы 1, 2 и 3.


Рис. 4.4. Пример составной сети.

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

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

Сообщения сетевого уровня принято называть пакетами (packet).

При организации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из старшей части – номера сети и младшей – номера узла в этой сети. Все узлы одной сети должны иметь один и тот же номер сети, поэтому термину «сеть» на сетевом уровне можно дать и другое, более формальное, определение: сеть – это совокупность узлов, сетевой адрес которых содержит один и тот же номер сети.

На сетевом уровне определяется два вида протоколов. Первый вид – сетевые протоколы (routed protocols) – реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Часто к сетевому уровню относят другой вид протоколов, называемых протоколами обмена маршрутной информацией или просто протоколами маршрутизации (routing protocols). С их помощью маршрутизаторы собирают информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями ОС, а также программными и аппаратными средствами маршрутизаторов.

На сетевом уровне работают протоколы ещё одного типа, отвечающего за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов – Address Resolution Protocol, ARP. Иногда их относят не к сетевому уровню, а к канальному, хотя тонкости классификации не изменяют сути.

Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.

Транспортный уровень
На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надёжным соединением. Транспортный уровень (Transport layer) обеспечивает приложениям или верхним уровням стека – прикладному и сеансовому – передачу данных с той степенью надёжности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное – способ-ностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надёжности решается самими приложениями и протоколами более высоких, чем транспортный, уровней, а с другой стороны, – зависит от того, насколько надёжной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного – сетевым, канальным и физическим. Так, например, если качество каналов передачи связи очень высокое, и вероятность наличия ошибок, не обнаруженных протоколами более низких уровней, невелика, стоит воспользоваться одним из облегченных сервисов транспортного уровня, не обремененных многочисленными проверками, квитированием и другими приёмами повышения надёжности. Если же транспортные средства нижних уровней изначально очень ненадёжны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя максимум средств для обнаружения и устранения ошибок, – с помощью предварительного установления логического соединения, отслеживания доставки сообщений по контрольным суммам и циклической нумерации пакетов, установления таймаутов доставки и т. п.

Транспортный уровень – обеспечение доставки информации с требуемым качеством между любыми узлами сети:

Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети – компонентами их сетевых ОС. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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

Сеансовый уровень
Сеансовый уровень (Session layer) обеспечивает управление диалогом: фиксирует, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все сначала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов, хотя функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе.

Сеансовый уровень – управление диалогом объектов прикладного уровня:

Представительный уровень
Представительный уровень (Presentation layer) имеет дело с формой представления передаваемой по сети информации, не меняя при этом её содержания. За счёт уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или различия в кодах символов, например в кодах ASCII и EBCDIC. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных служб. Примером такого протокола является протокол Secure Socket Layer (SSL), обеспечивающий секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

Уровень представления – согласовывает представление (синтаксис) данных при взаимодействии двух прикладных процессов:

Прикладной уровень
Прикладной уровень (Application layer) – это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют совместную работу, например с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message). Прикладной уровень – набор всех сетевых сервисов, которые предоставляет система конечному пользователю:

Существует много различных служб прикладного уровня. Приведём в качестве примера несколько наиболее распространённых реализаций файловых служб: NCP в операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP.

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

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

Три верхних уровня – прикладной, представительный и сеансовый – ориентированы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не влияют изменения в топологии сети, замена оборудования или переход на другую сетевую технологию. Так, переход от Ethernet к высокоскоростной технологии 100VG-AnyLAN не потребует никаких изменений в программных средствах, реализующих функции прикладного, представительного и сеансового уровней.

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


Рис. 4.5. Сетезависимые и сетенезависимые уровни модели OSI.

На рис. 4.5. показаны уровни модели OSI, на которых работают различные элементы сети. Компьютер с установленной на нём сетевой ОС взаимодействует с другим компьютером с помощью протоколов всех семи уровней. Это взаимодействие компьютеры осуществляют опосредованно, через различные коммуникационные устройства: концентраторы, модемы, мосты, коммутаторы, маршрутизаторы, мультиплексоры. В зависимости от типа, коммуникационное устройство может работать только на физическом уровне (повторитель), на физическом и канальном (мост), или на физическом, канальном и сетевом, иногда захватывая и транспортный уровень (маршрутизатор).
На рис. 4.6. показано соответствие функций различных коммуникационных устройств уровням модели OSI.


Рис. 4.6. Соответствие функций различных устройств сети уровням модели OSI.

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

Стек протоколов TCP/IP
В качестве примера реального стека протоколов, который в целом соответствует модели OSI, приведём стек протоколов TCP/IP.

Еще раз напомним модель OSI с кратким изложением каждого из уровней (рис.4.7.).


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

Стек TCP/IP реализует сетевую модель сети Интернет (рис.4.8) и отличается от рассмотренного стека модели OSI.


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

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

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

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

Транспортный уровень отвечает за надёжность доставки данных, и здесь, проверяя контрольные суммы, принимается решение о сборке сообщения в одно целое. В Интернете транспортный уровень представлен двумя протоколами TCP (Transport Control Protocol) и UDP (User Datagramm Protocol). Если предыдущий уровень (сетевой) определяет только правила доставки информации, то транспортный уровень отвечает за целостность доставляемых данных.

Уровень сессии определяет стандарты взаимодействия между собой прикладного программного обеспечения. Это может быть некоторый промежуточный стандарт данных или правила обработки информации. Условно к этому уровню можно отнеси механизм портов протоколов TCP и UDP и Berkeley Sockets. Однако обычно, в рамках архитектуры TCP/IP такого подразделения не делают.

Уровень обмена данными с прикладными программами (Presentation Layer) необходим для преобразования данных из промежуточного формата сессии в формат данных приложения. В Интернете это преобразование возложено на прикладные программы.

Уровень прикладных программ или приложений определяет протоколы обмена данными этих прикладных программ. В Интернете к этому уровню относят такие протоколы, как: FTP, TELNET, HTTP, GOPHER и т.п.

В этой схеме на уровне доступа к сети располагаются все протоколы доступа к физическим устройствам. Выше располагаются протоколы межсетевого обмена IP, ARP, ICMP. Ещё выше основные транспортные протоколы TCP и UDP, которые кроме сбора пакетов в сообщения определяют какому приложению необходимо отправить или от какого приложения необходимо принять данные. Над транспортным уровнем располагаются протоколы прикладного уровня, используемые приложениями для обмена данными.

Вся схема (рисунок 4.8.) называется стеком протоколов TCP/IP или просто стеком TCP/IP. Чтобы не возвращаться к названиям протоколов расшифруем аббревиатуры TCP, UDP, ARP, SLIP, PPP, FTP, TELNET, RPC, TFTP, DNS, RIP, NFS:

TCP (Transmission Control Protocol) – базовый транспортный протокол, давший название всему семейству протоколов TCP/IP.

UDP (User Datagram Protocol) – второй транспортный протокол семейства TCP/IP. Различия между TCP и UDP будут обсуждены позже.

ARP (Address Resolution Protocol) – протокол используется для определения соответствия IP-адресов и Ethernet-адресов.

SLIP (Serial Line Internet Protocol) – Протокол передачи данных по телефонным линиям.

PPP (Point to Point Protocol) – Протокол обмена данными «точка-точка».

FTP (File Transfer Protocol) – Протокол обмена файлами.

TELNET – протокол эмуляции виртуального терминала.

RPC (Remote Process Control) – Протокол управления удаленными процессами.

TFTP (Trivial File Transfer Protocol) – Тривиальный протокол передачи файлов.

DNS (Domain Name System) –Система доменных имен.

RIP (Routing Information Protocol) – Протокол маршрутизации.

NFS (Network File System) – Распределенная файловая система и система сетевой печати.

Базируясь на классификации OSI всю архитектуру протоколов семейства TCP/IP попробуем сопоставить с эталонной моделью (рисунок 4.9.).


Рис. 4.9. Схема модулей, реализующих протоколы семейства TCP/IP в узле сети

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

Драйвер – программа, непосредственно взаимодействующая с сетевым адаптером.

Модуль – это программа, взаимодействующая с драйвером, с сетевыми прикладными программами или с другими модулями.

Схема приведена для случая подключения узла сети через локальную сеть Ethernet, поэтому названия блоков данных отражают эту специфику.

Сетевой интерфейс – физическое устройство, подключающее компьютер к сети. В нашем случае – карта Ethernet.

Кадр – это блок данных, который принимает/отправляет сетевой интерфейс.

IP-пакет – это блок данных, которым обменивается модуль IP с сетевым интерфейсом.

UDP-датаграмма – блок данных, которым обменивается модуль IP с модулем UDP.

TCP-сегмент – блок данных, которым обменивается модуль IP с модулем TCP.

Прикладное сообщение – блок данных, которым обмениваются программы сетевых приложений с протоколами транспортного уровня.

Инкапсуляция – способ упаковки данных в формате одного протокола в формат другого протокола. Например, упаковка IP-пакета в кадр Ethernet или TCP-сегмента в IP-пакет. Согласно словарю иностранных слов термин «инкапсуляция» означает образование капсулы вокруг чужих для организма веществ (инородных тел, паразитов и т.д.). В рамках межсетевого обмена понятие инкапсуляции имеет несколько более расширенный смысл. Если в случае инкапсуляции IP в Ethernet речь идёт действительно о помещении пакета IP в качестве данных Ethernet-фрейма, или, в случае инкапсуляции TCP в IP, помещение TCP-сегмента в качестве данных в IP-пакет, то при передаче данных по коммутируемым каналам происходит дальнейшая «нарезка» пакетов теперь уже на пакеты SLIP или фреймы PPP.


Рис. 4.10. Инкапсуляция протоколов верхнего уровня в протоколы TCP/IP

При работе с такими программами прикладного уровня, как FTP или telnet, образуется стек протоколов с использованием модуля TCP, представленный на рисунке 4.11.


Рис. 4.11. Стек протоколов при использовании модуля TCP

При работе с прикладными программами, использующими транспортный протокол UDP, например, программные средства Network File System (NFS), используется другой стек, где вместо модуля TCP будет использовать-ся модуль UDP (рисунок 4.12.).


Рис.4.12. Стек протоколов при работе через транспортный протокол UDP

При обслуживании блочных потоков данных модули TCP, UDP и драйвер ENET работают как мультиплексоры, т.е. перенаправляют данные с одного входа на несколько выходов, и наоборот, с многих входов на один выход. Так, драйвер ENET может направить кадр или модулю IP, либо модулю ARP, в зависимости от значения поля «тип» в заголовке кадра. Модуль IP может направить IP-пакет либо модулю TCP, либо модулю UDP, что определяется полем «протокол» в заголовке пакета.

Получатель UDP-датаграммы или TCP-сообщения определяется на основании значения поля «порт» в заголовке датаграммы или сообщения.

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

Технология Интернета поддерживает разные физические среды, из которых самой распространенной является Ethernet. В последнее время большой интерес вызывает подключение отдельных машин к сети через TCP-стек по коммутируемым (телефонным) каналам. С появлением новых магистральных технологий типа ATM или Frame Relay активно ведутся исследования по инкапсуляции TCP/IP в эти протоколы. На сегодняшний день многие проблемы решены и существует оборудование для организации TCP/IP сетей через эти системы.

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

Дело в том, что компьютер сам представляет из себя виртуальную сеть, когда операционная система собрана и настроена для работы в Сети. В этом случае многие программы обращаются к друг другу по локальному сетевому адресу (в сетях TCP/IP – это адрес 127.0.0.1)

Самым наглядным примером организации межсетевого обмена является Интернет – глобальная компьютерная сеть, построенная на основе стека протоколов TCP/IP.

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

Стек существенно упрощает написание прикладного программного обеспечения. Спецификации протоколов определяют форму и состав данных, которыми обмениваются программы.

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

Протокол IP обеспечивает связность всей сети Интернет. Каждый сетевой интерфейс должен иметь IP-адрес. Один хост может иметь несколько IP-адресов. Все IP-адреса уникальны, за исключением приватных сетей и адресов.

Сайт создан в системе uCoz