Chapter 6 – Internet Protocol: Connectionless Datagram Delivery
This presentation is the property of its rightful owner.
Sponsored Links
1 / 47

Chapter 6 – Internet Protocol: Connectionless Datagram Delivery PowerPoint PPT Presentation


  • 62 Views
  • Uploaded on
  • Presentation posted in: General

Chapter 6 – Internet Protocol: Connectionless Datagram Delivery 6.3 Internet Architecture and Philosophy. Various later chapters about these. Chapter 12 will be about this layer. Chapters 6 - 8 are about this layer. NETWORK INTERFACE (MAC) LAYER Not part of IP. SMTP, HTTP, etc. TCP. IP.

Download Presentation

Chapter 6 – Internet Protocol: Connectionless Datagram Delivery

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Chapter 6 internet protocol connectionless datagram delivery

Chapter 6 – Internet Protocol: Connectionless Datagram Delivery

6.3 Internet Architecture and Philosophy

Various later chapters about these

Chapter 12 will be about this layer

Chapters 6 - 8 are about this layer

NETWORK INTERFACE (MAC) LAYER

Not part of IP


Chapter 6 internet protocol connectionless datagram delivery

SMTP, HTTP, etc.

TCP

IP

6.5 Connectionless Delivery System

Internet Protocol (IP) is an

► unreliable (best-effort)

► connectionless packet delivery service

(compare wired Ethernet)

(but some errors are reported)

6.6 Purpose of the Internet Protocol

Chapter 6 – Packet format Chapter 7 – Forwarding Chapter 8 – Error messages


Chapter 6 internet protocol connectionless datagram delivery

Figure 6.3 Format of an IP Datagram


Chapter 6 internet protocol connectionless datagram delivery

ORIGINAL

ULTIMATE

Figure 6.3 Format of an IP Datagram


Chapter 6 internet protocol connectionless datagram delivery

6.7.3 Datagram Encapsulation


Chapter 6 internet protocol connectionless datagram delivery

0800

IP DATAGRAM

Figure 2.2 Ethernet Frame Format


Chapter 6 internet protocol connectionless datagram delivery

6.7.4 (Payload) Fragmentation

Figure 6.7 Where Fragmentation Occurs


Chapter 6 internet protocol connectionless datagram delivery

Figure 6.8 (a) Original Datagram carrying 1400 octets of data

(b) For a network MTU of 620 the data are fragmented between

three new datagrams.

They must be complete datagrams, with header!


Chapter 6 internet protocol connectionless datagram delivery

6.7.5 Reassembly of Fragments

Where to reassemble the payload?

How to reassemble the payload?


Chapter 6 internet protocol connectionless datagram delivery

MF

1

1

0


Chapter 6 internet protocol connectionless datagram delivery

Chapter 7 IP: Forwarding IP Datagrams

Routers make forwarding decisions.

Hosts also make forwarding decisions.

sender

HOST

Fig 7.1 – blue host has three possible choices when transmitting a datagram


Chapter 6 internet protocol connectionless datagram delivery

7.3 Direct and Indirect Delivery of an IP Datagram

Direct: No router between source and destination

Indirect: sender must be able to identify first router in chain

Q: How does sender know that direct delivery is possible?

A: network parts of source and destination IP addresses are identical.


Chapter 6 internet protocol connectionless datagram delivery

7.3.1 Datagram Delivery over a Single Network

Last router in chain must deliver directly

Indirect delivery is a concatentation of direct deliveries;

Alternatively, direct delivery is the trivial case of indirect delivery.


Chapter 6 internet protocol connectionless datagram delivery

7.4 Table-Driven IP Forwarding

Routers store their forwarding instructions in “routing tables.”

Hosts also have routing tables, but they are small.

7.5 Next-Hop (Next-Stop?) Forwarding

A routing table contains pairs (N,R) where N is the IP address of a destination network and R is the IP address of the “next” router along the path to N.

The “next hop” must be a directly-connected router.

A router knows only the “next hop” along the way, not the complete path to the destination.


Chapter 6 internet protocol connectionless datagram delivery

Fig. 7.2(b) the routing table in R

Size of routing table is proportional to number of networks.


Chapter 6 internet protocol connectionless datagram delivery

BHM

CHL

NO

ATL

Routes are chosen only on basis of destination network

Consequences of choosing routes based only on the destination network:

► all traffic from a source to a given destination follows the same path; multiple paths may not be followed concurrently.

► only the final router along the path can know if the destination

is operational (for Ethernet, not even the final router).

► forward and reverse paths may be different.


Chapter 6 internet protocol connectionless datagram delivery

