Layer2-Address Translation and VLAN-manipulation (System on a Chip with 2xGMII?)

Permalänk
Medlem

Layer2-Address Translation and VLAN-manipulation (System on a Chip with 2xGMII?)

Jag vet att chansen att få hjälp här är något begränsad, men ack den som ger sig. Kanske är det någon som kan rikta en åt rätt håll iaf. Tack i förväg!

Citat:

I was wondering if there exists any small devices (preferably the size of a case holding a System-on-a-Chip, two RJ-45-contacts and a PSU/Battery) that do Layer2-Address Translation and VLAN-manipulation.

E.g:
Net A <--- (Device: Strip VLAN-info, change L2-Source Address and recalculate CRC) <--- Net B
Net A ---> (Device: Add original VLAN-info, change L2-Destination Address and recalculate CRC) ---> Net B

Obviously this means that the device needs to remember the original MAC/VLAN-info to reconstruct frames heading back to Net B. It also means that the device will have to either (depending on setup/preference):
A) Forward all Net A L2-broadcasts to all possible VLANs (sending out 4096 L2-broadcasts on Net B).
B) Drop all Net A L2-broadcasts until the device has learnt MAC/VLAN-info on Net B-side to forward the broadcasts to.

All this should preferably be done at Full-Duplex Gbit-speeds.

If no such device exists, I am temped to create one. Unfortunately I know more or less nothing of System-on-a-Chip-solutions. I assume I'd need some guidance in this matter, where could I turn?

Also, have I forgotten to take anything into account? As in why this wouldn’t work.

Thanks in advance!
Tanel

Visa signatur

qw q b

Permalänk
Medlem

Får man fråga vad du ska ha den där funktionen till?

Permalänk
Medlem

Jag har funderat lite och jag tror inte ens det är möjligt att bygga en sådan låda!

Säg att du ska skicka ett paket från ip a/mac a/vlan a till ip b/mac b/otaggat, din "mystery box" kommer då behöva snappa upp ramen, plocka bort vlan id:et, ändra src macen till mac c och sedan skicka det vidare till ip b/mac b/otaggat. Hur blir det när paketet skall tillbaka? För att första sträckan ska funka krävs att burken måste jobba helt transparent på lager 2!

Nu när ip b/mac b skall skicka tillbaka paketet till ip a så kommer den att använda ip a/mac c, det är här det kommer gå åt skogen, nu helt plötsligt så får din "mystery box" INTE jobba helt transparent utan den måste ha mac c samt låtsas att den har ip a för att din ip<->mac mappning skall vara korrekt med ip a/mac c.

Hoppas att du förstår vad jag menar, det är ju inte det lättaste att förklara.

mvh
milkacid

Permalänk
Medlem

Låter för mig som om du skulle vilja ha en switch med stöd för VLAN.
Switchar arbetar (iaf vanliga) enbart på lager 2 och är "helt" transparenta för datorerna då deras enda uppgift är att skyffla trafik hit och dit.
Det jag tror du vill åt är en switch som har VLAN och sen en trunkport som gör så att du kan skicka vidare informationen utan VLAN inkapsling eller med.

Det ska nog gå bara du skaffar en lite mer påkostad switch, typ billigare corporate varianter från netgear, linksys eller även d-link borde fungera.

Visa signatur

"Riktig fakta? kolla ut genom fönstret på snön och all jävlighet där har du riktig fakta, eller de som går där i kylan, idioter, det är riktig fakta" -- Ett fyllo på bussen, ganska trevlig ändå :)

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av milkacid
Jag har funderat lite och jag tror inte ens det är möjligt att bygga en sådan låda!

Säg att du ska skicka ett paket från ip a/mac a/vlan a till ip b/mac b/otaggat, din "mystery box" kommer då behöva snappa upp ramen, plocka bort vlan id:et, ändra src macen till mac c och sedan skicka det vidare till ip b/mac b/otaggat. Hur blir det när paketet skall tillbaka? För att första sträckan ska funka krävs att burken måste jobba helt transparent på lager 2!

