Datagram Networks: Internet Protocol IPv4 - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Datagram Networks: Internet Protocol IPv4

Description:

IP protocol (addressing, datagram format and handling), Routing ... A: ICANN: Internet Corporation for Assigned. Names and Numbers. allocates addresses ... – PowerPoint PPT presentation

Number of Views:598
Avg rating:3.0/5.0
Slides: 39
Provided by: cuneyta
Category:

less

Transcript and Presenter's Notes

Title: Datagram Networks: Internet Protocol IPv4


1
Datagram NetworksInternet Protocol (IPv4)
2
The Internet Network layer IP
  • Internet Network Layer Components
  • IP protocol (addressing, datagram format and
    handling), Routing Protocols and ICMP protocol

3
IP Addressing Introduction
  • IP address 32-bit identifier for host, router
    interface
  • interface connection between host/router and
    physical link
  • routers typically have multiple interfaces
  • host may have multiple interfaces
  • IP addresses associated with each interface

223.1.1.1
223.1.2.9
223.1.1.4
223.1.1.3
223.1.1.1 11011111 00000001 00000001 00000001
223
1
1
1
4
IP Addressing
  • IP address
  • network part (high order bits)
  • host part (low order bits)
  • NetworkID.HostID
  • Whats an IP network ?
  • device interfaces with same network part of IP
    address
  • Hosts within the same IP network can reach each
    other without intervening router

223.1.1.1
223.1.2.9
223.1.1.4
223.1.1.3
network consisting of 3 IP networks 223.1.1.0,
223.1.2.0, 223.1.3.0
5
IP Addressing
223.1.1.2
  • IP networks are not restricted to Ethernet
    segments
  • Here we have 3 point-to-point links and each have
    a different IP network defined over them.

223.1.1.1
223.1.1.4
223.1.1.3
223.1.7.0
223.1.9.2
223.1.9.1
223.1.7.1
223.1.8.0
223.1.8.1
223.1.2.6
223.1.3.27
Interconnected system consisting of 6 IP networks
223.1.2.1
223.1.2.2
223.1.3.2
223.1.3.1
6
IP Addressing
223.1.1.2
  • How to find IP networks?
  • Detach each interface from router, host
  • Create islands of isolated IP networks
  • Each island defines an IP network
  • Internet consists of millions of such IP networks

223.1.1.1
223.1.1.4
223.1.1.3
223.1.7.0
223.1.9.2
223.1.9.1
223.1.7.1
223.1.8.0
223.1.8.1
223.1.2.6
223.1.3.27
223.1.2.1
223.1.2.2
223.1.3.2
223.1.3.1
Interconnected system consisting of 6 IP networks
7
IP Addresses
  • given notion of IP network, lets re-examine IP
    addresses
  • We have class-full addressing
  • Original Internet design

class
1.0.0.0 to 127.255.255.255
A
network
0
host
128.0.0.0 to 191.255.255.255
B
192.0.0.0 to 223.255.255.255
C
224.0.0.0 to 239.255.255.255
D
32 bits
8
IP addressing CIDR
  • Classful addressing
  • inefficient use of address space, address space
    exhaustion
  • e.g., class B net allocated enough addresses for
    65K hosts, even if only 2K hosts in that network
  • No longer used in the current Internet
  • Solution? Classless Inter Domain Routing (CIDR)
  • CIDR Classless InterDomain Routing
  • Standardized in 1993
  • Network portion of address of arbitrary length
  • Address format a.b.c.d/x, where x is bits in
    network portion of address

9
Netmask
  • With CIDR a new way is needed to determine the IP
    network given an IP address
  • Solution Define a netmask
  • Given an IP address of the form networkID.hostID,
    the netmask of the IP address is obtained by
    putting all 1s in the networkID portion and all
    0s in the hostID portion
  • 11111111 11111111 11111110 00000000
    255.255.254.0
  • Given an IPAddr and a netmask, we bit-wise AND
    IPAddr and netmask to obtain the IP network. The
    rest is the hostID.
  • NetworkID IPAddr Netmask
  • HostID IPAddr Netmask

