Тема № 7.________Топологии сетей. Базовые сетевые технологии. Ethernet.

 

Типы сетей

            Существует большой выбор сетей. Сети различаются по многим признакам:

            Для классификации сетей часто используется два термина: архитектура и топология. Архитектура сети (network architecture) описывает конкретный стандарт сети – например, Ethernet, Token Ring или ARCnet. Основные типы сетей имеют подтипы – например, Ethernet 10BaseT или Token Ring 10 Мбит/с. Топология (topology) относится к физическому расположению кабеля сети.

 

Топологии сетей.

Существует три основные топологии: звезда, кольцо или шина. Иногда эти топологии комбинируются для получения гибридной или ячеистой сети.

          Шинная топология.

Шинная топология (bus topology) – самая простая и наиболее часто используемая рис. 3.1. При этом каждый узел подключается к отрезку кабеля, который соединяет все станции последовательно. Концы кабеля не соединяются друг с другом, а заканчиваются каким-либо образом.
Недостаток такой сети состоит в том, что обрыв кабеля в каком-то месте выводит из строя всю сеть. Хотя шину очень легко проложить, необходимо тщательно спланировать расположение узлов, поскольку после прокладки шины не будет возможности перемещать рабочие станции.

          Кольцевая топология.

            В кольцевой топологии (ring topology) каждый узел подключается к общему кабелю, концы которого соединены друг с другом в виде кольца рис. 3.2. Архитектуры, основанные на этой топологии (как Token Ring или FDDI), устойчивы к отказам связи с отдельными узлами; для выхода из строя всей сети должен произойти обрыв кольцевого кабеля.

          Топология звезды.

            В топологии звезды (star topology) каждый узел соединен с центром – соединительным модулем (hub) или концентратором (concentrator); он действует как центральный узел связи всей сети рис. 3.3. Некоторые модели соединительных модулей и концентраторов имеют встроенные диагностические средства, управляемые соответствующим программным обеспечением.
            Преимущество такой топологии заключается в том, что при обрыве связи между одним из узлов и центром оставшаяся часть продолжает работать. Только отказ соединительного модуля или концентратора воздействует более чем на одну станцию.

          Гибридная топология.

            Гибридная топология – это комбинация нескольких различных топологий.
Гибридная топология популярна в глобальных сетях и сетях предприятий, в которых имеется основное – “становое” – кольцо, к которому подключаются остальные сети.

          Ячеистая топология.

            Наиболее отказоустойчивая топология сети – ячеистая (mesh topology). Каждый узел сети соединяется со всеми остальными рис. 3.4. Основное преимущество такой сети – она продолжает работать при отказе отдельного узла или разрыве любого кабеля. При обрыве кабельной секции данные могут быть перенаправлены через другие узлы и все равно достигнут места назначения.
К сожалению, такие сети чрезвычайно дороги и сложны в монтаже. Обычно эта топология используется в больших сетях, таких как Frame Relay или ATM, когда стоимость отступает на задний план перед производительностью и надежностью.

 

Архитектуры сетей.

Спросите любого администратора о том, какую сеть он использует, и его ответ наверняка будет начинаться со слов Ethernet, Token Ring или названия какой-то другой архитектуры. Архитектура сети определяет скорость передачи, стоимость и тип кабеля для сети.
В начале этого раздела описаны три сформировавшиеся архитектуры: Ethernet, Token Ring и ARCnet. Затем рассмотрены более новые и высокопроизводительные системы – FDDI, ATM и Ethernet со скоростью 100 Мбит/с. Сравнение различных архитектур сетей приведено в таблице.

   

 

 

 

 

 

Тип сети

Скорость передачи, Мбит/с

Типы кабелей

Топологии

Ethernet

10

Coax, UTP

Звезда, шина

Token Ring

4 или 16

UTP, STP

Звезда, кольцо

ARCnet

2,5

Coax, UTP

Звезда, шина

FDDI

100

Fiber optic

Звезда, кольцо

CDDI

100

UTP, STP

Звезда, кольцо

ATM

155 – 622

UTP, STP, fiber optic

Звезда

100VG-AnyLAN

100

UTP, STP

Звезда

100BaseX

100

UTP

Звезда

 

