Class 4 Internet Protocols CSCI 6433 DAVID C. ROBERTS 1
Feb 24, 2016
1
Class 4Internet ProtocolsCSCI 6433DAVID C. ROBERTS
2
Tonight The homework
A word about switches
Internet Protocol (IP)
3
A word about the homework
4
Typical Ethernet Configuration
5
Hub—Switch Differences
What they do
What a host sees
Setup
6
Bus Network Topology
7
Star Network Topology
8
Star-Bus Network Topology
9
The Problem
10
Mixed Network
11
How the Switch Works
12
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?
13
Agenda Internet Protocol Routing Error and Control Messages
14
Internet protocol
Internet Services
15
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
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.
24
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
IPv4 Fragmentation
26
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
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
28
29
IP Forwarding
30
Hosts and Routers Forward
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
31
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
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
35
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
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
38
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
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
42
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?
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
45
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
ICMP Message Encapsulation
ICMP messages are encapsulated inside a datagram, travel the same way as every other datagram.
47
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?
ICMP Message Types 0 Echo Reply 3 Destination Unreachable 4 Source Quench 5 Redirect 8 Echo Request 9 Router Advertisement 10 Router Solicitation 11 Datagram Time Exceeded
48
12 Datagram Parameter Problem
13 Timestamp Request 14 Timestamp Reply 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
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
51
Echo Request and Reply Message Format
Sender uses IDENTIFIER and SEQ NUMBER to match replies to requests
52
Echo reply sends back the data included in the request
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
53
CODE field further describes the problem, such as network or host unreachable, destination host or network unknown, fragmentation needed and DF set
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
54
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
55
Source can identify the datagram that was lost by using the datagram prefix
Circular Routes Time exceeded message says that hop count has reached zero, or message has timed out on arrival of fragments of a datagram.
56
Parameter Problem Incorrect datagram header prevents delivery, and datagram must be discarded
57
Clock Synchronization First machine asks for timestamp, second machine sends current time of day
58
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.
Subnet Mask Subnet address mask specifies which part of IP address contains the network ID and which contains the host ID
59
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
60
Other methods are available (BOOTP, DHCP) that depend on database set up by network administrator.
Router Solicitation New host can’t wait 10 minutes to find a router! Solicitation allows host to request immediate advertisement.
61
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