Internet Protocol --- Connectionless Datagram Delivery

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

description

Internet Protocol --- Connectionless Datagram Delivery. Linda Wu (CMPT 471 • 2003-3). Content. TCP/IP internet services Internet datagram format Fragmentation & Reassembly Datagram fields Reference: chapter 7. Application layer. Application services (SMTP, FTP, DNS, … SNMP). - PowerPoint PPT Presentation

Transcript of Internet Protocol --- Connectionless Datagram Delivery

Page 1: Internet Protocol ---  Connectionless Datagram Delivery

Internet Protocol--- Connectionless Datagram Delivery

Linda Wu

(CMPT 471 • 2003-3)

Page 2: Internet Protocol ---  Connectionless Datagram Delivery

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

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

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

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

Notes-5 CMPT 471 2003-3 6

Internet Datagram Format Internet datagram (IP datagram, datagram)

Datagram vs. frameDatagram Frame

Divided into header and dataTransfer unit of internet

Transfer unit of physical network

Handled by software Recognized by hardwareHeader contains src. / dest. IP addresses

Header contains src. / dest. physical addresses

Datagram header Datagram data area

Page 7: Internet Protocol ---  Connectionless Datagram Delivery

Notes-5 CMPT 471 2003-3 7

Internet Datagram Format (cont.)

Datagram format0 4 8 16 19 24 31VERS HLEN SVC TYPE TOTAL LENGTH

IDENTIFICATION FLAGS FRAGMENT OFFSET

TIME TO LIVE

PROTOCOL HEADER CHECKSUM

SOURCE IP ADDRESSDESTINATION IP ADDRESS

IP OPTIONS (IF ANY) PADDINGDATA

……

Page 8: Internet Protocol ---  Connectionless Datagram Delivery

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

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

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

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

Notes-5 CMPT 471 2003-3 12

Fragmentation & Reassembly (cont.)

Header20 bytes

Data1600 bytes

Data2600 bytes

Data3200 bytes

ANet 1

MTU=1500

BNet 3

MTU=1500Net 2MTU=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

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

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

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

Notes-5 CMPT 471 2003-3 16

Datagram Fields (cont.)

SERVICE TYPE 8 bits Original TOS interpretation

0 1 2 3 4 5 6 7Precedence D T R Unused

Precedence: importance of datagramD: low delayT: high throughputR: high reliability

Page 17: Internet Protocol ---  Connectionless Datagram Delivery

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 by1 xxxxx0 IETF (Internet Authority)2 xxxx11 Local or experimental3 xxxx01 Local or experimental for now

Page 18: Internet Protocol ---  Connectionless Datagram Delivery

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

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 2Reserved D M

Page 20: Internet Protocol ---  Connectionless Datagram Delivery

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

Notes-5 CMPT 471 2003-3 21

Datagram Fields (cont.)

PROTOCOL 8 bits Defines the higher-level protocol to

which datagram should be deliveredValue Protocol

1 ICMP2 IGMP6 TCP

17 UDP89 OSPF

Page 22: Internet Protocol ---  Connectionless Datagram Delivery

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

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

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

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 4

0 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

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

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

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 AddressFirst Timestamp

Page 29: Internet Protocol ---  Connectionless Datagram Delivery

Notes-5 CMPT 471 2003-3 29

Datagram Fields (cont.)

Subfield: FLAGSFLAGS 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

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