Ethernet.

            Это, вероятно, самый старый тип сетей – он был изобретен Xerox Corporation в 1973 г. Несмотря на возраст, эта архитектура наиболее часто используется в сетях, так как обладает удачным сочетанием низкой стоимости и высокой производительности.
            Ethernet – идеал для небольших и средних сетей. Его основные преимущества:

            Однако при выборе Ethernet необходимо иметь в виду следующие ее недостатки:

            Протокол CSMA/CD Ethernet. Каждая сетевая архитектура должна иметь метод управления доступом нескольких устройств к одному кабелю. В Ethernet для регулирования доступа нескольких устройств к одному сетевому кабелю используется метод под названием CSMA/CD (carrier sense multiple access with collision detection). Это название расшифровывается как “множественный доступ с обнаружением несущей и разрешением столкновений”.
            При работе Ethernet с CSMA/CD узел должен прослушать сетевой кабель перед тем, как пытаться передать что-либо по сети. Если узел не обнаружил в кабеле носителя сигнала, он передает кадр (носителем (carrier) называется электронный сигнал, свидетельствующий о том, что кабель занят другим устройством). Если кабель занят, перед повторной попыткой передачи узел должен определенное время подождать.
            Когда адаптер начинает передачу, сигнал не достигает всех частей сети одновременно. На самом деле он передается по кабелю со скоростью, составляющей примерно 80% от скорости света.
            После передачи кадра узел продолжает прослушивать кабель для обнаружения возможных столкновений (collisions). Если при занятом кабеле другой узел сети начинает передавать кадр, происходит столкновение. При этом кадры повреждаются. Перед повторной передачей кадров вовлеченные в столкновение станции должны отключиться и выждать случайный промежуток времени.
            Перед повтором передачи нужно соблюдать осторожность, иначе сеть может оказаться перегруженной адаптерами, впустую пытающимися передавать, причем каждая передача будет приводить к коллизии. Чтобы избежать таких ситуаций, Ethernet использует стратегию двоичной экспоненциальной задержки, при которой отправитель ждет случайное время после первой коллизии, в два раза дольше, если вторая попытка передать, также привела к коллизии, в четыре раза дольше, если третья попытка привела к коллизии, и так далее. Идея, лежащая в основе экспоненциальной задержки, заключается в том, что при коллизии возможно, что большое число станций будет пытаться передавать одновременно и может возникнуть большие помехи для трафика. При таких помехах существует большая вероятность того, что две станции выберут похожие времена задержки. Поэтому вероятность того, что возникнет новая коллизия, велика. С помощью удвоения случайного времени задержки стратегия экспоненциальной задержки быстро распределяет попытки повторной передачи станций на достаточно большой промежуток времени, что делает вероятность дальнейших коллизий крайне маленькой.
            Хотя в каждом кадре присутствует адрес узла назначения, каждый узел должен проверять все проходящие мимо него кадры. Если кадр не предназначен данному узлу, он передается следующему.
            Если узел получает пакет, адресованный ему, перед обработкой пакета он должен проверить целостность данных. При этом тщательно проверяются некоторые поля полученного пакета. Первое и самое главное – узел должен проверить, что пакет не слишком длинный. В сетях Ethernet пакеты длиной более 1518 байт считаются слишком длинными; они не могут быть обработаны. Затем проверяется циклический избыточный код (cyclical redundancy check - CRC). И, наконец, последняя проверка – не является ли пакет слишком коротким. Длина пакета не может быть меньше 64 байт. Если пакет прошел эти проверки, он передается сетевому драйверу для дальнейшей обработки.
            Вопрос на будущее! Чем объясняются ограничения на размер пакета Ethernet?
С ростом размера сети растет число столкновений в ней и, как следствие, падает производительность. Однако остроту этой проблемы можно сгладить за счет правильного распределения нагрузки на сеть и разбиения ее на сегменты (подсети).

 

