Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)

mhi

  • ****
  • 340
    • Zobrazit profil
Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #30 kdy: 27. 02. 2021, 16:03:01 »
Nejsem si jist, zda nejsem pomerne hodne mimo a nebude tam nejaky problem o kterem nevim (FLP, atd.), ale neslo by proti sobe hodit celkem 4 PHY tohoto typu https://www.microchip.com/wwwproducts/en/LAN8700 ? V CN se delaji desticky kde je RJ45+mag+phy+osc+pinheader. Jeden par by slouzil jako 2-port "HUB", dalsi dva pary by byly pasivne na odposlech jednoho a druheho smeru.


Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #31 kdy: 28. 02. 2021, 01:51:24 »
Nejsem si jist, zda nejsem pomerne hodne mimo a nebude tam nejaky problem o kterem nevim (FLP, atd.), ale neslo by proti sobe hodit celkem 4 PHY tohoto typu https://www.microchip.com/wwwproducts/en/LAN8700 ? V CN se delaji desticky kde je RJ45+mag+phy+osc+pinheader. Jeden par by slouzil jako 2-port "HUB", dalsi dva pary by byly pasivne na odposlech jednoho a druheho smeru.

Našel jsem povícero zmínek, že dva kusy MII PHY lze zapojit "zády k sobě" prokřížením RX/TX směrů MII sběrnice a vytvořit tak repeater. Nestudoval jsem to do hloubky - čistě selským rozumem bych řekl, že bohužel navrch nejspíš bude potřeba nějaké MCUčko, které "postranním kanálem" zvaným MDIO při startu pokonfiguruje jednotlivé PHY čipy, aby provedly "link up". Množina payloadových signálů MII je plně duplexní a neumožňuje sběrnicové zapojení, pouze point-to-point. Výjimkou je postranní sběrnička MDIO, určená pro management (přístup do konfiguračních registrů PHY) - tato je multidropová, jedním masterem lze mluvit k více slavům, slavové mají každý svou "adresu".

Zdá se, že payloadové signály MII jsou na úrovních TTL a nevšiml jsem si nějakých požadavků na terminaci apod. Takže nevidím velký problém, pokud by se navíc každý směr ještě rozbočil do dvou "cílových PHY" (= odbočit si duplexní odposlech). Tzn. píšete to myslím správně.

mhi

  • ****
  • 340
    • Zobrazit profil
Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #32 kdy: 28. 02. 2021, 13:40:33 »
Ano, pokud PHY nenabehne automaticky, MDIO je potreba. Problem vidim spis v tech FLP nebo necem dalsim co mi je skryto.

Kazdopadne mne napadla jeste jedna bastlirska cesta, nektere uplne lowcost switch obvody tusim od Realteku maji moznost port-mirroringu. Tyto switche obvykle funguji  tak ze tam je ten switchovaci IC a k tomu nejaka I2C/SPI konfiguracni EEPROM, kterou by mozna stacilo preprogramovat. Ty obvody umi fungovat i jako slave, kdy nejaky MCU pres stejnou sbernici cte jejich registry, kde je opet spousta zajimavych veci a samozrejme to vsechno co se konfiguruje z te EEPROMky. Takhle funguji lowcost manageovatelne switche (typicky se seriovym portem, switch + 8051ka :) )

Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #33 kdy: 28. 02. 2021, 14:01:07 »
Ano, pokud PHY nenabehne automaticky, MDIO je potreba. Problem vidim spis v tech FLP nebo necem dalsim co mi je skryto.

Kazdopadne mne napadla jeste jedna bastlirska cesta, nektere uplne lowcost switch obvody tusim od Realteku maji moznost port-mirroringu. Tyto switche obvykle funguji  tak ze tam je ten switchovaci IC a k tomu nejaka I2C/SPI konfiguracni EEPROM, kterou by mozna stacilo preprogramovat. Ty obvody umi fungovat i jako slave, kdy nejaky MCU pres stejnou sbernici cte jejich registry, kde je opet spousta zajimavych veci a samozrejme to vsechno co se konfiguruje z te EEPROMky. Takhle funguji lowcost manageovatelne switche (typicky se seriovym portem, switch + 8051ka :) )

