Chapter 6 Dr. Ali Al-Hamdi 4
6.1.2 Datagram Format: IPv4
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 5
6.1.2 Datagram Format
Protocol field
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 6
6.1.2 Datagram Format
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 7
6.1.2 Datagram Format
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 8
6.1.3 Fragmentation
Motivations
Example
Maximum Transfer Unit Format
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 9
6.1.3 Fragmentation
Related fields
16-bit identification field
3-bit flages field
13- bit fragmentation offset field
Example
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 10
6.1.3 Fragmentation
Detailed example
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 11
6.1.3 Fragmentation
Fragmentation reassembling strategy
The final destination host can reassemble the original datagram from the
fragments received (if none of them is lost) using the
following strategy:
a. The first fragment has an offset field value of zero.
b. Divide the length of the first fragment by 8. The second fragment has an
offset value equal to that result.
c. Divide the total length of the first and second fragment by 8. The third
fragment has an offset value equal to that result.
d. Continue the process. The last fragment has its M bit set to 0.
e. Continue the process. The last fragment has a more bit value of 0.
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 12
6.1.3 Fragmentation
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 13
6.1.4 Options
Header Parts?
Options are used for
Network testing and debugging
Option processing is required of the IPv4 software
Options categories
Single-byte options
Multi-Byte Option
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 14
6.1.4 Options
Single-Byte Option
No operation: 1-byte option used as a filler between options.
End of operation: 1-byte option used for padding at the end of the
option field.
Multi-Byte Option
Record Route: used to record the Internet routers (up to 9 addresses)
that handle the datagram, and debugging and management purposes.
Strict Source Route: used by the source to predetermine a route for the
datagram as it travels through the Internet with a specific criteria such as?
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 15
6.1.4 Options
Multi-Byte Option
Loose Source Route: similar to the strict source route, but it is less
rigid. Each router in the list must be visited, but the datagram can visit
other routers as well.
Timestamp: used to record the time of datagram processing by a router
expressed in milliseconds from midnight, Universal time or GMT. So, it
can help users and managers track the behavior of the routers in the
Internet.
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 16
6.1.5 Security of IPv4 Datagram
Packet Sniffing
Packet Modification
IP spoofing
IP Sec
IP Sec services
Defining algorithms and keys
Packet encryption
Data integrity
Origin authentication
6.1 Internet Protocols
Chapter 6 Dr. Ali Al-Hamdi 17
IPv4 deficienies
Possible situations of errors occurrence?
Lack of mechanisms such as host management and
queries
Solution?
Facts about ICPM
Operating layer
ICMP messages are first encapsulated inside IP
datagrams before going to the lower layer.
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 18
6.2 ICMPv4
6.2.1 Messages
Message types
Error reporting messages: report problems that a router or a host
(destination) may encounter when it processes an IP packet. ICMP does
not correct errors, it simply reports them. Error correction is left to the
higher-level protocols.
Query message: help a host or a network manager to get specific
information from a router or another host to probe or test the liveliness of
hosts or routers in the Internet, find the one-way or the round-trip time for
an IP datagram between 2 devices, or even find out whether the clocks in
two devices are synchronized.
Chapter 6 Dr. Ali Al-Hamdi 19
6.2 ICMPv4
6.2.1 Messages
Message Format
Chapter 6 Dr. Ali Al-Hamdi 20
6.2.1 Messages
Error Reporting Messages
Rules ICMP follows
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 21
6.2 ICMPv4
6.2.1 Messages
Error Reporting Messages
Destination Unreachable: uses different codes (0 to 15) to define the
type of error message and the reason why a datagram has not reached its
final destination (code 0 is used for this purpose). For example, when we
use the HTTP protocol to access a web page, but the server is down.
Source Quench: informs the sender that the network has encountered
congestion and the datagram has been dropped; the source needs to slow
down sending more datagrams. In other words, ICMP adds a kind of
congestion control mechanism to the IP protocol by using this type of
message.
Chapter 6 Dr. Ali Al-Hamdi 22
6.2 ICMPv4
6.2.1 Messages
Error Reporting Messages
Redirection Message: used when the source uses a wrong router to
send out its message. The router redirects the message to the appropriate
router, but informs the source that it needs to change its default router in
the future. The IP address of the default router is sent in the message.
Time exceeded: When the TTL value becomes 0, the datagram is
dropped by the visiting router and a time exceeded message (type 11)
with code 0 is sent to the source to inform it about the situation. The time-
exceeded message (with code 1) can also be sent when not all fragments
of a datagram arrive within a predefined period of time.
Chapter 6 Dr. Ali Al-Hamdi 23
6.2 ICMPv4
6.2.1 Messages
Error Reporting Messages
Parameter problem: A parameter problem message (type 12) can be
sent when either there is a problem in the header of a datagram (code 0)
or some options are missing or cannot be interpreted (code 1).
Chapter 6 Dr. Ali Al-Hamdi 24
6.2.1 Messages
Query Messages
Echo request and echo replay: are used by a host or a router to test
the liveliness of another host or router. A host or router sends an echo
request message to another host or router; if the latter is alive, it responds
with an echo reply message using 2 debugging tools: ping and traceroute.
Timestamp request and timestamp replay: are used to find the
round-trip time between 2 devices or to check whether the clocks in 2
devices are synchronized. The timestamp request message sends a 32-bit
number, which defines the time the message is sent. The timestamp reply
resends that number, but also includes 2 new 32-bit numbers representing
the time the request was received and the time the response was sent.
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 25
6.2.1 Messages
Debugging Tools
Tools used: ICMP uses ping and traceroute
Function: determining the viability of a host or router (ping) and
tracing the route of a packet (traceroute) respectively.
Ping
Operation: The source host sends ICMP echo-request messages; the
destination, if alive, responds with ICMP echo-reply messages. The ping
program sets the identifier field in the echo-request and echo-reply
message and starts the sequence number from 0; this number is
incremented by 1 each time a new message is sent.
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 26
6.2.1 Messages
Debugging Tools
Ping Example:
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 27
6.2.1 Messages
Debugging Tools
Traceroute or Tracert
Used by: UNIX and Windows respectively
Tasks: find the packet path from a source to the destination + RTT cal.
Type of messages used: time-exceeded and destination-unreachable.
Traceroute Operation: If there are n routers in the path, the traceroute
sends (n + 1) messages. The first n messages are discarded by the n
routers, one by each router; the last message is discarded by the
destination host. The traceroute client program uses the (n + 1) ICMP
error-reporting messages received to find the path between the routers.
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 28
6.2.1 Messages
Debugging Tools
Traceroute or Tracert
Example
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 29
6.2.1 Messages
Debugging Tools
Traceroute or Tracert
Traceroute Operation (estimating RTT): Most traceroute
programs send three messages to each device, with the same TTL value,
to be able to find a better estimate for the round-trip time.
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 30
6.2.1 Messages
Debugging Tools
Traceroute or Tracert
Example (estimating RTT): Traceroute program uses three probes
for each device and gets three RTTs.
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 31
6.2.1 Messages
Debugging Tools
Traceroute orTracert
Tracert Operation: The tracert program in windows behaves
differently. The tracert messages are encapsulated directly in IP
datagrams. The tracert, like traceroute, sends echo-request messages.
However, when the last echo request reaches the destination host, an echo
replay message is issued.
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 32
6.2.3 ICMP Checksum
6.2 ICMPv4
Chapter 6 Dr. Ali Al-Hamdi 33
6.3.1 Addressing
Main problem in mobile communication? Why?
Stationary Hosts
Mobile Hosts: solutions
Changing the address
How?
Drawbacks
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 34
6.3.1 Addressing
Mobile Hosts
Two Addresses
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 35
6.3.2 Agents
Home Agent
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 36
6.3.2 Agents
Forgien Agent
Collocated care-of address
Advantage of collocated care-of address
Disadvantage of colloctaed care-of address
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 37
6.3.3 Three Phases
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 38
6.3.3 Three Phases
Agent Discovery
Agent Advertisement
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 39
6.3.3 Three Phases
Agent Discovery
Agent Advertisement
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 40
6.3.3 Three Phases
Agent Discovery
Agent Solicitation
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 41
6.3.3 Three Phases
Registration
Steps for registration
Registration Request
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 42
6.3.3 Three Phases
Registration
Steps for registration
Registration Request
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 43
6.3.3 Three Phases
Registration
Registration Reply
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 44
6.3.3 Three Phases
Data Transfer: Operation
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 45
6.3.4 Inefficiency in Mobile IP
Double Crossing
6.3 MOBILE IP
Chapter 6 Dr. Ali Al-Hamdi 46
6.3.4 Inefficiency in Mobile IP
Triangle Routing
Solution?
6.3 MOBILE IP