10
IP Layer Broadcast
  • Recall that a host can send a LL broadcast
    message by putting FF-FF-FF-FF-FF-FF in
    destination MAC address
  • How can a host send IP-layer broadcast packet? 2
    ways
  • Put 255.255.255.255 in destination IP
  • Means that all IP hosts within the same LL
    broadcast domain will receive this IP datagram
  • Make lthostIDgt all 1s
  • Means that all hosts within the same IP subnet
    will receive this datagram
  • Example If IP subnet is 192.169.34.0, then a
    packet with a destination IP 192.169.34.255 will
    be received by all hosts whose IP subnet is
    192.169.34.0

11
IP addresses how to get one?
  • Q How does a host get an IP address?
  • hard-coded by system admin in a file
  • Wintel control-panel-gtnetwork-gtconfiguration-gttcp
    /ip-gtproperties
  • UNIX /etc/rc.config
  • DHCP Dynamic Host Configuration Protocol
    dynamically get address from as server
  • plug-and-play (more shortly)

12
IP addresses how to get one?
  • Q How does network get network part of IP addr?
  • A gets allocated portion of its provider ISPs
    address space

ISP's block 11001000 00010111 00010000
00000000 200.23.16.0/20 Organization 0
11001000 00010111 00010000 00000000
200.23.16.0/23 Organization 1 11001000
00010111 00010010 00000000 200.23.18.0/23
Organization 2 11001000 00010111 00010100
00000000 200.23.20.0/23 ...
..
. . Organization 7
11001000 00010111 00011110 00000000
200.23.30.0/23
13
Hierarchical addressing route aggregation
  • CIDRized addresses facilitate hierarchical
    routing
  • Fly-By-Night-ISP advertises that any IP datagram
    whose addresses begin with 200.23.16.0/20 should
    be sent to it. The rest of the world need not
    that there are 8 other organizations each with
    its own IP network. This is called route
    aggregation
  • Dividing an IP network into smaller IP networks
    as done in here is called subnetting. Each
    organization can further divide their IP address
    range into smaller IP subnets

Organization 0
Organization 1
Send me anything with addresses beginning
200.23.16.0/20
Organization 2
Fly-By-Night-ISP
Internet
Organization 7
Send me anything with addresses beginning
199.31.0.0/16
ISPs-R-Us
14
Hierarchical addressing more specific routes
ISPs-R-Us has a more specific route to
Organization 1. By the longest prefix matching
rule, packets with destination addresses
beginning with 200.23.18.0/23 are sent to
ISPs-R-Us
Organization 0
Send me anything with addresses beginning
200.23.16.0/20
Organization 2
Fly-By-Night-ISP
Internet
Organization 7
Send me anything with addresses beginning
199.31.0.0/16 or 200.23.18.0/23
ISPs-R-Us
Organization 1
15
IP addressing the last word...
  • Q How does an ISP get block of addresses?
  • A ICANN Internet Corporation for Assigned
  • Names and Numbers
  • allocates addresses
  • manages DNS root servers
  • assigns domain names, resolves disputes

16
IP datagram format
  • how much overhead with TCP?
  • 20 bytes of TCP
  • 20 bytes of IP
  • 40 bytes app layer overhead

17
Forwarding Getting a datagram from source to
dest.
forwarding table in A
  • IP datagram
  • datagram remains unchanged, as it travels from
    source to destination

18
Forwarding Getting a datagram from source to
dest.
forwarding table in A
misc fields
data
223.1.1.1
223.1.1.3
  • Starting at A, send IP datagram addressed to B
  • look up network address of B in forwarding table
  • find B is on same net. as A
  • B and A are directly connected
  • link layer will send datagram directly to B
    inside link-layer frame. How?

19
Delivering the packet from A to B
  • Starting at A, given IP datagram addressed to B
  • look up net. address of B, find B on same net. as
    A
  • link layer send datagram to B inside link-layer
    frame
  • How does A know the MAC address of B? ? ARP
    protocol

frame source, dest address
datagram source, dest address
As IP addr
Bs IP addr
Bs MAC addr
As MAC addr
IP payload
datagram
frame
20
ARP Address Resolution Protocol
  • Each IP node (Host, Router) on LAN has ARP
    module, table
  • ARP Table IP/MAC address mappings for some LAN
    nodes
  • lt IP address MAC address TTLgt
  • lt .. gt
  • TTL (Time To Live) time after which address
    mapping will be forgotten (typically 20 min)

