82
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Embed Size (px)

Citation preview

Page 1: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

CSC 600Internetworking

withTCP/IP

Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10)

Dr. Cheer-Sun Yang

Spring 2001

Page 2: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Internet Protocol (IP)

• Part of TCP/IP– Used by the Internet

• Specifies interface with higher layer– e.g. TCP

• Specifies protocol format and mechanisms

Page 3: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

IP Services

• Unreliable• Connectionless• Best-effort delivery

Page 4: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

IP Protocol Specification

• IP datagram format• Routing function• Fragmentation and reassembly• Internet control message protocol (ICMP):

network level error message handling

Page 5: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 6: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 7: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Header Fields (1)

• Version– Currently 4– IP v6 - see later

• Internet header length– In 32 bit words– Including options

• Type of service(next slide)• Total length

– Of datagram, in octets

Page 8: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 9: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Type of Service

• Precedence– 8 levels

• Reliability– Normal or high

• Delay– Normal or low

• Throughput– Normal or high

Page 10: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Type of Service

• In the late 1990s, the IETF redefiend the meaning of the 8-bit SERVICE TYPE field to accommodate a set of differential services (DS).

Page 11: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 12: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 13: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Header Fields (2)

• Total Length• Identification

– Sequence number– Used with addresses and user protocol to identify

datagram uniquely

• Flags– More bit– Don’t fragment

Page 14: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Header Fields (3)• Don’t fragment indicator

– Can IP fragment data– If not, may not be possible to deliver– Send only

• Time to Live• Protocol

– next higher layer to receive data field at destination

• Header checksum– Reverified and recomputed at each router– 16 bit ones complement sum of all 16 bit words in header– Set to zero during calculation

Page 15: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Header Fields (4)

• Source address• Destination address• Options(next slides)• Padding

– To fill to multiple of 32 bits long

Page 16: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Options

• Security

• Source routing

• Route recording

• Stream identification

• Timestamping

Page 17: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Data Field

• Carries user data from next layer up

• Integer multiple of 8 bits long (octet)

• Max length of datagram (header plus data) 65,535 octets

Page 18: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Design Issues

• Routing (later)

• Fragmentation and re-assembly

• Datagram lifetime

• Error control

• Flow control

Page 19: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 20: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 21: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 22: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Reassembly of Fragments

• Maximum Transfer Unit (MTU)

Page 23: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Fragmentation Control

• Identification

• Flags

• Fragment Offset

Page 24: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Time to Live (TTL)

• TTL – specifies how long, in seconds, a datagram is allowed to remain in the internet system.

Page 25: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Other Header Fields

• Protocol

• Header Checksum

• Source IP Address

• Destination IP Address

• Data

Page 26: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Internet Datagram Options

• Record Route Option – Use ping -R on taz.cs.wcupa.edu

• Source Route Options

• Timestamp Option

• Processing Options During Fragmentation

Page 27: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 28: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 29: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 30: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Record Route Option

Page 31: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Source Route Option

The strict source route option specifies an exact route by giving a list of IP addresses the data gram must follow.

Page 32: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Timestamp Option

Page 33: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 34: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Routing• End systems and routers maintain routing tables

– Indicate next router to which datagram should be sent– Static

• May contain alternative routes

– Dynamic• Flexible response to congestion and errors

• Source routing– Source specifies route as sequential list of routers to be

followed– Security– Priority

• Route recording

Page 35: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Datagram Lifetime• Datagrams could loop indefinitely

– Consumes resources– Transport protocol may need upper bound on datagram life

• Datagram marked with lifetime – Time To Live field in IP– Once lifetime expires, datagram discarded (not forwarded)– Hop count

• Decrement time to live on passing through a each router

– Time count• Need to know how long since last router

• (Aside: compare with Logan’s Run)

Page 36: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Fragmentation and Re-assembly

• Different packet sizes• When to re-assemble

– At destination• Results in packets getting smaller as data traverses internet

– Intermediate re-assembly• Need large buffers at routers

• Buffers may fill with fragments

• All fragments must go through same router– Inhibits dynamic routing

Page 37: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

IP Fragmentation (1)

• IP re-assembles at destination only• Uses fields in header

– Data Unit Identifier (ID)• Identifies end system originated datagram

– Source and destination address– Protocol layer generating data (e.g. TCP)– Identification supplied by that layer

– Data length• Length of user data in octets

Page 38: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

IP Fragmentation (2)

– Offset• Position of fragment of user data in original

datagram

• In multiples of 64 bits (8 octets)

– More flag• Indicates that this is not the last fragment

Page 39: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Fragmentation Example

Page 40: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Dealing with Failure

• Re-assembly may fail if some fragments get lost• Need to detect failure• Re-assembly time out

– Assigned to first fragment to arrive

– If timeout expires before all fragments arrive, discard partial data

• Use packet lifetime (time to live in IP)– If time to live runs out, kill partial data

Page 41: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Error Control

• Not guaranteed delivery• Router should attempt to inform source if

packet discarded – e.g. for time to live expiring

• Source may modify transmission strategy• May inform high layer protocol• Datagram identification needed• (Look up ICMP)

Page 42: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Flow Control

• Allows routers and/or stations to limit rate of incoming data

• Limited in connectionless systems

• Send flow control packets– Requesting reduced flow

• e.g. ICMP

Page 43: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Chapter 8: IP Routing Overview

• Router: perform IP forwarding as its main function

• Host: a multi-homed host also forward IP datagrams

Page 44: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Routing IP Datagrams

• Routing in an Internet

• Direct and Indirect Delivery

• Table-Driven IP Routing

• Next-Hop Routing

• Default Routers

• Host-Specific Routers

• The IP Routing Algorithms

Page 45: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 46: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Datagram Delivery Over a Single Network

• A machine can send a frame directly to another machine on the same network.

Page 47: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 48: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Datagram Delivery Over a Single Network

• How does a machine know if another machine is located in a directly-connected network?

Page 49: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 50: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Indirect Delivery

• How does a machine deliver a datagram indirectly to another host?– It encapsulate the datagram – sends it to the nearest router– The IP software on the router selects the next

router towards the destination

• How does a router know where to send next?

Page 51: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 52: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Indirect Delivery

• Table-Driven IP Routing

• Next-Hop Routing

• Default Routers

• Host-Specific Routes

Page 53: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 54: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 55: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 56: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Indirect Delivery

• We ignored the routing table initialization and maintenance as network changes.

Page 57: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Chapter 9ICMP

• Internet Control Message Protocol• RFC 792 (get it and study it)• Transfer of (control) messages from routers

and hosts to hosts• Feedback about problems

– e.g. time to live expired

• Encapsulated in IP datagram– Not reliable

Page 58: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 59: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

ICMP Message Formats

Page 60: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 61: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 62: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 63: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 64: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 65: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 66: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 67: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 68: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 69: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 70: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 71: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 72: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Chapter 10

Subnetting and Routing

Page 73: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Subnetting

Page 74: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 75: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 76: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 77: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Routing in the Presence of Subnets

• The standard IP routing must be modified to work with subnet addresses.

• All hosts and routers that attach to the subnet must use the modified algorithms, called subnet routing.

Page 78: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 79: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001

Subnet Routing

• A conventional routing table contains entries of the form (network address, next hop address).

• A subnetting routing table consists of entries of the form (subnet mask, network address, next hop address).

Page 80: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 81: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001
Page 82: CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001