0% found this document useful (0 votes)
14 views46 pages

IP Tutorial

Uploaded by

MSc 201921
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views46 pages

IP Tutorial

Uploaded by

MSc 201921
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 46

Internet Protocols : Basics

Sankhayan Choudhury
Dept. of Computer Science
University of Calcutta
1
Outline
 Internetworking problem
 Internet’s Architectural principles
 IP solution
 IP forwarding
 IP addressing
 IP datagram Format
 IP fragmentation & reassembly

2
The Internetworking Problem
 Two nodes communicating across a “network of networks”…
How to transport packets through this heterogeneous mass ?

A C loud

B
C loud

C loud

 Problems: heterogeneity and scaling

3
Internet’s Architectural principles
 End-to-end principle: (Dave Clark, MIT)
 The network cannot be trusted
 Network provides minimum functionality
(connectionless forwarding, routing)
 User must in any case check for errors
 Value-added functions at hosts (control
functions): opposite of telephony model
(phone simple, network complex)

4
Architectural principles (contd)
 IP over everything:
 An internetworking protocol which works over all
underlying sub-networks and provides a single, simple
service model (“best-effort delivery”) to the user.
 Interconnection based on IP overlay over all kinds of
networks
 Framing or encapsulation
 Address resolution
 IP-address to network address for each transport
technology
 Unique IP-address
 Interconnection based on translation

5
Hourglass design

6
IP solution
 For heterogeneity, Provide new packet format
and overlay it on subnets.
 For scalability, Uses topological addressing
 Implications: Hierarchical address, Address
resolution, Fragmentation/re-assembly, Packet
format design, Forwarding algorithm etc
 Protocols: IP and ARP

7
An IP Internet – Network of Networks
Network 1 (Ethernet)

H7 R3 H8

H1 H2 H3
Network 4
(point-to-point)
Network 2 (Ethernet)
R1

R2

H4
Network 3 (FDDI)

H5 H6

8
Protocol Stack – IP is Common to All

H1 H8

TCP TCP
R1 R2 R3

IP IP IP IP IP

ETH ETH FDDI FDDI PPP PPP ETH ETH

9
IP Features
 Connectionless service
 datagram/packet-based
 Data forwarding
 Addressing
 Fragmentation and reassembly
 Supports variable size datagrams
 Best-effort delivery: Delay, out-of-order,
corruption, and loss possible. Higher layers
should handle these.
10
What IP does NOT provide
 End-to-end data reliability & flow control
(done by TCP or application layer protocols)
 Sequencing of packets (like TCP)
 Error detection in payload (TCP, UDP or other
transport layers)
 Error reporting (ICMP)
 Setting up route tables (RIP, OSPF, BGP etc)
 Connection setup (it is connectionless)
 Address/Name resolution (ARP, RARP, DNS)

11
How does IP forwarding work ?
 A) Source & Destination in same network
Recognize that destination IP address is
on same network.
 Find the destination LAN address.
 Send IP packet encapsulated in LAN frame
directly to the destination LAN address.
 Encapsulation => source/destination IP
addresses don’t change

12
IP forwarding (contd)
 B) Source & Destination in different
networks
 Recognize that destination IP address is
not on same network.
 Look up destination IP address in a (routing)
table to find a match, called the next hop
router IP address.
 Send packet encapsulated in a LAN frame to
the LAN address corresponding to the IP
address of the next-hop router.

13
Getting a datagram from source to
dest.
routing table in A
Dest. Net. next router Nhops
223.1.1 1
223.1.2 223.1.1.4 2
IP datagram: 223.1.3 223.1.1.4 2
misc source dest
data
fields IP addr IP addr A 223.1.1.1

 datagram remains 223.1.2.1


223.1.1.2
unchanged, as it travels 223.1.1.4 223.1.2.9
source to destination B
 addr fields of interest 223.1.2.2
223.1.1.3 223.1.3.27 E
here
223.1.3.1 223.1.3.2

14
Getting a datagram from source to
dest.
misc Dest. Net. next router Nhops
data
fields 223.1.1.1 223.1.1.3
223.1.1 1
223.1.2 223.1.1.4 2
Starting at A, given IP 223.1.3 223.1.1.4 2
datagram addressed to B:
 look up net. address of B A 223.1.1.1

 find B is on same net. as A 223.1.2.1


223.1.1.2
 link layer will send datagram 223.1.1.4 223.1.2.9
directly to B inside link-layer B
223.1.2.2
frame 223.1.1.3 223.1.3.27 E
 B and A are directly 223.1.3.2
223.1.3.1
connected

15
Getting a datagram from source to
dest.
misc Dest. Net. next router Nhops
data
fields 223.1.1.1 223.1.2.3
223.1.1 1
Starting at A, dest. E: 223.1.2 223.1.1.4 2
 look up network address of E 223.1.3 223.1.1.4 2
 E on different network
 A, E not directly attached A 223.1.1.1
 routing table: next hop router 223.1.2.1
