CodingBox Q&A Ask question

CRS518-16XS-2XQ'da bir S+RJ10 copper SFP+ üzerinden yaklaşık %15 packet loss, direkt 100G yol ise temiz

Asked Active Viewed 150 AI translation from English
8

Bir lab sunucusundan trafiği 100G QSFP28 uplink üzerinden bir CRS518-16XS-2XQ'ya itiyoruz, switch'ten de bir MikroTik S+RJ10 copper SFP+ üzerinden düz bir 1G RJ45 host'a çıkıyor. Alıcı tarafta paketlerin büyük bir kısmı kayboluyor ve bunu belirgin bir şeye bağlayamıyorum.

Kurulum:

  • MikroTik CRS518-16XS-2XQ, trafik kaynağından 100G QSFP28 uplink
  • kafeslerden birinde MikroTik S+RJ10 copper SFP+, uzak uçta 1G RJ45 cihaz
  • alıcı host'ta çalışan bir capture

Capture'ın söylediği:

100G QSFP28 uplink -> CRS518-16XS-2XQ -> S+RJ10 -> 1G RJ45 host
capture on the 1G host: ~15% of the packets never arrive
same source, direct 100G connection: nothing missing
switch CPU load: 1%

Şimdiye kadar denediklerim:

  • aynı kaynağı direkt 100G'de bağladım, hiç kayıp yok, yani gönderenin kendisi sorunsuz
  • switch CPU'sunu düşürdüm, şimdi %1'de duruyor ama kayıp hâlâ oluyor
  • S+RJ10'u yeniden oturttum ve 1G cihaza giden patch kordonu değiştirdim

Bu noktada asıl şüphelendiğim copper modül, ama link temiz ve interface hiç hata göstermiyor. S+RJ10'un trafiği böyle yediği biliniyor mu, yoksa switch'in içinde başka bir yere mi bakmalıyım?

Comments 5

Accepted answer

Bütün hikaye, bursty bir gönderenle 400-500 Mbps ortalama. Trafiğin eşit dağılmıyor: kısa burst'ler kaynaktan 1 Gbps'ten daha hızlı çıkıyor, o çizginin üzerindeki her şey de 1G taraf onu boşaltana kadar portun egress buffer'ında oturmak zorunda. Buffer dolduğunda switch drop ediyor. rx-overflow hareketinin sana tam olarak söylediği bu, direkt 100G bağlantının hiçbir şey göstermemesinin sebebi de bu - orada karşısına buffer'layacak bir hız basamağı yok.

Transceiver masum. O kafesteki herhangi bir şey, copper ya da fiber, aynı davranırdı, çünkü drop 100G'den 1G'ye inişte oluyor, modülün içinde değil.

Yapılacak iki şey var. Asıl çözüm gönderende: paketler burst'ler halinde yazılmak yerine eşit dağılacak şekilde pace'le. Kaynak egress rate'in üzerinde burst üretmeyi bıraktığında kayıp kayboluyor.

Switch'te buffer durumunu daha az düşmanca yapabilirsin:

/interface ethernet switch set 0 qos-hw-offloading=yes
/interface ethernet switch qos settings set shared-buffers=90%

Bu biraz headroom kazandırır ve bir burst'ün daha uzun süre idare etmesini sağlar, ama sebebi ortadan kaldırmaz - gönderen yeterince uzun süre yeterince sert burst yaparsa, hiçbir buffer boyutu seni kurtarmaz. Değişiklikten sonra switch QoS istatistiklerini ve rx-overflow sayaçlarını izlemeye devam et, böylece hâlâ tavana çarpıp çarpmadığını yoksa sadece ara sıra mı dokunduğunu görebilirsin.

Genel ders akılda tutmaya değer: temiz linkli, hatasız ve sağlıklı modüllü bir port, sırf portlar arasındaki bir hız basamağı yüzünden trafiğin iki haneli bir yüzdesini yine de drop edebilir.

4 Türkiyelinknerd83TR Show original (English) AI translation

Modülü suçlamadan önce, port sayaçlarının gerçekte ne söylediğine bak. Şunu çalıştır