Nu när ip b/mac b skall skicka tillbaka paketet till ip a så kommer den att använda ip a/mac c, det är här det kommer gå åt skogen, nu helt plötsligt så får din "mystery box" INTE jobba helt transparent utan den måste ha mac c samt låtsas att den har ip a för att din ip<->mac mappning skall vara korrekt med ip a/mac c.

Hoppas att du förstår vad jag menar, det är ju inte det lättaste att förklara.

mvh
milkacid

Tack för ditt snabba svar! Jag är inte helt med på varför trafiken tillbaka inte skulle kunna ske transparent på L2. MAC C kommer ju bara förekomma i EthernetII-headern och inte längre upp bland lagren. Alltså måste boxen bara ändra tillbaka DA (samt VLAN/CRC). Eller har jag tänkt fel? Varför måste boxen längre upp bland lagren?

Citat:

Ursprungligen inskrivet av shenjin
Låter för mig som om du skulle vilja ha en switch med stöd för VLAN.
Switchar arbetar (iaf vanliga) enbart på lager 2 och är "helt" transparenta för datorerna då deras enda uppgift är att skyffla trafik hit och dit.
Det jag tror du vill åt är en switch som har VLAN och sen en trunkport som gör så att du kan skicka vidare informationen utan VLAN inkapsling eller med.

Det ska nog gå bara du skaffar en lite mer påkostad switch, typ billigare corporate varianter från netgear, linksys eller även d-link borde fungera.

Det vore jättebra om det var så simpelt, men det hela handlar i grund och botten om hur Junipers ScreenOS hanterar virtuella subinterface. Eftersom ScreenOS saknar stöd för otaggade subinterface så måste man strippa taggen innan man skickar vidare framen. Inte bara det, samtliga subinterface får samma MAC-adress (som tas från fysiska interfacet), därmed måste man även ändra L2 Source Adress för att switchen inte ska bli galen (samma MAC kan ju omöjligen existera på flera fysiska portat i samma VLAN).

I vanliga fall uppnås denna segrering via VSYS-licenser men de finns bara tillgängliga till de riktigt stora grunkorna och kostar mucho mucho.

Visa signatur

qw q b

Permalänk
Medlem
Citat:

Tack för ditt snabba svar! Jag är inte helt med på varför trafiken tillbaka inte skulle kunna ske transparent på L2. MAC C kommer ju bara förekomma i EthernetII-headern och inte längre upp bland lagren. Alltså måste boxen bara ändra tillbaka DA (samt VLAN/CRC). Eller har jag tänkt fel? Varför måste boxen längre upp bland lagren?

Anledningen till att du måste ha mac a och inte mac c är för att datan skickas ju till rätt burk på lanet mha just mac-adressen, så har du kopplingen ip a/mac c så kommer ramen aldrig att skickas till datorn som egentligen har konfigurationen ip a/mac a. Därför kan du inte ha transparans.

mvh
milkacid

Permalänk
Medlem

För att kunna använda funktionen för att kunna översätta och samtidigt komma ihåg tidigare mappningar så krävs det flera parametrar (IP, port osv), det är vad jag tror milk försöker säga (Om exempelvis flera hostar på nät B försöker att prata med en host på nät A). Detta är nog baserat på din "Nät A - Nät B" förklaring.

Det känns som att miljön är mera avancerad än så. Det vore därför förmodligen bättre med en beskrivning hur miljön ser ut. (Hur din Juniper är kopplad till övriga switchar/nät osv).

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av milkacid
Anledningen till att du måste ha mac a och inte mac c är för att datan skickas ju till rätt burk på lanet mha just mac-adressen, så har du kopplingen ip a/mac c så kommer ramen aldrig att skickas till datorn som egentligen har konfigurationen ip a/mac a. Därför kan du inte ha transparans.