to E is 223.1.1.4 223.1.1.2
223.1.1.4 223.1.2.9
 link layer sends datagram to
B
router 223.1.1.4 inside link- 223.1.2.2
223.1.1.3 223.1.3.27 E
layer frame
 datagram arrives at 223.1.1.4 223.1.3.1 223.1.3.2

16
Getting a datagram from source to
dest.
Dest. next
misc network router Nhops interface
223.1.1.1 223.1.2.3 data
fields
223.1.1 - 1 223.1.1.4
Arriving at 223.1.4, destined for 223.1.2 - 1 223.1.2.9
223.1.2.2 223.1.3 - 1 223.1.3.27
 look up network address of E
 E on same network as A 223.1.1.1
router’s interface 223.1.2.9
223.1.2.1
 router, E directly attached 223.1.1.2
223.1.1.4 223.1.2.9
 link layer sends datagram to
223.1.2.2 inside link-layer B
223.1.2.2
frame via interface 223.1.2.9 223.1.1.3 223.1.3.27 E
 datagram arrives at 223.1.3.2
223.1.3.1
223.1.2.2!!! (hooray!)

17
Addressing & Resolution
 How to find if destination is in the same
network?
 IP address = network ID + host ID. Source and
destination network IDs match => same
network
 Splitting address into multiple parts is called
hierarchical addressing
 How to find the LAN address
corresponding to an IP address?
 Address Resolution Problem.
 Solution: ARP, RARP/ DHCP
18
Resolving Addresses
 Hardware only recognizes MAC addresses
 IP only uses IP addresses
 Consequence: software needed to perform
translation
 Part of network interface
 Known as address resolution

19
Address Resolution
 Layer 2 protocol
 Given
 A locally-connected network, N
 IP address C of computer on N
 Find
 Hardware address for C
 Technique
 Address Resolution Protocol

20
Address Resolution Protocol
(ARP)

 Key bindings in table


 Table entry contains pair of addresses for
one computer
 IP address
 Hardware address
 Build table automatically as needed

21
ARP Table

 Only contains entries for computers on


local network
 IP network prefix in all entries identical

22
ARP Lookup Algorithm
 Look for target IP address, T, in ARP table
 If not found
 Send ARP request message to T
 Receive reply with T’s hardware address
 Add entry to table
 Return hardware address from table

23
Illustration of ARP Exchange

 W needs Y’s hardware address


 Request sent via broadcast
 Reply sent via unicast

24
ARP Process
 The sender knows the IP address of the target.
 IP asks ARP to create an ARP request message.
 ARP request message contains sender physical
address, the sender IP address and the target IP
address. The target physical address field is filled
with Os.
 The message is passed to the data link layer
where it is encapsulated in a frame by using the
physical address of the sender as the source
address and the physical broadcast address as
the destination address.

25
ARP Process
 The target machine replies with an ARP
reply message that contains its physical
address. The message is unicast.
 The sender receives the reply message. It
now knows the physical address of the
target machine.
 The IP datagram, which carries data for
the target machine, is now encapsulated in
a frame and is uni-casted to the
destination.

26
Possible Cases: ARP

27
Mapping: Physical to Logical

A diskless station is just booted. The


station can find its physical address by
checking its interface, but it does not
know its IP address.
 An organization does not have enough IP
addresses to assign to each station; it
needs to assign IP addresses on
demand.

28
RARP
 Physical to Logical Address mapping mechanism
 A RARP request is created and broadcast on the local
network.
 Another machine on the local network that knows all the IP
addresses will respond with a RARP reply.
 The requesting machine must be running a RARP client
program; the responding machine must be running a
RARP server program.
 In RARP, broadcasting is done at the data link layer. The
physical broadcast address (all 1’s in the case of
Ethernet) does not pass the boundaries of a network.
 If an administrator has several networks or several
subnets, it needs to assign a RARP server for each
network or subnet.

29
BOOTP
 An application layer client server protocol; maps
physical to logical address.
 The client and server may be in the same or different
network.
 BOOTP messages are encapsulated in a UDP packet,
and the UDP in an IP packet.

 How a client can send an IP datagram when it knows


neither its own IP address (the source address) nor
the server's IP address (the destination address)?
 The client simply uses all as the source address and
all 1’s as the destination address.

30
BOOTP
 The BOOTP request is broadcast because the client does
not know the IP address of the server.
 A broadcast IP datagram cannot pass through any router.
 One of the intermediary (host or a router that can be
configured to operate at the application layer) can be
used as a relay agent
 The relay agent knows the unicast address of a BOOTP
server. When it receives this type of packet, it
encapsulates the message in a unicast datagram and
sends the request to the BOOTP server.
 The BOOTP server knows the message comes from a
