IP-Addressing by zhangyun

VIEWS: 20 PAGES: 51

									IP Addressing
  and CIDR



   COMP680E by M. Hamdi   1
IP Addresses




  COMP680E by M. Hamdi   2
IP Addresses




  COMP680E by M. Hamdi   3
         What is an IP Address?
• An IP address is a unique global address for a
  network interface
• Exceptions:
  – Dynamically assigned IP addresses ( DHCP)
  – IP addresses in private networks ( NAT)
• An IP address:
  - is a 32   bit long identifier
  - encodes a network number (network prefix) and a
  host number


                         COMP680E by M. Hamdi         4
     Hosts, Networks, and Routers
                     Host 7
                                                    Host 1
         Network A


                                                     Host 2
Host 1
                         Router
                                             Network C
 Network B

                                Unique IP Address =
                           Network Number + Host Number
  Host 12        Host 2
                      COMP680E by M. Hamdi               5
 IP Addresses come in two parts

11111111 00010001 10000111 00000000

    Network Number                Host Number




       Where is this dividing line?
       Well, that depends ....
                 COMP680E by M. Hamdi           6
   Actually, IP addresses Identify Interfaces

                        Host 7
                                                            Host 1
       Network A              Network C,
                              Host 3


       Network A,                                            Host 2
Host 1
       Host 3
                              Network B,          Network C
 Network B                    Host 77

                                                 Machines can have more
                                                 than one IP address.
                                                 All routers do!
  Host 12           Host 2COMP680E by M. Hamdi                    7
            IP Forwarding Table

 Destination                  Next Hop                 Interface

 Net A                      Router 1                    INT 7
 Net B                      Direct                      INT 4
 Net C, Host 3              Router 2                    INT 3
 Net C                      Router 1                    INT 7


A destination is usually    The next hop is
a network. May also be      either a directly
a host, or a “gateway       connected network or a
                                                       A physical interface
of last resort” (default)   router on a directly
                            connected network
                                COMP680E by M. Hamdi                      8
                  IP Forwarding Process
    1. Remove a packet      2. Check for correctness   4. Place packet on
       from an input           decrement TTL              correct output
          queue                   field                      queue




                     Forwarding Process
                             3. Match packet’s                         If queues
  If queues                     destination to                        get full, just
 get full, just                  a table entry                       drop packets!
drop packets!


                         IP Forwarding Table
                                                                  Router
                                 COMP680E by M. Hamdi                            9
      Architecture of Routing Protocols
Interior Gateway                       Exterior Gateway
Protocols (IGP) :                      Protocols (EGP) :
inside autonomous    AS 701
                                       between autonomous
systems                                systems
                    UUNet
OSPF, IS-IS,
RIP, EIGRP, ...
                                             BGP
                     IGP
Metric Based                               Policy Based



        IGP                                   IGP

                      EGP                 AT&T
    Sprint                            Common Backbone
       AS 6431                              AS 7018

                    COMP680E by M. Hamdi                10
 The Most Common Routing Protocols


BGP      RIP
                                         Cisco proprietary



TCP      UDP      OSPF IS-IS EIGRP

           IP    (and ICMP)
 Routing protocols exchange network
 reachability information between routers.
                  COMP680E by M. Hamdi                  11
         What is a Routing Process?
                                    Manual configuration




import                                            export
information   Routing        Protocol-Specific    information
from other    Process        Routing Table        to other
routers                                           routers




                                                 OS kernel


               IP Forwarding Table
   Router
                        COMP680E by M. Hamdi                 12
Many routing processes can run on a single router
                   RIP Process                            BGP Process

                   RIP Routing tables                     BGP Routing tables



       BGP
                                        OSPF Process

                                        OSPF Routing tables




                                                                 OS kernel
 RIP
 Domain   OSPF                   IP Forwarding Table
          Domain


                   COMP680E by M. Hamdi                                   13
Basic Architectural Components
       of an IP Router

           Routing
          Protocols
          Routing
           Table
                                           Control Plane




    Forwarding
                                           Datapath
      Table
               Switching                   per-packet
                                           processing



                    COMP680E by M. Hamdi            14
        Two components of routing
