How does Proxy Server Works ?
This is the First Question that arises in our mind when we use the Proxy Servers for Surfing the Internet without revealing our Identity to Others. Here all these mindboggling questions are answered with easy to understand examples.
The exchange of information in Internet is made by the “client - server” model. A client sends a request (what files he needs) and a server sends a reply (required files). For close cooperation (full understanding) between a client and a server the client sends additional information about itself: a version and a name of an operating system, configuration of a browser (including its name and version) etc.

This information can be necessary for the server in order to know which web-page should be given (open) to the client. There are different variants of web-pages for different configurations of browsers. However, as long as web-pages do not usually depend on browsers, it makes sense to hide this information from the web-server.

What your browser transmits to a web-server:
  • name and a version of an operating system
  • name and a version of a browser
  • configuration of a browser (display resolution, color depth, java / javascript support, …)
  • IP-address of a client
  • Other information

The most important part of such information (and absolutely needless for a web-server) is information about IP-address. Using your IP it is possible to know about you the following:
  • country where you are from
  • city
  • your provider?s name and e-mail
  • your physical address

Information, transmitted by a client to a server is available (accessible) for a server as environment variables. Every information unit is a value of some variable. If any information unit is not transmitted, then corresponding variable will be empty (its value will be undetermined).

These are some environment variables:
REMOTE_ADDR ? IP address of a client

HTTP_VIA ? if it is not empty, then a proxy is used. Value is an address (or several addresses) of a proxy server, this variable is added by a proxy server itself if you use one.

HTTP_X_FORWARDED_FOR ? if it is not empty, then a proxy is used. Value is a real IP address of a client (your IP), this variable is also added by a proxy server if you use one.

HTTP_ACCEPT_LANGUAGE ? what language is used in browser (what language a page should be displayed in)

HTTP_USER_AGENT ? so called “a user?s agent”. For all browsers this is Mozilla. Furthermore, browser?s name and version (e.g. MSIE 5.5) and an operating system (e.g. Windows 98) is also mentioned here.

HTTP_HOST ? is a web server?s name
This is a small part of environment variables. In fact there are much more of them (DOCUMENT_ROOT, HTTP_ACCEPT_ENCODING, HTTP_CACHE_CONTROL, HTTP_CONNECTION, SERVER_ADDR, SERVER_SOFTWARE, SERVER_PROTOCOL, …). Their quantity can depend on settings of both a server and a client.

[eminimall]
These are examples of variable values:
REMOTE_ADDR = 194.85.1.1
HTTP_ACCEPT_LANGUAGE = ru
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
HTTP_HOST = www.webserver.ru
HTTP_VIA = 194.85.1.1 (Squid/2.4.STABLE7)
HTTP_X_FORWARDED_FOR = 194.115.5.5

Anonymity at work in Internet is determined by what environment variables “hide” from a web-server.
If a proxy server is not used, then environment variables look in the following way:
REMOTE_ADDR = your IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined

According to how environment variables “hided” by proxy servers, there are several types of proxies

Transparent Proxies
They do not hide information about your IP address:
REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = your IP

The function of such proxy servers is not the improvement of your anonymity in Internet. Their purpose is information cashing, organization of joint access to Internet of several computers, etc.

Anonymous Proxies
All proxy servers, that hide a client?s IP address in any way are called anonymous proxies

Simple Anonymous Proxies

These proxy servers do not hide a fact that a proxy is used, however they replace your IP with its own:
REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = proxy IP
These proxies are the most widespread among other anonymous proxy servers.

Distorting Proxies

As well as simple anonymous proxy servers these proxies do not hide the fact that a proxy server is used. However a client?s IP address (your IP address) is replaced with another (arbitrary, random) IP:
REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = random IP address

High Anonymity Proxies

These proxy servers are also called “high anonymity proxy”. In contrast to other types of anonymity proxy servers they hide a fact of using a proxy:
REMOTE_ADDR = proxy IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined
That means that values of variables are the same as if proxy is not used, with the exception of one very important thing ? proxy IP is used instead of your IP address.

Summary
Depending on purposes there are transparent and anonymity proxies. However, remember, using proxy servers you hide only your IP from a web-server, but other information (about browser configuration) is accessible!
There are two ways to configure an ADSL modem for broadband connection. One in PPPoE (Point to Point Protocol over Ethernet) and the another is Bridge mode.

