30 likes | 151 Vues
This document outlines a pure dual stack implementation of IPv4 and IPv6 applications using socket APIs that facilitate seamless communication in both user space and kernel space. It describes modifications made to TCP/UDP protocols, input/output modules, and packet processing for IPv4 and IPv6. The hybrid stack approach reduces kernel bloat, maintains transport layers, and utilizes common protocol data structures through IPv4-mapped addresses. This enables applications to support both IPv4 and IPv6, ensuring existing binaries continue running effectively while providing enhanced network layer functionality.
E N D
Pure Dual Stack Implementation IPv4 Applications IPv6 Applications socket_apis_v4_AF_INET socket_apis_v6_AF_INET6 User Space Kernel Space IPv4 IPv6 socket_v4_mods socket_v6_mods Protocol Control Block Data Structures Protocol Control Block Data Structures TCP_UDP_v4_mods TCP_UDP_v6_mods IPv4_input/output Module IPv6_input/output Module IP Packet Processing
Hybrid Stack Implementation IPv4 OR IPv6 Applications socket_apis_AF_INET6 OR AF_INET User Space Kernel Space IP socket_mods Protocol Control Block Data Structures TCP_UDP_mods IPv4_input/output Module IPv6_input/output Module IP Packet Processing
Hybrid Stack Core Advantages • Reduces Kernel Bloat and Maintenance • Leaves Socket and Transport Layer in tact with conditionals. • Common Protocol Data Structures for IPv4 and IPv6 using IPv4-Mapped Addresses. • Applications can support both IPv4 and IPv6 using IPv4 Mapped Addresses, so ISVs can ship one binary supporting either IPv4 or IPv6. • Existing IPv4 Binaries keep on running. • Network Layer is a Dual IP Layer leaving below IP specific to data links and data link software.