FINAL THESIS CHAP 1-6 - Library & Knowledge Center

advertisement
8
Chapter 2
Theoretical Foundation
2.1
Overview of OSI Model
The OSI (Open System Interconnection) reference model, released in 1984, provide
vendors with a set of standards that ensures greater compatibility and interoperability
among the various types of network technologies that were produced by many companies
around the world [4]
The OSI model divides various types of computer network into seven different
parts/layers. All the layer can be used to communications between networks or can work
as a guideline for communication. The OSI model is very important regarding the
communication between networks, OSI model defining all the network function in each
layer also OSI model act as a framework that help to explain how information travel
through the network.
Figure 2.1 OSI Model Layers [4]
9
Figure 2.1 help to explain the seven layers in the OSI model layer. Each layer has its own
network function that will be elaborate one by one in detail below.
2.1.1 Layer 7: Application Layer
Application layer is upper part of the OSI model layer, very close to user, the main
responsibility to interact with the user application like printing, create database, and
application service. Common applications that deal with the application - layer protocol
are Internet Mail Access Protocol – protocol that defines how users can access and store
incoming e-mail messages (IMAP) [6], Trivial File Transfer Protocol – simplified version
of the TCP/IP file transfer protocol that does not include password protection (TFTP) [6],
HTTP, Telnet, SMTP, FTP, Post Office Protocol version 3 – an internet mail server
protocol that also provides an incoming mail storage mechanism (POP3) [6], and
Structured Query Language – a query language developed by IBM for use in mainframe
application (SQL) [6]. The application layer doesn’t provide services to other OSI layer.
2.1.2 Layer 6: Presentation Layer
The easiest layers that can be understood is the presentation layer its effects can be easily
seen. Main function of this layer to modified the format data send by one system so it can
be readable by another system. It also can translate multiple data formats by using
common format. The presentation layer also can encrypt and decrypt files to be readable
by the system, other function that presentation layer can do is handling with data
10
compression and translation service. Example data format for the presentation layer are:
GIF, JPEG, MPEG, TIFF, American Standard Code for Information Interchange – a
standard coding scheme that assigns numeric values to letters, numbers, punctuation
characters and control characters to achieve compatibility among different computer
peripheral devices (ASCII) [6], and MIDI.
2.1.3 Layer 5: Session Layer
Session Layer manages all the session needed to establish communication between hosts.
Consider to be the most difficult layer to understand. Establish, terminates, and manages
session is the main function of this layer beside dialog control between nodes. Session
layer also organize communication between systems by providing three different
methods: simplex, half duplex, and full duplex. Common application or protocol uses in
this layer are: NetBIOS – a Novell NetWare 3.x workstation utility used to determine if
the client software NETBIOS.EXE is loaded and, if so, which interrupts it is using [6],
Lightweight Dir ectory Access Protocol – a directory services that can help people find
other people and network services and can also be used over the Internet (LDAP) [6], XWindow – an open and nonproprietary bit- mapped graphics system, design to be
independent of both the display hardware and the underlying operating system [6], and
AppleTalk – an Apple Macintosh network protocol, based on the OSI Reference Model,
which gives every Macintosh networking capabilities [6].
11
2.1.4 Layer 4: Transport Layer
The Transport layer reassembles data into a data stream, data that being reassembled
came from the upper layer application. Transport layer focused with end-to-end
connection. Reliability of transport between host become main concern for this layer,
when transporting data between host the upper- layer is shield to protect the transportimplementation details by providing transparent data transfer. Examples for this protocol
are: TCP, UDP, and Sequence Packet Exchange – a set of Novell NetWare protocol
implemented on top of IPX (SPX) [6].
2.1.5 Layer 3: Network Layer
The network layer protocol concern about device addressing, in order to provide reliable
connectivity between hosts the device addressing within geographically separated
network must be determined first. When device addressing in network region already
been determined, all device can be easily keep track. Two types of packet used in this
layer are data and route update. Routers usually used to provides routing service within
an internetworking. Examples for this protocol are: IP and Internetwork Packet Exchange
– Part of Novell NetWare’s native protocol stack, used to transfer data between the server
and workstation on the network (IPX) [6].
12
2.1.6 Layer 2: Data-Link Layer
Data Link Layer is an important layer, it ensure message that send by the sender deliver
to the proper address within network topology. All messages that need to be transfer is
format into pieces called data frame, each data frame contain a header that load with
information about hardware destination and source address. Data link layer also concern
with physical transmission, error notification, network topology and network access, and
flow control. Examples of this protocol are: Ethernet – a popular network protocol and
cabling scheme with a transfer rate 10Mbps, originally developed at Xerox in 1970 by
Dr. Robert Metcalf [6] and Frame Relay – a CCIT standard for a packet-switching
protocol, running at speeds up to 2Mbps, that also provide bandwidth for demand [6].
2.1.7 Layer 1: Physical Layer
The first layer of the OSI model, the physical layer, put its concern toward the way of
communication with the various types of the communication media. Physical layer help
setting up the protocol to communicate between different media. Different types of media
have their own protocol to communicate, some use tones other represent in bits. Physical
layer needed to encode data into media signal to be understandable, most of the media
can read signal.
13
2.2
Overview of TCP/IP Model
First proposed by Department of Defense (DoD) in 1970s, TCP/IP model is design to
meet the expectation of DoD to create such a network that can survive at any conditions.
That’s why TCP/IP original intent focused to the Internet connection that runs on the
ARPANET which some people recognize as the “mother” of Internet [5].
Figure 2.2: TCP/IP Model Layer [4]
It has four main layers that can be seen in figure 2.2, the four main layers are: application
layer, transport layer, internet layer, and network access layer. There are similarities and
differences between names and functionality between OSI layer and TCP/IP layer. In
order to get to know more about TCP/IP model layer, let us see the functionality of each
layer more detail.
14
2.2.1
Application Layer
The top layer of the TCP/IP layer is the Application layer, application layer handle and
ensuring the delivering of data between layers. The application layer handles high – level
protocols and issues of representation, encoding, and dialog control [4]. Protocols that are
used in the application layer are:
2.2.1.1 FTP
FTP stands for File Transfer Protocol. The TCP/IP Internet protocol used when
transferring single or multiple files from one computer system to another. FTP uses a
client/server model, in which a small client program runs on your computer and accesses
a larger FTP server running on an Internet host. FTP provides all the tools needed to look
at directories and files, change to other directories, and transfer text and binary files from
one system to another [6].
2.2.1.2 SMTP
SMTP stands for Simple Mail Transfer Protocol. The TCP/IP (Transmission
Control Protocol/Internet Protocol) protocol that provides a simple e- mail service and is
responsible for moving e-mail messages from one e- mail server to another.
15
SMTP provides a direct end-to-end mail delivery, which is rather unusual; most mail
systems use store-and- forward protocols. The e- mail servers run either Post Office
Protocol (POP) or Internet Mail Access Protocol (IMAP) to distribute e- mail messages to
users [6].
2.2.1.3 SNMP
SNMP stands for Simple Network Management Protocol. SNMP is a standard protocol,
part of the TCP/IP (Transmission Control Protocol/Internet Protocol) suite, used to
manage and monitor nodes on a network. The accompanying illustration shows how the
SNMP manager and agent are organized. SNMP is a communications protocol for
collecting information about devices on the network, including hubs, routers, and bridges.
Each piece of information to be collected about a device is defined in a Management
Information Base (MIB). SNMP uses UDP (User Datagram Protocol) to send and receive
messages on the network. [6]
2.2.1.4 HTTP
HTTP stands for Hypertext Transfer Protocol. The command and control protocol used to
manage communications between a Web browser and a Web server [6].
16
2.2.1.5 Telnet
Telnet is a terminal emulation protocol, part of the TCP/IP suite of protocols and
common in the UNIX world, which provides remote terminal-connection services [6].
2.2.1.6 DNS
DNS stands for Domain Name Service, sometimes referred to as Domain Naming
System. DNS is a distributed addressing system that resolves the domain name into the
numeric IP address. DNS lets you use the Internet without having to remember long lists
of cryptic numbers. The most common high- level domains on the Internet include: .com,
.org, .edu, .mil, .gov, .int, .net, etc [6].
2.2.1.7 OSPF
OSPF stands for Open Shortest Path First. OSPF is a routing protocol used on TCP/IP
networks that takes into account network loading and bandwidth when routing
information over the network. Routers maintain a map of the network and swap
information on the current status of each network link. OSPF incorporates least-cost
routing, equal-cost routing, and load balancing [6].
17
2.2.1.8 NFS
NFS stands for Network File System. A distributed file-sharing system developed well
over a decade ago by Sun Microsystems, Inc. NFS allows a computer on a network to use
the files and peripheral devices of another networked computer as if they were local,
subject to certain security restrictions. Using NFS, you can share files on your system
with other computers running MS-DOS, MacOS, UNIX, Novell NetWare, VMS, and
many other operating systems, in both local and global environments [6].
2.2.2
Transport Layer
Like its name, transport layer handle the transport of data from the host to the destination
network. Data that it send usually called datagram (a message unit that contains source
and destination address information, as well as the data itself, which is routed through a
packet-switching network) [6]. The two important protocols for this layer are:
2.2.2.1 TCP
TCP stands for Transmission Control Protocol. TCP is the transport- level protocol used
in the TCP/IP suite of protocols. It works above IP in the protocol stack and provides
reliable data delivery over connection-oriented links. TCP adds a header to the datagram
that contains the information needed to get the datagram to its destination. The source
port number and the destination port number allow data to be sent back and forth to the
18
correct processes running on each computer. A sequence number allows the datagrams to
be rebuilt in the correct order in the receiving computer, and a checksum verifies that the
data received is the same as the data sent. In addition to these fields, the TCP header
contains the following informa tion: acknowledgement number, offset, reserved flags,
window size, urgent pointer, option, and padding [6].
2.2.2.2 UDP
UDP stands for User Datagram Protocol. The connectionless, transport- level protocol
used in the TCP/IP suite of protocols, usually bundled with IP- layer software. Because
UDP does not add overhead, as does connection-oriented TCP, UDP is often used with
SNMP (Simple Network Management Protocol) applications. Multicast applications,
such as Mbone and the Real-time Transport Protocol that delivers audio and video
streams use UDP as their delivery mechanism because the acknowledgment and
retransmission services offered by TCP are not needed and add too much overhead. If a
packet of audio data is lost, retransmission is neither practical nor desirable [6].
2.2.3 Internet Layer
In internet layer, IP (Internet Protocol, The session- layer protocol that regulates packet
forwarding by tracking addresses, routing outgoing messages, and recognizing incoming
messages in TCP/IP networks and the Internet) [6] consider to be the most important
protocol in this layer. Main function of this layer is to send packets from one device to
19
the others using the appropriate protocol from this layer. The most well-known and
widely used of IP is the IPv4 or Internet Protocol version Protocol. Other IP protocol is
the IPv6 that will be consider the future of IP. The reason why IPv6 consider to be the
next generation of IP will be discuss more detail in the next chapter.
The Internet Protocol is the building block of the Internet. Its functions include [7]:
Defining the datagram, which is the basic unit of transmission in the Internet
Defining the Internet addressing scheme
Moving data between the Network Access Layer and the Transport Layer
Routing datagrams to remote hosts
Performing fragmentation and re-assembly of datagrams
Other protocols that work in this layer are:
2.2.3.1 ICMP
ICMP stands for Internet Control Message Protocol. ICMP is an error-reporting protocol
that works with Internet Protocol (IP) and provides the functions used for networklayer
management and control. Routers send ICMP messages to respond to undeliverable
datagrams by placing an ICMP message in an IP datagram and then sending the datagram
back to the original source. ICMP is also used by the Ping command [6].
20
2.2.3.2 ARP
ARP stands for Address Resolution Protocol. A protocol within TCP/IP (Transmission
Control Protocol/Internet Protocol) and AppleTalk networks that allows a host to find the
physical address of a node on the same network when it knows only the target’s logical or
IP address [6].
2.2.3.3 RARP
RARP stands for Reverse Address Resolution Protocol. A part of the TCP/IP
(Transmission Control Protocol/Internet Protocol) protocol suite that allows a computer,
more specifically a diskless workstation, to obtain an IP address from a server when only
the hardware address is known [6].
2.2.4 Network Access Layer
The lowest layers for the TCP/IP layer provide way for the system to deliver data or
packet to from source to destination for the same network (LAN) or outside network
region (WAN). This layer also use network for transmit IP datagram. Network access
layer functions include mapping IP addresses to physical hardware addresses and
encapsulating IP packets into frames [5].
21
2.3
Comparison Between OSI Model & TCP/IP Model
Diagram below shows the different type of architecture of OSI Model and TCP/IP Model
and also the architecture of TCP/IP Protocol.
Figure2.3 Comparison Between OSI Model & TCP/IP Model[4]
Based on the explanation earlier about OSI Model and TCP/IP Model here are the
similarities and differences between both architecture.
Similarities:
•
Both have layers.
•
Both have application layers, although they include very different services.
•
Both have comparable transport and network layers.
•
Packet-switched (not circuit-switched) technology is assumed.
•
Networking professionals need to know both.
22
Differences:
•
TCP/IP combines the presentation and session layers into its application layer.
•
TCP/IP combines the OSI data link and physical layers into its network access
layer.
•
TCP/IP appears simpler because it has fewer layers.
•
The TCP/IP transport layer using UDP does not always guarantee reliable
delivery of packets, as the transport layer in the OSI model does.
2.4
Internet Protocol
Interne t Protocol (IP) is a data-oriented protocol that is used widely on the Internet. IP is
mainly used as a unique identifier assigned to each interface on an IP network.
So
basically, the ideal use of IP network is that each computer has a unique IP address. Just
think an IP address is similar to phone number that relates to a person or the location of
home. For example, take a phone number such as: +62 21 769 3678.

