По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В первой части статей о протоколе Border Gateway Protocol (BGP) мы узнали и разобрали протокол BGP, а затем изучили типы сообщений BGP и состояния соседства. Сегодня, в этой статье, вы узнаете об одном из самых сложных аспектов BGP: как он принимает решение о выборе маршрута. В то время как протоколы маршрутизации, такие как RIP, OSPF и EIGRP, имеют свои собственные метрики, используемые для выбора «лучшего» пути к целевой сети, BGP использует коллекцию атрибутов пути (PAs). Предыдущие статьи цикла про BGP: Основы протокола BGP Видео: Основы BGP за 7 минут BGP- атрибуты пути (Path Attributes) Когда ваш спикер BGP получает BGP префикс, к нему будет прикреплено множество атрибутов пути, и мы знаем, что они будут иметь решающее значение, когда речь заходит о том, чтобы BGP выбрал самый лучший путь к месту назначения. Все атрибуты BGP- маршрута, делятся на четыре основные категории. Well-Known Mandatory Well-Known Discretionary Optional Transitive Optional Non-Transitive Обратите внимание, что две категории начинаются с термина Well-Known. Well-Known означает, что все маршрутизаторы должны распознавать этот атрибут пути. Две другие категории начинаются с термина Optional. Optional означает, что реализация BGP на устройстве вообще не должна распознавать этот атрибут. Тогда у нас есть термины mandatory и discretionary, связанные с термином Well-Known. Mandatory означает, что обновление должно содержать этот атрибут. Если атрибута нет, тогда появится сообщение об ошибке уведомления, и пиринг будет удален. Discretionary, конечно, будет означать, что атрибута не должно быть в обновлении. У необязательных категорий атрибутов есть- транзитивные и нетранзитивные. Если он транзитивен, то устройство должно передать этот атрибут пути своему следующему соседу. Если он не является транзитивным, то может просто игнорировать это значение атрибута. Пример 1 показывает проверку нескольких атрибутов пути для префикса, который был получен маршрутизатором TPA1 от маршрутизатора ATL. Обратите внимание, что мы используем команду show ip bgp для просмотра этой информации, которая хранится в базе данных маршрутизации BGP. В частности, этот вывод показывает атрибуты Next Hop, Metric (MED), LocPrf (Local Preference), Weight, и Path (AS Path). TPA1#show ip bgp BGP table version is 4, local router ID is 10.10.10.1 Status codes: s suppressed, d damped, h history, * valid, > best, i – internal, r RIB-failure, S Stale Origin codes^ I – IGP, e – EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 100.100.100.0/24 10.10.10.2 0 200 i Атрибут Origin Атрибут ORIGIN в BGP-это попытка записать, откуда пришел префикс. Существует три возможности, когда речь заходит о происхождении этого атрибута: IGP, EGP и Incomplete. Как видно из легенды примера 1, коды, используемые Cisco для этих источников, являются i, e, и ?. Для префикса, показанного в примере 1, можно увидеть, что источником является IGP. Это указывает на то, что префикс вошел в эту топологию благодаря сетевой команде внутри конфигурации этого исходного устройства. Далее в этой статье мы рассмотрим сетевую команду во всей ее красе. Термин IGP здесь предполагает, что префикс произошел от записи протокола внутреннего шлюза (Gateway Protocol). Допустим, у нас есть префикс в нашей таблице маршрутизации OSPF, а затем мы используем сетевую команду внутри BGP, чтобы поместить его в экосистему BGP. Конечно, IGP - не единственный источник префиксов, которые могут нести этот атрибут. Например, вы можете создать локальный интерфейс обратной связи на устройстве, а затем использовать сетевую команду для объявления этого локального префикса в BGP. EGP ссылается на ныне устаревший протокол внешнего шлюза (Exterior Gateway Protocol), предшественник BGP. В результате вы не увидите этот исходный код. Incomplete означает, что BGP не уверен в том, как именно префикс был введен в топологию. Наиболее распространенным сценарием здесь является то, что префикс был перераспределен в Border Gateway Protocol из какого-то другого протокола, обычно IGP. Возникает вопрос, почему исходный код имеет такое значение. Ответ заключается в том, что это ключевой фактор, когда BGP использует свой алгоритм для выбора наилучшего пути к месту назначения в сети. Он может разорвать «связи» между несколькими альтернативными путями в сети. Мы также уделяем этому атрибуту большое внимание, потому что это действительно один из хорошо известных, обязательных атрибутов, которые должны существовать в наших обновлениях. Атрибут AS Path AS Path - это well-known mandatory атрибут. Он очень важен для наилучшего поиска пути, а также для предотвращения петель внутри Border Gateway Protocol. Рассматривая нашу топологию, показанную на рисунке 1, рассмотрим префикс, возникший в TPA. Обновление отправляется в TPA1, и TPA не добавляет свой собственный AS 100 в AS Path, так как сосед, которому он отправляет обновление, находится в своем собственном AS в соответствии с пирингом iBGP. Когда TPA1 отправляет обновления на ATL, он добавляет номер 100 в обновления. Следуя этой логике, ATL отправит обновления на ATL2 и не будет добавлять свой собственный номер в качестве AS. Это будет работать до тех пор, пока ATL2 не отправит обновления на какой-то другой AS, предшествующий AS 200. Это означает, что, когда мы рассматриваем образец AS path, как показано в примере 2, крайним правым в пути является AS, который первым создал префикс (100), а крайним левым- AS, который доставил префикс на локальное устройство (342). Пример 2: Пример BGP AS Path Атрибут Next Hop На самом деле нет ничего удивительного в том, что префикс BGP имеет атрибут под названием Next Hop. В конце концов, маршрутизатор должен знать, куда отправлять трафик для этого префикса. Next Hop атрибут удовлетворяет эту потребность. Интересным моментом здесь, однако, является тот факт, что Next Hop в BGP работает не так же, как это происходит в большинстве IGP. Также следует отметить, что правила меняются, когда вы рассматриваете iBGP в сравнении с eBGP. При рассмотрении протокола внутреннего шлюза, когда устройство отправляет обновление своему соседу, значением Next Hop по умолчанию является IP-адрес интерфейса, с которого отправляется обновление. Этот параметр продолжает сбрасываться каждым маршрутизатором по мере прохождения обновления через топологию. Next Hop принимает простую парадигму «hop-by-hop». С помощью BGP, когда у нас есть пиринг eBGP и отправляется префикс, Next Hop действительно будет (по умолчанию) IP-адресом спикера eBGP, отправляющего обновление. Однако IP-адрес этого спикера eBGP будет сохранен в качестве Next Hop, поскольку префикс передается от спикера iBGP к спикеру iBGP. Очень часто мы видим атрибут Next Hop, являющийся IP-адресом, который не является устройством, передавшим нам обновление. Это действительно адрес, который представляет собой соседний AS, который предоставил нам префикс. Таким образом, правильно думать о BGP как о протоколе «AS-to-AS» вместо протокола «hop-to-hop». Это может вызвать определенные проблемы. Основной вывод состоит в том, что вы должны гарантировать, что все ваши спикеры BGP могут достичь значения Next Hop указанного в атрибуте, чтобы путь считался допустимым. Иначе говоря, спикеры BGP будут считать префикс недопустимым, если они не смогут достичь значения Next Hop. К счастью, эту проблему можно обойти. Вы можете взять устройство iBGP и проинструктировать его, установив себя в качестве значения Next Hop всякий раз, когда вам это нужно. Это делается с помощью манипуляции пирингом командой neighbor, как показано в примере 3. ATL (config)# router bgp 200 ATL (config-router)# neighbor 10.10.10.1 next-hop-self Атрибут BGP Weight (веса) Weight (вес) - это очень интересный атрибут BGP, так как он специфичен для Cisco. Хорошая новость заключается в том, что, поскольку Cisco является гигантом в отрасли сетей, то многие другие производители будут поддерживать использование Weight в качестве атрибута. Weight также является одним из самых уникальных атрибутов, поскольку это значение не передается другим маршрутизаторам. Weight - это значение, которое присваивается нашим префиксам как локально значимое значение. Weight - это простое число в диапазоне от 0 до 65535, и чем выше значение веса, тем выше предпочтение этого пути. Когда префикс генерируется локально, он будет иметь вес 32768. В противном случае вес префикса по умолчанию равен 0. Как можно использовать вес? Поначалу это покажется странным, так как он не передается другим спикерам BGP. Однако все просто. Допустим, ваш маршрутизатор получает один и тот же префикс от двух разных автономных систем, с которыми он работает. Если администратор хочет предпочесть один из путей по какой-либо причине, он может манипулировать локальным значением веса на предпочтительном пути и мгновенно влиять на процесс принятия решения о наилучшем пути BGP. BGP Best Path (выбор лучшего пути) Как было сказано ранее, мы знаем, что у IGP есть метрическое значение, которое является ключевым для определения наилучшего пути к месту назначения. В случае с OSPF эта метрика основана на стоимости, которая основана на пропускной способности. У BGP существует множество атрибутов пути, которые может иметь префикс. Все они поддаются алгоритму выбора наилучшего пути BGP. На рисунке 2 показаны шаги (начиная сверху), которые используются в выборе наилучших путей Cisco BGP. Изучая эти критерии выбора пути, вы можете сразу же задаться вопросом, почему он должен быть таким сложным. Помните, когда мы имеем дело с чем-то вроде интернета, мы хотим, чтобы было как можно больше регулировок для политики BGP. Мы хотим иметь возможность контролировать, насколько это возможно, как префиксы используются совместно и предпочтительно в такой большой и сложной сети.
img
Достаточно просто посмотреть «железные» компоненты вашего сервера в том случае, если он установлен поверх операционной системы на базе Windows. А что делать, если на сервере используется Linux – based операционная система? У нас есть ответ. В Linux имеется множество различных команд, которые расскажут вам о процессорных или оперативных мощностях, дисках, USB или сетевых адаптерах, контроллерах или сетевых интерфейсах, а также о прочих «hardware» компонентах. Итак, спешим поделиться 16 командами, которые помогут вам познакомиться с сервером поближе. lscpu Самая простая команда для получения информации о процессорных мощностях (CPU) - lscpu. Она не имеет каких – либо дополнительных опций (ключей) и выполняется в единственном исполнении: [root@hq ~]# lscpu Architecture: i686 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 1 On-line CPU(s) list: 0 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 94 Stepping: 3 CPU MHz: 3191.969 BogoMIPS: 6383.93 Hypervisor vendor: Microsoft Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K lshw – список железных компонентов Если у вас не исполняется данная команда, то вам необходимо установить lshw дополнительно. Например, в CentOS это можно сделать командой sudo yum install lshw. Данная команда позволяет получить информативное описание компонентов вашего сервера, в том числе CPU, памяти, USB/NIC, аудио и прочих: [root@hq ~]# lshw -short H/W path Device Class Description ===================================================== system Virtual Machine /0 bus Virtual Machine /0/0 memory 64KiB BIOS /0/5 processor Intel(R) Core(TM) i3-6100T CPU @ 3.20GHz /0/51 memory 4GiB System Memory /0/100 bridge 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) /0/100/7 bridge 82371AB/EB/MB PIIX4 ISA /0/100/7.1 scsi1 storage 82371AB/EB/MB PIIX4 IDE /0/100/7.1/0.0.0 /dev/cdrom1 disk DVD reader /0/100/7.3 bridge 82371AB/EB/MB PIIX4 ACPI /0/100/8 display Hyper-V virtual VGA /0/1 scsi2 storage /0/1/0.0.0 /dev/sda disk 160GB SCSI Disk /0/1/0.0.0/1 /dev/sda1 volume 500MiB EXT4 volume /0/1/0.0.0/2 /dev/sda2 volume 149GiB Linux LVM Physical Volume partition /1 eth0 network Ethernet interface lspci – список PCI Данная команда отображает список всех PCI – шин и устройств, подключенных к ним. Среди них могут быть VGA – адаптеры, видео – карты, NIC, USB, SATA – контроллеры и прочие: [root@hq ~]# lspci 00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03) 00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01) 00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) 00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02) 00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA lsscsi – список SCSI устройств Данная команды выведет список SCSI/SATA устройств, например, таких как оптические приводы: [root@hq ~]# lsscsi [3:0:0:0] disk ATA WD1600JS-55NCB1 CC38 /dev/sdb [4:0:0:0] cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0 lsusb – список USB – шин и подробная информация об устройствах Команда расскажет про USB – контроллеры и устройства, подключенные к ним. По умолчанию, команда отобразит краткую информацию. В случае, если необходима глубокая детализация, воспользуйтесь опцией -v: [root@hq ~]# lsusb Bus 003 Device 001: ID 9c6a:00c1 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 092e:00de Microsoft Corp. Basic Optical Mouse v2.0 lsblk - устройства и партиции для хранения Команда выведет информацию о разделах (партициях) жесткого диска и прочих устройствах, предназначенных для хранения: [root@hq ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom sda 8:0 0 149.6G 0 disk +-sda1 8:1 0 500M 0 part /boot L-sda2 8:2 0 149.1G 0 part +-VolGroup-lv_root (dm-0) 253:0 0 50G 0 lvm / +-VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP] L-VolGroup-lv_home (dm-2) 253:2 0 97.2G 0 lvm /home df - информация о пространстве файловой системы Команда отображает информацию о различных разделах, точек монтирования это разделов а также размер, занятое и доступное пространство для хранения: [root@hq ~]# df -H Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 53G 7.1G 43G 15% / tmpfs 2.1G 0 2.1G 0% /dev/shm /dev/sda1 500M 26M 448M 6% /boot /dev/mapper/VolGroup-lv_home 103G 143M 98G 1% /home pydf - df на языке Python Если у вас не исполняется данная команда, то вам необходимо установить pydf дополнительно. Например, в CentOS это можно сделать командой sudo yum install pydf. Улучшенная версия команды df, написанная на Питоне. Подсвечивает вывод цветом, что улучшает восприятие: fdisk Утилита fdisk для управления разделами на жестких дисках. Помимо всего, утилита может использоваться для отображения информации: [root@hq ~]# sudo fdisk -l Disk /dev/sda: 160.7 GB, 160657440768 bytes 255 heads, 63 sectors/track, 19532 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000e0ba6 Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 19533 156378112 8e Linux LVM Disk /dev/mapper/VolGroup-lv_root: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 mount Утилита mount предназначена для управления и просмотра смонтированных файлов систем и соответствующих точек: [root@hq ~]# mount | column -t /dev/mapper/VolGroup-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) /dev/mapper/VolGroup-lv_home on /home type ext4 (rw) /var/spool/asterisk/monitor on /var/www/html/ast_mon_dir type none (rw,bind) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) free Посмотреть общий объем оперативной памяти (RAM), свободный или занятый? Легко, с помощью команды free: [root@hq ~]# free -m total used free shared buffers cached Mem: 3919 3692 227 0 196 407 -/+ buffers/cache: 3088 830 Swap: 2015 0 2015 dmidecode Данная команда отличается от остальных тем, что парсит информацию о железе из SMBIOS/DMI (очень детальный вывод). #посмотреть информацию о cpu sudo dmidecode -t processor #ram информация sudo dmidecode -t memory #информация о bios sudo dmidecode -t bios файлы /proc В директории /proc существует целое множество файлов, содержимое которых расскажет множество интересной и полезной информации о компонентах. Например, информация о CPU и памяти: #cpu информация cat /proc/cpuinfo #информация о памяти cat /proc/meminfo Информация об операционной системе: [root@hq ~]# cat /proc/version Linux version 2.6.32-504.8.1.el6.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Jan 28 18:25:26 UTC 2015 SCSI/Sata устройства: [root@hq ~]# cat /proc/scsi/scsi Attached devices: Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: Msft Model: Virtual CD/ROM Rev: 1.0 Type: CD-ROM ANSI SCSI revision: 05 Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: Msft Model: Virtual Disk Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 05 Партиции: [root@hq ~]# cat /proc/partitions major minor #blocks name 8 0 156892032 sda 8 1 512000 sda1 8 2 156378112 sda2 253 0 52428800 dm-0 253 1 2064384 dm-1 253 2 101883904 dm-2
img
Временные списки доступа ACL (Time Based Access-List) – это такие ACL, которые позволяют ограничивать или разрешать доступ до ресурсов в зависимости от времени. Например, запретить выход в интернет для компьютеров в нерабочее время. Настройка на оборудовании Cisco Про настройку стандартных ACL можно прочесть тут; Про настройку расширенных ACL можно прочесть здесь; Для реализации списков доступа, основанных на времени, существует несколько простых шагов: Определить временной диапазон когда должен действовать ACL Определить что должен ограничивать и разрешать ACL и применить к нему временной диапазон Применить ACL к нужному интерфейсу Сначала на маршрутизаторе создадим временной диапазон, используя команду time-range [имя_диапазона] . Затем определяем, будет он периодическим (задаем периоды работы) или абсолютным (задаем начало и конец). Если он будет периодическим, то мы используем команду periodic [день_недели][час:минуты]to[день_недели][час:минуты] (также можно использовать аргументы weekend - Суббота и Воскресенье, weekdays - с Понедельника по Пятницу, и daily - Каждый день), а если абсолютным, то используем команду absolute [дата_начала] [дата_конца] . Пример создания периодического временного диапазона: Router#conf t Router(config)#time-range weekends Router(config)#periodic weekend 08:00 to 22:00 Либо можно указать отдельные дни: Router#conf t Router(config)#time-range mwf Router(config)#periodic Monday Wendsday Friday 08:00 to 16:00 Пример создания абсолютного временного диапазона: Router#conf t Router(config)#time-range cisco Router(config)#absolute start 00:00 1 May 2018 end 00:00 1 April 2019 Далее создаем ACL и указываем в нем созданный диапазон при помощи аргумента time-range [название] Router(config)#ip access-list extended deny-weekends Router(config)#deny tcp any any eq 80 time-range weekens И после этого применим этот лист на интерфейсах: Router(config)#interface fa0/1 Router(config)#ip access-group deny-weekends out После этого лист контроля доступа будет применяться в зависимости от времени, выставленном на маршрутизаторе, поэтому очень важно, чтобы оно было выставлено верно. Посмотреть созданные временные диапазоны можно при помощи команды show time-range.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59