0% found this document useful (0 votes)
43 views

IPv4 IPv6 Header

The document discusses the Internet Protocol (IP) which is used at the network layer of the TCP/IP protocol suite. IP uses packets called datagrams which contain a header and data. The header contains information for routing and delivery and is typically 20-60 bytes long. Datagrams can be fragmented if needed to fit into smaller maximum transmission units on different networks. Fragmentation uses flags and offset fields in the IP header.

Uploaded by

Dr. Suman Rani
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

IPv4 IPv6 Header

The document discusses the Internet Protocol (IP) which is used at the network layer of the TCP/IP protocol suite. IP uses packets called datagrams which contain a header and data. The header contains information for routing and delivery and is typically 20-60 bytes long. Datagrams can be fragmented if needed to fit into smaller maximum transmission units on different networks. Fragmentation uses flags and offset fields in the IP header.

Uploaded by

Dr. Suman Rani
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 55

7-1 INTRODUCTION

The Internet Protocol (IP) is the transmission


mechanism used by the TCP/IP protocols at the
network layer.

TCP/IP Protocol Suite 1


Topics Discussed in the Section
Relationship of IP to the rest of the TCP/IP Suite

TCP/IP Protocol Suite 2


Figure 7.1 Position of IP in TCP/IP protocol suite

TCP/IP Protocol Suite 3


7-2 DATAGRAMS

Packets in the network (internet) layer are called


datagrams. A datagram is a variable-length packet
consisting of two parts: header and data. The header is
20 to 60 bytes in length and contains information
essential to routing and delivery. It is customary in
TCP/IP to show the header in 4-byte sections. A brief
description of each field is in order.

TCP/IP Protocol Suite 4


Topics Discussed in the Section
Format of the datagram packet
Some examples

TCP/IP Protocol Suite 5


Figure 7.2 IP datagram

TCP/IP Protocol Suite 6


Figure 20.6 Service type or differentiated services

20.7
Table 20.1 Types of service

20.8
Note

The total length field defines the total


length of the datagram including the
header.

TCP/IP Protocol Suite 9


Figure 7.4 Encapsulation of a small datagram in an Ethernet frame

TCP/IP Protocol Suite 10


Figure 7.5 Multiplexing

TCP/IP Protocol Suite 11


TCP/IP Protocol Suite 12
Example 7.1
An IP packet has arrived with the first 8 bits as shown:

The receiver discards the packet. Why?

TCP/IP Protocol Suite 13


Example 7.1
An IP packet has arrived with the first 8 bits as shown:

The receiver discards the packet. Why?

Solution
There is an error in this packet. The 4 left-most bits (0100) show
the version, which is correct. The next 4 bits (0010) show the
wrong header length (2 × 4 = 8). The minimum number of bytes in
the header must be 20. The packet has been corrupted in
transmission.

TCP/IP Protocol Suite 14


Example 7.2
In an IP packet, the value of HLEN is 1000 in binary. How many
bytes of options are being carried by this packet?

TCP/IP Protocol Suite 15


Example 7.2
In an IP packet, the value of HLEN is 1000 in binary. How many
bytes of options are being carried by this packet?

Solution
The HLEN value is 8, which means the total number of bytes in
the header is 8 × 4 or 32 bytes. The first 20 bytes are the base
header, the next 12 bytes are the options.

TCP/IP Protocol Suite 16


Example 7.3
In an IP packet, the value of HLEN is 516 and the value of the total
length field is 002816. How many bytes of data are being carried by
this packet?

Solution
The HLEN value is 5, which means the total number of bytes in
the header is 5 × 4 or 20 bytes (no options). The total length is 40
bytes, which means the packet is carrying 20 bytes of data (40 −
20).

TCP/IP Protocol Suite 17


Example 7.4
An IP packet has arrived with the first few hexadecimal digits as
shown below:

How many hops can this packet travel before being dropped? The
data belong to what upper layer protocol?

Solution
To find the time-to-live field, we skip 8 bytes (16 hexadecimal
digits). The time-to-live field is the ninth byte, which is 01. This
means the packet can travel only one hop. The protocol field is the
next byte (02), which means that the upper layer protocol is IGMP
(see Table 7.2)

TCP/IP Protocol Suite 18