• Control component
  – Decides where the packets will
    go                               routes
                                              Routing “daemon”
                                              collect routing info
  – Use a set of routing protocols
                                              and maintain
    (e.g. OSPF, BGP) to collect               routing DB
    information and produce a
    “forwarding table”
                                                                     kernel
  – “Control plane”                              Forwarding
• Forwarding component                           table

  – Moving packets from input to
    output ports according to          packets Forwarding
    forwarding table and packet                 algorithm and
    header                                      mechanism

  – “Forwarding plane”
                         COMP680E by M. Hamdi                            15
 IP Addresses come in two parts

11111111 00010001 10000111 00000000

    Network Number                Host Number




       Where is this dividing line?
       Well, that depends ....
                 COMP680E by M. Hamdi           16
          Classful Addresses

Class A   0nnnnnnn hhhhhhhh hhhhhhhh hhhhhhhh


Class B   10nnnnnn nnnnnnnn hhhhhhhh hhhhhhhh


Class C   110nnnnn nnnnnnnn nnnnnnnn hhhhhhhh
           n = network address bit              h = host identifier bit
                         COMP680E by M. Hamdi                     17
  The Classful Address Space




Leads to very inefficient allocation of addresses …



                    COMP680E by M. Hamdi              18
    Problems with Classful IP Addresses
• By the early 1990s, the original classfull address scheme
  had a number of problems
   – Flat address space. Routing tables on the backbone Internet
     need to have an entry for each network address. By the 1993,
     the size of the routing tables started to outgrow the capacity of
     routers (C networks).
   Other problems:
   – Too few network addresses for large networks
      • Class A and Class B addresses were gone
   – Limited flexibility for network addresses:
      • Class A and B addresses are overkill (>64,000 addresses)
      • Class C address is insufficient (requires 40 Class C addresses)



                              COMP680E by M. Hamdi                        19
Allocation of Classful Addresses




            COMP680E by M. Hamdi   20
Flat Network Addressing


         P   Y
                         Exports at least 12
         T   W           network addresses


                                    This router needs
                                    at least
 X                   R              12 table entries
         N   Q            U
 S
     V              Z

             COMP680E by M. Hamdi                 21
Limitations of Classful IP Addressing
  Adds Multiple Entries
  Wastes IP Addresses to Routing Tables
                                Network ID
                          Network ID                    Host IDHost ID
           C
     Class B        255            255           255
                                                  0               0
                     w              x             y               z
  Company Network IDs
   192.168.1.0                               Internet
   192.168.2.0
   Network         Computers
   192.168.3.0of 2000
                                         Portion of Internet Routing Tables
  Assigned 65,534 IP Addresses
   192.168.4.0                         192.168.1.0 255.255.255.0      192.168.1.1
                                       192.168.2.0 255.255.255.0      192.168.2.1
   192.168.5.0                         192.168.3.0 255.255.255.0      192.168.3.1
   192.168.6.0     63,534                       2000
                                       192.168.4.0 255.255.255.0      192.168.4.1
                                       192.168.5.0 255.255.255.0      192.168.5.1
                   Wasted                       Allocated
   192.168.7.0                         192.168.6.0 255.255.255.0      192.168.6.1
                                       192.168.7.0 255.255.255.0      192.168.7.1
   192.168.8.0                         192.168.8.0 255.255.255.0      192.168.8.1

                              COMP680E by M. Hamdi                                  22
                 Subnets

• The idea is to share the same IP network
  number among multiple subnets
• Subnets of a network should reside in the
  same general locale (e.g., college campus,
  corporate location, …)
• Routers on an IP network know their local
  subnets
• Remote routers need to know only the network
  address

                  COMP680E by M. Hamdi     23
                         Subnetting
• Problem: Organizations
  have multiple networks
  which are independently
                                           University Network
  managed
   – Solution 1: Allocate a          Engineering              Medical
     separate network address          School                 School
     for each network
      • Difficult to manage
                                                    Library
      • From the outside of the
        organization, each
        network must be
        addressable.
   – Solution 2: Add another
     level of hierarchy to the
                                                   Subnetting
     IP addressing structure

                            COMP680E by M. Hamdi                        24
     Address assignment with subnetting
