6 CONCLUSIONS AND FUTURE
WORK
In this paper we analyzed the performance of the
Linux native IPsec implementation, for both transport
and tunnel mode. The analysis indicates that even
with commodity systems, we can easily saturate links
up to 100 Mbps, without any significant penalty for
throughput. IPsec falls short of expectations in sat-
urating Gigabit links. The implementation of cryp-
tographic algorithms can be an attractive target for
optimization. However, detailed system analysis re-
vealed that the problem is not processing power per
se. Rather, it is the combined effect of the IRQ storm
and the softirq kernel state due to IPsec processing,
even with increased MTU sizes. Once the real cause
is identified, careful system engineering can lead to
significantly increased IPsec throughput.
Future work in this area includes extensive testing
of advances in Linux kernel network stack, and use of
hardware-based cryptographic processors for offload-
ing security operations. Another direction is the com-
parison with the BSD IPsec stack variants and valida-
tion of our findings in higher link speeds; 10 Gbps is
a good candidate for this. Finally, it would be inter-
esting to compare our results in scenarios with user-
space based VPN solutions.
REFERENCES
Bellovin, S. (2004). A look back at “security problems in
the TCP/IP protocol suite”. In ACSAC ’04: Proceed-
ings of the 20th Annual Computer Security Applica-
tions Conference, pages 229–249, Washington, DC,
USA. IEEE Computer Society.
Bellovin, S. M. (1996). Problem areas for the IP security
protocols. In Proceedings of the Sixth USENIX Secu-
rity Symposium, pages 205–214.
Bellows, P., Flidr, J., Gharai, L., Perkins, C., Chodowiec,
P., and Gaj, K. (2003). IPsec-protected transport of
HDTV over IP.
Degabriele, J. P. and Paterson, K. G. (2007). Attacking
the IPsec standards in encryption-only configurations.
Cryptology ePrint Archive, Report 2007/125.
Eastlake 3rd, D. (2005). Cryptographic Algorithm Imple-
mentation Requirements for Encapsulating Security
Payload (ESP) and Authentication Header (AH). RFC
4305 (Proposed Standard). Obsoleted by RFC 4835.
Elkeelany, O., Matalgah, M., Sheikh, K., Thaker, M.,
Chaudhry, Medhi, G., and Qaddour, J. D. (2002). Per-
formance analysis of IPSec protocol: encryption and
authentication.
Hoffman, P. (2005). Cryptographic Suites for IPsec. RFC
4308 (Proposed Standard).
Jacobson, V., Braden, R., and Borman, D. (1992). TCP Ex-
tensions for High Performance. RFC 1323 (Proposed
Standard).
Jones, R. (2009). Netperf. Retrieved April 27, 2009 from
http://www.netperf.org.
Levon, J. (2008). OProfile - A System Profiler
for Linux. Retrieved April 27, 2009 from
http://oprofile.sourceforge.net/.
Mathis, M. and Heffner, J. (2007). Packetization Layer Path
MTU Discovery. RFC 4821 (Proposed Standard).
Mathis, M., Mahdavi, J., Floyd, S., and Romanow, A.
(1996). TCP Selective Acknowledgment Options.
RFC 2018 (Proposed Standard).
McDonald, D., Metz, C., and Phan, B. (1998). PF
KEY
Key Management API, Version 2. RFC 2367 (Infor-
mational).
Mogul, J. and Deering, S. (1990). Path MTU discovery.
RFC 1191 (Draft Standard).
Postel, J. (1981). Transmission Control Protocol. RFC 793
(Standard). Updated by RFC 3168.
Salim, J. H., Olsson, R., and Kuznetsov, A. (2001). Beyond
softnet. In ALS ’01: Proceedings of the 5th annual
Linux Showcase & Conference, pages 18–18, Berke-
ley, CA, USA. USENIX Association.
Shue, C., Shin, Y., Gupta, M., and Choi, J. Y. (2005). Anal-
ysis of IPSec overheads for VPN servers. In IEEE
ICNPs NPSec Workshop.
Shue, C. A., Gupta, M., and Myers, S. A. (2007). IPSec:
Performance Analysis and Enhancements. In IEEE
Conference on Communications (ICC).
NETWORK STACK OPTIMIZATION FOR IMPROVED IPSEC PERFORMANCE ON LINUX
91