IP, ICMP - CSCI 6433 Internet Protocols

Download Report

Transcript IP, ICMP - CSCI 6433 Internet Protocols

Class 4
Internet Protocols
CSCI 6433
DAVID C. ROBERTS
1
Tonight
The homework
A word about switches
Internet Protocol (IP)
Internet Control Message Protocol (ICMP)
2
A word about the
homework
3
Typical Ethernet Configuration
4
Hub—Switch Differences
What they do
What a host sees
Setup
5
Bus Network Topology
6
Star Network Topology
7
Star-Bus Network Topology
8
The Problem
9
Mixed Network
10
How the Switch Works
11
CAM Table
Switch has a content-addressable memory (CAM) table with a list of
MAC addresses and port numbers on the switch
CAM table is built up by experience, allows selective forwarding instead
of broadcast
What happens if the CAM table capacity is exceeded?
12
Switches and ARP
There is a desire to reduce ARP traffic
◦ Due to ARP cache timeouts, there will be a significant amount of ARP traffic
on any network
◦ Switches can help reduce ARP traffic
Switch, in addition to CAM table, can build its own ARP cache
◦ Switch knows when a network adapter is down, so knows the only times a
MAC address can change
◦ Switch knows IP addresses from earlier ARP traffic
When A sends an ARP request to B
◦ If switch has IP-MAC mapping for B in its cache, switch can reply directly to A
◦ ARP message is not broadcast
This can be very confusing
◦ A sends broadcast message that is never broadcast
◦ B receives a phantom message that never came from A
13
Agenda
Internet Protocol
Routing
Error and Control Messages
14
Internet protocol
15
Internet Services
Much of the Internet’s success is due to the robustness and
adaptability of this architecture.
16
Goals for IP
Universally addressed—IP defines addressing mechanism
for the network and uses these addresses for delivery
Independent of underlying protocol—IP is designed to
operate over any lower-level protocol that will work with
TCP/IP
Connectionless—operates without defined connections
Unreliable—devices just send each datagram and then go
on to the next one, don’t wait to check success
No acknowledgement—datagrams are delivered without a
“thank you” note
17
Basic Functions of IP
Addressing: mechanism for unique addressing across the entire
Internet
Data Encapsulation and Packaging: accepts data from the transport
layer protocols at a higher level, encapsulates them into an IP datagram,
and passes them to the lower level for transmission
Fragmentation and reassembly: If the message exceeds maximum
frame size, IP fragments it into multiple datagrams, and reassembles
them at the destination. If a router along the communication path
fragments a datagram, the same reassembly takes place at the
destination.
Routing: sends a datagram to a distant network using routers
18
IP Operation
19
The Bigger Picture
20
Why Is IP Successful?
It’s simple
Hardware, software to implement it are simple
Simplicity leads to low cost and high performance
21
IPv4 Datagram
22
IPv6 Header Format
23
IPv6 Base Header
24
Datagram Encapsulation
Datagram can be any length. Desirable for datagram to be carried in a
single physical frame. Physical network does not know about datagram
header.
Different physical networks have different frame sizes, so
datagrams must sometimes be fragmented into frames.
Routers must accept datagrams up to maximum MTU of the
networks they connect to.
25
26
IPv4 Fragmentation
Fragmentation can occur at any router along the path
taken by a datagram.
Fragment headers are like datagram header, except for
flag that shows that it is a fragment.
27
IPv6 Fragmentation
Source host required to find minimum MTU along path to the
destination
Message is to be sent in datagrams that will fit into minimum MTU on
path to the destination
Source host uses path MTU discovery (PMTUD) to find the MTU of the
path to the destination
Fragmented IPv6 datagrams use a Fragment Extension Header
28
Datagram Reassembly
Where are fragments reassembled?
◦ At the destination
◦ When entering network with high enough MTU
Reassembled at destination
◦ Avoids refragmentation and reassembly
◦ Allows each to be separately routed
29
IP Forwarding
30
Hosts and Routers Forward
31
Direct, Indirect Delivery
Direct delivery
◦ Transmission of a datagram between two machines on a
single physical network
◦ Also the final step in indirect delivery
Indirect delivery
◦ Transmission of a datagram between two machines that
are not connected to the same network
◦ Sender chooses router, sends datagram to it
◦ Router extracts datagram from message, encapsulates it
and sends it to another router
32
Direct Delivery
Sender encapsulates the datagram in a physical frame
Next-hop address is bound to destination machine’s physical hardware
address
Resulting frame is sent directly to the destination machine
Question: How does the sending machine
know whether to use direct delivery?
33
Indirect Delivery
Sending host encapsulates datagram in a frame and sends to the
nearest router
Router software extracts the encapsulated datagram and IP software
selects the next router to receive it (or uses direct delivery)
Datagram is placed into a frame and sent over the second physical
network to the next router
This continues until a router is reached that can use direct delivery
34
IP Operation
35
Table-Driven Forwarding
Hosts and routers have IP forwarding tables
Forwarding table gives “next hop”—where to send a
datagram as its next step toward its destination
Size of forwarding table is an issue
◦ Can’t have information about all possible hosts
◦ IP forwarding is done on a network basis
◦ Default next hop is used for networks not listed in routing
table
Host-specific routes are useful for some situations
36
Next-Hop Forwarding
Next-hop forwarding helps to keep forwarding tables small
Forwarding tables tend to have nearby networks
Forwarding table is a set of pairs (N,R)
◦ N is network prefix for an Internet network
◦ R is the IP address of the “next hop” router to reach N
◦ Each R is a router that is reachable across a single network
37
38
Processing Incoming Datagrams
Hosts discard datagrams not intended for them; but routers
must forward them
First, if datagram is for an attached network, then it is sent
on the attached network
If not, then TTL field is decremented; if it reaches zero, then
datagram is discarded
Routing table is used to select outgoing network, net hop
address
Datagram is sent to the next hop IP address
39
Default Routes
IP forwarding software first looks for the destination network in its
forward table
If not found, then the default next-hop address is used
Useful if many networks are reached through a single router
40
Broadcast and Multicast
Forwarding becomes more complex when broadcast and multicast are
included
These will be covered later
41
Establishing Forwarding Tables
IP forwarding relies on correct information in forwarding tables
These must be correct across the entire Internet
Their maintenance is a significant job
To be discussed later
42
Summary
Routing is the method used to forward IP datagrams
Choice of where to send datagram is based on destination network
address
Routing algorithm chooses next hop for a datagram
With few exceptions, routing is based on destination address only
43
Error and control
messages (ICMP)
44
Question
Suppose a router can’t contact the next hop router to forward a
datagram
What should that router do?
Should it contact the router that sent it the datagram?
45
Internet Control Message Protocol
Initial purpose of ICMP was to allow routers to report the cause of
delivery errors to hosts
Any machine can send an ICMP message to any other machine,
although some ICMP messages are sent only by routers
ICMP is used to report problems to the source of the datagram
Router finding an error cannot report the error to other routers that
have processed the datagram
46
Error Reporting, Error Correction
ICMP is an error reporting mechanism
Error correction is the job of machine receiving the message
Source may refer datagram back to the originating application or take
other action
47
ICMP Message Encapsulation
ICMP messages are encapsulated inside a datagram, travel the same
way as every other datagram.
Question: Can an IP datagram carrying an ICMP message, if it causes
an error, cause another IP datagram to be sent with an ICMP message
about the first ICMP message?
48
ICMP Message Types
0 Echo Reply
12 Datagram Parameter
Problem
3 Destination Unreachable
13 Timestamp Request
4 Source Quench
14 Timestamp Reply
5 Redirect
8 Echo Request
9 Router Advertisement
10 Router Solicitation
11 Datagram Time Exceeded
15 Information Request
16 Information Reply
17 Address Mask Request
18 Address Mask Reply
Obsolete—formerly used by host
to find router address, now
replaced by RARP and DHCP
49
ICMPv4 Message Types
50
ICMPv6 Message Types
51
Ping
Echo Request and Echo Reply
◦ Host sends ICMP echo request
◦ Recipient sends ICMP echo reply to original sender
Verifies that major pieces of transport system are
working
◦ Host must route the datagram
◦ Routers must operate, route the datagram
◦ Destination machine must respond, its ICMP, IP software
must be working
ICMP Echo Request command is often called Ping
52
Echo Request and Reply Message Format
Sender uses IDENTIFIER and SEQ NUMBER to match replies to requests
Echo reply sends back the data included in the request
53
Destination Unreachable (3)
When router can’t forward or deliver an IP datagram, it sends
destination unreachable message back to original source and drops the
datagram
CODE field further describes the problem, such as network or host
unreachable, destination host or network unknown, fragmentation
needed and DF set
54
Congestion and Flow Control
Congestion—router is overrun with traffic. Router
enqueues messages that can’t be processed in memory. If
high traffic continues, memory can be exhausted.
Sources of congestion:
◦ Many computers send datagrams through one router
◦ High-speed computer sends many datagrams through a router
connected to its network
Datagrams can be enqueued in memory temporarily
If memory is exhausted, then datagrams are discarded and
Source Quench messages are sent
55
Source Quench
Source quench is a request for the source to slow rate of datagram
transmission. Usually router sends one message for every datagram
that is discarded
Source can identify the datagram that was lost by using the datagram prefix
56
Circular Routes
Time exceeded message says that hop count has reached zero, or
message has timed out on arrival of fragments of a datagram.
57
Parameter Problem
Incorrect datagram header prevents delivery, and datagram must be
discarded
58
Clock Synchronization
First machine asks for timestamp, second machine sends current time
of day
Times in milliseconds since midnight, UT. Originate timestamp
at time request was sent; receive is time of receipt of request,
transmit time of transmission of reply.
59
Subnet Mask
Subnet address mask specifies which part of IP address contains the
network ID and which contains the host ID
60
Router Advertisement
ICMP provides a method for a host to discover a router address
dynamically, when router advertises its addresses; typically sent every
ten minutes
Other methods are available (BOOTP, DHCP) that depend
on database set up by network administrator.
61
Router Solicitation
New host can’t wait 10 minutes to find a router! Solicitation allows host
to request immediate advertisement.
Message is sent to all-routers multicast (24.0.0.2), if
supported. Otherwise, send to limited broadcast address
(i.e., all 1’s for hostid). In response, router sends normal
router advertisement.
62
Summary
Datagram Delivery (Internet Protocol)
Routing
ICMP
63