7-3 FRAGMENTATION

A datagram can travel through different networks.


Each router decapsulates the IP datagram from the
frame it receives, processes it, and then encapsulates it
in another frame. The format and size of the received
frame depend on the protocol used by the physical
network through which the frame has just traveled.
The format and size of the sent frame depend on the
protocol used by the physical network through which
the frame is going to travel.

TCP/IP Protocol Suite 19


A datagram of 300 b(20b header+2980 b payload) reached at
router and must be for to link with mtu of 500 b . How many
fragments will be generated and also find MF OFFSET TOTAL
LENGTH.
2980/480=7(6.8)
480*6=2880
LAST 100+20

P7 P6 P5 P4 P3 P2 P1
100+20 480+20 480+20 480+20 480+20 480+20 480+20
120 500 500 500 500 500 500 TL
0 1 1 1 1 1 1 MF
360 300 240 180 120 60 0 OFFSET

TCP/IP Protocol Suite 20


Topics Discussed in the Section
 Maximum Transfer Unit (MTU)
 Fields Related to Fragmentation

TCP/IP Protocol Suite 21


Figure 7.6 MTU

IP datagram

Header MTU Trailer


Maximum length of data that can be encapsulated in a frame
Frame

TCP/IP Protocol Suite 22


Table 20.5 MTUs for some networks

20.23
Note

Only data in a datagram is fragmented.

TCP/IP Protocol Suite 24


Figure 7.7 Flags field

TCP/IP Protocol Suite 25


Figure 7.8 Fragmentation example

Offset = 0000/8 = 0

0000 1399

Offset = 1400/8 = 175


1400 2799

Offset = 2800/8 = 350


2800 3999

TCP/IP Protocol Suite 26


Figure 7.9 Detailed fragmentation example

1420
14,567 1 000

Bytes 0000–1399 820


14,567 1 175
Fragment 1
4020
14,567 0 000
1420 Bytes 1400–2199
14,567 1 175
Fragment 2.1

Bytes 0000–3999
Bytes 1400–2799

Original datagram Fragment 2

1220
14,567 0 350

Bytes 2800–3999
Fragment 3

TCP/IP Protocol Suite 27


Example 7.5
A packet has arrived with an M bit value of 0. Is this the first
fragment, the last fragment, or a middle fragment? Do we know if
the packet was fragmented?

Solution
If the M bit is 0, it means that there are no more fragments; the
fragment is the last one. However, we cannot say if the original
packet was fragmented or not. A nonfragmented packet is
considered the last fragment.

TCP/IP Protocol Suite 28


Example 7.6
A packet has arrived with an M bit value of 1. Is this the first
fragment, the last fragment, or a middle fragment? Do we know if
the packet was fragmented?

Solution
If the M bit is 1, it means that there is at least one more fragment.
This fragment can be the first one or a middle one, but not the last
one. We don’t know if it is the first one or a middle one; we need
more information (the value of the fragmentation offset). See also
the next example.

TCP/IP Protocol Suite 29


Example 7.7
A packet has arrived with an M bit value of 1 and a fragmentation
offset value of zero. Is this the first fragment, the last fragment, or
a middle fragment?

Solution
Because the M bit is 1, it is either the first fragment or a middle
one. Because the offset value is 0, it is the first fragment.

TCP/IP Protocol Suite 30


Example 7.8
A packet has arrived in which the offset value is 100. What is the
number of the first byte? Do we know the number of the last byte?

Solution
To find the number of the first byte, we multiply the offset value
by 8. This means that the first byte number is 800. We cannot
determine the number of the last byte unless we know the length
of the data.

TCP/IP Protocol Suite 31


Example 7.9
A packet has arrived in which the offset value is 100, the value of
HLEN is 5 and the value of the total length field is 100. What is
the number of the first byte and the last byte?

Solution
The first byte number is 100 × 8 = 800. The total length is 100
bytes and the header length is 20 bytes (5 × 4), which means that
there are 80 bytes in this datagram. If the first byte number is 800,
the last byte number must be 879.

TCP/IP Protocol Suite 32


Figure 20.13 Example of checksum calculation in IPv4

20.33
7-4 OPTIONS

The header of the IP datagram is made of two parts: a


