IC+ IP175(8)C

Добавление поддержки VLAN (802.1Q)

В качестве «подопытного кролика» был выбран 5-ти портовый свич на чипе IC+ IP175C.


Аппаратная часть

EEPROM 24C01, указанный в datasheet и который сейчас уже не найти, спокойно можно заменить на 24C02, 24C04, 24C08 и т.д.


Формат важных регистров IP175C и таблица значений

  • Перевести номер VLAN-а из из DECimal в HEXadecimal можно командой (printf »%x\n» 555) или воспользоваться калькулятором ниже
  • Номера VLAN-ов занимают каждый по два регистра, необходимо менять местами регистры (перевод BE в LE), получено 022b, вписать 2b02


Регистр Номер Заготовка Рабочий Комментарий
0x0D 13 9f 00 ?
0x0E 14 9f 10 VLAN Register-0 (BIN 10000), объединение в VLAN группы с привязкой по портам
0x0F 15 9f 10 VLAN Register-1 (BIN 10000)
0x10 16 9f 10 VLAN Register-2 (BIN 10000)
0x11 17 9f 10 VLAN Register-3 (BIN 10000)
0x12 18 9f 1f VLAN Register-4 (BIN 11111), тегированный порт
0x16 22 00 10 Add VLAN tag (BIN 10000), на каких портах тегировать пакеты
0x17 23 00 0F Remove VLAN tag (BIN 01111), на каких портах удалять теги из пакетов
0x18 24 2B Port-0 VID, HardWare PortName-5
0x19 25 02 Port-0 VID, HardWare PortName-5
0x1A 26 Port-1 VID, HardWare PortName-4
0x1B 27 Port-1 VID, HardWare PortName-4
0x1C 28 Port-2 VID, HardWare PortName-3
0x1D 29 Port-2 VID, HardWare PortName-3
0x1E 30 Port-3 VID, HardWare PortName-2
0x1F 31 Port-3 VID, HardWare PortName-2
0x20 32 01 Port-4 VID, HardWare PortName-1
0x21 33 00 Port-4 VID, HardWare PortName-1
0x25 37 Port-5 VID
0x26 38 Port-5 VID



Простой OnLine DEC-HEX-BIN калькулятор



(dec)


(hex)


(bin)


Заготовка кода EEPROM для IP175C

hexcat 24c01_ip175c_blank.bin

00000000 - aa 55 03 0f  98 01 16 10  00 03 00 00  00 9f 9f 9f
00000010 - 9f 9f 9f 00  00 00 00 00  01 00 01 00  01 00 01 00
00000020 - 02 00 00 00  01 02 00 3f  2f 30 3f 3f  3f 3f 3f 3f
00000030 - 3f 3f 3f 3f  3f 3f 3f 01  10 00 00 00  82 00 00 00
00000040 - 00 1f 1f 00  00 00 c2 80  01 00 00 00  00 00 00 a0
00000050 - 20 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
00000060 - 0d 00 1f 01  1f 00 00 00  00 00 00 00  00 00 00 00
00000070 - 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00

Рабочий код EEPROM для IP175C (VID 222, 333, 444, 555)

hexcat 24c01_ip175c_vlan.bin

00000000 - aa 55 03 0f  98 01 16 10  00 03 00 00  00 00 10 10
00000010 - 10 10 1f 00  00 00 10 0f  2b 02 bc 01  4d 01 de 00
00000020 - 01 00 00 00  01 06 00 3f  2f 30 3f 3f  3f 3f 3f 3f
00000030 - 3f 3f 3f 3f  3f 3f 3f 01  10 00 00 00  82 00 00 00
00000040 - 00 1f 1f 00  00 00 c2 80  01 00 00 00  00 00 00 a0
00000050 - 20 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00
00000060 - 0d 00 1f 01  1f 00 00 00  00 00 00 00  00 00 00 00
00000070 - 00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00

Мониторинг и анализ сетевого траффика

Самой распространенной програмой для перехвата и анализа сетевого трафика является tcpdump.
Команда tcpdump -n -e -vv -i eth1 ether proto 0x8100 покажет какой траффик ходит по VLAN.

17:59:37.153504 00:0c:43:30:50:77 > a0:43:c7:e8:04:01, ethertype 802.1Q (0x8100), length 102: vlan 555, p 0, ethertype IPv4, (tos 0x0, ttl  64, id 0, offset 0, flags [DF], proto: ICMP (1), length: 84) 192.168.1.1 > 192.168.1.2: ICMP echo request, id 64005, seq 18870, length 64

17:59:37.154394 a0:43:c7:e8:04:01 > 00:0c:43:30:50:77, ethertype 802.1Q (0x8100), length 102: vlan 555, p 0, ethertype IPv4, (tos 0x0, ttl  64, id 24261, offset 0, flags [none], proto: ICMP (1), length: 84) 192.168.1.2 > 192.168.1.1: ICMP echo reply, id 64005, seq 18870, length 64
19:33:19.684263 00:0c:43:30:50:77 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 64: vlan 222, p 0, ethertype ARP, arp who-has 192.168.1.2 tell 192.168.1.1

Доступные файлы для скачивания

Внешние сылки

/var/lib/dokuwiki/data/pages/zftlab/project_ip175c_vlan.txt · Последние изменения: 2014/02/17 23:05 (внешнее изменение)
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Run by Debian Driven by DokuWiki