ee 122: ip addressing

34
1 EE 122: IP Addressing Ion Stoica TAs: Junda Liu, DK Moon, David Zats http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at UC Berkeley)

Upload: soyala

Post on 25-Feb-2016

29 views

Category:

Documents


0 download

DESCRIPTION

EE 122: IP Addressing. Ion Stoica TAs: Junda Liu, DK Moon, David Zats http://inst.eecs.berkeley.edu/~ee122/ ( Materials with thanks to Vern Paxson , Jennifer Rexford, and colleagues at UC Berkeley). Goals of Today’s Lecture. IP addresses Dotted-quad notation IP prefixes for aggregation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: EE 122: IP Addressing

1

EE 122: IP AddressingIon Stoica

TAs: Junda Liu, DK Moon, David Zatshttp://inst.eecs.berkeley.edu/~ee122/

(Materials with thanks to Vern Paxson, Jennifer Rexford,and colleagues at UC Berkeley)

Page 2: EE 122: IP Addressing

2

Goals of Today’s Lecture

IP addresses Dotted-quad notation IP prefixes for aggregation Classful addresses Classless InterDomain Routing (CIDR) Special-purpose address blocks

Address allocation Hierarchy by which address blocks are given out Finding information about an allocation

Page 3: EE 122: IP Addressing

3

Designing IP’s Addresses

Question #1: what should an address be associated with? E.g., a telephone number is not associated with a

person but with a handset Question #2: what structure should addresses

have? What are the implications of different types of structure?

Question #3: who determines the particular addresses used in the global Internet? What are the implications of how this is done?

Page 4: EE 122: IP Addressing

4

IP Addresses (IPv4) A unique 32-bit number Identifies an interface (on a host, on a router, …) Represented in dotted-quad notation. E.g,

12.34.158.5:

00001100 00100010 10011110 00000101

12 34 158 5

Page 5: EE 122: IP Addressing

5

Hierarchical Addressing in U.S. Mail Addressing in the U.S. mail

Zip code: 15232 Street: Forbes Avenue Building on street: 5000 Apartment: 61B Name of occupant: Ion Stoica

Forwarding the U.S. mail Deliver letter to the post office in the zip code Assign letter to mailman covering the street Drop letter into mailbox for the building/room Give letter to the appropriate person

???

Page 6: EE 122: IP Addressing

6

Hierarchical Addressing: IP Prefixes Divided into network (left) & host portions (right) 12.34.158.0/24 is a 24-bit prefix with 29 addresses

Terminology: “Slash 24”

00001100 00100010 10011110 00000101

Network (24 bits) Host (8 bits)

12 34 158 5

Page 7: EE 122: IP Addressing

7

IP Address and a 24-bit Subnet Mask

00001100 00100010 10011110 00000101

12 34 158 5

11111111 11111111 11111111 00000000

255 255 255 0

Address

Mask

Page 8: EE 122: IP Addressing

8

Addressing Hosts in the Internet The Internet is an “inter-network”

Used to connect networks together, not hosts Needs a way to address a network (i.e., group of

hosts)

host host host

LAN 1

... host host host

LAN 2

...

router router routerWAN WAN

LAN = Local Area NetworkWAN = Wide Area Network

Page 9: EE 122: IP Addressing

9

Routers Router consists of

Set of input interfaces where packets arrive Set of output interfaces from which packets depart Some form of interconnect connecting inputs to outputs

Router implements Forward packet to corresponding output interface Manage bandwidth and buffer space resources

host host host

LAN 1

... host host host

LAN 2

...

router router routerWAN WAN

Router

Page 10: EE 122: IP Addressing

10

Forwarding Table Store a mapping between IP addresses and output

interfaces Forward an incoming packet based on its destination address

……

31.2.3.6 11.2.3.5

1

21.2.3.5

1.2.3.4

1.2.3.4 2

Page 11: EE 122: IP Addressing

11

Scalability Challenge Suppose hosts had arbitrary addresses

Then every router would need a lot of information …to know how to direct packets toward the host

host host host

LAN 1

... host host host

LAN 2

...

router router routerWAN WAN

1.2.3.4 5.6.7.8 2.4.6.8 1.2.3.5 5.6.7.9 2.4.6.9

1.2.3.41.2.3.5

forwarding table

Page 12: EE 122: IP Addressing

12

Scalability Improved Number related hosts from a common subnet

1.2.3.0/24 on the left LAN 5.6.7.0/24 on the right LAN

host host host

LAN 1

... host host host

LAN 2

...

router router routerWAN WAN

