По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Одним из важных компонентов установления соединения по протоколу SIP является протокол Session Description Protocol, или сокращенно SDP. О протоколе SDP впервые заговорили в 1998 году в рамках опубликованного RFC2327. Спустя 8 лет, в 2006 году протокол претерпел некоторые изменения, которые были отображены в RFC4566. Протокол SDP используется для установления соединения и согласования параметров передачи и приема аудио или видео потоков между оконечными устройствами. Наиболее важными параметрами обмена являются IP – адреса, номера портов и кодеки. Давайте разбираться? Пример SDP При установлении сессии SDP параметры передаются в рамках SIP – запросов. Давайте взглянем на один из таких запросов. В данном случае распарсим SIP INVITE, который прилетело на нашу IP – АТС Asterisk с помощью утилиты sngrep: INVITE sip:74996491913@192.168.x.xxx:5061;transport=UDP SIP/2.0 Via: SIP/2.0/UDP 80.xx.yy.zz:5060;branch=z9hG4bK-524287-1-MThkZjMzNzMyXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;rport Via: SIP/2.0/UDP 80.xx.yy.zz:5077;branch=z9hG4bK-XXXXXXXXXXXXXXXX;rport=5077 Max-Forwards: 69 Record-Route: <sip:80.xx.yy.zz:5060;lr;transport=UDP> Contact: <sip:80.xx.yy.zz:5077> To: <sip:74996491913@80.xx.yy.zz> From: <sip:7925XXXXXXX@80.xx.yy.zz>;tag=qdpxhe2avyyjcqfn.o Call-ID: fb9909e8fYYYYYYYYYYYYYYYYYYYYYY CSeq: 479 INVITE Expires: 300 Allow: INVITE, ACK, BYE, CANCEL, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS, UPDATE Content-Disposition: session Content-Type: application/sdp User-Agent: Sippy P-Asserted-Identity: <sip:7925XXXXXXX@80.xx.yy.zz> Remote-Party-ID: <sip:7925XXXXXXX@80.xx.yy.zz>;party=calling h323-conf-id: 4133864240-4217115111-2706418710-XXXXXXXXX Portasip-3264-action: offer 1 cisco-GUID: 4133864240-4217115111-2706418710-XXXXXXXXX Content-Length: 278 v=0 o=Sippy 1011212504475793896 1 IN IP4 80.xx.yy.zz s=- c=IN IP4 80.xx.yy.zz t=0 0 m=audio 57028 RTP/AVP 0 8 18 101 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=yes a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=sendrecv В приведенном примере можно увидеть, что основная часть SIP – сообщения отделена от SDP сегмента пустой строкой. Помимо прочего, поле Content-Type, что сообщение сопоставимо с SDP параметрами. Про SDP поля Каждый из параметров SDP сообщения можно отнести к одной из следующих категорий: Имя сессии; Время, в течении которого сессия активна; Параметры медиа; Информация о пропускной способности; Контактная информация; Поговорим об основных параметрах. Они всегда имеют следующее обозначение: <поле> = <значение>. Поле всегда обозначается 1 буквой. Поле Значение Формат v= версия протокола v=0 o= инициатор сессии и соответствующие идентификаторы o=<имя_пользователя> <идентификатор_сессии> <версия> <тип_сети> <тип_адреса> <адрес>. В нашем примере поле o=Sippy 1011212504475793896 1 IN IP4 80.xx.yy.zz (IN - тип сети, интернет, IP4 - тип адреса, IPv4; s= имя сессии в нашем примере прочерк ("-"), имя сессии не указано; c= информация о подключении; Синтаксис таков: c=<тип_сети> <тип_адреса> <адрес>. В нашем примере IN IP4 80.xx.yy.zz. Параметры IN/IP4 объяснены выше. t= время активности сессии Синтаксис поля таков: t=<начальное_время> <конечное_время>. Это обязательное поле, но важно отметить, что оно весьма субъективно, так как невозможно предсказать точное время начала и окончания. В нашем примере t=0 0 m= тип передачи медиа данных, формат и адресация m=<тип_медиа> <порт> <транспорт> <формат_передачи>. Давайте разберемся - у нас m=audio 57028 RTP/AVP 0 8 18 101, это означает передачу аудио (может быть значение video, или передача обоих типов), порт передачи обозначен как 57028, транспорт, указанный как RTP/AVP, означает передачу по протоколу RTP в рамках стандарта Audio and Video Conferences with Minimal Control, который описан в RFC3551. После, первый 0 означает протокол G.711 uLaw, 8 означает G.711 ALaw, 18 означает G.729. То есть условно говоря, нам предложено предпочтение кодеков сначала G.711 uLaw, затем G.711 ALaw, и третьим приоритетом G.729. 101 означает поддержку динамического типа данных, например DTMF. a= параметры сессии a=<параметр> или a=<параметр><значение>. SDP сессия может содержать несколько дополнительных атрибутов передачи. Более подробно мы рассмотрим далее. Помимо указанных параметров, зачастую встречаются такие как k=, в рамках которого описывается метод шифрования, или i=, содержащий дополнительную информацию о сессии. Поговорим про параметры поля a=: Параметр Синтаксис и описание rtpmap a=rtpmap:<тип> <название_кодировки>/<частота_дискретизации> [/<параметры_кодирования>]. Данный параметр подсказывает имена кодеков, частоту и прочие параметры кодирования для данных, обозначенных в параметре m=. Например, у нас a=rtpmap:0 PCMU/8000, означает использование G.711 с импульсно - кодовой модуляцией по U - закону с частотой дискретизации 8000 Гц. sendrecv a=sendrecv Данный параметр указывает на то, что мы собираемся отправлять и получать медиа - данные. Например, возможно опция отправки (sendonly), только получение (recvonly) и отключения медиа (inactive); ptime a=ptime:<длительность_пакета> Продолжительность RTP - пакет (в миллисекундах). Условно говоря, какой длительности фрагмент голоса переносит один RTP - пакет; fmtp a=fmtp:<формат> <специальные_параметры> Параметр описывает дополнительные параметры сессии, например, такие как режим подавления тишины (VAD) и прочие;
img
OSPF (Open Shortest Path First) – дословно переводится как «Сперва открытый короткий путь» - надежный протокол внутренней маршрутизации с учетом состояния каналов (Interior gateway protocol, IGP). Как правило, данный протокол маршрутизации начинает использоваться тогда, когда протокола RIP уже не хватает по причине усложнения сети и необходимости в её легком масштабировании. OSPF наиболее широко используемый протокол внутренней маршрутизации. Когда идёт речь о внутренней маршрутизации, то это означает, что связь между маршрутизаторами устанавливается в одном домене маршрутизации, или в одной автономной системе. Представьте компанию среднего масштаба с несколькими зданиями и различными департаментами, каждое из которых связано с другим с помощью канала связи, которые дублируются с целью увеличения надежности. Все здания являются частью одной автономной системы. Однако при использовании OSPF, появляется понятие «площадка», «зона» (Area), которое позволяет сильнее сегментировать сеть, к примеру, разделение по «зонам» для каждого отдельного департамента. Видео: протокол OSPF (Open Shortest Path First) за 8 минут Для понимания необходимости данных «зон» при проектировании сети, необходимо понять, как OSPF работает. Есть несколько понятий, связанных с этим протоколом, которые не встречаются в других протоколах и являются уникальными: Router ID: Уникальный 32-х битный номер, назначенный каждому маршрутизатору. Как правило, это сетевой адрес с интерфейса маршрутизатора, обладающий самым большим значением. Часто для этих целей используется loopback интерфейс маршрутизатора. Маршрутизаторы-соседи: Два маршрутизатора с каналом связи между ними, могут посылать друг другу сообщения. Соседство: Двухсторонние отношения между маршрутизаторами-соседями. Соседи не обязательно формируют между собой соседство. LSA: Link State Advertisement – сообщение о состоянии канала между маршрутизаторами. Hello сообщения: С помощью этих сообщений маршрутизаторы определяют соседей и формируют LSA Area (Зона): Некая иерархия, набор маршрутизаторов, которые обмениваются LSA с остальными в одной и той же зоне. Зоны ограничивают LSA и стимулируют агрегацию роутеров. OSPF – протокол маршрутизации с проверкой состояния каналов. Представьте себе карту сети – для того, чтобы ее сформировать, OSPF совершает следующие действия: Сперва, когда протокол только запустился на маршрутизаторе, он начинает посылать hello-пакеты для нахождения соседей и выбора DR (designated router, назначенный маршрутизатор). Эти пакеты включают в себя информацию о соседях и состоянии каналов. К примеру, OSPF может определить соединение типа «точка-точка», и после этого в протоколе данное соединение «поднимается», т.е. становится активным. Если же это распределенное соединение, маршрутизатор дожидается выбора DR перед тем как пометить канал активным. Существует возможность изменить Priority ID для, что позволит быть уверенным в том, что DR-ом станет самый мощный и производительный маршрутизатор. В противном случае, победит маршрутизатор с самым большим IP-адресом. Ключевая идея DR и BDR (Backup DR), заключается в том, что они являются единственными устройствами, генерирующими LSA и они обязаны обмениваться базами данных состояния каналов с другими маршрутизаторами в подсети. Таким образом, все не-DR маршрутизаторы формируют соседство с DR. Весь смысл подобного дизайна в поддержании масштабируемости сети. Очевидно, что единственный способ убедиться в том, что все маршрутизаторы оперируют одной и той же информацией о состоянии сети – синхронизировать БД между ними. В противном случае, если бы в сети было 35 маршрутизаторов, и требовалось бы добавить еще одно устройство, появилась бы необходимость в установлении 35 процессов соседства. Когда база централизована (т.е существует центральный, выбранный маршрутизатор - DR) данный процесс упрощается на несколько порядков. Обмен базами данных – крайне важная часть процесса по установлению соседства, после того как маршрутизаторы обменялись hello-пакетами. При отсутствии синхронизированных баз данных могут появиться ошибки, такие как петли маршрутизации и т.д. Третья часть установления соседства – обмен LSA. Это понятие будет разобрано в следующей статье, главное, что необходимо знать – нулевая зона (Area 0) особенная, и при наличии нескольких зон, все они должны быть соединены с Area 0. Так же это называется магистральной зоной. Типы маршрутизаторов OSPF Разберем различные типы маршрутизаторов при использовании протокола OSPF: ABR Area Border Router – маршрутизатор внутри нулевой зоны, через который идет связь с остальными зонами DR, BDR Designated Router, Backup Designated Router – этот тип маршрутизаторов обсуждался выше, это основной и резервирующий маршрутизаторы, которые ответственны за базу данных маршрутизаторов в сети. Они получают и посылают обновления через Multicast остальным маршрутизаторам в сети. ASBR Autonomous System Boundary Router – этот тип маршрутизаторов соединяет одну или несколько автономных систем для осуществления возможного обмена маршрутами между ними. Подведем итоги OSPF является быстро сходящимся протоколом внутренней маршрутизации с контролем состояния каналов Процесс соседства формируется между соседними маршрутизаторами через DR и BDR, используя LSA Зоны в данном протоколе маршрутизации используются для ограничения LSA и суммирования маршрутов. Все зоны подключаются к магистральной зоне.
img
В сегодняшней статье покажем пример настройки DMVPN – Dynamic Multipoint VPN, что является VPN решением компании Cisco. Данное решение используется, когда требуется высокая масштабируемость и легкость настройки при подключении филиалов к головному офису. DMPVN одно из самых масштабируемых и эффективных решений VPN поддерживаемых компанией Cisco. В основном оно используется при топологии Hub-and-Spoke, где вы хотели бы видеть прямые VPN туннели Spoke-to-Spoke в дополнение к обычным Spoke-to-Hub туннелям. Это означает, что филиалы смогут общаться с друг другом напрямую, без необходимости прохождение трафика через HQ. Как уже упоминали, эта технология является проприетарной технологией Cisco. Если вам необходимо подключить более десяти сайтов к головному офису, то DMPVN будет идеальным выбором. Кроме того, DMPVN поддерживает не только Hub-and-Spoke, но и Full-Mesh топологию, так как все сайты имеют между собой связность без необходимости настройки статических VPN туннелей между сайтами. Некоторые характеристики DMVPN Для начала перечислим важные характеристики данного способа организации Site-to-Site VPN для лучшего понимания: Центральный маршрутизатор (HUB) - данный роутер работает как DMVPN сервер, и Spoke маршрутизаторы работают как DMVPN клиенты; У данного маршрутизатора есть публичный статический IP-адрес на WAN интерфейсе; У Spoke маршрутизаторов на WAN интерфейсах может как статический, так и динамический публичный IP-адрес; У каждого филиала (Spoke) есть IPSEC туннель к головному офису (Hub); Spoke-to-Spoke - туннели устанавливаются при возникновении необходимости, когда есть движение трафика между филиалами. Таким образом, трафик может не ходить через головной офис, а использовать прямые туннели между филиалами; Все туннели используют Multipoint GRE c IPSEC; NHRP (Next Hop Resolution Protocol) - данный протокол используется для установления соответствий между приватными IP туннельных интерфейсов с публичными WAN адресами Описанные выше NHRP соответствия будут храниться на NHRP сервере, чем в нашем случае является HUB роутер. Каждый филиал устанавливает соединение с головным офисом и регистрирует свой публичный IP-адрес и его приватный IP-адрес тунеля; Когда филиалу необходимо отправить пакеты в подсеть другого филиала, он запрашивает NHRP сервер для получения информации о внешнем публичном адресе целевого филиала; Для лучшей масштабируемости советуем использовать один из протоколов динамический маршрутизации между всеми роутерами – например, EIGRP; Еще раз кратко о технологиях, которые использует DMVPN: Multipoint GRE; IPSEC; NHRP – Next Hop Resolution Protocol; Статическая или динамическая маршрутизация; Настройка маршрутизатора Конкретно в нашем примере у нас будет HUB маршрутизатор и два филиала. И, как было описано ранее, HUB – это DMVPN cервер, а филиалы – DMPVN клиенты. В нашем примере в качестве маршрутизатора используется CISCO1921/K9 Сначала настраиваем HUB маршрутизатор – ему необходимо присвоить статический IP – адрес на внешнем WAN-интерфейсе: ! Настраиваем интерфейсы interface GigabitEthernet0/0 description to Internet-WAN ip address 10.10.10.1 255.255.255.252 ! interface GigabitEthernet0/1 description to LAN ip address 192.168.160.1 255.255.255.0 duplex auto ! Настраиваем туннельный интерфейс, который является улучшенным GRE (Multipoint GRE) interface Tunnel1 description DMVPN Tunnel ip address 172.16.1.1 255.255.255.0 // выбираем приватную подсеть для туннелей no ip redirects ip nhrp authentication nhrp1234 // аутентификация между маршрутизаторами ip nhrp network-id 1 // сетевой идентификатор, который должен быть одинаковым на всех маршрутизаторах load-interval 30 keepalive 5 10 tunnel source GigabitEthernet0/0 // назначаем источником туннеля WAN интерфейс tunnel mode gre multipoint // определяем туннель как mGRE tunnel protection ipsec profile protect-gre // шифруем трафик в туннеле с помощью IPSEC ip mtu 1440 // уменьшаем MTU для того, чтобы разрешить оверхед на mGRE и IPSEC ip nhrp map multicast dynamic // разрешаем форвардить мультикаст трафик между туннелями. ! Настраиваем IPSEC на главном роутере crypto isakmp policy 1 encr 3des hash md5 authentication pre-share group 2 crypto isakmp key isakmp1234 address 0.0.0.0 0.0.0.0 // принимать соединения от любого источника при наличии динамических филиалов ! crypto ipsec transform-set TS esp-3des esp-md5-hmac mode tunnel ! ! crypto ipsec profile protect-gre // профиль добавленный к mGRE туннелю для шифрования set security-association lifetime seconds 86400 set transform-set TS ! Настраиваем статическую маршрутизацию на HUB маршрутизаторе ip route 192.168.164.0 255.255.255.0 172.16.1.2 // удаленные подсети доступны через IP удаленного туннеля ip route 192.168.161.0 255.255.255.0 172.16.1.3 // удаленные подсети доступны через IP удаленного туннеля Затем настраиваем маршрутизаторы в филиалах (Spoke роутеры) - у одного маршрутизатора статический айпишник на WAN интерфейсе, и у другого динамический, получаемый по DHCP. Первый маршрутизатор в филиале, с динамическим IP: interface GigabitEthernet0/0 description WAN to Internet ip address dhcp duplex auto speed auto interface GigabitEthernet0/1 description To LAN ip address 192.168.164.1 255.255.255.0 duplex auto speed auto interface Tunnel1 ip address 172.16.1.2 255.255.255.0 // помещаем в ту же подсеть что и другие туннели no ip redirects ip nhrp map multicast dynamic // разрешаем форвардить мультикаст трафик между туннелями tunnel source GigabitEthernet0/0 // “source”- WAN интерфейс tunnel mode gre multipoint tunnel protection ipsec profile protect-gre ip nhrp authentication nhrp1234 ip nhrp map 172.16.1.1 10.10.10.1 // соответствие HUB адреса туннеля с HUB адресом WAN ip nhrp network-id 1 ip nhrp nhs 172.16.1.1 // настройка NHRP ip nhrp registration no-unique // если NHRP процесс завершился (поиск соответствия) для определенного IP, то больше данный процесс не запустится ip nhrp map multicast 10.10.10.1 // Отправка milticast трафика только в Hub. Головной маршрутизатор будет получать весь мультикаст трафик (например, обновления протокола маршрутизации) и отправлять его всем Spoke маршрутизаторам ip mtu 1440 load-interval 30 keepalive 5 10 crypto isakmp policy 1 encr 3des hash md5 authentication pre-share group 2 crypto isakmp key isakmp1234 address 0.0.0.0 0.0.0.0 // Филиалы должны разрешать подклюения с любого адреса для формирования IPSEC VPN туннелей с другими филиалами ! ! crypto ipsec transform-set TS esp-3des esp-md5-hmac mode tunnel ! crypto ipsec profile protect-gre set security-association lifetime seconds 86400 set transform-set TS ip route 192.168.160.0 255.255.255.0 172.16.1.1 // Маршрут для HUB ip route 192.168.161.0 255.255.255.0 172.16.1.3 // Маршрут для другого филиала Spoke site Второй филиальный маршрутизатор, со статическим IP: interface GigabitEthernet0/0 description TO Internet ip address 10.10.10.9 255.255.255.252 duplex auto speed auto interface GigabitEthernet0/1 description To: LAN ip address 192.168.161.1 255.255.255.0 duplex auto speed auto interface Tunnel1 ip address 172.16.1.3 255.255.255.0 // должен быть в той же подсети что и другие туннели no ip redirects ip nhrp map multicast dynamic // разрешаем форвард мульткастов между туннелями. tunnel source GigabitEthernet0/0 tunnel mode gre multipoint tunnel protection ipsec profile protect-gre ip nhrp authentication nhrp1234 ip nhrp map 172.16.1.1 10.10.10.1 // мапируем адрес HUB тунеля к WAN адресу ip nhrp network-id 1 ip nhrp nhs 172.16.1.1 // настраиваем NHRP клиент с указанием адреса сервера ip nhrp registration no-unique ip nhrp map multicast 10.10.10.1 ip mtu 1440 load-interval 30 keepalive 5 10 crypto isakmp policy 1 encr 3des hash md5 authentication pre-share group 2 crypto isakmp key isakmp1234 address 0.0.0.0 0.0.0.0 ! crypto ipsec transform-set TS esp-3des esp-md5-hmac mode tunnel ! !crypto ipsec profile protect-gre set security-association lifetime seconds 86400 set transform-set TS ip route 192.168.160.0 255.255.255.0 172.16.1.1 // маршрут до головного маршрутизатор ip route 192.168.164.0 255.255.255.0 172.16.1.2 // маршрут до другого филиала Переходим к тестированию: show dmvpn // проверяем статус DMVPN и NHRP show crypto isakmp sa // проверяем IPSEC cвязность между маршрутизаторами ping 192.168.164.1 // пингуем для проверки ping 192.168.1.1 В нашем примере использовалась статическая маршрутизация, но при большом количестве филиалов необходимо использовать протоколы динамический маршрутизации для уменьшения ручного труда и риска ошибки.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59