Ho un server Apache in esecuzione su Ubuntu. Il cliente connette e scarica un'immagine. Devo estrarre le stime RTT per la connessione TCP sottostante. C'è un modo per fare questo? Forse qualcosa come eseguire il mio stack TCP in modalità di debug per farlo registrare da qualche parte queste informazioni?Estrai stime TCP round trip time (RTT) su linux
Nota che non voglio eseguire tcpdump ed estrarre RTT dalla traccia registrata! Ho bisogno delle stime RTT dello stack TCP (apparentemente questa è parte delle informazioni che puoi ottenere con l'opzione socket TCP_INFO). Fondamentalmente è necessario qualcosa come tcpprob (kprobe) per inserire un hook e registrare la RTT stimata della connessione TCP su ogni pacchetto in entrata (o su ogni cambiamento).
UPDATE:
ho trovato una soluzione. rtt, la finestra di congestione e altro possono essere registrati usando tcpprobe. Ho postato una risposta qui sotto.
http://stackoverflow.com/questions/16231600/fetching -the-tcp-rtt-in-linux – indiv
Grazie! Sì, ho familiarità con "ss", ma non è esattamente ciò di cui ho bisogno in quanto mi darà un campionamento molto approssimativo della RTT. Ho bisogno di qualcosa come tcpprob (kprobe) per inserire un hook e registrare la RTT stimata della connessione TCP su ogni pacchetto in entrata (o su ogni cambiamento). – kakhkAtion
Hmm. Gli algoritmi di controllo della congestione di Linux sono moduli collegabili nella directory 'net/ipv4 /'. Ogni calcolo rtt in modo diverso (e [reno] (http://lxr.free-electrons.com/source/net/ipv4/tcp_cong.c) non lo computa affatto!), Quindi penso che tu devono collegarsi a una particolare implementazione. Vedo che hai taggato cubico, quindi è [tcp_cubic.c] (http://lxr.free-electrons.com/source/net/ipv4/tcp_cubic.c). Non penso che ci sia un metodo generico per ottenere il rtt, ma potrei sicuramente sbagliarmi ... – indiv