Sida 1 av 1

Embedded Ethernet och hubbar/switchar

Postat: 14 november 2005, 12:25:30
av Magnus Pihl
I böcker om embedded ethernet står det om halv och full duplex. Jag vet naturligtvis vad det är, men nog är väl alltid 10Base-T full duplex, eftersom den har separata rx och tx? 10Base2 och -5, kan ju inte bli annat än halv duplex, eftersom det är en koax. kabel som alla hänger i busstopologi.

Full-duplex borde väl i så fall aldrig kunna få kollisioner, eftersom 10Base-T alltid sänder från A till B. Det finns ju aldrig två sändare elektriskt (eller magnetiskt) hopkodpplade på samma tx! Det är ju heller inte busstopoligi, utan stjärntopoligi. Risken för kollisioner på 10Base-2 borde ju vara mycket högre, eftersom alla delar på samma lina!?

Vidare, om det nu kommer in två meddelanden nästan samtidigt till en hub, lagrar den det som kom in lite "försenat" i en FIFO-buffert, eller ignoreras den bara, så att den får göra en omsändning för det paketet? Ett paket kan ju maximalt vara 1500 bytes, så det är ju inte omöjligt att det finns ett litet (16k) FIFO-minne i kontrollerchipet, även i hubbar...

Så i ett 10-Basde-T nätverk borde det inte bli några kollisioner alls, eller?

Tacksam för svar som är annat än gissningar.

Mvh
Magnus

Postat: 14 november 2005, 13:09:18
av PaNiC
10Base-T behöver inte alls alltid vara full duplex. Det är bara switchar som klarar detta. Detta för att hubbar fungerar som grenuttag, och det som kommer in på en port måste ju komma ut på en annan samtidigt, eller hur?
Om du porten det ska komma ut på redan får data från en annan klient, så uppstår en kollision. Redan där skiter det sig utan att man nödvändigtvis kör full duplex.

En switch däremot fungerar ju som så att den bara "kopplar ihop" två portar i taget. Således är det bara två klienter som pratar med varandra samtidigt, och då kan det inte uppstå någon kollision.

Så hubbat är precis samma sak som att köra bussnät, kollisionshärjat och instabilt.

En hub har ingen FIFO, utan om två skickar samtidigt så får man obönhörligen en kollision. Accessmetoden som används i vanligt trådbundet ethernet är CSMA/CD som står för carrier sense multiple access/collision detection. Detta innebär att klienter bara skickar utan att kolla om det är upptaget och upptäcker om en kollision har inträffat. Därefter väntar de en slumpvis vald tid och försöker igen.
Hade man däremot kört CSMA/AD som betyder collision avoidance så lyssnar klienterna innan de skickar och kollisioner undviks.

Hoppas att jag har klargjort en del :). Är förvånad över hur mycket jag kom ihåg från datorkommunikationskursen på gymnasiet.

Postat: 14 november 2005, 13:28:49
av Magnus Pihl
Så är en hub en ren kopplingsbox? Eller kanske med så simpel logik att den hubben or:ar alla rx till tx, i princip?

Men eftersom switchar är så billiga nu för tiden (180kr) , så kanske hubbar är "utdöende"?

Stämmer det då att det aldrig bör bli kollisioner i ett switchat nätverk?

/Magnus

Postat: 14 november 2005, 16:20:49
av PaNiC
En hub kan man klassa som en kopplingsbox med enkel logik.
Den går iallafall ut på att det som kommer in på en port skickas ut på alla.
Hubbar har varit utdöende/döda i några år nu.
Det bör helt riktigt aldrig bli kollisioner i ett switchat nätverk.

Postat: 15 november 2005, 14:33:08
av Snabelost
Det blir kollissioner i switchade nät. En switch behöver tex tid att lära sig var alla mac-adresser finns. Ifall mottagande host inte finns i switchens MAC-tabell så skickas det ut på samtliga portar likt ett broadcast. När sedan svarspaketet skickas tillbaka så noterar switchen på vilken port svaret kom in. Nästa paket går "rätt".

Likaså vid broadcast går paketen ut på samtliga portar. Annars faller ju iden med broadcast. Och nej, det är inte bara Microsoft burkar som skickar broadcast (som en del verkar tro!). Alla ethernet anslutna datorer måste skicka broadcast ibland.

Dessutom ligger inte datat i switchens MAC-addresstabell kvar hur länge som helst, det dör ut efter ett tag (2-10 minuter). Ett annat problem är att en switch inte kan lagra hur många macadresser som helst. I specen finns information om hur många den kan lagra. Enda sättet att minska broadcastdomänen är att placera in en router och på så sätt dela upp nätet.

Lite blandad info! :wink:

/Magnus

Postat: 15 november 2005, 14:56:07
av $tiff
Mycket intressant info på lagom nivå! :D

Postat: 15 november 2005, 15:58:49
av Snabelost
Magnus Pihl skrev:Men eftersom switchar är så billiga nu för tiden (180kr) , så kanske hubbar är "utdöende"?
Nja, inte riktigt! Sätter man upp en NLB-kluster (Network Load Balancing) så är riktiga övervakningsbara hubbar att föredra!!

Ett NLB-kluster lastbalanserar genom att alla webbservrarnas nätverkskort har samma mac-adress och får således samma paket. Sedan räknar varje nod ut vilka paket som just den noden skall ta imot. Detta slutar helt fungera ifall noderna är kopplade via en switch eftersom den bara vill skicka ut data på en port.

/Magnus

Postat: 15 november 2005, 17:10:29
av $tiff
Vilket undantagsfall. Sådana hubbar används nog inte av vanliga konsumenter. Att hubbar är utdöende för att bygga hemnätverk med är vi väl överens om!

Postat: 15 november 2005, 22:13:21
av Snabelost
Haha, ja Stiff, det håller jag med om!

/Magnus