Адресация Ethernet'а

            Интерфейс ЭВМ Ethernet поддерживает механизм адресации, который позволяет передавать на компьютер только нужные пакеты. Напомним, что каждый интерфейс получает копию каждого пакета - даже если они адресованы другим машинам. Это оборудование фильтрует пакеты, игнорируя те, которые адресованы другим машинам, и передает в компьютер те, которые адресованы ему. Механизм адресации и фильтрации требуется, чтобы предохранить компьютер от перегрузки приходящими данными.
            Чтобы позволить компьютеру определить, какие пакеты назначены ему, каждому компьютеру, соединенному с Ethernet-ом, назначено 48-битовое число, называемое Ethernet-овским адресом (MAC). Производители оборудования для Ethernet приобретают блоки адресов Ethernet и последовательно назначают эти адреса производимым ими интерфейсам для Ethernet (Институт Инженеров по Электротехнике и Радиотехнике(IEEE) управляет адресным пространством Ethernet и назначает адреса по мере необходимости). Поэтому никакие два интерфейса не будут иметь одинаковый адрес Ethernet.
            Обычно Ethernet-овский адрес фиксируется в оборудовании интерфейса компьютера. Так как адреса Ethernet принадлежат аппаратным устройствам, то они иногда называются аппаратными адресами или физическими адресами. Отметим следующее важное свойство физических адресов Ethernetа:
            Физические адреса связаны с интерфейса Ethernetа; установка интерфейса на новую машину или замена неисправного интерфейса изменяет его физический адрес.
            Зная, что физические адреса Ethernetа могут меняться, легко понять, почему более высокие уровни сетевого математического обеспечения согласованы с такими изменениями. 48-битовый адрес Ethernet не только определяет отдельный аппаратный интерфейс. Он может принадлежать одному из трех типов:

            По соглашению широковещательный адрес (все единицы) зарезервирован для одновременной посылки всем станциям. Групповые адреса обеспечивают ограниченную форму широковещания, при которой группа компьютеров в сети согласна отвечать на групповой адрес. Каждый компьютер в такой группе может получать сообщения одновременно с другими компьютерами этой группы, при этом остальные машины в сети ничего не получают.
            Для согласования с широковещательной и групповой адресацией интерфейс Ethernet должен распознавать не только свой физический адрес. Интерфейс обычно принимает, по крайней мере, два вида передач: адресованные физическому адресу интерфейса и адресованные широковещательному адресу. Некоторые интерфейсы могут быть запрограммированы на распознавание групповых адресов или даже альтернативных физических адресов. Когда операционная система начинает работать, она инициализирует интерфейс Ethernetа, задавая ему набор адресов, который он должен распознавать. В дальнейшем интерфейс сканирует каждую передачу, передавая на компьютер только передачи, предназначенные одному из указанных адресов.

 

Формат кадра Ethernet'а

            Ethernet можно представлять как соединение канального уровня между машинами. Поэтому имеет смысл рассматривать передаваемые данные как кадры (фреймы) (Термин фрейм (граница) ведет свое происхождение от передачи по последовательным линиям, в которых отправитель определял границы данных, добавляя специальные символы перед и после передаваемых данных). Кадры Ethernet имеют переменную длину в пределах от 64 октетов (октетом называется блок из 8 бит, чаще называемый байтом) до 1518 октетов (заголовок, данные, ЦКС). Как и во всех сетях с коммутацией пакетов, кадр должен содержать данные, идентифицирующие  назначение кадра. Рисунок 7.6 показывает формат кадра Ethernetа, который содержит физический адрес отправителя, а также физический адрес получателя.
            Помимо идентификации отправителя и получателя, каждый кадр, передаваемый по Ethernetу, содержит преамбулу, поле типа, поле данных и циклическую контрольную сумму (CRC) или ЦКС. Преамбула состоит из 64 битовой последовательности 1 и 0 и служит для облегчения синхронизации при приеме. 32-битовая ЦКС помогает интерфейсу обнаружить ошибки передачи: отправитель вычисляет ЦКС как функцию от данных, передаваемых в кадре, а получатель заново вычисляет ЦКС для того, чтобы быть уверенным в том, что пакет принят без ошибок.
            Поле типа кадра содержит 16-битовое целое число, которое идентифицирует тип данных, передаваемых в кадре. С точки зрения Интернета поле типа кадра очень важно, так как это означает, что кадры Ethernet являются самоидентифицирующимися. Когда кадр приходит на данную машину, операционная система использует тип кадра, чтобы определить, какой программный модуль обработки протоколов должен обработать это кадр. Главные преимущества самоидентифицирующихся кадров заключаются в том, что они позволяют одновременно использовать несколько протоколов на одной машине и в том, что они позволяют нескольким протоколам смешиваться при работе в одной физической сети. Например, кто-то может иметь прикладную программу, использующую Интернетовские протоколы, а кто-то использовать локальный экспериментальный протокол. Операционная система будет определять, кому послать приходящие пакеты, основываясь на значении поля типа кадра. Мы увидим, что протоколы TCP/IP используют самоидентифицирующиеся кадры Ethernet для выделения себя среди других протоколов.


