Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ipv6@Home: Kuljaree Tantayakul Sinchai Kamolphiwong Touchai Angchuan

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

IPv6@HOME

Kuljaree Tantayakul Sinchai Kamolphiwong Touchai Angchuan


Centre for Network Research (CNR) Centre for Network Research (CNR) Centre for Network Research (CNR)
Faculty of Engineering Faculty of Engineering Faculty of Engineering
Prince of Songkla University, Hat Yai, Prince of Songkla University, Hat Yai, Prince of Songkla University, Hat Yai,
Songkhla, THAILAND Songkhla, THAILAND Songkhla, THAILAND
+6674287397 +6674287367 +6674287075, +6674287345
kuljaree@gmail.com ksinchai@coe.psu.ac.th touch@coe.psu.ac.th

ABSTRACT The Internet Engineering Task Force (IETF) designed a next


This paper presents a practical approach to connecting a home generation protocol, Internet Protocol version 6 (IPv6) [2][3] to
network to the IPv6 world. A number of connection methods have solve these problems, and eventually replace the existing Internet
been proposed and deployed, some suitable for a rich network Protocol, IPv4. However, the migration of IPv4 to IPv6 will not
environment, e.g. enterprise networks. Home networks are happen overnight. Rather, there will be a period of transition
particularly significant due to the large number of sites. Home when both protocols are in use over the same infrastructure. The
networks are connected via a wide variety of access technologies, transition will not be easy to achieve because the Internet has a
e.g. xDSL, broadband, FTTH, however in general these all use large number of hosts and network devices. There are many
IPv4 only. Due to the shortage of IPv4 addresses, and the way different hardware architectures, all of which need support for
they are allocated to home users by service providers, there can be IPv6 added. Also current software, applications and Operating
problems with traditional method of transitional IPv6 Systems (OS) need to be upgraded to support IPv6. Because IPv6
connectivity. For example, v4 addresses assigned are often addresses are longer than IPv4 addresses, application data
changed frequently, whereas other providers use NAT and do not structures that embed IP addresses need to be changed. Many
allocate global addresses at all. In this paper we examine those current applications written for IPv4 need to be rewritten or
problems and suggest a possible method to connect a home IPv6 amended to support IPv6.
network by implementing existing transition mechanisms in the
home gateway. We also propose an easy way to access all devices Currently, the number of hie Internet users is increasing and IP
by interoperating with IPv6 Dynamic Domain Name Service connectivity is being adopted across a variety of consumer
(DDNSv6). The solution is simply and has a low implementation electronic devices. So the requirement of use Internet at home had
cost. more than one, impact to home user configured advance technique
for using IP connectivity of all devices that configured NAT.
Keywords: But NAT breaks end-to-end connectivity. Therefore in this paper,
IPv6, DDNSv6, IPv6 Transition, home network we propose a possible method to deal with the exhaustion of IPv4
addresses. Making the home gateway support an IPv6 kernel
1. INTRODUCTION module will allow end-to-end connectivity. Even through we can
The Internet requires Internet Protocol (IP) [1] addresses to upgrade our home gateway to support IPv6, we cannot use it
identify each host, network device, mobile phone and other immediately because service providers (ISPs) in Thailand don't
equipment to enable a variety of communications as required currently offer IPv6 connectivity. Therefore in this paper, we
between people, between people and devices, and between have proposed a way to use IPv6 connectivity through the legacy
devices. The use of the IPv4 protocol in home networks has IPv4 network by implementing a 6to4 tunnel on the home
considerably increased the number of hosts that need easy access gateway. We also propose an easy way to connect all devices by
to the global Internet. With the rapid growth of the Internet the interoperating with dynamic DNS.
IPv4 address space is being depleted, which is causing problems.
This was mitigated by the introduction of Classless Inter-Domain In this first section, we have given overview of our work. In
Routing (CIDR) [5], and reduced even more by the adoption of Section II, we describe related work such as IPv4/IPv6 Transition
Network Address Translators (NAT) [4]. However NAT breaks Mechanisms, and their operation. This includes an overview of
end-to-end connectivity, fails for some applications, and reduces the DNS [11] and describes the observations on the home
flexibility. Other problems facing IPv4 are the lack of deployed network. In Section III, we purpose a possible method designed
security, and the rapid growth of the size of the routing tables. for using IPv6 at home. Finally, in the last section, we give the
conclusion of our work and suggest future work.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that 2. RELATED WORKS
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists, 2.1 IPv4/IPv6 Transition Mechanism
requires prior specific permission and/or a fee. The International Today almost every access network uses IPv4 and the growth of
Conference on Mobile Technology, Applications & Systems 2008 the Internet has led to the exhaustion of available IPv4 addresses.
(Mobility Conference), 10-12 September, 2008, Ilan, Taiwan. Copyright
2008 ACM 978-1-60558-089-0. $5.00.
IPv6 is a new protocol which has been developed to solve this The Dual-Stacks mechanism is the most widely deployed
problem. A transition from IPv4 to IPv6 in an orderly way is transitioning solution. Dual-Stack hosts can communicate with
required. However that will not happen overnight. Rather, there similar nodes, IPv4-only hosts and IPv6-only hosts. Much more is
will be a period of transition when both IP protocols coexist and required for a complete solution that allows IPv6-IPv4 and IPv4-
communicate over the same infrastructure. The transition is not IPv6 communications.
easy to accomplish because the Internet has a large number of
hosts and network devices. Hosts and network devices have 2.1.2 Tunneling Mechanisms
different hardware architectures. They must be extended to Tunneling mechanisms [7] are the techniques were used for
support IPv6. Also current software, applications and Operating communication between two hosts which have the same protocol
Systems (OS) need to be upgraded to support IPv6. Because IPv6 but are separated by a network that uses a different protocol.
addresses are longer than IPv4 addresses, a change in application For example, when no native IPv6 infrastructure exists between
data structures that embed IP addresses is required. In general, two points, but there is IPv4 connectivity, tunneling of IPv6 in
current applications for IPv4 need to be rewritten or upgraded to IPv4 can be used. This is a very common scenario in the early
support IPv6. Therefore IETF IPv6 Working Group (ngtrans) [10] stages of the transition process. The tunneling technique provides
has discussed and designed an IPv4/IPv6 Transition Mechanism communication between IPv6 node and IPv6 node through the
for using during the period of transition. IPv4 infrastructure. The IPv4 infrastructure does not need to be
upgraded to IPv6. IPv6 packets are encapsulated in IPv4 packets
Transition mechanisms are the topic which is discussed by the and delivered across IPv4 infrastructure. The tunnel endpoints
IETF IPv6 Transition Working Group (ngtrans) [10]. The main must support both IPv4 and IPv6 protocol stacks. This can
issue is the transition from IPv4 to IPv6 and how both versions configured between border routers or between a border router and
can coexist before complete migration. It is to be used for a long a host. When two IPv6 nodes that are connected by using
time, but not forever. Transition mechanisms can be divided into tunneling techniques have communication between them, the IPv6
three categories as follows: Dual-Stack [6], Tunneling [7] and packets are delivered to the tunnel endpoint which supports both
Translation. Each category has difference principles and is the IPv4 and IPv6 protocols stacks. The tunnel endpoint will
suitable for different network environments. The transition encapsulate the IPv6 packets in IPv4 packets and deliver them
process is complex as it has to deal with issues related to IPv4- across IPv4 infrastructure to the other endpoint. This endpoint
IPv6 interoperability including routing, DNS, error handling, etc. will decapsulate and send the IPv6 packets to their destination.
The types of IPv4/IPv6 Transition Mechanisms can be shown as The general process of tunneling mechanisms is shown in the
in the following sections. Figure 2.

