IP Datagrams

Preview:

DESCRIPTION

IP Datagrams. Lecture 12 November 8, 2000. Frames v. Datagrams. Both provide a clear and concise delineation around the data. Both have a header (and maybe a footer). Frames encompass much smaller amounts of data. RS-232 framing is 5-8 data bits . - PowerPoint PPT Presentation

Citation preview

IP Datagrams

Lecture 12November 8, 2000

Frames v. Datagrams

Both provide a clear and concise delineation around the data.

Both have a header (and maybe a footer). Frames encompass much smaller amounts of

data. RS-232 framing is 5-8 data bits. Datagrams are variable length, anywhere from

a single octet to 64K octets payload.

Frames v. Datagrams

Frames are media-dependent. Ethernet framing cannot be used on a FDDI network.

Datagrams are media-independent.

Connection v. Connectionless Service

The two can be compared much like P-T-P connections and shared medium connections.

Connection service essentially opens a channel between the two machines and communicates over the channel.

Connectionless service is where data is forwarded from one node to the next. When data reaches the destination, an ACK is sent.

Connection v. Connectionless Service (cont.)

Both models exist with TCP/IP! Connection service = TCP

– Guaranteed delivery– Full duplex communication– Point-to-point communication

Connectionless service = UDP– Unreliable– Non-sequential delivery

Connection v. Connectionless Service (cont.)

IP’s default delivery method is UDP (User Datagram Protocol).

Connection service delivery was an afterthought.

Universal, Virtual Packets

The goal of IP datagrams is to be entirely media-independent.

This independence leads to a universal packet scheme that all IP devices recognize.

The protocol software handles the creation and interpretation of the internet packets. Virtual packets.

IP Datagram

IP datagram = IP packet Payload (data) is not a

fixed size– One octet to 64K octets

Header– Source IP address– Destination IP address– Payload size– CRC– And some other stuff…

Forwarding a Datagram

Because datagrams are a connectionless communication, they are forwarded from node to node.

At each step, the router (node) inspects the destination address of the datagram and forwards it to the appropriate interface.

Simple Datagram Forwarding

Datagram Forwarding with a Routing Table

Network Address

From our subnetting discussion, we’ve already seen how the network address can be determined from the IP address and the netmask.

192.4.10.3 & 255.255.255.0 == 192.4.10.0 With the network address, the router can

determine the correct next hop.

Best-Effort Delivery

Although IP makes the best-effort of datagram delivery, it does not guarantee proper handling of:– Datagram duplication– Delayed or out-of-order delivery– Corruption of data– Datagram loss

Other protocol layers are responsible for error handling.

IP Datagram Header

IP Datagram Header (cont.)

Version (4 bits) Header Length (4 bits) – length of the header in 32 bit

words. 5 minimum. Service Type (8 bits) – Indication of the quality of

service desired.– Bits 0-2: Precedence– Bit 3: 0 = Normal Delay, 1 = Low Delay– Bit 4: 0 = Normal Throughput, 1 = High Throughput– Bit 5: 0 = Normal Reliability, 1 = High Reliability– Bits 6-7: Reserved for future use

IP Datagram Header (cont.)

Precedence (from Service Type)– 111: Network control– 110: Internetwork control– 101: CRITIC/ECP– 100: Flash Override– 011: Flash– 010: Immediate– 001: Priority– 000: Routine

IP Datagram Header(cont.)

Total Length (16 bits): Total length of the datagram, measured in octets, including header and data.

Identification (16 bits): A value assigned to aid in assembly of fragments.

Flags (3 bits): Various Control Flags.– Bit 0: Reserved. Must be 0.– Bit 1: (DF) 0 = May Fragment, 1 = Don’t Fragment– Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments

Time to Live (8 bits): Maximum time the datagram is allowed to exist in the system. Each router that handles the datagram decrements the TTL by 1.

IP Datagram Header (cont.)

Fragment Offset (13 bits): Designates where in the datagram a fragment belongs. First fragment is 0.

Protocol (8 bits): Indicates which Transport Layer protocol the datagram is passed to.

Header Checksum (16 bits): Checksum that covers the header only

Source address (32 bits) Destination address (32 bits) IP Options (variable): usually don’t appear in

datagrams, but must be implemented in IP stacks.

IP Transmission

Datagram Transmission

A datagram is an untransmissible unit in itself. In order for a datagram to be sent across a

network, it must be encapsulated into a frame. Keep in mind, the framing method is media-

dependent! As a datagram traverses the Internet, it

remains intact, but the framing around the datagram changes at every node!

IP Encapsulation

Internet Transmission

Transmission (cont.)

Remember that as a packet traverses a network, the payload remains the same (the datagram), but the framing is created and destroyed at each hop.

MTU & Datagram Size

MTU – Maximum Transmissible Unit Consider the following example:

MTU & Fragmentation

H1 sending data to H2. H1’s network allows for 1500 byte transmissions, but

H2’s network is only 1000 bytes. Assuming one 1500 byte transmission, the router will

take the 1500 byte datagram, and fragment it into two smaller datagrams, both beneath the 1000 byte MTU restriction in H2’s network.

The fragmentation flags will be set in the datagram header.

MTU & Fragmentation (cont.)

Fragment Reassembly

The process of combining all of the datagram fragments is called reassembly.

IP specifies that reassembly is to occur at the destination address!

Advantages:– Intermediate router requires less processing– Routers can send the fragments on to the source,

regardless of the path! Routing changes would not disturb the transmission.

Fragment Reassembly (cont.)

In the below example, R2 does not combine fragments, so the datagrams sent onto Net 3 are 1000 bytes, not 1500 bytes!

Fragment Reassembly (cont.)

If one fragment is lost in the transmission, the receiver cannot combine the fragments into the datagram!

The receiver will hold the fragments for a period of time, after which all fragments are discarded.

IP is “all or nothing”. If all fragments aren’t received, the transmission is useless.

– TCP v. UDP

Fragmenting a Fragment

Can it be done? You bet. IP designed such that each time a transmission

is fragmented, a new IP header is applied to the subsequent fragments.

Recommended