адрес      адрес     тип
преамбула получателя отправителя кадра    данные       ЦКС 
---------------------------------------------------------------
| 64 бита |  48 бит  |   48 бит  |16 бит|368-12000 бит| 32 бита|
| 8 байт  |  6 байт  |   6 байт  |2 байт|368-12000 бит| 4 байта|
---------------------------------------------------------------
Рисунок 7.6 Формат кадра (пакета) в том виде, в котором он передается по Ethernet. Размеры полей не соотносятся друг с другом.

            Типы кадров Ethernet. Вы уже знаете, что кадр или пакет – это единица информации, которую сетевая карта посылает в кабельную систему сети. В каждой сетевой архитектуре используется один или несколько форматов кадров. В Ethernet используется несколько форматов, в том числе Ethernet II, Raw 802.3, IEEE 802.2 и 802.2 SNAP.

 

ARP, RARP – протоколы.

            При включении узлы сети знают свой IP-адрес и локальный адрес, но не знают локальных адресов друг друга. Для того, чтобы сформировать кадр Ethernet требуется узнать локальный адрес получателя.
            Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol, ARP. Протокол ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети - протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило, не поддерживающий широковещательный доступ.
            Существует также протокол, решающий обратную задачу - нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP - RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.
            В локальных сетях протокол ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.
            Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно. Все узлы локальной сети получают ARP запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета.
            Так как локальные адреса могут в различных типах сетей иметь различную длину, то формат пакета протокола ARP зависит от типа сети. На рисунке 3.2 показан формат пакета протокола ARP для передачи по сети Ethernet.
0 8 16 31


Тип сети

Тип протокола

Длина локального адреса

Длина сетевого адреса

Операция

Локальный адрес отправителя (байты 0 - 3)

 

Локальный адрес отправителя (байты 4 - 5)

IP-адрес отправителя (байты 0-1)

IP-адрес отправителя (байты 2-3)

Искомый локальный адрес (байты 0 - 1)

Искомый локальный адрес (байты 2-5)

 

Искомый IP-адрес (байты 0 - 3)

 

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

            В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протокола позволяет использовать пакеты ARP не только для протокола IP, но и для других сетевых протоколов. Для IP значение этого поля равно 080016.
            Длина локального адреса для протокола Ethernet равна 6 байтам, а длина IP-адреса - 4 байтам. В поле операции для ARP запросов указывается значение 1 для протокола ARP и 2 для протокола RARP.
            Узел, отправляющий ARP-запрос, заполняет в пакете все поля, кроме поля искомого локального адреса (для RARP-запроса не указывается искомый IP-адрес). Значение этого поля заполняется узлом, опознавшим свой IP-адрес.
            В глобальных сетях администратору сети чаще всего приходится вручную формировать ARP-таблицы, в которых он задает, например, соответствие IP-адреса адресу узла сети X.25, который имеет смысл локального адреса. В последнее время наметилась тенденция автоматизации работы протокола ARP и в глобальных сетях. Для этой цели среди всех маршрутизаторов, подключенных к какой-либо глобальной сети, выделяется специальный маршрутизатор, который ведет ARP-таблицу для всех остальных узлов и маршрутизаторов этой сети. При таком централизованном подходе для всех узлов и маршрутизаторов вручную нужно задать только IP-адрес и локальный адрес выделенного маршрутизатора. Затем каждый узел и маршрутизатор регистрирует свои адреса в выделенном маршрутизаторе, а при необходимости установления соответствия между IP-адресом и локальным адресом узел обращается к выделенному маршрутизатору с запросом и автоматически получает ответ без участия администратора.

 

