Op zondag 02 juni 2002 01:19 schreef ACM het volgende:
Wat heeft dat met complexiteit van headers te maken enzo?

De meeste checks kunnen er op dat niveau echt wel uit hoor.
Ja, maar ik reageerde op jouw opmerking:
Op zaterdag 01 juni 2002 22:36 schreef ACM het volgende:
Bekijk de highperformance protocollen maar eens, vereisten zijn eigenlijk het niet verplicht wachten tot het packet aangekomen is (ok gebeurt niet zo expliciet)
Ik neem zo snel aan dat je daarmee bedoelde dat TCP stacks wachten met verzenden van een packet tot de bevestiging dat het ontvangen is is aangekomen. Dat is (bij mijn allerbeste weten) niet waar.
Goede TCP implementaties (
* deadinspace pokes at win9x ) doen dat afaik initieel wel, maar als de link van goede kwaliteit blijkt (weinig tot geen loss), dan wordt steeds meer parallel gestuurd (omdat het goed lijkt te gaan). Na een tijd wordt dus echt niet meer gewacht op bevestiging (maar als een bevestiging niet komt, dan wordt het packet uiteraart herzonden).
Dit verschijnsel merk je ook in de praktijk, als je wat downloadt. De downloadsnelheid 'klimt' dan gestaag, en blijft dan na een tijd op een bepaalde snelheid hangen (in typische situaties dan).
Het gaat niet alleen om de grootte van de header, maar ook om de complexiteit van het geheel.
Ok, daar heb je inderdaad een punt waar ik nog niet bij stil had gestaan (en waar ipv6 idd een edge over ipv4 heeft).
Het kunnen fragmenteren van packets en weer samenstellen van die fragments is een hels karwij.
Tsja... Maar dat is meer te wijten aan de fysieke links. Ethernet MTU 1500, modem MTU 560 oid (whatever de reden is).
De 'fragmentability' van ipv{4,6} is slechts een methode om daarmee om te kunnen gaan.
De header van ipv4 is 20bytes met 13 velden, die dus in theorie allemaal gecontroleerd moeten/kunnen worden door routers.
Jup, en daar zijn er inderdaad een aantal overbodig van.
Er zijn trouwens ook protocollen met een payload van een megabyte...
Mja, maar voorlopig zijn de fysieke lagen nog de bottleneck... Ethernet heeft een limiet van iets van 1500 bytes per frame, om wat te noemen.
Neemt niet weg dat ze inderdaad best 24 of 32 bits hadden mogen nemen voor payload length.
Sterker nog de simplificatie is een van de grote punten van ipv6.
Dat is inderdaad zo.
Als het goed is wordt ipv6 in ieder geval een stuk lichter te routen.
TCP/ip is sowieso eigenlijk maar een slecht protocol (niet dat ik weet welke nou perse beter is

)
Bedoel je dan ipv4 of ipv6?
ipv4 is zo rampzalig niet (afgezien van de header complexiteit die jij noemde, waar ipv6 idd wat beter in is). Het is tegenwoordig zwaar om te routen, maar dat komt door het tekort aan IP-adressen, waardoor ipv4 niet gebruikt kan worden zoals het bedoeld is.
Daar maakt ipv6 als het goed is een einde aan met zijn 79,228,162,514,264,337,593,543,950,336 keer zo grote address space.

Het zijn allemaal hulpmiddelen om de afstand (in cpu-cycles gemeten) tot de videokaart flink verkorten en dat is nou eenmaal hardstikke belangrijk

Klopt, daarom maakte ik ook de opmerking dat 'die hulpmiddelen erg veel uitmaken'.
DGA/DRI zou eigenlijk ook gebruikt moeten worden voor 2D, maar daarvoor weet ik te weinig van video-interfaces om te weten of dat mogelijk is

Ik weet het fijne van DRI niet, maar DGA wordt afaik ook gebruikt voor 2D. Het punt van DGA is dat het directe hardware-access biedt (
Direct
Graphics
Access), wat r00t-priviliges nodig heeft. Kleine drawback.
Voor LAN's is IPX geloof ik veel beter

Ok, qua complexiteit weet ik vrij weinig van IPX (weinig zin me erin te verdiepen ook), maar qua procentuele header/payload overhead is het ongeveer 2 keer zo erg als TCP/IPv4 (namelijk 30 bytes headers en een maximum payload van 546 bytes). Verder vind ik IPX erg messy qua routing (en zou het dus niet graag als internet protocol zien).
Daar twijfel ook ik aan, volgens mij is er _altijd_ een flintertje kernel tussen de hardware en de drivers, maar het kan best zijn dat dat niet het geval is.
Bij mijn weten niet in het geval van XFree86. XFree86 zit gewoon bot aan het memory en de I/O ports van je videokaart.
Daar moet het overigens wel eerst toestemming van de kernel voor krijgen, dat wel, maar als het die toestemming heeft, dan kan het gewoon zijn gang gaan (zie ook man 2 ioperm en man 2 iopl).