Professional Documents
Culture Documents
IPV6 Approach
IPV6 Approach
IPV6 Approach
Purpose:
As per DOT all telecom operators product should be IPV6 compliant. This document specifies about BMS
(Bulk Managed Services) and a way to make it IPv6 compliant also gives an idea about IPv6, its
functionalities, advantages over IPv4 and guide to migration .
Currently IPv4 is used as a network layer protocol in Internet. Main purpose of IPv4 is to establish a
communication link between host-to-systems in the Internet. Though IPv4 is well-designed but it's not
appropriate for the fast-growing Internet.
IPv6:
IPv6, or Internet Protocol Version 6, is the "next generation" protocol designed by the Internet Engineering
Task Force (IETF) to gradually replace IPv4, the version that has been in use for nearly two decades. IPv6
overcomes some of the limitations of IPv4, such as the limited address space, while introducing a number
of enhancements in areas such as routing and network auto configuration.
IPv6 addresses contain 128 bits (IPv4 has 32 bits) of data. A host address is usually written as eight 16-bit
hexadecimal numbers that are separated by colons. Two colons are used to abbreviate strings of
consecutive zeros. For example, the IPv6 loopback address `0:0:0:0:0:0:0:1' can just be written as
`::1'.
Server:
– Socket – open a socket
– Bind – bind our local address to the socket
– Listen – tell that we are listening to a port
– Accept – wait for connection
Client:
– Socket – open a socket
– Connect – connect to the server
– Read and/or write if TCP
– recvfrom and/or sendto if UDP
Changes:
1) Socket Interface
– New protocol family name: PF_INET6
6) To bind an AF_INET6 socket to any process the local address should be copied from the
in6addr_any variable which has in6_addr type. In static initializations IN6ADDR_ANY_INIT
may also be used, which expands to a constant expression. Both of them are in network order.
The IPv6 loopback address (::1) is available in the global in6addr_loopback variable. For
initializations IN6ADDR_LOOPBACK_INIT should be used.
IPv4 and IPv6 share the local port space. When you get an IPv4 connection or packet to a IPv6
socket its source address will be mapped to v6 and it'll be mapped to v6.
5. Security Features:
– To ensure confidentiality and packet's integrity encryption and authentication options are
included in IPv6. Under 32 bit address IPv4 system we are limited to a total possible 4.29
billion global address (2^32). Under a 128 bit address IPv6 system there is a total possible
3.4 x 10^38. Obviously everyone in the world could easily be assigned their own global IP
address. Real-time peer to peer communication will available to everyone, or true end to
end connectivity like the internet was really intended for. This will lead to technological
and economical progress.
Modules to be modified:
1) Gateway
2) Mediator
3) proftpd
4) smpp
5) GUI
Software Requirements:
Static library Com_LibSock-0.9 needs to be installed.
Php IPv6 validation JavaScript.
IPv6:
./tcp_bin l ::0 6666
./tcp_bin l ::1 6666
./tcp_bin l fec0::219:bbff:fed3:9fbe 6666
IPv6:
./tcp_bin c ::1 6666
./tcp_bin c fec0::219:bbff:fed3:9fbe 6666
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++
Compiling for UDP Client/Server
IPv6:
./udp_bin l ::0 6666
./udp_bin l ::1 6666
./udp_bin l fec0::219:bbff:fed3:9fbe 6666
IPv6:
./udp_bin c ::1 6666
./udp_bin c fec0::219:bbff:fed3:9fbe 6666
Conclusion:
IPv4 is a well-designed protocol but lacks features to be used in the fast-growth Internet world. So
approach to migrate BMS modules to IPv6 in this document will be helpful.