mvh
milkacid

Tyvärr förstår jag fortfarande inte varför man inte kan ha transparens. För att få like klarhet i det hela så kan vi väl ta ett exempel:
1) Dator A/IP A vill skicka data till Dator B/IP B.

2) Dator A/IP A räknar ut att Dator B/IP B finns på det lokala subnätet.

3) Dator A/IP A/MAC A skickar ut en IP B ARP-request på media.

4) Switch A som tar emot framen på Port A ser att framen från Dator A/MAC A är till MAC FF-FF-FF-FF-FF-FF (d.v.s. L2-broadcast).

5) Switch A lär sig att MAC A finns på Port A och skickar vidare framen på samtliga portar (förutom Port A).

6) Mystery Box tar emot framen på media, registrerar MAC A/VLAN A till Nät A, strippar VLAN-taggen, ändrar Source från MAC A till MAC C och skickar vidare till MAC FF-FF-FF-FF-FF-FF på Nät B.

7) Switch B som tar emot framen på Port Y ser att framen från Dator A/MAC C är till MAC FF-FF-FF-FF-FF-FF.

8) Switch B lär sig att MAC C finns på Port Y och skickar vidare framen på samtliga portar (förutom Port Y).

9) Dator B/IP B/MAC B ser "Aha, det är ju jag som har IP B" och skickar ut en returframe till Dator A/MAC C på media.

10) Switch B som tar emot framen på Port B ser att framen från Dator B/MAC B är till MAC C. Smidigt, den finns ju på Port Y.

11) Mystery Box tar emot framen på media, ser att "MAC C har jag mappat åt MAC A på VLAN A", lägger till VLAN-tag A, ändrar Destination från MAC C till MAC A, och skickar vidare till Nät A.

11) Switch A som tar emot framen på Port X ser att framen från Dator B/MAC B är till MAC A. Smidigt, den finns ju på Port A.

12) Dator A/IP A/MAC A ser "Aha, det är ju jag som har MAC A/IP A och nu vet jag att Dator B har MAC B"

Vad har jag missat?

Citat:

Ursprungligen inskrivet av zlobb
För att kunna använda funktionen för att kunna översätta och samtidigt komma ihåg tidigare mappningar så krävs det flera parametrar (IP, port osv), det är vad jag tror milk försöker säga (Om exempelvis flera hostar på nät B försöker att prata med en host på nät A). Detta är nog baserat på din "Nät A - Nät B" förklaring.

Det känns som att miljön är mera avancerad än så. Det vore därför förmodligen bättre med en beskrivning hur miljön ser ut. (Hur din Juniper är kopplad till övriga switchar/nät osv).

Varför behöver man blanda in L3/L4-parametrar när det är L2-translations som görs? Att det är multipla noder på Nät B som ska nå Nät A gör ingen skillnad för MysteryBoxen eftersom MAC-adresserna (i teorin iaf) är unika för varje nod, detta i kombination med VLAN-tagging gör att du fortfarande kan ha identiska MAC-addresser i Nät B komma åt Nät A sålänge de sitter på olika VLAN.

Jag vill inte på något sätt vara otrevlig men jag förstår inte hur miljöns struktur i sin helhet spelar någon roll när det är enkel L2-trafik vi pratar om. Miljön är för invecklad för att ett diagram ska vara tillräckligt representativt. Juniper-enheterna/klustret i sig är konfigurerade med X antar virtualrouters/VLAN och Visio-kartan visar inget när det gäller virtualrouters/VLAN (färgkoderna är bara olika WAN-zoner).

En lösning som "MysteryBox" är tyvärr den enda lösningen som finns tillgänglig på mitt problem. :/

Visa signatur

qw q b

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av FLAGEL
Tyvärr förstår jag fortfarande inte varför man inte kan ha transparens. För att få like klarhet i det hela så kan vi väl ta ett exempel:
1) Dator A/IP A vill skicka data till Dator B/IP B.

