COMP680E by M. Hamdi1 IP Addressing and CIDR
COMP680E by M. Hamdi2 IP Addresses
COMP680E by M. Hamdi3 IP Addresses
COMP680E by M. Hamdi4 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. Hamdi5 Hosts, Networks, and Routers Network A Network B Network C Router Host 1 Host 2 Host 7 Host 1 Host 12 Host 2 Unique IP Address = Network Number + Host Number
COMP680E by M. Hamdi6 IP Addresses come in two parts Network Number Host Number Where is this dividing line? Well, that depends....
COMP680E by M. Hamdi7 Actually, IP addresses Identify Interfaces Network A Network B Network C Host 1 Host 2 Host 7 Host 1 Host 12 Host 2 Network C, Host 3 Network A, Host 3 Network B, Host 77 Machines can have more than one IP address. All routers do!
COMP680E by M. Hamdi8 IP Forwarding Table DestinationNext HopInterface Net A Net B Net C, Host 3 Router 1 Direct Router 2 Router 1 INT 7 INT 3 INT 4 A destination is usually a network. May also be a host, or a “gateway of last resort” (default) The next hop is either a directly connected network or a router on a directly connected network A physical interface Net C
COMP680E by M. Hamdi9 IP Forwarding Process Forwarding Process IP Forwarding Table Router 1. Remove a packet from an input queue 3. Match packet’s destination to a table entry 2. Check for correctness decrement TTL field 4. Place packet on correct output queue If queues get full, just drop packets! If queues get full, just drop packets!
COMP680E by M. Hamdi10 Architecture of Routing Protocols IGP EGP AS 701 AS 6431AS 7018 Interior Gateway Protocols (IGP) : inside autonomous systems Exterior Gateway Protocols (EGP) : between autonomous systems OSPF, IS-IS, RIP, EIGRP,... BGP Metric Based Policy Based UUNet AT&T Common Backbone Sprint
COMP680E by M. Hamdi11 The Most Common Routing Protocols Routing protocols exchange network reachability information between routers. IP (and ICMP) TCP UDP BGPRIP OSPF EIGRP IS-IS Cisco proprietary
COMP680E by M. Hamdi12 What is a Routing Process? Routing Process Protocol-Specific Routing Table import information from other routers export information to other routers IP Forwarding Table Router Manual configuration OS kernel
COMP680E by M. Hamdi13 Many routing processes can run on a single router IP Forwarding Table OSPF Domain RIP Domain BGP OS kernel OSPF Process OSPF Routing tables RIP Process RIP Routing tables BGP Process BGP Routing tables
COMP680E by M. Hamdi14 Basic Architectural Components of an IP Router Control Plane Datapath per-packet processing Switching Forwarding Table Routing Table Routing Protocols
COMP680E by M. Hamdi15 Two components of routing Control component –Decides where the packets will go –Use a set of routing protocols (e.g. OSPF, BGP) to collect information and produce a “forwarding table” –“Control plane” Forwarding component –Moving packets from input to output ports according to forwarding table and packet header –“Forwarding plane” Routing “daemon” collect routing info and maintain routing DB kernel Forwarding table Forwarding algorithm and mechanism packets routes
COMP680E by M. Hamdi16 IP Addresses come in two parts Network Number Host Number Where is this dividing line? Well, that depends....
COMP680E by M. Hamdi17 Classful Addresses 0nnnnnnn 10nnnnnnnnnnnnnn 110nnnnn hhhhhhhh n = network address bit h = host identifier bit Class A Class C Class B
COMP680E by M. Hamdi18 The Classful Address Space Leads to very inefficient allocation of addresses …
COMP680E by M. Hamdi19 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. Hamdi20 Allocation of Classful Addresses
COMP680E by M. Hamdi21 Flat Network Addressing This router needs at least 12 table entries Exports at least 12 network addresses Z Y X WT U V S Q R P N
COMP680E by M. Hamdi22 Limitations of Classful IP Addressing Wastes IP Addresses Network of 2000 Computers Assigned 65,534 IP Addresses 63,534 Wasted 2000 Allocated Class B wxyz Network ID Host ID Adds Multiple Entries to Routing Tables Class C wxyz Network ID Host ID Portion of Internet Routing Tables Company Network IDs Internet
COMP680E by M. Hamdi23 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. Hamdi24 Subnetting Problem: Organizations have multiple networks which are independently managed –Solution 1: Allocate a separate network address for each network Difficult to manage From the outside of the organization, each network must be addressable. –Solution 2: Add another level of hierarchy to the IP addressing structure University Network Medical School Library Engineering School
COMP680E by M. Hamdi25 Each part of the organization is allocated a range of IP addresses (subnets or subnetworks) Addresses in each subnet can be administered locally Address assignment with subnetting University Network Medical School Library Engineering School / / / / /24
COMP680E by M. Hamdi26 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 Then: Subnets can be freely assigned within the organization Internally, subnets are treated as separate networks Subnet structure is not visible outside the organization network prefixhost number subnet number network prefix host number extended network prefix
COMP680E by M. Hamdi27 Routers and hosts use an extended network prefix (subnetmask) to identify the start of the host numbers Subnetmask
COMP680E by M. Hamdi28 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. Hamdi29 Example: Subnetmask /16 is the IP address of the network /24 is the IP address of the subnet is the IP address of the host (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. Hamdi30 No Subnetting All hosts think that the other hosts are on the same network
COMP680E by M. Hamdi31 With Subnetting Hosts with same extended network prefix belong to the same network
COMP680E by M. Hamdi32 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. Hamdi33 Different subnetmasks lead to different views of the size of the scope of the network With Subnetting
COMP680E by M. Hamdi34 Mask may vary with location / / / / / /16 :::::: / / /24 :::: / / / / / / / /19 :::::: This allows all of these (sub)networks to be aggregated into one entry in an IP forwarding table
COMP680E by M. Hamdi35 Hierarchical Network Addressing (Subnetting and Supernetting) Network Z This Router needs only 3 table entries for networks Z-T, Z-S, and Z-U Z T S U Network Z-U-X This is called Aggregation Network Z-T Exports only one Address M P Q W W P S X M F K J
COMP680E by M. Hamdi36 Optimizing the Allocation of IP Addresses Routing Table for Router B Before Supernetting: Route r A Router B Routing Table for Router B Router B Router A After Supernetting: After Subnetting Router B Router A Routing Table for Router B
COMP680E by M. Hamdi37 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 2 7 = 128 Class A networks 2 14 = 16,384 Class B networks –But this is not acceptable for Class C networks 2 21 = 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. Hamdi38 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. Hamdi39 CIDR Notation CIDR notation of an IP address: /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 and subnetmask becomes /24 CIDR notation allows to drop trailing zeros of network addresses: /18 can be written as /18
COMP680E by M. Hamdi40 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: /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. Hamdi41 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 /2732 /2664 /25128 /24256 /23512 /221,024 /212,048 /204,096 /198,192 /1816,384 /1732,768 /1665,536 /15131,072 /14262,144 /13524,288
COMP680E by M. Hamdi42 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 /18, which represents 16,384 (2 14 ) 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., /22, and allocated a block of 1,024 (2 10 ) IP addresses.
COMP680E by M. Hamdi43 User Assign Network Allocate RIR / NIR Allocate IANA Delegate Where do IP addresses come from? IETF
COMP680E by M. Hamdi44 IPv4 Address Allocation US Commercial 369m. US Government 201m. ARIN (N. America) 268m. Asia/Pacific 151m. Europe 218m. International 1,191m. Reserved (IANA) 1,896m. Source: iana.org Total Addresses: 4,295m. IANA: Internet Assigned Numbers Authority ARIN: American Registry for Internet Numbers
COMP680E by M. Hamdi45 CIDR and Routing Aggregation of routing table entries: – /16 and /16 are represented as /15 Longest prefix match: Routing table lookup finds the routing entry that matches the longest prefix What is the outgoing interface for /24 ? Route aggregation can be exploited when IP address blocks are assigned in an hierarchical fashion PrefixInterface /4interface # /9interface # /17interface #1 Routing table
COMP680E by M. Hamdi46 CIDR and Routing Information / / /21 Internet Backbone ISP X owns: Company X : /22 ISP y : /24 Organization z1 : /26 Organization z2 : /26
COMP680E by M. Hamdi47 CIDR and Routing Information / / /21 Internet Backbone ISP X owns: Company X : /22 ISP y : /24 Organization z1 : /26 Organization z2 : /26 Backbone sends everything which matches the prefixes /18, /15, /21 to ISP X. ISP X sends everything which matches the prefix: /22 to Company X, /24 to ISP y Backbone routers do not know anything about Company X, ISP Y, or Organizations z1, z2. ISP X does not know about Organizations z1, z2. ISP y sends everything which matches the prefix: /26 to Organizations z /26 to Organizations z2
COMP680E by M. Hamdi48 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, /13, /22, /32 etc. An l-bit prefix represents an aggregation of 2 32-l IP addresses
COMP680E by M. Hamdi49 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 addresses per square inch on the surface of the Earth.
COMP680E by M. Hamdi50 IPv6 Header
COMP680E by M. Hamdi51 IPv6 vs. IPv4: Address Comparison IPv4 has a maximum of 2 32 4 billion addresses IPv6 has a maximum of = (2 32 ) 4 4 billion x 4 billion x 4 billion x 4 billion addresses