User:Kin kad/sandbox

Internet Protocol version 10 (IPv10) is the tenth version of the Internet Protocol (IP). It is proposed to be one of the core protocols of internetworking methods in the Internet and other packet-switched networks. IPv10 is the Proposed version of Internet Protocol announced by an anonymous  group in 2023 on the Internet in June 2023. It is not yet in use

Like IPV6 IPv10 uses a 128-bit address space which provides 20,282,409,603,651,670,423,947,268,063,232 (2104x224) addresses. Which is split into 2104 networks and 224 or 16,777,216 hosts per network.

Purpose
The Internet Protocol is the protocol that defines and enables internetworking at the internet layer of the Internet Protocol Suite. In essence it forms the Internet. It uses a logical addressing system and performs routing, which is the forwarding of packets from a source host to the next router that is one hop closer to the intended destination host on another network.

IPv10 is a connectionless protocol, and operates on a best-effort delivery model, in that it does not guarantee delivery, nor does it assure proper sequencing or avoidance of duplicate delivery. These aspects, including data integrity, are addressed by an upper layer transport protocol, such as the Transmission Control Protocol (TCP).

Addressing
IPv10 uses 128-bit addresses which provides a total address space of 340,282,366,920,938,463,463,374,607,431,768,211,456 (2128) bits.

Address representations
IPv10 addresses may be represented in any notation expressing a 128-bit integer value. Like IPv6 IPv10 they are most often written in colin-hexadecimal notation, which consists of eight sixteen bit addresses expressed individually in hexadecimal numbers and separated by colin character.

For example, the colin-hexadecimal IP address AC02:90A0:8930:78B3:8902:39CF:EF10:965A/104 CIDR notation combines the address with its routing prefix in which the address is followed by a slash character followed by number one hunderand and four four(/104).

Allocation
IPv10 in the IP address was divided into two parts: the network identifier was the most significant 104 bits address, and the host identifier is the rest of the address. The latter is called the rest field. This structure permitted an extreme number of network identifiers needed to  scale as the world scales.

Link-local addressing
33,554,432 IP address have to be reserved for link-local address.

Loopback
The IP address ::1 is to be reserved as the loopback.

First and last host addresses
The first address in any network is used to communicate with the autonomous Authority(AA). To avoid ambiguity this address is reserved. In certain contexts, it is useful to have fixed addresses with functional significance.

AA servers reply to queries send to the first address of the network address i.e. the address at XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XX00:0000

If the address of the network has all host bits set to 1. It is used as a local broadcast address for sending messages to all devices on the network simultaneously. i.e. IP address XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXXff:ffff is considerd a broadcast address.

For example, the identifier AC02:90A0:8930:78B3:8902:39CF:ED00:0000 is used to refer to the entire network. The broadcast address of the network is AC02:90A0:8930:78B3:8902:39CF:EDff:ffff.

Address routing
In order to aid in routing requests made to a hosts in the network it requires a network to have an autonomous authority (AA) server which responds to requests made to at the first address of the network i.e. the address at XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XX00:0000

DNS Address resolution
Hosts on the Internet are usually known by names, e.g., www.example.com, not primarily by their IP address, which is used for routing and network interface identification. The use of domain names requires translating, called resolving, them to addresses and vice versa. This is analogous to looking up a phone number in a phone book using the recipient's name.

The translation between addresses and domain names is performed by the Domain Name System (DNS), a hierarchical, distributed naming system that allows for the subdelegation of namespaces to other DNS servers.

Packet structure
An IP packet consists of a header section and a data section. An IP packet has no data checksum or any other footer after the data section. Typically the link layer encapsulates IP packets in frames with a CRC footer that detects most errors, many transport-layer protocols carried by IP also have their own error checking.

