Comware 7 – Traffic Classifier – Match por aplicação

As versões novas do Comware 7 já possuem suporte para configuração de “match” nos perfis de tráfego para fins de QoS e etc; baseado no reconhecimento das aplicações, conforme output abaixo:

[MSR1002-4]traffic classifier APLICACAO operator or
[MSR1002-4-classifier-APLICACAO]if-match  application ?
  STRING<1-63>     Application name. 'A-Z', 'a-z', '0-9', '_', and '-' are
                   permitted, but 'invalid' and 'other' are prohibited
  afs3-kaserver    AFS/Kerberos authentication service
  aol              America Online
  appleqtc         Apple Quick Time
  bgp              Border Gateway Protocol
  bittorrent       BitTorrent File Transfer Traffic
  bootpc           Bootstrap Protocol Client
  bootps           Bootstrap Protocol Server
  chargen          Character Generator
  citrixadmin      Citrix ADMIN
  citrixima        Citrix IMA
  citriximaclient  Citrix MA Client
  clearcase        Clearcase
  cma              CORBA Management Agent
  corba-iiop       Corba Internet Inter-Orb Protocol
  corba-iiop-ssl   Corba Internet Inter-Orb Protocol SSL
  corbaloc         CORBA LOC
  cuseeme          Desktop Video Conferencing
  daytime          Daytime Protocol
  dbase            dBASE Unix
  dhcpv6-client    DHCPv6 Client
  dhcpv6-server    DHCPv6 Server
  dicom            Digital Imaging and Communications in Medicine, DICOM
  dicom-iscl       DICOM ISCL
  dicom-tls        DICOM TLS
  dns              Domain Name Server
  dns-llq          DNS Long-Lived Queries
  doom             Doom Id Software
  echo             Echo
  edm-adm-notify   EDM ADM Notify
  edm-manager      EDM Manger
  edm-mgr-cntrl    EDM MGR Cntrl
  edm-mgr-sync     EDM MGR Sync
  edm-stager       EDM Stager
  edm-std-notify   EDM STD Notify
  finger           Finger
  fix              Financial Information Exchange
  ftp              File Transfer [Control]
  ftp-data         File Transfer [Default Data]
  ftps             ftp protocol, control, over TLS/SSL
  ftps-data        ftp protocol, data, over TLS/SSL
  g-talk           Google Talk
  gnutella-rtr     gnutella-rtr
  gnutella-svc     gnutella-svc
  gopher           Gopher
  gprs-data        GPRS Data
  gprs-sig         GPRS SIG
  gtp-control      GTP-Control Plane (3GPP)
  gtp-user         GTP-User Plane (3GPP)
  h225             H.323 Call Setup
  h245             Control Protocol for Multimedia Communication
  h263-video       H.263 Video Streaming
  h323callsigalt   H.323 Call Signal Alternate
  h323gatedisc     H.323 Gatekeeper Discovery
  h323hostcallsc   H.323 Host Call Secure
  hl7              Health Level Seven
  http             Hyper Text Transfer Protocol
  https            http protocol over TLS/SSL
  ibm-db2          IBM-DB2
  ica              Citrix ICA
  icabrowser       Citrix ICA
  ils              Windows Internet Locator service
  imap             Internet Message Access Protocol
  imap3            Interactive Mail Access Protocol v3
  imaps            imap4 protocol over TLS/SSL
  ipx              Internet Packet Exchange
  irc              Internet Relay Chat Protocol
  irc-serv         IRC-SERV
  ircs             Secure IRC
  irdmi            iRDMI
  isakmp           Internet Security Association and Key Management Protocol
  isi-gl           Interoperable Self Installation Graphics Language
  kazaa            KaZaA
  kerberos         Kerberos
  kerberos-adm     kerberos administration
  kerberos-iv      kerberos version iv
  kftp             Kerberos V5 FTP Control
  kftp-data        Kerberos V5 FTP Data
  klogin           Klogin
  kshell           Kshell
  ktelnet          Kerberos V5 Telnet
  l2tp             Level 2 Tunnel Protocol
  ldap             Lightweight Directory Access Protocol
  ldaps            ldap protocol over TLS/SSL
  login            Login
  mdns             Multicast DNS
  mdnsresponder    Multicast DNS Responder IPC
  mgcp-callagent   Media Gateway Control Protocol Call Agent
  mgcp-gateway     Media Gateway Control Protocol Gateway
  microsoft-ds     Microsoft Directory Services
  mmcc             multimedia conference control tool
  ms-sql-m         Microsoft-SQL-Monitor
  ms-sql-s         Microsoft-SQL-Server
  msn-messenger    MSN Messenger
  msrpc            Microsoft RPC
  netbios-dgm      NETBIOS Datagram Service
  netbios-ns       NETBIOS Name Service
  netbios-ssn      NETBIOS Session Service
  news             news
  nfs              Network File System
  nicname          Nicname
  nmap             Network Mapper
  nntp             Network News Transfer Protocol
  nntps            nntp protocol over TLS/SSL
  notes            IBM Lotus Notes
  npp              Network Printing Protocol
  ntp              Network Time Protocol
  orasrv           Oracle
  ott              One Way Trip Time
  pcanywheredata   Symantic PCAnywhere Data
  pcanywherestat   Symantic PCAnywhere Stat
  pop3             Post Office Protocol Version 3
  pop3s            pop3 protocol over TLS/SSL
  pptp             Point-to-Point Tunneling Protocol
  presence         XMPP Link-Local Messaging
  printer          Printer
  radius           Remote Authentication Dial In User Service (RADIUS)
  radius-acct      RADIUS Accounting
  radius-dynauth   RADIUS Dynamic Authorization
  ras              H.323 Gatekeeper Registration Admission Status
  rcp              Radio Control Protocol
  rfb              Remote Framebuffer
  rip              Routing Information Protocol
  rsh              Remote Shell Commands
  rsvp-encap-1     Resource Reservation Protocol Encapsulation-1
  rsvp-encap-2     Resource Reservation Protocol Encapsulation-2
  rsvp-tunnel      RSVP Tunnel
  rsync            rsync
  rtcp             Real-Time Control Protocol
  rtelnet          Remote Telnet Service
  rtp              Real-Time Transport Protocol
  rtsp             Real Time Streaming Protocol
  sccp             Skinny Client Control Protocol
  sdp              Session Description Protocol
  sip              Session Initiation Protocol
  smtp             Simple Mail Transfer
  snmp             Simple Network Management Protocol
  snmptrap         Simple Network Management Protocol Trap
  socks            Firewall ecurity Protocol
  sqlexec          IBM Informix SQL Interface
  sqlexec-ssl      IBM Informix SQL Interface Encrypted
  sqlnet           SQL*NET for Oracle
  ssh              The Secure Shell (SSH) Protocol
  stun             Session Traversal Utilities for NAT (STUN) port
  stuns            STUN over TLS
  sunrpc           SUN Remote Procedure Call
  svn              Subversion
  syslog           System Logging
  systat           System Statistics
  tacacs           Terminal Access Controller Access Control System
  tacacs-ds        TACACS-Database Service
  telnet           Telnet
  telnets          telnet protocol over TLS/SSL
  tftp             Trivial File Transfer
  time             Time
  timed            Time Server
  tunnel           TUNNEL
  who              Who
  whoispp          whois++
  x11              X Window System
  xdmcp            X Display Manager Control Protocol