relay agent because one of the fields in the request
message defines the IP address of the relay agent.
 The relay agent, after receiving the reply, sends it to the
BOOTP client.
31
DHCP

 What if a host moves from one physical


network to another?
 What if a host wants a temporary IP
address?

 BOOTP is a static configuration protocol.


 The Dynamic Host Configuration Protocol (DHCP)
has been devised to provide static and dynamic
address allocation that can be manual or automatic.

32
Some special IP addresses
 All-0s  This computer
 All-1s  All hosts on this net (limited
broadcast: don’t forward out of this net)
 All-0 host suffix  Network Address (‘0’
means ‘this’)
 All-1 host suffix  All hosts on the
destination net (directed broadcast).
 127.*.*.*  Loopback through IP layer

33
IP datagram format
IP protocol version 32 bits
number total datagram
header length type of length (bytes)
ver head. length
(bytes) len service for
“type” of data fragment fragmentation/
16-bit identifier flgs
offset reassembly
max number time to upper Internet
remaining hops live layer checksum
(decremented at
32 bit source IP address
each router)
32 bit destination IP address
upper layer protocol
to deliver payload to Options (if any) E.g. timestamp,
record route
data taken, pecify
(variable length, list of routers
typically a TCP to visit.
or UDP segment)

34
IP Datagram Format
 First Word purpose: info, variable size
header & packet.
 Version (4 bits)
 Internet header length (4 bits): units of 32-bit
words. Min header is 5 words or 20 bytes.
 Type of service (TOS: 8 bits): Reliability,
precedence, delay, and throughput. Not widely
supported
 Total length (16 bits): header + data. Units of
bytes. Total must be less than 64 kB.
35
Service Type

Precedence bits indicate the priority


of the Datagram.
e.g. In a congested environment,
the datagram with
lowest priority will be discarded.

36
IP Header (Cont)
 2nd Word Purpose: fragmentation
 Identifier (16 bits): Helps uniquely identify the
datagram between any source, destination
address
 Flags (3 bits): More Flag (MF):more fragments
Don’t Fragment (DF)
Reserved
 Fragment offset (13 bits): In units of 8 bytes

37
IP Header (Cont)
 Third word purpose: demuxing,
error/looping control, timeout.
 Time to live (8 bits): Specified in router hops
 Protocol (8 bits): Next level protocol to receive
the data: for de-multiplexing.
 Header checksum (16 bits): 1’s complement
sum of all 16-bit words in the header.
 Change header => modify checksum using 1’s
complement arithmetic.
 Source Address (32 bits): Original source.
Does not change along the path. 38
Higher Layer Protocols

39
Header Format (contd)
 Destination Address (32 bits): Final
destination. Does not change along the path.
 Options (variable length): Security, source
route, record route, stream id (used for voice)
for reserved resources, timestamp recording
 Padding (variable length):
Makes header length a multiple of 4
 Payload Data (variable length): Data + header
< 65,535 bytes

40
Fragmentation Issue

41
Maximum Transmission Unit
 Each subnet has a maximum frame size
Ethernet: 1518 bytes
FDDI: 4500 bytes
Token Ring: 2 to 4 kB
 Transmission Unit = IP datagram (data + header)
 Each subnet has a maximum IP datagram length
(header + payload) = MTU

Net
Net 11 Net
Net 22
SS R
R R
R
MTU=1500
MTU=1500 MTU=1000
MTU=1000
42
Fragmentation
 Datagrams larger than MTU are fragmented
 Original header is copied to each fragment and then
modified (fragment flag, fragment offset, length,...)
 Some option fields are copied (see RFC 791)

IP Header Original Datagram

IP Hdr 1 Data 1 IP Hdr 2 Data 2 IP Hdr 3 Data 3


43
Fragmentation Example
MTU = 1500B MTU = 280B

IHL=5, ID = 111, More = 1


IHL = 5, ID = 111, More = 0 Offset = 0W, Len = 276B
Offset = 0W, Len = 472B
IHL=5, ID = 111, More = 0
Offset = 32W, Len = 216B
1. Payload size 452 bytes needs to be transmitted
2. across a Ethernet (MTU=1500B) and a SLIP line (MTU=280B)
3. Length = 472B, Header = 20B => Payload = 452B
4. Fragments need to be multiple of 8-bytes.
1. Nearest multiple to 260 (280 -20B) is 256B
2. First fragment length = 256B + 20B = 276B.
3. Second fragment length = (452B- 256B) + 20B = 216B

44
Reassembly
 Where to do reassembly?
 End nodes
 Dangerous to do at intermediate nodes
 How much buffer space required at routers?
 What if routes in network change?
 Multiple paths through network
 All fragments only required to go through
destination

45
Fragmentation Example

46

You might also like