IPV6 As Diversity Protocol To Face The Crisis Of IP Addresses

1.0 Network Protocols
1.1 Introduction:
 A Protocol is a formal description of a set of rules and conventions that govern a particular aspect of how devices on a network communicate. Protocol suites are collections of Protocols that enable network communication from one host through the network to another host.  Protocols determine  the  format ,  timing ,  sequencing ,  and  error  control  in  data communication . Without Protocols, the computer cannot make or rebuild the stream of incoming bits from another computer into the original format.
1.2 Function of Protocols:
 Protocols control all aspects of data communication, which include the following: 
• How the physical network is built 
• How computers connect to the network 
• How the data is formatted for transmission 
• How that data is sent 
• How to deal with errors 
• Encapsulation Process
2.1 Process of Encapsulation:
All communications on a network originate at a source, and are sent to a destination. The information sent on a network is referred to as data or data packets. If one computer (host A) wants to send data to another computer (host B), the data must first be packaged through a process called encapsulation. Encapsulation wraps data with the necessary Protocol information before network transit. Therefore, as the data packet moves down through the layers of the OSI model, it receives headers, trailers, and other information. 
2.2 Sending of data: 
As a user sends an e-mail message, its alphanumeric characters are converted to data 
that can travel across the internet-work. Sending of data shown in Figure 2.1.
 .
Figure: 2.1 Sending of data
 
 
2.3 Package the data for end-to-end transport:
The data is packaged for internet-work transport. By using segments, the transport function ensures that the message hosts at both ends of the e-mail system can reliably communicate.
2.4 Add the network IP address to the header:
The data is put into a packet or datagram that contains a packet header with source and destination logical addresses. These addresses help network devices send the packets across the network along a chosen path.
2.5 Add the data link layer header and trailer:
Each network device must put the packet into a frame. The frame allows connection to the next directly connected network device on the link. Each device in the chosen network path requires framing in order for it to connect to the next device.
2.6 Convert to bits for transmission:
The frame must be converted into a pattern of 1s and 0s (bits) for transmission on the medium. A clocking function enables the devices to distinguish these bits as they travel across the medium. The medium on the physical internet-work can vary along the path used. For example, the e-mail message can originate on a LAN, cross a campus backbone, and go out a WAN link until it reaches its destination on another remote LAN.
2.7 Protocols Maintenance Organization:
The network rules are created and maintained by many different organizations and Associations. Included in these groups are 
• The Institute of Electrical and Electronic Engineers (IEEE)     
• American National Standards Institute (ANSI)    
• Telecommunications Industry Association (TIA)
• Electronic Industries Alliance (EIA)  
• The International Telecommunications Union (ITU) 
• International Organization for Standardization (ISO)
• Internet configurations control Board(ICCB)
• Internet Active Board (IAB). IAB Proposed 128 bits wide IPv6 in 1994 in Cambridge University
2.8 Protocol model:
Open System Interconnection (OSI) model is so much famous for evaluation any other Protocol model. TCP/IP model is also famous in network applications.
2.8.1 OSI model:  
The early development of networks was disorganized in many ways. The early 1980s saw tremendous increases in the number and size of networks. As companies realized the advantages of using networking technology, networks were added or expanded almost as rapidly as new network technologies were introduced. By the mid-1980s, these companies began to experience problems from the rapid expansion. Just as people who do not speak the same language have difficulty communicating with each other; it was difficult for networks that used different specifications and implementations to exchange information. The same problem occurred with the companies that developed private or proprietary networking technologies. Proprietary means that one or a small group of companies controls all usage of the technology. Networking technologies strictly following proprietary rules could not communicate with technologies that followed different proprietary rules. To address the problem of network incompatibility, the International Organization for Standardization (ISO) researched networking models like Digital Equipment Corporation net (DECnet), Systems Network Architecture (SNA), and TCP/IP in order to find a generally applicable set of rules for all networks. Using this research, the ISO created a network model that helps vendors create networks that are compatible with other networks as OSI Model shown in Figure 2.2. 
 
Figure: 2.2 OSI Model
The Open System Interconnection (OSI) reference model released in 1984 was the descriptive network model that the ISO created. It provided vendors with a set of standards that ensured greater compatibility and interoperability among various network technologies produced by companies around the world. The OSI reference model has become the primary model for network communications. Although there are other models in existence, most network vendors relate their products to the OSI reference model. This is especially true when they want to educate users on the use of their products. It is considered the best tool available for teaching people about sending and receiving data on a network.             
Dividing the network into seven layers provides the following advantages:
• It breaks network communication into smaller, more manageable parts. 
• It standardizes network components to allow multiple vendor development and support. 
• It allows different types of network hardware and software to communicate with each other. 
• It prevents changes in one layer from affecting other layers. 
• It divides network communication into smaller parts to make learning it easier to understand. 
2.8.2 TCP/IP model:
The historical and technical standard of the Internet is the TCP/IP model. The U.S. Department of Defense (DoD) created the TCP/IP reference model, because it wanted to design a network that could survive any conditions, including a nuclear war. In a world connected by different types of communication media such as copper wires, microwaves, optical fibers and satellite links, the DoD wanted transmission of packets every time and under any conditions. This very difficult design problem brought about the creation of the TCP/IP model.
Unlike the proprietary networking technologies mentioned earlier, TCP/IP was developed as an open standard. This meant that anyone was free to use TCP/IP. This helped speed up the development of TCP/IP. TCP/IP model shown in Figure 2.3.
  The TCP/IP model has the following four layers: 
• Application layer 
• Transport layer 
• Internet layer 
• Network access layer 
             
Figure: 2.3 TCP/IP model
Although some of the layers in the TCP/IP model have the same name as layers in the OSI model, the layers of the two models do not correspond exactly. Most notably, the application layer has different functions in each model. The designers of TCP/IP felt that the application layer should include the OSI session and presentation layer details. They created an application layer that handles issues of representation, encoding, and dialog control. The transport layer deals with the quality of service issues of reliability, flow control, and error correction. One of its Protocols, the transmission control Protocol (TCP), provides excellent and flexible ways to create reliable, well-flowing, low-error network communications. TCP is a connection-oriented Protocol. It maintains a dialogue between source and destination while packaging application layer information into units called segments. Connection-oriented does not mean that a circuit exists between the communicating computers. It does mean that Layer 4 segments travel back and forth between two hosts to acknowledge the connection exists logically for some period. The purpose of the Internet layer is to divide TCP segments into packets and send them from any network. The packets arrive at the destination network independent of the path they took to get there. The specific Protocol that governs this layer is called the Internet Protocol (IP). Best path determination and packet switching occur at this layer.  The relationship between IP and TCP is an important one. IP can be thought to point the way for the packets, while TCP provides a reliable transport. The name of the network access layer is very broad and somewhat confusing. It is also known as the host-to-network layer. This layer is concerned with all of the components, both physical and logical, that are required to make a physical link. It includes the networking technology details, including all the details in the OSI physical and data link layers. 
2.9Comparison of the OSI model and the TCP/IP models:
A comparison of the OSI model and the TCP/IP models will point out some similarities and differences shown in Figure2.4
 