Подсети

            Адресное пространство сети internet может быть разделено на непересекающиеся подпространства - "подсети", с каждой из которых можно работать как с обычной сетью TCP/IP. Таким образом, единая IP-сеть организации может строиться как объединение подсетей. Как правило, подсеть соответствует одной физической сети, например, одной сети Ethernet.
            Конечно, использование подсетей необязательно. Можно просто назначить для каждой физической сети свой сетевой номер, например, номер класса C. Однако такое решение имеет два недостатка. Первый, и менее существенный, заключается в пустой трате сетевых номеров. Более серьезный недостаток состоит в том, что если ваша организация имеет несколько сетевых номеров, то машины вне ее должны поддерживать записи о маршрутах доступа к каждой из этих IP-сетей. Таким образом, структура IP-сети организации становится видимой для всего мира. При каких-либо изменениях в IP-сети информация о них должна быть учтена в каждой из машин, поддерживающих маршруты доступа к данной IP-сети.
            Подсети позволяют избежать этих недостатков. Ваша организация должна получить один сетевой номер, например, номер класса B. Стандарты TCP/IP определяют структуру IP-адресов. Для IP-адресов класса B первые два байта являются номером сети. Оставшаяся часть IP-адреса может использоваться как угодно. Например, вы можете решить, что третий байт будет определять номер подсети, а четвертый байт - номер узла в ней. Вы должны описать конфигурацию подсетей в файлах, определяющих маршрутизацию IP-пакетов. Это описание является локальным для вашей организации и не видно вне ее. Все машины вне вашей организации видят одну большую IP-сеть. Следовательно, они должны поддерживать только маршруты доступа к шлюзам, соединяющим вашу IP-сеть с остальным миром. Изменения, происходящие в IP-сети организации, не видны вне ее. Вы легко можете добавить новую подсеть, новый шлюз и т.п.

 

Как назначать номера сетей и подсетей. Маска подсети.

            После того, как решено использовать подсети или множество IP-сетей, вы должны решить, как назначать им номера. Обычно это довольно просто. Каждой физической сети, например, Ethernet или Token Ring, назначается отдельный номер подсети или номер сети. В некоторых случаях имеет смысл назначать одной физической сети несколько подсетевых номеров. Например, предположим, что имеется сеть Ethernet, охватывающая три здания. Ясно, что при увеличении числа машин, подключенных к этой сети, придется ее разделить на несколько отдельных сетей Ethernet (Здесь играет роль фактор большой загруженности сети). Для того, чтобы избежать необходимости менять IP-адреса, когда это произойдет, можно заранее выделить для этой сети три подсетевых номера - по одному на здание. (Это полезно и в том случае, когда не планируется физическое деление сети. Просто такая адресация позволяет сразу определить, где находится та или иная машина.) Однако прежде, чем выделять три различных подсетевых номера одной физической сети, тщательно проверьте, что все ваши программы способны работать в такой среде.
            Вы также должны выбрать "маску подсети". Она используется сетевым программным обеспечением для выделения номера подсети из IP-адресов. Биты IP-адреса, определяющие номер IP-сети, в маске подсети должны быть равны 1, а биты, определяющие номер узла, в маске подсети должны быть равны 0. Как уже отмечалось, стандарты TCP/IP определяют количество октетов, задающих номер сети.
            Часто в IP-адресах класса B третий байт используется для задания номера подсети. Это позволяет иметь 256 подсетей, в каждой из которых может быть до 254 узлов. Маска подсети в такой системе равна 255.255.255.0. Но, если в вашей сети должно быть больше подсетей, а в каждой подсети не будет при этом более 60 узлов, то можно использовать маску 255.255.255.192 (11000000= 2**6+2**7=128+64).Это позволяет иметь 1024 подсети и до 62 узлов в каждой. (Напомним, что номера узлов 0 и "все единицы" используются особым образом.)
            Если адрес Вашей сети принадлежит классу С, то можно использовать первые биты четвертого байта IP-адреса под номер подсети. Очевидно, что количество подсетей всегда равно степени двойки. Пусть нам достаточно выделить 3 подсети. Для номера подсети требуется выделить 2 бита. Следовательно, реально мы можем организовать четыре подсети.
            Алгоритм назначения адреса подсети аналогичен алгоритму разбиения IP-адресов на классы.

4 байт адреса

минимальный IP-адрес

максимальный IP-адрес

00000000

0

63

01000000

64

127

10000000

128

191

11000000

192

255

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