fixed part and a variable part. The fixed part is 20
bytes long and was discussed in the previous section.
The variable part comprises the options, which can be
a maximum of 40 bytes.
Options, as the name implies, are not required for a
datagram. They can be used for network testing and
debugging. Although options are not a required part
of the IP header, option processing is required of the
IP software.

TCP/IP Protocol Suite 34


Figure 7.11 Categories of options

TCP/IP Protocol Suite 35


changes implemented in the protocol in
addition to changing address size and
format.
 ❑ Better header format. IPv6 uses a new header
format in which options are separated from the base
header and inserted, when needed, between the base
header and the data. This simplifies and speeds up
the routing process because most of the options do
not need to be checked by routers.
 ❑ New options. IPv6 has new options to allow for
additional functionalities.
 ❑ Allowance for extension. IPv6 is designed to allow
the extension of the protocol if required by new
technologies or applications.

TCP/IP Protocol Suite 36


 ❑ Support for resource allocation. In IPv6, the type-of-
service field has been removed, but two new fields, traffic
class and flow label, have been added to enable the source
to request special handling of the packet. This mechanism
can be used to support traffic such as real-time audio and
video.

 ❑Support for more security. The encryption and


authentication options in IPv6 provide confidentiality and
integrity of the packet

TCP/IP Protocol Suite 37


27-2 PACKET FORMAT

The IPv6 packet is shown in Figure 27.1. Each packet


is composed of a mandatory base header followed by
the payload. The payload consists of two parts:
optional extension headers and data from an upper
layer. The base header occupies 40 bytes, whereas the
extension headers and data from the upper layer
contain up to 65,535 bytes of information.

TCP/IP Protocol Suite 38


Figure 20.15 IPv6 datagram header and payload

20.
39
Figure 27.1 IPv6 datagram

TCP/IP Protocol Suite 40


Figure 27.2 Format of the base header

TCP/IP Protocol Suite 41


 Version. The 4-bit version field defines the version number of the
IP. For IPv6, the value is 6.
 ❑ Traffic class. The 8-bit traffic class field is used to distinguish
different payloads with different delivery requirements. It
replaces the type-of-service field in IPv4.
 ❑ Flow label. The flow label is a 20-bit field that is designed to
provide special handling for a particular flow of data. We will
discuss this field later.
 ❑ Payload length. The 2-byte payload length field defines the
length of the IP datagram excluding the header. Note that IPv4
defines two fields related to the length: header length and total
length. In IPv6, the length of the base header is fixed (40 bytes);
only the length of the payload needs to be defined..

TCP/IP Protocol Suite 42


 ❑ Next header. The next header is an 8-
bit field defining the type of the first
extension header (if present) or the type
of the data that follows the base header
in the datagram. This field is similar to
the protocol field in IPv4, but we talk
more about it when we discuss the
payload

TCP/IP Protocol Suite 43


 Hop limit. The 8-bit hop limit field serves the
same purpose as the TTL field in IPv4.
 ❑ Source and destination addresses. The source
address field is a 16-byte (128-bit) Internet
address that identifies the original source of the
datagram. The destination address field is a 16-
byte (128-bit) Internet address that identifies
the destination of the datagram.
 ❑ Payload. Compared to IPv4, the payload field
in IPv6 has a different format

TCP/IP Protocol Suite 44


TCP/IP Protocol Suite 45
Figure 27.3 Extension header format

TCP/IP Protocol Suite 46


Table 20.9 Comparison between IPv4 and IPv6 packet
headers

20.47
Figure 20.17 Extension header types

20.
48
Table 20.10 Comparison between IPv4 options and IPv6 extension
headers

20.49
20.50
Mapping of ipv4 to ipv6
0000:0000:0000:0000:0000:FFFF:0000:00
00 (hexadecimal )
16+16+16+16+16+16+32(ipv4)
80 bits are all zero
example: 192.168.10.18
110000000.10101000.00001010.00011100
pair of 4
C0A8:0A1C
WRITTEN METHOD:
::FFFF: C0A8:0A1C

20.51
Transition from IPv4 to
IPv6
Figure 20.19 Dual stack

20.
53
Figure 20.20 Tunneling strategy

20.5
0

You might also like