1.PPPoE Mode


In this mode the modem works as router and the PPPoE session terminates on WAN port of router. The PPPoE client is in built in the modem and allocated by BRAS server gets assigned to WAN port of modem. The Internal network has to use the private IP and for Internet access NATing happens in modem. In PPPoE mode the modem is configured in such a way that the user id and password are stored inside the Modem. Internet connection will be established as you switch on the Modem.

 
 
PPPoE Mode
 
2.Bridge Mode

In this mode the modem works as transparent Ethernet bridge and therefore you need to run the PPPoE client software ( for login authentication) on your PC/server. WIN XP systems have this feature inbuilt but for other operating systems you need to buy it from market. Some freeware like RASPPPoE, Enternet etc. are also available on the Internet.

bridge mode

Both the modes can be used as per the requirement and application. Here enumerating the main differences

PPPoE mode

1. User id and password stored inside the Modem.
2. Multiple PCs can be connected. For example most of the basic ADSL Modems having at least one ADSL port and one USB port. In PPPoE mode, can connect one PC to Ethernet port and one PC to USB port which enable simultaneous internet usage in both the PCs.
3. PPPoE mode is more secured.
4. For Torrents download, appropriate ports need to be forwarded.

Bridge Mode

1. In bridge mode user id and password to be entered in the dialer of computer.
2. Only single PC can be connected.
3. For torrents download port forwarding is not required.
4. Less secured because all the ports are open need good firewall to avoid virus infection.
There are many applications that claim to help network administrators to trace, diagnose and resolve network related issue.

However, I strongly believe that knowing your basics is always the key to success. Therefore, knowledge of performing simple tasks such as checking the latency of your connection and tracing a route is essential for network professionals.

In this article I will tell you how to trace network related information using command prompt commands.


Tracert and netstat are command line names that are enough to scare any user from using the command prompt. Nonetheless, such command are still widely used by network and system administrators to diagnose and resolve some very important network related issue.

Tracert

The path between two computers connected via the internet cannot be defined as a straight line.
It consists of numerous “hops” from one intermediate computer to another.

Tracert or traceroute is a command that shows the time taken for each hop and the IP address for each intermediary computer (as shown below).

An example of a tracert command would be something like: tracert google.com. You can also use the IP address instead of the hostname to use the tracert command. This command is used to see a network packet being sent and received and the amount of hops required for that packet to get to its destination. You can use tracert to determine where a packet stopped on the network. This can allow network professionals to establish if there is a router configuration problem.



Netstat shows the active TCP connections and ports for a computer, Ethernet statistics, the IP routing table, statistics for the IP, ICMP(Internet Control Message Protocol), TCP(Transmission Control Protocol), and UDP(User Datagram Protocol) protocols.

One possible use for Netstat is to determine if a malware may have established connections that you might be unaware of. If you type netstat /? And hit enter in your command prompt, you will be able to see details regarding a list of netstat commands.

For example nestat:
-a displays all connections.
-b displays the executable involved in creating each connection.
-e displays Ethernet statistics.
-f displays the FQDN (Fully Qualified Domain Name) for foreign addresses.
-n displays active TCP connections (addresses and port numbers are expressed numerically).
-p proto shows connections for the protocol specified by Proto.
- r displays the routing table.
-s displays the per protocol statistics.
-t displays the current connection offload state.
interval re-displays selected statistics, pausing interval seconds between each display.

For more information simply use the netstat /? command.



Commands like netstat and tracert are by no means obsolete and will be used for many years to come.


Do you want to create a quick network connection between two computers or laptops to share some files?

Or maybe you want to share an internet connection? Windows 7 and Vista have a build-in feature to create a quick ad hoc wireless network connection, this means you can connect directly with another computer or laptop without the need of a router.


To begin, click Start and select Network. Now click on Network And Sharing Center as shown in the screenshot below. If you can’t find Network, then type Network in Start Search and hit Enter.

icon of network connection

Now in the left sidebar, click Set Up A Connection Or Network. From the list select Set Up A Wireless Ad Hoc(Computer-To-Computer) Network option and click Next.

set up wireless ad hoc network connection

Click Next again and it will ask you to type a Network name and select the Security settings as shown in the screenshot below.