2.1.1 Dual-Stacks
Dual-Stacks [6] are the easiest to implement. Dual-Stacks literally
maintain both IPv4 and IPv6 protocol stacks. This can be
implemented in both hosts and network devices. In hosts, dual-
stack is enabled for applications to operate. Therefore the
applications can choose their protocol stack. IPv4 applications use
the IPv4 stack and IPv6 applications use the IPv6 stack. The
default behavior a dual-stacks host should observe is to DNS
query and attempt to resolve an IPv6 address first and if not
available, it resolves an IPv4 address. Also dual-stack capabilities
in the network devices allow handling of both IPv4 and IPv6
packet types by detection based on the IP header version field.
But dual-stack mechanisms do not solve IPv4 and IPv6
interworking problems. When running dual IPv4/IPv6 stacks, a Figure 2 The general process of Tunneling Mechanism
host can access to both IPv4 and IPv6 resources. And routers run
both protocols for forwarding the both IPv4/IPv6 packets to the
end nodes or the destination hosts. Figure 1 illustrates dual Table 1 Overview of Tunneling Mechanisms
Internet protocol stacks.
Tunneling Tunneling IPv4 Tunnel End-point
Type Address
Manual Configured Configuration
tunneling information in the
encapsulation node.
Semi- Tunnel Broker Use dedicated server
automatic which automatically.
IPv4- IPv4-compatible
Figure 1 Dual Internet Protocol Stacks
compatible IPv6 address
6 over 4 Mapping multicast the process of modifying network address information in
address from IPv6 to datagram packet headers while in transit across a traffic routing
IPv4 device for mapping address space into another.
Automatic 6 to 4 Embedding IPv4
address into the IPv6
prefix. 3. THE OPERATION OF THE PROPOSED
ISATAP Embedding IPv4
address into the IPv6 METHOD
interface ID. The proposed method can be separated to two parts. The first part,
Teredo Uses UDP (port called "IPv6 Home Gateway", was implemented on a broadband
3544) tunneling for router to establish a 6to4 tunnel to 6to4 Relay and send host
NAT traversal. information to a DDNS server when the connection renews or the
public IPv4 address is changed. The second part called "IPv6
2.1.3 Translation Mechanism Home Server" implemented a DNS server and web server to serve
Translation mechanisms use one of many algorithms to convert web-page for registrations of names for each device in the home
between the IPv4 and IPv6 protocols. The translation can occur at network, and also update the IP address of hosts after receiving
several layers in the protocol stack, including the network, the information from the home router.
transport, and application layers. The basic role of translation in
IPv4/IPv6 transition is the conversion of IP and ICMP packets. 3.1 IPv6 Home Gateway
Examples of the translation mechanisms are The Stateless This paper proposes a possible method for the assignment of IPv6
IP/ICMP Translation algorithm (SIIT), Network Address addresses in a home network by using the 6to4 tunneling
Translation Protocol Translation (NAT-PT), Bump-In-the-Stack mechanism. The proposed method can be implemented on
(BIS), Bump-In-the-API (BIA), SOCKS-Based IPv6/IPv4 broadband routers such as Linksys model WRT54GL and Asus
Gateway, and SOCKS64. model WL500GP that use open source firmware (OpenWRT
firmware). The original the broadband routers support the
Wireless-G networking solution. They can be used as Internet-
2.2 Domain Name System sharing routers which have a 4 port switch, and 54Mbps Wireless-
For users, it's difficult and very unpleasant to work with IP G (standard IEEE802.11g) Access Point. Also they share a single
addresses, especially IPv6 addresses. Fortunately, the Domain Internet connection and other resources with Ethernet wired and
Name System (DNS) [11] allows users to work with much more Wireless-G and -B devices. They contain setup features to make
simple symbolic names. The address is obtained by looking it up wireless configuration secure and simple with high security: TKIP
in the DNS, a distributed database containing name-address and AES encryption, wireless MAC address filtering, and a
mappings for each internet domain name. The IPv6 DNS standard powerful SPI firewall. However those features support only the
created two DNS record types each containing 128-bit addresses. IPv4 protocol. To make the broadband router support the IPv6
The first is AAAA or quad A record. It was developed from the A protocol stack, we upgraded the firmware. For this work we
record for IPv4. The second was the A6 record, designed to allow choose OpenWRT's firmware because it is open source firmware
network renumbering, but now obsolete. For this work, we use which uses linux kenel version 2.4 that is easy to edit and modify.
Dynamic DNS which supports dual-stack. Figure 3 shows the concept of the IPv6 at home network.