/interface ethernet print stats

100G ingress portunda ve S+RJ10'un olduğu kafeste, olağan rx/tx hata sayaçları yerine özellikle rx-overflow satırına bak. Gerçekten bozuk bir copper SFP+ kendini FCS hataları ya da flap yapan bir link olarak duyurur, aksi halde sağlıklı bir akıştan düzgünce kesilmiş bir %15 olarak değil.

İkinci soru: o yoldaki ortalama hız ne, tepe değerler hakkında bir fikrin var mı? CPU %1'deyken yedi paketten birini kaybetmek, bir transceiver arızasından çok egress portunun buffer'ının tükenmesi gibi kokuyor.

0 Franceedgenode83FR Show original (English) AI translation

Önce sayaçlar: iki portta da hata yok, link boyunca up kalıyor ve modül anormal bir şey raporlamıyor. Rakamların hareket ettiği tek yer rx-overflow.

Hız konusunda, yol ortalama 400-500 Mbps, yani kağıt üzerinde 1G tarafını doyurmaya hiç yaklaşmıyor. Tepe ölçümüm yok, ama trafik doğası gereği bursty - gönderen bir yığın yazıp bir süre susuyor. Paketler kaybolurken CPU hâlâ %1.

0 Netherlandsopticguru22NL Show original (English) AI translation

Farklı bir arıza, sayaçlara sezgiden çok güvenmekle ilgili aynı ders. SwOS 2.18'de, iki QSFP+ portunda da sürekli büyüyen Rx FCS Errors ve daha düşük bir oranda Rx MAC Errors olan bir CRS354-48G-4S+2Q+RM'im vardı. İki port da MTU 1500 ile 40G full duplex'te oturuyordu, karşı tarafta da içlerinde Mellanox ConnectX-3 Pro CX324A kartları olan ESXi host'ları vardı.

İlginç kısım: NIC tarafı hiçbir şey raporlamıyordu.

esxcli network nic stats get -n vmnic4

Tertemiz. Bilinen sağlam kablolar hiçbir şeyi değiştirmedi, aynı kutunun 10G SFP+ portları da boyunca hatasız kaldı. Gerçek bir teşhis hiç alamadım - switch'i SwOS'tan RouterOS'a taşımak sayaçların kaybolmasını sağladı, ki bunu sorunu çözmek değil gizlemek olarak sayıyorum.

Ayakta kalan yöntem: sayaçları temizle, sabit bir aralıkta yeniden oku, hataların trafik hacmini takip edip etmediğine bak. Senin durumunda burst'leri takip edecekler, benimkinde işe yarar hiçbir şeyi takip etmediler, o fark tek başına hangi tarafı kazmaya devam edeceğini söylüyor.

1 United Statesphotonrunner70US Show original (English) AI translation

O portta denemeler yaparken aklında tutman gereken bir şey: çıkış yolu olarak forced speed ve duplex'e uzanma. MikroTik copper modüllerinin belgelenen davranışı, S-RJ01 ile S+RJ10 aynı şekilde, sadece auto-negotiation açıkken çalışmaları - hızı statik olarak sabitlersen link hiç gelmez. Pratik buna kısmen ters düşüyor, çünkü birkaç RB5009 ve RB4011 sahibi tersini bildiriyor ve bir S-RJ01'i ancak 1G full duplex'i zorlayarak stabil hale getirdi, yani bu bir kural değil, "kendi donanımında ikisini de dene" meselesi. Her hâlükârda bu, asıl sorunundan bir sapma, o da buffer tarafında.

İleride bilmekte fayda olan başka bir S+RJ10 detayı: normal bir optikten belirgin şekilde daha fazla güç çekiyor ve sıcak çalışıyor, bu yüzden ekstra hava akımı olmadan pasif soğutmalı bir cihazda önerilmiyor. O modül sıcak bir şasi içinde bir gün yaramazlık yapmaya başlarsa, ilk kontrol edeceğim şey sıcaklık olur.

2 Kazakhstanlanbyte59KZ Show original (English) AI translation
Log in to comment. Log in