prepared by e.musa alyaman1 chapter 3 internet addressing
Post on 15-Jan-2016
223 views
TRANSCRIPT
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
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.
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
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
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’
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...
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
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)
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
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
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
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()
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()
Prepared By E.Musa Alyaman15
Object Methods
• Public boolean equals (Object o)
• Public int hashCode ()
• Public String toString ()
Prepared By E.Musa Alyaman16
Inet4Address and Inet6Address
• Public final class Inet4Address extends InetAddress
• Public final class Inet6Address extends InetAddress
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(); }}
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