Перейти к содержанию
    

Interpacket gap - как это выглядит в реальности?

Как говорит википедия, для 10G значение Interpacket gap равно 9.6 ns (в 802.3 указана цифра 96 бит).

 

Вот например на выходе PCS (до XGMII) у меня идут два пакета:

 

X"1E00000000000000";        -- IDLE
X"78555555555555D5";        -- Start Of Packet
X"cccc00000001cccc";            -- Dest MAC = 0xcccc00000001;    Source MAC = 0xcccc00000002
X"000002c108004500";            -- IP 0x0800
X"005f2d3b00008011";            -- Total Length = 95 (0x005f);    Identification = 0x2d3b;    Time Live = 0x80 (128);    Protocol = 0x11 (UDP)
X"895Cc0a80105c0a8";            -- CRC = 0x895C; Source Address = 192.168.1.5, (0xc0a80105);
X"01a1700070000030";            -- Dest Address = 192.168.1.161, (0xc0a801a1);    Source PORT = 28672 (0x7000);    Dest PORT = 28672 (0x7000);    Length = 48 (0x0030)
X"C20001020304e01b";            -- UDP CRC = 0xC200;    
...
X"00000000AABBCCDD";            -- AABBCCDD - CRC of Ethernet Packet
X"8700000000000000";        -- End Of Packet
X"1E00000000000000";        -- IDLE
...
...
...
...
X"1E00000000000000";        -- IDLE
X"78555555555555D5";        -- Start Of Packet
X"cccc00000001cccc";            -- Dest MAC = 0xcccc00000001;    Source MAC = 0xcccc00000002
X"000002c108004500";            -- IP 0x0800
X"005f2d3b00008011";            -- Total Length = 95 (0x005f);    Identification = 0x2d3b;    Time Live = 0x80 (128);    Protocol = 0x11 (UDP)
X"895Cc0a80105c0a8";            -- CRC = 0x895C; Source Address = 192.168.1.5, (0xc0a80105);
X"01a1700070000030";            -- Dest Address = 192.168.1.161, (0xc0a801a1);    Source PORT = 28672 (0x7000);    Dest PORT = 28672 (0x7000);    Length = 48 (0x0030)
X"C20001020304e01b";            -- UDP CRC = 0xC200;    
...
X"00000000EEFFCCDD";            -- EEFFCCDD - CRC of Ethernet Packet
X"8700000000000000";        -- End Of Packet
X"1E00000000000000";        -- IDLE

 

Частота шины - 156,25 МГц (6,4 нс), ширина слова - 64 бит.

 

Паузу в 9.6 нс нужно выдержать между 'End Of Packet' и 'Start Of Packet'?

Получается достаточно вставить два IDLE и всё?

 

 

 

UPDATE:

в 802.3 (4.4.2) написано:

"NOTE 4—For 10 Gb/s operation, the spacing between two packets, from the last bit of the FCS field of the first packet

to the first bit of the Preamble of the second packet, can have a minimum value of 40 BT (bit times), as measured at the

XGMII receive signals at the DTE. This interpacket gap shrinkage may be caused by variable network delays and clock

tolerances."

Это вообще получается, что может придти что-то такое:

X"00000000AABBCCDD";            -- AABBCCDD - CRC of Ethernet Packet
X"8700000000000000";        -- End Of Packet    - между последним битом CRC ETH и первым битом преамбулы - 64 бит
X"78555555555555D5";        -- Start Of Packet

 

Так ведь?

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если постоянно будете вставлять по 2 слова IDLE, то 100% нагрузку не получите.

Поэтому на передаче нужен DIC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне на передачу 100% нагрузку и не надо.

Я хочу понять, какие варианты пакетов и пауз между ними могут придти ко мне, чтобы проработать варианты их обработки.

Ну и хотелось бы также понять, какие варианты я могу сформировать, так чтобы они были корректными и не нарушали работу сети.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...