CS 372 – introduction to computer networks* Friday July 23, 2010 Announcements: Midterms are graded. Lab 4 is posted. * Based in part on slides by Bechir Hamdaoui and Paul D. Paulson. Acknowledgement: slides drawn heavily from Kurose & Ross Chapter 4, slide: 1 Internet addresses A key aspect of a virtual network is a single, uniform address format Can't use hardware addresses because different technologies have different address formats Can't use addresses that are local to a network because multiple networks might use the same addresses internally Address format must be independent of any particular hardware address format Chapter 4, slide: 2 IP address notation IP address is just a 32-bit number It’s the same internally, regardless of its external representation In decimal form, the range is [0 … 4294967296] Some are reserved In hexadecimal form, the range is [00000000 … FFFFFFFF] • • • • divides naturally into 4 2-hexdigit groups e.g.: 80 FD 28 1C each group represents one byte (octet) Binary form is 10000000 11111101 00101000 00011100 For convenience, use dotted decimal notation e.g.: 128.253.40.28 (= 80.FD.28.1C) range is [0.0.0.0 … 255.255.255.255] Chapter 4, slide: 3 IP Addressing: introduction IP address: 32-bit identifier for 223.1.1.1 = 11011111 00000001 00000001 00000001 host, router interface 223 1 1 1 223.1.1.1 interface: connection between host/router and physical link multiple interfaces per router one interface per host one IP address per interface 223.1.2.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.3.1 223.1.2.9 223.1.3.27 223.1.2.2 223.1.3.2 Chapter 4, slide: 4 Subnets IP address: subnet part (higher bits) host part (lower bits) subnet part host part 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.1.3 11001000 00010111 00010000 00000000 223.1.3.27 223.1.2.2 subnet 200.23.16.0/23 223.1.3.1 What’s a subnet ? device interfaces with same subnet part of IP address can physically reach each other without intervening router 223.1.2.9 223.1.3.2 network consisting of 3 subnets Chapter 4, slide: 5 Subnets Recipe To determine the subnets, detach each interface from its host or router, creating islands of isolated networks. Each isolated network is called a subnet. 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 Subnet mask: /24 Chapter 4, slide: 6 Subnets 223.1.1.2 How many? 223.1.1.1 223.1.1.4 223.1.1.3 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.2.1 223.1.3.27 223.1.2.2 223.1.3.1 223.1.3.2 Chapter 4, slide: 7 IP addresses: how to get one? Q: How does host get IP address? hard-coded by system admin in a file DHCP: Dynamic Host Configuration Protocol: dynamically get IP address from as server when joining the network IP address can be reused by other hosts if released Can renew IP addresses if stayed connected Chapter 4, slide: 8 DHCP client-server scenario A B 223.1.2.1 DHCP server 223.1.1.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.1 223.1.3.27 223.1.3.2 E arriving DHCP client needs address in this network Chapter 4, slide: 9 IP addresses: how to get one? Q: How does network get subnet part of IP addr? A: gets allocated portion of its provider ISP’s address space ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 Organization 1 Organization 2 ... 11001000 00010111 00010000 00000000 11001000 00010111 00010010 00000000 11001000 00010111 00010100 00000000 ….. …. 200.23.16.0/23 200.23.18.0/23 200.23.20.0/23 …. Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 Chapter 4, slide: 10 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 assigns domain names, resolves disputes Chapter 4, slide: 11 IP address format Each IP address is divided into a prefix and a suffix Prefix identifies the network and the type of network to which a host computer is attached Suffix identifies a host computer within that network Usually includes indicator for number of bits used for prefix Address format enables efficient routing Chapter 4, slide: 12 IP address hierarchy Every network in a TCP/IP internet is assigned a unique network number Each host on a specific network is assigned a host number or host address that is unique within that network Host's IP address is the combination of the network number (prefix) and host address (suffix) Chapter 4, slide: 13 IP address assignment Network numbers (prefixes) are unique Host addresses (suffixes) may be duplicated on different networks The combination of network number prefix and host address suffix is unique in the entire internet Chapter 4, slide: 14 IP address assignment Assignment of network numbers must be coordinated globally Assignment of host addresses can be managed locally Chapter 4, slide: 15 IP address design IP-v4 designers chose 32-bit addresses Allocate some bits for prefix, some for suffix Large prefix, small suffix - many networks, few hosts per network Small prefix, large suffix - few networks, many hosts per network Because of the wide variety of technologies, need to allow for both large and small networks Chapter 4, slide: 16 IP addressing (two types): Classful addressing: A, B, C A: /8 (only 28 networks, but 224 hosts per network) B: /16 (216 networks, and 216 hosts per network) C: /24 (224 networks, but only 28 hosts per network) CIDR: Classless InterDomain Routing network portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in network portion of address network part host part 11001000 00010111 000100 00 00000000 200.23.16.0/22 Chapter 4, slide: 17 IP address classes: Classful addressing Multiple address formats that allow both large and small prefixes Each format is called an address class The class of an address is identified by first four bits The number of bits allocated for the prefix is determined by the class Chapter 4, slide: 18 IP address classes: Classful addressing Chapter 4, slide: 19 Chapter 4, slide: 20 IP address classes: Classful addressing Class A, B and C are primary classes Used for ordinary host addressing Class D is used for multicast, a limited form of broadcast Internet hosts join a multicast group Packets are delivered to all members of group Routers manage delivery of single packet from source to all members of multicast group Used for multicast backbone Class E is reserved Chapter 4, slide: 21 Determining IP class Dotted decimal makes separating network address from host address easier Look at first dotted decimal number, and use this table: Chapter 4, slide: 22 How many networks? Classful scheme does not yield equal number of networks in each class class A: First bit must be 0 7 remaining bits identify Class A net 27 (= 128) possible class A nets • Minus a few that are reserved class B: First 2 bits must be 10 14 remaining bits identify Class B net 214 (= 16384) possible class B nets • Minus a few that are reserved class C: First 3 bits must be 110 21 remaining bits identify Class C net 221 (= 2097152) possible class C nets • Minus a few that are reserved Chapter 4, slide: 23 Networks and hosts in each class 8 16 24 Chapter 4, slide: 24 What if the form doesn't fit? Large organizations may not be able to get as many addresses in the Internet as they need Example - UPS needs addresses for millions of computers Example – School needs 6000 hosts Too big for class C, too many wasted addresses for class B Chapter 4, slide: 25 Possible solutions Classless addressing allow division between prefix and suffix at any bit boundary Sharing an IP address Use one IP address for multiple hosts Chapter 4, slide: 26 Classless Addressing Example 128.193.47.25 dotted decimal 80 C1 2F 19 hexadecimal 1000 0000 1100 0001 0010 1111 0001 1001 binary This can be “re-aligned” to use variable-size prefixes and suffixes. Example: Suppose we want a 22-bit prefix and a 10-bit suffix Chapter 4, slide: 27 Example: 1000 0000 1100 0001 0010 1111 0001 1001 Logical AND with a "mask" using 22 bits for prefix (netmask), 10 bits for suffix: 1111 1111 1111 1111 1111 1100 0000 0000 … gives a prefix: 1000 0000 1100 0001 0010 1100 0000 0000 The complement mask (hostmask) 0000 0000 0000 0000 0000 0011 1111 1111 … gives a suffix: 0000 0000 0000 0000 0000 0011 0001 1001 Chapter 4, slide: 28 Example: 1000 0000 1100 0001 0010 1100 0000 0000 0000 0000 0000 0000 0000 0011 0001 1001 i.e., the “network number” is 80C12C00h, and the “host number” within the network is 319h With 10 bits for suffix, 1024 host addresses are available within the subnet (but 2 of these are reserved) Address still looks almost the same in dotted decimal 128.193.47.25 / 22 Additional information is provided so addressing can be handled by routers Chapter 4, slide: 29 CIDR CIDR (Classless Inter-Domain Routing) address includes specification for number of bits to use for the netmask Example: host address 128.193.47.25/22 What is the netmask? • 255.255.252.0 What is the network address? • 128.193.44.0 What is the hostmask? • 0.0.3.255 What is the host number? • 0.0.3.25 = 319h = 793 (decimal) Chapter 4, slide: 30 CIDR What is the netmask for /20 ? 255.255.240.0 What is the netmask for /24 ? 255.255.255.0 What is the netmask for /27 ? 255.255.255.224 How many hosts can be supported in /28 ? 24 - 2 = 14 Chapter 4, slide: 31 Example Three subnets All interfaces in all these Subnet 1 Subnet 2 subnets are required to have prefix: 223.1.13/24 Subnet 1 is required to support 125 interfaces Subnet 2 & 3 are each required to support 60 interfaces Question: Provide 3 network addresses in the form: a.b.c.d/x Subnet 3 Chapter 4, slide: 32 IP address assignment Select an address class for each network depending on expected number of hosts Assign network numbers from appropriate classes Assign host suffixes to form internet addresses for all hosts The lowest host number (0) is not used because that complete address is the network address e.g., 192.168.5.0 The highest host number (depends on network type) is not used because that complete address is the “broadcast address” for the network e.g., 192.168.5.255 Chapter 4, slide: 33 OSU IP addresses Oregon State has a single Class B network: 128.193.0.0 All hosts at OSU have 128.193 prefix E.G.: ns1.oregonstate.edu 128.193.0.10 ns2.oregonstate.edu 128.193.4.20 Suffix bytes are used to determine local network and host through subnetting Individual host addresses assigned by system administrators may be static or dynamic assignment Chapter 4, slide: 34 IP address allocation Addresses in the Internet are not used efficiently Less than 10% of possible addresses are actually assigned Concerns about address space being exhausted OSU is like most organizations, using 5,0006,000 out of possible 216 (= 65,536) available addresses Chapter 4, slide: 35 Routing table information In the routing table Destination stored as network address Next hop stored as IP address of router Address mask defines how many bits of address are in prefix Prefix defines how much of address used to identify network e.g., class B mask is 255.255.0.0 • In binary: 11111111111111110000000000000000 Chapter 4, slide: 36 Example: Routing table for Chapter 4, slide: 37 Consider 192.4.10.26: Routing table for doesn’t care what does with the packets Chapter 4, slide: 38 Address masks To identify destination network, apply address mask to destination address and compare to network address in routing table Use Boolean and if ((Mask[i] & D) == Dest[i]) forward to NextHop[i] Chapter 4, slide: 39