title
わたしの日記は日々の出来事の鬱憤晴らしの毒だし日記がメインです。 相当病んでいます。くだを巻いています。許容出来る方のみのアクセスをお願いします。 また、この日記へのリンクは原則自由にして頂いても結構ですが、 写真への直リンクを張るのはご遠慮下さい。内容に関しては、一切保証致しません。
カテゴリ一覧 Network, Internet, IPv6, DC, NTT, Comp, Linux, Debian, FreeBSD, Windows, Server, Security, IRC, 大学, Neta, spam, , 生活, 遊び, Drive, TV, 仕事,
過去日記:





2024年06月23日() [晴れ]

[Network] A.I.ドクター

A.I.ドクター / AIドクター を読んでいて、81話が面白かったので紹介。



どうみても、Wireshark だよね〜。
モニタ画面がこうなっているのって、人体もWiresharkで解析出来るってことなのだろうか?(笑
血液をキャプチャして解析してくれるのかな〜(わくわく

[ コメントを読む(0) | コメントする ]

2024年05月06日(月) [晴れ]

[Comp][Server] MINISFORUM MS-01 を借りて遊んだよ

Facebookの広告がすざましく、以前からとても気になっていた、 MINISFORUM MS-01をFacebookで複数台調達し、NIC/CPUの性能評価をされていた seirios氏がいたので、拉致して一緒に検証することにしました。幸いにもこのタイミングでEthernet Testerがあったため、いろんなパターンで測定を行い、IP Unicast Routingの性能評価を実施。
実施したときの流れは、Twitterに投稿していたとおりです。

MINISFORUM MS-01 を借りて遊んだよ。

結論としては、FreeBSD 14R で実装しルータとして使ったときのパフォーマンスは、512byteパケット長であればほぼワイヤーレートに近いIP Unicast Routingはできました。
ほぼワイヤーレートに近いと書いている理由は、複数ストリームで流す必要があると言うことと、0.0001%ぐらいこぼします。

詳細などはTwitterにつらつらと書いていますが、1 stream 10G は 512byte は出ず4G前後でした。5 stream 以上なら問題なし!理由はCPU割り込みの関係でコアが張り付きます。
これはキューの関係で、In/Outの処理を同一スレッドで処理しているため、CPUパワーが足りずに性能が出ません。
src mac/dst ipなどが異なっている場合に於いて、CPUコアが分散することにより、性能が出るようになりました。通常のルータであれば、十分nic性能とcpu性能があることがわかりました。フルルート食わせてランダムな通信のimix試験は今度やってみます。

詳細レポートは、後に、主よりドキュメントが出ると思います。出てきたら紹介しますね。

[ コメントを読む(0) | コメントする ]

[Network][Comp] 八丁 seekswan / XikeStor SKS8300-8X 10G SFP+ 8port マネージメント Layer L3 Switch

seirios氏がAmazonでポチって面白いデバイスを持ってきたので、軽く検証、面白い結果が得れたので私も合計で5台ほど調達することにした。
検証した機器は、 八丁 seekswan XikeStor SKS8300-8X 10G SFP+ 8port マネージメント Layer L3 Switchというのを2万円以下で見つけてしまい、即購入。
ちょうど10G/25G/40G/100G対応のパフォーマンステスターが落ちていた^H^H^H^H^H手元にあったため、さくっと検証した。

Realtek RTL9303のチップを搭載したスイッチであり、 データシートからすると、Layer 3 (IPv4/IPv6 IP Unicast Routing) については、ハードウェアで処理され、また、160Gbpsのバックプレーンとしての帯域があるため、ワイヤーレートの性能があるそうだ。 最初、L3処理はCPUで性能全然出ないだろうと考えていたが、なんと調べてみる限り、PHYによるASIC処理しているとのこと。
これらから、とても優秀なスイッチだと仮定し、手元にあった VeEX のテスターを使用して、性能試験を行った。

結論から言うと、Layer 2 Ethernet Switchとして、72byte パケット長(IPv4利用環境を想定)において、packet dropすること無く100%の性能があった。 IPv6 Layer 3 Unicast Routing において、92byteパケット長でワイヤーレートの性能があった。 なお、 Layer 2 Ethernet 試験において、64byte パケット長では、0.08%のパケットをdropし、4%以上壊れたフレームとして戻ってきたため、95.37% packet forwarding できる結果となった。
64byte Ethernet Flameを扱う特殊な環境以外ににおいて問題になることはありませんでした。
いずれの試験も1時間のヒートラン実施時において、上記の結果であった。

テスターで試験した詳細結果は以下の通り。

試験環境: 室温 24℃、外部FAN設置無し、TransceiverはFINISAR 10GLR/10GSR、10GigTek/FiberStore 10GBASE-Tを使用、L2試験の際には、2port単位でVLAN分割を行い、物理的に数珠つなぎにした状態で両端からloopback試験を実施。テスターと接続したインターフェースにおいて、802.1Q VLAN Trunkを使用し、Tagでアクセス。
テスター: VeEX TX340s, 各パケットサイズ長 1ストリーム

ということで、写真付き結果。
試験環境はこのような形で試験しました。


 10GBASE-T における消費電力及び試験結果:
 Layer 2 試験結果(10GLR/SR使用):

試験構成: 各ポートにVLANを設定し、全ポート数珠つなぎになるような構成とした。全8ポート負荷試験とする。テスター側ははLoopbackモードでsrc/dst macを書き換えてテースターにトラフィックを戻し、正常に帰ってきたパケット数をカウントする全二重方向試験。

SFP+ Port 1: trunk port, tag vlan 100 
SFP+ Port 2: access port, vlan 100 - SFP+ Port 3: access port, vlan 101
SFP+ Port 4: access port, vlan 101 - SFP+ Port 5: access port, vlan 102
SFP+ Port 6: access port, vlan 102 - SFP+ Port 7: access port, vlan 103
SFP+ Port 8: trunk port, tag vlan 103
Switch#show cpu utilization

Last  5 second CPU USAGE:  25%
Last 30 second CPU USAGE:  21%
Last  1 minute CPU USAGE:  21%
Last  5 minute CPU USAGE:  20%
From  running  CPU USAGE:  14%
Switch#

64byte Results

72byte Results
1本だけどうしてもエラーが出るOpticsを引いてしまい、十分な本数のOpticsを用意出来ず、単体で完全に0%ロスに出来なかったため、その点はご了承ください。
この結果には不満があるので、改めて後日再試験を予定しています。


 Layer 3 / IPv6 Unicast Routing 試験結果:

SFP+ Port 1及びPort8をテスターに接続、SVIを作成し、access portとしてテスターと接続し負荷試験を実施した。
フレームサイズは最小のため、92byteパケット長で試験の実施。遅延時間も短く非常に良好。
SFP+ 2ポート(10GLR)使用、負荷試験時において、消費電力は10Wであった。
なお、スクリーンショットのカウンター値が一致していないが、細かく検証した際には、おおよそ一致していたた。おおよそというのは、ND/NDPパケットなど吐いている可能性があり、数パケット分の誤差が生じていたためである。
試験時間: 1分

参考に、1時間のヒートランしたときの結果。パケットの数がほぼ一致している。

Switch#show cpu utilization

Last  5 second CPU USAGE:   7%
Last 30 second CPU USAGE:   8%
Last  1 minute CPU USAGE:   7%
Last  5 minute CPU USAGE:   7%
From  running  CPU USAGE:  15%
Switch#

合格。CPU負荷も上がらず。


 VLAN Translation 2port 64byte パケット長 試験:

構成:
Port 1: trunk port, vlan 2000を設定, テスターのvlanは2002を設定し、vlan-transrationで、2002を2000へ変換
Port 2: trunk port, vlan 2000を設定, テスターのvlanは2000を設定
64byte packet長による負荷試験

config

vlan 2000;2002

Interface Ethernet1/0/1
 transceiver-monitoring enable
 vlan-translation enable
 vlan-translation 2002 to 2000 in
 vlan-translation 2002 to 2000 out
 switchport mode trunk
 switchport trunk allowed vlan 2000

Interface Ethernet1/0/8
 transceiver-monitoring enable
 switchport mode trunk
 switchport trunk allowed vlan 2000

スクリーンショットの通り、フルワイヤーレートが出ていること、転送されたパケット数が、スイッチの値とテスターの値が一致しており、十分な性能があることが確認できた。なお、試験中のスイッチのCPU負荷は10%程度にとどまっていたため、ハードウェア処理されていることが確認出来た。


 分解写真:

搭載しているチップを確認するために、分解をする必要があった。
しかし、ヒートシンクが搭載されており、これは半田付けされていた。
赤色の場所のハンダを落とさない限りヒートシンクは外せない。なお、25Wの半田ごてでは溶かすことが出来ず、40Wの物を用意した。




搭載されているチップは、 Realtek RTL9303( Data Sheet) で、以下の写真の通り。分解に時間がかかって大変だった。



 ACアダプタ:

PSEマークはきちんと存在している。購入時期により入っているACアダプタが異なるようだ。
いずれも、12V 2A のACアダプタのΦ5.5の物であった。


 スペック 及び ドキュメント類:

なお、 xikestorのサイトはは、日本のIPからアクセスすると、Products などに製品名が表示されない。
また、 Seekswanのサイトにて、 製品情報を中国語にて確認することが出来る。なお、英語ページは存在しない。 また、xikestor の方よりたどると、 xikestore Download Centerにて英語のドキュメント類がダウンロード可能。

seekswanより、マニュアル及びファームウェア類がダウンロード可能。
いつ消滅するか不明の為、 ミラーも作成した。

ファームウェアについては形式が不明だった。

[tomo@sv XikeStor_SKS8300-8X]$ hexdump -C SKS8300-8X-V1-V300SP10231222-C200117-U.img | head -n 20
00000000  80 92 a7 0d 16 18 79 34  23 ac 80 82 00 de e6 6f  |......y4#......o|
00000010  d1 c6 27 7b 45 65 77 ff  90 1b 34 23 0a 04 7d 9c  |..'{Eew...4#..}.|
00000020  14 23 32 0f 1d ac 02 30  43 55 23 1f 1c 4c 2b 7d  |.#2....0CU#..L+}|
00000030  13 02 30 33 4a ab 34 5d  13 2b 3a 82 23 34 df ad  |..03J.4].+:.#4..|
00000040  14 b3 24 00 ad ab 33 3d  de ff 80 82 11 44 8b 9a  |..$...3=.....D..|
00000050  5a 40 34 d1 02 30 12 34  23 ab ff ff ff ff 3b 9c  |Z@4..0.4#.....;.|
00000060  94 e6 89 2d dd b6 b1 3d  0a c5 82 11 44 8b 9a 77  |...-...=....D..w|
00000070  1d e3 7d 23 02 ab 72 55  83 ab 80 82 01 ff 54 9a  |..}#..rU......T.|
00000080  f2 37 6e 27 8d 1b ff ff  43 1b f0 32 ff ff 46 18  |.7n'....C..2..F.|
00000090  c2 23 7f 5f ad cd ff ff  66 3b f0 56 ff 32 76 1f  |.#._....f;.V.2v.|
000000a0  4f 05 00 80 ad 89 00 00  90 24 00 ff 00 00 35 4f  |O........$....5O|
000000b0  60 d0 00 00 ab 5a 00 00  36 43 ff ff 00 00 37 4e  |`....Z..6C....7N|
000000c0  7f 70 ff 00 a6 df 00 ff  87 44 ff 00 88 00 85 4d  |.p.......D.....M|
000000d0  2c 69 ff 00 ad ab 57 04  23 5b ff 42 51 3f 8b 3b  |,i....W.#[.BQ?.;|
000000e0  72 29 89 00 ab 30 f3 54  ff ab 80 82 11 44 82 1a  |r)...0.T.....D..|
000000f0  0f 94 ae 00 cd ea 68 34  ff ff ff ff 00 00 87 78  |......h4.......x|
00000100  a5 23 34 df 70 06 87 49  88 30 44 4c 00 de e5 3f  |.#4.p..I.0DL...?|
00000110  b3 43 21 52 c5 8a 88 2f  9c 49 7b 4e 0f 09 7f 9d  |.C!R.../.I{N....|
00000120  14 23 32 0f 1d ac 02 30  43 55 23 1f 1c 4c 2b 7d  |.#2....0CU#..L+}|
00000130  13 02 30 33 4a ab 34 5d  13 2b 3a 82 23 34 df ad  |..03J.4].+:.#4..|
[tomo@sv XikeStor_SKS8300-8X]$

 Realtek RTL9303 Datasheet:

Realtek RTL9303 Datasheet を見ると以下の記載がある。一部抜粋する。
なお、データシートにはECMPが対応しているとは記載が無いため、ECMPは動作しないものと考えられる

メンドクサイので抜粋のみ。筆者が気になったところのみピックアップ。気になる方はデータシートを読んでネ(^_^)v。
つーか、「IP unicast routing supports Strict and loose uRPF checks and PBR (Policy-Based Routing).」とか対応してるってステキデスネ。

ブロック図

The RTL9303 has a 4K-entry VLAN table. It provides VLAN classification according to port-based, protocol-and-port-based, MAC-based, IP-subnet-based, Ingress VLAN translation and Flow-based capability. It also supports IVL (Independent VLAN Learning), SVL (Shared VLAN Learning), and IVL/SVL (both Independent and Shared VLAN Learning) for flexible network topology architecture. In network access applications it provides IEEE802.1ad (Q-in-Q) for double tag insertion and removal function. In addition, VLAN translation function is also supported for Metro Ethernet applications. The RTL9303 supports 16K entries in a L2 MAC table with 2-left 4-way hashing algorithm. An independent 1K-entry Forwarding table is used to support Multicast functions, such as IGMP snooping.
The RTL9303 supports a 2K-entry VLAN/Ingress Access Control List (ACL). The ACL function supports L2/L3/L4 in IPv4/IPv6 protocols and performs configurable actions, such as Drop/Permit/Redirect/ Copy/Unicast Routing/Mirror/Logging/Policing/Ingress VLAN conversion/Egress VLAN conversion/QoS remarking/ VLAN tag status assignment. The RTL9303 supports per-port ingress/egress bandwidth control and per-queue egress bandwidth control. L3 routing supports IPv4 unicast routing, IPv6 unicast routing, IPv4 multicast routing and IPv6 multicast routing. Routing table is mainly composed of L3 host table and L3 LPM table. L3 host table is shared by IPUC and IPMC, and is 2-left 6-way host table. Routing is the process of forwarding packets hop by hop on layer3. It primarily includes finding an outgoing interface and a next hop, modifying the packets’ SMAC, DMAC, VID (if provided), TTL, and L3 header checksum (for IPv4) and forwarding. The RTL9303 supports strict and loose uRPF.


・ 160Gbps switch capacity

L2 MAC Function
・ 16K-entry L2 MAC table
・ 2-left 4-way hashing algorithm
・ 2 hash algorithm selection for L2 table searching/learning
・ Source/Destination MAC filtering
・ Per port enables aging
・ Independent 1K entry Multicast table for L2/IP Forward function
・ 12Mbit SRAM Packet Buffer
・ Jumbo frame up to 12KB

Supports Link Aggregation (IEEE 802.3ad) for 64 groups of link aggregators with up to 8 ports per-group
・ Hardware trunk fail-over
・ Distribution algorithm can be based on SPP, SMAC, DMAC, VLAN ID, SIP, DIP, L4 source port, L4 destination port, Protocol ID and IPv6 Flow Label

OAM
・ 802.3ah OAM loopback
・ 802.3ah Dying Gasp

L3 Functions
・ IPv4/IPv6 unicast routing
・ 64 Router MAC
・ 6K-entry host table (6K IPv4/2K IPv6)
・ 2-left 6-way host table
・ 2 hash algorithm selection for host table searching
・ 512-entry LPM (Longest Prefix Match) table(512 IPv4/128 IPv6)
・ 2K next hop table
・ 128 Egress L3 interfaces
・ Supports uRPF (unicast Reverse Path Forwarding)
・ Supports PBR (Policy-Based Routing)

Access Control List (ACL) Function
・ Supports 2K shared entry for VLAN and Ingress ACL
・ Supports L2/L3/L4 format and user defined field
・ Supports 256 policer for traffic policing DLB/srTCM/trTCM


7.13.2. Ingress ACL
The Ingress ACL function supports functionalities similar to VLAN ACL. Differences between them are mainly determined by their lookup phase. For example, Inner VLAN translation function of VLAN ACL translates a packet before the ingress VLAN filter/L2/L3 process, but the function of ingress ACL is after the ingress VLAN filter/L2/L3 process.

7.14. L3 Unicast and Multicast Routing
Layer 3 routing supports IPv4 and IPv6 protocols. Routing is the process of forwarding packets hop by hop on layer3, it primarily includes finding an outgoing interface and a next hop, modifying the packets’ SMAC, DMAC, VID (if provided), TTL and L3 header checksum (for IPv4), and forwarding. L3 routing performs the source/destination IP lookups for IPv4 and IPv6 unicast and multicast packets.

7.14.1. IP Unicast Routing
L3 termination is initiated via a lookup in the Router MAC table. The L3 Host Routing Table is a 2-left 6-way host table, supports max 6K IPv4 entries or 3K IPv6 entries. When a look miss in the L3 host table LPM (Longest Prefix Match) table lookup occurs, it supports 512 IPv4 entries or 128 IPv6 entries. Once matched, a L3_NEXT_HOP entry is used to modify the packets, including outgoing interface and DMAIDX , and fully supports 2K next hop.
The Outgoing interface provides the packets’ SMAC, VID etc. information, and includes 128 interfaces. The DMAC and the outgoing port information should be retrieved from an L2 entry indexed by DMACIDX. Values in the MAC field of the L2 entry indicate the next hop’s MAC address, and are used to replace the packets’ DMAC field in the L2 header. IP unicast routing supports Strict and loose uRPF checks and PBR (Policy-Based Routing).


 今後の検証予定:

この価格帯で出てくるのはありがたいことですが、ファームウェア内部にバックドアが仕掛けられていないかとても気になります。

面白いデバイスを紹介してくださった、 seirios氏、ありがとうございます


 変更履歴:
[ コメントを読む(0) | コメントする ]

Diary for 2 day(s)
Powered by hns HyperNikkiSystem Project




(c) Copyright 1998-2014 tomocha. All rights reserved.