Zkuste prozkoumat tohle, jsou tam i obrazky s HW upravami

https://github.com/libc0607/Realtek_switch_hacking

RDa

  • *****
  • 1 556
    • Zobrazit profil
    • E-mail
Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #34 kdy: 28. 02. 2021, 18:36:09 »
Zdá se, že payloadové signály MII jsou na úrovních TTL a nevšiml jsem si nějakých požadavků na terminaci apod. Takže nevidím velký problém, pokud by se navíc každý směr ještě rozbočil do dvou "cílových PHY" (= odbočit si duplexní odposlech). Tzn. píšete to myslím správně.

Bohuzel u MII je clock opacnym smerem, takze to lehce rozdvojit nepujde (nemate garanci ze to bude fazove stejny, i kdyz pojedou PHY ze stejneho centralniho oscilatoru), takze minimalne to bude chtit jeste CPLD mezi ty 4 phy/rj45, aby se odbocilo spravne co je potreba.

Nastesti to jde zapojit 1:1 jako repeater (pokud se to zkonfiguruje pres ono mdio), a ty TTL MII signaly uprostred si muze tazatel napichnout na logicky analyzator, uplne by na to stacilo to co pouzivam ja (FX3 devkit, 16b@100MHz).


Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #35 kdy: 28. 02. 2021, 21:15:40 »
No vida - díky @RDa máme kompletní obrázek :-)
To by mě zajímalo, jestli by se totéž dalo provést na některé gigabitové variantě MII, resp. nakolik by to bylo složité. Třeba SGMII jede po symetrických párech a je třeba dodržet impedanční přizpůsobení = hůř se to odbočuje. Kdo je vlastně zodpovědný za auto-negotiation? PHY, pokud se nemýlím? Takže autoneg se netýká MII (resp. dá se přes MDIO vypnout/zapnout a zjistit výsledek).

No když se tu zábava tak hezky rozjela, dám schválně do placu ten svůj primitvní analogový bastl-odposlech na stovku. Spíš pro pobavení. Viz přílohy. Jak už jsem psal, chybí tomu signálové trafo do odposlechových výstupů, a navíc koukám (vzpomínám si) že mi tam kus cesty jednoho páru nevycházel, tak jsem to nastavil kabelem (SATA twinaxem) ;-) Taky nějaké napájecí větévky šly drátem vzduchem... prostě bastl na dvouvrstvé desce. Ale svou roli to splnilo, jako technology demonstrator to funguje. Omlouvám se za nevzhledné schéma, nebylo to určeno k publikaci. Dodal bych i zdrojáky (Eagle) ale vážně je to zralé na kompletní předělávku.

RDa

  • *****
  • 1 556
    • Zobrazit profil
    • E-mail
Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #36 kdy: 01. 03. 2021, 00:54:29 »
No vida - díky @RDa máme kompletní obrázek :-)
To by mě zajímalo, jestli by se totéž dalo provést na některé gigabitové variantě MII, resp. nakolik by to bylo složité. Třeba SGMII jede po symetrických párech a je třeba dodržet impedanční přizpůsobení = hůř se to odbočuje.

GMII/RGMII jsou 125MHz jako SDR (x8) nebo DDR (x4,250MT/s) rozhrani, takze to jde udelat rychlejsim paralelnim analyzatorem.

SGMII (1.25Gb/s) - tohle je uz podobny problemu k tapnuti PCIe linky - v podstate existuji 2 moznosti - dat 1:2 fanout buffer do cesty (pokud ta vec toleruje zpozdeni), nebo pouzit high-speed diferencialni buffer s velkou vstupni impedanci, treba i jeste pres dalsi rezistory, aby na diff paru nebyl znatelnej stub - viz napr. Agilent E2947A.

