Ferramentas
Is there any way to find out, what is the incoming and outgoing bandwidth usage of each hop (for a particular port.)?
A menos que você possua o elemento de rede, ou o provedor de WAN de terceiros divulgue as informações, você só poderá estimar a largura de banda de entrada e saída de ponta a ponta ao longo de um caminho de rede. Veja abaixo.
Is there exist any tool/utility/application who can serve the purpose.
- Para o caminho "estimativa de largura de banda disponível" que mencionei acima, você deve revisar o arquivo de TCP de ponta a ponta de Sally Floyd / Ferramentas de estimativa de largura de banda IP . Estou mais familiarizado com
yaz
, que é baseado em pacotes UDP unicast. - Para ver se você está descartando pacotes em qualquer determinado roteador hop (que é o seu problema final), você pode usar
mtr
; Há também um clientewin-mtr
, que suporta o Windows. Para ver um exemplo simples de como eu normalmente soluciono problemas de pacotes, veja minha resposta no Superusuário . Essa técnica é mais eficiente em fornecer visibilidade aos pacotes no primeiro ponto em que eles acontecem (já quemtr
não dá muita visibilidade a quedas posteriores além desse ponto até que você corrija o primeiro).
Uma técnica simples para obter uma estimativa aproximada de onde estão suas gotas é instalar mtr
no seu servidor e depois Execute uma sessão mtr
para rastrear a perda de pacotes para um único cliente multicast enquanto estiver transferindo seu arquivo 100M. Para medições mais precisas, você pode usar iperf
para saturar a rede em vez do arquivo 100M (contanto que você coordene o tempo de inatividade da WAN apropriadamente com outros grupos da empresa).
Diagrama
O resto da minha resposta vai usar o seguinte diagrama para referência:
Nodiagrama:
- R1aR5sãoroteadoresIP
- S1eS5sãocomutadoresEthernet
- Oservidorazulem172.16.1.0/24representaseuservidormulticast.
- C51aC55sãoexemplosdereceptoresmulticast(podeserqualquernúmerodereceptores)
OsdetalhesdaWANentreR1eR5geralmentenãoimportammuito,sóprecisamosdeumatopologiadelinhadebase,entãoestamosnamesmapágina.
Peloqueeupossodizer,vocêestádizendoqueainterfacedoR1em172.16.1.0/24mostracercade9Mbpsenquantovocêestáenviandooarquivode100MBeainterfacedoR5em172.16.5.0/24mostracercade4.2MbpsquandoosclientesestãorecebendoviamulticastUDPconfiável.Quandovocêdizconfiável,presumoquesignificaqueexistealgumtipodeseqüenciamentodepacotesembutidonoserviçomulticast,eoaplicativoclientesabecomosolicitarumaretransmissãodoservidor.
Diagnóstico
Seestadescriçãoestivercorreta,existemalgumascausasprováveis:
- VinculeocongestionamentoaalgumlugardepoisdeR1,comovocêafirmouemsuapergunta.
- LimitaçõesdedesempenhodequalquerdispositivoRxnocaminho,incluindoR1eR5(comoatingirumlimitededesempenhodereplicaçãomulticast)
- Vocêestáatingindoumalimitaçãodetaxadetransferênciadeethernethalf-duplexde10M.
Ascausas1ou2serãoreveladasusandomtr
. No entanto, a causa 3 é digna de um pouco mais de discussão. Os links de 10 M / meia fornecem um máximo de 10 Mbps para uma transferência unidirecional . Se você estiver enviando tráfego bidirecional em um link de 10 M / meia, normalmente verá substancialmente menos de 10 Mbps devido à dinâmica de CSMA / CD da ethernet . Em um link half-duplex, a ethernet não pode transmitir e receber simultaneamente; se as estações tentarem fazer isso, seus quadros irão colidir, e ambas as estações atrasarão a retransmissão por um tempo aleatório.
Eu testo redes para ganhar a vida. Quando testei throughput bidirecional efetivo de links de 10M / half, geralmente vejo entre 3Mbps e 4Mbps. Os números que você compartilha acima são muito parecidos. Eu não tenho provas suficientes para fazer uma acusação, mas eu não ficaria surpreso se seus links 10M / half forem o problema; particularmente se o link entre R5 e S5 for 10M / half.