7.6 Default Routes

Routing table in Q:

Huge benefit!

Entire external Internet can often be collapsed into a single entry!


Chapter 6 internet protocol connectionless datagram delivery

7.8 The IP Forwarding Algorithm

Check IP Version and checksum !

Fig 7.3


Chapter 6 internet protocol connectionless datagram delivery

Forwarding Algorithm (revised)

Check IP version and header checksum

Extract destination IP address, D, from the datagram;

if table contains a host-specific route for D

send datagram to next-hop specified in table (ENCAPSULATE) and quit;

compute N, the network prefix of address D;

if N matches any directly-connected network address

deliver datagram to destination D over that network (ENCAPSULATE);

else if table contains a route for network prefix N

send datagram to next hop specified in table (ENCAPSULATE);

else if table contains a default route

send datagram to default router specified (ENCAPSULATE);

else declare a forwarding error;

ENCAPSULATE = map IP address to a physical address,

encapsulate the datagram in a frame and send.


Chapter 6 internet protocol connectionless datagram delivery

compute N, the network prefix of address D;

4.11 Dotted Decimal Notation

1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0

138 . 26 . 66.6

1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

255 . 255 . 0 .0

“Address Mask”


Chapter 6 internet protocol connectionless datagram delivery

Elaboration of routing algorithm (figure 7.3, or revision):

“if table contains a route for network prefix N

send datagram to next hop specified in table;”

Recall forwarding table:

Notation: Table row contains

(destination network IP address, next hop IP address)

Algorithm is:

For each row of the forwarding table

If (address mask) .and. IPD = destination network IP address

then send datagram to next hop IP address

exit routing algorithm.


Chapter 6 internet protocol connectionless datagram delivery

7.9 Forwarding with IP Addresseswhich fields are changed by router?

After table-lookup has determined the next-hop IP address, where in the IP datagram does the router IP layer store it?

In Destination IP Address?

Nowhere!

The router simply passes the next-hop IP address down to the network interface layer for ARP processing.


Chapter 6 internet protocol connectionless datagram delivery

Why not use physical addresses when storing and computing routes?

01:FA:96:43:1B:49

02:16:7B:62:78:F3


Chapter 6 internet protocol connectionless datagram delivery

Why does IP software avoid using physical addresses when storing and computing routes?

Figure 7.4

Using only IP addresses above the dashed line makes routes easy to examine or change and hides the details of the underlying physical networks.


Chapter 6 internet protocol connectionless datagram delivery

7.10 Handling Incoming Datagrams

Hosts

IP layer checks its own IP address against the destination IP address in the arriving datagram.

If match, OK

else host discards datagram.

Why discard?

► there has been an error and if host forwards the

datagram to the correct destination, error will persist;

► we don’t want the host to be diverted from its legitimate work

to do the router’s work.


Chapter 6 internet protocol connectionless datagram delivery

7.10 Handling Incoming Datagrams – continued

Routers

Check all of own IP addresses against the destination IP address in incoming datagram.

If no match (usual situation)

router is a stop along the way from source to destination –

execute forwarding algorithm (fig 7.3)

else

router is final destination of this datagram – message is for higher layer within the router, eg. routing table change


Chapter 6 internet protocol connectionless datagram delivery

7.11 Establishing Routing Tables

For now, assume routing tables are loaded manually;

In chapters 13 and 15 we’ll see protocols that allow routers to learn routes from each other.

End of Chapter 7.


Chapter 6 internet protocol connectionless datagram delivery

  • Summary of Bridge

  • Like computer with 2 NICs in promiscuous mode

  • Store and forward frames

  • Processes only valid frames

  • 4. Works at layer 2 with

  • hardware addresses

  • 5. Automatically learns which destination hosts are reachable from which interface (no administrator required).

  • 6. Does not change frame in any way (bridges “leave no fingerprints”)

  • 7. Forwards frames with local broadcast hardware address in destination-address field

  • Summary of Router

  • Like computer with 2 NICs in normal mode

  • 2. Store and forwardIP datagrams

  • 3. Processes only valid IP datagrams

  • 4. Works at layer 3 withIP addresses

  • Administrator has to enter next hop in routing tables.

  • 6. When forwarding IP datagram, changes at least two fields in datagram header

  • 7. Does not forward IP datagrams with local broadcast IP address in

  • destination-address field


Chapter 6 internet protocol connectionless datagram delivery

Perspective on Comer’s Chapters 6 – 8

Chapter 6 - Internet Protocol: Connectionless Datagram Delivery

no routers necessarily involved – lab sessions 1 - 3

