1Gb/s - minimum gép

Hi!

1Gb/s-es hálózatra szeretnék olyan Linuxot futtató NAT routert építeni otthonra ami ki is tudja használni maximális sávszélességgel a sávját. Hol kezdődik az a gép ami képes kiadni ezt a sebességet? Egy P2 266mhz-es nyilván nem. Hol kezdődik az a processzor órajel vagy RAM méret (esetleg alacsonyabb órajel csak sok cache a prociba), ahol menne a dolog? A gépben SATA 1-es winchesterek teljesítenének szolgálatot egy vezérlő kártyára kötve.

Köszi a segítséget!

Battle

Hozzászólások

Csak tapasztalat:
egy P3 1Ghz gépen (HP server gép) 512 MB rammal Ubuntu routol+samba+squid+gnome+torrent és munin szerint átlag 1-2% proci terhelés van.Igaz a netkapcsolat itt csak 3 mbit, a belső oldalon meg 100Mbit.

Tapasztalat:
1 Gbps el egyik gigás háló kártya sem képes tényleg lökni az anyagot.(pláne nem full duplexben)

Az hogy nat esetében milyen paraméterekkel kell rendelkezzen a gép néhány támpont a számításhoz:

Az iptables a kapcsolatkövetéshez 0.5 kbyte nem swappelhető memóriát foglal minden kapcsolathoz.

Fontos a busz sávszélessége hisz azonos nagyságrendben lehet a kapcsolattal.

Igazából ha netezni akarsz ilyen rendszerrel tök fölösleges túlmisztifikálni mert általában az ellen oldal lesz a szűk keresztmetszet.
Legjobb emlékeim szerint a switchek sem mindegyik bírja ezen mértékű terhelést. :)

2 alaplapi kartyanal kezdodik :)
Na jo, PCI-e is lehet.

PCI32@33Mhz =132Mbyte/sec,egy half duplex kartyat elvisel, ha nincs mellette szinte semmi.

Ha csak router, akkor nem kell semmi vadra gondolni, a celhardwareekben sincs egy oriasi teljesitmenyu processzor.
Nyilvan fugg a filterektol is, de egy ma kaphato sima desktop gep mar tul is lo a kovetelmenyeken.
Inkabb valami jobb minosegu halokariban gondolkodj. (Intel, 3com amiket meg en hasznaltam.)

Ha ez megvan, akkor eleg nehez tesztelni, mind kiszolgaloi, mind kliens oldal miatt: disc sebesseg. Hacsak nem mindket oldalon levo geprol tudod, hogy localisan tudja azt a sebesseget.

Nekem egy 433 cerka mocorog 192 rammal, raid1-el (md), 10 megás net, 100-as belső háló, a gépen dhcp, dns, proxy, ftp, http, samba megosztás van.
Sima netezéskor (azaz dns, proxy és nat használat) "semmi" load nem szokott rajta lenni. (max ilyen 0,1)
--
Discover It - Have a lot of fun!