• Each part of the organization is allocated a range of IP
  addresses (subnets or subnetworks)
• Addresses in each subnet can be administered locally

                                128.143.0.0/16
                             University Network
      128.143.71.0/24   Engineering             Medical      128.143.56.0/24
     128.143.136.0/24     School                School

                                      Library

                                                 128.143.121.0/24


                             COMP680E by M. Hamdi                       25
           Basic Idea of Subnetting
• Split the host number portion of an IP address into a
  subnet number and a (smaller) host number.
• Result is a 3-layer hierarchy

         network prefix                    host number


         network prefix           subnet number      host number

• Then:      extended network prefix
      • Subnets can be freely assigned within the organization
      • Internally, subnets are treated as separate networks
      • Subnet structure is not visible outside the organization

                           COMP680E by M. Hamdi                    26
                    Subnetmask
• Routers and hosts use an extended network prefix
  (subnetmask) to identify the start of the host numbers




                       COMP680E by M. Hamdi          27
    Advantages of Subnetting
• With subnetting, IP addresses use a 3-layer
  hierarchy:
          » Network
          » Subnet
          » Host
• Reduces router complexity. Since external routers
  do not know about subnetting, the complexity of
  routing tables at external routers is reduced.

• Note: Length of the subnet mask need not be
  identical at all subnetworks.


                      COMP680E by M. Hamdi        28
         Example: Subnetmask
• 128.143.0.0/16 is the IP address of the network
• 128.143.137.0/24 is the IP address of the subnet
• 128.143.137.144 is the IP address of the host
• 255.255.255.0 (or ffffff00) is the subnetmask of
  the host
• Use of subnetting or length of the subnetmask is
  decided by the network administrator
• Consistency of subnetmasks is the responsibility
  of administrator


                    COMP680E by M. Hamdi             29
           No Subnetting
• All hosts think that the other hosts
  are on the same network




               COMP680E by M. Hamdi      30
         With Subnetting
• Hosts with same extended network
  prefix belong to the same network




              COMP680E by M. Hamdi    31
    Variable Length Subnet Masks
• With only a single subnet mask across a network
  prefix, an organization was locked into a fixed
  number of fixed size subnets
• When a network is assigned more than one subnet
  mask, it is considered a network with “variable
  length subnet masks” since extended-network-
  prefixes have different lengths
• VLSM permits slicing and dicing subnets into
  different sizes and therefore numbers of hosts in
  subnets under a single Network ID, thereby
  minimizing, if not eliminating, wasted addresses.


                    COMP680E by M. Hamdi        32
           With Subnetting
• Different subnetmasks lead to different
  views of the size of the scope of the
  network




                 COMP680E by M. Hamdi       33
                Mask may vary with location

                      12.0.0.0/16
                      12.1.0.0/16      12.3.0.0/24
                                                             :
                      12.2.0.0/16      12.3.1.0/24           :
                      12.3.0.0/16            :               :
                                             :
         12.0.0.0/8       :             12.3.254.0/24

This allows
                          :                12.253.0.0/19
all of these
(sub)networks
                          :                12.253.32.0/19
                                           12.253.64.0/19
to be aggregated      12.253.0.0/16
into one entry in                          12.253.96.0/19
an IP forwarding      12.254.0.0/16        12.253.128.0/19
table                                      12.253.160.0/19
                                           12.253.192.0/19

                           COMP680E by M. Hamdi                  34
      Hierarchical Network Addressing
       (Subnetting and Supernetting)

Network Z-T
                      T   P           Exports only
                  M                   one Address
                  Q                              This is called
                          W
      Z                                           Aggregation

                                                 This Router needs
                                                 only 3 table entries
          M
              S                   P              for networks Z-T,
                                                  Z-S, and Z-U
                  F       W           S
        K
              J            U     X
                                             Network Z-U-X
 Network Z                COMP680E by M. Hamdi                    35
  Optimizing the Allocation of IP
            Addresses
After Subnetting
                                        Routing Table for Router
                                       Routing Table for Router B B
Before Supernetting:
After Supernetting:
220.78.168.0
                                 220.78.168.0   255.255.255.0   220.78.168.1
                                 220.78.168.0
                                 220.78.169.0   255.255.255.0
                                                255.255.255.0   220.78.168.1
                                                                220.78.168.1