2) Dator A/IP A räknar ut att Dator B/IP B finns på det lokala subnätet.

3) Dator A/IP A/MAC A skickar ut en IP B ARP-request på media.

4) Switch A som tar emot framen på Port A ser att framen från Dator A/MAC A är till MAC FF-FF-FF-FF-FF-FF (d.v.s. L2-broadcast).

5) Switch A lär sig att MAC A finns på Port A och skickar vidare framen på samtliga portar (förutom Port A).

6) Mystery Box tar emot framen på media, registrerar MAC A/VLAN A till Nät A, strippar VLAN-taggen, ändrar Source från MAC A till MAC C och skickar vidare till MAC FF-FF-FF-FF-FF-FF på Nät B.

7) Switch B som tar emot framen på Port Y ser att framen från Dator A/MAC C är till MAC FF-FF-FF-FF-FF-FF.

8) Switch B lär sig att MAC C finns på Port Y och skickar vidare framen på samtliga portar (förutom Port Y).

9) Dator B/IP B/MAC B ser "Aha, det är ju jag som har IP B" och skickar ut en returframe till Dator A/MAC C på media.

10) Switch B som tar emot framen på Port B ser att framen från Dator B/MAC B är till MAC C. Smidigt, den finns ju på Port Y.

11) Mystery Box tar emot framen på media, ser att "MAC C har jag mappat åt MAC A på VLAN A", lägger till VLAN-tag A, ändrar Destination från MAC C till MAC A, och skickar vidare till Nät A.

11) Switch A som tar emot framen på Port X ser att framen från Dator B/MAC B är till MAC A. Smidigt, den finns ju på Port A.

12) Dator A/IP A/MAC A ser "Aha, det är ju jag som har MAC A/IP A och nu vet jag att Dator B har MAC B"

Vad har jag missat?

Varför behöver man blanda in L3/L4-parametrar när det är L2-translations som görs? Att det är multipla noder på Nät B som ska nå Nät A gör ingen skillnad för MysteryBoxen eftersom MAC-adresserna (i teorin iaf) är unika för varje nod, detta i kombination med VLAN-tagging gör att du fortfarande kan ha identiska MAC-addresser i Nät B komma åt Nät A sålänge de sitter på olika VLAN.

Jag vill inte på något sätt vara otrevlig men jag förstår inte hur miljöns struktur i sin helhet spelar någon roll när det är enkel L2-trafik vi pratar om. Miljön är för invecklad för att ett diagram ska vara tillräckligt representativt. Juniper-enheterna/klustret i sig är konfigurerade med X antar virtualrouters/VLAN och Visio-kartan visar inget när det gäller virtualrouters/VLAN (färgkoderna är bara olika WAN-zoner).

http://amy.qwqb.com/net/TeleCity-WAN-2009-02-16Rev1-Blank-Thu...

En lösning som "MysteryBox" är tyvärr den enda lösningen som finns tillgänglig på mitt problem. :/

Du funkar bra när det är en på varje sida. Ifall jag inte tänker galet så blir det problem om det exempelvis finns en till dator (dator D) på samma segment (vlan) som dator A.

Ifall då "boxen" översätter dator D till mac C också, hur skall den kunna bestämma vart svaret ifrån dator B skall levereras. Till dator A eller D ?

I min tanke förutsätter jag att "boxen" mappar flera till samma mac (C). Det kanske inte var din tanke, det var därför jag ville se en mera översiktlig bild över miljön för att eventuellt förstå lite bättre. Jag förstår fortfarande kanske inte, så jag borde kanske strunta i att skriva.

Nu är det kanske inte så att det blir enklare med en bild men det fanns givetvis en möjlighet. Jag kan inte vet hur miljön ser ut sedan innan och vilka problem/möjligheter som finns.