network name and security coptions

Make sure you select a good password, if you don’t know which security type to select, click on Help Me Choose link next to it. After you are done click Next and the Network connection will be ready.
Now in the Network And Sharing Center you can choose what to share as you can see from the screenshot below.

sharing and discovery

To Share an Internet Connection, click View Status next to the connection that you want to share. Now click on Properties button which you will find under Activity.

Click on the Sharing tab and tick the checkbox where it says Allow Other Network Computers To Connect Through This Computer’s Internet Connection. Under Home Networking Connection select Wireless network Connection and click OK.

network connection sharing properties

Now your connection is ready to to shared. To enable the wireless network connection you just made, go to Start and click Connect To.

connect to a network

You will see your wireless connection listed there. Select your connection and click Connect.

wireless network connection

You will see a success message as shown below.

Wireless is ready to be used

You will see your connection listed under Wireless Network Connection on the other computer. Simply connect from there and you are done sharing the internet connection.

Note: To connect successfully make sure the wireless hardware is enabled on both computers or laptops.

Having two computers at your home, you may have only one internet connection which you want to share between two computers.
Now consider there are two computers. Computer A has Windows Vista while computer B has Windows XP. Computer A is connected to internet via cable (so this will be connected through LAN card). Now to connect to Computer B, you will need another LAN card (to connect to more than one computer, you will need a wired hub).

First, Let us connect two computers in LAN

Follow these steps to connect two computers in LAN.

Step 1: In Windows 7/Vista, you should enable Sharing and Discovery before doing that. You can do this by going to Control Panel > Network and Sharing Centre. Under the section Sharing and Discovery, enable Network Discovery, file sharing, public folder sharing and others if you want to. (The screen short below gives you idea). Here first network shows connection to internet and second one the local connection with another computer.



 
Step 2: If your LAN card that is connecting to another computer is installed, it will be shown at Control Panel > Network Connections.

Step 3: Right click the Local Area Connection and click Properties.

Step 4: Under the tab ‘Networking’, click the properties internet protocol version 4(TCP/IPv4).

Step 5: Click the radio button to ‘use the following IP’ and give an IP address (Forexample: IP address: 192.168.0.1 and Subnet Mask: 255.255.255.0). Do not give any other information, Click OK and close.
 
Step 6: In Computer B, make sure you enable the LAN card which is used to connect to computer A. Here you need not give any IP information as Computer A will assign an IP address dynamically. If it is not working, make sure there are no IP assigned and change the properties to ‘obtain an IP address automatically’.
 
Step 7: Test the connection by pinging (You can do this by typing ping 192.168.0.1 or whichever is Computer ‘A’s IP in the command prompt).

Now let us share the internet connection of Computer A with Computer B

Right click the LAN card which is connected to the internet under Control Panel > Network Connections and click the Sharing tab and click both options to connect internet (Remember: Unless there is another enabled LAN setting you will not be able to see the shared tab under properties). Click OK and close. This option is given by Windows known as ICS (Internet Connection Sharing).

That is it, now you can use internet in both computers A and B.
This is step by step tutorial on how you can connect two laptops using WiFi (or two desktop computers with WiFi devices). This type of network is known as peer to peer network and is useful for file sharing and using same internet connection on both systems. So as told earlier you should have two laptops with WiFi or desktops with WiFi devices to make this connection.

Connecting Two Computers Using WiFi

Let’s name both laptops as PC1 and PC2. Now we need to set names and workgroups of both computers (Remember both computers will have same workgroups). To set the name and workgroup of both computers right click on My Computer and select Properties.

Click the tab which says Computer Name and change names of computers as you like (Here we will set computer names PC1 and PC2) and also change the Workgroup option as you like (but this Workgroup should be same for both computers).



Now you need to make “Wireless Network Connection” in PC1.
Right click on Wireless Network icon for this and click on option “View Available Wireless Network”.


Now click on option “Change Advance Settings”.


Now a windows “Wireless Internet Connection Properties” will open.

Click on the tab which says “Wireless Network” and then click Add button. Now write a name in Network Name field. You can also set a password here if you like and also remember to check the option “This is computer to computer network”.

Now press OK and “wireless network properties” will be closed.



