IP addresses can be assigned to be static or dynamic. However it must be remembered that the initial assignment of IP addresses will be carried out by InterNIC. This is too unsure that the same IP is not given to for example two FTP servers. No two computers can use the same IP address. However, one computer (or device) may have several IP addresses. An example of this might be that a computer that serves as a host for multiple services in which case each service may have one or more IP addresses. If the same IP was being used by two web servers it would be impossible to determine where to send a request. Once an IP address / addresses have been given to an organisation how they are assigned is up to the administration of the network. An ISP (Internet Service Provider) for example may have a pool of addresses which it may assign dynamically as each person logs on. This address would then become their address while they are connected. Once they disconnect from the ISP the IP address they were using goes back into the pool. This is called dynamic assignment of IP addresses. As these are assigned by the network administration it may be difficult to predict the exact IP address and quite unlikely to be the same next time you connect. It is important to take into account that dynamic assignment is only possible up to a certain point. This is because an organisation will be given a set number of IP addresses such as a class C IP address. In such a case it will only be able to assign 254 addresses at any given time. This would limit the assignment of IP address, as truly dynamic assignment would be mean the organisation would be free to assign any IP it chooses. In contrast a static IP address is given to say a web server where the IP address will always be the same. It will not change if the server is connected to the net or not. Nevertheless if the server is not connected it will not be possible for other networks to access it because the data stored on the web server will not be connected to the Internet. The purpose of such an activity depends on what the IP addresses is used for. If for example a company sets up a FTP server it would want the address to constant as it would be pointless if the address was forever changing as employees would have to have up to date information about the servers IP address in order to access it. However in the case of the ISP users only need the IP for a short space of time and thus it would be pointless giving each user his / her own IP if a pool of IP addresses can be shared amused users. Security is also an issue as dynamic assignment may prevent attacks on a system because the hacker will have to discover the new IP address of the server he / she was previously hacking into.
IP addresses must be assigned to a network in order for the network to communicate on the Internet but this does not take into account the practical side of implementing IP addresses. The address resolution protocol (ARP) is a protocol used by the Internet Protocol network layer protocol to map to the hardware addresses. The protocol operates below the network layer as a part of the OSI link layer, and is used when Therefore IP addresses must be mapped onto Medium Access Control (MAC) addresses in order to assign certain IP addresses to certain devices within the network. A MAC address can be defined as “a hardware address that uniquely identifies each of a ”. In 802 networks, the of the is divided into two sub layers, which are the Logical Link Control layer and the Media Access Control layer. The MAC layer interfaces directly with the network media. This means that each different type of network media requires a different MAC layer. The term address resolution refers to the process of finding an address of a computer in a network. The address is "resolved" using a protocol in which a piece of information is sent by a local computer to a remote computer / server. The information received by the server allows the server to uniquely identify the network system for which the address was required and therefore to provide the required address. The address resolution procedure is completed when the client receives a response from the server containing the required address. Basically ARP can be thought of as the protocol which translates IP addresses into MAC addresses which enables data from an external networking via the Internet to reach its destination.
Domain Name System (or Service) can be defined as “an service that translates into IP addresses”. Domain names are alphabetic which makes them easier to remember. However the Internet is based on . Every time you use a domain name, therefore, a DNS service must translate the name into the corresponding IP address. For example, the domain name might translate into an IP address such as 213.83.195.65. A Domain Name Server performs the translation of English words into to 32 bit IP addresses. The DNS system can be viewed as its own . If one DNS server doesn't know how to translate a particular domain name, it asks another one, and so on, until the correct IP address match has been found. Each network normally has its own its own Domain Name Server, and when communication is established between the such servers on a TCP/IP
networks connected to the Internet are referred to as a Domain Name Service (DNS). There are six top level domain names which are .com, .edu, .gov, .mil, .net, and .org. However DNS can be used for other IP address unrelated to the HTTP protocol such as ftp, mail servers (SMTP / POP3), news (for UseNet servers) etc.
It is of up most importance to understand how networks communicate with each other to be able to understand how routing is carried out on the Internet. Routing can be defined as “the and processes of moving a of data from its to its ”. Routing is usually performed by a dedicated device called a . It is a key feature of the because it enables data to pass from one computer to another and eventually reaching the target machine (destination). The Internet could not exist without routing as in theory if different networks could not send and receive data they could not operate as an Internet which is basically many smaller networks connected to form one massive grid. Internet routing devices have also been known to be called gateways. In today's terminology, however, the term gateway refers specifically to a device that performs application-layer protocol translation between devices. There are two main types of gateways, which perform different functions in terms of routing on the Internet. An interior gateways are devices that perform protocol functions between machines or networks under the same administrative control or authority, such as a corporation's internal network. An example may be data being transfer from one area of the network to another or an internal message board system. These are sometimes known as autonomous systems which can be thought of as a collection of networks (routers), administered by a single authority which use the same Interior Gateway Protocol (IGP) to route packets. Exterior gateways perform protocol functions between independent networks. Such an example may include may include the action of sending an e-mail to someone outside the organisation as the data packets would have to pass internally until they can be delivered by a mail server (SMTP) to there destination. However we are mainly only concerned which exterior gates as this is the method used for networks to communicate with the Internet.
To be able to explain how routing is conducted on the Internet routers must be investigated. The underlying technology must be understood as to how data packets are received and sent by the router. They operate at the network layer of the ISO OSI model, which basically means that their main activity is to examine network addresses and make decisions about whether or not data on a network should remain on the network or if it should be transmitted to a different network. Headers of data packets are examined and the source / destination are determined by the router and the data packet is forwarded or retained accordingly. Routers are not concerned as to what is being transmitted but where the data should be sent. Therefore a router will not prevent a DoS attack as the data is only transmitted and not examined and thus the receiving host is responsible for data analysis. In simple terms a router operates by learning about disruptions and delays on network segments from other routers and store continuously updated information about routes availability. Route status can change based on traffic volumes, hardware malfunctions, and planned outages. Most routers do not know the location of every location of every router and routers are being added to the Internet on a frequent basis.
There are various ways in which data packets are transmitted via the Internet. Figure 5 shows how a router would send and received data packets using switching. A router possibly may have a configuration table which holds such information as how connections lead to particular groups of addresses, which connections prioritise over others and rules for handling both routine and special cases of traffic. Packet data, such as an message, travels over a system known as a packet-switching network. The raw data is broken up into packages of about 1,500 long. Each of these packages includes information on the source, destination and checksums to ensure that the data packet is not corrupted in any way. Once the router has examined the data pack the router will decide the best route for the data packet to travel down. In figure 5 the router actually determine the best course of action for the data packet but the switches are responsible for diverting the data packet to its destination. It is important to bear in mind that the route chosen is likely to be the most efficient but that does not necessarily mean the shortest. For example a certain part of the network might be very heavily loaded with huge amounts of request, thus it may make more sense for the data packet to be sent around the congested area.
Under windows and Unix there are several ways in which it is possible to trace data packets and connections between the local network and the Internet. Under windows there is a facility called "TRACERT" (Trace Route). This command is a diagnostic utility that demonstrates the path the data packet takes to reach its destination. In figure 6 I have traced the route a data packet will take from my computer to, two different website. At the top of figure 6 I have carried out a trace on wmin.ac.uk and on the left the IP address is shown for , which has been converted by DNS into its number form. The numbers of the left hand side indicate how many hops the data packet had to go through and the addresses associated with each number is the IP of the router. The data packet passed through 15 hops, as the last hope is not included as it is the destination address. I also carried out the same procedure for to demonstrate that the data packet has travels in a totally different direction, which is indicated by it passing through different routers. In this case both data packets went through 15 hops but depending on the network and the location of the server the number could change. The traceroute function can useful to test the path for example to a website to determine if there are any problems making a connection which has happen in the case of as the destination was not reachable.
Various problems can occur and error detection must be put in place to ensure that data packets reach their destination error free. Transmission mediums can suffer from several factors, which can cause a data packet to contain errors. Machinery is prone to break down which can effect how data is send and received by a network. White noise is always present on networks as they are in effect electronic circuits. Due to thermal motions of electrons within circuits data can be corrupted and even such things as magnets and physical damage maybe cause data packets to be corrupted or destroyed. Thus it is important to have checks in place, which make sure that data reaches its rightful destination. There are two main types of data transmission, which are Asynchronous and Synchronous transmission. Depending on the type used to transmit data various methods of detection and correction can be implemented. The main difference between the two types of technique is the way in which they transmit data packets, as Asynchronous sends data packets in short pulses while Synchronous transmission sends the data in a continuous stream. As both techniques are very different from each other they both use different methods of error detection. Asynchronous tends to use more traditional methods of data checking such as parity checking and block checking while Synchronous maybe use Cyclic codes. The actual header in the data packet contains an error detecting mechanism called a checksum. The checksum allow the IP to detect datagrams with corrupted headers and discard them and relevant steps will be taken to request the data packet again.
The Internet is always changing and growing and as technology advances so will the various ways addressing and data packets are transmitted. Over the past 5 years or so the Internet has experienced a massive boom in popularity as more and more people are now using it on a daily basis. One of the major problems in the near future will be the exhaustion of the IPv4 address space. IP version 4 (IPv4), is a 32-bit addressing system which means that in total there are only 4,294,967,296 (2 32) IP addresses available for use on the whole internet. This may seem like a huge number of addresses but they are being taken up at an alarming rate. With many new countries and organisations in developing and third world countries being introduced to the Internet on a daily basis it is not uncommon for an individual to have several different IP address as they might have there own Internet connection at home and use the internet from work. The address shortage problem is made worse as IP address space is often efficiently allocated. Such an example maybe that a Internet Service Provider may have a set amount of IP address but when the network is only running at half capacity, half the IP addresses will not be in use which in theory could be used for another task. Any major problem facing the Internet is caused by routing tables growing to unmanageable sizes. As more networks join the Internet, routing table/topology change and become ever more complex. Processing power if now a concern as routers may not be able to cope with the sheer volume of processes / data. Such a problem can not be solved by adding more router as the network in the wide sense will become more complicated. Core routers would have to be taken out which would make various parts of the Internet unusable.
Measures have been thought up to deal with such problems above. IP version 6 (IPv6) is the latest effort to resolve Internet addressing problems. IPv6 replaces the 32-bit address structure of IPv4 with a 128-bit addressing structure, which in turn would increase address space by a factor of 296. This vastly increases the amount of available IP addresses, which can be allocated. IPv6 is designed as an evolution from IPv4, rather than a complete change to the current structure of the Internet. However changes have been made to the IPv4 header in IP6 which will increase the speed in which routers can process the data. This is effect will make processing more efficient as it will cut down on the routers CPU cycles and thus enabling a higher packet per second (PPS) processing rate to be obtained. The major problem with IPv6 is that it will take many years for it to be successfully implemented as it requires hardware and Internet standards to be updated. The Internet Engineering Task Force is responsible for developing the next generation of the Internet Protocol such as IPv6. It is important to remember that both IPv4 and IPv6 both need to be standards in order for the all the networks on the Internet to work as one and freely exchange data packets.
The future of IP addressing remains to be seen as new technology is being developed at an alarming rate. A totally new break through in transmitting data maybe be discovered but as yet it would be far to assume IP version 6 as the immediate future for IP addressing. Many factors have to be taken into account but one thing that remains clear is that the Internet is forever growing and changing and this will produce various growing pains which must be anticipated and swift concise measures must be taken to ensure the functionality of the Internet as a whole.
Figure 1:
Figure 2: The TCP / IP Protocol Architecture.
Figure 3: TCP Protocol Header
Figure 3: TCP Header Format
Figure 4: IP Header Format
Figure 5: Router and switch.
Figure 6: Traceroute
BIBLIOGRAPHY
-
Data and computer communications 6th edition by William Stallings.
- Handbook of data communications and networks by Bill Buchanan.
- Internetworking with TCP/IP principles, protocols and architectures 4th edition by Douglas E.comer.
- The Essential Guide to Networking by Jim Keogh