1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212

1.2.3.0/245.6.7.0/24

forwarding table

Page 13: EE 122: IP Addressing

13

Easy to Add New Hosts No need to update the routers

E.g., adding a new host 5.6.7.213 on the right Doesn’t require adding a new forwarding entry

host host host

LAN 1

... host host host

LAN 2

...

router router routerWAN WAN

1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9 5.6.7.212

1.2.3.0/245.6.7.0/24

forwarding table

host

5.6.7.213

Page 14: EE 122: IP Addressing

14

Classful Addressing Class A: if first byte in [0..127], assume /8 (top bit = 0)

Very large blocks (e.g., MIT has 18.0.0.0/8) Class B: first byte in [128..191] assume /16 (top bits = 10)

Large blocks (e.g,. UCB has* 128.32.0.0/16) Class C: [192..223] assume /24 (top bits = 110)

Small blocks (e.g., ICIR has 192.150.187.0/24) The “swamp” (many European networks, due to history)

0******* ******** ******** ********

10****** ******** ******** ********

110***** ******** ******** ********

Page 15: EE 122: IP Addressing

15

Classful Addressing (cont’d) Class D: [224..239] (top bits 1110)

Multicast groups Class E: [240..255] (top bits 11110)

Reserved for future use

What problems can classful addressing lead to? Only comes in 3 sizes Routers can end up knowing about a lot of class C’s

1110**** ******** ******** ********

11110*** ******** ******** ********

Page 16: EE 122: IP Addressing

16

Classless Inter-Domain Routing (CIDR)

IP Address : 12.4.0.0 IP Mask: 255.254.0.0

00001100 00000100 00000000 00000000

11111111 11111110 00000000 00000000

Address

Mask

for hosts Network Prefix

Use arbitrary length prefixesUse two 32-bit numbers to represent a network.

Network number = IP address + Mask

Written as 12.4.0.0/15 or 12.4/15

Page 17: EE 122: IP Addressing

17

CIDR: Hierarchal Address Allocation

12.0.0.0/8

12.0.0.0/15

12.253.0.0/16

12.2.0.0/1612.3.0.0/16

::

12.3.0.0/2212.3.4.0/24

::

12.3.254.0/23

12.253.0.0/1912.253.32.0/1912.253.64.0/1912.253.64.108/3012.253.96.0/1812.253.128.0/17

:::

Prefixes are key to Internet scalability Addresses allocated in contiguous chunks (prefixes) Routing protocols and packet forwarding based on prefixes

:

Page 18: EE 122: IP Addressing

18

Scalability: Address Aggregation

Provider is given 201.10.0.0/21 (201.10.0.x .. 201.10.7.x)

201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23

Provider

Routers in the rest of the Internet just need to know how to reach 201.10.0.0/21. The provider can direct the

IP packets to the appropriate customer.

Page 19: EE 122: IP Addressing

19

But, Aggregation Not Always Possible

201.10.0.0/21

201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23

Provider 1 Provider 2

Multi-homed customer with 201.10.6.0/23 has two providers. Other parts of the Internet need to know how

to reach these destinations through both providers. /23 route must be globally visible

Page 20: EE 122: IP Addressing

20

Growth in Routed Prefixes (1989-2005)

Initial growth super-linear; no aggregation

Advent of CIDR allows aggregation: linear growth

Internet boom: multihoming drives superlinear growth

Dot-com implosion; Internet bubble bursts

Back in business

Page 21: EE 122: IP Addressing

21

Special-Purpose Address Blocks Private addresses

By agreement, not routed in the public Internet For networks not meant for general Internet connectivity Blocks: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16

Link-local By agreement, not forwarded by any router Used for single-link communication only Intent: autoconfiguration (especially when DHCP fails) Block: 169.254.0.0/16

Loopback Address blocks that refer to the local machine Block: 127.0.0.0/8 Usually only 127.0.0.1/32 is used

Limited broadcast Sent to every host attached to the local network Block: 255.255.255.255/32

Page 22: EE 122: IP Addressing

22

Scalability Through Non-Uniform HierarchySummary: Hierarchical addressing

Critical for scalable system Don’t require everyone to know everyone else Reduces amount of updating when something

changes Non-uniform hierarchy

Useful for heterogeneous networks of different sizes Initial class-based addressing was far too coarse Classless InterDomain Routing (CIDR) gains much

more flexibility

Page 23: EE 122: IP Addressing

23

5 Minute Break

Questions Before We Proceed?

Page 24: EE 122: IP Addressing

24

Address Allocation

