Professional Documents
Culture Documents
IPv4
IPv6
Fragmentation is done by sender and forwarding routers. No packet flow identification. Checksum field is available in header Options fields are available in header. Address Resolution Protocol (ARP) is available to map IPv4 addresses to MAC addresses. Internet Group Management Protocol (IGMP) is used to manage multicast group membership. Broadcast messages are available. Manual configuration (Static) of IP addresses or DHCP (Dynamic configuration) is required to configure IP addresses.
Inbuilt IPSec support. Fragmentation is done only by sender. Packet flow identification is available within the IPv6 header using the Flow Label field. No checksum field in header. No option fields, but Extension headers are available. Address Resolution Protocol (ARP) is replaced with Neighbor Discovery Protocol. IGMP is replaced with Multicast Listener Discovery (MLD) messages. Broadcast messages are not available. Instead a linklocal scope all-nodes multicast address is used for broadcast. Auto-configuration of addresses is available.
We may divide IPv6 datagram packet header as three parts. 1) IPv6 datagram packet header 2) Extension Header 3) Upper Layer Protocol Data. IPv6 datagram packet has also extension headers of varying lengths. If extension headers are present in IPv6 datagram packet, a Next Header field in the IPv6 header points the first extension header. Each extension header contains another Next Header field, pointing the next extension header. The last IPv6 datagram packet extension header points the upper layer protocol header (Transmission Control Protocol (TCP), User , or Internet Control Message Protocol (ICMPv6)). There is no "options" in IPv6 datagram packet header, which was present in IPv4 header.
Version: The size of the Version field is 4 bits. The Version field shows the version of IP and is set to 6. Traffic Class: The size of Traffic Class field is 8 bits. Traffic Class field is similar to the IPv4 Type of Service (ToS) field. The Traffic Class field indicates the IPv6 packets class or priority. Flow Label: The size of Flow Label field is 20 bits. The Flow Label field provide additional support for realtime datagram delivery and quality of service features. The purpose of Flow Label field is to indicate that this packet belongs to a specific sequence of packets between a source and destination and can be used to prioritized delivery of packets for services like voice. Payload Length: The size of the Payload Length field is 16 bits. The Payload Length field shows the length of the IPv6 payload, including the extension headers and the upper layer protocol data Next Header: The size of the Next Header field is 8 bits. The Next Header field shows either the type of the first extension (if any extension header is available) or the protocol in the upper layer such as TCP, UDP, or ICMPv6. Hop Limit: The size of the Hop Limit field is 8 bits The Hop Limit field shows the maximum number of routers the IPv6 packet can travel. This Hop Limit field is similar to IPv4 Time to Live (TTL) field. Source Address: The size of the Source Address field is 128 bits. The Source Address field shows the IPv6 address of the source of the packet. Destination Address: The size of the Destination Address field is 128 bits. The Destination Address field shows the IPv6 address of the destination of the packet.
The features of IPv6 are listed below. New Packet Format and Header: IPv6 specifies a new packet format. The new IPv6 packet format helps to minimize packet header processing by routers. This is achieved by moving both nonessential and optional fields to extension headers that are placed after the IPv6 header. Since IPv4 packets and IPv6 packets are significantly different, the two protocols are not interoperable. Large Address Space: IPv4 has 32 bit (4-byte) address space, but IPv6 has 128-bit (16-byte) address space. The very large IPv6 address space supports a total of 2128 (3.41038) addresses. This large address space allow a better, systematic, hierarchical allocation of addresses and efficient route aggregation. With the large number of available addresses we can eliminate address-conservation techniques like NAT (Network Address Translation). Statefull and Stateless IPv6 address configuration: In IPv6 statefull or stateless configuration is possible. Hosts on a link can automatically configure with IPv6 addresses called link-local addresses and with addresses derived from prefixes advertised by local routers. When first connected to a network, a host sends a link-local router solicitation multicast request for its configuration parameters. The router which is available in the link responds to the request from the host with a router advertisement packet that contains network-layer configuration parameters. Hosts can configure link-local addresses automatically and communicate each other without manual configuration even there is no router available. The hosts may also have stateful configuration with the Dynamic Host Configuration Protocol version 6 (DHCPv6) or static configurations, as IPv4. Multicast: The three types of communication available in in IPv4 are unicast, multicast and broadcast. Unicast is one-to-one communication; multicast is one-to-many communication and broadcast is one-to-all communication. The transmission of a packet to all hosts was performed by using special broadcast addresses in IPv4. Broadcast communication is not available in IPv6 and therefore does not define broadcast addresses. In IPv6, the effect of broadcast can be achieved by sending a packet to the link-local all nodes multicast group at address ff02::1. Integrated Internet Protocol Security (IPSec): Internet Protocol Security (IPSec) is a set of Internet standards that uses cryptographic security services to provide Confidentiality, Authentication, Data integrity. The support for Internet Protocol Security (IPSec) was optional in IPv4. Internet Protocol Security (IPSec) is an integral part of the base protocol suite in IPv6. Internet Protocol Security (IPSec) support is mandatory in IPv6. Neighbor Discovery Protocol: The Neighbor Discovery Protocol (NDP) is a protocol available IPv6. The Neighbor Discovery protocol (NDP) is based on Internet Control Message Protocol Version 6 (ICMPv6) messages that manage the interaction nodes on the same link. There is no Address Resolution Protocol (ARP) for IPv6 and the role of the Address Resolution Protocol (ARP) is replaced by Neighbor Discovery Protocol (NDP). Extensibility: The features of IPv6 can be extended by adding extension headers after IPv6 header. The size IPv6 extension headers is constrained only by the size of the IPv6 packet, unlike 40 bytes of options of IPv4. Jumbograms: Jumbograms is an optional feature of IPv6. Jumbograms allow packets with payloads 2^32 - 1 (4,294,967,295) bytes by making use of a 32-bit length field.
Limitations of IPv4
The Internet Protocol Version 4 (IPv4) is defined by IETF (http://www.ietf.org ) RFC 791. RFC 791 was published in 1981. Initial design of IPv4 did not anticipate the growth of internet and this created many issues, which proved IPv4 need to be changed. The main limitations of IPv4 are listed below. Scarcity of IPv4 Addresses: The IPv4 addressing system uses 32-bit address space. This 32-bit address space is further classified to usable A, B, and C classes. 32-bit address space allows for 4,294,967,296 IPv4 addresses, but the previous and current IPv4 address allocation practices limit the number of available public IPv4 addresses. Many addresses which are allocated to many companies were not used and this created scarcity of IPv4 addresses. Because scarcity of IPv4 addresses, many organizations implemented NAT (Network Address Translation) to map multiple private addresses to a single public IP address. By using NAT (Network Address Translation) we can map many internal private IPV4 addresses to a public IPv4 address, which helped in conserving IPv4 addresses. But NAT (Network Address Translation) also have many limitations. NAT (Network Address Translation) do not support network layer security standards and it do not support the mapping of all upper layer protocols. NAT can also create network problems when two organizations which use same private IPv4 address ranges communicate. More servers, workstations and devices which are connected to the internet also demand the need for more addresses and the current statistics prove that public IPv4 address space will be depleted soon. The scarcity of IPv4 address is a major limitation of IPv4 addressing system. Security Related Issues: As we discussed before, RFC 791 (IPv4) was published in 1981 and the current network security threats were not anticipated that time. Internet Protocol Security (IPSec) is a protocol suit which enables network security by protecting the data being sent from being viewed or modified. Internet Protocol Security (IPSec) provides security for IPv4 packets, but Internet Protocol Security (IPSec) is not built-in and optional. Many IPSec implementations are proprietary. Address configuration related issues: Networks and also internet is expanding and many new computers and devices are using IP. The configuration of IP addresses (static or dynamic) should be simple. Quality of service (QoS): Quality of Service (QoS) is available in IPv4 and it relies on the 8 bits of the IPv4 Type of Service (TOS) field and the identification of the payload. IPv4 Type of Service (TOS) field has limited functionality and payload identification (uses a TCP or UDP port) is not possible when the IPv4 packet payload is encrypted.
Features of TCP/IP
The industry was using TCP/IP around 25 years. It is a tested and proved protocol suit. 1) Multi-Vendor Support. TCP/IP is implemented by many hardware and software vendors. It is an industry standard and not limited to any specific vendor. 2) Interoperability. Today we can work in a heterogeneous network because of TCP/IP. A user who is sitting on a Windows box can download files from a Linux machine, because both Operating Systems support TCP/IP. TCP/IP eliminates the cross-platform boundaries. 3) Logical Addressing. Every network adapter has a globally unique and permanent physical address, which is known as MAC address (or hardware address). The physical address is burnt into the card while manufacturing. Low-lying hardware-conscious protocols on a LAN deliver data packets using the adapter's
physical address. The network adapter of each computer listens to every transmission on the local network to determine whether a message is addressed to its own physical address. For a small LAN, this will work well. But when your computer is connected to a big network like internet, it may need to listen to millions of transmissions per second. This may cause your network connection to stop functioning. To avoid this, network administrators often segment (divide) big networks into smaller networks using devices such as routers to reduce network traffic, so that the unwanted data traffic from one network may not create problem in another network. A network can be again subdivided into smaller subnets so that a message can travel efficiently from its source to the destination. TCP/IP has a robust subnetting capability achieved using logical addressing. A logical address is an address configured through the network software. The logical addressing system used in TCP/IP protocol suit is known as IP address. 4) Routability. A router is a network infrastructure device which can read logical addressing information and direct data across the network to its destination.TCP/IP is a routable protocol, which means the TCP/IP data packets can be moved from one network segment to another. 5) Name Resolution. IP addresses are designed for the computers and it is difficult for humans to remember many IP addresses. TCP/IP allows us to use human-friendly names, which are very easy to remember (Ex. www.omnisecu.com). Name Resolutions servers (DNS Servers) are used to resolve a human readable name (also known as Fully Qualified Domain Names (FQDN)) to an IP address and vice versa. 6) Error Control and Flow Control.The TCP/IP protocol has features that ensure the reliable delivery of data from source computer to the destination computer. TCP (Transmisssion Control Protocol) defines many of these error-checking, flow-control, and acknowledgement functions. 7) Multiplexing/De-multiplexing. Multiplexing means accepting data from different applications and directing that data to different applications listening on different receiving computers. On the receiving side the data need to be directed to the correct application, for that data was meant for. This is called De-multiplexing. We can run many network applications on the same computer. By using logical channels called ports, TCP/IP provides means for delivering packets to the correct application. In TCP/IP, ports are identified by using port numbers.
TCP/IP History
The predecessor of todays Internet was ARPAnet, created by the Advanced Research Projects Agency (ARPA) and launched in 1969 during "Cold War". The extreme distrust that existed between USA and USSR (Soviet Union) was almost on the verge of a nuclear war during that time. "Cold War" was the term used to describe the relationship between USA and USSR during period 1945 to 1990. ARPAnet was created in response to the potential threat of nuclear attack from the Soviet Union. One of ARPAs primary goals was to design a fault-tolerant network that would enable U.S. military leaders to stay in contact in case of nuclear war. The protocol used on the ARPAnet was called Network Control Protocol (NCP). As the ARPAnet grew, however, a new protocol was needed because NCP was not able to fulfil all the needs of a larger network. In 1974 Vint Cerf and Bob Kahn, published a paper A Protocol for Packet Network Interconnection. This paper describes the Transmission Control Protocol (TCP), which eventually replaced NCP. By 1978, testing and further development of this language led to a new suite of protocols called Transmission Control Protocol/Internet Protocol (TCP/IP). In 1982, it was decided that TCP/IP would replace NCP as the standard language of the ARPAnet. RFC 801 describes how and why the transition from NCP to TCP was to take place. On January 1, 1983, ARPAnet switched over to TCP/IP, and the network continued to grow very fast.
ARPAnet ceased to exist in 1990. The Internet has since grown from ARPAnets roots, and TCP/IP has evolved to meet the changing requirements of the Internet.
In this lesson, you will learn more about User Datagram Protocol (UDP), User Datagram Protocol (UDP) header and header fields. User Datagram Protocol (UDP) is a protocol at Transport Layer, which is not reliable when compared with Transmission Control Protocol (TCP). User Datagram Protocol (UDP) is also called as a connection less protocol. UDP is much simpler than TCP, and it doesn't perform any of the complex functions of TCP we discuss before. UDP is basically an application interface to IP. UDP provides no reliability, flow-control, or error recovery to IP. UDP only serves as a multiplexer/demultiplexer using port numbers. Following are the important characteristics of UDP. 1) User Datagram Protocol (UDP) is a connectionless protocol, which means UDP is not a reliable protocol when compared with Transmission Control Protocol (TCP). 2) User Datagram Protocol (UDP) is capable of performing fundamental error checking. The UDP header includes a checksum field that the destination device can use to check the integrity of the data. 3) User Datagram Protocol (UDP) does not provide sequencing of data. Therefore, the data may arrive at the destination device in a different order from which it was sent. This may happen in large networks, such as the Internet, where the Datagrams might take different paths to the destination and experience delays in different routers. In LAN's sequencing is not going to create problems. Applications that require sequencing must code their own sequencing mechanism as part of the application.
Source Port Number: The first 16 bits of the UDP header contain the port number of the application sending the data. Destination Port Number: The next 16 bits contain the port number of the application that receives this data. Length: The next 16 bits identify how long the datagram is in bits. Checksum: The last 16 bits of the UDP header are reserved for the checksum value. Checksum is used as an error-detection mechanism. The source machine runs a mathematical algorithm on the datagram. The destination, or recipient, machine runs the same mathematical algorithm on the datagram. If the both values match we can assume that the datagram wasn't damaged while its journey. The checksum field includes a 12-byte 'pseudo header' that includes the source and destination IP addresses, the 8-bit reserved field containing 0, the 8-bit protocol ID and the 16-bit UDP length field. The pseudo header is useful to check that the IP datagram arrived at the correct station. Important protocols which use UDP as the Transport Layer protocol are Trivial File Transfer Protocol (TFTP), Domain Name System (DNS), Remote Procedure Call (RPC) used by the Network File System (NFS), Simple Network Management Protocol (SNMP) and Lightweight Directory Access Protocol (LDAP). For a complete list of Well Known port numbers, visit IANA Port Number Assignment web page. You have learned about User Datagram Protocol (UDP), different fields in User Datagram Protocol (UDP) Header. Click "Next" to continue. Seven Layers of Open Systems Interconnection (OSI) Model
attached to the transmission media. Physical layer of the Open Systems Interconnection (OSI) model does not include the transmission media. Transmission media stays outside the scope of the Physical Layer and are also referred to as Layer 0 of the Open Systems Interconnection (OSI) Model.
The protocols operating at the Transport Layer, TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) uses a mechanism known as "Port Number" to enable multiplexing and de-multiplexing. Port numbers identify the originating network application on the source computer and destination network application on the receiving computer.
Like OSI network model, TCP/IP also has a network model. TCP/IP was on the path of development when the OSI standard was published and there was interaction between the designers of OSI and TCP/IP standards. The TCP/IP model is not same as OSI model. OSI is a seven-layered standard, but TCP/IP is a four layered standard. The OSI model has been very influential in the growth and development of TCP/IP standard, and that is why much OSI terminology is applied to TCP/IP. The following figure compares the TCP/IP and OSI network models.
Comparison between seven layer OSI and four layer TCP/IP Models As we can see from the above figure, presentation and session layers are not there in OSI model. Also note that the Network Access Layer combines the functions of Datalink Layer and Physical Layer.
Application layer includes all the higher-level protocols like DNS (Domain Naming System), HTTP (Hypertext Transfer Protocol), Telnet, FTP (File Transfer Protocol), TFTP (Trivial File Transfer Protocol), SNMP (Simple Network Management Protocol), SMTP (Simple Mail Transfer Protocol) , DHCP (Dynamic Host Configuration Protocol), X Windows, RDP (Remote Desktop Protocol) etc.
between Application layer and Internet layer. The purpose of Transport layer is to permit devices on the source and destination hosts to carry on a conversation. Transport layer defines the level of service and
status of the connection used when transporting data. The main protocols included at Transport layer are TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).
Network Access Layer and Transport Layer. Internet layer pack data into data packets known as IP datagrams, which contain source and destination address (logical address or IP address) information that is used to forward the datagrams between hosts and across networks. The Internet layer is also responsible for routing of IP datagrams.
Packet switching network depends upon a connectionless internetwork layer. This layer is known as internet layer, is the linchpin that holds the whole design together. Its job is to allow hosts to insert packets into any network and have them to deliver independently to the destination. At the destination side data packets may appear in a different order than they were sent. It is the job of the higher layers to rearrange them in order to deliver them to proper network applications operating at the Application layer. The main protocols included at Internet layer are IP (Internet Protocol), ICMP (Internet Control Message Protocol), ARP (Address Resolution Protocol), RARP (Reverse Address Resolution Protocol) and IGMP (Internet Group Management Protocol).