Перейти к содержимому
Калькуляторы

uzd

Пользователи
  • Публикации

    12
  • Зарегистрирован

  • Посещение

Все публикации пользователя uzd


  1. Спасибо за обратную связь. И вообще жалко было просто удалять наработки - может быть они кому-нибудь пригодятся.   У нас были жалобы на "режим NAT3 при игре по сети на PS4". Суть в том, что два клиента за NAT могут установить P2P-соединение в случае, когда у них Asymmetric NAT - для этого используется промежуточный сервер в интернете (что-то типа STUN-сервера), но трафик при этом ходит напрямую между клиентами. Для PS4 такой режим называется "NAT2". Но если один из клиентов работает через Restricted NAT, то к нему никто не сможет подключиться по описанной выше схеме. Похожая ситуация и с torrent. Если вам через Asymmetric NAT удалось подключиться к клиенту с Public IP, и этот клиент сообщил о вас дргим пирам, то эти пиры смогут подключиться к вам на тот же NAT_IP:NAT_Port, который вы используете для подключения к клиенту с Public IP. При Restricted NAT так не получится. То есть обе ситуации не фатальны сами по себе, но в случае Asymmetric NAT это создает меньше проблем для клиентов.
  2. Алгорим выбора NAT IP из пула работает через хэш-функцию, на вход которой передаются 3 параметра: IP клиента, NAT Pool Start, NAT Pool End. В результате клиенты размазываются по NAT пулу достаточно равномерно, при этом одному и тому же внутреннему IP всегда назначается один и тот же внешний IP из пула адресов. Перенесли функцию CGN на оборудование одного крупного китайского вендора (не Huawei) с техподдержкой и запасом производительности в сотни гигабит - модуль NAT был написан для менее амбициозных задач - для сети с трафиком до 40-80 гигабит, и он свою роль уже выполнил. Я на все 200% не тестировал различные кейсы работы PPTP через данный модуль NAT, но в большинстве случаев оно должно работать и без ALG. Аналогично для SIP и Passive FTP. Модуль эти протоколы никак не блокирует, а вполне корректно пропускает через себя с заменой IP-адресов и портов в заголовках L3/L4 + пересчитывает CRC где нужно. Фрагментированные пакеты работают, просто все фрагменты сначала собираются в один большой пакет ядром Linux, и только потом передаются в Iptables. Данный участок кода написан на случай, если кто-нибудь сможет выключить сбор фрагментов на стороне ядра Linux (а это не слишком просто)
  3. Что интересно - особой необходимости в данном функционале в моем случае так и не возникло. FTP работает в пассивном режиме, PPTP (TCP1723+GRE) тоже проходит через NAT. Проблемы с GRE могут быть в случае, когда несколько клиентов на одном внешнем IP используют GRE. SIP не проверял.
  4. Нет, не риторическое. Код и описание по установке выложены на Github по ссылке из первого сообщения.
  5. Добрый день. Столкнулся с проблемой прохождения трафика P2P - торренты и сетевые игры на PS4/XBOX плохо работали из-за симметричного режима NAT при приализации NAT на базе Linux Iptables. Для решения данной проблемы я написал отдельный модуль с функциональностью CGN для Linux, который показал заметно бОльшую производительность по сравнению со стандартным NAT в Linux (и это явно из-за урезанной функциональности моего модуля). Хотя модуль и поддерживает только самые необходимые фичи, но он успешно проработал более 2 лет для >100k абонентов, пока не был вытеснен аппаратными решениями :) Возможно это решение будет интересно тем, кто все еще использует NAT на базе Linux Iptables. Предупреждение: 1. Качество кода не очень высокое, так как программирование на C - не моя специализация 2. Дальнейшая поддержка не планируется P.S. Отдельное спасибо автору модулей ipt_NETFLOW и ipt_ratelimit - много идей и примеров было взято оттуда. Ссылка на проект.
  6. В данный момент брас нагружен на 25 Гбит/с, задействовано 3 порта из четырех. bras3#show platform hardware qfp active datapath utilization CPP 0: Subdev 0 5 secs 1 min 5 min 60 min Input: Priority (pps) 386 377 372 264 (bps) 460160 453960 457232 318304 Non-Priority (pps) 3706680 3691706 3658217 3563016 (bps) 24794558016 24761154304 24576330648 24229628472 Total (pps) 3707066 3692083 3658589 3563280 (bps) 24795018176 24761608264 24576787880 24229946776 Output: Priority (pps) 30 29 28 28 (bps) 24952 23744 23168 23368 Non-Priority (pps) 3691049 3676111 3642179 3547380 (bps) 24618191216 24581168008 24384439416 24039745448 Total (pps) 3691079 3676140 3642207 3547408 (bps) 24618216168 24581191752 24384462584 24039768816 Processing: Load (pct) 46 45 45 44 bras3#show platform software status control-processor brief Load Average Slot Status 1-Min 5-Min 15-Min RP0 Healthy 0.08 0.02 0.01 ESP0 Healthy 0.00 0.00 0.00 SIP0 Healthy 0.00 0.00 0.00 Memory (kB) Slot Status Total Used (Pct) Free (Pct) Committed (Pct) RP0 Healthy 16342732 5148960 (32%) 11193772 (68%) 11203176 (69%) ESP0 Healthy 8097512 1736680 (21%) 6360832 (79%) 1416784 (17%) SIP0 Healthy 969052 357564 (37%) 611488 (63%) 608088 (63%) CPU Utilization Slot CPU User System Nice Idle IRQ SIRQ IOwait RP0 0 9.30 1.60 0.00 88.68 0.00 0.40 0.00 1 5.40 0.30 0.00 94.09 0.00 0.20 0.00 ESP0 0 3.30 9.60 0.00 86.90 0.00 0.20 0.00 1 2.60 2.10 0.00 95.10 0.00 0.20 0.00 SIP0 0 2.29 0.89 0.00 96.70 0.00 0.09 0.00 bras3#show platform resources **State Acronym: H - Healthy, W - Warning, C - Critical Resource Usage Max Warning Critical State ---------------------------------------------------------------------------------------------------- RP0 (ok, active) H Control Processor 11.32% 100% 90% 95% H DRAM 5028MB(31%) 15959MB 90% 95% H ESP0(ok, active) H Control Processor 13.42% 100% 90% 95% H DRAM 1696MB(21%) 7907MB 90% 95% H QFP H TCAM 9572cells(1%) 524288cells 45% 55% H DRAM 316088KB(30%) 1048576KB 80% 90% H IRAM 9329KB(7%) 131072KB 80% 90% H SIP0 H Control Processor 3.20% 100% 90% 95% H DRAM 349MB(36%) 946MB 90% 95% bras3#show platform hardware slot F0 serdes status Slot R0-Link A RX link locked 58-bit scrambler, 10 Gbps 0 Overruns, 0 Underruns 0 Reframe, 0 Disparity 0 Out of band, 0 Illegal control codes Slot 0-Link A RX link locked 58-bit scrambler, 20 Gbps 0 Overruns, 0 Underruns 0 Reframe, 0 Disparity 0 Out of band, 0 Illegal control codes Slot 0-Link B RX link locked 58-bit scrambler, 20 Gbps 0 Overruns, 0 Underruns 0 Reframe, 0 Disparity 0 Out of band, 0 Illegal control codes bras3#show platform hardware slot 0 serdes status Slot F0-Link A RX link locked 58-bit scrambler, 20 Gbps 0 Overruns, 0 Underruns 0 Reframe, 0 Disparity 0 Out of band, 0 Illegal control codes Slot F0-Link B RX link locked 58-bit scrambler, 20 Gbps 0 Overruns, 0 Underruns 0 Reframe, 0 Disparity 0 Out of band, 0 Illegal control codes bras3#show platform hardware slot R0 serdes status Slot F0-Link A RX link locked 58-bit scrambler, 10 Gbps 0 Overruns, 0 Underruns 0 Reframe, 0 Disparity 0 Out of band, 0 Illegal control codes bras3#show platform hardware slot R0 serdes statistics From Slot F0-Link A Pkts High: 52320668 Low: 563317 Bad: 0 Dropped: 0 Bytes High: 5370927007 Low: 179230198 Bad: 0 Dropped: 0 Pkts Looped: 0 Error: 0 Bytes Looped 0 Qstat count: 0 Flow ctrl count: 555268 bras3#show platform hardware slot 0 serdes statistics From Slot F0-Link A Pkts High: 0 Low: 1898599931547 Bad: 0 Dropped: 0 Bytes High: 0 Low: 1694837241113495 Bad: 0 Dropped: 0 Pkts Looped: 0 Error: 0 Bytes Looped 0 Qstat count: 0 Flow ctrl count: 7828999083 To Slot F0-Link A Pkts High: 424860431 Low: 1913765530469 From Slot F0-Link B Pkts High: 0 Low: 887519284108 Bad: 0 Dropped: 0 Bytes High: 0 Low: 782086255596518 Bad: 0 Dropped: 0 Pkts Looped: 0 Error: 0 Bytes Looped 0 Qstat count: 0 Flow ctrl count: 6562830041 To Slot F0-Link B Pkts High: 21182277 Low: 894609109996 bras3#show platform hardware slot F0 serdes statistics From Slot R0-Link A Pkts High: 1586741 Low: 14322508 Bad: 0 Dropped: 0 Bytes High: 146926560 Low: 1219401243 Bad: 0 Dropped: 0 Pkts Looped: 0 Error: 0 Bytes Looped 0 Qstat count: 0 Flow ctrl count: 555273 To Slot R0-Link A Pkts High: 52320668 Low: 563317 From Slot 0-Link A Pkts High: 424860449 Low: 1913765717013 Bad: 0 Dropped: 0 Bytes High: 116639177455 Low: 1717700984833699 Bad: 0 Dropped: 0 Pkts Looped: 0 Error: 0 Bytes Looped 0 Qstat count: 14565842 Flow ctrl count: 555271 To Slot 0-Link A Pkts High: 0 Low: 1898600117264 From Slot 0-Link B Pkts High: 21182277 Low: 894609199758 Bad: 0 Dropped: 0 Bytes High: 4354516630 Low: 792595204834261 Bad: 0 Dropped: 0 Pkts Looped: 0 Error: 0 Bytes Looped 0 Qstat count: 12677160 Flow ctrl count: 555271 To Slot 0-Link B Pkts High: 0 Low: 887519373434 TenGigabitEthernet0/0/0 is up, line protocol is up Hardware is SPA-1X10GE-L-V2, address is b414.8906.8c00 (bia b414.8906.8c00) MTU 1500 bytes, BW 10000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 209/255, rxload 210/255 Encapsulation 802.1Q Virtual LAN, Vlan ID 1., loopback not set Keepalive not supported Full Duplex, 10000Mbps, link type is force-up, media type is unknown media type output flow-control is on, input flow-control is on ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:00:01, output hang never Last clearing of "show interface" counters never Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 30 second input rate 8273949000 bits/sec, 1232776 packets/sec 30 second output rate 8206610000 bits/sec, 1227271 packets/sec 1393559965725 packets input, 1245821681387859 bytes, 0 no buffer Received 16907570 broadcasts (0 IP multicasts) 0 runts, 0 giants, 0 throttles 33424912 input errors, 0 CRC, 0 frame, 33424912 overrun, 0 ignored 0 watchdog, 144410 multicast, 0 pause input 1381805847107 packets output, 1228632205643618 bytes, 0 underruns 0 output errors, 0 collisions, 1 interface resets 92982 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out TenGigabitEthernet0/1/0 is up, line protocol is up Hardware is SPA-1X10GE-L-V2, address is b414.8906.8c10 (bia b414.8906.8c10) MTU 1500 bytes, BW 10000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 208/255, rxload 209/255 Encapsulation 802.1Q Virtual LAN, Vlan ID 1., loopback not set Keepalive not supported Full Duplex, 10000Mbps, link type is force-up, media type is unknown media type output flow-control is on, input flow-control is on ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:00:03, output hang never Last clearing of "show interface" counters never Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 30 second input rate 8222754000 bits/sec, 1222766 packets/sec 30 second output rate 8162978000 bits/sec, 1217815 packets/sec 855562326241 packets input, 754959142256537 bytes, 0 no buffer Received 9346251 broadcasts (0 IP multicasts) 0 runts, 0 giants, 0 throttles 6353784 input errors, 0 CRC, 0 frame, 6353784 overrun, 0 ignored 0 watchdog, 144420 multicast, 0 pause input 848806456428 packets output, 744997616960364 bytes, 0 underruns 0 output errors, 0 collisions, 1 interface resets 92983 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out TenGigabitEthernet0/2/0 is up, line protocol is up Hardware is SPA-1X10GE-L-V2, address is b414.8906.8c20 (bia b414.8906.8c20) MTU 1500 bytes, BW 10000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 206/255, rxload 207/255 Encapsulation 802.1Q Virtual LAN, Vlan ID 1., loopback not set Keepalive not supported Full Duplex, 10000Mbps, link type is force-up, media type is unknown media type output flow-control is on, input flow-control is on ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:00, output 00:00:45, output hang never Last clearing of "show interface" counters 4d22h Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 30 second input rate 8140262000 bits/sec, 1236808 packets/sec 30 second output rate 8081677000 bits/sec, 1231172 packets/sec 308959771225 packets input, 275130887779281 bytes, 0 no buffer Received 3113414 broadcasts (0 IP multicasts) 0 runts, 0 giants, 0 throttles 1198521 input errors, 0 CRC, 0 frame, 1198521 overrun, 0 ignored 0 watchdog, 22234 multicast, 0 pause input 306702465754 packets output, 271782995343062 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 14322 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out
  7. Netflow и NAT отключены. На ASR работает только ISG внутри VRF - по одному VRF на 10GbE порт.
  8. Все привет. Столкнулся со следующей проблемой: ASR1004/RP2/ESP-40/SIP-40/4xSPA-10G выполняет роль терминирующего маршрутизатора для ISG IPv4-сессий. При этом он не пропускает через себя более 30 Гбит/с трафика. В момент проблемы наблюдаю на графиках ровную полку в 7.5 Гбит/с трафика при 1.15M PPS на всех четырех интерфейсах 10GbE, также начинают расти счетчики overrun errors. CPU на ESP-40 в момент проблемы нагружен только наполовину. Не могу понять причину такой проблемы, так как у данной конфигурации переподписок на шине быть не должно. Может кто-нибудь сталкивался с подобной проблемой?
  9. Действительно, помогло. 65% нагрузки при 19 гигах трафика. Спасибо.
  10. Добрый день. Прошу помочь с траблшутингом появления ksoftirqd на NAT под Linux. В качестве дистрибутива использую Gentoo с ядром 3.18.10. Пытаюсь собрать конфигурацию, которая сможет стабильно маршрутизировать и НАТить 15-17 гиг трафика. Для начала тестировал на сервере с 20 ядрами (2 x Xeon E5-2660 v2 @ 2.20GHz) и сетевой Intel с двумя портами 10GbE 82599ES, которые собраны в LACP Bond. Но у этого сервера был потолок по CPU на 12-13 гигах. После этого взял сервер с 32 ядрами (2 x Xeon E5-2698 v3 @ 2.30GHz) и с той же сетевой начал тестировать. На 8-9 гигабитах трафика все было великолепно - нагрузка на все CPU по 20-30%. Но на отметке в 11 гигабит резко повылазили ksoftirqd, которые полностью ложат сервер по 100% нагрузке на CPU. Пытался найти причину проблемы по perf top. При 8-9 гигабитах трафика: PerfTop: 105978 irqs/sec kernel:99.8% exact: 0.0% [4000Hz cycles], (all, 32 CPUs) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 5.22% [kernel] [k] hash_net4_test 5.19% [kernel] [k] _raw_spin_lock 4.98% [ixgbe] [k] ixgbe_clean_rx_irq 4.65% [kernel] [k] ip_set_test 4.35% [kernel] [k] acpi_safe_halt 3.96% [ixgbe] [k] ixgbe_poll 3.94% [kernel] [k] irq_entries_start 3.52% [kernel] [k] _raw_spin_lock_bh 3.25% [kernel] [k] fib_table_lookup 2.96% [kernel] [k] delay_tsc 2.66% [kernel] [k] ipt_do_table 2.53% [kernel] [k] __nf_conntrack_find_get 2.40% [kernel] [k] __dev_queue_xmit 2.29% [ixgbe] [k] ixgbe_xmit_frame_ring 2.27% [kernel] [k] _raw_read_lock_bh 1.94% [kernel] [k] _raw_read_unlock_bh 1.50% [kernel] [k] __slab_free 1.43% [kernel] [k] cpu_startup_entry 1.29% [kernel] [k] get_nohz_timer_target 1.28% [kernel] [k] __local_bh_enable_ip 1.23% [kernel] [k] ip_route_input_noref 1.21% [kernel] [k] check_leaf.isra.10 1.20% [kernel] [k] hash_net4_kadt 1.16% [kernel] [k] nf_iterate 1.11% [kernel] [k] ip_finish_output 1.06% [kernel] [k] skb_release_head_state 0.95% [ixgbe] [k] ixgbe_read_reg 0.94% [kernel] [k] put_page 0.72% [kernel] [k] consume_skb 0.67% [kernel] [k] __netif_receive_skb_core 0.60% [kernel] [k] menu_select 0.56% [kernel] [k] tcp_packet 0.56% [kernel] [k] set_match_v3 0.54% [kernel] [k] nf_conntrack_tuple_taken 0.51% [kernel] [k] int_sqrt А в момент, когда сервер ложит из-за ksoftirqd: PerfTop: 42849 irqs/sec kernel:99.3% exact: 0.0% [4000Hz cycles], (all, 32 CPUs) ------------------------------------------------------------------------------------------------------------------------------------------------------------ 22.99% [kernel] [k] _raw_read_unlock_bh 17.86% [kernel] [k] ip_set_test 17.53% [kernel] [k] _raw_read_lock_bh 12.49% [kernel] [k] hash_net4_kadt 2.67% [kernel] [k] hash_net4_test 2.26% [kernel] [k] _raw_spin_lock 1.83% [ixgbe] [k] ixgbe_clean_rx_irq 1.48% [kernel] [k] delay_tsc 1.31% [kernel] [k] fib_table_lookup 1.27% [kernel] [k] __nf_conntrack_find_get 1.27% [kernel] [k] __dev_queue_xmit 1.09% [ixgbe] [k] ixgbe_xmit_frame_ring 1.04% [kernel] [k] ipt_do_table 0.60% [kernel] [k] __slab_free 0.56% [kernel] [k] check_leaf.isra.10 0.55% [kernel] [k] ip_route_input_noref 0.54% [kernel] [k] ip_finish_output Графики из cacti приаттачил.
  11. Прошу поделиться IOS-ом 122-33.SRD8 для c7201 NPE-G2 и c7301 NPE-G1.
  12. Прошу помощи у тех, кто реализовал у себя схему приема 36E HD каналов под Linux. Буду раздавать с помощью mumudvb + opensasc-ng + кардшаринг. Пробовал карточку skystar s2, но у нее под Linux с HD каналами на 36E неисправимые в настоящий момент проблемы.