prepared by e.musa alyaman1 chapter 3 internet addressing

18
Prepared By E.Musa Alyama n 1 Chapter 3 Internet Addressing

Post on 15-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman1

Chapter 3

Internet Addressing

Page 2: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman2

Chapter 3 Outline

• Hosts • Internet addresses • Next Generation Internet • IPv4• Class A,B and C addresses • Domain Name System (DNS) • Creating InetAddresses• Java 1.4 Added Methods• Getter Methods• Address Types• Object Methods• Chapter 3 Highlights

Page 3: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman3

Hosts

• Devices connected to the Internet are called hosts

• Most hosts are computers, but hosts also include routers, printers, fax machines,etc.

Page 4: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman4

Internet addresses

• Every host on the Internet is identified by a unique, four-byte Internet Protocol (IP) address.

• This is written in dotted quad format like 199.1.32.90 where each byte is an unsigned integer between 0 and 255.

• There are about four billion unique IP addresses, but they aren’t very efficiently allocated

Page 5: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman5

Next Generation Internet

• The solution is IPv6 which uses 128 bit addresses• Improves services such as multicasting and secure

communication• Not yet widely deployed by ISPs• Well written Java software should move to IPv6 without

modification/recompilation this is one benefit of abstracted APIs

Page 6: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman6

IPv4

• Each 32 bit IP number consists of two components:– The network address

• The unique international address of the network

– The host address • The unique address of a specific host in the net

• There are three classes of network address denoted class ‘A’, ‘B’ and ‘C’

Page 7: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman7

Class A,B and C addresses

Class A

Class B

Class C

192 . 85 . 35 . 87

Network Address Byte

Host Address Byte

0...

10...

110...

Page 8: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman8

Domain Name System (DNS)

• Numeric addresses are mapped to names like www.msn.com or mail.msn.com by DNS.

• Each site runs domain name server software that translates names to IP addresses and vice versa

• DNS is a distributed system

Page 9: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman9

IP Addresses and Java

• Java has a class java.net.InetAddress which abstracts network addresses

• Serves three main purposes:– Encapsulates an address– Performs name lookup (converting a host

name into an IP address)– Performs reverse lookup (converting the

address into a host name)

Page 10: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman10

Creating InetAddresses

• There are no public InetAddress() constructors. Arbitrary addresses may not be created.

• All addresses that are created must be checked with DNS

Page 11: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman11

Ways to create InetAddress objects

public static InetAddress getByName(String host) throws UnknownHostException

public static InetAddress[ ] getAllByName(String host) throws UnknownHostException

public static InetAddress getLocalHost() throws UnknownHostException

Page 12: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman12

Java 1.4 Added Methods

• Java 1.4 adds two more factory methods that do not check their addresses with the local DNS server. The first creates an InetAddress object with an IP address and no hostname. The second creates an InetAddress object with an IP address and a hostname.

public static InetAddress getByAddress(byte[ ] address) throws UnknownHostException

public static InetAddress getByAddress(String hostName, byte[] address) throws UnknownHostException

Page 13: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman13

Getter Methods

They return the hostname as a string and the IP address as both string and a byte array

• public String getHostName()• public byte[ ] getAddress()• public String getHostAddress()

Page 14: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman14

Address Types

• Public boolean isAnyLocalAddress()• Public boolean isLoopbackAddress()• Public boolean isLinkLocalAddress()• Public boolean isSiteLocalAddress()• Public boolean isMulticastAddress()• Public boolean isMCGloabl()• Public boolean isMCNodeLocal((• Public boolean isMCLinkLocal()• Public boolean isMCSiteLocal()• Public boolean isMCOrgLocal()

Page 15: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman15

Object Methods

• Public boolean equals (Object o)

• Public int hashCode ()

• Public String toString ()

Page 16: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman16

Inet4Address and Inet6Address

• Public final class Inet4Address extends InetAddress

• Public final class Inet6Address extends InetAddress

Page 17: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman17

Using InetAddress objectsimport java.net.InetAddress;import java.net.UnknownHostExcepion;

public static void main(String[] args){ try { InetAddress inet1 = InetAddress.getByName("asp.ee.uwa.edu.au"); System.out.println( "HostAddress=" + inet1.getHostAddress()); InetAddress inet2 = InetAddress.getByName("130.95.72.134"); System.out.println("HostName=" + inet2.getHostName()); if (inet1.equals(inet2)) System.out.println("Addresses are equal"); } catch (UnknownHostException uhe) { uhe.printStackTrace(); }}

Page 18: Prepared By E.Musa Alyaman1 Chapter 3 Internet Addressing

Prepared By E.Musa Alyaman18

Chapter Highlights

In this chapter, you have learned:

• About the Domain Name System (DNS) and domain name suffixes (such as .com)

• About the structure of an IP address and the various classes of IP addresses

• About the InetAddress class and its various methods