Figure: 2.4 Comparison of the OSI model and the TCP/IP model
2.9.1 Similarities include: 
• Both have layers. 
• Both have application layers, though they include very different services. 
• Both have comparable transport and network layers. 
• Both models need to be known by networking professionals. 
• Both assume packets are switched. This means that individual packets may take different paths to reach the same destination. This is contrasted with circuit-switched networks where all the packets take the same path. 
2.9.2 Differences include: 
• TCP/IP combines the presentation and session layer issues into its application layer. 
• TCP/IP combines the OSI data link and physical layers into the network access layer. 
• TCP/IP appears simpler because it has fewer layers. 
• TCP/IP Protocols are the standards around which the Internet developed, so the TCP/IP model gains credibility just because of its Protocols. In contrast, networks are not usually built on the OSI Protocol, even though the OSI model is used as a guide. 
Although TCP/IP Protocols are the standards with which the Internet has grown, this curriculum will use the OSI model for the following reasons: 
• It is a generic, Protocol-independent standard. 
• It has more details, which make it more helpful for teaching and learning. 
• It has more details, which can be helpful when troubleshooting. 
Networking professionals differ in their opinions on which model to use. Due to the nature of the industry it is necessary to become familiar with both. Both the OSI and TCP/IP models will be referred to throughout the curriculum. The focus will be on the following: 
• TCP as an OSI Layer 4 Protocol 
• IP as an OSI Layer 3 Protocol 
• Ethernet as a Layer 2 and Layer 1 technology 
Remember that there is a difference between a model and an actual Protocol that is used in networking. The OSI model will be used to describe TCP/IP Protocols.  
2.10Family of Protocol Suite:
 
Figure:2.5 Family of Protocol Suite
Figure 2.5 illustrates some of the common Protocols specified by the TCP/IP reference model layers. Some of the most commonly used application layer Protocols include the following:
• File Transfer Protocol (FTP) 
• Hypertext Transfer Protocol (HTTP) 
• Simple Mail Transfer Protocol (SMTP) 
• Domain Name System (DNS) 
• Trivial File Transfer Protocol (TFTP) 
 
 The common transport layer Protocols include: 
• Transport Control Protocol (TCP) 
• User Datagram Protocol (UDP) 
• Internet Protocol (IP) s
2.11 The primary Protocol of the Internet layer:
   The primary Protocol of the Internet layer is: 
• Internet Protocol (IP) 
The network access layer refers to any particular technology used on a specific network. Regardless of which network application services are provided and which transport Protocol is used, there is only one Internet Protocol, IP. This is a deliberate design decision. IP serves as a universal Protocol that allows any computer anywhere to communicate at any time. 
2.12 Different Versions of IP:
• 0-3                           Unassigned
• 4           IPv4            Today’s Internet version of IP
• 5           ST               Steam Protocol Not a new IP
• 6           IPv6            New version of widespread IP 
• 7          CATNIP      Formerly IPv7, TP/IX, Deprecated
• 8          PIP               Deprecated
• 9          TUBA          Deprecated
• 10-15                       Unassigned
Internet Protocol Version 4 (IPv4)
 
3.1 Introduction:
 
IPv4 is earlier version of IP from 1981 still now continue service to billions of internet users. IPv4 is So much famous Internet Protocol version. Although IPv4 is make service according IP addresses requirements it is not more capable for the higher requirement and is not capable for next generations. If every one want personal unique IP address IPv4 is not capable because IPv4 have maximum capacity 4 billion IP addresses other site people of the world is more than 6 billion.  
 
3.2 Header Format of IPv4:
     
Header format of the IPv4 is like as the following as shown in Figure 3.1.
 
 
Figure: 3.1 Header Format of IPv4
 
Version                      4-bit Internet Protocol version number =4 
Source Address         32-bit address of the originator of the packet.
Destination Address  32-bit address of the intended recipient of thePacket (possibly not the ultimate recipient, if a Routing header is present).                   
Without this others header options are as Identification, flag, fragment offset, 
total length, TOS, TTL, Protocol, header Checksum, Options, Padding
 
 
3.3 Basic Specifications of IPv4:
 
• IPv4 packet description (20 bytes + options) 
• 32 bit Source Address
• Identification flag fragment offset
• Ver. header total length TOS
• 32 bit Destination Address
• TTL Protocol Checksum
 
3.4 IP Classes of IPv4:
 
   There are five Classes of IP addresses of IPv4. These are as following-
 
• Class A
• Class B
• Class C
• Class D
• Class E
 
3.4.1 IP Class A: 
 
  Most Significant bit of IP class A is “0” 
 
0 7 bits 8 bits 8 bits 8 bits
                                     24 net bits                                                           8 host bits
 
IP addresses range of IP class A is  0 0000000 00000000 00000000 00000000  to 
                                                         0 1111111 11111111 11111111 11111111
That means IP address range is 0 to 127
 
Example of IP    0.0.0.0     and 127.255.255.255
 
Default total net bit 24 bits , total net address 224=  16,777,216       
Total useable net address 224-2=16,777,214
     
Defaults total host bit 8 bits, total host address 28= 256         
Total useable net address 28-2=254   
3.4.2 IP Class B: 
 
  Most Significant bit of IP class B is “10” 
 
10 6 bits 8 bits 8 bits 8 bits
                         16 net bits                                                        16 host bits
 
IP addresses range of IP class B is 10 000000 00000000 00000000 00000000  to 
                                                           10 111111 11111111 11111111 11111111
That means IP address range is 128 to 192
 
Example of IP    128.0.0.0     and 191.255.255.255
 
Default total net bit 16 bits , total net address 216=  65,536      
Total useable net address 216-2=65,534
     
Defaults total host bit 16 bits, total host address 216=  65,536    
Total useable net address 216-2=65,534 
 
3.4.3 IP Class C 
 
  Most Significant bit of IP class C is “110” 
 
110 5 bits 8 bits 8 bits 8 bits
         8 net bits                                                 24 host bits
 
IP addresses range of IP class C is 110 00000 00000000 00000000 00000000  to 
                                                        110 11111 11111111 11111111 11111111
That means IP address range is 192 to 223
 
Example of IP    192.0.0.0     and 123.255.255.255
 
Default total net bit 8 bits , total net address 28= 256   
Total useable net address 28-2= 254
     
Defaults total host bit 24 bits, total host address 224= 16,777,216   
Total useable net address 224-2=16,777,214
 
 3.4.4 IP Class D: 
 
  Most Significant bit of IP class D is “1110” 
 
1110 4 bits 8 bits 8 bits 8 bits
                                                        32 host bits
 
IP addresses range of IP class D is 1110 0000 00000000 00000000 00000000  to 
                                                        1110 1111 11111111 11111111 11111111
That means IP address range is 224 to 239
 
Example of IP    224.0.0.0     and    239.255.255.255
 
May be default net bit 0 bit, total host bit 32 but unassigned
 
3.4.5 IP Class E:
 
  Most Significant bit of IP class E is “1111” 
 
1111 4 bits 8 bits 8 bits 8 bits
                                                        32 host bits
 
IP addresses range of IP class E is 1111 0000 00000000 00000000 00000000  to 
                                                        1111 1111 11111111 11111111 11111111
That means IP address range is 240 to 255
 
Example of IP    240.0.0.0     and 255.255.255.255
 
Default net bit undefined, total host bit undefined
 
 
3.5 Total IP Addresses of IPv4:
    
   Total IP a dresses is 232  = 4,294,967,296 