Arányokat számolni jó... 100x-os a kapcsolat, ami annyit jelent, hogy ezen a gépen olyan 10-es load lenne... namost mint írtam ez egy 433 celeron, aminek köztudottan kevés és lassú a cache-e, és 66Mhz-es az FSB. A memóriák benne SD-RAM-ok, amik 100Mhz-en mennek.
Namost ezt összehasonlítod egy bármilyen mai kiszuperált géppel, a DDR-RAM legrosszabb esetbe is 266-on megy (de persze lehet 333 vagy 400 is), a proci fsb-je mindenképpen gyorsabb, a cache-e is több, ha nem celeron az is.
Tehát egy manapság alsókategóriásnak számító gép (256, esetleg 512/333 DDR, meg egy 1-1,5 körül procnak simán, félkézzel el kell vinnie.
--
Discover It - Have a lot of fun!

Epp errol beszelek. Te meg mindig proci sebessegekkel, memoriaval szamogatsz, mikor itt a ket nagysagrendnyi kulonbseg miatt kiderulhet (es valszeg ki is derul), hogy mar reg nem a proci sebesseg, hanem pl a PCI lesz a szuk (amit te meg sem emlitesz... miert is tenned, 10Mbit-en nem szamitott).

Valamikor regen csinaltam egy merest: Pentium III 1 GHz-es proci (133 MHz FSB, CL2-es RAM), 3Com 3C905B halokartya, tuzfal bekapcsolva, NFS szerverkent. Egy nagy sparse filet masoltam rola (hogy a winch sebessege ne szamitson), igy kb. 30-35%-os prociterheles mellett kiadta magabol a 100 Mbps-t. Ha tenyleg gigabitet akarsz tuzfalazni, szerintem valami Pentium 4-es geppel probalkozz (minel gyorsabb memoria legyen benne).

Továbbításnál elsősorban nem az adatmennyiség, hanem a pps számít. Mikor legutóbb próbáltam egy desktop P4-es alaplap két alaplapi Intel PRO/1000-es interfésszel, 3 GHz körüli CPU-val kb. 900kpps-t tudott. De ehhez már kellett a polling, illetve a fast forwarding is. Csomagszűrés, vagy egyéb feldolgozás nem volt, csak routing.
Szóval a gigabit egyáltalán nem probléma maximális keret/csomagméretekkel, viszont elég nagy kihívás egy PC-nek minimális csomagmérettel.

Nálunk 1,6-os AMD Semptron (2800+) dolgozik 0% körüli terheltséggel, PCI hálókártyákkal, 1 giga RAM van benne, jelenleg 734 MB szabad. NAT, tűzfal, pár routing szabály. NAT mögött összesen kb. 600 gép van. bra-val egyetértve a csomagméret, csomagszám inkább meg tud akasztani egy ilyen gépet. Egy UDP támadásnál 60kpps-nél feküdt ki a korábbi P4, ill. néha normál terhelésnél előfordul(t), hogy a PCI sín nem bírta a megszakítások kiszolgálását (ksoftirqd 100%-os CPU terhelést produkált). Utoljára 1 éve jelentkezett ez utóbbi probléma. Szóval jó PCIe hálókártyák (NAPI-val?), valami modern chipset ami a PCIe-t rendesen meg tudja hajtani a többi tökmind1...
34 Mbitet sokáig egy P 1 166 Mhz-es gép szolgálta ki. Utána lett P4 1,6 ennél jelentkeztek az ksoftirqd-s problémák, a mostani Semptron jobban lekezeli ezt a dolgot. Majd egyszer vagy PCIe-re cseréljük a kártyákat, vagy Cisco-ra bízzuk a NAT-ot, tűzfalat...

A CPU-terhelés tehát nullához közelít. A kérdés nem ez. A routing/NAT a jelenlegi processzorok mellett nem jelent(het) CPU-problémát -- jelenthet viszont I/O-ban szűk keresztmetszetet, a hálózati adapter -- buszrendszer -- mem/cpu -- buszrendszer -- hálózati adapter útvonalon. Ezt kell végiggondolni, és kitalálni, azaz elsődlegesen a hálókártya és annak drivere fogja meghatározni, mit tudsz kisajtolni a cuccból.

De ha nem jelent a routing (ez alatt forwardingot értek, nem tudom te mit, ha valódi routingot, akkor másról beszélünk) CPU problémát, akkor miért van az, hogy 300 Mbps forgalomnál (az alig 40 MBps) a CPU terhelés 100%, míg ez a 40 MBps elvileg a modern pécém minden útvonalán (NIC-PCI-MEM-CPU) egy nevetségesen alacsony forgalom?

Félreérthetően fogalmaztam. Megfelelő hardver esetén (pl. ToE) a CPU-ra kevesebb teher hárul, gigás interfészt képes kihajtani egy átlagos CPU-mag (kérdés: 10gigás interfészt milyen vasba raknál bele?), ha nincs az architektúrában durva szűkítés, pl. f0s minőségű nic, illetve driver.

Ha csak cím alapon történő útválasztás van, és azon 100%-ban pörög a CPU-d, akkor abban biztos lehetsz, hogy I/O-ban jó a rendszered :)

