← Back to team overview

sslug-teknik team mailing list archive

Re: Kollisioner på ethernet, hvordan at måle?

 

Mark Holm wrote:
> 
> > Hvilken fin bog er det?
> 
> Fred Halsall: Data Communications, Computer Networks and Open
> Systems, Fourth Edition fra Addison-Wesley.
> (ISBN: 0-201-42293-X)

Det er også en fin bog. Vi brugte den og Taenenbaums "Computer networks"
da jeg var instruktor i netværk på datalogisk 3. år på DIKU.

Jeg siger jo heller ikke at bogen er forkert *som sådan* - jeg siger at
man ikke skal tro at det altid passer. Sådanne tabeller i bøger skal
altid tages med at vist gran salt, og bør betragtes som et "godt bud".
Når man står i den faktiske situation kan omstændighederne være helt
anderledes.

I den faktiske virkelige beskidte verden, skal man både have den slags
baggrundsviden (der styrer en mod de sandsynligvis bedste løsninger på
foreliggende problemer), og en vilje og evne til at udføre faktiske
målinger og eksperimenter, hvis og når man får uventede resultater. Min
viden, som kom fra netop disse bøger, indikerede at alt ville køre fint
fint OK under de forhold jeg ville komme ud i, og styrede således mit
design. Men min sunde naturlige skepsis, samt min veltrænede evne til at
lave "back of the envelope" beregninger (overslag) fandt, at i netop
dette specifikke tilfælde holdt den generelle teori ikke vand. Havde
resultaterne været en faktor 2-3 under det forventede havde jeg bare
sagt "nå", men de var altså en hel størrelsesorden (faktor 10) ved siden
af - en afvigelse som selv en fysiker vil finde bemærkelsesværdig.

Nu var mit konkrete projekt ikke at undersøge netværksprotokoller *som
sådan*, men at benytte dem som et redskab i en anden sammenhæng. Derfor
er jeg ikke gået mere i detaljer om problemet end at udkaste en teori,
der i høj grad underbygges af de observerede fakta. Eg. har jeg ikke
været ude og måle med pakkeanalysatorer på nettet, eller debugge TCP/IP
stakken. Det var ikke min mission. Jeg kan kun konstatere at da jeg
isolerede problemet, kunne det kun skyldes dårlig timing af
transmissionen, hvilket *blandt andet* blev indikeret af et usædvanligt
højt antal kollisioner på nettet, hvilket igen på et Ethernet som
bekendt udløser eksponentiel backoff. Da jeg lavede koden om til at
knuderne skiftedes til at sende og modtage gik det væk. Dette er *ikke*
i overensstemmelse med normal teori, da man normalt antager at moderne
protokoller og net vil udnytte båndbredden næsten optimalt under den
slags forhold.

Anyway: Jeg vil ikke kaste mig mere ud i diskussionen, men ønskede sådan
set bare at dele den konkrete viden jeg havde fået om situationen med
folket. En del af den konkrete viden var en underbyggelse af en holdning
jeg allerede havde, nemlig at man ikke altid skal tage alt hvad der står
i bøgerne for gode varer, da der her ofte tales om generelle målinger og
statistik. Statistik er for det meste fint, men kan ifølge sagens natur
ikke tage hensyn til de få, enkeltstående tilfælde der afviger fra
normen.

For en fin bog, der tager den slags emner op, anbefaler jeg "Programming
Pearls" af Bentley - en kollega til K&R hos AT&T. Det er en fabelagtig
bog om programdesign i den virkelige verden, som alle burde læse på et
eller andet tidspunkt i deres karriere.

Mvh
	Anders
-- 
Anders S. Johansen, Jagtvej 109, 3.tv, 2200 Kbh. N +045 35836565
Wisdom = TANJ + TANSTAAFL


References