Elektronika, pokud ji nedate zbytecne prisna omezeni (hlavne to byva cena, pocet vrstev, specialni desky - chlazeni - filtry), vlastne nema hranice :)

mhi

  • ****
  • 340
    • Zobrazit profil
Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #37 kdy: 02. 03. 2021, 12:52:59 »
Zkuste prozkoumat tohle, jsou tam i obrazky s HW upravami
https://github.com/libc0607/Realtek_switch_hacking

Cinstinou nevladnu, nicmene jak koukam na ty dumpy firmware mgmt switchu mne napadlo, netusite nekdo u realteku jak to je uvnitr s temi lowcost switch IC ? Tipnul bych si, ze tam bude integrovany nejaky microcontroller, ze to nemaji cele pomoci automatu.

Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #38 kdy: 02. 03. 2021, 15:43:28 »
Zkuste prozkoumat tohle, jsou tam i obrazky s HW upravami
https://github.com/libc0607/Realtek_switch_hacking

Cinstinou nevladnu, nicmene jak koukam na ty dumpy firmware mgmt switchu mne napadlo, netusite nekdo u realteku jak to je uvnitr s temi lowcost switch IC ? Tipnul bych si, ze tam bude integrovany nejaky microcontroller, ze to nemaji cele pomoci automatu.

Co si matně vybavuju, a teď jsem se namátkou mrknul (viz odkazy níže), tak ty low-endové matice žádné MCU jádro neobsahují. Umí běhat buď autonomně (hloupý switch), nebo spřažené s externím CPU/MCU (managed).

Odhadem i v režimu "hloupý switch" to chce aspoň maličkou sériovou konfigurační EEPROM.

Management by teoreticky snad šel zařídit i bez vlastního L2/L3 rozhraní (pouze přes MDIO nebo I2C) ale reálně to tak nebývá, reálně management CPU mívá interní propoj do switchovací matice pomocí MII - kde switch se tváří jako MII PHY, zároveň ale přes MDIO budou patrně vidět všechna jednotlivá PHY per port pokud se nepletu. Potažmo tento interní propoj může být VLAN-tagovaný tzn. sloužit jako trunk pro routování mezi VLANami apod. V jednom datasheetu jsem zahlédl, že switchovací matice umí pomocí custom tagu předat CPU informaci, skrz který vnější L2 port paket přišel...
Jinak MII rozhraní na switchovací matici (čipu) bývá možno použít také "v roli MAC" a připojit na něj externí PHY (transceiver) = implementovat další externí port, třeba optický uplink apod.

http://realtek.info/pdf/rtl8306sd%28m%29_datasheet_1.1.pdf

http://realtek.info/pdf/RTL8318P_1-1.pdf

https://www.marvell.com/content/dam/marvell/en/public-collateral/switching/marvell-switching-link-street-88e618x-product-brief-2005-04.pdf

mhi

  • ****
  • 340
    • Zobrazit profil
Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #39 kdy: 02. 03. 2021, 18:45:45 »
Nekde jsem cetl, ze v nekterych hloupych switch IC od Realteku uvnitr nejaky procesor je. Nejsem si jist zda to byla zpravicka ze Realtek koupil nejakou technologii nebo to byl patent. A je to celkem davno.