TOE=TCP Offload Engine, vö: packet forwarding.
Nem látom a kettő közti kapcsolatot. Vagy a TOE-s kártyákba már routing táblát is lehet tölteni és képesek a többi TOE-s NIC-kel közvetlenül beszélgetni, maguk eldöntve, hogy melyikre is kell kiküldeni a keretet? Izé. Keret helyett csomag. Vagy szegmens. Vagy miről is beszélünk most? ;)

Így hirtelen nem is tudom van-e olyan szerverem, amelyen a CPU számolgat checksumot. (azt akarom mondani, hogy ez elég alap feature már régóta)
Másrészt pedig egy router csomagtovábbításkor megint nem túl nagy erőforrást áldoz a checksumokra, mert vagy nem bántja (pld. nem csökkenti a TTL-t, mert amúgy is gyorsan továbbvágja a csomagot), vagy mert csak TTL-t csökkent és emiatt nem kell az egész csomagra újraszámolnia, mert van erre inkrementális megoldás.

Szóval packet forwardingra nem kell TOE szerintem. :)

Szerintem leginkább az alaplap FSB -je ami számíthat. A gond a belső adatmozgásban van nem a processzálási sebességben. Ráadásul mint többen írják a puffer sem valami óriás. Nem tudom mihez kell ez a sebesség, mit vártok tőle. Szerintem a hálózat terhelést/ütközést csökkentheti a rövidebb csomag méretekkel - de hát valójában a gigabit egyszerűen egy-két érpárral többet használ mint a 100 megabit, így éri el a sebesség növekedést. Talán ha jobban szegmentálod a hálót és a csomópontokba gyors swithceket raksz avval többet érsz el, mintha a gigabit sebességben bíznál.

* Én indián vagyok. Minden indián hazudik.

en azt vettem eszre, hogy a dual 2.4es xeon nem volt eleg arra, hogy 1gbit/s -et kitoljak.. persze nem keves kapcsolaton keresztul, es nem keves packet/s -el [hirtelen nincs statisztikam, mikor ebbe belefutottunk, olyan 3-4k aktiv kapcsolat lehetett]

a system olyan 60-70%on jart, gondolom nem tudta eleg gyorsan lekezelni a csomagokat

Itt egy Intel DP35DP alaplap (P35+ICH9R), C2D 2,2Ghz, 2GB RAM, 4x1TB Hitachi Ultrastar HDD RAID5-ben (mdadm) a konfig.
Ez lokálisan, a RAID tömbön levő fájlrendszerről 125-130 MB/s-sel olvas a memóriába (dd if=/mnt/akarmi/akarmi.dat of=/dev/null), tehát elvileg a gigabites lan sávszélességét kitölti.
A gigabites lan másik végén, egy MBP-vel, Samba-n keresztül, tényleges fájlt olyan 65-70 MB/sec-kel tudok másolni. (IPv4, 1500 MTU-val, csak ez az 1 kliens kapcsolódott)
FTP-vel gyorsabb valamivel.
Szerintem ez nagyjából ki is tölti a gigabites sávszélességet, mert ugye elég sok overhead van.
Proci használat valami néhány százalék.

Nah hát én a minimális gépet kerestem ilyen C2D-kat nem szeretnék olvasni :)) A lényeg persze, hogy nem a NATon van, hisz az minimális egy otthoni internetnél. 1Gb/s arra lenne, hogy a sata vinyók samba használatával hálózati meghajtóként (esetleg ftp kapcsolattal) helyi hálón legyenek megtekerve:) Persze, jóféle INTEL chipes hálókártyával ellátva minden gép.

jó volna, ha az emberek rájönnének már, hogy ha 5000MB/sec -et tud az FSB-jük, abból nem fognak 3 db 10gbit interfészt kiszolgálni, ha 60MB/sec-et tud a SATA diszkük streamelve, abból 2 db nem lesz elég gigabit kiszolgálásra 50 szálon, ha 15000 Ft 1 db 500GB diszk, akkor 24TB storage ára nem 48x15000 Ft... de végül is legalább így van miből megélnem