2.3 Observations on Home Network


Use of the Internet by home users has become common. They
usually only receive one public IPv4 address from their ISP, and
no IPv6. When they want to use many IP devices connect to the
Internet, they must use NAT to enable traffic to communicate
directly. NAT is the process of modifying network address
information in datagram packet headers while in transit across a
traffic routing device for mapping one address space into another.

While NAT allows easy creation of home networks, it has a


downside. Home networks are not directly addressable from the
outside Internet because of NAT's use of non routeable addresses.
As a result, the end-to-end principle is broken. The consequences
of breaking end-to-end by using non routeable addresses include
problems for multi-media services such as VoIP and other widely
enjoyed Internet entertainment, such as some online games. To
allow all devices on a home network to be publicly accessed from
Internet easily, they must enable the IPv6 protocol stack. The Figure 3 The concept of IPv6 at home network
home users normally use Internet at home today. They only
receive one public IPv4 from their ISP, not IPv6. When they want The first step is to upgrade the broadband router by downloading
to use many IP devices connect to Internet, they must specifically new firmware from http://xwrt.kicksass.org/xwrt/firmware_
setup NAT box to enable traffic to communicate directly. NAT is
images/whiterussian/0.9/latest-daily-build/default/ and try to echo " interface br0 { " > $RACONF
upgrade it. To enable 6to4 tunneling, the broadband router must echo " AdvSendAdvert on; " >> $RACONF
support dual-stack and run rdavd daemon for advertisement of the
prefix to hosts in the home network. So the next step is to install echo " MaxRtrAdvInterval 30; " >> $RACONF
two packages, which are "kmod-ipv6" which is the kernel module echo " MinRtrAdvInterval 10; " >> $RACONF
for the IPv6 protocol and "radvd", on the broadband router. After
echo " prefix ${ipv6prefix}:1234::/64 { " >> $RACONF
that use "nvram set br0_eui64=YOUR EUI64" command to set
the EUI-64 value of the br0 interface. Then save it by using echo " AdvOnLink on; " >> $RACONF
"nvram commit" command. Those commands are only used to echo " AdvValidLifetime 300; " >> $RACONF
initialize the value at first installation. Afterwards we generate
andedit the script files for running 6to4 service. Three essential echo " AdvPreferredLifetime 60; " >> $RACONF
script files are "/etc/init.d/tun6to4", "/etc/hotplug.d/iface/10- echo " }; " >> $RACONF
tun6to4" and "/etc/firewall.user".
echo " };
## Restarting radvd daemon
The "/etc/init.d/tun6to4" file was generated to establish the 6to4
tunneling to a 6to4 relay. We can change the 6to4 relay in this /etc/init.d/S51radvd stop
file. It also automatically adds configuration to the sleep 5
"/etc/radvd.conf" file. The file "/etc/hotplug.d/iface/10-tun6to4"
/etc/init.d/S51radvd start
was generated for automatic detection of the new tunnel network
interface. A final script file is "/ec/firewall.user" which was edited
to add the rules to allow protocol 41 (IPv6 protocol) to pass.
/etc/hotplug.d/iface/10-tun6to4
“/etc/init.d/tun6to4” #!/bin/sh
#!/bin/sh [ "$ACTION" = "ifup" ] && [ "$INTERFACE" = "wan" ] &&
/etc/init.d/tun6to4
PATH=/usr/sbin:/sbin:/usr/bin:/bin
br0_eui64=`nvram get br0_eui64`
# Delete former tun6to4 interface /etc/firewall.user
/usr/sbin/ip tunnel del tun6to4 ## -- Allow IPv6 protocol
# Flush IPv6 Address at br0 iptables -A output_rule -p 41 -j ACCEPT
/usr/sbin/ip -6 addr flush dev br0 iptables -A input_rule -p 41 -j ACCEPT
# Add Link Local to br0 iptables -A forwarding_rule -p 41 -j ACCEPT
/usr/sbin/ip -6 addr add fe80::${br0_eui64} dev br0
/usr/sbin/ip -6 addr add fe80::1 dev br0
# 6to4 tunnel When we upgraded firmware and installed the essential packages,
our home gateway supports IPv6 kernel module. After we
wan_if=`nvram get wan_ifname` generated and edited the necessary files, the home gateway
ipv4=`ifconfig $wan_if | cut -f2 -d: | cut -f1 -di i` established 6to4 tunnel to the 6to4 relay and advertised an IPv6
echo $ipv4 > /tmp/ppp-addr.log prefix to other hosts on the home network. However this would
require use of difficult to remember 6to4 addresses of devices, so
ipv6prefix=`echo $ipv4 | awk -F. '{ printf we added another web-page on the OpenWRT web-page on the
"2002:%02x%02x:%02x%02x", \ home gateway for discovery of all MAC addresses of devices that
$1, $2, $3, $4 }'` connect to the home network as showr in Figure 4. We can also
assign a name to each device which will be used to dynamically
## CNR 6to4 relay
update at the DNS server.
relay6to4=202.28.99.195
ip tunnel add tun6to4 mode sit ttl 64 remote any local $ipv4
ip link set dev tun6to4 mtu 1280
ip link set dev tun6to4 up
ip -6 addr add ${ipv6prefix}::1/16 dev tun6to4
ip -6 route add 2000::/3 via ::${relay6to4} dev tun6to metric 1
ip -6 addr add ${ipv6prefix}:1234::1/64 dev br0
## Adding config to /etc/radvd.conf
RACONF=/etc/radvd.conf
Figure 4 Discovery all MAC addresses on home network.