A samozrejme to cele muze byt i uplne jinak. Ale predstavte si, ze mate switch s nejakym primitivnim procesorem, ktery muze hrabnout do bufferu ... ;-)

Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #40 kdy: 02. 03. 2021, 19:27:45 »
Tak jeste jednou dekuji vsem za podporu (i tu "moralni").
Nicmene neverte tomu, ze switch s mirror funkci opravdu mirroruje vsechna data (uplne vsechna). Dokonce ani ten hloupy ne. Aby paket prosel, musi byt na L2 validni (ve vsech ohledech, nejen ty co cloveka napadlou na prvni pohled, tj delka nebo crc, ale take 802.1q hlavicka napriklad).
Problem je nakonec vyresen. Nakonec se ukazalo, ze problem byl ciste v SW, kde kombinaci 2 paketu vznikl prasopes. Takze v tomto pripade honba za prizrakem.
Jinak perlicka ke switchum, kterou vetsina lidi nezna. Switch je uvnitr celkem tupe zarizeni. Prijme paket, koukne do smerovaci tabulky a posle kam patri. Jenze se se zkomplikuje kdyz prijdou na rady VLANy. Predstavte si, ze mam 16 port managovatelny switch, ktery je VLAN rozdeleny na 1/2 jako 8+8 portu. Nechceme zadne komplikace s tagovanim paketu (802.1q) ani jine. Proste 1 fyzicky swich rozeleny na 2 uplne oddelene site. A mezi ty dve site vlozim router. Bude to fungovat? No prekvapive nebude. Protoze ty 2 VLAN jsou sice oddelene, ale switch ma jedinou smerovaci tabulku. A pri preposlani routerem se MAC adresa odesilatele nemusi menit. Takze switch vidi jednu MAC na 2 portech, a nevite kam paket nasmeruje. Muzete zkusit. Na tomto prikladu nepohori uplne vsechny switche, ale jen naprosta vetsina. S vyjimkou tech co do smerovaci tabulky pridavaji k MAC i informaci o VLAN (rarita ale existuji).

f-k-r

Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #41 kdy: 03. 03. 2021, 20:21:42 »
Tinak perlicka ke switchum, kterou vetsina lidi nezna. Switch je uvnitr celkem tupe zarizeni. Prijme paket, koukne do smerovaci tabulky a posle kam patri. Jenze se se zkomplikuje kdyz prijdou na rady VLANy. Predstavte si, ze mam 16 port managovatelny switch, ktery je VLAN rozdeleny na 1/2 jako 8+8 portu. Nechceme zadne komplikace s tagovanim paketu (802.1q) ani jine. Proste 1 fyzicky swich rozeleny na 2 uplne oddelene site. A mezi ty dve site vlozim router. Bude to fungovat? No prekvapive nebude. Protoze ty 2 VLAN jsou sice oddelene, ale switch ma jedinou smerovaci tabulku. A pri preposlani routerem se MAC adresa odesilatele nemusi menit. Takze switch vidi jednu MAC na 2 portech, a nevite kam paket nasmeruje. Muzete zkusit. Na tomto prikladu nepohori uplne vsechny switche, ale jen naprosta vetsina. S vyjimkou tech co do smerovaci tabulky pridavaji k MAC i informaci o VLAN (rarita ale existuji).