present Population of the world is more than 6 billion and their require unique IP addresses for flexible uses is more than 100 billion after 50 years it become 5000 billion
 
Chapter 4
 
 Internet Protocol Version 6 (IPv6)
 
 
 
4.1 Introduction:
 
IP version 6 (IPv6) is a new version of the Internet Protocol,   designed as the successor to IP version 4 (IPv4) [1].
 
4.2 Design criteria for IPv6:
 
• Expanded addressing capabilities.
• Header format Simplifications
• Improved Support and Extensions Options
• Flow Labeling capabilities
• Authentication  and Privacy capabilities
• Efficiency in routers low and very high
• bandwidth (100G/bytes++)
• Mobility & Auto configuration
• Co-existence support with IPv4
• No need to change hardware
 
4.3 Expanded Addressing Capabilities:
 
Pv6 increases the IP address size from 32 bits to 128 bits, to support more levels of addressing hierarchy, a much greater number of addressable nodes, and simpler auto-configuration of addresses. The scalability of multicast routing is improved by adding a "scope" field to multicast addresses. And a new type of address called an "any cast address" is defined, used to send a packet to any one of a group of nodes. 
 
Present population of the world is more than 6 billion and their require unique IP addresses for flexible uses is more than 100 billion after 50 years it become 500 billion
Where total IP a addresses of IPv4 is 232  = 4,294,967,296 that means 4 billion.
 
Figure:4.1 IPv6 wide 128 bits
 
 
IPv6 is 128 bits wide shown in Figure 4.1
  Total addresses of IPv6 is 
       2128 =340,282,399,920,938,463,463,374,607,431,768,211,456
       2128 =232.296    
          296=79,228,162,514,264,337,593,543,950,336 
 79 Times the number of possible IPv4 Addresses (79 trillion trillion)
 
4.4 Representation format of IPv6 address:
 
• Format is x:x:x:x:x:x:x:x
• Preferred form of Hex.: 1070:0:FF:FA:0:8:900:300B:CBAD
• Compressed form : FF10:0:0:0:0:0:0:32 become FF10::32
• IPv4-Compatible form : 0:0:0:0:0:0:27.1.4.65 or ::27.1.4.65
• Loop back  form  : 0:0:0:0:0:0:0:0:0.1
 
In IP Version 6 Addressing Architecture about 15 % of address space reserved, but not necessarily assigned or allocated. X is a 16 bit hexadecimal field, leading zeros in a field are optional. can be used to represent multiple groups of 16 bits of zero.
 
4.5 Addresses types:
 
1. Unicast: Address of a single of interfaces. One-to-one delivery to single interface.
2. Multicast: Address of a set of interfaces. One-to-many delivery to all interfaces in the set.
3. Any cast: Address of a set of interfaces. One-to-one of many delivery to a single interface in the set that is closest
 
• Unicast Addresses:
 
1. Global
2. Link local
3. Site local(Deprecated)
4. IPv4-Compatible
 
• Multicast Addresses(One to many):
 
1. All-Nodes Multicast Addresses
2. Solicited-Node Multicast Address for each of its
                        assigned unicast and anycast addresses
                  3.   Multicast Addresses of all other groups to which
                        the host belongs
3. All-Routers Multicast Addresses
 
• Anycast addresses(One to nearest):
1. One to nearest all.
 
• Reserved: 
                      Total about 15 % of address space reserved.
 
4.6 Addresses types Prefixes:
 
• Reserved                                                       0000 0000 1/256
• Reserved for NSAP Allocation                    0000 001 1/128
• Reserved for IPX Allocation                       0000 010 1/128
• Global Unicast Addresses     001 1/8
• Link-Local Unicast Addresses                    1111 1110 10 1/1024
• Site-Local Unicast Addresses                     1111 1110 11 1/1024
• Multicast Addresses                                    1111 1111 1/256
  
 
4.7 Header Format:
 
4.7.1 Header Format Simplification:
 
Some  IPv4 header fields have been dropped or made optional ,  to reduce  the common      -case processing cost of packet handling and to limit the bandwidth cost of the IPv6 header.
Improved Support for Extensions and Options. Changes in the way IP header options are encoded allows for more efficient forwarding, less stringent limits on the length of options, and greater flexibility for introducing new options in the future.
 
4.7.2 IPv6 Header Format:
 
Figure: 4.2 IPv6 Header Format
 
• Version              4-bit Internet Protocol version number = 6.
• Traffic Class        8-bit traffic class field.
 
• Flow Label           20-bit flow label.   
• Payload Length 16-bit unsigned integer. Length of the IPv6 payload, i.e., the rest of the packet following this IPv6 header, in octets. Present are considered part of the payload, i.e., included in the length count.)
   
• Next Header  8-bit selector. Identifies the type of header immediately following the IPv6 header.  Uses the same values as the IPv4 Protocol. [3].
 
• Hop Limit     8-bit unsigned integer.  Decremented by 1 by each node that forwards the packet. The packet is discarded if Hop Limit is decremented to zero.
 
• Source Address    128-bit address of the originator of the packet. [3].
 
• Destination Address  128-bit address of the intended recipient of the packet (possibly not the ultimate recipient, if a Routing header is present). [3] and shown in Figure 4.2
 
4.7.3 IPv6 Extension Headers:
 
In IPv6, optional internet-layer information is encoded in separate headers that may be placed between the IPv6 header and the upper- layer header in a packet.  There is a small number of such extensions headers, each identified by a distinct Next Header value.  As illustrated in these examples, an IPv6 packet may carry zero, one, or more extension headers, each identified by the Next Header field of   the preceding header:
  
With one exception, extension headers are not examined or processed    by any node along a packet's delivery path, until the packet reaches the node (or each of the set of nodes, in the case of multicast) identified in the Destination Address field of the IPv6 header. There, normal de-multiplexing on the Next Header field of the IPv6 header invokes the module to process the first extension header, or the upper-layer header if no extension header is present. The contents and semantics of each extension header determine whether or not to proceed to the next header.  Therefore, extension headers must be processed strictly in the order they appear in the packet; a receiver must not, for example, scan through a packet looking for a particular kind of extension header and process that header prior to    processing all preceding ones.
 
The exception referred to in the preceding paragraph is the Hop-by-Hop Options header, which carries information that must be examined and processed by every node along a packet's delivery path, including the source and destination nodes.  The Hop-by-Hop Options header, when present, must immediately follow the IPv6 Header. Its presence is indicated by the value zero in the Next Header field of the IPv6 header.
 
If, as a result of processing a header, a node is required to proceed to the next header but the Next Header value in the current header is unrecognized by the node, it should discard the packet and send an ICMP Parameter Problem message to the source of the packet, with an ICMP Code value of 1 ("unrecognized Next Header type encountered") and the ICMP Pointer field containing the offset of the unrecognized value within the original packet.                                                            The same action should be taken if a node encounters a Next Header value of zero in any header other than an IPv6 header.
 
Each extension header is an integer multiple of 8 octets long, in order to retain 8-octet alignment for subsequent headers.  Multi- octet fields within each extension header are aligned on their natural boundaries, i.e., fields of width n octets are placed at an integer multiple of n octets from the start of the header, for n = 1, 2, 4, or 8.
 