220.78.168.64                    220.78.170.0   255.255.255.0   220.78.168.1
                                 220.78.171.0   255.255.255.0   220.78.168.1
220.78.168.128                   220.78.172.0   255.255.255.0   220.78.168.1
220.78.168.0                     220.78.173.0   255.255.255.0   220.78.168.1
220.78.168.192                   220.78.174.0   255.255.255.0   220.78.168.1
220.78.169.0                     220.78.175.0   255.255.255.0   220.78.168.1
 220.78.169.0
220.78.170.0      Router
220.78.169.64       A
220.78.171.0
220.78.168.0     Router A                          Router B
220.78.169.128    Route
220.78.172.0       rA
220.78.169.192
220.78.173.0                                       Router B
 220.78.170.0
220.78.174.0
220.78.170.64
220.78.175.0

                            COMP680E by M. Hamdi                               36
  CIDR - Classless Interdomain Routing
• IP backbone routers have one routing table entry for
  each network address:
   – With subnetting, a backbone router only needs to know one
     entry for each Class A, B, or C networks
   – This is acceptable for Class A and Class B networks
      • 27 = 128 Class A networks
      • 214 = 16,384 Class B networks
   – But this is not acceptable for Class C networks
      • 221 = 2,097,152 Class C networks
• In 1993, the size of the routing tables started to
  outgrow the capacity of routers
• Consequence: The Class-based assignment of IP
  addresses had to be abandoned


                            COMP680E by M. Hamdi             37
  CIDR - Classless Interdomain Routing
• Goals:
  – New interpretation of the IP address space
  – Restructure IP address assignments to increase
    efficiency
  – Permits route aggregation to minimize route table
    entries
• CIDR (Classless Interdomain routing)
  – abandons the notion of classes
  – Key Concept: The length of the network prefix in
    the IP addresses is kept arbitrary
  – Consequence: Size of the network prefix must be
    provided with an IP address
                     COMP680E by M. Hamdi           38
                    CIDR Notation
• CIDR notation of an IP address:
          192.0.2.0/18
      • "18" is the prefix length. It states that the first 18 bits are
        the network prefix of the address (and 14 bits are available
        for specific host addresses)
• CIDR notation can replace the use of subnetmasks (but
  is more general)
   – IP address 128.143.137.144 and subnetmask 255.255.255.0
     becomes 128.143.137.144/24
• CIDR notation allows to drop trailing zeros of network
  addresses:
  192.0.2.0/18 can be written as 192.0.2/18
                           COMP680E by M. Hamdi                   39
    Why do people still talk about
• CIDR eliminates the concept of class A, B, and
  C networks and replaces it with a network
  prefix
• Existing classfull network addresses are
  converted to CIDR addresses:
     128.143.0.0    128.143.0.0/16

• The change has not affected many (previously
  existing) enterprise networks
  – Many network administrators (especially on
    university campuses) have not noticed the change

                      COMP680E by M. Hamdi         40
                CIDR address blocks
• CIDR notation can nicely express blocks of addresses
• Blocks are used when allocating IP addresses for a
  company and for routing tables (route aggregation)

CIDR Block Prefix           # of Host Addresses
          /27                      32
         /26                       64
         /25                      128
         /24                      256
         /23                      512
         /22                    1,024
         /21                    2,048
         /20                    4,096
         /19                    8,192
         /18                   16,384
         /17                   32,768
         /16                   65,536
         /15                  131,072
         /14                  262,144
         /13                  524,288




                      COMP680E by M. Hamdi          41
     CIDR and Address assignments
• Backbone ISPs obtain large block of IP addresses space
  and then reallocate portions of their address blocks to
  their customers.
Example:
• Assume that an ISP owns the address block 206.0.64.0/18,
  which represents 16,384 (214) IP addresses
• Suppose a client requires 800 host addresses
• With classful addresses: need to assign a class B address
  (and waste ~64,700 addresses) or four individual Class Cs
  (and introducing 4 new routes into the global Internet
  routing tables)
