On Mon, 8 Sep 2003, MarcoH wrote:
Tuurlijk, maar volgens mij doet die asic van juniper gewoon voor iedere packet een lookup en zet hij geen flows op...
In die veronderstelling was (en ben) ik ook. M'n reply was misschien een beetje vaag, maar waar het me om ging was dat het in ieder geval in hardware gebeurt, of het nu wel of niet flow based is. Flow based forwarding is eigenlijk ook alleen maar een lapmiddel voor dozen die geen route lookups in hardware kunnen. Als je lookups in hardware doet, is het bijhouden van flows volgens mij niet zo zinvol.
Hardware of software heeft er niks mee te maken. De grote vraag is of er een gecached fast-path is,en een tragere situatie bij een cache miss, dan wel of de volledige forwarding table in 'cache' (cq een efficiente [qua lookup snelheid] datastructuur) staat. Of die forwarding lookup daarna door een min of meer general purpose processor dan wel een special purpose processor (aka 'asic') gedaan wordt maakt het verschil niet. Precies hetzelfde fenomeen zie je bij alle andere systemen die ergens een cache gebruiken. CPU-L1/L2/L3 cache, dram -> disk swap ,web proxy etc. Als je de pech hebt dat je toegangspatroon voortdurend de cache mist is je performance orden van groote trager dan wanneer je het merendeel van de tijd uit een cache kunt werken. Jammer voor een aantal 'L3 switch' vendors dat Internet backbone traffic (en pathologische gevallen als portscans) niet passen bij een gecached model. Cisco heeft dat ook uitgevonden, zoals te zien is in de typen forwarding. (process switching -> fast switching [cache-based], flow switching [flow based] -> cef-switching (volledige forwarding table in datastructuur). ) Boudewijn