3.2 IPv6 Home Server 4. CONCLUSION


When the connection of the home gateway is restarted, the IPv4 In this paper we have described a possible way to enable IPv6
address is changed. The effect is to alter the 6to4 address of each service on home network by using the existing transition
device. This is because the 6to4 prefix is generated from the IPv4 mechanism called 6to4 tunneling on home gateway which
public address (in hexadecimal) combined with 2002/16. So it's operates with DDNSv6. Using DDNSv6 can solve uncertain IPv4
difficult to connect to a 6to4 device by using the 6to4 addresses. address assigned problem. The prototype has been built on open
In this paper, we also propose an easy way to connect and manage software platform. Some real deployment has been carried out. It
each device by using the interoperation of IPv6 Dynamic DNS shows that it is simple, effective and low cost solution for IPv6
(DDNSv6). Actually the current DDNSv6 service is a transition.
commercial operation, however. it influenced us to build a similar
service by ourselves for ease of use. DDNSv6 is installed upon 5. REFERENCES
Ubuntu 7.10 and uses the Berkeley Internet Name Domain [1] J. Postel: “Internet Protocol”, RFC 791, September 1981.
(BIND) DNS server software version 9. [2] R.Hinden: “IP version 6 Addressing Architecture”, RFC
2373, July 1998.
On the same server, we setup a web server using Apache software [3] S.Deering: “Internet Protocol version 6 Specification”, RFC
to serve the home users. The registration addresses of each 6to4 2460, December 1998
device can be done on our web-page at http://homeipv6.net. The [4] P.Srisuresh: “IP Network Translator (NAT) Terminology
operation between the IPv6 Home Gateway and the DNS server and Considerations”, RFC 2663, August 1999.
can be explained in the flowchart shown in Figure 5. [5] Y.Rekhter: “CIDR and Classful Routing”, RFC 1817, Augest
1995.
[6] R.Gilligan: “Transition Mechanisms for IPv6 Hosts and
Routers”, RFC 2893, August 2000
[7] S.Deering : “Generic Packet Tunneling in IPv6
Specification”, RFC 2473, December 1998.
[8] A.Durand : “IPv6 Tunnel Broker”, RFC 3053, January
2001.
[9] B. Carpenter, K.Moore: “Connection of IPv6 Domains via
IPv4 Clouds”, RFC 3056, February 2001
[10] IETF IPv6 Transition Working Group (ngtrans),
http://www.6bone.net/ngtrans/
[11] M. Crawford,C. Huitema: “DNS extension to support IPv6
address aggregation and renumbering”, RFC2874, July 2000.

Figure 5 The operation between IPv6 Home Gateway and


DNS server.

You might also like