A full implementation of IPv6 includes implementation of the following extension headers: 
 
           Hop-by-Hop Options
           Routing (Type 0)
           Fragment
           Destination Options
           Authentication
           Encapsulating Security Payload
 
The first four are specified in this document; the last two are specified in [4] and [5], respectively.
 
4.7.4 Extension Header Order:
 
When more than one extension header is used in the same packet, it is   recommended that those headers appear in the following order shown in Figure 4.3
 
           IPv6 header            Hop-by-Hop Options header
           Destination Options header (note 1)
           Routing header
           Fragment header
           Authentication header (note 2)
           Encapsulating Security Payload header (note 2)
           Destination Options header (note 3)
           upper-layer header
 
Note 1: for options to be processed by the first destination that appears in the IPv6 Destination Address field.
 
Figure: 4.3 Extension Header Order
 
 plus subsequent destinations listed in the Routing header.
 
Note 2: additional recommendations regarding the relative order of the Authentication and Encapsulating Security Payload headers are given in [5].
 
 Note 3: for options to be processed only by the final destination of the packet.
 
Each extension header should occur at most once, except for the Destination Options header which should occur at most twice (once before a Routing header and once before the upper-layer header).
If the upper-layer header is another IPv6 header (in the case of IPv6 being tunneled over or encapsulated in IPv6), it may be followed by its own extension headers, which are separately subject to the same ordering recommendations.
If and when other extension headers are defined, their ordering constraints relative to the above listed headers must be specified.
 
IPv6 nodes must accept and attempt to process extension headers in any order and occurring any number of times in the same packet, except for the Hop-by-Hop Options header which is restricted to appear immediately after an IPv6 header only.  Nonetheless, it is strongly advised that sources of IPv6 packets adhere to the above recommended order until and unless subsequent specifications revise that recommendation.
     
4.7.5 Hop-by-Hop Options Header:
 
The Hop-by-Hop Options header is used to carry optional information that must be examined by every node along a packet's delivery path. The Hop-by-Hop Options header is identified by a Next Header value of 0 in the IPv6 header, and has the following format:
 
Next Header  8-bit selector. Identifies the type of header immediately following the Hop-by-Hop Options header. Uses the same values as the IPv4
 
Hdr Ext Len 8-bit unsigned integer. Length of the Hop-by- Hop Options header in 8-octet units, not including the first 8 octets.
Options Variable-length field, of length such that complete Hop-by-Hop Options header is an integer multiple of 8 octets long. Contains one or more TLV-encoded options.
 
4.7.6 Routing Header:
 
The Routing header is used by an IPv6 source to list one or more intermediate nodes to be "visited" on the way to a packet's destination.  This function is very similar to IPv4's Loose Source and Record Route option.  The Routing header is identified by a Next Header value of 43 in the immediately preceding header, and has the following format as Routing Header
shown in Figure 4.4
 
Figure: 4.4 Routing Header
Next Header 8-bit selector.  Identifies the type of header immediately following the Routing header. Uses the same values as the IPv4 Protocol field.
 
Hdr Ext Len 8-bit unsigned integer. Length of the Routing header in 8-octet units, not including the first 8 octets.
 
Routing Type 8-bit identifier of a particular Routing header variant.
 
Segments Left 8-bit unsigned integer.  Number of route segments remaining, i.e., number of explicitly listed intermediate nodes still to be visit before reaching the final destination.
 
Type-specific data Variable-length field, of format determined by the Routing Type, and of length such that the complete Routing header is an integer multiple of 8 octets long.
 
If, while processing a received packet, a node encounters a Routing header with an unrecognized Routing Type value, the required behavior of the node depends on the value of the Segments Left field, as follows:
 
If Segments Left is zero, the node must ignore the Routing header and proceed to process the next header in the packet, whose type is identified by the Next Header field in the Routing header.
 
If Segments Left is non-zero, the node must discard the packet and send an ICMP Parameter Problem, Code 0, message to the packet's Source Address, pointing to the unrecognized Routing Type.
 
If, after processing a Routing header of a received packet, an intermediate node determines that the packet is to be forwarded onto a link whose link MTU is less than the size of the packet, the node must discard the packet and send an ICMP Packet Too Big message to the packet's Source Address. The Type 0 Routing header has the following format:  
 
Next Header 8-bit selector.  Identifies the type of header immediately following the Routing header. Uses the same values as the IPv4.
 
Hdr Ext Len  8-bit unsigned integer.  Length of the Routing header in 8-octet units, not including the first 8 octets.  For the Type 0 Routing header, Hdr Ext Len is equal to two times the number of addresses in the header.
 
Routing Type         0.
 
Segments Left        8-bit unsigned integer.  Number of route segments remaining, i.e., number of explicitly listed intermediate nodes still to be visited before reaching the final destination.
 
Reserved  32-bit reserved field.  Initialized to zero for transmission; ignored on reception.
 
Address[1..n]        Vector of 128-bit addresses, numbered 1 to n.
 
Multicast addresses must not appear in a Routing header of Type 0, or in the IPv6 Destination Address field of a packet carrying a Routing Header of Type 0.
 
A Routing header is not examined or processed until it reaches the node identified in the Destination Address field of the IPv6 Header. In that node, dispatching on the Next Header field of the immediately preceding header causes the Routing header module to be invoked, which, in the case of Routing Type 0
 
 
4.7.7 Fragment Header:
 
