Misurazione della latenza per collegamento / jitter / perdita di pacchetti


9

Devo misurare la latenza, il jitter e la perdita di pacchetti per collegamento in una rete, al contrario dell'end-to-end, ad esempio in questo modo:

s1-eth0 <--> s2-eth0 (~ 20µs media latenza, derivazione standard 10µs, 57% perdita pacchetti / ultimo sec)

s2-eth1 <--> s3-eth0 (~ 25µs di latenza media, derivazione standard 5µs, perdita di pacchetti del 21% / ultimo sec)

...

Tutte le soluzioni che sono riuscito a trovare erano proposte accademiche o implicano l'uso di hardware dedicato per il sondaggio attivo.

Ecco un riassunto di ciò che secondo la mia ricerca non funziona:

  • NetFlow: nessuna informazione sulla latenza, solo end-to-end
  • Sondaggio attivo: non è possibile per me modificare la configurazione della rete
  • Misura tempo di andata e ritorno: non fornisce statistiche per collegamento

Esistono protocolli di rete, strumenti di misurazione o altre funzionalità che forniscono tutte o almeno alcune delle statistiche di cui sopra?

Risposte:


12

Sui dispositivi Cisco, puoi utilizzare Cisco IP SLA. Devi prima configurarlo e abilitarlo, quindi monitorare i risultati.

passi:

1. ip sla monitor operation-number

2. type echo protocol ipIcmpEcho {destination-ip-address | destination-hostname} [source-ipaddr {ip-address | hostname} | source-interface interface-name]

3. frequency seconds

4. ip sla monitor schedule operation-number [life {forever | seconds}] [start-time {hh:mm[:ss] [month day | day month] | pending | now | after hh:mm:ss] [ageout seconds] [recurring]

L'esempio di configurazione è tratto da Cisco: SLA IP - Analisi dei livelli di servizio IP mediante l'operazione Echo ICMP .

Router> enable
Router# configure terminal
Router(config)# ip sla monitor 10
Router(config-sla-monitor)# type echo protocol ipIcmpEcho 172.29.139.134
Router(config-sla-monitor-echo)# frequency 300
Router(config-sla-monitor-echo)# exit
Router(config)# ip sla monitor schedule 10 start-time now life forever

Monitorare:

show ip sla monitor statistics

6

Sull'hardware Juniper è possibile utilizzare il servizio RPM per ottenere tali misurazioni. Il servizio può essere configurato per monitorare interfacce specifiche che aiuteranno con il requisito "per link".


4

Scopri il protocollo Y.1731 (o IEEE 802.1ag o OAM). È abbastanza facile da implementare nel software (suppongo sia quello a cui stai mirando), ed è supportato da tutti gli elementi fisici della rete.

C'è un'implementazione Y.1731 open source molto ingenua in C , che puoi vedere.

Si noti che Y.1731 non è progettato per attraversare i confini della rete fisica (cioè richiede che siano noti gli indirizzi MAC di entrambi i MEP), quindi se è necessario passare attraverso il routing IP, si desidera incapsulare i frame Y.1731 all'interno di un tunneling protocollo, come VXLAN o GRE.

Spero che sia di aiuto.


4

Etherate consente di misurare la velocità effettiva , la latenza e la perdita di pacchetti (frame) verso il basso allo strato 2 direttamente su Ethernet (che suona come quello che stai cercando). Al momento non misura il jitter, ma lo farà in futuro.

Usandolo puoi generare traffico Ethernet di livello 2 in un modo controllato che puoi misurare.

È possibile specificare la durata del flusso di traffico, le dimensioni del frame, i bit al secondo / byte al secondo, i byte totali da trasferire, l'etere, l'ID VLAN e il valore PCP. È inoltre possibile ACK i frame di livello 2 se si desidera verificare la perdita al livello 2.

Quando il test è completo, l'host Rx visualizza un conteggio dei frame di test ricevuti (se questo è inferiore al numero di frame inviati dall'host Tx, che indica la perdita di frame), i frame non di test ricevuti, i frame di test ricevuti in frame di ordine e test ricevuti fuori servizio (in anticipo o in ritardo).

https://github.com/jwbensley/etherate

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.