The +62 part identifies the country that it resides. For this example, it is in
Indonesia.


21 means that the location is in Jakarta 

769 identifies that the number is in Jakarta Selatan area.

Last, 3678 is a unique identifier for that particular house/office.






So, based on the initial example, can be concluding that the phone number is located at a
house/office that is in Jakarta, Indonesia, and it is in Jakarta Selatan area.
There are two versions of IP addressing that are available today, version 4 (Ipv4), and
23
version 6 (Ipv6). Ipv4 was standardized in 1980s to replace the ARPAnet, whereas Ipv6
development started in the 1990s. The details will briefly introduce one by one.
2.4.1 Terminology

Bit -> A binary digit whose value only consists of either 0 of 1.

Byte -> A collection of 8 bits.

Octet -> Always 8 bits.

Prefix length -> Prefix length is the portion of IP address that represents the
network adress. In other words, it's the portion of IP address without the host
address. Further detail will be discussed later on in this chapter.
2.4.2 IPv4
IPv4 is made up of 32 bits of information. They are divided into four sections, referred to
as octets. The IP protocol defines five different address classes: Class A, Class B, Class
C, Class D, and Class E. The first three classes, Class A, B, and C, they use a different
size for the network ID and and host ID portion. Class D is for a special type of address
called multicast and Class E is for experimental only, and is not used.
24
Figure 2.4: IPv4 address
The above diagram shows the representation of IPv4 address in decimal form as well as
in bit.
2.4.2.1 Network Addressing
As already mentioned earlier, there are five different address classes of IP address. The
network address is identified by the classes. The cases can be determined by looking at
the first octet of an IP address. If the first octet is a number between 0 and 126, it is a
Class A network. Class B network starts from 128 to 191. Class C network is between
192 to 223. Class D network is used for multicast and is available from 224 to 239. Last
but not least, Class E network is used for experimental use, and it starts from 240 to 255.
In binary form, we can identify a class of a particular address by examining the first four
bits of an IP address. Here are the criteria:
•
If the first bit is a zero, the address is a Class A address.
25
•
If the first bit is one, and the second bit is a zero, then the address is a Class B
address.
•
If the first two bits are both one and the third bit is zero, then it is a Class C
address.
•
If the first three bits are all one and the fourth bit is a zero, the address is a
Class D address.
•
If the first four bits are all one, then it is a Class E address.
Here is the complete table of each class and their total available number addresses per
classes/network.
Table 2.1 IP Class table
Note that the ip range for 127.0.0.0 is not listed because 127.0.0.0 is reserved for
localhost. There are also some other reserved IP networks that are used for private
networks (local networks) [http://www.duxcw.com/faq/network/privip.htm]:
26
Table 2.2 Private IP Address Range
The IP address in the range of 169.254.0.0 – 169.254.255.255 is the special ones, because
unlike the rest of the IP range that must be set manually, this IP range are reserved for
automatic private IP addressing (APIPA).
APIPA is a feature that will automatically
assign an IP address to a computer that is set to obtain an IP address automatically from a
Dynamic Host Configuration Protocol (DHCP) yet the DHCP server is not present or not
available at the time being.
2.4.2.2 Subnetting
Subnetting is a technique that lets network administrators use the 32 bits available in an
IP address more efficiently by creating networks that are not limited to the scales
provided by Class A, B, and C IP addresses. With subnetting, network can be created
more efficient to the sizes of the current network. By default there are only 8 bits for
Class A, 16 bits for Class B, and 24 bits for Class C. Subnetting allows us to select our
own numbers of bits to use for the network ID.
27
There are two reasons that attract us to do subnetting. The first is to allocate the limited
IP address space more efficiently. Based on table 2.2, then by default the Internet was
limited to Class A to have 16 million hosts, Class B to have 65,000 hosts, and Class C to
have 254 hosts per network. While there are many networks with more than 254 devices
exist such as big company, there are very few exist with 65,000 hosts per network, let
alone 16 million. By this specification, any network with more than 254 hosts, let say
500 hosts in a network, would need a Class B allocation and probably waste tens of
thousands of IP addresses.
The second reason for subnetting is that even if a single organization has thousands of
network devices, operating all those devices with the same network ID would be very
inefficient because every department might need different needs. Also, a single network
only has a single broadcast domain, thus it will affect the network performance.
For
performance reasons, networks are usually segmented into broadcast domains that are
smaller than even Class C addresses provide.
2.4.2.3 Subnet Masks
In order for subnetting to work, the router must be told which portion of a particular IP
address belongs to which network. This can be accomplished by using another 32-bit
number, called subnet mask. Here is the list of default values for subnet masks from each
class.
28
2.4.3 IPv6
A newer version of Internet Protocol, named IPv6 has a bigger address space. It consists
of 128 bits of information. The bigger address space is actually one of the reason why
Internet Protocol needs a newer version. The current Internet Protocol (IPv4) has limited
number of address hosts and soon will be full.
Unlike IPv4 that is represented in decimal form, IPv6 is represented in hexadecimal form
because it is more efficient for such long characters. The current IPv6 address looks like
the following:
FECE:BC23:0000:0000:0000:0000:CB34:200C
This looks a little bit harder to read compared to IPv4 addresses that are only 32-bits long
and represented in decimal form. The separator for each group is represented by a semicolon (:) compared to dots (.) in IPv4. While the address syntax looks more complicated,
there are rules to simplify or shorten an IPv6 addresses. The rules are:
•
You can discard leading zeros in each group. So, instead of writing 0005, it
can be replaces by writing 5. Instead of writing 005d, it can be change with
5d, and so on.
•
If there are series of zeros between the groups, it can be replaced with symbol
::
•
The symbol :: can only appear once in each IPv6 address. This happens
because the computer will calculate the missing zeros by counting groups that
exist, and then subtract this number from 8, and then multiply the result with
29
16. For example, if an address is fe80::1, there are two blocks that exist. So,
8 - 1 = 6. Then, multiply 6 by 16. That means, there are 96 bits of zeros.
So, by using the above rules, IPv6 previous address can be simplified to:
FECE:BC23:0:0:0:0:CB34:200C,
FECE:BC23::CB34:200C
Table 2.3 Binary, Hexadecimal, and Decimal format for IP [8]
Binary
Hexadecimal
Decimal
0000
0
0
0001
1
1
0010
2
2
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
8
1001
9
9
1010
A
10
30
Binary
Hexadecimal
Decimal
1011
B
11
1100
C
12
1101
D
13
1110
E
14
1111
F
15
Based on the above the table, the same IPv6 address before can be written in decimal
form such as:
FECE:BC23:0000:0000:0000:0000:CB34:200C
to be:
1111 1110 1100 1110 1011 1100 0010 0011 0000 0000 0000 0000 1100 1011 0011
0100
2.4.3.1 IPv6 Prefixes
An IPv6 prefix is a similar implementation of subnet mask in IPv4. Instead of using a
dotted decimal such as 255.255.255.0, IPv6 only uses prefix length that are represented
by IPv6 address/n where n is the length of the prefix.
IPv4 also support this type of
prefix. For example, a netmask of 255.255.255.0 is similar to /24 because there are 24
bits that consist of 1.
31
The prefix is the part of the address where the bits have fixed values or are the bits of a
route or subnet ident ifier.
For example, 21DA:D3::/48 is a route prefix and
21DA:D3:0:2F3B::/64 is a subnet prefix. All subnets have a 64-bit prefix. Any prefix that
is less than 64 bits is a route or address range that is summarizing a portion of the IPv6
address space.
An IPv6 prefix is useful only for routes or address ranges. In IPv4, it is common to
express an IPv4 address with its prefix length/netmask . For example, 192.168.29.7/24
(equivalent to 192.168.29.7 with the subnet mask 255.255.255.0). The prefix length is
included so that the bits for identify the subnet and bits for identify the host on the subnet
can be determine. In IPv6 addresses, the number of bits used to identify the subnet is
always 64 and the number of bits used to identify the host on the subnet is always 64.
Therefore, since the prefix length is always 64, sometimes it does need to be expressed.
For example, the address FEC0::2AC4: 2AA:FF:FE9A:82D4/64 can also be represented
as FEC0::2AC4:2AA:FF:FE9A:82D4.
2.4.3.2 IPv6 Address Types
There are three types of IPv6 addresses:
•
Unicast
A unicast address identifies a single interface within the scope of the type of
address. The scope of an address is the region of the IPv6 network over which
32
the address is unique. With the appropriate unicast routing topology, packets
addressed to a unicast address are delivered to a single interface.
•
Multicast
A multicast address identifies zero or more interfaces. With the appropriate
multicast routing topology, packets addressed to a multicast address are
delivered to all interfaces identified by the address.
•
Anycast
An anycast address identifies multiple interfaces. With the appropriate unicast
routing topology, packets addressed to an anycast address are delivered to a
single interface—the nearest interface that is identified by the address. The
nearest interface is defined as being the closest in terms of routing distance. A
multicast address is used for one-to-many communication, with delivery to
multiple interfaces. An anycast address is used for one-to-one-of- many
communication, with delivery to a single interface.
In all cases, IPv6 addresses identify interfaces, not nodes. A node is identified by any
unicast address assigned to any one of its interfaces. Also, it is worth to mention that
there is no broadcast address in IPv6. In IPv6, it is performed using multicast addresses.
33
2.4.3.2.1
Unicast
These are the following types of addresses that are unicast IPv6 addresses:
•
Global unicast address
•
Link- local address
•
Site- local address
•
Special addresses
•
Compatibility addresses
Table 2.4 Current Allocation for IPv6 Address Space
Format Prefix (FP)
Fraction of the Address
Space
Reserved
0000 0000
1/256
Unassigned
0000 0001
1/256
Reserved for
NSAP
0000 001
1/128
Unassigned
0000 010
1/128
Unassigned
0000 011
1/128
Unassigned
0000 1
1/32
Unassigned
0001
1/16
001
1/8
Allocation
Global unicast
address
34
Format Prefix (FP)
Fraction of the Address
Space
Unassigned
010
1/8
Unassigned
011
1/8
Unassigned
100
1/8
Unassigned
101
1/8
Unassigned
110
1/8
Unassigned
1110
1/16
Unassigned
1111 0
1/32
Unassigned
1111 10
1/64
Unassigned
1111 110
1/128
Unassigned
1111 1110 0
1/512
Link-local unicast
address
1111 1110 10
1/1024
Site-local unicast
address
1111 1110 11
1/1024
Multicast unicast
address
1111 1111
1/256
Allocation
35
2.4.3.2.1.1
Global Unicast Addresses
Based on the above figure, global unicast addresses are identified by Format Prefix of
001. IPv6 global unicast address is equivalent to IPv4’s public IP addresses. They are
globally routable and reachable on the IPv6 portion of the Internet.
2.4.3.2.1.2
Link-local Addresses
Link- local addresses are identified by the Format Prefix of 1111 1110 10, and are used to
communicate with neighbor nodes on the same link. For example, on a single link IPv6
network with no router, link-local addresses are used to communicate between hosts on
the link.
Link- local addresses are equivalent to Automatic Private IP Addressing
(APIPA) IPv4 addresses autoconfigured with 169.254.0.0/24 addresses.
The scope of
link- local is local link.
2.4.3.2.1.3
Site-Local Addresses
Site- local addresses are identified by the Format Prefix of 1111 1110 11, and are used to
communicate to other hosts on the local network. Site- local addresses are equivalent to
private IP addresses in IPv4. Site- local addresses are not reachable from other sites, and
routers must not forward site-local traffic outside the site. Site- local addresses can be
used in addition to global addresses.
The first 48 bits are always fixed for site- local
addresses, beginning with FEC0::/48.
The next 16 bits for network ID is assigned
36
manually to separate one site to the other.
addresses are not assigned automatically.
Unlike link-local addresses, site- local
It needs to be configured manually of by
autoconfiguration. Autoconfiguration will be explained later on in this chapter.
2.4.3.2.1.4
Special Addresses
There are two different types of IPv6 special addresses:
1. Unspecified addresses. This is similar to IPv4’s 0.0.0.0. In IPv6 it is represented as
0:0:0:0:0:0:0:0 or ::
2. Loopback address. IPv4 uses 127.0.0.1, whereas IPv6 uses 0:0:0:0:0:0:0:1 or ::1
2.4.3.2.1.5
Compatibility Addresses
Compatibility addresses are aimed to suppport migration from IPv4 to IPv6.
These
compatibility addresses use both types of hosts in terms of IPv4 and IPv6. They are
defined as the followings:
2.4.3.2.1.5.1 IPv4-compatible Addresses
The IPv4-compatible address, 0:0:0:0:0:0 :w.x.y.z or ::w.x.y.z (where w.x.y.z is the dotted
decimal representation of a public IPv4 address), is used by IPv6/IPv4 nodes that are
communicating with IPv6 over an IPv4 infrastructure that uses public IPv4 addresses,
37
such as the Internet. For example, if the IPv4 address is 202.124.242.22, by using IPv4compatible address, the IPv6 address will be ::202.124.242.22
2.4.3.2.1.5.2 IPv4-mapped Addresses
The IPv4- mapped address, 0:0:0:0:0:FFFF:w.x.y.z or ::FFFF: w.x.y.z, is used to represent
an IPv4-only node to an IPv6 node.
The example of IPv4- mapped address from the
above example will be
::FFFF: 202.124.242.22.
2.4.3.2.1.5.3 6over4 Addresses
An address of the type [64-bit prefix]:0:0:WWXX:YYZZ, where WWXX: YYZZ is the
colon hexadecimal representation of w.x.y.z (a public or private IPv4 address), is used to
represent a host for the tunneling mechanism known as 6over4.
2.4.3.2.1.5.4 6to4 Addresses
An address of the type 2002:WWXX:YYZZ:[SLA ID]:[Interface ID], where
WWXX:YYZZ is the colon hexadecimal representation of w.x.y.z (a public IPv4
address), is used to represent a node for the tunneling mechanism known as 6to4.
38
2.4.3.2.1.5.5
ISATAP Addresses
An address of the type [64-bit prefix]:0:5EFE:w.x.y.z, where w.x.y.z is a public or
private IPv4 address, is used to represent a node for the address assignment mechanism
known as Intra-Site Automatic Tunnel Addressing Protocol (ISATAP).
2.4.3.2.2
Multicast
IPv6 multicast addresses have the FP of 1111 1111. Therefore, an IPv6 multicast address
always begins with FF. Multicast addresses cannot be used as source addresses or as
intermediate destinations in a Routing header. These are the list of currently assigned
IPv6 multicast addresses:
Table 2.5 Current Allocation of IPv6 Address Space
Scope
IPv6 Address
Purpose
Node-Local Scope
FF01::1
All Nodes Addresses
Node-Local Scope
FF01::2
All Routers Addresses
Node-Local Scope
FF01::FB
mDNSv6
Link-local Scope
FF02::1
All Nodes Address
Link-local Scope
FF02::2
All Routers Addresses
Link-local Scope
FF02::3
Unassigned
Link-local Scope
FF02::4
DVMRP Routers
39
Scope
IPv6 Address
Purpose
Link-local Scope
FF02::5
OSPFIGP
Link-local Scope
FF02::6
OSPFIGP Designated
Routers
Link-local Scope
FF02::7
ST Routers
Link-local Scope
FF02::8
ST Hosts
Link-local Scope
FF02::9
RIP Routers
Link-local Scope
FF02::A
EIGRP Routers
Link-local Scope
FF02::B
Mobile-Agents
Link-local Scope
FF02::C
SSDP
Link-local Scope
FF02::D
All PIM Routers
Link-local Scope
FF02::E
RSVP-ENCAPSULATION
Link-local Scope
FF02::F
UPnP
Link-local Scope
FF02::16
All MLDv2-capable routers
Link-local Scope
FF02::6A
All-Snoopers
Link-local Scope
FF02::6B
PTP-pdelay
Link-local Scope
FF02::FB
mDNSv6
Link-local Scope
FF02::1:1
Link Name
40
Scope
IPv6 Address
Purpose
Link-local Scope
FF02::1:2
All-dhcp-agents
Link-local Scope
FF02::1:3
Link-local Multicast Name
Resolution
Link-local Scope
FF02::1:4
DTCP Announcement
Link-local Scope
FF02::1:FFXX:XXXX
Solicited-Node Address
Link-local Scope
FF02::2:FF00::/104
Node Information Queries
Site-local Scope
FF05::2
All Routers Address
Site-local Scope
FF05::FB
mDNSv6
Site-local Scope
FF05::1:3
All-dhcp-servers
Site-local Scope
FF05::1:4
Deprecated (2003-03-12)
Site-local Scope
FF0X::1:1000 FF0X::1:13FF
Service Location, Version 2
2.4.3.2.3
Anycast
An anycast address is assigned to multiple interfaces. Packets addressed to an anycast
address are forwarded by the routing infrastructure. It will look for an interface where an
anycast address is set up. In order to facilitate delivery, the routing infrastructure must be
aware of the interfaces that have anycast addresses assigned to them and their distance in
terms of routing metrics or hop counts.
41
According to RFC 2373, anycast addresses are used only as destination addresses and are
assigned only to routers. Anycast addresses are assigned out of the unicast address space
and the scope of an anycast address is the scope of the type of unicast address from which
the anycast address is assigned. A unicast address cannot be the same as the anycast
address.
2.4.3.3 IPv6 Autoconfiguration
In IPv4, IP addresses are assigned manually or automatically by DHCP server. In IPv6,
there is a more convenient way of handling this. Imagine if you have 128 bits of choices
to choose from, and assign those addresses to hosts in a network.
This can be very
frustrating.
IPv6 has a utility called autoconfiguration. What this means is that the IP address doesn’t
have to assign manually, and the system administrator also do not need a server to setup
the IP address. There are two types of autoconfiguration in IPv6:
•
Stateful autoconfiguration -- It is similar to DHCP in IPv4. Presumably, it is
called DHCPv6 in IPv6.
•
Stateless autoconfiguration -- With stateless configuration, IPv6 hosts do not
need to configure anything to get information from the router.
Some
configuration might still have to be done on the server (very minimal
configuration), but there is no need to configure any DHCP server.
In
stateless configuration, hosts depend on Router Advertisement messages that
42
provide the Subnet ID, and then it will automatically appended with the Host
ID.
To generate Host ID or also called as Inte rface Identifiers, hosts can be ge nerated from
their MAC address.
While MAC address is only 48-bit length and Host ID is 64-bit
length, there is a conversion method that is called Extended Unique Identifier (EUI-64).
Next, to assign the network ID, they depend on whether it is a stateful autoconfiguration,
or a stateless configuration.
If it was a stateful configuration, DHCP server will
automatically assign it is IP address. On the other hand, if it was a stateless configuration
address, the server will send a routing advertisement that basically advertises the network
ID. Finally, the host ID will be appended to the network ID. Here is an example of a
router advertisement protocol in OpenBSD running software called rtadvd.
fxp0:\
:addr="2001:328:2002:f107::":prefixlen#64:tc=default:
The configuration basically states that it will send router advertisement messages that use
the network ID of 2001:328:2002:f107/64. Later on, the clients will append the address
of 2001:328:2002:f107:: to their Interface ID.
2.4.3.4 DHCP
Dynamic Host Configuration Protocol (DHCP) is a technique to automatically assign a
43
unique IP address for every host on a network. In order for DHCP to work, it needs a
server, and at least one client.
The server needs to have a DHCP server software installed in the router/gateway so it can
give IP addresses to hosts on the network. There is also a configuration file so that the
DHCP server knows what is the network address that it can give out to clients. Consider
the following configuration:
shared-network myNetwork {
option domain- name-servers 192.168.1.2;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
range 192.168.1.150 192.168.1.254;
}
host boss {
hardware ethernet 00:11:2f:39:51:ae;
fixed-address 192.168.1.2;
option host-name "boss";
}
}
The above configuration states the DHCP server to create a network name “myNetwork”.
Hosts on “myNetwork” will use DNS server of 192.168.1.2. Next, it defines the network
address of “myNetwork”, which is 192.168.1.0. Hosts that are connected to that subnet
(192.168.1.0) will know that the router/DHCP server’s IP address is 192.168.1.1. Also,
the DHCP server will only give out address range from 192.168.1.150 through
192.168.1.254. This means that this particular DHCP server’s configuration will only
give out 104 IP addresses.
44
DHCP server can also give “static” IP addresses to clients.
From the previous
configuration file, there is also a block that starts with “host boss”. What this does is it
will look at the clients, which will be named “boss”, by looking at the MAC address of
that particular host. So if it matches, it will give a fix address, in this case 192.168.1.2.
Network administrator also needs to pay attention that the IP addresses that are given to
static clients must be out of the range that was previously mentioned.
If it was in the
same range, IP address conflict might happen in the future.
2.4.3.5 DNS
According to the earlier explanation, IP address is just like a phone number, where there
is some form to determine its location, and then followed by unique identifier of that
particular phone number.
Domain Name System (DNS), is like putting those phone
numbers into phone book. Only in this case, DNS map out name from and to IP
addresses.
While a lot of people can remember their IP address, it is very inefficient to remember 10
IP addresses of websites that everyone go to everyday.
By having DNS, it is easier to
remember website address by name. It is very natural for our brains to remember names
better than numbers.
For example, when browsing to http://iupstudent.binus.ac.id, the IP add ress can be ignore
or does not need to remember its IP address. Instead, DNS will try to connect to other
45
DNS servers to ask information for that host name, and it will return the IP address
202.58.182.8. After the computer gets the IP address of iupstudent.binus.ac.id, then it
will try to connect by its IP address (202.58.182.8).
DNS uses a hierarchical naming system from what is called the root servers, into
domains. Consider the following example:
Figure 2.5 DNS Naming {14]
46
The hierarchy starts from the root server where it handles all the Top Level Domains
(TLD) such as .com, .net, .org as well as country code Top Level Domains (ccTLD) such
as .id, .au, and so on. Root servers do not necessarily holds information of all possible
domain names, instead it knows where to reach other DNS servers.
Here is the list of
known root servers around the world.
Table 2.6 List of known root servers around the world
[http://www.root-servers .org/]
Server
a.root-servers.net
b.root-servers.net
c.root-servers.net
d.root-servers.net
e.root-servers.net
Locations
Operator
Dulles VA
VeriSign Naming and
Directory Services
Marina Del Ray CA
Information Sciences
Institute
Herndon VA; Los
Angeles; New York
City; Chicago
Cogent Communications
College Park MD
University of Maryland
Mountain View CA
NASA Ames Research
Center
47
Server
f.root-servers.net
Locations
40 sites:
Ottawa; Palo Alto; San
Jose CA;
New York City; San
Francisco; Madrid;
Hong Kong; Los
Angeles;
Rome; Auckland; Sao
Paulo;
Beijing; Seoul;
Moscow; Taipei;
Dubai; Paris;
Singapore; Brisbane;
Toronto; Monterrey;
Lisbon;
Johannesburg; Tel
Aviv; Jakarta;
Munich; Osaka;
Prague;
Amsterdam;
Barcelona; Nairobi;
Chennai; London;
Santiago de Chile;
Dhaka;Karachi;Torino;
Chicago; Buenos
Aires;Caracas;Oslo
g.root-servers.net
h.root-servers.net
Operator
Internet Systems
Consortium, Inc.
Columbus OH
U.S. DOD Network
Information Center
Aberdeen MD
U.S. Army Research Lab
48
Server
i.root-servers.net
Locations
29 sites:
Stockholm; Helsinki;
Milan; London;
Geneva; Amsterdam;
Oslo; Bangkok; Hong
Kong;
Brussels; Frankfurt;
Ankara; Bucharest;
Chicago; Washington
DC; Tokyo; Kuala
Lumpur; Palo Alto;
Jakarta; Wellington;
Johannesburg; Perth;
San Francisco; New
York; Singapore;
Miami; Ashburn (US);
Mumbai; Beijing
j.root-servers.net
Operator
Autonomica/NORDUnet
28 sites:
Dulles (2 locations),
Miami, Atlanta, Seattle,
Chicago, New York,
Los Angeles,
Mountain View, San
Francisco (US);
Amsterdam (NL);
London (UK);
Stockholm (SE); Tokyo
(JP);Seoul (KR); Bejing
(CN);
Singapore (SG); Dublin
(IE); Kaunas (LT);
Nairobi (KE); Montreal,
Quebec (CA); Sydney
(AU); Cairo (EG);
Warsaw (PL); Brasilia,
Sao Paulo (BR); Sofia
(BG)
VeriSign, Inc.
49
Server
k.root-servers.net
Locations
London (UK);
Amsterdam (NL);
Frankfurt (DE); Athens
(GR); Doha (QA);
Milan (IT); Reykjavik
(IS); Helsinki (FI);
Geneva (CH); Poznan
(PL); Budapest (HU);
Abu Dhabi(AE); Tokyo
(JP); Brisbane
(AU);Miami (US); Delhi
(IN);
Novosibirsk (RU)
l.root-servers.net
m.root-servers.net
Operator
Reseaux IP Europeens Network Coordination
Centre
Los Angeles
Internet Corporation for
Assigned Names and
Numbers
Tokyo; Seoul (KR);
Paris (FR); San
Francisco, CA
WIDE Project
While there are some root servers that are located in various locations, they are in fact
mirrored. So that it will look like a single IP address.
For example, let say when try to contact http://soap.foobar.com. The root server will
contact the .com root server, and the root server will know where the domain name that
holds information about foobar.com is.
When it finds it, it will ask that domain name
server to ask information about soap.foobar.com. The domain name server that holds
information about foobar.com will then return the IP address of soap.foobar.com.
Download