The Fragment header is used by an IPv6 source to send a packet larger than would fit in the path MTU to its destination.  (Note: unlike IPv4, fragmentation in IPv6 is performed only by source nodes, not by Routers along a packet's delivery path)  
 
Figure: 4.5 Fragment Header
 
 
Fragment header is identified by a Next Header value of 44 in the immediately preceding header, and has the following format as shown in Figure.5.5
 
Next Header 8-bit selector.  Identifies the initial header type of the Fragment able Part of the original packet (defined below).  Uses the same values as the IPv4.
 
Reserved 8-bit reserved field.  Initialized to zero for transmission; ignored on reception.
 
Fragment Offset 13-bit unsigned integer. The offset, in 8-octet units, of the data following this header, relative to the start of the Fragment able Part of the original packet.
 
Res  2-bit reserved field.  Initialized to zero for transmission; ignored on reception.
 
         M flag               1 = more fragments; 0 = last fragment.
 
        Identification       32 bits.  See description below.
In order to send a packet that is too large to fit in the MTU of the path to its destination, a source node may divide the packet into fragments and send each fragment as a separate packet, to be reassembled at the receiver.
 
For every packet that is to be fragmented, the source node generates an Identification value. The Identification must be different than that of any other fragmented packet sent recently with the same. Source Address and Destination Address. If a Routing header is present, the Destination Address of concern is that of the final destination.
 
 "Recently" means within the maximum likely lifetime of a packet, including transit time from source to destination and time spent awaiting reassembly with other fragments of the same packet.
        
However, it is not required that a source node know the maximum packet lifetime.  Rather, it is assumed that the requirement can be met by maintaining the Identification value as a simple, 32- bit, "wrap-around" counter, incremented each time a packet must be fragmented.  It is an implementation choice whether to maintain a single counter for the node or multiple counters, e.g., one for each of the node's possible source addresses, or one for each active (source address, destination address) combination.
 
The initial, large, unfragmented packet is referred to as the "original packet", and it is considered to consist of two parts, as illustrated: original packet:
 
The Unfragmentable Part consists of the IPv6 header plus any extension headers that must be processed by nodes en route to the destination, that is, all headers up to and including the Routing header if present, else the Hop-by-Hop Options header if present, else no extension headers.
 
The Fragment able Part consists of the rest of the packet, that is, any extension headers that need be processed only by the final destination node(s), plus the upper-layer header and data.
 
The Fragment able Part of the original packet is divided into fragments, each, except possibly the last ("rightmost") one, being an integer multiple of 8 octets long.  The fragments are transmitted in separate "fragment packets" as illustrated: original packet  shown in Figure4.6
 
Figure: 4.6 Fragment packets
 
    Each fragment packet is composed of:
 
(1) The Unfragmentable Part of the original packet, with the Payload Length of the original IPv6 header changed to contain the length of this fragment packet only (excluding the length of the IPv6 header itself), and the Next Header field of the last header of the Unfragmentable Part changed to 44.
 
 (2) A Fragment header containing:
 
The Next Header value that identifies the first Header of the Fragment able Part of the original packet. A Fragment Offset containing the offset of the fragment, in 8-octet units, relative to the start of the Fragmentable Part of the original packet.  The Fragment Offset of the first ("leftmost") fragment is 0. An M flag value of 0 if the fragment is the last ("rightmost") one, else an M flag value of 1. The Identification value generated for the original packet.
 
 
4.8 Destination Options Header:
 
 
Figure: 4.7 Destination Options Header
 
Figure 4.7 illustrates the Destination Options header is used to carry optional information that need be examined only by a packet's destination node(s). The Destination Options header is identified by a Next Header value of 60 in the immediately preceding header, and has the following format Next Header 8-bit selector. Identifies the type of header immediately following the Destination Options  Header. Uses the same values as the IPv4  Protocol field. Hdr Ext Len 8-bit unsigned integer. Length of the Destination Options header in 8-octet units, not including the first 8 octets. Options Variable-length field, of length such that the complete Destination Options header is an integer multiple of 8 octets long. Contains one or more TLV-encoded options.
 
The only destination options defined in this document are the Pad and PadN options note that there are two possible ways to encode optional destination information in an IPv6 packet: either as an option in the Destination Options header, or as a separate extension header. The Fragment header and the Authentication header are examples of the latter approach. Which approach can be used depends on what action is desired of a destination node that does not understand the optional information:
 
• If the desired action is for the destination node to discard the packet and, only if the packet's Destination Address is not a multicast address, send an ICMP Unrecognized Type message to the packet's Source Address, then the information may be encoded either as a separate header or as an option in the Destination Options header whose Option Type has the value 11 in its highest-order two bits.  The choice may depend on such factors as which takes fewer octets, or which yields better alignment or more efficient parsing.
 
• If any other action is desired, the information must be encoded as an option in the Destination Options header whose Option Type has the value 00, 01, or 10 in its highest-order two bits, specifying the desired action.
 
 
 
 
4.9 Packet Size Issues:
 
 IPv6 requires that every link in the internet have an MTU of 1280 octets or greater.  On any link that cannot convey a 1280-octet packet in one piece, link-specific fragmentation and reassembly must be provided at a layer below IPv6. Links that have a configurable MTU (for example, PPP links [RFC- 1661]) must be configured to have an MTU of at least 1280 octets; it is recommended that they be configured with an MTU of 1500 octets or greater, to accommodate possible encapsulations (i.e., tunneling) without incurring IPv6-layer fragmentation.
 
From each link to which a node is directly attached, the node must be able to accept packets as large as that link's MTU. It is strongly recommended that IPv6 nodes implement Path MTU. Discovery, in order to discover and take advantage of path MTUs greater than 1280 octets.  However, a minimal IPv6 implementation (e.g., in a boot ROM) may simply restrict itself to sending packets no larger than 1280 octets, and omit implementation of Path MTU Discovery.
 
In order to send a packet larger than a path's MTU, a node may use the IPv6 Fragment header to fragment the packet at the source and have it reassembled at the destination(s).  However, the use of such fragmentation is discouraged in any application that is able to adjust its packets to fit the measured path MTU (i.e., down to 1280 octets).
 
A node must be able to accept a fragmented packet that, after reassembly, is as large as 1500 octets.  A node is permitted to accept fragmented packets that reassemble to more than 1500 octets. An upper-layer Protocol or application that depends on IPv6 fragmentation to send packets larger than the MTU of a path should not send packets larger than 1500 octets unless it has assurance that the destination is capable of reassembling packets of that larger size.
 
In response to an IPv6 packet that is sent to an IPv4 destination (i.e., a packet that undergoes translation from IPv6 to IPv4), the originating IPv6 node may receive an ICMP Packet Too Big message reporting a Next-Hop MTU less than 1280.  In that case, the IPv6 node is not required to reduce the size of subsequent packets to less than 1280, but must include a Fragment header in those packets so that the IPv6-to-IPv4 translating router can obtain a suitable Identification value to use in resulting IPv4 fragments.  Note that this means the payload may have to be reduced to 1232 octets (1280 minus 40 for the IPv6 header and 8 for the Fragment header), and smaller still if additional extension headers are used.
 
4.10 Traffic Classes:
 
The 8-bit Traffic Class field in the IPv6 header is available for use by originating nodes and/or forwarding routers to identify and distinguish between different classes or priorities of IPv6 packets. At the point in time at which this specification is being written, there are a number of experiments underway in the use of the IPv4 Type of Service and/or Precedence bits to provide various forms of "differentiated service" for IP packets, other than through the use of explicit flow set-up. The Traffic Class field in the IPv6 header is intended to allow similar functionality to be supported in IPv6.
 
It is hoped that those experiments will eventually lead to agreement on what sorts of traffic classifications are most useful for IP packets.  Detailed definitions of the syntax and semantics of all or some of the IPv6 Traffic Class bits, whether experimental or intended for eventual standardization, are to be provided in separate documents.
 
The following general requirements apply to the Traffic Class field:
 
• The service interface to the IPv6 service within a node must provide a means for an upper-layer Protocol to supply the value of the Traffic Class bits in packets originated by that upper- layer Protocol.  The default value must be zero for all 8 bits
.
 
• Nodes that support a specific (experimental or eventual standard) use of some or all of the Traffic Class bits are permitted to change the value of those bits in packets that they originate, forward, or receive, as required for that specific use.  Nodes should ignore and leave unchanged any bits of the Traffic Class field for which they do not support a specific use.
 
• An upper-layer Protocol must not assume that the value of the Traffic Class bits in a received packet are the same as the value sent by the packet's source.
 
4.11 Authentication and Privacy Capabilities:
Extensions to support authentication, data integrity, and (optional) data confidentiality are specified for IPv6. This document specifies the basic IPv6 header and the initially- defined IPv6 extension headers and options. It also discusses packet size issues, the semantics of flow labels and traffic classes, and the effects of IPv6 on upper-layer Protocols. The format and semantics of IPv6 addresses are specified separately in [3]. The IPv6 version of ICMP, which all IPv6 implementations are required to include, is specified in [8].
 
Comparison between IPv4 and IPv6
 
 
5.1 Introduction:
 
IP version 6 (IPv6) is a new version of the Internet Protocol, designed as the successor to IP version 4 (IPv4) [9]. The changes from IPv4 to IPv6 fall primarily into the following Figure 5.1.
 
 
Figure: 5.1 IP address bits
 
 
IPv6 increases the IP address size from 32 bits to 128 bits, to support more levels of addressing hierarchy, a much greater number of addressable nodes, and simpler auto-configuration of addresses. The scalability of multicast routing is improved by adding a "scope" field to multicast addresses.  And a new type of address called an "any cast address" is defined, used to send a packet to any one of a group of nodes.         
 
5.2 Summary of Header changes:
 
Some IPv4 header fields have been dropped or made optional, to reduce the common-case processing cost of packet handling and to limit the bandwidth cost of the IPv6 header shown in Figure.5.2 and Figure.5.3
 
• 40 bytes
• Address increased from 32 to 128 bits
• Fragmentation and options fields removed from the base header
• Header checksum removed
• Header length is only payload (because fixed length header) 
• New flow label field
• TOS ,Traffic Class
• Protocol- Next header(extension header)
• Time to Live-Hop limit
• Alignment Changed to 64 bits
 
 
Figure:5.2 IPv4 Header
   
 
Figure: 5.3 IPv6 Header
 
5.3 Improved Support for Extensions and Options:
 
Changes in the way IP header options are encoded allows for more efficient forwarding, less stringent limits on the length of options, and greater flexibility for introducing new options in the future.
 
5.4 Flow Labeling Capability:
 
A new capability is added to enable the labeling of packets belonging to particular traffic "flows" for which the sender requests special handling, such as non-default quality of service or "real-time" service. In details the 20-bit Flow Label field in the IPv6 header may be used by a source to label sequences of packets for which it requests special handling by the IPv6 routers, such as non-default quality of service or "real-time" service.  This aspect of IPv6 is, at the time of writing, still experimental and subject to change as the requirements for flow support in the Internet become clearer.  Hosts or routers that do not support the functions of 
the Flow Label field are required to set the field to zero when originating a packet, pass the field on unchanged when forwarding a packet, and ignore the field when receiving a packet. In this concept every packet of Data contain a large header formation every time that’s why data transition speed is not expected although it is faster than IPv4. It use a sequential queue as shown in Figure 5.4
 
Figure: 5.4 Sequential queue
 
5.5 Authentication and Privacy Capabilities:
 
Extensions to support authentication, data integrity, and (optional) data confidentiality are specified for IPv6. This document specifies the basic IPv6 header and the initially- defined IPv6 extension headers and options.  It also discusses packet size issues, the semantics of flow labels and traffic classes, and the effects of IPv6 on upper-layer Protocols.  The format and semantics of IPv6 addresses are specified separately in. The IPv6 version of ICMP, which all IPv6 implementations are required to include, is specified in.
 
5.6 Basic specifications of IPv4 & IPv6:
 
5.6.1 Basic specifications of IPv4:
 
• IPv4 packet description (20 bytes + options)
• 32 bit Source Address
• Identification flag fragment offset
• Ver. header total length TOS
• 32 bit Destination Address
• TTL Protocol Checksum
 
 
5.6.2 Basic specifications IPv6:
 
• IPv6 packet description (40 bytes)
• Source Address128 bits
• Destination Address 128 bits
• Payload Length Next Header Hop Limit
• Ver. Traffic Class Flow Label
• Version bits (6 for IPv6)
• Traffic Class (8 bits)
• Identifies and distinguishes between different classes
• Priorities (diffserv)
• Used by a source node to label sequences of packets
• Payload Length
• Next Header (8 bits)
• Used for extension headers
• Hop-by-hop options 
• Information that must be examined by every node along the path
• Routing (43 bits)
• Similar to IPv4's Loose Source and Record Route option
• Fragment (44 bits)
• Used by source node (routers don’t fragment anymore !)
• Destination options (60)
• Authentication (IPsec)
 
 Crisis of IP Addresses
 
6.1 Introduction:
 
Crisis means want of something but want of IP addresses is called IP address crisis. Day by day this crisis increased by increasing Population of the world and by the increasing multiple application requirement of Unique IP address 
 
6.2 Globally Necessity of IP Addresses increased according increasing people:
 
IPv4 address shortage in the future. Internet growth in some regions according increasing people.
• Asia (2.5 billions people)
• Eastern Europe (250 millions people )
• Africa (800 millions people)
• South and Central America (500 millions people)
 
* Overall Total People of the world More than 6 Billions according world populations
Statistic. 
 
6.3 Growth of the application of IP addresses:
 
 Growth of the applications that need IP addresses globally scoped, unique and routable (VOIP), videoconferencing, games) as shown in Figure 6.1
 
