*hüstel*...tut mir leid teletom, aber da hast du einige sachen ganz klar durcheinandergeschmissen oder falsch verstanden. ein http-proxy und ein router verwenden bei httpzugriffen immer die selben ports, wäre schlimm, wenn das protokoll von der hard/software abhängig wäre. der unterschied zwischen einem route rund einem proxy besteht dahingehend, daß der router paket blind ohne kenntnis des anwendungsprotokolls verteilt, ein proxy kann nur pakete verteilen, deren protokoll er kennt. dabei rede ich nicht von tcp/ip als protokoll, sondern http, ftp, telnet, real audio, ssl, ssh, und andere. baut ein rechner eine http-verbindung zu einem webserver auf, so kontaktiert dein rechner immer von einem beliebigen port über 1024 den port 80 des webservers, er schickt einen syn-request, der server antwortet mit einem syn-ack-paket, in dem ein socket angeboten wird (socket, spezifizierung einer verbindung über ip, port, protokoll). das bedeutet, wenn dein rechner ein ack-paket schickt, dann wird ein socket client-server aufgebaut und beide kommunizieren über ports >1024 (damit der port 80 auf dem server für neue anfragen frei ist).
das ist die spezifikation des http-protokolls, und das von dir zitierte osi-schichtenmodell ist gerade dafür verantwortlich, daß das protokoll unabhängig von der darunterliegenden hardware und der darüberliegenden anwendung ist. also laufen immer die selben sockets (vereinfacht ports), egal ob über proxy oder router. das beantwortet auch das von dir angesprochene "ein router kennt keine ports" wäre dies so, dann könnte ein router keine sockets aufbauen. was du wahrscheinlich meinst ist, daß routing an sich keine möglichkeit für eine filterung gibt, deswegen sind router i.a. auch mit einem statefull packet filter ausgestattet, mit dem sich ips und ports sperren lassen. merke für einen socket ist immer eine ipadresse und ein port und ein protokoll vonnöten, wenn es um tcp geht. was du mit piung angesprochen hast liegt daran, daß der pingbefehl nicht tcp nutzt, sondern ICMP, welches genau wie UDP ein verbindungsloses protokoll ist und im gegensatz zu UDP keine ports kennt, es gibt also keine ICMP-sockets. ein ping ist eben ein ping. genauso wie ein traceroute, der auch keine ports kennt, da er ebenfalls mit ICMP arbeitet.
die von dir angesprochene geschindigkeitssteigerung bei junkbuster und squid hat zwei ursachen:
zum einen linux selbst, da es das protokoll effektiver verwaltet, d.h. im netzwerk immer schneller ist;
zum anderen liegt es daran, daß proxys im allgemeinen anfragen cachen, d.h. wenn du eine seite aufrust, dannw erden die elemente zwischengespeichert. stellst du wieder eine seitenanfrage an die nächste seite und einige elemente sind identisch (bilder,...) dannw erden diese nciht über das netz geladen, sondern die gecachten elemente verwendet, was natürlich ein erheblicher vorteil ist.
übrigens ist ICS kein echtes routing, es ist eine art blinder proxy ohne cache und ist deswegen kein angemessenes beispiel für einen router.