сеть на линуксе. Алексей Старовойтов СанктПетербург бхвпетербург 2006 удк 681 06 ббк 32. 973. 202 С77
Скачать 7.49 Mb.
|
формирование кодированного сигнала в соответствии с принятым мето- дом кодирования; выдача сигналов в кабель. При приеме происходят следующие действия: прием сигнала и его усиление; декодирование сигнала; 32 ×àñòü II. Ïðîêëàäêà êàáåëüíîé ñèñòåìû проверка правильности передачи кадра по контрольной сумме (некор- ректно переданный кадр отбрасывается); извлечение IP-пакета и его передача наверх по стеку протоколов. Здесь стоит немного пояснить следующий момент: если Ethernet кадр пришел искаженным и его контрольная сумма не совпадает, то он просто отбрасыва- ется. Данные при этом теряются. За повторную передачу потерянных данных отвечает протокол TCP. Собирая пришедшие к нему TCP сегменты, он обна- ружит пропажу одного из сегментов. Номера сегментов должны идти по по- рядку, и нарушение порядка говорит о том, какой из сегментов пропал. Об- наружив нехватку сегмента, протокол TCP запросит его повторную передачу, таким образом целостность данных будет сохранена. Сетевые адаптеры сегодня представляют собой сложные устройства. Они, как правило, реализуются на специализированных микросхемах большой степени интеграции. В наиболее дорогих адаптерах применяются собствен- ные процессоры, обрабатывающие поток данных. За счет этого снимается нагрузка с центрального процессора компьютера. Êîíöåíòðàòîðû Сети Ethernet используют метод доступа CSMA/CD — carrier sense multiply with collision detection (Метод коллективного доступа с опознаванием несу- щей и обнаружением коллизии). При использовании этого метода все ком- пьютеры делят между собой во времени общую среду — шину. Для создания общей среды служат концентраторы (concentrator) или хабы (hub). В функ- ции концентратора входит повторение сигнала пришедшего на один из его входов, на все выходы за исключением того, куда пришел сигнал. В резуль- тате этого образуется единая, разделяемая во времени среда. Наиболее ярко функции концентратора проявляются в сетях построенных на витой паре по топологии звезды. Здесь концентратор находится в центре и соединен с каждой станцией отдельным кабелем. Разъем для подключения компьютера называется портом. Типовые концен- траторы имеют, как правило, до 48 портов. Между собой концентраторы должны соединяться на основе кросс-провода либо через специальный кроссированный разъем, который есть на большинстве концентраторов. Де- ло в том, что сетевой адаптер и концентратор имеют зеркальную разводку контактов, чтобы их можно было соединить прямым проводом. Схема кросс-провода приведена на рис. 3.1. Кросс-провод подобной конструкции можно применять и для непосредственного соединения двух компьютеров, без использования концентратора. Ãëàâà 3. Àïïàðàòóðà ëîêàëüíûõ ñåòåé 33 Ðèñ. 3.1. Êðîññ-ïðîâîä äëÿ ñîåäèíåíèÿ êîíöåíòðàòîðîâ ìåæäó ñîáîé Помимо основной функции образования общей временной среды, концен- траторы могут выполнять много дополнительных функций. Перечислим наиболее полезные из них: Поддержка управления по протоколу SNMP (simple network management protocol — простой протокол управления сетью). Последнее очень удоб- но, так как управлять концентратором стало возможно через сеть, без непосредственного подключения к концентратору. Протокол SNMP от- носится к стеку протоколов TCP/IP. Для того чтобы в сетях Ethernet была возможность управлять концентратором, необходимо, чтобы у концентратора был IP и MAC-адрес. Возможность отключать отдельные порты. Концентратор может сам распознавать некорректно работающие порты и отключать их. Отключе- ние портов может происходить и программно. Для этого необходимо или при помощи SNMP-протокола, или непосредственно подключиться к концентратору и дать команду на отключение конкретного порта. Поддержка резервных связей. Для большей надежности сетевой среды некоторые модели концентраторов могут поддерживать ре- зервные связи. В обычном состоянии порты, на которые заведены резервные связи, отключены, поскольку топология сети не допус- кает образования петель. Однако в случае выхода из строя основ- ной связи включается резервный порт. 3.2. Íåîáõîäèìîñòü ñòðóêòóðèçàöèè ñåòè Использование общей разделяемой среды при относительно большом числе подключенных узлов приводит к тому, что снижается производительность сети. Причина в том, что в Ethernet-сетях доступ к разделяемой во времени среде носит случайный характер. В каждый отдельно взятый момент на пе- редачу может работать только один узел. В случае если два узла начали пе- редачу одновременно, возникает коллизия, узлы прекращают свою переда- чу. После этого они выжидают случайный интервал времени и пытаются возобновить передачу. С ростом количества узлов, подключенных к среде, растет и количество передаваемой информации. В идеальном случае оно 34 ×àñòü II. Ïðîêëàäêà êàáåëüíîé ñèñòåìû равно пропускной способности сети: 10 Мбит/с для Ethernet и 100 Мбит/с для Fast Ethernet. Однако реальная характеристика далека от идеальной. Для характеристики загрузки сети вводится понятие коэффициента нагруз- ки сети. Он равен отношению трафика в сети к ее максимальной пропуск- ной способности. Если обозначить его как р, то зависимость реальной пропускной способности от коэффициента нагрузки сети будет далека от идеальной (рис. 3.2). Так при р = 1 в сети будут в основном одни коллизии. Критической величиной является величина 0,5, когда нагрузка сети состав- ляет половину пропускной способности. При дальнейшем росте коэффици- ента нагрузки сети начинают расти коллизии, а следовательно, и время за- держки в доступе к сети. Значит, с ростом числа узлов будут расти коллизии и время простоя сети. Это приводит к тому, что большая сеть будет работать неэффективно. Количество узлов стараются ограничивать на уровне 20–30. Однако на практике могут потребоваться и более строгие ограничения. Выходом из создавшейся ситуации может послужить разделение одной раз- деляемой среды на несколько самостоятельных сред передачи данных. Есть несколько видов устройств, выполняющих такие функции: мосты коммута- торы и маршрутизаторы. Ðèñ. 3.2. Ðåàëüíàÿ è èäåàëüíàÿ ïðîïóñêíàÿ ñïîñîáíîñòü Мост (Bridge), коммутатор (Switch) или маршрутизатор (Router) не старают- ся поддержать единую разделяемую среду для всей сети. Вместо этого каж- дая из сетей выступает как конечный узел, который принимает кадр, ана- лизирует адрес, содержащийся в нем, и передает его на один из своих портов. То есть для передачи кадра в сеть нужен доступ к разделяемой сре- де. В результате такой работы трафик одного сегмента сети изолируется от других сегментов. Ãëàâà 3. Àïïàðàòóðà ëîêàëüíûõ ñåòåé 35 В каждом из сегментов, на которые разбита сеть, теперь меньше узлов, со- ответственно, коэффициент нагрузки сети уменьшается, а значит, повыша- ется эффективность использования общей разделяемой среды. Мосты, коммутаторы и маршрутизаторы передают кадры с одного порта на другой на основе адресов, помещенных в кадрах. Мосты и коммутаторы анализируют MAC-адреса и соответственно работают на канальном уровне модели OSI. Маршрутизаторы работают с IP-адресами и адресами сетей и работают на сетевом уровне модели OSI. По своей сути, мост — это частный случай коммутатора: коммутатор с дву- мя портами. Просто исторически мосты появились первыми и служили для разделения одной общей временной среды на две. Однако логика работы моста и коммутатора одинаковая. Поэтому все сказанное для мостов спра- ведливо для коммутаторов. Еще одной возможностью коммутаторов является полнодуплексный режим работы. Такой режим возможен только в случае подключения на порт ком- мутатора одного компьютера. Полнодуплексный режим характерен тем, что данные на прием и передачу передаются по разным парам проводников. Это приводит к отсутствию коллизий. (В сетях GigabitEthernet все немного не так). Разделение на несколько подсетей, таким образом, дает следующие пре- имущества: снижение задержки доступа к общей разделяемой среде для каждого из сегментов, а следовательно, прохождения IP-пакета от источника до пункта назначения; сокращение коллизий в каждом сегменте сети; снятие ограничения на рост сети без потери производительности (так что применение коммутаторов делает сеть более масштабируемой); снятие ограничения на время двойного оборота (остается только огра- ничение на максимальный размер сегмента). Введение технологии коммутации подняло сети на новый уровень. На сего- дняшний день наиболее популярным принципом построения сети является микросегментация, которая существенно повышает производительность сети и возможности ее перестроения ( подробнее о микросегментации см. разд. 3.4). 3.3. Ïðèíöèïû ðàáîòû ìîñòîâ (êîììóòàòîðîâ) Мост (коммутатор) обеспечивает связь двух или нескольких сегментов сети. Для каждой из сетей мост (коммутатор) выступает как конечный узел, то есть для передачи кадра в сеть он должен получить доступ к разделяемой среде. 36 ×àñòü II. Ïðîêëàäêà êàáåëüíîé ñèñòåìû По принципу своего действия мосты (коммутаторы) бывают двух типов: мост с маршрутизацией от источника и прозрачный мост. Мост с маршрутизацией от источника (Source Routing) был разработан IBM. Такая технология применяется в сетях FDDI и Token Ring. Этот метод маршрутизации требует, чтобы узел-отправитель размещал в пакете ин- формацию о его маршруте. Мосты второго типа — прозрачные мосты (Transfer Bridge). Этот алгоритм работы лег в основу большинства современных мостов (коммутаторов). Рас- смотрим алгоритм его работы подробнее. Ïðîçðà÷íûé ìîñò Алгоритм работы прозрачного моста получил свое название по той причине, что конечные узлы в сети ведут себя точно так же, как и при отсутствии моста. Сеть для прозрачных мостов видится набором МАС-адресов, подключенных к конкретным портам. Построение адресной таблицы идет по следующей схеме: 1. Принимая кадры на свой порт, мост анализирует адрес источника. • Если в адресной таблице данного МАC-адреса нет, мост записывает в нее новую строку. • Если строка для данного МАC-адреса уже существует, то мост про- веряет ее на достоверность: ♦ Если запись верна, то мост оставляет адресную таблицу без из- менений. ♦ Если запись в таблице не соответствует информации из кадра, пришедшего на вход моста, она исправляется. 2. На основании МАC-адреса назначения принимается решение о продви- жении кадра. • Если адрес назначения лежит в той части сети, что и адрес источни- ка, то кадр отбрасывается, что сокращает межсегментный трафик. • Если адрес назначения отсутствует в адресной таблице, мост переда- ет кадры на все порты, кроме порта, с которого пришел. Так будет до тех пор, пока узел с обозначенным МАC-адресом сам не передаст хотя бы один пакет. После того как он выйдет на передачу, МАC- адрес попадет в адресную таблицу моста. • Если МАC-адрес присутствует в адресной таблице моста, то мост предает кадр только на тот порт, который сопоставлен этому адресу в таблице. На другие порты кадр не передается. Ãëàâà 3. Àïïàðàòóðà ëîêàëüíûõ ñåòåé 37 Записи в адресной таблице моста могут быть двух типов. Первый тип — динамический. Такие записи заносятся в адресную таб- лицу самим мостом и при необходимости могут быть перезаписаны или удалены. Это позволяет легко переключать конечные узлы с одного пор- та на другой. Мост при этом легко перестраивает адресную таблицу. Второй тип — статические записи. Такие записи вносятся администра- тором при помощи средств управления мостом (коммутатором) и не имеют срока жизни. Они служат для повышения безопасности сети. Несмотря на те преимущества, которые дают коммутаторы по сегментации трафика в сети, они не защищают сеть от широковещательного шторма (broadcast storm), когда какой-то узел начинает генерировать кадры с доста- точно высокой интенсивностью (например по причине неисправности), и эти кадры передаются на все порты коммутатора, попадая во все сегменты сети. Ïåòëè ïðè èñïîëüçîâàíèè ìîñòîâ Пожалуй, самым главным ограничением, накладываемым прозрачными мостами на архитектуру сети, является недопустимость петель. Легко это пояснить на практическом примере. Допустим, есть две сети: сеть 1 и сеть 2. Они соединены между собой двумя мостами. Мосты включены параллельно (рис. 3.3). Ðèñ. 3.3. Ïðîáëåìà ïåòåëü ïðè èñïîëüçîâàíèè êîììóòàòîðîâ Допустим, какому-то узлу сети 1 (узел N1) необходимо передать данные узлу, находящемуся в сети 2. Пусть это будет узел N2. 38 ×àñòü II. Ïðîêëàäêà êàáåëüíîé ñèñòåìû 1. В соответствии с логикой работы сети узел N1 получает доступ к общей временной среде и передает свой кадр. 2. Этот кадр попадает на порт 1 коммутаторов M1 и M2. 3. Коммутаторы буферизуют кадр и начинают его обработку. Если узел ра- ботает впервые, то данные заносятся в адресную таблицу. Следующим шагом коммутаторы начинают продвигать кадр в сеть 2. Допустим, что первым доступ к ней получил коммутатор М2. Он передает кадр в сеть. Теперь этот кадр попадает в буфер второго порта коммутатора М1, и тот начинает его обработку. 1. Коммутатор М1 видит, что кадр пришел из узла N1. • В его адресной таблице уже есть такая запись "N1 — порт 1", однако новый кадр более свежий, он исправляет эту запись "N1 — порт 2" и снова передает кадр в сеть 1. • Теперь настал черед кадра, буферизованного в порту 1 коммутатора М1. Он передается в сеть 2. 1. Попав на порт 2 коммутатора М2, кадр там буферизуется и обрабатыва- ется. Первым делом выясняется, что в адресной таблице М2 есть запись "N1 — порт 1". Новый пакет говорит об обратном: "N1 — порт 2". По- этому адресная таблица корректируется, а кадр передается в сеть 1. Итак, в сеть 1 попадает два кадра. Легко видеть, что в соответствии с логи- кой работы моста, эти два кадра будут бесконечно циркулировать по сети. Помимо этого, коммутаторы будут постоянно перестраивать свои адресные таблицы. Поэтому в локальных сетях нельзя образовать активные петли. В малых се- тях это решается достаточно успешно. Однако в больших сетях достаточно сложно обеспечить отсутствие петель. Кроме того, желательно было бы иметь резервные линии передачи, на случай выхода из строя основных ли- ний связи. Для реализации резервных связей без нарушения работы всей сети был разработан специальный алгоритм работы, он получил название алгоритм покрывающего дерева (Spanning Tree Algorithm — STA). 3.4. Ïîëíîäóïëåêñíûé è ïîëóäóïëåêñíûé ïðîòîêîëû С точки зрения топологии микросегментация представляет собой подклю- чение к порту коммутатора не целого сегмента сети, состоящего из не- скольких узлов, а всего одного компьютера. Доменом коллизий в этом слу- чае является участок, состоящий из порта коммутатора, сетевого адаптера и кабеля, соединяющего их. Данный участок сети может работать в двух режимах: полудуплексном и полнодуплексном. При полудуплексном режиме один из портов передает, а Ãëàâà 3. Àïïàðàòóðà ëîêàëüíûõ ñåòåé 39 другой принимает данные. Одновременная работа портов на передачу вызы- вает возникновение коллизии. При полнодуплексном режиме оба порта работают с максимальной скоро- стью на передачу в обе стороны. Такое возможно благодаря использованию разных пар кабеля на прием и передачу (Ethernet, Fast Ethernet) либо с по- мощью специальных схем вычитания сигнала (Gigabit Ethernet). Для нор- мальной работы необходимо, чтобы оба устройства могли работать в этом режиме. Сегодня практически все коммутаторы и сетевые адаптеры имеют такую возможность. Однако отказ от общей разделяемой среды может привести к потере кадров при передаче через коммутатор. Одна из причин может крыться в неравно- мерном характере трафика. Большинство сетей построено по технологии клиент-сервер. Сервер является хранилищем практически всей информа- ции, и узлы обращаются к нему за доступом к этой информации. В резуль- тате трафик неравномерно распределяется между портами. Порт сервера вынужден пропускать суммарный трафик всех остальных портов (рис. 3.4). Учитывая постоянный рост объемов информации, возможна ситуация, ко- гда в порт сервера направится поток данных, больший, чем тот может обра- ботать. Буфер порта переполнится, что приведет к потере кадров. Ðèñ. 3.4. Ïåðåïîëíåíèå áóôåðà êîììóòàòîðà Поэтому для управления потоками кадров от узлов коммутаторы использу- ют специальные алгоритмы. 40 ×àñòü II. Ïðîêëàäêà êàáåëüíîé ñèñòåìû Óïðàâëåíèå ïðè ïîëóäóïëåêñíîé ðàáîòå При полудуплексном режиме работы управление потоком кадров через коммутатор основано на логике работы узлов в разделяемой среде. Как вы знаете, если два узла одновременно пытаются получить доступ к среде, то возникает коллизия, узлы прекращают передачу и выжидают некоторое время. Если один из узлов захватил среду, остальные ждут, когда она осво- бодится. Этот алгоритм работы можно использовать для управления пото- ком кадров от узлов. Как правило, выделяют два метода: метод обратного давления (backpressure) и метод агрессивного захвата. Суть первого состоит в том, что коммутатор следит за наполнением всех своих портов, и если какой-то порт заполняется, то чтобы подавить актив- ность сегмента на выходе порта, коммутатор создает искусственную колли- зию. Второй метод состоит в том, что коммутатор монопольно захватывает ши- ну. Для этого коммутатор сокращает технологические паузы между кадра- ми, то есть не выжидает положенного по стандарту времени и начинает свою передачу раньше всех узлов в сети. Таким образом, коммутатор не всегда соблюдает правила работы в сети, од- нако это позволяет достаточно эффективно управлять поведением узлов и избегать потери кадров вследствие переполнения буфера коммутатора, не изменяя алгоритм работы конечных узлов. Óïðàâëåíèå ïðè ïîëíîäóïëåêñíîé ðàáîòå При работе в полнодуплексном режиме применить методы обратного дав- ления и агрессивного захвата невозможно, поскольку и прием, и передача идут по разным физическим каналам. А поскольку для полнодуплексного режима работы пришлось перерабатывать протоколы взаимодействия ко- нечных узлов, то заодно было решено внести туда механизм управления по- током кадров. Для управления потоком передачи конечного узла в протокол взаимодействия было введено две новых команды: приостановить передачу и возобновить пе- редачу. При получении первой узел должен приостановить передачу до полу- чения второй. Данное положение было закреплено в стандарте 802.3х. |