Figure: 6.1 Application of IP addresses
 
• Required IP for PC (6 Billions of IP addresses) minimum Communications technologies need permanent addresses to get connected to the Internet.
• Cellular (18 billions )
• Standard phones (9 billions of IP addresses)
• Radio(6 billions of IP addresses)
• TV (6 billions of IP addresses)
• Industrials devices (5 billions of IP addresses)
• Any electronics device like as walkman (6 billions of IP addresses) 
• download MP3 (6 billions of IP addresses ) 
• e-mail to the police station required more than 50 billions of IP addresses)
 
 
6.4 Crisis of IP address at a glance: 
 
The crisis of IP addresses already grow Geopolitics which turn to Cyber war next any moment which is so much harmful and dangerous  than  second world war. Power country may be use many many Cyber bomb in the Cyber war for their required IP addresses until fulfill the requirement.
 
•  Total requirements of IP Addresses is 100 Billion for Minimum uses
• * Total requirements of IP Addresses is 400 Billion for Flexible uses
• IPv4 Can Support   4.28 billions IP Addresses which are not capable for Present or Next Generation requirements of IP addresses as a unique IP addresses or multiple uses.
• * Recently emergency requirement of unique address is minimum 2 billions. 
 
 
Protocol of diversity
 
7.1 Introduction:
   Diversity planning always making an opportunity for Present or New technology. Keeping present technology in use, diversity give enough time to develop a new technology beside this it making a co-exist working environment. In the crisis of IP addresses we want to show that IPv6 is diversity Protocol. Recently many countries taking project to implement the IPv6 as soon as because 28% remain IP addresses from the IPv4 will allowed to the user any moment. Before finishing the IP addresses of IPv4 we want to use IPv6 every where to avoid IP address crisis.
 
7.2 Capability of IPv6 as a Protocol of diversity:
 
IPv6 Can Support 2128 IP Addresses which are capable for fulfill the multiple requirements of IP addresses of Present or Next Generation. 
• IPv6 is 128 bits wide 
• Total IP addresses of IPv6 is 
      2128 =340,282,399,920,938,463,463,374,607,431,768,211,456
 
• 2128 =232.296
                 296=79,228,162,514,264,337,593,543,950,336 
           79 Times the number of   possible IPv4 Addresses (79 trillion trillion)
 
7.3 Statistical Requirement of diversity:
 
   Statistical requirement shown in Figure7.1
• IPv6 IP addresses (340,282,399,920 trillion trillion)
 
• After 50 years requirements of IP addresses(5,000 Billions)
 
• Presents requirements of IP addresses (100 Billions)
 
• IP4 support IP addresses (4.28 Billions)
 
 
 
 
Figure: 7.1 Statistical requirement
 