Os testes foram executados em um Roteador MSR1002-4 com Version 7.1.059, Release 0305P04.

Comware: Configurando o atributo Preferred_value (weight) em anúncios de prefixos BGP via route-policy

O atributo BGP Preferred_value permite ao roteador examinar internamente as atualizações BGP decidir a rota preferêncial.

O atributo não é encaminhado nas mensagens BGP e possui apenas função local em um roteador. Para aqueles que estão acostumados a configuração do protocolo BGP em roteadores Cisco com IOS, a funcionalidade é idêntica a configuração BGP weight, que é proprietária.

O Preferred_value é eficiente quando há a necessidade de manipular um destino na saída de um AS, em meio múltiplas rotas.

Vence a rota com maior valor do Preferred_value e é possível configurar valores entre 0 e 65535.

Por padrão os prefixos aprendidos via eBGP possuem o valor como 0 e o Preferred_Value é o parâmetro preferencial para escolha da melhor rota.

Seleção de rotas BGP

Segue abaixo a lista com a ordem para escolha da melhor rota na tabela BGP:

    1. Seleciona a rota com maior preferred_value (similar ao weight da Cisco).
    2. Seleciona a rota com maior Local_Pref.
    3. Seleciona a rota originada pelo roteador local.
    4. Seleciona a rota com menor AS-Path.
    5. ….

Exemplo de Configuração

No exemplo abaixo iremos manipular o roteamento do AS 64507 para o prefixo 2001:db8:3::/64 anunciado pelo AS 64500, para o roteador RA escolher o caminho via RC (next-hop 2001:db8:13::3). O exemplo de configuração é o mesmo para os prefixos IPv4.

Comware BGP Preferred_value
Script de configuração de um roteador MSR com o Comware 7

ipv6 prefix-list abc index 10 permit 2001:DB8:3:: 64
! Configurando a prefix-list da rede 2001:db8::3/64
#
route-policy SET_PV permit node 10
 if-match ipv6 address prefix-list abc
 apply preferred-value 200
! Criando a route-map para aplicar o Preferred_value 200 a prefix-list abc
#
bgp 64507
 peer 2001:DB8:12::2 as-number 64500
 peer 2001:DB8:13::3 as-number 64500
 #
 address-family ipv6 unicast
  network 2001:DB8:1:: 64
  peer 2001:DB8:12::2 enable
  peer 2001:DB8:13::3 enable
  peer 2001:DB8:13::3 route-policy SET_PV import
! Aplicando a route-policy SET_PV para os prefixos aprendidos pelo peer
#