Pravděpododobně jsem něco nepochopil, na takový problém jsem nikdy nenarazil - dělám se zařízeními Cisco.
Switch je přece L2 zařízení, pracuje s rámci, ne s pakety, a klíčová je u něj tabulka MAC adres (přiřazuje MAC adresu k portu a ten je zase v nějaké VLAN); switch směrovací tabulku vůbec nemusí mít.
Pokud ve switchi vytvoříte více VLAN a chcete je "propojit", je třeba to udělat na L3, např. z každé VLAN vytáhnout jeden port a připojit jej do routeru, ten tudíž musí mít tolik portů, kolik máte VLAN, plus další do vnějšího světa. Není to elegantní řešení, ale funguje úplně normálně; lepší je router-on-a-stick, kdy se ze switche vytáhne trunk (v něm se rámce samozřejmě tagují), stačí tedy jen jeden port pro všechny VLAN.
Nebo jste myslil přístup k samotnému switchi? Cisco to řeší tak, že ke každé VLAN vytvoří fiktivní rozhraní, na kterém se nastaví IP adresa podle potřeby. Funguje to.

Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #42 kdy: 03. 03. 2021, 20:54:22 »
Per-VLAN FDB jako opatření proti duplicitním MAC adresám ve více VLANách je finta možná nepříliš známá, dokud se nedostanete do situace, kdy je přesně tohle Váš problém :-) Nedávno jsme o tom tady na rootu akademicky podebatovali... a popravdě nevím, jak se ke shodným MAC adresám na dvou různých IP/Eth rozhraních bude chovat ARP v nějakém Linuxu - nechci a priori tvrdit, že zrovna pro ARP a jeho tabulku to představuje problém, dost možná nikoli. BTW doporučuji terminologicky rozlišovat switch na druhé vrstvě a jeho CAM=FDB tabulku vs. router na třetí vrstvě a jeho ARP tabulku pro překlad IP adres na adresy druhé vrstvy. Heh dovedu si představit, že v "L3 switchi" (router on a stick trčící z VLANového switche) bude problém nikoli v ARPu, ale spíše ve druhé vrstvě, pokud CAM=FDB tabulka není per VLAN, takže shodné MAC adresy ve dvou různých VLANách ve FDB kolidují, čímž si navzájem podrážejí nohy... což lze pod dojmem chování IP a vyšších vrstev na první pohled dezinterpretovat jako zádrhel v ARPu :-)

Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #43 kdy: 03. 03. 2021, 22:36:12 »
Pravděpododobně jsem něco nepochopil, na takový problém jsem nikdy nenarazil - dělám se zařízeními Cisco.
Switch je přece L2 zařízení, pracuje s rámci, ne s pakety, a klíčová je u něj tabulka MAC adres (přiřazuje MAC adresu k portu a ten je zase v nějaké VLAN); ....
Jenze ten problem je prave na L2 a Cisco switchu se tyka taky. Zkuste si to precist znovu. Problem je prave ve tom, ze priradi MAC adresu k portu. Jenze ne 2 ruznych portech mu chodi pakety se stejnou zdrojovou MAC. Jednou primo, podruhe pres L3 router.
Mimochodem stejny problem se da udelat i bez L3 routeru. Staci 2 switche. Prvni dostane tagovane pakety 2 siti, rozdeli do 2 kabelu a ty se zapoji bez tagovani do jednoho switche a 2 ruznych VLAN. To je stejny problem jen tezsi na predstavivost. Takto zapojene switch vypadaji nesmyslne, ale je dost zarizeni, ktere se tvari ze maji uvnitr 2 rozhrani pro 2 site, ale uvnitr nepriznany switch, o kterem clovek bezne nevi.
« Poslední změna: 03. 03. 2021, 22:41:53 od Jiri Dobry »

f-k-r

Re:Sháním 100Mbit/s ethernet HUB (opravdu HUB, ne switch)
« Odpověď #44 kdy: 05. 03. 2021, 10:29:23 »
Jenze ten problem je prave na L2 a Cisco switchu se tyka taky. Zkuste si to precist znovu. Problem je prave ve tom, ze priradi MAC adresu k portu. Jenze ne 2 ruznych portech mu chodi pakety se stejnou zdrojovou MAC. Jednou primo, podruhe pres L3 router.

Pořád se v tom ztrácím :-(. Pokud jde paket přes router, jsme na L3, a tento paket (správněji rámec) vysílá příslušné síťové rozhraní routeru, L2 adresa odesilatele v daném rámci bude tudíž adresou onoho rozhraní. Ve Vašem předešlém příspěvku jste ale napsal "A pri preposlani routerem se MAC adresa odesilatele nemusi menit."  - proč by tak tomu mělo být? Ledaže by se ve směrovačí zapnulo něco jako proxy ARP, použila nedomyšlená konfigurace apod.
Ještě technická poznámka, switch nevidí tutéž MAC adresu současně na více rozhraních, ale vždy jen na jednom, na tom, odkud se mu ozvala naposledy; viz všelijaké útoky proti switchům (bez ochrany).

Mimochodem stejny problem se da udelat i bez L3 routeru. Staci 2 switche. Prvni dostane tagovane pakety 2 siti, rozdeli do 2 kabelu a ty se zapoji bez tagovani do jednoho switche a 2 ruznych VLAN. To je stejny problem jen tezsi na predstavivost.

Zapojení si představit dokážu snadno, ale problém pořád nevidím ;-). Zkusím si to odexperimentovat.