7.4 Co-existence support of IPv6 with Present IPv4:
 
   A wide range of techniques have been identified and implemented, basically falling into three categories. 
• Dual-stack techniques, to allow IPv4 and IPv6 to co-exist in the same devices and networks
• Tunneling techniques, to avoid order dependencies when upgrading hosts router, or regions.
• Translation techniques, to allow IPv6-only devices to communicate with IPv4-only devices.
 
IPv4 and IPv6 to co-exist in the same devices and networks as shown in Figure 7.2 
 
  Figure: 7.2 Co-existence of  IPv6 and IPv4
 
7.5 Infrastructure of diversity of IPv6 Backbone :
 
IPv6 and IPv4 can perform operation together with regular quality.IPv4 network and IPv6 network making a common channel network as shown in Figure 7.3.
 
 
Figure: 7.3 Infrastructure of diversity of IPv6 Backbone
 
7.6 Information Receiver Queue:
 
Classifier classifies the information according Properties and Priority. Shown in Figure 7.4 Here it classify the header information and data information then send to queues. Queue mechanism making the classify information into packets.
 
Figure:7.4 Classifier in Receiver Queue
 
 
7.7 Scheduler
 
 
Figure: 7.5 Scheduler
 
Scheduler making always schedule for transaction in flow label and send to their channels for information flow through the channel from source to destination as shown in Figure 7.5 
 
7.8 Simulation based network of duel stack IP version:
Figure 7.6 Illustrates Simulation based network of duel stack IP version in where IPv4 and IPv6 are co-exist.
 
 
 
Figure: 7.6 Simulation based network of duel stack IP version
7.9 Simulation Signal:
 
 
Figure 7.7 Illustrates the Signal of IP6 with channel queue and without channel Queue in
Simulation transition under co-existence of IPv4 and IPv6.
 
 
Figure: 7.7 Simulation Signal of IPv4 and IPv6
7.10 Statistical comparison of throughputs between IPv4 and IPv6:
 
 
Figure: 7.8 Throughputs Comparison between the IPv4 and IPv6
 
 
Comparison throughput between the IPv4 and IPv6 in Flow Label Capability(CFLC) as shown in Figure 7.8
 
7.11 Geo Black of IPv6:
• E-Japan Black
• Europe Black
• North-America Black
• China Black
• Africa Black
 
Conclusion
 
 
 8.1 Introduction:
 
In the previous chapters, the research problem was stated, analyzed and crisis of IP addresses solved with diversity. Based on the results, it was concluded that the main objective of the study was achieved. This chapter provides the conclusion of the dissertation. This chapter also highlights the achievements and contributions of this study and gives some recommendations for future researches. In this Project used required images to understand the design structure. It contains eight Chapters to continue study to completion. Here used several Simulation components for proper accommodations. 
 
8.2 Project Contribution:
• IPv6 can support IP addresses (340,282,399,920 trillion trillion)
• After 50 years requirements of IP addresses(5,000 Billions)
• Presents requirements of IP addresses (100 Billions)
• Present Population of the world  more than 6 billions
• IP4 support IP addresses (4.28 Billions)
• Presents emergency requirements of IP addresses (2 Billions)
• Used IP addresses of IPv4 72%
• Unused IP addresses of IPv4 28%
 
 
We show in the Project with mathematically IPv6 is appropriate Internet Protocol for avoid crisis of IP addresses as a Protocol of diversity. Success of diversity planning depends on Proper and quick implementation of IPv6 at the field of global network to face crisis of IP addresses.  
 
8.3 Future Scope of study:
 
Implementation of IPv6 and getting Proper output required more research on several components. As a new Internet Protocol it has so much scope of study. Like as several fields               
• Co-existence time complexity
• Throughput of Cyber tunnel 
 
 
8.4 Limitation:
 
We drawing Maximum images with Paint, MS Excel, MS Word and Photoshop some are from simulations. We study IPv6 in WAN environment of MSF-HOLAND, Dhaka Branch, Bangladesh. They are already in duel stack. We practice mail server, DNS, DHCP etc in Unix Environment. As a client we use Vista OS. But for deepness need to spend enough time in practice and investigation. We can not find more opportunity for a better investigation. Other side IPv6 is not available in windows without Unix and Unix is so much costly Operating System(OS).
 
 
8.5 Conclusion:
 
In this report, diversity planning illustrates that it provide opportunities for Present or New technology. Diversity give enough time to develop a new technology with co-exist working environment. In the crisis of IP addresses we want to show that IPv6 is an Internet Protocol of diversity .Recently many country taking project to implement the IPv6. Before finishing the IP addresses of IPv4 we want to use IPv6 every where to avoid IP address crisis and to avoid the Cyber war. 
 
 
 References
 
[1]   Kent, S. and R. Atkinson, "IP Encapsulating Security
                Protocol (ESP)", RFC 2406, November 1998.
[2]   Kent, S. and R. Atkinson, "Security Architecture for the
                Internet Protocol", RFC 2401, November 1998.
 
[3]   Kent, S. and R. Atkinson, "IP Authentication Header",
                RFC 2402, November 1998. 
 
[4]     Conta, A. and S. Deering, "ICMP for the Internet
                Protocol Version 6 (IPv6)", RFC 2463, December 1998.
 
[5]   Hinden, R. and S. Deering, "IP Version 6 Addressing
                Architecture", RFC 2373, July 1998.
 
[6]   McCann, J., Mogul, J. and S. Deering, "Path MTU
                Discovery for IP version 6", RFC 1981, August 1996.
 
[7]   Reynolds, J. and J. Postel, "Assigned Numbers", STD 2,
                RFC 1700, October 1994.  See also:
                http://www.iana.org/numbers.html
 
[8]    Postel, J., "Internet Protocol", STD 5, RFC 791,
                September 1981.
 
[9]   Simpson, W., "The Point-to-Point Protocol (PPP)", STD
                51, RFC 1661, July 1994.
 
[10] Sanog5 Pfs IPv6 2005 
 
[11]  Cisco 2460, Obsoletes: 1883                                          
Category: Standards Track , December 1998
                                                                                                             
[12] IPv6 Addresses in URL
   http://[1080::8:800:200C:417A]:80/index.html
 
 
Appendix
 
   Some commands for activation IPv6                                  
    ►For XP        –    Start 
– Run
– Ipv6 install
– Enter
     
 
 
     –
Figure A router Configuration
 
 
                                            
                                                Figure B Duel IP Configuration
 
 
Figure C UNIX Name Server
 