Jag kanske skulle frågat efter en lite mera detaljerad beskrivning istället, hur det är tänkt att det skall funka och vad det är som går snett. Sen att det blev olyckligt att jag bad om en överskådlig bild får jag väl erkänna att det var korkat. Jag kanske antog lite för mycket när jag skrev svaret i så fall så har jag klantat mig igen.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av zlobb
Du funkar bra när det är en på varje sida. Ifall jag inte tänker galet så blir det problem om det exempelvis finns en till dator (dator D) på samma segment (vlan) som dator A.

Ifall då "boxen" översätter dator D till mac C också, hur skall den kunna bestämma vart svaret ifrån dator B skall levereras. Till dator A eller D ?

I min tanke förutsätter jag att "boxen" mappar flera till samma mac (C). Det kanske inte var din tanke, det var därför jag ville se en mera översiktlig bild över miljön för att eventuellt förstå lite bättre. Jag förstår fortfarande kanske inte, så jag borde kanske strunta i att skriva.

Aha, nu förstår jag varför du/ni menar att det inte skulle fungera. Min tanke var/är att Mystery Box har en hel pool av MAC-addresser som den knyter till varje ID (baserad på MAC och VLAN från Nät A). Därmed skulle Dator D få MAC E, Dator F skulle få MAC G osv.

Alla problem som kan tänkas uppstå är värda att nämnas! Att skapa en sån här enhet skulle ta mycket möda och surt vore det att upptäcka hur inget fungerar som tänkt.

Citat:

Ursprungligen inskrivet av zlobb
Nu är det kanske inte så att det blir enklare med en bild men det fanns givetvis en möjlighet. Jag kan inte vet hur miljön ser ut sedan innan och vilka problem/möjligheter som finns.

Jag kanske skulle frågat efter en lite mera detaljerad beskrivning istället, hur det är tänkt att det skall funka och vad det är som går snett. Sen att det blev olyckligt att jag bad om en överskådlig bild får jag väl erkänna att det var korkat. Jag kanske antog lite för mycket när jag skrev svaret i så fall så har jag klantat mig igen.

Ingen ursäkt behövs, det är lätt att prata förbi varandra när det är mer komplexa saker på tapeten och det är lätt att anta vad den andre menar.

Visa signatur

qw q b

Permalänk
Medlem

Aha, då hänger jag med. För att återgå till original frågan så tror jag inte att det finns någon sådan grunka. Inget jag har hört talas om i alla fall. Finns switchar som kan manipulera vlan i lite olika kombinationer. Fast det är inte direkt billiga. Sedan så hjälper de inte tillräckligt i detta fallet.

Huruvida du kan skapa en egen enhet låter jag vara osagt då jag inte har någon koll på sådant. Alternativt är väl att ändra på "hela" lösningen fast det är väl förmodligen komplicerat och kanske inte en möjlighet överhuvudtaget.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av zlobb
Aha, då hänger jag med. För att återgå till original frågan så tror jag inte att det finns någon sådan grunka. Inget jag har hört talas om i alla fall. Finns switchar som kan manipulera vlan i lite olika kombinationer. Fast det är inte direkt billiga. Sedan så hjälper de inte tillräckligt i detta fallet.

Huruvida du kan skapa en egen enhet låter jag vara osagt då jag inte har någon koll på sådant. Alternativt är väl att ändra på "hela" lösningen fast det är väl förmodligen komplicerat och kanske inte en möjlighet överhuvudtaget.

Jo, jag har letat en hel del utan att hitta, synd. Att ändra på lösningen är i det långa siktet en no-no, blir för klumpigt.

Snarare tänker jag på Gumstix och midspan PoE. Tack för din input iaf!

P.S: Bättre sent svar än aldrig.

Visa signatur

qw q b

Permalänk
Medlem

Okej, synd att du inte har funnit något.

Återkom gärna ifall du hittar något intressant. Eller så kanske du rent utav bygger en egen