Verificando a tabela de roteamento

[RA]display bgp routing-table ipv6
 Total number of routes: 3

 BGP local router ID is 192.168.11.1
 Status codes: * - valid, > - best, d - dampened, h - history,
               s - suppressed, S - stale, i - internal, e – external
               Origin: i - IGP, e - EGP, ? - incomplete
* >e Network : 2001:DB8:2::                            PrefixLen : 64
     NextHop : 2001:DB8:12::2                          LocPrf    :
     PrefVal : 0                                       OutLabel  : NULL
     MED     : 0
     Path/Ogn: 64500i
* >e Network : 2001:DB8:3::                             PrefixLen : 64
     NextHop : 2001:DB8:13::3                           LocPrf    :
     PrefVal : 200                                      OutLabel  : NULL
     MED     : 0                                     
     Path/Ogn: 64500i
*  e Network : 2001:DB8:3::                             PrefixLen : 64
     NextHop : 2001:DB8:12::2                           LocPrf    :
     PrefVal : 0                                        OutLabel  : NULL
     MED     :
     Path/Ogn: 64500i

Veja que a rota “best” para o prefixo 2001:db8:3::/64 está com o Preferred_value como 200.

Até logo

Comware: Configurando o atributo MED em anúncios de prefixos BGP via route-policy

O propósito do atributo MED (ou MULTI_EXIT_DISC) é permitir que rotadores em um determinado AS digam a roteadores em outro AS a preferência de caminho para determinado prefixo. Apesar de conseguir manipular o “custo” de decisão do melhor caminho em outro AS, o MED não está no topo das escolhas de prioridades do protocolo, mas em diversos casos é muito eficiente.

Apesar de eu já ter utilizado o parâmetro algumas vezes, sempre me esqueço do comando correto e não consigo encontrar nos “Configure Guide” da vida em cenários com a aplicação do MED dentro de uma route policy. Uma das coisas mais legais de ter um blog é poder salvar assuntos que no futuro também facilitarão minha vida. 🙂

Voltando ao assunto… há a possibilidade de configurar o atributo MED direto no processo BGP (já para a versão7 do Comware a configuração deverá ser feita dentro do address-family).

Entretando, para configurar o MED dentro de uma route-policy o comando correto para atribuir um valor para o BGP Multi-Exit Discriminator é apply cost [valor MED].

route-policy SET_MED permit node 10
 if-match ip address prefix-list abc
 apply cost 1000

Seleção de rotas BGP antes do atributo MED

Segue abaixo a lista com a ordem para escolha da melhor rota na tabela BGP antes do atributo MED:

    1. Seleciona a rota com maior preferred_value (similar ao weight da Cisco).
    2. Seleciona a rota com maior Local_Pref.
    3. Seleciona a rota originada pelo roteador local.
    4. Seleciona a rota com menor AS-Path.
    5. Seleciona a rota baseado na prioridade de origem.
    6. Seleciona a rota com o menor MED.

Obs: Caso as opções de melhor preferência estejam com os mesmos atributos, o MED será a sexta opção para desempate.

Exemplo de Configuração

Comware BGP MED

No cenário acima o roteador RB anuncia o prefixo 192.168.11.0/24 com o atributo MED com valor 10 e o roteador RC também anuncia o prefixo 192.168.11.0/24 mas com o atributo MED como 20.

Os Roteadores do AS 64500 comparam o menor MED e caso não exista melhor parâmetro para seleção, o atributo MED será escolhido para encaminhar o tráfego ao roteador (vence o menor valor MED).

Configuração do Roteador RB (com o Comware7)

#
ip prefix-list rede_192 index 5 permit 192.168.11.0 24
#
route-policy SET_MED_10 permit node 10
 if-match ip address prefix-list rede_192
 apply cost 10
#
bgp 64507
 peer 192.168.12.2 as-number 64500
#
 address-family ipv4 unicast
     peer 192.168.12.2 enable
     peer 192.168.12.2 route-policy SET_MED_10 export
#

Os roteadores do ASN 64500 terão em sua tabela BGP o seguinte cenário:

[RE]display bgp routing-table ipv4
 Total number of routes: 5
 BGP local router ID is 192.168.3.3
 Status codes: * - valid, > - best, d - dampened, h - history,
               s - suppressed, S - stale, i - internal, e – external
               Origin: i - IGP, e - EGP, ? - incomplete
     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn
* >i 192.168.1.0        192.168.12.1    0          100        0       64507i
*  e                    192.168.13.1    0                     0       64507
  >i 192.168.2.0        192.168.2.2     0          100        0       i
* >i 192.168.11.0       192.168.12.1    10         100        0       64507i
*  e                    192.168.34.1    20                    0       64507i

Veja que a rota “best” em nosso cenário é o prefixo com menor valor do atributo MED.

Até logo!

Referências

CCIE Routing and Switching Certification Guide, 4th Edition, Cisco Press, Wendell Odom, Rus Healy, Denise Donohue