Nagyon jó összefoglaló. :)
NAT esetében még két faktor játszhat be:
- UDP/TCP-nél a cheksumot újra kell számolni a megváltozott forrás/célcím miatt, ehhez muszáj a teljes csomagot újra felolvasni.
Ezen tud segíteni egy TCP/UDP offload, kérdés, hogy a SOHO routerekben van-e erre céláramkör.
- Bizonyos protokollok esetén (FTP, SIP) a csomag payload-ba is be kell nyúlni, ott nem lehet DMA-zni.
IPv6:
- Mi csináltuk régen, amikor nem bírta a router a conntrack-et, hogy szűrtük a befelé jövő TCP SYN csomagokat, ezzel a bejövő kapcsolatokat. Nyilván ez nem működik UDP/ICMP-re. :(
Mértem OpenWRT-vel IPv6 vs. IPv4 routing perfomanciát, meglepő eredményekkel, majd írok róla egy rövid blogbejegyzést.