Настройка ЛВС
2.1. Модель OSI, сетевые протоколы
2.1.1. Модель OSI
Прежде чем говорить о протоколах, расскажем в двух словах о стандартизации в этой области. В частности, поговорим о семиуровневой модели OSI.
OSI расшифровывается как Open System Interconnection, то есть взаимодействие открытых систем. Польза открытой системы перед закрытой заключается в том, что устройства, созданные в соответствии с требованиями открытости, могут свободно взаимодействовать между собой независимо от того, кто их произвел. Спецификации и стандарты, по которым построены эти устройства, общедоступны.
Имея представление о модели OSI, вы легче сориентируетесь в множестве протоколов, с которыми вам так или иначе придется иметь дело, настраивая локальную сеть, работая в Интернете и так далее. Так же вы лучше будете понимать особенности функционирования тех или иных сетевых устройств.
Модель OSI – это пример декомпозиции некой сетевой системы, охватывающий все уровни сетевого взаимодействия. В этой модели семь уровней сетевых компонентов (табл. 2.1.).
В модели существуют понятия протокол и интерфейс. Протокол – это "язык", на котором общаются одинаковые уровни двух соединенных сетью систем, а интерфейс – это язык взаимодействия двух соседних уровней внутри одной системы.
2.1.2. Сетевые протоколы
Cтек коммуникационных протоколов – это набор протоколов различных уровней, которые обеспечивают взаимодействие в сети. В данном курсе мы будем ориентироваться на стек протоколов TCP/IP, так же рассмотрим стеки IPX/SPX и NetBIOS. В качестве физического уровня эти стеки могут использовать Ethernet-устройства, а высшие уровни у каждого протокола свои.
Сегодня самый распространенный в мире стек протоколов это — TCP/IP. Этот стек является основным набором протоколов Интернета и очень многих локальных сетей. Это – основной сетевой инструмент различных версий ОС Windows и Unix. Стек за долгие годы развития вобрал в себя множество протоколов и спецификаций – немного выше мы упоминали о них, когда говорили об уровнях модели OSI.
2.1.3. TCP/IP
Предлагаю начать со схемы адресации компьютеров в TCP/IP сети. Это один из ключевых вопросов взаимодействия компьютеров, на решение которых и направлено применение любого протокола.
Предположим, что имеется компьютер, оснащенный сетевым адаптером Ethernet-сети. Во-первых, этот компьютер имеет аппаратный адрес – так называемый MAC-адрес (от названия Media Access Control) сетевой карты. Во-вторых, он имеет IP-адрес, который нас интересует сейчас больше всего. Этот адрес находится на сетевом уровне OSI. И, в-третьих, этот компьютер в локальной сети может иметь символьный адрес вроде "Comp1", а в глобальной – иерархическое, то есть доменное имя наподобие "comp.net.ru". Это, строго говоря, еще не все адреса нашего компьютера, но мы ограничимся этими тремя, так как они описывают схему его взаимодействия с другими системами.
Физический, или локальный адрес предназначен для передачи данных между физическими устройствами, находящимися в пределах одной подсети. Такой адрес может применяться для передачи данных в локальной сети. Это "плоский" адрес: он не содержит информации о принадлежности устройства к какой-то сети. Поэтому, зная физический адрес компьютера, находящегося в одной сети, передать ему сообщение из другой сети (отделенной от первой, скажем, маршрутизатором) просто невозможно.
Но устройства с разными физическими интерфейсами также не смогут обмениваться сообщениями напрямую, даже если они находятся в одной сети. Например, если к одной и той же локальной сети один компьютер подключен при помощи Ethernet-адаптера, а второй по Wi-Fi через точку доступа, то "физического разговора" между компьютерами не получится, хоть они и находятся в одной сети. Именно для обеспечения межсетевого взаимодействия компьютеров и существуют адреса сетевого уровня, то есть IP-адреса.
IP-адрес состоит из четырех байтов. Он записывается в виде четырех чисел, разделенных точками, и выглядит примерно так: 169.254.100.123.
Если сеть существует отдельно от Интернета, администратор может назначать ее узлам произвольные адреса (кроме тех, применение которых оговорено особо, — например, IP-адрес 127.0.0.1).
Однако, стандартами определены несколько диапазонов адресов, предназначенных специально для локальных сетей. Эти адреса не обрабатываются маршрутизаторами в Интернете, что предотвращает попадание нежелательного трафика в Сеть.
Диапазоны адресов локальных сетей выглядят так: 10.0.0.0, 172.16.0.0-172.31.0.0, 192.168.0.0-192.168.255.0. Это, повторюсь, номера сетей.
Как же быть с номерами узлов в подсети? Как различать номер сети и номер узла в IP-адресе? Ответ на этот вопрос дают так называемые маски подсети.
Маски похожи на IP-адреса, но они не несут адресной информации, а лишь говорят о том, какую часть адреса считать адресом подсети, а какую – адресом узла. Обратите особое внимание на эту информацию.
Маска подсети – это четырехбайтное число, которое определяет, какую часть адреса считать адресом подсети, а какую – IP-адресом узла. Например, пусть IP-адрес узла будет 169.234.93.171, а маска подсети – 255.255.0.0. Если представить адрес и маску в двоичном виде (табл. 2.2.) то адресом подсети будет та часть IP-адреса, которой соответствуют единицы в записи маски, а адресом узла - та ее часть, которая содержит нули.
Таблица наглядно иллюстрирует применение масок подсети. Эта информация понадобится нам, когда мы займемся настройкой параметров IP в Windows. В случае с локальной сетью многие настройки делаются системой автоматически, но возможность их ручной модификации и, повторюсь, понимания своих действий, мы с вами закладываем именно сейчас, рассматривая особенности построения IP-адреса.
IP-адреса бывают динамическими и статическими. Разница между ними заключается в том, что статический IP-адрес назначается вручную (а иногда программным обеспечением) и не изменяется, а динамический IP-адрес может меняться при каждом подключении компьютера в сети.
Динамический IP-адрес может быть назначен компьютеру так называемым DHCP-сервером. Сервер DHCP расшифровывается как Dynamic Host Configuration Protocol (Динамический протокол конфигурации хостов) и позволяет динамически настраивать параметры компьютеров, подключающихся к сети. При помощи DHCP можно настраивать IP-адреса и локальных компьютеров, и тех, что выходят в Интернет, скажем, через модем.
DHCP-сервер каждый раз назначает компьютеру, входящему в сеть, уникальный IP-адрес. Как правило, этот адрес всякий раз новый. Такая ситуация вполне допустима для обычных пользовательских компьютеров, но в некоторых случаях требуются статические IP-адреса. К примеру, статические адреса имеют интернет-серверы, предоставляющие пользователям свои ресурсы, да и в локальной сети, особенно в небольшой, ручное назначение IP-адресов иногда может быть очень удобным.
2.1.4. Подробности о стеке TCP/IP
IP — это своего рода сетевой транспорт, который занимается доставкой данных через составные сети. Средствами IP осуществляется маршрутизация пакетов. IP работает без установления соединения, выполняя "черновую" работу по доставке пакетов данных по сети. Его цель – доставлять пакеты данных по определенному адресу, не задумываясь об их целостности. IP умеет фрагментировать слишком большие пакеты: одно и то же сообщение протокола более высокого уровня может быть разбито на несколько фрагментов, которые независимо путешествуют по сети в поисках адресата и, дойдя до него, снова собираются в исходное сообщение. Протоколу IP все равно, что передавать, но поверх IP работают более "умные" протоколы, в частности, TCP – Transmission Control Protocol, и UDP – Universal Datagram Protocol.
TCP отвечает за надежную доставку сообщений. Прежде чем начинать передачу, он устанавливает соединение, а в процессе передачи контролирует передаваемые данные и при необходимости проводит повторные передачи. TCP оперирует так называемыми сегментами данных, а IP работает с пакетами. Сегмент TCP образуется путем "вырезания" определенного количества байт из поступившего потока данных более высокого уровня. TCP не занимается структурированием этих данных, точно так же, как и IP, и не задумывается над тем, что он передает. Но если задача IP – доставить данные через систему сетей, то задача TCP – надежная передача этих данных с использованием IP в качестве транспорта.
Задача TCP – надежная доставка данных между процессами и приложениями. На одном компьютере может работать несколько приложений, которые взаимодействуют с сетью.
Средство операционной системы, позволяющее прикладным процессам взаимодействовать с коммуникационными протоколами, называется портом. Разные прикладные службы имеют разные номера портов. Получается, что процесс в сети может быть охарактеризован IP-адресом узла и номером порта этого процесса. Иногда номер порта и IP-адрес в совокупности называют сокетом (Socket), и тогда это слово используется как синоним слова "порт".
Теперь давайте поговорим о системе доменных адресов. Такие адреса имеют иерархическую структуру и называются еще доменными именами. В небольшой сети из пяти компьютеров можно обойтись без доменной структуры имен, но если сеть растет и разделяется на несколько подсетей, то без такой адресации не обойтись.
Части доменного имени записываются через точку. Слово "домен имен" здесь понимается как некая совокупность имен, у которых совпадают старшие составные части. Например, пусть старшая часть доменного имени будет ".ru" (на деле самая старшая часть всех доменных имен Интернета – это точка ".", но она обычно не принимается во внимание). Все имена узлов, у которых их старшая часть будет ".ru", образуют один домен имен (в данном случае – это пространство доменных имен русского интернета). Это, например, всем известные yandex.ru, rambler.ru и так далее.
Для того чтобы TCP/IP -сеть, узлы которой имеют символьные доменные имена и IP-адреса, могла работать, эти два типа адресов нужно поставить в соответствие друг с другом. Например, человек, набирающий в окне "Адрес" своего Интернет-браузера адрес "yandex.ru" может не знать IP-адрес, используя который его браузер будет связываться с вышеупомянутым сайтом.
Чтобы устанавливать соответствия между доменными именами и IP-адресами в Интернете, существуют специальные серверы, называемые DNS-серверами, то есть Domain Name System серверами. Они помогают определять IP-адрес узла по его доменному имени. В локальных TCP/IP сетях тоже есть нечто подобное, но здесь нет нужды выделять в них отдельный сервер, — особенно в малых сетях. В этих случаях функции разрешения имен выполняет ПО, работающее на компьютерах клиентов.
Говоря о разрешении имен относительно пары "IP-адрес – доменное имя", следует отметить, что разрешения требует и связка адресов "физический адрес – IP адрес". Эта задача возложена на протокол стека TCP/IP, называемый ARP. Эта аббревиатура означает Address Resolution Protocol — то есть протокол, который занимается определением физического адреса узла по его IP-адресу.
Теперь мы займемся изучением некоторых особенностей стека IPX/SPX. Не будем подробно останавливаться на этом протоколе – он применяется достаточно редко и его настройка обычно не слишком сложна.
2.1.5. IPX/SPX
IPX/SPX сегодня относится к семейству малопопулярных протоколов. Разработчик этого стека, компания Novell, и в наши дни занимается его развитием, но его время прошло. Однако, если вы пользуетесь старыми программами, которые рассчитаны на IPX/SPX, вам будет полезна некоторая дополнительная информация об этом стеке протоколов.
Для начала рассмотрим общую структуру протоколов стека IPX/SPX.
Физический и канальный уровень этого стека совпадает со стеком TCP/IP, то есть стек IPX/SPX может работать в тех же Ethernet-сетях, на том же оборудовании, сетевых картах и кабелях. Различия начинаются на сетевом уровне.
Сетевой уровень IPX/SPX представлен протоколом IPX (у TCP/IP это TCP). IPX, аналогично IP, занимается доставкой сообщений узлам сети без установления соединения. При этом его не заботит надежность доставки информации. За надежную доставку информации отвечает протокол SPX, расположенный на транспортном уровне модели OSI. Его аналогом, как вы понимаете, является TCP. Протокол SPX работает с установлением соединения, он умеет восстанавливать потерянные или поврежденные пакеты.
На прикладном уровне стека IPX/SPX расположены протоколы SAP и NSP. Эти протоколы могут работать с протоколом IPX непосредственно, без привлечения SPX. Концептуальное отличие IPX/SPX от TCP/IP состоит в том, что первый изначально разрабатывался для применения в небольших локальных сетях, а второй был обобщением опыта создания глобальных сетей. Поэтому по прошествии времени интерес общества к этим стекам протоколов менялся.
Адрес узла в стеке IPX/SPX складывается из четырехбайтового номера сети, шестибайтового номера узла и двухбайтового номера сокета. Посмотрите на табл. 2.3, где схематично изображен такой адрес.
В качестве номера узла в стеке используется физический адрес сетевого оборудования (MAC-адрес сетевой карты, например). Это очень важный момент – например, в TCP/IP не имеет ничего общего с его физическим адресом.
Номер сети в IPX/SPX имеет фиксированный размер, а TCP/IP позволяет пользоваться масками подсетей. В результате мы получаем потенциально более быструю (особенно на медленных ПК 80-90-х годов), чем в TCP/IP, реализацию сетевых функций, но за скорость приходится расплачиваться универсальностью. Если TCP/IP гарантированно будет работать с сетью с любой физической архитектурой, то с IPX/SPX могут возникнуть проблемы. (Эти проблемы не коснутся нас с вами, строителей небольших локальных сетей,)
Так же, как и TCP/IP, протокол IPX/SPX позволяет осуществлять маршрутизацию пакетов между сетями. И, возможно именно IPX/SPX стал бы основой современного Интернета, если бы не удобство и универсальность TCP.
Еще один стек протоколов, с которым вы можете столкнуться на практике, называется NetBIOS.
2.1.6. NetBIOS
NetBIOS – это немаршрутизируемый протокол. Он не знает понятия "сеть" и работает только с локальными адресами. Несмотря на такую ограниченность, то есть пригодность только для построения локальных сетей, NetBIOS существует до сих пор. Имена NetBIOS представляют собой произвольные символьные последовательности длиной до 16 символов.
В современных условиях NetBIOS в чистом виде не используется. Он работает через TCP/IP, предоставляя свои сервисы прикладным программам.
Существует реализация NetBIOS, называемая NetBEUI ( NetBIOS Extended User Interface). NetBEUI был разработан в 1985 году.
После обсуждения теоретических вопросов, перейдем к практике, а именно, начнем с установки драйвера сетевой карты.