Qualquer programa para me ajudar a verificar se um canal ethernet pode suportar o pacote VLAN de comprimento total?

1

Às vezes, tenho que enfrentar uma situação dessas que preciso saber de maneira rápida e explícita se um pacote de VLAN de comprimento total pode atravessar duas portas RJ45.

Sim, quero dizer 802.1Q frame ethernet com Etype = 81 00 (diagrama abaixo).

Oquepossofazeragoraé:ObterdoisPCscomWindows,paracadaPC,parainstalarodriverIntelIntelNababitNICeespecíficodaIntelparacriarumaNICvirtual,comVLANID=3atribuído.

Em seguida, conecte os dois PCs a cada uma das duas portas RJ45.

Finalmente, execute ping para gerar um pacote ethernet de comprimento total.

ping -f -l 1472 <dest-IP>

Dessa forma, posso ter certeza de que o pacote enviado tem o máximo de "carga útil de dados IP" de 1500 bytes (8 bytes de cabeçalho ICMP e 1472 bytes de dados ICMP).

Seopingobtiverresposta,euseiqueocanalEthernetsuportaopacoteVLANdecomprimentototal.

Domeuexperimento,algunsroteadoresdecomutaçãoresidencialoudebandalarga(porexemplo,LinksysWRT54G)nãosuportamcomutaçãodepacoteVLANdecomprimentototal,portanto,somenteping-f-l1468ébem-sucedido.

Vocêvê,eutenhoqueusarumcaroNICIntelpararealizaresseteste,bastanteinconveniente.Vocêsabe,paraamaioriadoslaptopshoje,elesnãoequipamumaNICdaIntele,mesmosendoumaIntelNIC,IntelVLANdriver,aInteltemlimitaçõesnosmodelosnosquaisodriverdaVLANpodeserinstalado.

Então,aminhaperguntaé:existeumpequenoprogramaquemepermiteenviarumpacotedeVLANcompletoseminstalarumdriverdeVLANdedicado?Oumelhor,oprogramatemumrecursodeestoquequefazotrabalhodaminhasituação.

ProgramasdoWindowspreferidos,soluçãoLinuxbem-vinda.Maissimplesoprograma,melhor.Obrigado.

[EXTRA]

OroteadorLinksyscompradoporvoltadoanode2006usaofirmwareoficialv7.00.6. (imagem admin do linksys web)

[2012-11-09] Esta técnica pode ser bastante útil. O canal Ethernet para verificar pode ser algo mais interessante, por exemplo, uma ponte WDS 802.11.

    
por Jimm Chen 19.06.2012 / 11:05

3 respostas

0

Com a sugestão de Andres sobre vconfig no Linux e algum tempo livre para testá-lo, finalmente consegui fazê-lo.

Minha caixa de experiência tem os seguintes itens:

  1. Um computador loptop executando o Windows XP com pelo menos duas portas USB livres.
  2. Instalando o VMware Workstation 7.1 no Windows, criando duas VMs que executam o openSUSE 12.2.
  3. Dois dongles USB-ethernet que suportam pacotes VLAN completos. Minha escolha é Z-TEK ZK011 , que tem chip Realtek RTL8150.

O RTL8150 é tão bom que o openSUSE Linux (pelo menos desde o SuSE 9.0) possui um driver interno para ele, e o vconfig também é um pacote pré-instalado. Depois de conectado ao Linux, o Linux cria um dispositivo eth1 para ele.

Em seguida, para criar uma interface vlan = 30 em eth1,

vconfig add eth1 30

Agora, ifconfig mostrará um novo dispositivo nic chamado eth1.30 .

Atribuir um IP a eth1.30,

ifconfig eth1.30 10.1.1.5 up

Faça o acima para a outra VM do Linux, mas atribua um IP diferente.

Finalmente, conecte os dois dongles com cabos ethernet através de qualquer hub / switch para examinar.

Agora, posso tentar fazer ping com o máximo de MTU.

ping -s 1472 -M do 10.1.1.6

Felicidades!

O fator mais incerto aqui é se o dongle USB-ethernet suporta o pacote VLAN de comprimento total. A fim de verificá-lo, uma vez eu usei um cabo cruzado para conectar os dois dongles e o ping uns aos outros.

BTW: O Z-TEK ZE543 (Moschip MCS7830) parece não suportar pacotes VLAN completos, pelo menos com o driver Linux padrão.

    
por 06.11.2012 / 05:05
4

se a NIC / driver for a limitação, você não poderá fazer nada sobre isso, mesmo que o programa permita que você envie um pacote maior, ele será fragmentado.

Ativar a marcação de VLAN no Linux é fácil. você precisa instalar o vconfig (pacote vlan no ubuntu), então você poderia usar o mesmo teste de ping ou talvez o iperf.

    
por 25.06.2012 / 23:26
1

Eu acho que outra opção seria usar um pacote de software de busca de pacotes como o wireshark do link para monitorar o tráfego em ambas as extremidades. Certamente, você verá os dados chegando, embora não permita que você crie um pacote em tamanho real para o teste.

Se você juntou algo como nemesis do link ; esta ferramenta pode ser usada para criar pacotes para injetar, mas também para reenviar pacotes capturados para que, em teoria, você possa usar seu método para gerar o pacote de teste, capturá-lo, reutilizá-lo com nemesis e monitorar na extremidade distante para ver se é possível, salvando o incômodo de instalar e configurar um cartão capaz de marcar vlan. Se isso funcionasse, você poderia facilmente criar um script em torno do pacote pré-capturado e nemesis, então ou escutá-lo no final com o wire-wire, ou ouvir uma resposta icmp no final mais próximo (se a extremidade está configurada para VLANs).

Este método é completamente não testado já que eu nunca usei o nemesis, mas ele está listado no site wireshark como uma ferramenta de injeção de pacotes útil e razoavelmente bem suportada.

    
por 28.06.2012 / 19:39

Tags