Header
The IPv4 packet header consists of 14 fields, of which 13 are required. The 14th field is optional and aptly named: options. The fields in the header are packed with the most significant byte first (network byte order), and for the diagram and discussion, the most significant bits are considered to come first (MSB 0 bit numbering). The most significant bit is numbered 0, so the version field is actually found in the four most significant bits of the first byte, for example.


 * Version
 * The first header field in an IP packet is the four-bit version field. For IPv10, this is always equal to 10 (A in hexadecimal).


 * Internet Header Length (IHL)
 * The IPv10 header is variable in size due to the optional 14th field (options). The IHL field contains the size of the IPv10 header; it has 4 bits that specify the number of 32-bit words in the header. The minimum value for this field is 5, which indicates a length of 5 × 32 bits = 160 bits = 20 bytes. As a 4-bit field, the maximum value is 15; this means that the maximum size of the IPv4 header is 15 × 32 bits = 480 bits = 60 bytes.


 * Differentiated Services Code Point (DSCP)
 * this field specifies differentiated services (DiffServ) and }} Real-time data streaming makes use of the DSCP field. An example is Voice over IP (VoIP), which is used for interactive voice services.


 * Explicit Congestion Notification (ECN)
 * This field allows end-to-end notification of network congestion without dropping packets. ECN is an optional feature available when both endpoints support it and effective when also supported by the underlying network.


 * Total Length
 * This 16-bit field defines the entire packet size in bytes, including header and data. The minimum size is 20 bytes (header without data) and the maximum is 65,535 bytes. All hosts are required to be able to reassemble datagrams of size up to 576 bytes, but most modern hosts handle much larger packets. Links may impose further restrictions on the packet size, in which case datagrams must be fragmented. Fragmentation in IPv10 is performed in either the sending host or in routers. Reassembly is performed at the receiving host.


 * Identification
 * This field is an identification field and is primarily used for uniquely identifying the group of fragments of a single IP datagram. Some experimental work has suggested using the ID field for other purposes, such as for adding packet-tracing information to help trace datagrams with spoofed source addresses.


 * Flags
 * A three-bit field follows and is used to control or identify fragments. They are (in order, from most significant to least significant):
 * bit 0: Reserved; must be zero.
 * bit 1: Don't Fragment (DF)
 * bit 2: More Fragments (MF)
 * If the DF flag is set, and fragmentation is required to route the packet, then the packet is dropped. This can be used when sending packets to a host that does not have resources to perform reassembly of fragments. It can also be used for path MTU discovery, either automatically by the host IP software, or manually using diagnostic tools such as ping or traceroute.
 * For unfragmented packets, the MF flag is cleared. For fragmented packets, all fragments except the last have the MF flag set. The last fragment has a non-zero Fragment Offset field, differentiating it from an unfragmented packet.


 * Fragment offset
 * This field specifies the offset of a particular fragment relative to the beginning of the original unfragmented IP datagram. The fragmentation offset value for the first fragment is always 0. The field is 13 bits wide, so that the offset can be from 0 to 8191 (from (20 –1) to (213 – 1)). Fragments are specified in units of 8 bytes, which is why fragment length must be a multiple of 8 Therefore, the 13-bit field allows a maximum offset of  (213 – 1) × 8 = 65,528 bytes, with the header length included (65,528 + 20 = 65,548 bytes), supporting fragmentation of packets exceeding the maximum IP length of 65,535 bytes.


 * Time to live (TTL)
 * An eight-bit time to live field limits a datagram's lifetime to prevent network failure in the event of a routing loop. It is specified in seconds, but time intervals less than 1 second are rounded up to 1. In practice, the field is used as a hop count—when the datagram arrives at a router, the router decrements the TTL field by one. When the TTL field hits zero, the router discards the packet and typically sends an ICMP time exceeded message to the sender.
 * The program traceroute sends messages with adjusted TTL values and uses these ICMP time exceeded messages to identify the routers traversed by packets from the source to the destination.


 * Protocol
 * This field defines the protocol used in the data portion of the IP datagram. IANA maintains a list of IP protocol numbers as directed by RFC 790.


 * Header checksum
 * The 16-bit IPv4 header checksum field is used for error-checking of the header. When a packet arrives at a router, the router calculates the checksum of the header and compares it to the checksum field. If the values do not match, the router discards the packet. Errors in the data field must be handled by the encapsulated protocol. Both UDP and TCP have separate checksums that apply to their data.
 * When a packet arrives at a router, the router decreases the TTL field in the header. Consequently, the router must calculate a new header checksum.
 * The checksum field is the 16 bit one's complement of the one's complement sum of all 16 bit words in the header. For purposes of computing the checksum, the value of the checksum field is zero.


 * Source address
 * This 32-bit field is the IPv4 address of the sender of the packet. It may be changed in transit by network address translation (NAT).


 * Destination address
 * This 128-bit field is the IPv10 address of the receiver of the packet. It may be affected by NAT.


 * Options
 * The options field is not often used. Packets containing some options may be considered as dangerous by some routers and be blocked.The value in the IHL field must include sufficient extra 32-bit words to hold all options and any padding needed to ensure that the header contains an integral number of 32-bit words. If IHL is greater than 5 (i.e., it is from 6 to 15) it means that the options field is present and must be considered. The list of options may be terminated with the option EOOL (End of Options List, 0x00); this is only necessary if the end of the options would not otherwise coincide with the end of the header. The possible options that can be put in the header are as follows:
 * {|class=wikitable

!Field!!Size (bits)!!Description
 * Copied||1||Set to 1 if the options need to be copied into all fragments of a fragmented packet.
 * Option Class||2||A general options category. 0 is for control options, and 2 is for debugging and measurement. 1 and 3 are reserved.
 * Option Number||5||Specifies an option.
 * Option Length||8||Indicates the size of the entire option (including this field). This field may not exist for simple options.
 * Option Data||Variable||Option-specific data. This field may not exist for simple options.
 * }
 * The table below shows the defined options for IPv10. The Option Type column is derived from the Copied, Option Class, and Option Number bits as defined above.
 * Option Length||8||Indicates the size of the entire option (including this field). This field may not exist for simple options.
 * Option Data||Variable||Option-specific data. This field may not exist for simple options.
 * }
 * The table below shows the defined options for IPv10. The Option Type column is derived from the Copied, Option Class, and Option Number bits as defined above.
 * The table below shows the defined options for IPv10. The Option Type column is derived from the Copied, Option Class, and Option Number bits as defined above.

Data
The packet payload is not included in the checksum. Its contents are interpreted based on the value of the Protocol header field.

List of IP protocol numbers contains a complete list of payload protocol types. Some of the common payload protocols include:

Assistive protocols
IP addresses are not tied in any permanent manner to networking hardware and, indeed, in modern operating systems, a network interface can have multiple IP addresses. In order to properly deliver an IP packet to the destination host on a link, hosts and routers need additional mechanisms to make an association between the hardware address of network interfaces and IP addresses. The Address Resolution Protocol (ARP) performs this IP-address-to-hardware-address translation for IPv4. In addition, the reverse correlation is often necessary. For example, unless an address is preconfigured by an administrator, when an IP host is booted or connected to a network it needs to determine its IP address. Protocols for such reverse correlations include Dynamic Host Configuration Protocol (DHCP), Bootstrap Protocol (BOOTP) and, infrequently, reverse ARP.