Namost azért álljon meg a gyalogmenet. Ezek a busz szélesség*órajel számolással kijött értékek a gyakorlatban soha nem használhatóak ki. Nekem az a tapasztalatom, hogy a 3/4-es ökölszabályt érdemes alkalmazni SCSI-nál és PCI-nál is. Nagyjából a SATA-ra is működik, SATA-300-as vinyók cache-ből 220MB/s körül szoktak kijönni.
Tehát 33.3MHz*4byte*3/4 = 100MB/s nagyjából ennyit lehet reálisan kinyerni egy 32/33-as PCI buszból. Ez barátok között is csak 800mbit/s és akkor még csak egy irányról beszélünk. Full duplexhez a 32bit/66MHz a várható 1600mbit-jével még mindig kevés lesz (de most őszintén otthon ez ki a fenét zavar?)
Ráadásul elég nagy a szórás a kártyák minősége között. Az átlag nagyjából a 3/4-edet tudja, de találkoztam már Intel e1000-essel, ami 80%-át ki tudta tölteni a PCI32-es busz szélességének, ugyanakkor Marvell kártyával is, ami csak kb 55%-át (és közben rommá terhelte a processzort).
---
Sok gyerekkel ellentétben én sose akartam tűzoltó lenni. Lettem helyette informatikus. Nem találjátok ki, hogy mit csinálok nap mint nap...

Ez http://hup.hu/node/53346#comment-533772 a konfig nálam is e célt szolgálja.

Nálam 5 kliens van, ebből az egyik egy PS3, ami pár formátumot nem eszik (.mkv, egy-két fajta .avi, stb.stb.), emiatt kell néha on-the-fly transcode-olni - HD film esetén ez kér valamennyi procit.
Fut a háttérben pár bittornado kliens, meg néha-néha wget.

A fájlműveletek elég gyorsak, úgy általában gyorsabb, mint bármelyik itthoni gép saját merevlemeze.

Úgy általánosságban, ez a konfig olyan 30-40%-ban van kihasználva, ha az összes kliens mondjuk HD-tartalmat néz, és a mediatomb is transcode-ol a PS3-nak.

Ebből talán tudsz viszonyítani.
(Egyébként a kérdés, hogy mennyit szánsz rá?)

Integrált. (De Intel az is.)

Új gépet akarsz venni, vagy használtad?
Lehetőség szerint P35+ICH9R chipsetes lapot vegyél. Elég behatároltak a lehetőségek, kevés olyan van, ami olcsó, olyan, amihez nem kell külön hálókárya (mert valami normális van ráintegrálva, nem valami f*s Realtek), még kevesebb.
Ha a lap megvan, nagyjából be is vannak határolva a lehetőségek, a fenti konfignál rosszabbat ilyen alaplapra nem igazán lehet összeállítani már.

Szvsz. egy C2D jóval kevesebbet fogyaszt, mint mondjuk egy P4.
Egyébként szerintem maradhatsz az egy magnál, nem hiszem, hogy ilyen felhasználásra jelentős a 2 mag, bár hátrány biztos nem származik belőle.

Ha a fogyasztás nagyon fontos, akkor vegyél ReadyNAS-t, QNap-t, vagy valami ilyen box-ot, igaz, jóval drágábbak, meg aki 30MB/s-s kipréseb belőle, az már örül nagyon. :)
Viszont pl. egy ReadyNAS vinyókkal együtt fogyaszt vagy 50Wattot összesen.

a pci busz segessege nem eleg ahhoz hogy akar egy 1G-s halokartyat kihajtsal vele. PCI buszos 1G-s halokartya arra jo, hogy a masik felevel ossze tudjal "futyulni", de arra nem, hogy az altala nyujtott sebesseget kihasznald.

Vegyel celszerszamot.

Tudod, cipot a cipoboltbol, routert a routerboltbol.

asd

Itt meg egy másik elmélkedés a szükséges hardverekről.
------
Λ4Иł)4