DNS & sw gen

Embed Size (px)

Citation preview

  • 8/7/2019 DNS & sw gen

    1/6

    Domain Name System

    Each computer directly connected to the Internet has at least one specific IP address.

    However, users do not want to work with numerical addresses such as 194.153.205.26

    but with a domain name or more specifically addresses. It is possible to associate names

    in normal language with numerical addresses thanks to a system called DNS (DomainName System).

    This correlation between the IP addresses and the associated domain name is called

    domain name resolution (or address resolution).

    literal name called the host name.

    Introduction to the Domain Name System

    So with the explosion in the size of networks and their interconnection, it was necessary

    to implement a management system for names which was hierarchical and easier toadministrate. The system called Domain Name System (DNS) was developed in

    November 1983 by Paul Mockapetris (RFC 882 and RFC 883) then revised in 1987 in

    RFCs 1034 and 1035. DNS has been subject to many RFCs.

    This system offers:

    an hierarchical namespace allowing the uniqueness of a name to be guaranteed in

    a tree structure, like Unix file systems.

    a system ofdistribution servers enabling namespace to be made available.

    a client system making it possible to "resolve" domain names, i.e. interrogate the

    servers to find out the IP address corresponding to a name.

    Namespace

    The structure of the DNS system relies on a tree structure where the higher level domains

    (called TLD, forTop Level Domains) are defined, attached to a root node represented by

    a dot.

  • 8/7/2019 DNS & sw gen

    2/6

    Each node of the tree is called a domain name. Each node has a labelwith a maximum

    length of 63 characters.

    All domain names therefore make up an inverse tree where each node is separated fromthe following node by a dot (".").

    The end of a branch is called the host, and corresponds to a machine or entity on the

    network. The host name given to it must be unique in the respective domain, or if the

    need arises in the sub-domain. For example a domain's web server generally bears thename www.

    The word "domain" formally corresponds to the suffix of a domain name, i.e. the tree

    structure's collection of node labels, with the exception of the host.

    The absolute name relating to all the node labels of a tree structure, separated by dots,

    and finished by a final dot is called the FQDN address (Fully Qualified Domain Name).

    The maximum depth of the tree structure is 127 levels and the maximum length of aFQDN name is 255 characters. The FQDN address makes it possible to uniquely locate a

    machine on the network of networks. So, www.commentcamarche.net. is an FQDNaddress.

    Domain name servers

    The machines called domain name servers make it possible to establish the link between

    domain names and IP addresses of machines on a network.

    Every domain has a domain name server, called a primary domain name server, as well

    as a secondary domain name server, able to take over from the primary domain nameserver in the event of unavailability.

    Every domain name server is declared in the domain name server of the immediately

    higher level, meaning authority can implicitly be delegated over the domains. The namesystem is a distributed architecture, where each entity is responsible for the management

    of its domain name. Therefore, there is no organisation with responsibility for the

    management of all domain names.

    The servers relating to the top level domains (TLD) are called "root name servers".There are 13 of them, distributed around the planet with the names "a.root-servers.net" to

    "m.root-servers.net".

    A domain name server defines a zone, i.e. a collection of domains over which the server

    has authority. The domain name system is transparent for the user, nevertheless, thefollowing points must be remembered:

    Each computer must be configured with the address of a machine capable of

    transforming any name into an IP address. This machine is called the Domain

  • 8/7/2019 DNS & sw gen

    3/6

    Name Server. Don't panic: when you connect to the Internet, the service provider

    will automatically change your network parameters to make these domain name

    servers available to you.

    The IP address of a second Domain Name Server(secondary Domain Name

    Server) must also be defined: the secondary domain name server can take over

    from the primary domain name server in the event of malfunction.

    Domain name resolution

    The consistent mechanism for finding the IP address relating to a host name is called

    "domain name resolution". The application making it possible to conduct this operation

    (generally integrated in the operating system is called "resolving".

    When an application wants to connect to a known host by its domain name (e.g."www.commentcamarche.net"), it interrogates a domain name server defined in its

    network configuration. In fact, each machine connected to the network has the IP

    addresses of its service provider's two domain name servers in its configuration.

    A request is then sent to the first domain name server (called the "primary domain nameserver"). If this domain name server has the record in its cache, it sends it to the

    application, if not, it interrogates a root server (in our case a server relating to the TLD

    ".net"). The root name server sends a list of domain name servers with authority over thedomain (in this case, the IP addresses of the primary and secondary domain name servers

    forcommentcamarche.net).

    The primary domain name server with authority over the domain will then be

    interrogated and will return the corresponding record to the domain host (in our case

    www).

  • 8/7/2019 DNS & sw gen

    4/6

    Software Generations

    First Generation

    During the 1950's the first computers were programmed by changing the wires and set

    tens of dials and switches. One for every bit sometimes these settings could be stored onpaper tapes that looked like a ticker tape from the telegraph - a punch tape - or punched

    card. With these tapes and or cards the machine was told what, how and when to do

    something.

    To have a flawless program a programmer needed to have a very detailed knowledge ofthe computer where he or she worked on. A small mistake caused the computer to crash.

    Second Generation

    Because the first generation "languages" were regarded as very user unfriendly people set

    out to look for something else, faster and easier to understand.The result was the birth of the second generation languages (2GL) at the mid of the

    1950's. These generation made use of symbols and are called assemblers.

    An assembler is a program that translates symbolic instructions to processor instructions.

    (See above for an example) But deep in the 1950's there was still not a single processorbut a whole assembly rack with umpteen tubes and or relays.

    A programmer did no longer have to work with one's and zero's when using an assembly

    language. He or she can use symbols instead. These symbols are called mnemonics

    because of the mnemonic character these symbols had (STO = store). Each mnemonic

    stands for one single machine instruction.But an assembler still works on a very low level with the machine. For each processor a

    different assembler was written.

    Third Generation

    At the end of the 1950's the 'natural language' interpreters and compilers were made. But

    it took some time before the new languages were accepted by enterprises.

    About the oldest 3GL is FORTRAN (Formula Translation) which was developed around

    1953 by IBM. This is a language primarily intended for technical and scientific purposes.

    Standardization of FORTRAN started 10 years later, and a recommendation was finallypublished by the International Standardization Organization (ISO) in 1968.

    FORTRAN 77 is now standardized

    COBOL (= Common Business Oriented Language) was developed around 1959 and islike its name says primarily used, up till now, in the business world.

  • 8/7/2019 DNS & sw gen

    5/6

    With a 3GL there was no longer a need to work in symbolics. Instead a programmer

    could use a programming language what resembled more to natural language. Be it a

    stripped version with some two or three hundred 'reserved' words. This is the period(1970's) were the now well known so called 'high level' languages like BASIC, PASCAL,

    ALGOL, FORTRAN, PL/I, and C have been born.

    Fourth Generation

    A 4GL is an aid witch the end user or programmer can use to build an application withoutusing a third generation programming language. Therefore knowledge of a programming

    language is strictly spoken not needed.

    The primary feature is that you do not indicate HOW a computer must perform a task but

    WHAT it must do. In other words the assignments can be given on a higher functionallevel.

    The main advantage of this kind of languages is that a trained user can create anapplication in a much shorter time for development and debugging than would be

    possible with older generation programming language. Also a customer can be involvedearlier in the project and can actively take part in the development of a system, by means

    of simulation runs, long before the application is actually finished.

    Today the disadvantage of a 4GL lays more in the technological capacities of hardware.

    Since programs written in a 4GL are quite a bit larger they are needing more disk spaceand demanding a larger part of the computer's memory capacity than 3GL's. But

    hardware of technologically high standard is made more available every day, not

    necessarily cheaper, so in the long run restrictions will disappear.

    Considering the arguments one can say that the costs saved in development could now beinvested in hardware of higher performance and stimulate the development of the 4GL's.

    In the 1990's the expectations of a 4GL language are too high. And the use of it only will

    be picked up by Oracle and SUN that have enough power to pull it through. However in

    most cases the 4GL environment is often misused as a documentation tool and a versioncontrol implement. In very few cases the use of such programs are increasing

    productivity. In most cases they only are used to lay the basis for information systems.

    And programmers use all kinds of libraries and toolkits to give the product its final form.

    Fifth Generation

    This term is often misused by software companies that build programming environments.

    Till today one can only see vague contours. When one sees a nice graphical interface it is

    tempting to call that a fifth generation. But alas changing the makeup does not make abutterfly into an eagle.

  • 8/7/2019 DNS & sw gen

    6/6

    Yes some impressions are communicated from professional circles that are making these

    environments and sound promising. But again the Fifth generation only exist in the brains

    of those trying to design this generation, YET. Many attempts are made but are strandingon the limitations of hardware, and strangely enough on the views and insight of the

    use of natural language. We need a different speak for this!

    But it is a direction that will be taken by these languages: no longer prohibiting for the

    use of natural language and intuitive approach towards the program (language) to bedeveloped The basis of this is laid in the 1990's by using sound, moving images and

    agents - a kind of advanced macro's of the 1980's.

    And it is only natural that neural networks will play an important role.

    Software for the end user will be (may be) based on principles of knowbot-agents. Anautonomous self changing piece of software that creates new agents based on the

    interaction of the end user and interface. A living piece of software, as you may say. And

    were human alike DNA / RNA (intelligent?) algorithms can play a big role.