Now in next step, you need to provide IP for network in “Internet Protocol (TCP/IP)”. For this, right click on “Wireless Internet Connection” and go in Properties and click Internet Protocols and then click Properties.
Here For example.

PC1 = IP Address: 192.168.1.1 Subnet Mask: 255.255.255.0
PC2 = IP Address: 192.168.1.2 Subnet Mask: 255.255.255.0
And Default Gateway as 192.168.1.1 (same as IP address of PC1). Having done this all, you can connect both computers using WiFi.


PC2

File Sharing Between Both Computers

Now for file sharing Enable the Sharing of “Shared Folder” in both computers. So to go in other computer, write IP address of that computer in address bar of first computer and press Enter (in this case write \\192.168.1.1 and press Enter). This will open other computer’s sharing folder where you can share file, delete files or rename them (make sure to allow these actions from other computer).

Wireless Internet Sharing Between Both Computers

It is very easy to do when you have followed above procedure. Right click on “Internet Connections” on one computer (which has internet connection in it) and go in Properties and click on Sharing and check the option which says “Allow other network users to connect through this computer” and select “Wireless Internet Connection” in “Home Network Connection”. If you want you can also check “Establish Dialup Connection” and “Allow Other Network” .



That is it. You have connected both computers using WiFi and now you can share files, play games and chat on this network.

The IPv6 Address Space

The most obvious distinguishing feature of IPv6 is its use of much larger addresses. The size of an address in 

IPv6 is 128 bits, which is four times the larger than an IPv4 address. A 32-bit address space allows for 232 or 4,294,967,296 possible addresses. A 128-bit address space allows for 2128 or 340,282,366,920,938,463,463,374,607,431,768,211,456 (or 3.4´1038 or 340 undecillion) possible addresses.

In the late 1970s when the IPv4 address space was designed, it was unimaginable that it could be exhausted. 

However, due to changes in technology and an allocation practice that did not anticipate the recent explosion of hosts on the Internet, the IPv4 address space was consumed to the point that by 1992 it was clear a replacement would be necessary.

With IPv6, it is even harder to conceive that the IPv6 address space will be consumed. To help put this number in perspective, a 128-bit address space provides 655,570,793,348,866,943,898,599 (6.5´1023) addresses for every square meter of the Earth’s surface.

It is important to remember that the decision to make the IPv6 address 128 bits in length was not so that every square meter of the Earth could have 6.5´1023 addresses. Rather, the relatively large size of the IPv6 address is designed to be subdivided into hierarchical routing domains that reflect the topology of the modern-day Internet. The use of 128 bits allows for multiple levels of hierarchy and flexibility in designing hierarchical addressing and routing that is currently lacking on the IPv4-based Internet.

The IPv6 addressing architecture is described in RFC 4291.

 

IPv6 Address Syntax

IPv4 addresses are represented in dotted-decimal format. This 32-bit address is divided along 8-bit boundaries. Each set of 8 bits is converted to its decimal equivalent and separated by periods. For IPv6, the 128-bit address is divided along 16-bit boundaries, and each 16-bit block is converted to a 4-digit hexadecimal number and separated by colons. The resulting representation is called colon-hexadecimal.

The following is an IPv6 address in binary form:                                       
0010000000000001000011011011100000000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010

The 128-bit address is divided along 16-bit boundaries:
0010000000000001   0000110110111000   0000000000000000   0010111100111011   0000001010101010   0000000011111111   1111111000101000   1001110001011010   

Each 16-bit block is converted to hexadecimal and delimited with colons. The result is:
2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A

IPv6 representation can be further simplified by removing the leading zeros within each 16-bit block. However, each block must have at least a single digit. With leading zero suppression, the address representation becomes:
2001:DB8:0:2F3B:2AA:FF:FE28:9C5A

Compressing Zeros

Some types of addresses contain long sequences of zeros. To further simplify the representation of IPv6 addresses, a contiguous sequence of 16-bit blocks set to 0 in the colon hexadecimal format can be compressed to “::”, known as double-colon.

For example, the link-local address of FE80:0:0:0:2AA:FF:FE9A:4CA2 can be compressed to FE80::2AA:FF:FE9A:4CA2. The multicast address FF02:0:0:0:0:0:0:2 can be compressed to FF02::2.

