Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

30
Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 • 2003-3)

Transcript of Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Page 1: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Internet Protocol--- Connectionless Datagram Delivery

Linda Wu

(CMPT 471 • 2003-3)

Page 2: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 2

Content

TCP/IP internet services Internet datagram format Fragmentation & Reassembly Datagram fields

Reference: chapter 7

Page 3: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 3

TCP/IP Internet Services Networking services are arranged in a hierarchy Internet software is designed around three

conceptual networking services Replacing one service will not disturb others

Application services

(SMTP, FTP, DNS, … SNMP)

Reliable transport service

(TCP, UDP)

Connectionless packet delivery service

(IP, ICMP, IGMP, ARP, RARP)

Application layer

Transport layer

Network layer

Page 4: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 4

TCP/IP Internet Services (cont.)

Connectionless delivery system Data are split into several packets Unreliable: delivery is not guaranteed;

packet may be lost, duplicated, delayed Connectionless: each packet is treated

independently from all others Best-effort: internet software makes an

earnest attempt to deliver packets; unreliability arises only when resources are exhausted or networks fail

Page 5: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 5

TCP/IP Internet Services (cont.)

Internet protocol (IP)IP protocol defines the unreliable, connectionless delivery mechanism, and provides 3 important definitions:

Format of data passed across the internet internet transfer unit is called internet

datagram Routing function Rules of unreliable packet delivery:

packet processing, error handling, etc.

Page 6: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 6

Internet Datagram Format Internet datagram (IP datagram, datagram)

Datagram vs. frame

Datagram Frame

Divided into header and data

Transfer unit of internet

Transfer unit of physical network

Handled by software Recognized by hardware

Header contains src. / dest. IP addresses

Header contains src. / dest. physical addresses

Datagram header Datagram data area

Page 7: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 7

Internet Datagram Format (cont.)

Datagram format0 4 8 16 19 24 31

VERS HLEN SVC TYPE TOTAL LENGTH

IDENTIFICATION FLAGS FRAGMENT OFFSET

TIME TO LIVE

PROTOCOL HEADER CHECKSUM

SOURCE IP ADDRESS

DESTINATION IP ADDRESS

IP OPTIONS (IF ANY) PADDING

DATA

……

Page 8: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 8

Fragmentation & Reassembly

IPv4 datagram length 216 –1 = 65,535 Includes the length of header and data

Network MTU Maximum transfer unit (MTU): each

hardware technology places a fixed upper bound on the amount of data transferred in one frame

Ethernet MTU: 1500 (bytes/frame) FDDI MTU: 4470

Page 9: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 9

Fragmentation & Reassembly (cont.)

Datagram encapsulation Carrying one datagram in one frame Hardware does not recognize datagram

format Efficient transportation

Datagram header

Datagram data area

Frame header

Frame data area Frame trailer

MTU

Page 10: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 10

Fragmentation & Reassembly (cont.)

MTU vs. datagram length Limiting datagram to fit the smallest

possible MTU makes transfer inefficient Allowing datagrams to be larger than

the minimum MTU means a datagram cannot always fit into a single frame

Solution in IP protocol: datagram fragmentation

Page 11: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 11

Fragmentation & Reassembly (cont.)

Datagram fragmentation The source chooses a convenient datagram

size Intermediate routers divide large datagram

into small fragments when needed Fragments may not be of equal size; their

sizes must be multiple of 8 Each fragment can be shipped in a single

frame Router must accept datagram up to the

maximal MTUs of the networks they attach to Fragments travel to the destination as

separate datagrams

Page 12: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 12

Fragmentation & Reassembly (cont.)

Header20 bytes

Data1600 bytes

Data2600 bytes

Data3200 bytes

A

Net 1MTU=1500

B

Net 3MTU=1500Net 2

MTU=620R1 R2

Fragmt. 2 header Data2

Fragmt. 1 header Data1

Fragmt. 3 header Data3

Fragment 1 (offset: 0/8)

Fragment 2 (offset: 600/8)

Fragment 3 (offset: 1200/8)

Original datagram: A B

(1400 bytes of data)

Fragment header duplicates most of the fields in the datagram header

Fragmentation at R1:

Page 13: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 13

Fragmentation & Reassembly (cont.)

Reassembly at ultimate destination Reassembly timer

Started when an initial fragment is received If the timer expires before all fragments arrive,

all the received fragments will be discarded Advantages

Fragments are routed independently Intermediate routers are not required to store or

reassemble fragments Disadvantages

Small fragments may traverse on networks with large MTU capability

If any fragment is lost, datagram cannot be reassembled

Page 14: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 14

Datagram Fields VERS

4 bits Specifies the version of IP protocol used

to create the datagram To verify that sender, receiver and any

router in between them agree on the datagram format

Machines reject datagram with protocol version that differs from theirs

Current version: 4 (IPv4)

Page 15: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 15

Datagram Fields (cont.)

HLEN 4 bits Specifies datagram header length (unit:

32-bit word / 4 bytes) TOTAL LENGTH

16 bits Specifies # of bytes in header and data

(unit: byte) TOTAL LENGTH 216 –1 = 65,535 Size of data = TOTAL LENGTH - HLEN

Page 16: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 16

Datagram Fields (cont.)

SERVICE TYPE 8 bits Original TOS interpretation

0 1 2 3 4 5 6 7

Precedence D T R Unused

Precedence: importance of datagram

D: low delay

T: high throughput

R: high reliability

Page 17: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 17

Datagram Fields (cont.)

Revised differentiated services interpretation

