Mark Knecht wrote:
1) What causes a 'collision' on a network interface?
As Paul pointed out via his e-mail (via the previous thread), collisions
are when two packets try and talk over an ethernet cable at the same time.
In terms of a hub, it's very common, esp. when the hub becomes loaded as
2/4/8/32, etc. machines are all essentially using the same bit of
cable (what with a hub being nothing more than a repeater).
If an interface detects a collision, the transfer is stopped and a it
waits a random amount of time before trying to send it again. This goes
round and round until it's sent.
For a switch on the other hand, its not so common, as there are only
ever two machines on the cable - the switch and the computer. Although
31% collision rate on dragonfly does seam alot.
Again, Paul is probably right, with half-duplex being the problem. In
this case, the same 'cable' us used for both sending and receiving
traffic. If one conflicts the other, you'll get a collision. With
Full-duplex, sends and receives are independent and therefore you can't
get collisions:
jwright on jonathan [ ~ ] --> /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:02:B3:87:89:03
inet addr:10.0.0.10 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3481762 errors:0 dropped:0 overruns:0 frame:0
TX packets:3664852 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1212745301 (1156.5 Mb) TX bytes:1002484102 (956.0 Mb)
jwright on jonathan [ ~ ] --> ssh -t kenny /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:50:8B:4C:9C:EA
inet addr:10.0.0.2 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18415888 errors:0 dropped:0 overruns:0 frame:0
TX packets:17153032 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2907452267 (2772.7 Mb) TX bytes:960767410 (916.2 Mb)
Interrupt:11 Base address:0x2000 Memory:42100000-42100038
Connection to kenny closed.
jwright on jonathan [ ~ ] --> ssh -t kyle /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:08:C7:7F:CF:A7
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34264896 errors:0 dropped:0 overruns:0 frame:0
TX packets:33334375 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3580726012 (3414.8 MB) TX bytes:196135708 (187.0 MB)
Interrupt:9 Base address:0x2000 Memory:42100000-42100038
Connection to kyle closed.
2) How can I eliminate them? (Including hardware changes if required.)
The two machines are connected through a small LinkSys switch. model EZXS55W:
When I first read that I thought 'cheap built-in hub', so only 10MBps @
HD, however looking at it, 100MBps-FD shouldn't be a problem. A good
tool to look at is mii-tool (emerge mii-diag):
root on jonathan [ ~ ] --> mii-tool
eth0: negotiated 100baseTx-FD flow-control, link ok
root on jonathan [ ~ ] --> mii-tool -v
eth0: negotiated 100baseTx-FD flow-control, link ok
product info: Intel 82555 rev 4
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
flow-control
link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
flow-control
Then you can run:
root on jonathan [ ~ ] --> mii-tool -F 100baseTx-FD
Which should put the computer into 100MBps via Full Duplex. Give that a
go - it should work. If there's a problem putting it into that (and you
can run 'mii-tool -r' to re-negotiate), it may be the switch and/or the
cable.
--
Jonathan Wright ~ mail at djnauk.co.uk
~ www.djnauk.co.uk
--
2.6.12-gentoo-r6-djnauk-b2 AMD Athlon(tm) XP 2100+
up 11:04, 4 users, load average: 3.06, 5.30, 6.56
--
"People sometimes think I'm gay because I once played a gay in a
movie. It's funny. Audiences don't think you're a murderer if
you play a murderer, but they do think you're gay if you play a
gay."
~ Perry King
--
gentoo-user@gentoo.org mailing list