Page 25: EE 122: IP Addressing

25

Obtaining a Block of Addresses Separation of control

Prefix: assigned to an institution Addresses: assigned by the institution to their nodes

Who assigns prefixes? Internet Corporation for Assigned Names and Numbers

Allocates large address blocks to Regional Internet Registries ICANN is politically charged

Regional Internet Registries (RIRs) E.g., ARIN (American Registry for Internet Numbers) Allocates address blocks within their regions Allocated to Internet Service Providers and large institutions ($$)

Internet Service Providers (ISPs) Allocate address blocks to their customers (could be recursive)

Often w/o charge

Page 26: EE 122: IP Addressing

26

Figuring Out Who Owns an Address

Address registries Public record of address allocations Internet Service Providers (ISPs) should update when

giving addresses to customers However, records are notoriously out-of-date

Ways to query UNIX: “whois –h whois.arin.net 169.229.60.27” http://www.arin.net/whois/ http://www.geektools.com/whois.php …

Page 27: EE 122: IP Addressing

27

Example Output for 169.229.60.27

University of California, Office of the President UCNET-BLK (NET-169-229-0-0-1)

169.229.0.0 - 169.233.255.255University of California at Berkeley ISTDATA

(NET-169-229-0-0-2) 169.229.0.0 - 169.229.255.255

• ISTDATA – Information Services and Technology (IST) - Data Communication and Network Services

Page 28: EE 122: IP Addressing

28

Are 32-bit Addresses Enough? Not all that many unique addresses

232 = 4,294,967,296 (just over four billion) Plus, some (many) reserved for special purposes And, addresses are allocated in larger blocks

And, many devices need IP addresses Computers, PDAs, routers, tanks, toasters, …

Long-term solution (perhaps): larger address space IPv6 has 128-bit addresses (2128 = 3.403 × 1038)

Short-term solutions: limping along with IPv4 Private addresses Network address translation (NAT) Dynamically-assigned addresses (DHCP)

Page 29: EE 122: IP Addressing

29

Network Address Translation (NAT)

Before NAT… Every machine connected to the Internet had a

unique IP address

1.2.3.4

1.2.3.5

5.6.7.8

LAN

Clients

Server

Internet1.2.3.45.6.7.880 1001

dest addr src addrdst port

src port

5.6.7.8 1.2.3.4 80 1001

Page 30: EE 122: IP Addressing

30

Network Address Translation (cont’d) Independently assign addresses to machines behind

same NAT Usually in address block 192.168.0.0/16

Use port numbers to multiplex demultiplex internal addresses

192.2.3.4

192.2.3.5

5.6.7.8

Clients

Server

InternetNAT

1.2.3.4

5.6.7.8 192.2.3.4 80 1001

192.2.3.4:1001 1.2.3.4:2000

5.6.7.8 1.2.3.4 80 2000

1.2.3.45.6.7.880 2000

5.6.7.8 192.2.3.480 1001

Page 31: EE 122: IP Addressing

31

Network Address Translation (cont’d) Independently assign addresses to machines behind

same NAT Usually in address block 192.168.0.0/16

Use port numbers to multiplex demultiplex internal addresses

192.2.3.4

192.2.3.5

5.6.7.8

Clients

Server

InternetNAT

1.2.3.4

192.2.3.4:1001 1.2.3.4:2000

5.6.7.8 1.2.3.4 80 2001

1.2.3.45.6.7.880 2001

5.6.7.8 192.2.3.580 1001

192.2.3.5:1001 1.2.3.4:2001

5.6.7.8 192.2.3.5 80 1001

Page 32: EE 122: IP Addressing

32

Hard Policy Questions How much address space per geographic region?

Equal amount per country? Proportional to the population? What about addresses already allocated?

Address space portability? Keep your address block when you change providers? Pro: avoid having to renumber your equipment Con: reduces the effectiveness of address aggregation

Keeping the address registries up to date? What about mergers and acquisitions? Delegation of address blocks to customers? As a result, the registries are often out of date

Page 33: EE 122: IP Addressing

33

Summary of IP Addressing 32-bit numbers identify interfaces Allocated in prefixes Non-uniform hierarchy for scalability and flexibility

Routing is based on CIDR A number of special-purpose blocks reserved Address allocation:

ICANN RIR ISP customer network host Issues to be covered later

How hosts get their addresses (DHCP) How to map from an IP address to a link address (ARP)

Page 34: EE 122: IP Addressing

34

Next Lecture

IP Forwarding; Transport protocols Read K&R: 3-3.4 (pp 195-240)