A codepoint value maps to an underlying service definition

3 right-most bits of codepoint All 0s: xxx000 (backward compatible with original

interpretation) Not all 0s: 3 administrative groups

0 1 2 3 4 5 6 7Codepoint (DSCP) Unused

Pool Codepoint Interpretation assigned by

1 xxxxx0 IETF (Internet Authority)

2 xxxx11 Local or experimental

3 xxxx01 Local or experimental for now

Page 18: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 18

Datagram Fields (cont.)

Fragmentation control fields IDENTIFICATION

Datagram sender generates a unique IDENTIFICATION for each datagram

It is copied to fragment header for reassembly at a later time

Source address + IDENTIFICATION: to identify datagram

FRAGMENT OFFSET The offset in the original datagram of the

data carried in the fragment (unit: 8 bytes)

Page 19: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 19

Datagram Fields (cont.)

FLAGS: 3 bits D: do not fragment

When a router needs to fragment a datagram with D bit set, it will discard the datagram and send an error message to the source

M: more fragments To indicate whether a fragment is the tail of

the datagram Destination gets the TOTAL LENGTH of the

fragment instead of the original datagram Upon receiving a fragment F with M bit off,

calculate total length of the datagram based on F’s total length and F’s fragment offset

0 1 2

Reserved D M

Page 20: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 20

Datagram Fields (cont.)

TIME TO LIVE (TTL) Defines hop limit of a datagram Each router along the path from source to

destination decrements TTL by 1 If datagram’s TTL filed is 0, router discards

datagram and sends back an error message to the source

Objective: to guarantees that datagrams cannot travel around internet forever

Page 21: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 21

Datagram Fields (cont.)

PROTOCOL 8 bits Defines the higher-level protocol to

which datagram should be delivered

Value Protocol

1 ICMP

2 IGMP

6 TCP

17 UDP

89 OSPF

Page 22: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 22

Datagram Fields (cont.)

HEADER CHECKSUM To ensure integrity of header

Calculated at the sender and the value obtained is sent with datagram

The receiver repeats the same calculation If the result is satisfactory, accept the

datagram Otherwise, reject it

Only applies to values in header, not to data

Page 23: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 23

Datagram Fields (cont.)

SOURCE / DESTINATION IP ADDRESS Specifies sender / intended recipient of datagram Never changes when datagram is routed through

intermediate routers

DATA Specifies the data sent in datagram Variable length

PADDING Composed of all 0s Its length depends on IP OPTIONS selected To ensure the datagram header extends to an

exact multiple of 32 bits

Page 24: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 24

Datagram Fields (cont.)

IP OPTIONS Optional fields with variable length Appear contiguously without separators

between them Format

CODE

(8 bits)

LENGTH

( 8 bits)

DATA

(variable length)

COPY1 bit

CLASS2 bits

NUMBER5 bits

COPY0 Copy only in the first

fragment1 Copy in all fragmentsCLASS00 Datagram control01 Reserved10 Debugging and management11 ReservedNUMBER See examples on P109

LENGTH: total length of the option, including code field and length field

DATA: data that specific options require

Page 25: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 25

Datagram Fields (cont.)

Record route option To record the routers that handle the

datagram POINTER: the offset within option of the next

available slot When a machine handles a datagram with

record route option If POINTER > LENGTH, forward datagram

without inserting its entry Otherwise, insert its entry, increase POINTER

by 40 8 16 24 31CODE (7) LENGTH POINTER

First IP Address (empty when started)Second IP Address (empty when started)

……

Page 26: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 26

Datagram Fields (cont.)

Source route option Used by the source to predetermine a route for

the datagram At the router side

If POINTER > LENGTH, do routing as usual Otherwise, follow POINTER to pickup IP address,

replace it with its outgoing IP address, increase POINTER by 4, and forward the datagram

0 8 16 24 31CODE

(137 / 131)LENGTH POINTER

IP Address of First Hop (filled when started)IP Address of Second Hop (filled when started)

……

Page 27: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 27

Datagram Fields (cont.)

Strict source route (CODE 137) All the routers in the option must be visited A router not listed in the option must not be

visited If datagram visits a router not in the list, or,

if it arrives at destination with some listed routers not visited, the datagram is discarded and an error message is issued

Loose source route (CODE 131) Each router in the list must be visited The datagram can visit other routers as well

Page 28: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 28

Datagram Fields (cont.) Timestamp option

To record the time at which router processes datagram

To keep track of router behavior in the internet OFLOW: # of routers that cannot supply a

timestamp because the option is full FLAGS: specifies the visited router responsibilities Timestamp: time and date at which router

processes datagram; expressed as milliseconds since midnight, Universal Time

0 8 16 24 31CODE (68) LENGTH POINTER OFLOW FLAGS

First IP Address

First Timestamp…

Page 29: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 29

Datagram Fields (cont.)

Subfield: FLAGS

FLAGS value Meaning

0 Record timestamp only; omit IP address

1 Precede each timestamp by an IP address

3 IP addresses are specified by sender; a router only records a timestamp if its IP address matches the next IP address in the list

Page 30: Internet Protocol --- Connectionless Datagram Delivery Linda Wu (CMPT 471 2003-3)

Notes-5 CMPT 471 2003-3 30

Datagram Fields (cont.)

Processing IP OPTIONs during fragmentation The function of COPY bit in fragmentation

Some IP OPTIONs are replicated in all fragments

Some IP OPTIONs are placed in one fragment

Record route option should only be copied into one of the fragments

Source route option should be copied into all fragments