21
ARP protocol
  • A knows B's IP address, wants to learn MAC
    address of B
  • A broadcasts ARP query pkt, containing B's IP
    address
  • all machines on LAN receive ARP query
  • B receives ARP packet, replies to A with its
    (B's) MAC address
  • A caches (saves) IP-to-MAC address pairs until
    information becomes old (times out)
  • soft state information that times out (goes
    away) unless refreshed

22
Forwarding Getting a datagram from source to
dest.
forwarding table in A
misc fields
data
223.1.1.1
223.1.2.3
  • Starting at A, dest. E
  • look up network address of E in forwarding table
  • E on different network
  • A, E not directly attached
  • routing table next hop router to E is 223.1.1.4
  • link layer sends datagram to router 223.1.1.4
    inside link-layer frame
  • datagram arrives at 223.1.1.4
  • continued..

23
Forwarding Getting a datagram from source to
dest.
forwarding table in router
misc fields
data
223.1.1.1
223.1.2.3
  • Arriving at 223.1.4, destined for 223.1.2.2
  • look up network address of E in routers
    forwarding table
  • E on same network as routers interface 223.1.2.9
  • router, E directly attached
  • link layer sends datagram to 223.1.2.2 inside
    link-layer frame via interface 223.1.2.9
  • datagram arrives at 223.1.2.2

24
Another IP Packet Forwarding Example
  • A creates IP packet with source A, destination E
  • A uses ARP to get Rs MAC address for
    111.111.111.110
  • A creates Ethernet frame with R's MAC as dest,
    Ethernet frame contains A-to-E IP datagram
  • As data link layer sends Ethernet frame to R
  • Rs data link layer receives Ethernet frame
  • R removes IP datagram from Ethernet frame, sees
    its destined to E
  • R uses ARP to get Es MAC address
  • R creates frame containing A-to-E IP datagram
    sends to E

A
R
E
25
IP packet forwarding algorithm
  • D destination IP address
  • Bool found false
  • For each forwarding table entry (SubnetNumber,
    SubnetMask, NextHop) do
  • D1 SubnetMask D
  • if (D1 DubnetNumber)
  • if (NextHop is an Interface)
  • Deliver the datagram directly to the
    destination within a LL frame
  • else
  • Deliver the datagram to NextHop (a
    router)
  • //end-else
  • found true
  • break
  • //end-if
  • //end-for
  • If (!found)
  • if (there is a ltdefaultgt router) Deliver the
    datagram to the ltdefaultgt router
  • else Report Destination unreachable
  • //end-if

26
IP packet forwarding Example
  • Assume Destination IP 128.96.34.68
  • D1 128.96.34.68 255.255.255.128
    128.96.34.0, which is equal to 128.99.34.0 ?
    Deliver the datagram to the destination over
    Interface0
  • Assume Destination IP 128.96.34.150
  • D1 128.96.34.150 255.255.255.128
    128.96.34.128.
  • D1 128.96.34.150 255.255.255.128
    128.96.34.128, which is equal to 128.96.34.128 ?
    Deliver datagram to the destination over
    Interface1
  • Assume Destination IP 128.96.35.44
  • IP subnet will not match any of the known IP
    subnets?Deliver the packet to the ltdefaultgt
    router, R3

27
IP Fragmentation Reassembly
  • network links have MTU (max.transfer unit) -
    largest possible link-level frame.
  • different link types, different MTUs
  • large IP datagram divided (fragmented) within
    net
  • one datagram becomes several datagrams
  • reassembled only at final destination
  • IP header bits used to identify, order related
    fragments

fragmentation in one large datagram out 3
smaller datagrams
reassembly
28
IP Fragmentation Reassembly
  • Example
  • 4000 byte datagram
  • 3980 byte payload
  • MTU 1500 bytes
  • 1st packet payload 1480 bytes
  • 2nd packet payload 1480 bytes
  • 3rd packet payload 1020 bytes

29
ICMP Internet Control Message Protocol
Type Code description 0 0 echo
reply (ping) 3 0 dest. network
unreachable 3 1 dest host
unreachable 3 2 dest protocol
unreachable 3 3 dest port
unreachable 3 6 dest network
unknown 3 7 dest host unknown 4
0 source quench (congestion
control - not used) 8 0
echo request (ping) 9 0 route
advertisement 10 0 router
discovery 11 0 TTL expired 12 0
bad IP header
  • Used by hosts, routers, gateways to communication
    network-level information
  • error reporting unreachable host, network, port,
    protocol
  • echo request/reply (used by ping)
  • ICMP runs over IP
  • ICMP msgs carried in IP datagrams
  • ICMP message type, code plus first 8 bytes of IP
    datagram causing error

30
Host IP Address Configuration
  • Q How does a host get an IP address?
  • hard-coded by system admin in a file
  • Wintel control-panel-gtnetwork-gtconfiguration-gttcp
    /ip-gtproperties
  • UNIX /etc/rc.config
  • DHCP Dynamic Host Configuration Protocol
    dynamically get address from as server
  • plug-and-play (more shortly)

31
DHCP Dynamic Host Configuration Protocol
  • Goal allow host to dynamically obtain its IP
    address from network server when it joins network
  • Can renew its lease on address in use
  • Allows reuse of addresses (only hold address
    while connected an on
  • Support for mobile users who want to join network
    (more shortly)
  • DHCP overview
  • host broadcasts DHCP discover msg
  • DHCP server responds with DHCP offer msg
  • host requests IP address DHCP request msg
  • DHCP server sends address DHCP ack msg

32
DHCP client-server scenario
223.1.2.1
DHCP

223.1.1.1
server

223.1.1.2
223.1.2.9
223.1.1.4
223.1.2.2
arriving DHCP client needs address in
this network
223.1.1.3
223.1.3.27

223.1.3.2
223.1.3.1
33
DHCP client-server scenario
arriving client
DHCP server 223.1.2.5
DHCP offer
src 223.1.2.5, 67 dest 255.255.255.255,
68 yiaddrr 223.1.2.4 transaction ID
654 Lifetime 3600 secs
DHCP request
src 0.0.0.0, 68 dest 255.255.255.255,
67 yiaddrr 223.1.2.4 transaction ID
655 Lifetime 3600 secs
time
DHCP ACK
src 223.1.2.5, 67 dest 255.255.255.255,
68 yiaddrr 223.1.2.4 transaction ID
655 Lifetime 3600 secs
34
NAT Network Address Translation
rest of Internet
local network (e.g., home network) 10.0.0/24
10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
Datagrams with source or destination in this
network have 10.0.0/24 address for source,
destination (as usual)
All datagrams leaving local network have same
single source NAT IP address 138.76.29.7, differe
nt source port numbers
35
NAT Network Address Translation
  • Motivation local network uses just one IP
    address as far as outside word is concerned
  • no need to be allocated range of addresses from
    ISP - just one IP address is used for all
    devices
  • can change addresses of devices in local network
    without notifying outside world
  • can change ISP without changing addresses of
    devices in local network
  • devices inside local net not explicitly
    addressable, visible by outside world (a security
    plus).

36
NAT Network Address Translation
NAT translation table WAN side addr LAN
side addr
138.76.29.7, 5001 10.0.0.1, 3345

10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
4 NAT router changes datagram dest addr
from 138.76.29.7, 5001 to 10.0.0.1, 3345
3 Reply arrives dest. address 138.76.29.7,
5001
37
NAT Network Address Translation
  • Implementation NAT router must
  • outgoing datagrams replace (source IP address,
    port ) of every outgoing datagram to (NAT IP
    address, new port )
  • . . . remote clients/servers will respond using
    (NAT IP address, new port ) as destination
    addr.
  • remember (in NAT translation table) every (source
    IP address, port ) to (NAT IP address, new port
    ) translation pair
  • incoming datagrams replace (NAT IP address, new
    port ) in dest fields of every incoming datagram
    with corresponding (source IP address, port )
    stored in NAT table

38
NAT Network Address Translation
  • 16-bit port-number field
  • 60,000 simultaneous connections with a single
    LAN-side address!
  • NAT is controversial
  • routers should only process up to layer 3
  • violates end-to-end argument
  • NAT possibility must be taken into account by app
    designers, eg, P2P applications
  • What about embedded IP addresses?
  • FTP, SMTP, SIP etc.
  • address shortage should instead be solved by IPv6
Write a Comment
User Comments (0)
About PowerShow.com