You are on page 1of 14

Contents

LECTURE 5
• I. Internetworking
Internet Protocol
• II. IPv4
• III. IPv6
• IV. Transition form IPv4 to IPv6

Chapter 18 Internetwork Protocols


(William Stallings, Data and Computer Communications, 7th
Edition)
Chapter 20 Network Layer: Internet Protocol
(Forouzan, Data Communications and Networking, 4th Edition)
1 2

20-1 INTERNETWORKING Figure 20.1 Links between two hosts

In this section, we discuss internetworking, connecting


networks together to make an internetwork or an
internet.

Topics discussed in this section:


Need for Network Layer
Internet as a Datagram Network
Internet as a Connectionless Network
•LAN/WAN only delivers frame within its own network
3 •Not capable of routing packet to another network on its own 4
Figure 20.2 Network layer in an internetwork Figure 20.3 Network layer at the source, router, and destination

• Create a packet with header • Verify destination address


(source and destination address) • Reassemble fragments
• Network layer provides a glue for sending packets from • Locate outgoing interface
one LAN/WAN to another LAN/WAN 5 6

Figure 20.3 Network layer at the source, router, and destination (2)
20-2 IPv4
• Look up routing table and identify
outgoing interface
The Internet Protocol version 4 (IPv4) is the delivery
• Universal network layer address mechanism used by the TCP/IP protocols.
is used to route packet from
source to destination • Provide unreliable and connectionless datagram service
• Each packet is treated • Best effort delivery (like post office)
independently and may be routed • Assume unreliable underlying network
differently • Additional service (TCP) can be used for reliable data transfer
• Connectionless is much simpler in
a heterogeneous network
Topics discussed in this section:
Datagram
• Switching at the network layer in the Internet uses
Fragmentation
the datagram approach to packet switching.
Checksum
• Communication at the network layer in the Internet is Options
7 8
connectionless.
Figure 20.4 Position of IPv4 in TCP/IP protocol suite Figure 20.5 IPv4 datagram format

• HLEN = Header length in 4-byte unit


9
• Total length includes both header and data in byte 10

Figure 20.6 Service type or differentiated services Table 20.1 Types of service

• Legacy • Codepoint = 000xxx


• Precedence = datagram • Same interpretation
priority under congested as service type
situation • Used for service called
DiffServ to provide
quality of service
• The precedence subfield was part of version 4, but
never used
• Only 1 bit can have value of 1
11 12
Table 20.2 Default types of service
Table 20.3 Values for codepoints

Codepoint Assigning Authority


XXXXX0 Internet
XXXX11 Local
XXXX01 Temporary

13 14

Figure 20.7 Encapsulation of a small datagram in an Ethernet frame Figure 20.8 Protocol field and encapsulated data

• The total length field defines the total length of


the datagram including the header
• Identification, flags, and fragmentation offset are used
• Ethernet has a restriction on minimum frame
for fragmentation
size (46 bytes)
• Time-to-live restricts maximum number of hops that a
• Padding is needed packet can travel
• Protocol indicates which higher layer protocol (TCP,
UDP, ICMP, etc.) should receive this packet
15 16
Table 20.4 Protocol values
Example 20.1

An IPv4 packet has arrived with the first 8 bits as shown:


01000010
The receiver discards the packet. Why?

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

Example 20.2 Example 20.3

In an IPv4 packet, the value of HLEN is 5, and the value of


In an IPv4 packet, the value of HLEN is 1000 in binary. the total length field is 0x0028. How many bytes of data
How many bytes of options are being carried by this are being carried by this packet?
packet?

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

19 20
Example 20.4 Figure 20.9 Maximum transfer unit (MTU)

An IPv4 packet has arrived with the first few hexadecimal


digits as shown.
0x45000028000100000102 . . .
How many hops can this packet travel before being
dropped? The data belong to what upper-layer protocol?

Solution • Maximum datagram size is restricted by


To find the time-to-live field, we skip 8 bytes. The time-to- hardware and software used in the network
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. 21 22

Table 20.5 MTUs for some networks Quiz #8 (11:55 to 12:10 PM)

• Explain why do we need to fragment packet?


• What is the minimum size and maximum size of
an IP packet that travel through two networks
(Ethernet and X.25)?

• Transmission is more efficient with large packet


• But if necessary, datagram can be fragmented
several times before reaching the destination 23 24
Figure 20.10 Flags used in fragmentation Figure 20.11 Fragmentation example

• Fragment is necessary because format and size


of frame depend on physical layer protocol
• M = 1 means more fragment
• Fragmentation offset indicates offset of the data
in original datagram measured in units of 8-byte • Required part of header must be copied to all fragments
• Identification/Source address must be unique
— All fragments share the same identification number
• Flag, fragmentation offset, and total length are changed
— And checksum recalculated
25 26

Figure 20.12 Detailed fragmentation example Example 20.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 non-fragmented
packet is considered the last fragment.
Fragment can also
be fragmented
27 28
Example 20.6 Example 20.7

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

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

