【正文】
rosoft Press, February 2020. Dunn, T., The IPv6 transition. IEEE Inter Comput 2020. Kitamura, H., Jinzaki, A., Kobayashi, S., A socks based IPv6/IPv4 gateway mechanism Inter Draft ‘‘draftietf ’’ 2020. Net?lter homepage / Nordmark, E., Stateless IP/ICMP translator algorithm (SIIT). RFC2765 February 2020. Raicu, I., Zeadally, S., Evalating IPv4 to IPv6 transition mechanisms. IEEE September 2020. Srisuresh, P., Holdrege, M., IP work address translator (NAT) terminology and considerations. RFC2663 August 1999. Tsuchiya, K, Higuchi H., Atarashi, Y., Dual stack hosts using the bump in the stack technique, RFC2767 February 2020. Tsirtsis, G., Srisuresh, P., Network address translationprotocol translation (NATPT). RFC2766, February 2020. Waddington, D., Chang, F., Realizing the transition to IPv6. IEEE Comm Mag 2020. Wang, K., Yeo, ., Ananda, ., DTTS: a transparent and scalable solution for IPv4 to IPv6 transition Proceedings of the tenth international conference on puter munication and works, IEEE 2020. 。 the cycle is iterated 1000 times. Fig. 3 shows the parative latency for IPv4 packets and tunneled packets as the packet size is varied from 64 bytes to 768 bytes. The overhead varies from 7% to 30% as the packet size is varied. The overhead occurs due to the time required for encapsulation and decapsulation of the tunneled packets. . Throughput Throughput (Tsuchiya et al., 2020。 Chakeres) hooks. Net?lter can be used by our implementation to identify many of the events that trigger the routing action. Net?lter consists of a number of hooks at various points inside the Linux protocol stack. It allows userde?ned kernel modules to register callback functions to these hooks. When a packet traverses a hook, the packet ?ows through the user de?ned callback method inside the kernel module. There are ?ve hooks de?ned in the ?lter architecture, as shown in Fig. 1 At the top of the ?gure there are two hooks, NF_IP_LOCAL_IN and NF_IP_LOCAL_OUT. These hooks are for all packets to and from local processes. At the bottom of the ?gure there are two hooks, NF_IP_PRE_ROUTING and NF_IP_POST_ROUTING. These are for all packets from and to other hosts on the work. There is also a hook for packets that are forwarded by the current host, NF_IP_FORWARD. As an example of how packets traverse these hooks, suppose a packet is created by a local process for a remote process. It ?rst traverses the NF_IP_LOCAL_OUT hook. Next, a routing decision is performed to see if the packet is bound for the local host or another host on the work. The packet is found to be destined for a remote host, and the packet is passed through the 3 Fig. 1. Net?lter hooks. NF_IP_POST_ROUTING hook and then onto a work interface. The call back function registered returns one of the ?ve values NF_ACCEPT (accept the packet and continue the chain), NF_DROP (drop the packet), NF_QUEUE (queue the packet to user space) or NF_STOLEN (packet stolen from work stack). 4. Virtual interface From the kernel’s point of view, a work interface is a software object that can process outgoing packets, and the actual transmission mechanism remains hidden inside the interface driver. Even though most interfaces are associated to physical devices (or, for the loopback interface, to a softwareonly data loop), it is possible to design work interface drivers that rely on other interfaces to perform actual packet transmission. The idea of a ‘‘virtual’’ interface can be useful to implement specialpurpose processing on data packets while avoiding hacking with the work subsystem of the kernel. This idea can be used in tunneling of packets inside another protocol. Thus creating a tunnel implies creating a virtual interface in the kernel and maintaining the information for encapsulation in its private data structure. 5. Design The proposed design uses the NF_IP_LOCAL_OUT hook to detect the need of a tunnel. When a local process generates IPv4 packets they pass through this hook. A call back function de?ned for this hook will have the following tasks: 1. Determine the destination IPv6 address. 2. If the destination is an IPv6 host, create a tunnel for the remote host. 3. If the destination is on IPv4only work then create a tunnel for the border router. A border router resides on the boundary between IPv6 domain and IPv4 domain. 4. Create the appropriate IPv4 routing table entry. 4 The call back function thus has the job of an extension resolver (Tsuchiya et al., 2020), . resolve an IPv4 address, . an A record into an IPv6 address, . AAAA record. Thus it will generate a DNS query to the DNS server for this purpose. Creation of the tunnel can be again done in kernel space. The f