Coding of dual stack in Omnet++
 
 
module DIU 
    machines: 
        host; 
    parameters: 
        LoadControlFile : string, 
        FDDI_Generator_type : string, 
        RingID : numeric const, 
        TTRT : numeric const, 
        LoadMultiplier : numeric; 
    gates: 
        in: in; 
        out: out; 
    submodules: 
        IP43: FDDI_Router_port; // in Building R, EIK
            on: 
                host; 
            parameters: 
                //      FDDI_Generator_type=FDDI_Generator_type,
                StationID = 0, 
                address = "DECnet000728"; 
            display: "p=100,125;i=router";
        IP68: FDDI_SAS; // in Building R, EIK
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 1, 
                address = "DECnet000A04"; 
            display: "p=150,50;i=router";
        IP41: FDDI_SAS; // in Building R, EIK
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 2, 
                address = "cisco_F99030"; 
            display: "b=32,32;p=248,42;i=router";
        IP69: FDDI_SAS; // in Building K
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 3, 
                address = "DECnet000B04"; 
            display: "b=32,32;p=350,50;i=router";
        IP42: FDDI_SAC; // in Building K
            on: 
                host; 
            parameters: 
                StationID = -1, 
                address = "DEC___26AF0D"; 
            gatesizes: 
                M_in[1], 
                M_out[1]; 
            display: "b=32,15;p=439,124;i=ipc";
        bmebr1: FDDI_SAS; // in Building CH
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 4, 
                address = "DEC___28E6AD"; 
            display: "p=430,70;i=ipc";
        IP67: FDDI_SAC; // in Building Mt
            on: 
                host; 
            parameters: 
                StationID = -1, 
                address = "DEC___18DB64"; 
            gatesizes: 
                M_in[4], 
                M_out[4]; 
            display: "b=32,15;p=350,150;i=ipc";
        faruk: FDDI_SAS; // in Building F
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 5, 
                address = "DEC___28E6AC"; 
            display: "p=410,260;i=ipc";
        samim: FDDI_SAS; // in Building MM
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 6, 
                address = "00C01DF447A6"; 
            display: "p=460,260;i=ipc";
        limon1: FDDI_SAS; // in Building MM
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 7, 
                address = "00C01DF44885"; 
            display: "p=460,220;i=ipc";
        reme: FDDI_SAS; // in Building F
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 8, 
                address = "DEC___B48FE4"; 
            display: "p=460,180;i=ipc";
        Office: FDDI_SAC; // in Building St
            on: 
                host; 
            parameters: 
                StationID = -1, 
                address = "DEC___26B05D"; 
            gatesizes: 
                M_in[1], 
                M_out[1]; 
            display: "b=32,32;p=375,315;i=router";
        nobel: FDDI_SAS; // in Building J
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 9, 
                address = "DEC___286606"; 
            display: "b=32,15;p=456,339;i=ipc";
        IP45: FDDI_SAC; // in Building R, EIK
            on: 
                host; 
            parameters: 
                StationID = -1, 
                address = "DEC___314A73"; 
            gatesizes: 
                M_in[3], 
                M_out[3]; 
            display: "b=32,15;p=240,275;i=ipc";
        anwar4: FDDI_SAS; // in Building R, EIK
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 10, 
                address = "SGI___0409E8"; 
            display: "b=36,32;p=190,330;i=comp";
        reja5: FDDI_SAS; // in Building D
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 11, 
                address = "DEC___28691D"; 
            display: "p=240,330;i=comp";
        kobir: FDDI_Sniffer; // in Building R, EIK
            on: 
                host; 
            parameters: 
                StationID = 100, 
                address = "This_Monitor"; 
            display: "b=36,32;p=289,330;i=comp";
        bmeconc1: FDDI_SAC; // in Building R, EIK
            on: 
                host; 
            parameters: 
                StationID = -1, 
                address = "DEC___286C41"; 
            gatesizes: 
                M_in[3], 
                M_out[3]; 
            display: "b=32,15;p=132,192;i=ipc";
        monir1: FDDI_SAS; // in Building R, EIK
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 12, 
                address = "IBM___1DE0BA"; 
            display: "b=36,32;p=50,239;i=comp";
        niroj2: FDDI_SAS; // in Building R, EIK
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 13, 
                address = "Sun___1BD035"; 
            display: "p=100,265;i=comp";
        aslam3: FDDI_SAS; // in Building R, EIK
            on: 
                host; 
            parameters: 
                FDDI_Generator_type = FDDI_Generator_type, 
                StationID = 14, 
                address = "DEC___B11ECF"; 
            display: "p=150,270;i=comp";
    connections: 
        // Propagation delay is calculated from the cable length [in meter].
        // In glass, light travels at approximately 200 m/microseconds.
        // Within a building no exact cable lengths used as they are very
        // short. They are just modelled with a 10 m long cable, to achive
        // a non zero delay.
        // Approximately 0.05 microsecond accuracy is used in calculations.
        IP43.in <– delay 0.05 us <– IP68.out; // R<–R
        IP68.in <– delay 0.05 us <– IP41.out; // R<–R
        IP41.in <– delay 5.1 us <– IP69.out; // R<–K 1013m
        IP69.in <– delay 0.05 us <– IP42.S_out; // K<–K
        IP42.M_in[0] <– delay 1.5 us <– bmebr1.out; // K<–CH 298m
        bmebr1.in <– delay 1.5 us <– IP42.M_out[0]; // CH<–K 298m
        IP42.S_in <– delay 1.5 us <– IP67.S_out; // K<–Mt 292m
        IP67.M_in[0] <– delay 0.8 us <– faruk.out; // Mt<–F 157m
        faruk.in <– delay 0.8 us <– IP67.M_out[0]; // F<–Mt 157m
        IP67.M_in[1] <– delay 0.6 us <– samim.out; // Mt<–MM 117m
        samim.in <– delay 0.6 us <– IP67.M_out[1]; // MM<–Mt 117m
        IP67.M_in[2] <– delay 0.6 us <– limon1.out; // Mt<–MM 117m
        limon1.in <– delay 0.6 us <– IP67.M_out[2]; // MM<–Mt 117m
        IP67.M_in[3] <– delay 0.8 us <– reme.out; // Mt<–F 157m
        reme.in <– delay 0.8 us <– IP67.M_out[3]; // F<–Mt 157m
        IP67.S_in <– delay 1.7 us <– Office.S_out; // Mt<-St 342m
        Office.M_in[0] <– delay 0.6 us <– nobel.out; // ST<–J 125m
        nobel.in <– delay 0.6 us <– Office.M_out[0]; // J<–St 125m
        Office.S_in <– delay 2.1 us <– IP45.S_out; // St<–R 427m
        IP45.M_in[0] <– delay 0.05 us <– anwar4.out; // R<–R
        anwar4.in <– delay 0.05 us <– IP45.M_out[0]; // R<–R
        IP45.M_in[1] <– delay 0.7 us <– reja5.out; // R<–D 146m
        reja5.in <– delay 0.7 us <– IP45.M_out[1]; // D<–R 146m
        IP45.M_in[2] <– delay 0.05 us <– kobir.out; // R<–R
        kobir.in <– delay 0.05 us <– IP45.M_out[2]; // R<–R
        IP45.S_in <– delay 0.05 us <– bmeconc1.S_out; // R<–R
        bmeconc1.M_in[0] <– delay 0.05 us <– monir1.out; // R<–R
        monir1.in <– delay 0.05 us <– bmeconc1.M_out[0]; // R<–R
        bmeconc1.M_in[1] <– delay 0.05 us <– niroj2.out display "m=,,,4,0"; // R<–R
        niroj2.in <– delay 0.05 us <– bmeconc1.M_out[1]; // R<–R
        bmeconc1.M_in[2] <– delay 0.05 us <– aslam3.out; // R<–R
        aslam3.in <– delay 0.05 us <– bmeconc1.M_out[2]; // R<–R
        bmeconc1.S_in <– delay 0.05 us <– IP43.out; // R<–R
        IP43.ring_out –> out; 
        IP43.ring_in <– in; 
    display: "p=8,5;b=499,345";
endmodule