Chapter 7 - Internet Protocol: Forwarding IP Datagrams

how routers work – lab session 4

Chapter 8 – Internet Protocol: Error and Control Messages (ICMP)

PING in lab sessions 1 – 3, will see more in later labs.


Chapter 6 internet protocol connectionless datagram delivery

Chapter 8 – Internet Protocol: Error and Control Messages (ICMP)

8.2 The Internet Control Message Protocol

ICMP is a required part of IP.

Although IP does not guarantee delivery, it does not capriciously discard datagrams and when it is forced to do so it tries to be helpful by sending an ICMP message.

Both routers and hosts send ICMP messages.


Chapter 6 internet protocol connectionless datagram delivery

8.2 The Internet Control Message Protocol – contd.

Like all traffic across an IP network, ICMP messages travel in the payload of an IP datagram.

1

ICMP Message

The ultimate destination of an ICMP message is the IP software on the machine intended to receive the message – it is the IP software that has the code to handle the message.


Chapter 6 internet protocol connectionless datagram delivery

8.3 Error Reporting vs. Error Correction

Not all ICMP messages relate to errors – eg. PING.

For errors, ICMP is a reporting mechanism,

not a correcting mechanism.

When a datagram causes an error, the unit detecting this usually sends an ICMP message back to the original source of the datagram, stating why the datagram was dropped.

Why is notification restricted to the original source?

That’s all the detecting unit knows!


Chapter 6 internet protocol connectionless datagram delivery

8.4 ICMP Message Delivery

Datagrams carrying ICMP messages are subject to the usual IP uncertainty.

Exception: If a datagram carrying an ICMP error message encounters difficulty, an error message about this error message is not sent.

ICMP is not considered a higher-layer protocol –

it is part of IP


Chapter 6 internet protocol connectionless datagram delivery

8.5 ICMP Message Format

Although each ICMP message has its own format, they all begin with the same three fields:

ICMP messages that report errors always include the header plus additional octets from the IP datagram that caused the problem


Chapter 6 internet protocol connectionless datagram delivery

Error?

No

Yes

Yes

Yes

?

No

?

?

Yes

Figure 8.2 Values that can appear in the TYPE field of an ICMP message


Chapter 6 internet protocol connectionless datagram delivery

8.6 Testing Destination Reachability and Status (Ping)

Type 8 is request, type 0 reply.

IDENTIFIER is a random number, used to match replies with requests.

Will be studied in Lab Session #1


Chapter 6 internet protocol connectionless datagram delivery

8.8 Reports of Unreachable destinations

When a router cannot forward or deliver an IP datagram, the router sends an ICMP destination unreachable (type 3) message back to the original source.


Chapter 6 internet protocol connectionless datagram delivery

8.8 Reports of Unreachable destinations - continued

*

*Code4 used for path MTU discovery


Chapter 6 internet protocol connectionless datagram delivery

Comer page 116:

A router may not know of all delivery failures,

eg. final delivery over Ethernet.

From revised version of routing algorithm (fig 7.3):

compute N, the network prefix of address D;

if N matches any directly-connected network address

deliver datagram to destination D over that network (ENCAPSULATE);

ENCAPSULATE = map IP to a physical address, encapsulate

the datagram in a frame and send.

No feedback to IP if ARP fails.


Chapter 6 internet protocol connectionless datagram delivery

8.11 Route Change Requests from Routers

Fig 7.1

If router R2 receives a datagram that it has to forward to R1, R2 sends an ICMP redirect message (type 5) to the sending host, telling it in future to send such datagrams directly to R1.


Chapter 6 internet protocol connectionless datagram delivery

8.11 Route Change Requests from Routers – continued

This is not a general mechanism for route changes. It is restricted to routers sending to directly-connected hosts.

Figure 8.7

R5 cannot redirect R1 to use the shorter path from S to D


Chapter 6 internet protocol connectionless datagram delivery

8.12 Detecting Circular or Excessively Long Routes

Each time a router forwards a datagram it decrements the TTL by 1

If the result is zero, the router discards the datagram after sending an ICMP time exceeded (type 11, code 0) message.

When a destination host reassembles a fragmented payload, it’s possible that some fragments are lost.

When the host receives the first fragment it starts a reassembly timer.

If the timer expires before all fragments arrive, the host gives up and sends an ICMP type 11, code 1 message back to the original source.


Chapter 6 internet protocol connectionless datagram delivery

Output A .AND. B

2 binary inputs A, B

IP Destination Address

Mask


Chapter 6 internet protocol connectionless datagram delivery

Output A .OR. B

2 binary inputs A, B


  • Login