Zero compression can only be used to compress a single contiguous series of 16-bit blocks expressed in colon hexadecimal notation. You cannot use zero compression to include part of a 16-bit block. For example, you cannot express FF02:30:0:0:0:0:0:5 as FF02:3::5. The correct representation is FF02:30::5.

To determine how many 0 bits are represented by the “::”, you can count the number of blocks in the compressed address, subtract this number from 8, and then multiply the result by 16. For example, in the address FF02::2, there are two blocks (the “FF02” block and the “2” block.) The number of bits expressed by the “::” is 96 (96 = (8 – 2)´16).

Zero compression can only be used once in a given address. Otherwise, you could not determine the number of 0 bits represented by each instance of “::”.

IPv6 Prefixes

 

The prefix is the part of the address that indicates the bits that have fixed values or are the bits of the subnet prefix. Prefixes for IPv6 subnets, routes, and address ranges are expressed in the same way as Classless Inter-Domain Routing (CIDR) notation for IPv4. An IPv6 prefix is written in address/prefix-length notation. 

For example, 21DA:D3::/48 and 21DA:D3:0:2F3B::/64 are IPv6 address prefixes.

Note  IPv4 implementations commonly use a dotted decimal representation of the network prefix known as the subnet mask. A subnet mask is not used for IPv6. Only the prefix length notation is supported.

Types of IPv6 Addresses

 

There are three types of IPv6 addresses:

1.   Unicast
A unicast address identifies a single interface within the scope of the type of unicast address. With the appropriate unicast routing topology, packets addressed to a unicast address are delivered to a single interface.

2.   Multicast
A multicast address identifies multiple interfaces. With the appropriate multicast routing topology, packets addressed to a multicast address are delivered to all interfaces that are identified by the address. A multicast address is used for one-to-many communication, with delivery to multiple interfaces.

3.   Anycast
An anycast address identifies multiple interfaces. With the appropriate routing topology, packets addressed to an anycast address are delivered to a single interface, the nearest interface that is identified by the address. 

The “nearest” interface is defined as being closest in terms of routing distance. An anycast address is used for one-to-one-of-many communication, with delivery to a single interface.

In all cases, IPv6 addresses identify interfaces, not nodes. A node is identified by any unicast address assigned to one of its interfaces.

Note  RFC 4291 does not define a broadcast address. All types of IPv4 broadcast addressing are performed in IPv6 using multicast addresses. For example, the subnet and limited broadcast addresses from IPv4 are replaced with the link-local scope all-nodes multicast address of FF02::1.

Links and Subnets

Similar to IPv4, an IPv6 subnet prefix is assigned to a single link. Multiple subnet prefixes can be assigned to the same link. This technique is called multinetting.

IPv4
IPv6
Source and destination addresses are 32 bits (4 bytes) in length.
Source and destination addresses are 128 bits (16 bytes) in length. For more information, see “IPv6 Addressing.”
IPsec support is optional.
IPsec support is required. For more information, see “IPv6 Header.”
No identification of packet flow for QoS handling by routers is present within the IPv4 header.
Packet flow identification for QoS handling by routers is included in the IPv6 header using the Flow Label field. For more information, see “IPv6 Header.”
Fragmentation is done by both routers and the sending host.
Fragmentation is not done by routers, only by the sending host. For more information, see “IPv6 Header.”
Header includes a checksum.
Header does not include a checksum. For more information, see “IPv6 Header.”
Header includes options.
All optional data is moved to IPv6 extension headers. For more information, see “IPv6 Header.”
Address Resolution Protocol (ARP) uses broadcast ARP Request frames to resolve an IPv4 address to a link layer address.
ARP Request frames are replaced with multicast Neighbor Solicitation messages. For more information, see “Neighbor Discovery.”
Internet Group Management Protocol (IGMP) is used to manage local subnet group membership.
IGMP is replaced with Multicast Listener Discovery (MLD) messages. For more information, see “Multicast Listener Discovery.”
ICMP Router Discovery is used to determine the IPv4 address of the best default gateway and is optional.
ICMP Router Discovery is replaced with ICMPv6 Router Solicitation and Router Advertisement messages and is required. For more information, see “Neighbor Discovery.”
Broadcast addresses are used to send traffic to all nodes on a subnet.
There are no IPv6 broadcast addresses. Instead, a link-local scope all-nodes multicast address is used. For more information, see “Multicast IPv6 Addresses.”
Must be configured either manually or through DHCP.
Does not require manual configuration or DHCP. For more information, see “Address Autoconfiguration.”
Uses host address (A) resource records in the Domain Name System (DNS) to map host names to IPv4 addresses.
Uses host address (AAAA) resource records in the Domain Name System (DNS) to map host names to IPv6 addresses. For more information, see “IPv6 and DNS.”
Uses pointer (PTR) resource records in the IN-ADDR.ARPA DNS domain to map IPv4 addresses to host names.
Uses pointer (PTR) resource records in the IP6.ARPA DNS domain to map IPv6 addresses to host names. For more information, see “IPv6 and DNS.”
Must support a 576-byte packet size (possibly fragmented).
Must support a 1280-byte packet size (without fragmentation). For more information, see “IPv6 MTU.”