Example 20.8 Example 20.9

A packet has arrived in which the offset value is 100. What A packet has arrived in which the offset value is 100, the
is the number of the first byte? Do we know the number of value of HLEN is 5, and the value of the total length field
the last byte? is 100. What are the numbers of the first byte and the last
byte?
Solution Solution
To find the number of the first byte, we multiply the offset The first byte number is 100 × 8 = 800. The total length is
value by 8. This means that the first byte number is 800. 100 bytes, and the header length is 20 bytes (5 × 4), which
We cannot determine the number of the last byte unless we means that there are 80 bytes in this datagram. If the first
know the length. byte number is 800, the last byte number must be 879.

31 32
Example 20.10 Figure 20.5 IPv4 datagram format

Figure 20.13 shows an example of a checksum calculation


for an IPv4 header without options. The header is divided
into 16-bit sections. All the sections are added and the sum
is complemented. The result is inserted in the checksum
field.

• HLEN = Header length in 4-byte unit


33
• Total length includes both header and data in byte 34

Figure 20.13 Example of checksum calculation in IPv4 Figure 20.14 Taxonomy of options in IPv4

• Checksum is
Filler
used to detect
error in header Padding

• Save on
processing
time

• Strict source route: All routers must be visited


• Loose source route: Can also visit other routers
35
• Timestamp records time of processing by router 36
20-3 IPv6 IPv6 Advantages
• Larger address space
The network layer protocol in the TCP/IP protocol • Better header format allows routers to ignore options
suite is currently IPv4. Although IPv4 is well designed, • New options
data communication has evolved since the inception of
• Allowance for protocol extensions
IPv4 in the 1970s. IPv4 has some deficiencies that
• Support for resource allocation and reservation
make it unsuitable for the fast-growing Internet. — Enabling source to request special handling
— Good for real-time audio and video
• Support for more security
Topics discussed in this section:
— Encryption and Authentication options
Advantages
• Integrate other protocols (ARP, RARP, IGMP) into
Packet Format
ICMPv6
Extension Headers

37 38

Figure 20.15 IPv6 datagram header and payload Figure 20.16 Format of an IPv6 datagram

39 40
IPv6 Flow Label IPv6 Fields
• Flow label provides special handling for a • Payload length excludes base header
particular data flow • Next header indicates optional extension
• Flow shares the same path, uses the same headers of header of encapsulated packet (UDP)
resource, and has the same kind of security
—Also exist in each extension header
—Separate protocol is needed to setup how router treat
each flow, such as Real-Time Protocol (RTP) or • Hop limit is the same as Time-to-live field
Resource Reservation Protocol (RSVP) • Source and destination addresses are 128 bits
—Special treatment for each flow such as high
bandwidth, large buffer, long processing time, and —Destination address = next router for source routing
resource reservation
• Flow can also be used to speed up processing
• Use a random 24-bit number or zero if not
supported
41 42

IPv6 Priority
Table 20.6 Next header codes for IPv6

• Indicate packet priority with respect to other


packets from the same source
• Two sets of values
—Congestion-controlled traffic if source can adapt itself
to traffic slowdown when there is congestion
—Noncongestion-controlled traffic if retransmission is
mostly impossible

43 44
Table 20.7 Priorities for congestion-controlled traffic Table 20.8 Priorities for noncongestion-controlled traffic

• Data with least redundancy indicates that


discarding a packet can lead to large drop in
quality
• Used for low-fidelity audio or low bit-rate video

45 46

Table 20.9 Comparison between IPv4 and IPv6 packet headers Figure 20.17 Extension header types

Need to pass information


to all routers visited
> 65535 Bytes
Strict & loose source routes

Validate sender &


Ensure data integrity

lower
• Only original source can fragment packet
• Prevented by using path MTU discovery technique
• Intermediate router is not permitted to look at
47 Destination option 48
Table 20.10 Comparison between IPv4 options and IPv6 extension headers 20-4 Transition from IPv4 to IPv6

Because of the huge number of systems on the


Internet, the transition from IPv4 to IPv6 cannot
happen suddenly. It takes a considerable amount of
time before every system in the Internet can move from
IPv4 to IPv6. The transition must be smooth to prevent
any problems between IPv4 and IPv6 systems.

Topics discussed in this section:


Dual Stack
Tunneling
Header Translation
49 50

Figure 20.18 Three transition strategies Figure 20.19 Dual stack

• Use IPv4 stack if DNS return IPv4 address


51 52
Figure 20.20 Tunneling strategy Figure 20.21 Header translation strategy

• Majority of users has moved to IPv6


• Protocol value of IPv4 header is set to 41 (IPv6)
• Use mapped IPv6 address

53 54

Figure 19.18 Reserved addresses in IPv6 Table 20.11 Header translation

• Compatible is used when two IPv6 nodes communicate via


IPv4 network
• Mapped is used when IPv6 node communicates with IPv4
node 55 56

You might also like