Class 4 Internet Protocols CSCI 6433 David C. Roberts 1.

Post on 23-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Class 4Internet ProtocolsCSCI 6433David C. Roberts

1

A WORD ABOUT THE HOMEWORK 2

Typical Ethernet Configuration

3

Hub—Switch Differences• What they do• What a host sees• Setup

4

Bus Network Topology

5

Star Network Topology

6

Star-Bus Network Topology

7

The Problem

8

Mixed Network

9

How the Switch Works

10

CAM Table• Switch has a content-addressable memory (CAM) table with a

list of MAC addresses and where to forward the Ethernet frame

• CAM table is built up by experience, allows selective forwarding instead of broadcast

• What happens if the CAM table capacity is exceeded?

11

Agenda

• Internet Protocol• Routing• Error and Control Messages

12

INTERNET PROTOCOL 13

14

Internet Services

Much of the Internet’s success is due to the robustness and adaptability of this architecture.

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” note15

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 16

IP Operation

17

The Bigger Picture

18

Why Is IP Successful?• It’s simple• Hardware, software to implement it are simple• Simplicity leads to low cost and high performance

19

IPv4 Datagram

20

IPv6 Header Format

21

IPv6 Base Header

22

23

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.

24

IPv4 Fragmentation

25

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.

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

26

27

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

IP FORWARDING 28

Hosts and Routers Forward

29

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

30

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

31

Question: How does the sending machine know whether to use direct delivery?

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

32

IP Operation

33

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

34

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

35

36

Processing Incoming Datagrams

37

• 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

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

38

Broadcast and Multicast• Forwarding becomes more complex when broadcast and

multicast are included• These will be covered later

39

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

40

41

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

ERROR AND CONTROL MESSAGES (ICMP)

42

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?

43

Internet Control Message Protocol

44

• 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

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

45

ICMP Message Encapsulation

46

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 messages are encapsulated inside a datagram, travel the same way as every other datagram.

47

• 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

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

ICMPv4 Message Types

48

ICMPv6 Message Types

49

50

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

Echo Request and Reply Message Format

51

Sender uses IDENTIFIER and SEQ NUMBER to match replies to requests

Echo reply sends back the data included in the request

??: When is 8 used and when is 0 used?

Destination Unreachable (3)

52

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

Congestion and Flow Control

53

• 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

Source Quench

54

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

Circular Routes

55

Time exceeded message says that hop count has reached zero, or message has timed out on arrival of fragments of a datagram.

Parameter Problem

56

Incorrect datagram header prevents delivery, and datagram must be discarded

Clock Synchronization

57

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.

58

Subnet Mask

Subnet address mask specifies which part of IP address contains the network ID and which contains the host ID

Router Advertisement

59

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.

Router Solicitation

60

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.

Summary• Datagram Delivery (Internet Protocol)• Routing• ICMP

61

top related