• With CIDR: Assign a /22 block, e.g., 206.0.68.0/22, and
  allocated a block of 1,024 (210) IP addresses.

                        COMP680E by M. Hamdi                42
Where do IP addresses come from?
           IETF
                                 Delegate


           IANA
                                 Allocate


        RIR / NIR
                                 Allocate


         Network
                                 Assign

           User
          COMP680E by M. Hamdi              43
                        IPv4 Address Allocation
  IANA: Internet Assigned Numbers Authority                    Source: iana.org
  ARIN: American Registry f or Internet Numbers




Total Addresses: 4,295m.
                                                  US Commercial
                                                      369m.
   Reserved (IANA)                                                US Government 201m.
           1,896m.                                                      ARIN (N. America) 268m.

                                                                          Asia/Pacific 151m.

                                                                           Europe 218m.



                                                                   International
                                                  COMP680E by M. Hamdi
                                                                     1,191m.               44
                   CIDR and Routing
• Aggregation of routing table entries:
   – 128.143.0.0/16 and 128.142.0.0/16 are represented
     as 128.142.0.0/15
• Longest prefix match: Routing table lookup finds the
  routing entry that matches the longest prefix
                                      Prefix              Interface
What is the outgoing                  128.0.0.0/4         interface #5
interface for 128.143.137.0/24 ?      128.128.0.0/9       interface #2
                                      128.143.128.0/17 interface #1
Route aggregation can be exploited
when IP address blocks are assigned
in an hierarchical fashion                     Routing table

                            COMP680E by M. Hamdi                      45
     CIDR and Routing Information

                                         Company X :
                                           206.0.68.0/22
                ISP X owns:
                206.0.64.0/18
                204.188.0.0/15
                209.88.232.0/21
Internet
Backbone                                   ISP y :
                                            209.88.237.0/24




                Organization z1 :     Organization z2 :
                 209.88.237.192/26    209.88.237.0/26
               COMP680E by M. Hamdi                       46
          CIDR and Routing Information
           Backbone routers do not know
           anything about Company X, ISP
           Y, or Organizations z1, z2.
                                                                    Company X :
                                                                      206.0.68.0/22
ISP X does not know about            ISP X everything which matches
                                  ISP y sendsowns:
Organizations z1, z2.             the prefix:
                                     206.0.64.0/18
                                  209.88.237.192/26 to Organizations z1
                                     204.188.0.0/15
                                   209.88.237.0/26 to Organizations z2
                                     209.88.232.0/21
Internet everything which
  ISP X sends
Backbone prefix:
  matches the                                                         ISP y :
   206.0.68.0/22 to Company X,
   209.88.237.0/24 to ISP y                                           209.88.237.0/24




Backbone sends everything
which matches the prefixes
                                    Organization z1 :           Organization z2 :
206.0.64.0/18, 204.188.0.0/15,
209.88.232.0/21 to ISP X.           209.88.237.192/26           209.88.237.0/26
                                  COMP680E by M. Hamdi                              47
 Classless Addressing (and CIDR)

• Eliminated class boundaries
• Introduced the notion of a variable length
  prefix between 0 and 32 bits long
• Prefixes represented by P/l: e.g., 122/8,
  212.128/13, 34.43.32/22, 10.32.32.2/32
  etc.
• An l-bit prefix represents an aggregation
  of 232-l IP addresses


                 COMP680E by M. Hamdi          48
            IPv6 - IP Version 6
• IP Version 6
  – Is the successor to the currently used IPv4
  – Specification completed in 1994
  – Makes improvements to IPv4 (no revolutionary changes)
• One (not the only !) feature of IPv6 is a
  significant increase in of the IP address to 128
  bits (16 bytes)
     • IPv6 will solve – for the foreseeable future – the
       problems with IP addressing
     • 1024 addresses per square inch on the surface of the
       Earth.

                      COMP680E by M. Hamdi           49
IPv6 Header




  COMP680E by M. Hamdi   50
    IPv6 vs. IPv4: Address Comparison

• IPv4 has a maximum of
    232  4 billion addresses
• IPv6 has a maximum of
  2128 = (232)4  4 billion x 4 billion x 4 billion x 4
   billion                             addresses




                       COMP680E by M. Hamdi       51

								
To top