IPv6 Features

The following are the features of the IPv6 protocol:
·         New header format
·         Large address space
·         Efficient and hierarchical addressing and routing infrastructure
·         Stateless and stateful address configuration
·         Built-in security
·         Better support for prioritized delivery
·         New protocol for neighboring node interaction
·         Extensibility
The following sections discuss each of these new features in detail.

New Header Format

The IPv6 header has a new format that is designed to keep header overhead to a minimum. This is achieved by moving both non-essential fields and optional fields to extension headers that are placed after the IPv6 header. The streamlined IPv6 header is more efficiently processed at intermediate routers.
IPv4 headers and IPv6 headers are not interoperable. IPv6 is not a superset of functionality that is backward compatible with IPv4. A host or router must use an implementation of both IPv4 and IPv6 in order to recognize and process both header formats. The new IPv6 header is only twice as large as the IPv4 header, even though IPv6 addresses are four times as large as IPv4 addresses.

Large Address Space

IPv6 has 128-bit (16-byte) source and destination IP addresses. Although 128 bits can express over 3.4´1038 possible combinations, the large address space of IPv6 has been designed to allow for multiple levels of subnetting and address allocation from the Internet backbone to the individual subnets within an organization.
Even though only a small number of the possible addresses are currently allocated for use by hosts, there are plenty of addresses available for future use. With a much larger number of available addresses, address-conservation techniques, such as the deployment of NATs, are no longer necessary.

Efficient and Hierarchical Addressing and Routing Infrastructure

IPv6 global addresses used on the IPv6 portion of the Internet are designed to create an efficient, hierarchical, and summarizable routing infrastructure that is based on the common occurrence of multiple levels of Internet service providers. 

Stateless and Stateful Address Configuration

To simplify host configuration, IPv6 supports both stateful address configuration, such as address configuration in the presence of a DHCP server, and stateless address configuration (address configuration in the absence of a DHCP server). With stateless address configuration, hosts on a link automatically configure themselves with IPv6 addresses for the link (called link-local addresses) and with addresses derived from prefixes advertised by local routers. Even in the absence of a router, hosts on the same link can automatically configure themselves with link-local addresses and communicate without manual configuration.

Built-in Security

Support for IPsec is an IPv6 protocol suite requirement. This requirement provides a standards-based solution for network security needs and promotes interoperability between different IPv6 implementations.

Better Support for Prioritized Delivery

New fields in the IPv6 header define how traffic is handled and identified. Traffic identification using a Flow Label field in the IPv6 header allows routers to identify and provide special handling for packets belonging to a flow, a series of packets between a source and destination. Because the traffic is identified in the IPv6 header, support for prioritized delivery can be achieved even when the packet payload is encrypted with IPsec.

New Protocol for Neighboring Node Interaction

The Neighbor Discovery protocol for IPv6 is a series of Internet Control Message Protocol for IPv6 (ICMPv6) messages that manage the interaction of neighboring nodes (nodes on the same link). Neighbor Discovery replaces the broadcast-based Address Resolution Protocol (ARP), ICMPv4 Router Discovery, and ICMPv4 Redirect messages with efficient multicast and unicast Neighbor Discovery messages.

Extensibility

IPv6 can easily be extended for new features by adding extension headers after the IPv6 header. Unlike options in the IPv4 header, which can only support 40 bytes of options, the size of IPv6 extension headers is only constrained by the size of the IPv6 packet.