Network Theory Topics Ece 7th Sem

  • Upload
    mrx1061

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    1/36

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    2/36

    Module within a server application or service that contains all of the functions necessary for theserver to handle remote requests using local procedure calls.

    RPC Dependencies and Interactions

    RPC is a client/server technology in the most generic sense. There is a sender and a receiver; data

    is transferred between them. This can be classic client/server (for example, Microsoft Outlookcommunicating with a server running Microsoft Exchange Server) or system services within thecomputer communicating with each other. The latter is especially common. Much of theWindows architecture is composed of services that communicate with each other to accomplish atask. Most services built into the Windows architecture use RPC to communicate with each other.

    The following table briefly describes the services in Windows Server 2003 that depend on theRPC system service (RPCSS).

    Services That Depend on RPCSS

    Service Description

    BackgroundIntelligent TransferService

    Transfers data between clients and servers in the background.

    COM+ Event System Supports System Event Notification Service (SENS), which providesautomatic distribution of events to subscribing Component ObjectModel (COM) components.

    COM+ SystemApplication

    Manages the configuration and tracking of COM+-based components.

    CryptographicServices Provides three management services: Catalog Database Service, whichconfirms the signatures of Windows files; Protected Root Service,which adds and removes Trusted Root Certification Authoritycertificates from this computer; and Key Service, which helps enroll thiscomputer for certificates.

    DHCP Server Performs TCP/IP configuration for DHCP clients, including dynamicassignments of IP addresses, specification of the WINS and DNSservers, and connectionspecific Domain Name System (DNS) names.

    Distributed LinkTracking Client

    Enables client programs to track linked files that are moved within anNTFS volume to another NTFS volume on the same computer or to anNTFS volume on another computer.

    Distributed LinkTracking Server

    Enables the Distributed Link Tracking Client service within the samedomain to provide more reliable and efficient maintenance of linkswithin the domain.

    Distributed LinkTransactionCoordinator

    Coordinates transactions that span multiple resource managers, such asdatabases, message queues, and file systems.

    DNS Server Enables DNS clients to resolve DNS names by answering DNS queries

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    3/36

    and dynamic update requests.

    Error ReportingService

    Collects, stores, and reports unexpected application failures toMicrosoft.

    File Replication

    Service

    Allows files to be automatically copied and maintained simultaneously

    on multiple servers.

    Help and Support Enables Help and Support Center to run on the computer.

    Human InterfaceDevice Access

    Enables generic input access to Human Interface Devices (HID), whichactivates and maintains the use of predefined hot buttons on keyboards,remote controls, and other multimedia devices.

    Indexing Service Indexes contents and properties of files on local and remote computers;provides rapid access to files through flexible querying language.

    IPSec Services Provides end-to-end security between clients and servers on TCP/IPnetworks.

    Kerberos KeyDistribution Center

    On domain controllers, enables users to log on to the network using theKerberos authentication protocol.

    Logical DiskManager

    Detects and monitors new hard disk drives and sends disk volumeinformation to Logical Disk Manager Administrative Service forconfiguration.

    Logical DiskManagerAdministrativeService

    Configures hard disk drives and volumes.

    Messenger Transmits net send and Alerter service messages between clients and

    servers. This service is not related to Windows Messenger.Microsoft SoftwareShadow CopyProvider

    Manages software-based volume shadow copies taken by the VolumeShadow Copy service.

    Network Connections Manages objects in the Network and Dial-Up Connections folder inwhich you can view local area network (LAN) and remote connections.

    Print Spooler Manages all local and network print queues and controls all printingjobs.

    Protected Storage Protects storage of sensitive information, such as private keys andprevents access by unauthorized services, processes, or users.

    Remote Desktop HelpSession Manager

    Manages and controls Remote Assistance.

    Remote Registry Enables remote users to modify registry settings on a computer.

    Removable Storage Manages and catalogs removable media and operates automatedremovable media devices.

    Resultant Set of Enables a user to connect to a remote computer, access the Windows

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    4/36

    Policy Provider Management Instrumentation (WMI) database for that computer, andeither verify the current Group Policy settings made for the computer orcheck settings before they are applied.

    Routing and RemoteAccess

    Enables multi-protocol LAN-to-LAN, LAN-to-wide area network(WAN), virtual private network (VPN), and network address translation

    (NAT) routing services for clients and servers on the network.

    Security AccountsManager

    Upon startup, signals other services that the Security Accounts Manager(SAM) is ready to accept requests.

    Shell HardwareDetection

    Provides notifications for AutoPlay hardware events.

    Task Scheduler Enables a user to configure and schedule automated tasks on thecomputer.

    Telephony Provides Telephony API (TAPI) support for clients using programs thatcontrol telephony devices and IP-based voice connections.

    Telnet Enables a remote user to log on to a computer and run programs;supports various TCP/IP Telnet clients, including UNIX-based andWindows-based computers.

    Terminal Services Allows users to connect interactively to a remote computer. RemoteDesktop, Fast User Switching, Remote Assistance, and Terminal Serverdepend on this service.

    Terminal ServicesSession Directory

    Enables a user connection request to be routed to the appropriateterminal server in a cluster.

    Upload Manager Manages the synchronous and asynchronous file transfers betweenclients and servers on the network.

    Virtual Disk Service Provides software volume and hardware volume management service.

    Volume ShadowCopy

    Manages and implements Volume Shadow Copies used for backup andother purposes.

    Windows Audio Manages audio devices for Windows-based programs.

    Windows ImageAcquisition (WIA)

    Provides image acquisition services for scanners and cameras.

    Windows Installer Installs, repairs, and removes software according to instructionscontained in .MSI files.

    Windows InternetName Service(WINS)

    Resolves NetBIOS names for TCP/IP clients by locating networkservices that use NetBIOS names.

    WindowsManagementInstrumentation

    Provides a common interface and object model to access managementinformation about operating system, devices, applications, and services.If this service is stopped, most Windows-based software will notfunction properly.

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    5/36

    WirelessConfiguration

    Enables automatic configuration for IEEE 802.11 adapters.

    WMI PerformanceAdapter

    Provides performance library information from WMI providers toclients on the network.

    Microsoft Remote Procedure Call (RPC) is an interprocess communication (IPC) mechanism thatenables data exchange and invocation of functionality residing in a different process. Thatprocess can be on the same computer, on the local area network (LAN), or across the Internet.The Microsoft RPC mechanism uses other IPC mechanisms, such as named pipes, NetBIOS, orWinsock, to establish communications between the client and the server. With RPC, essentialprogram logic and related procedure code can exist on different computers, which is important fordistributed applications.

    This section covers the architecture of RPC and the way in which RPC communication takes

    place.

    How RPC Works

    An RPC is analogous to a function call. Like a function call, when an RPC is made, the callingarguments are passed to the remote procedure and the caller waits for a response to be returnedfrom the remote procedure. Figure32.1 shows the flow of activity that takes place during an RPCcall between two networked systems. The client makes a procedure call that sends a request to theserver and waits. The thread is blocked from processing until either a reply is received, or it timesout. When the request arrives, the server calls a dispatch routine that performs the requested

    service, and sends the reply to the client. After the RPC call is completed, the client programcontinues. RPC specifically supports network applications.

    http://www.cs.cf.ac.uk/Dave/C/node33.html#fig:rpchttp://www.cs.cf.ac.uk/Dave/C/node33.html#fig:rpchttp://www.cs.cf.ac.uk/Dave/C/node33.html#fig:rpc
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    6/36

    Fig. 32.1Remote Procedure Calling Mechanism A remote procedure is uniquely identified by thetriple: (program number, version number, procedure number). The program number identifies agroup of related remote procedures, each of which has a unique procedure number. A programmay consist of one or more versions. Each version consists of a collection of procedures whichare available to be called remotely. Version numbers enable multiple versions of an RPC protocolto be available simultaneously. Each version contains a number of procedures that can be calledremotely. Each procedure has a procedure number

    RPC Architecture

    By replacing dedicated protocols and communication methods with a robust and standardizedinterface, RPC is designed to facilitate communication between client and server processes. Thefunctions contained within RPC are accessible by any program that must communicate using aclient/server methodology. The following figure shows the RPC architecture.

    RPC Architecture

    http://www.cs.cf.ac.uk/Dave/C/node33.html#fig:rpchttp://www.cs.cf.ac.uk/Dave/C/node33.html#fig:rpchttp://www.cs.cf.ac.uk/Dave/C/node33.html#fig:rpc
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    7/36

    The following table lists and describes the components and functions of the RPC architecture.

    RPC Components

    Component Description

    Client or serverprocess

    Program or service that initiates or responds to an RPC request.

    RPC stubs Program subsystems used by a client or server to initiate an RPC request.

    Marshalling engine(NDR20 orNDR64)

    Provides a common RPC interface between RPC clients and servers.NDR20 is used in a 32-bit architecture and NDR64 is optimized for a 64-bit architecture. The client and the server negotiate which marshallingengine is used for the communication.

    Runtime applicationprogramminginterface (API)

    Provides a direct interface for RPC to clients or servers. RPC clients andservers typically call the runtime API to initialize RPC and prepare thedata structure that is used to make RPC calls. This runtime API layer alsodetermines if an RPC request coming from a marshalling engine ordirectly from a client or server is going to a local server or a remoteserver. The runtime API layer then routes the RPC to the Connection

    RPC, Datagram RPC, or Local RPC layers.

    Connection RPCprotocol engine

    Used when the RPC requires a connectionoriented protocol. This layerdesignates the connectionoriented protocol to use if the RPC is outgoingor receives an incoming connectionoriented RPC.

    Datagram RPCprotocol engine

    Used when the RPC requires a connectionless protocol. This layerdesignates the connectionless protocol to use if the RPC is outgoing orreceives an incoming connectionless RPC.

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    8/36

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    9/36

    The RPC process starts on the client side. The client application calls a local stub procedureinstead of code implementing the procedure. Stubs are compiled and linked with the clientapplication during development. Instead of containing code that implements the remote

    procedure, the client stub code retrieves the required parameters from the client address space anddelivers them to the client runtime library. The client runtime library then translates theparameters as needed into a standard Network Data Representation (NDR) format fortransmission to the server.

    Note

    There are two NDR marshalling engines within the RPC runtime library: NDR20 and

    NDR64. A 32-bit client initiating the communication uses the NDR20 marshalling

    engine; a 64-bit client can use either the NDR20 or the NDR64 marshalling engine. The

    same marshalling engine is used on both the client and the server side, regardless of

    program architecture. There is a slight decline in performance when either the client or

    server uses architecture different from the other because the marshalling engine must do

    additional translation during the communication.

    The client stub then calls functions in the RPC client runtime library (rpcrt4.dll) to send therequest and its parameters to the server. If the server is located on the same host as the client, theruntime library can use the Local RPC (LRPC) function and pass the RPC request to theWindows kernel for transport to the server. If the server is located on a remote host, the runtimelibrary specifies an appropriate transport protocol engine and passes the RPC to the network stackfor transport to the server. RPC can use other IPC mechanisms, such as named pipes and

    Winsock, to accomplish the transport. The other IPC mechanisms allow RPC more flexibility inthe way in which it completes its communications tasks. For more information about IPCmechanisms, see Interprocess Communications on MSDN.

    The following table lists the network protocols supported by RPC and the type of RPCconnection for which the protocol is used.

    RPC-Supported Network Protocols

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    10/36

    Protocol RPC Type

    Transmission Control Protocol (TCP) Connectionoriented

    Sequenced Packet Exchange (SPX) Connectionoriented

    Named Pipe Connectionoriented

    HTTP Connectionoriented

    User Datagram Protocol (UDP) Connectionless

    Cluster Datagram Protocol (CDP) Connectionless

    When the server receives the RPC, either locally or from a remote client, the server RPC runtimelibrary functions accept the request and call the server stub procedure. The server stub retrievesthe parameters from the network buffer and, using one of the NDR marshalling engines, convertsthem from the network transmission format to the format required by the server. The server stubcalls the actual procedure on the server. The remote procedure then runs, possibly generating

    output parameters and a return value. When the remote procedure is complete, a similar sequenceof steps returns the data to the client.

    The remote procedure returns its data to the server stub which, using one of the NDR marshallingengines, converts output parameters to the format required for transmission back to the client andreturns them to the RPC runtime library functions. The server RPC runtime library functionstransmit the data to the client computer using either LRPC or the network.

    The client completes the process by accepting the data over the network and returning it to thecalling function. The client RPC runtime library receives the remote-procedure return values,converts the data from its NDR to the format used by the client computer, and returns them to theclient stub.

    For Microsoft Windows, the runtime libraries are provided in two parts: an import library, whichis linked to the application, and the RPC runtime library, which is implemented as a DLL.

    The server application contains calls to the server runtime library functions, which register theservers interface with the RPC runtime and, optionally, the EPM, and allow the server to acceptremote procedure calls. The server application also contains the application-specific remoteprocedures that are called by the client applications.

    RPC Security Context Multiplexing

    Windows Server 2003 Service Pack 1 (SP1) provides RPC security context multiplexing forconnection-oriented connections, such as those that use Transmission Control Protocol (TCP).

    This allows the RPC server to negotiate multiple security contexts over a single connection. Forexample, when multiple RPC clients establish a connection to an RPC server and a middle-tierRPC server resides between the clients and the destination server, the middle-tier servermultiplexes the security context of the additional clients over an already established connection tothe destination server. This eliminates the need for the middle-tier RPC server to use one of theexhaustible TCP ports to establish a new connection for each RPC client connecting to the RPCserver

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    11/36

    Network Ports Used by RPC

    RPC server programs typically use dynamic port mappings to avoid conflicts with programs andprotocols registered in the range of well-known TCP ports. RPC server programs associate theiruniversally unique identifier (UUID) with a dynamic port and register the combination with theRPC EPM. The EPM provides a single point of contact for RPC clients. The RPC clients contact

    the EPM and use the server programs UUID to determine the port being used by the serverprogram. The following table indicates the network ports normally used by RPC.

    Port Assignments for RPC

    Service Name UDP TCP

    HTTP 80, 443, 593 80, 443, 593

    Named Pipes 445 445

    RPC Endpoint Mapper 135 135

    RPC Server Programs

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    12/36

    OSI Layers NFS Layers

    Application NFS and NIS

    Presentation XDR

    Session RPC

    Transport TCP, UDP

    Network IP

    Data Link Ethernet

    Physical Ethernet

    The Physical layer controls how data is physically transmitted across the network. The Data Linklayer provides transfer of data that is combined into frames. Ethernet is the standardimplementation of these two layers.

    The Network layer is concerned with getting the data from one host to another on the network.

    The Internet Protocol (IP) is an implementation of this layer.IP must get the packets to the correct destination. It is not concerned with data reliability or withdata order. It can fragment packets that are too large. The Internet Protocol uses unique IPaddresses to identify hosts

    The Transport Layer, which is responsible for data flow and data reliability, is implemented byusing UDP or TCP.

    Transmission Control Protocol (TCP) provides reliable, ordered delivery of data packets and isstateful. TCP keeps track of the order of information and resends missing data. This protocol isbest for long network connections, such as file transfer.

    User Datagram Protocol (UDP) is a simple, connectionless protocol that does not ensure the order

    or the completeness of the datagrams. It is stateless and is best for short connections such asremote procedure calls.

    The Session Layer is concerned with the exchange of messages between devices. NFS uses theRemote Procedure Call (RPC) protocol.

    The Presentation Layer is concerned with the exchange of data types between heterogeneoussystems. NFS uses the External Data Representation (XDR) protocol. This protocol specifies theformat to which the data must be converted before being sent. Once received, the data is thenreconverted.

    Server for NFSMicrosoft Server for NFS (Services for UNIX Version 1.0) is a 32-bit, Windows-based,

    multithreaded kernel program that is integrated into Windows NT. It enables users to share filesin a mixed environment of computers, operating systems, and networks. Server for NFS enables acomputer running the Microsoft Windows operating system to act as an NFS server. File accessand administrative tasks are performed through the Windows NT interface. Administrative tasksfor NFS are performed through a configuration utility.

    Server for NFS uses the NFS protocol, which is based on the Open Network Computing RemoteProcedure Call (ONC-RPC). Remote calls from clients appear to run locally, but run on the

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    13/36

    server. The Open Network Computing External Data Representation (ONC-XDR) protocolensures portable data transmission betweeen NFS clients and the NFS server.

    Sun Microsystems developed NFS and its associated protocols. Its architecture is shown in Figure11.1.

    Figure 11.1 NFS Architecture

    Server for NFS supports the following features:

    Remote File Access After Services for UNIX is installed on a Windows NT server, that servercan make Windows directories and files accessible to NFS clients. Access control provides read,read-write, root and "no access" permissions to clients. Individual file permissions are controlledby Windows NT file permissions.

    Global Permissions NFS clients can be grouped. NFS share access can be controlled by eitherusing names of clients or names of groups. This is a convenient way of controlling access for agroup of computers. The available permissions include no access, read-only, read/write, and rootaccess.

    Security Permissions Server for NFS is configurable for NTFS security permissions, including

    permissions mapping between UNIX and Windows.

    User and Group Mapping In order to provide security on Windows NT files that are accessedfrom UNIX, Server for NFS requires the system administrator to map UNIX user or groupaccounts to Windows NT user or group accounts. Users are then given the same access rightsunder UNIX that they have under Windows NT. Alternately, sites with less stringent securityneeds can bypass the mapping procedure and treat all UNIX users as anonymous users.

    Read and Write Buffer Size The buffer size can be managed to improve performance.

    NFS Threads The number of threads can be set so that a reasonable number of NFS servicerequests can be handled. The maximum number of threads permitted is 512.

    Caching of Inode and Directory Information The caching of the inode, which contains fileattribute information, and of the directory name lookup information, which contains the paths ofrecently accessed directories, on the NFS server can reduce the number of system calls to theserver. This can improve performance. The size of these caches can be configured by usingServer for NFS.

    Symbolic Links Server for NFS can be configured to support symbolic links.

    File Locking File locking can be enabled either for NFS clients only (advisory locking) or forboth NFS clients and Windows NT users (mandatory locking).

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    14/36

    File Name Case Resolution Server for NFS can be configured to resolve conflicts that arisebetween NFS file names and NTFS, file allocation table (FAT), or CD-ROM file system (CDFS)file names as a result of case-sensitivity issues. File names can be converted to uppercase orlowercase or case can be ignored. A translation file can be used to translate valid UNIXcharacters into a different character sequence. For example, Windows 2000-based computers donot permit file names to contain colons, but you can use a translation file to select a sequence of

    valid character to be used as a replacement for any colons that appear in a file name from aUNIX-based computer.

    NFS Version 2 and Version 3 Server for NFS can be configured to use either NFS version.

    Data Transport Using TCP or UDP Services for UNIX uses UDP for data transport by default.Server for NFS can be configured to use TCP, which is more reliable and has greater overhead.

    Troubleshooting Tools Services for UNIX provides the showmount and rpcinfo commands foruse in troubleshooting NFS problems.

    Client for NFSMicrosoft Client for NFS (Services for UNIX Version 1.0) allows a computer runningWindows NT to act as an NFS client and access directories and files located on a server runningNFS. The NFS client mounts a directory on the NFS server. The remote access is transparent tothe user.

    Client for NFS supports the following features:

    Access to Remote Files Exported directories and files from an NFS server can be mountedlocally by an NFS client. A user's access to a directory or file is determined by that file system'sexport options and by the permissions applicable to the file itself.

    Mount Options Under UNIX, the user or system administrator connects to a remote file systemby issuing the mount command. This command supports various options, depending on theimplementation of UNIX. Services for UNIX supports mount options that determine thefollowing:

    Buffer size, which determines the number of packets sent in a read or write request.

    Type of mount, hard or soft. Hard mounts retry system calls indefinitely when a server

    stops responding or fails; soft mounts do not. File systems that are exported with

    read/write access or that contain executable files need to be hard-mounted to guarantee

    data integrity.

    Time an RPC call waits for a response from the server before timing out.

    Number of times an RPC call is resent if the NFS server does not respond (soft mount

    only).

    File locking, which allows a user to have exclusive access to a file. NFS's file locking

    works best if all NFS clients have file locking enabled.

    Caching of read data on the NFS client, which reduces the number of calls to the NFS

    server.

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    15/36

    Caching of write data on the NFS server, to reduce the overhead of small write

    operations.

    NFS Authentication Options Three methods of authentication are supported:

    Anonymous UID. Identifier for users without a valid login and password on the NFS

    server.

    Standard UNIX Authentication using an NIS server. Authentication method for users with

    a valid login and password stored on an NIS server.

    PCNFSD Authentication. Authentication method that uses the pcnfsd daemon to

    authenticate the login and password for NFS client computers.

    Resolution of Symbolic Links Services for UNIX permits the renaming and deletion of asymbolic link. For Client for NFS to find the target of a symbolic link that is located on a filesystem different from the file system that is currently mounted, an entry must exist in a special

    configuration file that maps the remote file system to that file system's server name or sharename. If no entry is found in the configuration file, Client for NFS assumes that the target file ison the same computer.

    Mapping of NFS Directories to Local Drives Mounted NFS directories can be mapped to alocal Windows drive, enabling a user to browse the directory by using Windows Explorer.

    Setting of File Access Permissions Client for NFS supports changes to UNIX permissions onremote files.

    Resolution of File Name Case Since file naming in UNIX is case sensitive and Windowspreserves case but ignores it, Services for UNIX provides options to resolve file naming conflicts.

    Troubleshooting Tools Services for UNIX provides the showmount and rpcinfo commands foruse in diagnosing NFS conflicts. These commands are discussed in this chapter.

    NFS ThreadsWhen a request is made for an NFS service, the Services for UNIX NFS server generate a threadto handle the request. Each thread can process one NFS request. A large pool of threads can allowa server to handle more NFS requests in parallel. The number of threads you make availableneeds to be determined by your performance needs as well as by their impact on otherapplications running on the system.

    To determine the number of threads to make available, use the following formula:

    16 + (4processors)

    Whereprocessors is the number of additional processors on the NFS server. Using this formula, adual-processor server typically uses 20 threads. The maximum number of threads is 512.

    INTERNET SEARCH TOOLS

    Tool for finding information, especially on the Internet or World Wide Web. Search engines areessentially massive databases that cover wide swaths of the Internet. Most consist of three parts:at least one program, called a spider, crawler, or bot, which "crawls" through the Internet

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    16/36

    gathering information; a database, which stores the gathered information; and a search tool, withwhich users search through the database by typing in keywords describing the informationdesired (usually at a Web site dedicated to the search engine). Increasingly, metasearch engines,which search a subset (usually 10 or so) of the huge number of search engines and then compileand index the results, are being used.

    Search tools include yahoo, google, ask, Bing etc.Also search tools can be metasearch tools or subject directories.

    A meta-search engine is asearch tool that sends user requests to several other search enginesand/or databases and aggregates the results into a single list or displays them according to theirsource. Metasearch engines enable users to enter search criteria once and access several searchengines simultaneously. Metasearch engines operate on the premise that theWeb is too large forany one search engine to index it all and that more comprehensive search results can be obtainedby combining the results from several search engines. This also may save the user from having touse multiple search engines separately.

    The term "metasearch" is frequently used to classify a set of commercial search engines, see thelist of search engines, but is also used to describe the paradigm of searching multiple data sourcesin real time. The National Information Standards Organization (NISO) uses the termsFederatedSearch and Metasearch interchangeably to describe this web search paradigm.

    Operation

    Architecture of a metasearch engine

    Metasearch engines create what is known as a virtual database. They do not compile a physicaldatabase or catalogue of the web. Instead, they take a user's request, pass it to several otherheterogeneous databases and then compile the results in ahomogeneousmanner based on aspecific algorithm.

    http://en.wikipedia.org/wiki/Information_retrievalhttp://en.wikipedia.org/wiki/Information_retrievalhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/List_of_search_engines#Metasearch_engineshttp://en.wikipedia.org/wiki/NISOhttp://en.wikipedia.org/wiki/Federated_Searchhttp://en.wikipedia.org/wiki/Federated_Searchhttp://en.wikipedia.org/wiki/Federated_Searchhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Heterogeneoushttp://en.wiktionary.org/wiki/Homogeneoushttp://en.wiktionary.org/wiki/Homogeneoushttp://en.wiktionary.org/wiki/Homogeneoushttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Information_retrievalhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/List_of_search_engines#Metasearch_engineshttp://en.wikipedia.org/wiki/NISOhttp://en.wikipedia.org/wiki/Federated_Searchhttp://en.wikipedia.org/wiki/Federated_Searchhttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Heterogeneoushttp://en.wiktionary.org/wiki/Homogeneoushttp://en.wikipedia.org/wiki/Algorithm
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    17/36

    No two metasearch engines are alike. Some search only the most popular search engines whileothers also search lesser-known engines,newsgroups, and other databases. They also differ inhow the results are presented and the quantity of engines that are used. Some will list resultsaccording to search engine or database. Others return results according to relevance, oftenconcealing which search enginereturned which results. This benefits the user by eliminatingduplicate hits and grouping the most relevant ones at the top of the list.

    Search engines frequently have different ways they expect requests submitted. For example, somesearch engines allow the usage of the word "AND" while others require "+" and others requireonly a space to combine words. The better metasearch engines try to synthesize requestsappropriately when submitting them.

    Metasearch engines create what is known as a virtual database. They do not compile a physicaldatabase or catalogue of the web. Instead, they take a user's request, pass it to several otherheterogeneous databases and then compile the results in ahomogeneousmanner based on aspecific algorithm.

    No two metasearch engines are alike. Some search only the most popular search engines whileothers also search lesser-known engines,newsgroups, and other databases. They also differ inhow the results are presented and the quantity of engines that are used. Some will list resultsaccording to search engine or database. Others return results according to relevance, oftenconcealing which search enginereturned which results. This benefits the user by eliminatingduplicate hits and grouping the most relevant ones at the top of the list.

    Search engines frequently have different ways they expect requests submitted. For example, somesearch engines allow the usage of the word "AND" while others require "+" and others requireonly a space to combine words. The better metasearch engines try to synthesize requestsappropriately when submitting them.

    Subject directories

    Subject directories are lists of Web sites organized by subject. Universities, libraries,organizations, and even volunteers have created these directories to catalog portions of the Web.The major subject directories tend to have overlapping but different content. Most directoriesprovide a search capability.

    When to use directories? Directories are useful for general topics, for topics that you don't know

    much about, for the value of human-selected content, for in-depth research, and for browsing.

    Directories are not as popular as they once were. Search engines are a much more dominant toolfor finding Web content. Still, directories have their place in a research strategy.

    There are two basic types of directories:

    http://en.wikipedia.org/wiki/Newsgrouphttp://en.wikipedia.org/wiki/Newsgrouphttp://en.wikipedia.org/wiki/Search_enginehttp://en.wikipedia.org/wiki/Search_enginehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Heterogeneoushttp://en.wiktionary.org/wiki/Homogeneoushttp://en.wiktionary.org/wiki/Homogeneoushttp://en.wiktionary.org/wiki/Homogeneoushttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Newsgrouphttp://en.wikipedia.org/wiki/Newsgrouphttp://en.wikipedia.org/wiki/Search_enginehttp://en.wikipedia.org/wiki/Search_enginehttp://en.wikipedia.org/wiki/Newsgrouphttp://en.wikipedia.org/wiki/Search_enginehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Heterogeneoushttp://en.wiktionary.org/wiki/Homogeneoushttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Newsgrouphttp://en.wikipedia.org/wiki/Search_engine
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    18/36

    Academic and professional directories often created and maintained by subject experts tosupport the needs of researchers. Keep in mind that some directories are the result ofmany years of intellectual effort. For this reason, it can be helpful to consult subjectdirectories when doing serious research on the Web. INFOMINE, from the University ofCalifornia, is a good example of an academic directory.

    Directories featured on commercial portals that cater to the general public and are

    competing for traffic. The Yahoo! Directory is an example of a directory that is part of afamous commercial portal.

    Tools

    Local search Vertical search Search engine marketing Search engine optimization Search oriented architecture Selection-based searchSocial search Documentretrieval Text mining Web crawler Multisearch Federated search SearchaggregatorIndex/Web indexing Focused crawlerSpider trap Robots exclusionstandard Distributed web crawling Web archiving Website mirroring software Websearch query Voice searchHuman flesh search engine Natural language searchengine Web query classification

    GOPHER

    Gopher protocol is a TCP/IP Application layer protocol designed for distributing, searching, andretrieving documents over the Internet. Strongly oriented towards a menu-document design, theGopher protocol was a predecessor of (and later, an alternative to) the World Wide Web. Theprotocol offers some features not natively supported by the Web and imposes a much strongerhierarchy on information stored on it. Its text menu interface is well-suited to computingenvironments that rely heavily on remote text-oriented computer terminals, which were stillcommon at the time of its creation in 1991, and the simplicity of its protocol facilitated a widevariety of client implementations. Although largely supplanted by the Web in the years following,

    the Gopher protocol is still in use by enthusiasts, and a small population of servers remains inactive maintenance.

    The original Gopher system was released in late spring of 1991 by Mark McCahill,FarhadAnklesaria, Paul Lindner,Daniel Torrey, Adam Huminsky, and Bob Alberti of the University ofMinnesota. Its central goals were, as stated in RFC 1436:

    A file-like hierarchical arrangement that would be familiar to users

    A simple syntax A system that can be created quickly and inexpensively

    Extending the file system metaphor, such as searches

    Gopher combines document hierarchies with collections of services, including WAIS, theArchieand Veronica search engines, and gateways to other information systems such as FTP and Usenet.

    Gopher characteristics

    As part of its design goals, Gopher functions and appears much like a mountable read-only globalnetwork file system (and software, such as gopherfs, is available that can actually mount aGopher server as a FUSE resource). At a minimum, whatever a person can do with data files on aCD-ROM, they can do on Gopher.

    http://infomine.ucr.edu/http://dir.yahoo.com/http://en.wikipedia.org/wiki/Local_search_(Internet)http://en.wikipedia.org/wiki/Vertical_searchhttp://en.wikipedia.org/wiki/Search_engine_marketinghttp://en.wikipedia.org/wiki/Search_engine_optimizationhttp://en.wikipedia.org/wiki/Search_engine_optimizationhttp://en.wikipedia.org/wiki/Search_oriented_architecturehttp://en.wikipedia.org/wiki/Search_oriented_architecturehttp://en.wikipedia.org/wiki/Selection-based_searchhttp://en.wikipedia.org/wiki/Selection-based_searchhttp://en.wikipedia.org/wiki/Social_searchhttp://en.wikipedia.org/wiki/Social_searchhttp://en.wikipedia.org/wiki/Document_retrievalhttp://en.wikipedia.org/wiki/Document_retrievalhttp://en.wikipedia.org/wiki/Text_mininghttp://en.wikipedia.org/wiki/Web_crawlerhttp://en.wikipedia.org/wiki/Web_crawlerhttp://en.wikipedia.org/wiki/Multisearchhttp://en.wikipedia.org/wiki/Federated_searchhttp://en.wikipedia.org/wiki/Search_aggregatorhttp://en.wikipedia.org/wiki/Search_aggregatorhttp://en.wikipedia.org/wiki/Search_aggregatorhttp://en.wikipedia.org/wiki/Index_(search_engine)http://en.wikipedia.org/wiki/Index_(search_engine)http://en.wikipedia.org/wiki/Web_indexinghttp://en.wikipedia.org/wiki/Web_indexinghttp://en.wikipedia.org/wiki/Web_indexinghttp://en.wikipedia.org/wiki/Focused_crawlerhttp://en.wikipedia.org/wiki/Focused_crawlerhttp://en.wikipedia.org/wiki/Spider_traphttp://en.wikipedia.org/wiki/Spider_traphttp://en.wikipedia.org/wiki/Robots_exclusion_standardhttp://en.wikipedia.org/wiki/Robots_exclusion_standardhttp://en.wikipedia.org/wiki/Robots_exclusion_standardhttp://en.wikipedia.org/wiki/Distributed_web_crawlinghttp://en.wikipedia.org/wiki/Distributed_web_crawlinghttp://en.wikipedia.org/wiki/Web_archivinghttp://en.wikipedia.org/wiki/Website_mirroring_softwarehttp://en.wikipedia.org/wiki/Web_search_queryhttp://en.wikipedia.org/wiki/Web_search_queryhttp://en.wikipedia.org/wiki/Voice_searchhttp://en.wikipedia.org/wiki/Voice_searchhttp://en.wikipedia.org/wiki/Human_flesh_search_enginehttp://en.wikipedia.org/wiki/Human_flesh_search_enginehttp://en.wikipedia.org/wiki/Natural_language_search_enginehttp://en.wikipedia.org/wiki/Natural_language_search_enginehttp://en.wikipedia.org/wiki/Natural_language_search_enginehttp://en.wikipedia.org/wiki/Natural_language_search_enginehttp://en.wikipedia.org/wiki/Web_query_classificationhttp://en.wikipedia.org/wiki/TCP/IPhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/Computer_terminal#Text_terminalshttp://en.wikipedia.org/wiki/Computer_terminal#Text_terminalshttp://en.wikipedia.org/wiki/Mark_McCahillhttp://en.wikipedia.org/wiki/Mark_McCahillhttp://en.wikipedia.org/w/index.php?title=Farhad_Anklesaria&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Farhad_Anklesaria&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Paul_Lindner&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Paul_Lindner&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Daniel_Torrey&action=edit&redlink=1http://en.wikipedia.org/wiki/University_of_Minnesotahttp://en.wikipedia.org/wiki/University_of_Minnesotahttp://en.wikipedia.org/wiki/University_of_Minnesotahttp://tools.ietf.org/html/rfc1436http://en.wikipedia.org/wiki/Wide_area_information_serverhttp://en.wikipedia.org/wiki/Archie_search_enginehttp://en.wikipedia.org/wiki/Archie_search_enginehttp://en.wikipedia.org/wiki/Veronica_(computer)http://en.wikipedia.org/wiki/FTPhttp://en.wikipedia.org/wiki/Usenethttp://en.wikipedia.org/wiki/Network_file_systemhttp://en.wikipedia.org/w/index.php?title=Gopherfs&action=edit&redlink=1http://en.wikipedia.org/wiki/Filesystem_in_Userspacehttp://en.wikipedia.org/wiki/CD-ROMhttp://infomine.ucr.edu/http://dir.yahoo.com/http://en.wikipedia.org/wiki/Local_search_(Internet)http://en.wikipedia.org/wiki/Vertical_searchhttp://en.wikipedia.org/wiki/Search_engine_marketinghttp://en.wikipedia.org/wiki/Search_engine_optimizationhttp://en.wikipedia.org/wiki/Search_oriented_architecturehttp://en.wikipedia.org/wiki/Selection-based_searchhttp://en.wikipedia.org/wiki/Social_searchhttp://en.wikipedia.org/wiki/Document_retrievalhttp://en.wikipedia.org/wiki/Document_retrievalhttp://en.wikipedia.org/wiki/Text_mininghttp://en.wikipedia.org/wiki/Web_crawlerhttp://en.wikipedia.org/wiki/Multisearchhttp://en.wikipedia.org/wiki/Federated_searchhttp://en.wikipedia.org/wiki/Search_aggregatorhttp://en.wikipedia.org/wiki/Search_aggregatorhttp://en.wikipedia.org/wiki/Index_(search_engine)http://en.wikipedia.org/wiki/Web_indexinghttp://en.wikipedia.org/wiki/Focused_crawlerhttp://en.wikipedia.org/wiki/Spider_traphttp://en.wikipedia.org/wiki/Robots_exclusion_standardhttp://en.wikipedia.org/wiki/Robots_exclusion_standardhttp://en.wikipedia.org/wiki/Distributed_web_crawlinghttp://en.wikipedia.org/wiki/Web_archivinghttp://en.wikipedia.org/wiki/Website_mirroring_softwarehttp://en.wikipedia.org/wiki/Web_search_queryhttp://en.wikipedia.org/wiki/Web_search_queryhttp://en.wikipedia.org/wiki/Voice_searchhttp://en.wikipedia.org/wiki/Human_flesh_search_enginehttp://en.wikipedia.org/wiki/Natural_language_search_enginehttp://en.wikipedia.org/wiki/Natural_language_search_enginehttp://en.wikipedia.org/wiki/Web_query_classificationhttp://en.wikipedia.org/wiki/TCP/IPhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/Computer_terminal#Text_terminalshttp://en.wikipedia.org/wiki/Mark_McCahillhttp://en.wikipedia.org/w/index.php?title=Farhad_Anklesaria&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Farhad_Anklesaria&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Paul_Lindner&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Daniel_Torrey&action=edit&redlink=1http://en.wikipedia.org/wiki/University_of_Minnesotahttp://en.wikipedia.org/wiki/University_of_Minnesotahttp://tools.ietf.org/html/rfc1436http://en.wikipedia.org/wiki/Wide_area_information_serverhttp://en.wikipedia.org/wiki/Archie_search_enginehttp://en.wikipedia.org/wiki/Veronica_(computer)http://en.wikipedia.org/wiki/FTPhttp://en.wikipedia.org/wiki/Usenethttp://en.wikipedia.org/wiki/Network_file_systemhttp://en.wikipedia.org/w/index.php?title=Gopherfs&action=edit&redlink=1http://en.wikipedia.org/wiki/Filesystem_in_Userspacehttp://en.wikipedia.org/wiki/CD-ROM
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    19/36

    A Gopher system consists of a series of hierarchical hyperlinkable menus. The choice of menuitems and titles is controlled by the administrator of the server.

    Similar to a file on a Web server, a file on a Gopher server can be linked to as a menu item fromany other Gopher server. Many servers take advantage of this inter-server linking to provide adirectory of other servers that the user can access.

    Technical details

    Protocol

    The Gopher protocol was first described inRFC 1436.IANA has assigned TCPport 70 to theGopher protocol.

    The protocol is simple to negotiate, making it possible to browse without using a client.

    Suppose the client has established a TCP connection with the server on port 70, the standard

    gopher port. The client then sends a string followed by a carriage return followed by aline feed (a"CR + LF" sequence). This is the selector, which identifies the document to be retrieved. If theitem selector were an empty line, the default directory would be selected. The server then replieswith the requested item and closes the connection. According to the protocol, before theconnection is closed, the server should send a full-stop (i.e., a period character) on a line by itself.However, as is the case here, not all servers conform to this part of the protocol and the servermay close the connection without returning the final full-stop.

    In this example, the item sent back is a gopher menu, a directory consisting of a sequence of lineseach of which describes an item that can be retrieved. Most clients will display these as hypertextlinks, and so allow the user to navigate through gopherspace by following the links.

    All lines in a gopher menu are terminated by "CR + LF", and consist of five fields: the item typeas the very first character (see below), the display string (i.e., the description text to display), aselector (i.e., a file-system pathname), host name (i.e., the domain name of the server on whichthe item resides), and port (i.e., the port number used by that server). The item type and displaystring are joined without a space; the other fields are separated by the tab character.

    Because of the simplicity of the Gopher protocol, tools such asnetcat make it possible todownload.

    Gopher item types

    Item types are described in gopher menus by a single number or (case specific) letter and act as

    hints to the client to tell it how to handle a specific media type in a menu, analogous to a MIMEtype. Every client necessarily must understand itemtypes 0 and 1. All known clients understanditem types 0 through 9, g, and s, and all but the very oldest also understand file-types h and i.

    0 =plain textfile 1 = directory menu listing

    2 = CSO searchquery 3 = error message

    http://tools.ietf.org/html/rfc1436http://tools.ietf.org/html/rfc1436http://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authorityhttp://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authorityhttp://en.wikipedia.org/wiki/Transmission_Control_Protocolhttp://en.wikipedia.org/wiki/List_of_well-known_ports_(computing)http://en.wikipedia.org/wiki/Newlinehttp://en.wikipedia.org/wiki/Newlinehttp://en.wikipedia.org/wiki/Hypertexthttp://en.wikipedia.org/wiki/Netcathttp://en.wikipedia.org/wiki/Netcathttp://en.wikipedia.org/wiki/MIME_typehttp://en.wikipedia.org/wiki/MIME_typehttp://en.wikipedia.org/wiki/Plain_texthttp://en.wikipedia.org/wiki/Plain_texthttp://en.wikipedia.org/wiki/Directory_(file_systems)http://en.wikipedia.org/wiki/CCSO_Nameserverhttp://en.wikipedia.org/wiki/CCSO_Nameserverhttp://tools.ietf.org/html/rfc1436http://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authorityhttp://en.wikipedia.org/wiki/Transmission_Control_Protocolhttp://en.wikipedia.org/wiki/List_of_well-known_ports_(computing)http://en.wikipedia.org/wiki/Newlinehttp://en.wikipedia.org/wiki/Hypertexthttp://en.wikipedia.org/wiki/Netcathttp://en.wikipedia.org/wiki/MIME_typehttp://en.wikipedia.org/wiki/MIME_typehttp://en.wikipedia.org/wiki/Plain_texthttp://en.wikipedia.org/wiki/Directory_(file_systems)http://en.wikipedia.org/wiki/CCSO_Nameserver
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    20/36

    4 = BinHex encoded text file 5 =binary archivefile

    6 = UUEncoded text file

    7 = search enginequery 8 = telnet sessionpointer

    9 =binary file g = GIF image h = HTMLfile

    i = informational message I = Image file of unspecified format. Client decides how to display. Often used forJPEG

    images. s = Audio file format, primarily a WAV file

    T =tn3270 sessionpointer

    A list of additional file-type definitions has continued to evolve over time, with some clientssupporting them and others not. As such, many servers assign the generic 9 to every binary file,hoping that the client's computer will be able to correctly process the file.

    VERONICA and ARCHIE

    Archie is a tool for indexing FTP archives, allowing people to find specific files. It is consideredto be the first Internetsearch engine.[1]The original implementation was written in 1990 byAlanEmtage, Bill Heelan, and J. Peter Deutsch, then students atMcGill University inMontreal.

    The earliest versions of archie simply contacted a list of FTP archives on a regular basis(contacting each roughly once a month, so as not to waste too much resource of the remoteservers) and requested a listing. These listings were stored in local files to be searched using theUNIXgrep command. Later, more efficient front- and back-ends were developed, and the systemspread from a local tool, to a network-wide resource, and a popular service available frommultiple sites around the Internet. The collected data would be exchanged between theneighbouring Archie servers. The servers could be accessed in multiple ways: using a local client(such as archie orxarchie); telnetingto a server directly; sending queries by electronic mail; andlater via a World Wide Webinterface.

    Veronica is a search engine system for the Gopher protocol, developed in 1992 by Steven Fosterand Fred Barrie at the University of Nevada, Reno.

    Veronica is a constantly updated database of the names of almost every menu item on thousandsof Gopher servers. The Veronica database can be searched from most major Gopher menus.

    The name, although officially an acronym for "Very Easy Rodent-Oriented Net-wide Index to

    Computer Archives", was chosen to match that of the FTP search service known as Archie Veronica Lodge being the name of another character from the Archie Comics.

    LYNX

    Lynx is a text-based web browserfor use on cursor-addressable character cell terminals and isvery configurable.

    http://en.wikipedia.org/wiki/Binhexhttp://en.wikipedia.org/wiki/File_archiverhttp://en.wikipedia.org/wiki/File_archiverhttp://en.wikipedia.org/wiki/Uuencodinghttp://en.wikipedia.org/wiki/Search_engine_(computing)http://en.wikipedia.org/wiki/Search_engine_(computing)http://en.wikipedia.org/wiki/Telnethttp://en.wikipedia.org/wiki/Telnethttp://en.wikipedia.org/wiki/Binary_filehttp://en.wikipedia.org/wiki/Graphics_Interchange_Formathttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/JPEGhttp://en.wikipedia.org/wiki/JPEGhttp://en.wikipedia.org/wiki/WAVhttp://en.wikipedia.org/wiki/IBM_3270#Telnet_3270http://en.wikipedia.org/wiki/IBM_3270#Telnet_3270http://en.wikipedia.org/wiki/IBM_3270#Telnet_3270http://en.wikipedia.org/wiki/File_Transfer_Protocolhttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Search_engine_(computing)http://en.wikipedia.org/wiki/Search_engine_(computing)http://en.wikipedia.org/wiki/Archie_search_engine#cite_note-0%23cite_note-0http://en.wikipedia.org/wiki/Archie_search_engine#cite_note-0%23cite_note-0http://en.wikipedia.org/wiki/Alan_Emtagehttp://en.wikipedia.org/wiki/Alan_Emtagehttp://en.wikipedia.org/wiki/Alan_Emtagehttp://en.wikipedia.org/w/index.php?title=Bill_Heelan&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Bill_Heelan&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=J._Peter_Deutsch&action=edit&redlink=1http://en.wikipedia.org/wiki/McGill_Universityhttp://en.wikipedia.org/wiki/McGill_Universityhttp://en.wikipedia.org/wiki/Montrealhttp://en.wikipedia.org/wiki/Montrealhttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Grephttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Telnethttp://en.wikipedia.org/wiki/Telnethttp://en.wikipedia.org/wiki/Electronic_mailhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/Search_engine_(computing)http://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/University_of_Nevada,_Renohttp://en.wikipedia.org/wiki/File_Transfer_Protocolhttp://en.wikipedia.org/wiki/Archie_search_enginehttp://en.wikipedia.org/wiki/Veronica_Lodgehttp://en.wikipedia.org/wiki/Archie_Comicshttp://en.wikipedia.org/wiki/Archie_Comicshttp://en.wikipedia.org/wiki/Text-based_web_browserhttp://en.wikipedia.org/wiki/Text-based_web_browserhttp://en.wikipedia.org/wiki/Computer_terminalhttp://en.wikipedia.org/wiki/Binhexhttp://en.wikipedia.org/wiki/File_archiverhttp://en.wikipedia.org/wiki/Uuencodinghttp://en.wikipedia.org/wiki/Search_engine_(computing)http://en.wikipedia.org/wiki/Telnethttp://en.wikipedia.org/wiki/Binary_filehttp://en.wikipedia.org/wiki/Graphics_Interchange_Formathttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/JPEGhttp://en.wikipedia.org/wiki/JPEGhttp://en.wikipedia.org/wiki/WAVhttp://en.wikipedia.org/wiki/IBM_3270#Telnet_3270http://en.wikipedia.org/wiki/File_Transfer_Protocolhttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Search_engine_(computing)http://en.wikipedia.org/wiki/Archie_search_engine#cite_note-0%23cite_note-0http://en.wikipedia.org/wiki/Alan_Emtagehttp://en.wikipedia.org/wiki/Alan_Emtagehttp://en.wikipedia.org/w/index.php?title=Bill_Heelan&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=J._Peter_Deutsch&action=edit&redlink=1http://en.wikipedia.org/wiki/McGill_Universityhttp://en.wikipedia.org/wiki/Montrealhttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Grephttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Telnethttp://en.wikipedia.org/wiki/Electronic_mailhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/Search_engine_(computing)http://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/University_of_Nevada,_Renohttp://en.wikipedia.org/wiki/File_Transfer_Protocolhttp://en.wikipedia.org/wiki/Archie_search_enginehttp://en.wikipedia.org/wiki/Veronica_Lodgehttp://en.wikipedia.org/wiki/Archie_Comicshttp://en.wikipedia.org/wiki/Text-based_web_browserhttp://en.wikipedia.org/wiki/Computer_terminal
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    21/36

    Browsing in Lynx consists of highlighting the chosen link using cursor keys, or having all linkson a page numbered and entering the chosen link's number. Current versions supportSSLandmany HTMLfeatures. Tables are linearized (scrunched together one cell after another withouttabular structure), while frames are identified by name and can be explored as if they wereseparate pages. Lynx cannot inherently display various types of non-text content on the web, suchas images and video, but it can launch external programs to handle it, such as an image viewer or

    a video player.

    Because of itstext-to-speechfriendly interface, Lynx was once popular with visually impairedusers, but betterscreen readershave reduced the appeal of this applicationLynx is also used tocheck for usability of websites in older browsers. It is still included in a number of UNIXproducts and Linux distributions, and is particularly useful for reading documentation ordownloading files when only a text-based environment is available. It is also useful for accessingwebsites from a remotely connected system in which no graphical display is available. Despite itstext-only nature and age, it can still be used to effectively browse much of the modern web,including performing interactive tasks such as editing Wikipedia. The speed benefits of text-onlybrowsing are most apparent when using low bandwidth internet connections, or older computerhardware that may be slow to render image-heavy content.

    Because Lynx does not support graphics, web bugsthat track user information are not fetched,and emails can be read without the privacy concerns of graphic web browsers though manywebmail services today disable images in emails by default, and most graphic web browsersallow images to be disabled as well.

    Lynx does support HTTP cookies, which can also be used to track user information, but it doesnot supportJavaScriptand thusly, JavaScript cookies, which some websites require to workcorrectly. However, like most web browsers, cookie support can be disabled in Lynx. Similarly,Lynx also supports browsing histories and page caching, both of which can raise privacyconcerns.

    Platforms and features

    Lynx was originally designed forUNIX andVMS and is a popular console browser onLinux.Versions are also available forDOS, recent versions run on allMicrosoft Windowsreleases, and Mac OS X. There was also an early port to"Classic" Macintosh versioncalled MacLynx "for System 7 and later" Ports to BeOS,MINIX, QNX,AmigaOSandOS/2 (called Lynx/2) are also available.

    Lynx is based on the libwwwand thus supports many computer protocols:Gopher,HTTP,HTTPS, FTP,WAIS, andNNTP.

    MOSAIC

    Mosaic is theweb browsercredited with popularizing the World Wide Web. It was also a clientfor earlierprotocolssuch as FTP,NNTP, andgopher. Its clean, easily understood user interface,reliability,Windowsport and simple installation all contributed to making it the application thatopened up the Web to the general public. Mosaic was also the first browser to display imagesinline with text instead of displaying images in a separate window. While often described as thefirstgraphicalweb browser, Mosaic was preceded by the lesser-known Erwise and ViolaWWW.

    http://en.wikipedia.org/wiki/Secure_Sockets_Layerhttp://en.wikipedia.org/wiki/Secure_Sockets_Layerhttp://en.wikipedia.org/wiki/Secure_Sockets_Layerhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/Text-to-speechhttp://en.wikipedia.org/wiki/Text-to-speechhttp://en.wikipedia.org/wiki/Screen_readerhttp://en.wikipedia.org/wiki/Screen_readerhttp://en.wikipedia.org/wiki/Wikipediahttp://en.wikipedia.org/wiki/Wikipediahttp://en.wikipedia.org/wiki/Web_bughttp://en.wikipedia.org/wiki/Web_bughttp://en.wikipedia.org/wiki/Webmailhttp://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/OpenVMShttp://en.wikipedia.org/wiki/OpenVMShttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/DOShttp://en.wikipedia.org/wiki/DOShttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Mac_OS_historyhttp://en.wikipedia.org/wiki/Mac_OS_historyhttp://en.wikipedia.org/wiki/BeOShttp://en.wikipedia.org/wiki/MINIXhttp://en.wikipedia.org/wiki/MINIXhttp://en.wikipedia.org/wiki/QNXhttp://en.wikipedia.org/wiki/AmigaOShttp://en.wikipedia.org/wiki/AmigaOShttp://en.wikipedia.org/wiki/OS/2http://en.wikipedia.org/wiki/Libwwwhttp://en.wikipedia.org/wiki/Libwwwhttp://en.wikipedia.org/wiki/Communications_protocolhttp://en.wikipedia.org/wiki/Communications_protocolhttp://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/HTTPhttp://en.wikipedia.org/wiki/HTTPhttp://en.wikipedia.org/wiki/HTTPShttp://en.wikipedia.org/wiki/FTPhttp://en.wikipedia.org/wiki/Wide_area_information_serverhttp://en.wikipedia.org/wiki/Wide_area_information_serverhttp://en.wikipedia.org/wiki/NNTPhttp://en.wikipedia.org/wiki/NNTPhttp://en.wikipedia.org/wiki/Web_browserhttp://en.wikipedia.org/wiki/Web_browserhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/Protocol_(computing)http://en.wikipedia.org/wiki/Protocol_(computing)http://en.wikipedia.org/wiki/Protocol_(computing)http://en.wikipedia.org/wiki/FTPhttp://en.wikipedia.org/wiki/NNTPhttp://en.wikipedia.org/wiki/NNTPhttp://en.wikipedia.org/wiki/NNTPhttp://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Erwisehttp://en.wikipedia.org/wiki/ViolaWWWhttp://en.wikipedia.org/wiki/Secure_Sockets_Layerhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/Text-to-speechhttp://en.wikipedia.org/wiki/Screen_readerhttp://en.wikipedia.org/wiki/Wikipediahttp://en.wikipedia.org/wiki/Web_bughttp://en.wikipedia.org/wiki/Webmailhttp://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/OpenVMShttp://en.wikipedia.org/wiki/Linuxhttp://en.wikipedia.org/wiki/DOShttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Mac_OS_Xhttp://en.wikipedia.org/wiki/Mac_OS_historyhttp://en.wikipedia.org/wiki/BeOShttp://en.wikipedia.org/wiki/MINIXhttp://en.wikipedia.org/wiki/QNXhttp://en.wikipedia.org/wiki/AmigaOShttp://en.wikipedia.org/wiki/OS/2http://en.wikipedia.org/wiki/Libwwwhttp://en.wikipedia.org/wiki/Communications_protocolhttp://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/HTTPhttp://en.wikipedia.org/wiki/HTTPShttp://en.wikipedia.org/wiki/FTPhttp://en.wikipedia.org/wiki/Wide_area_information_serverhttp://en.wikipedia.org/wiki/NNTPhttp://en.wikipedia.org/wiki/Web_browserhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/Protocol_(computing)http://en.wikipedia.org/wiki/FTPhttp://en.wikipedia.org/wiki/NNTPhttp://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Portinghttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Erwisehttp://en.wikipedia.org/wiki/ViolaWWW
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    22/36

    Mosaic was developed at theNational Center for Supercomputing Applications (NCSA) at theUniversity of Illinois Urbana-Champaign beginning in late 1992. NCSA released the browser in1993, and officially discontinued development and support on January 7, 1997. However, it canstill be downloaded from NCSA.

    Fifteen years after Mosaic's introduction, the most popular contemporary browsers, Internet

    Explorerand Mozilla Firefox, retain many of the characteristics of the original Mosaic graphicaluser interface (GUI) and interactive experience.

    Netscape Navigatorwas later developed by many of the original Mosaic authors; however, itintentionally shared no code with Mosaic. Netscape Navigator's code descendant isMozilla.

    Other than displaying images embedded in the text rather than in a separate window, Mosaic didnot in fact add many features to the browsers it was modeled on. But Mosaic was the firstbrowser written and supported by a team of full-time programmers, which was reliable and easyenough for novices to install, and the inline graphics proved immensely appealing. Mosaic madethe Web accessible to the ordinary person for the first time. Ultimately, web browsers such asMosaic became the killer applications of the 1990s because they were the first programs toprovide a multimediagraphical user interface to the Internet's burgeoning wealth of distributedinformation services (formerly limited to applications such as FTP, Usenet and Gopher). This wasalso a time when access to the Internet was expanding rapidly outside its previous domain ofacademia and large industrial research institutions.

    Mosaic's popularity as a separate browser began to lessen upon the release of Andreessen'sNetscape Navigatorin 1994.

    Usenet

    Usenet is a worldwide distributed Internet discussion system. It developed from the general

    purpose UUCP architecture of the same name. Usenet resembles abulletin board system (BBS) inmany respects, and is the precursor to the various Internet forums that are widely used today; andcan be superficially regarded as a hybrid betweenemail and web forums. Discussions arethreaded, with modern news reader software, as with web forums and BBSes, though posts arestored on the server sequentially.

    One notable difference between a BBS or web forum and Usenet is the absence of a central serverand dedicated administrator. Usenet is distributed among a large, constantly changingconglomeration of servers that store and forward messages to one another in so-called news feeds.Individual users may read messages from and post messages to a local server operated by theirInternet service provider, university, or employer. The articles that users post to Usenet areorganized into topical categories called newsgroups, which are themselves logically organized

    into hierarchies of subjects. In most newsgroups, the majority of the articles are responses tosome other article. The set of articles which can be traced to one single non-reply article is calleda thread. Most modern newsreaders display the articles arranged into threads and subthreads.

    When a user posts an article, it is initially only available on that user's news server. Each newsserver, however, talks to one or more other servers (its "newsfeeds") and exchanges articles withthem. In this fashion, the article is copied from server to serverand (if all goes well) eventuallyreaches every server in the network. The laterpeer-to-peernetworks operate on a similarprinciple; but for Usenet it is normally the sender, rather than the receiver, who initiates transfers.

    http://en.wikipedia.org/wiki/National_Center_for_Supercomputing_Applicationshttp://en.wikipedia.org/wiki/Internet_Explorerhttp://en.wikipedia.org/wiki/Internet_Explorerhttp://en.wikipedia.org/wiki/Internet_Explorerhttp://en.wikipedia.org/wiki/Mozilla_Firefoxhttp://en.wikipedia.org/wiki/Mozilla_Firefoxhttp://en.wikipedia.org/wiki/GUIhttp://en.wikipedia.org/wiki/Netscape_Navigatorhttp://en.wikipedia.org/wiki/Mozillahttp://en.wikipedia.org/wiki/Mozillahttp://en.wikipedia.org/wiki/Killer_applicationhttp://en.wikipedia.org/wiki/Multimediahttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/File_Transfer_Protocolhttp://en.wikipedia.org/wiki/Usenethttp://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/Netscape_Navigatorhttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/UUCPhttp://en.wikipedia.org/wiki/Bulletin_board_systemhttp://en.wikipedia.org/wiki/Internet_forumhttp://en.wikipedia.org/wiki/Emailhttp://en.wikipedia.org/wiki/Emailhttp://en.wikipedia.org/wiki/Threaded_discussionhttp://en.wikipedia.org/wiki/Newsreader_(Usenet)http://en.wikipedia.org/wiki/Internet_service_providerhttp://en.wikipedia.org/wiki/Newsgrouphttp://en.wikipedia.org/wiki/Threaded_discussionhttp://en.wikipedia.org/wiki/Threaded_discussionhttp://en.wikipedia.org/wiki/Inter-serverhttp://en.wikipedia.org/wiki/Peer-to-peerhttp://en.wikipedia.org/wiki/Peer-to-peerhttp://en.wikipedia.org/wiki/National_Center_for_Supercomputing_Applicationshttp://en.wikipedia.org/wiki/Internet_Explorerhttp://en.wikipedia.org/wiki/Internet_Explorerhttp://en.wikipedia.org/wiki/Mozilla_Firefoxhttp://en.wikipedia.org/wiki/GUIhttp://en.wikipedia.org/wiki/Netscape_Navigatorhttp://en.wikipedia.org/wiki/Mozillahttp://en.wikipedia.org/wiki/Killer_applicationhttp://en.wikipedia.org/wiki/Multimediahttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/File_Transfer_Protocolhttp://en.wikipedia.org/wiki/Usenethttp://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/Netscape_Navigatorhttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/UUCPhttp://en.wikipedia.org/wiki/Bulletin_board_systemhttp://en.wikipedia.org/wiki/Internet_forumhttp://en.wikipedia.org/wiki/Emailhttp://en.wikipedia.org/wiki/Threaded_discussionhttp://en.wikipedia.org/wiki/Newsreader_(Usenet)http://en.wikipedia.org/wiki/Internet_service_providerhttp://en.wikipedia.org/wiki/Newsgrouphttp://en.wikipedia.org/wiki/Threaded_discussionhttp://en.wikipedia.org/wiki/Inter-serverhttp://en.wikipedia.org/wiki/Peer-to-peer
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    23/36

    Some have noted that this seems an inefficient protocol in the era of abundant high-speednetwork access. Usenet was designed for the times when networks were much slower, and notalways available. Many sites on the original Usenet network would connect only once or twice aday to batch-transfer messages in and out.[4]

    Usenet has significant cultural importance in the networked world, having given rise to, or

    popularized, many widely recognized concepts and terms such as "FAQ" and "spam".[5]

    The format and transmission of Usenet articles is similar to that of Internete-mail messages. Thedifference between the two is that Usenet articles can be read by any user whose news servercarries the group to which the message was posted, as opposed to email messages which have oneor more specific recipients.[6]

    Today, Usenet has diminished in importance with respect to Internet forums,blogs and mailinglists. The difference, though, is that Usenet requires no personal registration with the groupconcerned, that information need not be stored on a remote server, that archives are alwaysavailable, and that reading the messages requires not a mail or web client, but a news client.Many still use alt.binaries for data transfer.

    Technical details

    Usenet is a set of protocols for generating, storing and retrieving news "articles" (which resembleInternet mail messages) and for exchanging them among a readership which is potentially widelydistributed. These protocols most commonly use aflooding algorithm which propagates copiesthroughout a network of participating servers. Whenever a message reaches a server, that serverforwards the message to all its network neighbors that haven't yet seen the article. Only one copyof a message is stored per server, and each server makes it available on demand to the (typicallylocal) readers able to access that server. The collection of Usenet servers has thus a certainpeer-to-peercharacter in that they share resources by exchanging them, the granularity of exchangehowever is on a different scale than a modern peer-to-peer system and this characteristic excludesthe actual users of the system who connect to the news servers with a typical client-serverapplication, much like an email reader. In cases where unsuitable content has been posted, Usenethas support for automated removal of a posting from the whole network by creating a cancelmessage, although due to a lack of authentication and resultant abuse, this capability is frequentlydisabled. Copyright holders may still request the manual deletion of infringing material using theprovisions ofWorld Intellectual Property Organization treaty implementations, such as the U.S.Online Copyright Infringement Liability Limitation Act.

    On the Internet, Usenet is transported via theNetwork News Transfer Protocol(NNTP) on TCPPort119 for standard, unprotected connections and on TCP port 563 forSSLencryptedconnections which is offered only by a few sites.

    Usenet was originally created to distribute text content encoded in the 7-bitASCIIcharacter set.With the help of programs that encode 8-bit values into ASCII, it became practical to distributebinary files as content. Binary posts, due to their size and often-dubious copyright status, were intime restricted to specific newsgroups, making it easier for administrators to allow or disallow thetraffic.

    http://en.wikipedia.org/wiki/Usenet#cite_note-3%23cite_note-3http://en.wikipedia.org/wiki/FAQhttp://en.wikipedia.org/wiki/Spam_(electronic)http://en.wikipedia.org/wiki/Usenet#cite_note-4%23cite_note-4http://en.wikipedia.org/wiki/Usenet#cite_note-4%23cite_note-4http://en.wikipedia.org/wiki/E-mailhttp://en.wikipedia.org/wiki/E-mailhttp://en.wikipedia.org/wiki/Usenet#cite_note-5%23cite_note-5http://en.wikipedia.org/wiki/Internet_forumhttp://en.wikipedia.org/wiki/Internet_forumhttp://en.wikipedia.org/wiki/Bloghttp://en.wikipedia.org/wiki/Mailing_listhttp://en.wikipedia.org/wiki/Mailing_listhttp://en.wikipedia.org/wiki/Flooding_algorithmhttp://en.wikipedia.org/wiki/Flooding_algorithmhttp://en.wikipedia.org/wiki/Peer-to-peerhttp://en.wikipedia.org/wiki/Peer-to-peerhttp://en.wikipedia.org/wiki/World_Intellectual_Property_Organizationhttp://en.wikipedia.org/wiki/World_Intellectual_Property_Organizationhttp://en.wikipedia.org/wiki/United_Stateshttp://en.wikipedia.org/wiki/Online_Copyright_Infringement_Liability_Limitation_Acthttp://en.wikipedia.org/wiki/Network_News_Transfer_Protocolhttp://en.wikipedia.org/wiki/Network_News_Transfer_Protocolhttp://en.wikipedia.org/wiki/Computer_port_(software)http://en.wikipedia.org/wiki/Computer_port_(software)http://en.wikipedia.org/wiki/Computer_port_(software)http://en.wikipedia.org/wiki/Secure_Sockets_Layerhttp://en.wikipedia.org/wiki/Secure_Sockets_Layerhttp://en.wikipedia.org/wiki/Secure_Sockets_Layerhttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/ASCIIhttp://en.wikipedia.org/wiki/ASCIIhttp://en.wikipedia.org/wiki/Binary_filehttp://en.wikipedia.org/wiki/Usenet#cite_note-3%23cite_note-3http://en.wikipedia.org/wiki/FAQhttp://en.wikipedia.org/wiki/Spam_(electronic)http://en.wikipedia.org/wiki/Usenet#cite_note-4%23cite_note-4http://en.wikipedia.org/wiki/E-mailhttp://en.wikipedia.org/wiki/Usenet#cite_note-5%23cite_note-5http://en.wikipedia.org/wiki/Internet_forumhttp://en.wikipedia.org/wiki/Bloghttp://en.wikipedia.org/wiki/Mailing_listhttp://en.wikipedia.org/wiki/Mailing_listhttp://en.wikipedia.org/wiki/Flooding_algorithmhttp://en.wikipedia.org/wiki/Peer-to-peerhttp://en.wikipedia.org/wiki/Peer-to-peerhttp://en.wikipedia.org/wiki/World_Intellectual_Property_Organizationhttp://en.wikipedia.org/wiki/United_Stateshttp://en.wikipedia.org/wiki/Online_Copyright_Infringement_Liability_Limitation_Acthttp://en.wikipedia.org/wiki/Network_News_Transfer_Protocolhttp://en.wikipedia.org/wiki/Computer_port_(software)http://en.wikipedia.org/wiki/Computer_port_(software)http://en.wikipedia.org/wiki/Secure_Sockets_Layerhttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/ASCIIhttp://en.wikipedia.org/wiki/Binary_file
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    24/36

    How the Usenet News Protocols Work

    Usenet News is a distributed computer conferencing system. Conferencesin Usenet News are called newsgroups, and messages are called articles.

    The basic principle of Usenet News is that a local server handles most ofthe functionality. Usenet News standardizes two variants of the NNTPprotocols: One for communication between adjacent servers, one forcommunication between a client and a server. Each server can downloadas much as it wants of what is available on any of the adjacent servers.Loop control is handled both by a trace list and a list of the Message-IDsof received messages stored by each server, so that the server can rejectthe same message coming back again. The procedure for distribution ofnews can be compared to pouring water onto a flat surface; the waterflows out in all directions (see the figure below).

    "Pouring water" principle of Usenet News distribution

    The figure below shows how new articles are forwarded from server toserver in Usenet News. A server tells its adjacent servers which items itoffers, the server requests those it has not already got via another route.

    This figure shows how new articles are forwarded from server to server in

  • 8/8/2019 Network Theory Topics Ece 7th Sem

    25/36

    Usenet News.

    Information about a user, such as how much this user has seen, is stored inthe client. The server need not even know which users are using it. Thereare many different user-interface softwares for Usenet News, Some ofthem, of course, does not provide all the available functions.

    In addition, Usenet News provides an interesting functionality whichrestricts communication to only those members of a newsgroup who workin the same organization or live in the same area or country. Thisfunctionality, however, is not used very much, and its existence iscontroversial, since it means that different users will get different views ofthe same newsgroup.

    Usenet news has a cancelcommand, which can delete messages alreadysent out. Only the author of the cancelled message and the localnewsserver administrator is allowed to cancel a message. Since, however,it is very easy to fake your identity, this command poses an obvioussecurity risk, and the command is known to have been used to cancelmessages for political reasons. The command is also used (not quite

    appropriate) by cancelbots, robots (= automatic programs) which cancelobvious spams by identifying messages with the same content sent tomany disparate newsgroups. Usenet news also often has a Supersedesheader field, which refers from a new message to an old message. Thisheader usually cancels the old message.

    Obsoletes in X.400 has some similarities to Supersedes in Usenet News,and can also be used to get an effect similar to the cancel command, byobsoleting a message with an empty message. However, cancel in UsenetNews really deletes messages, while obsoletes is information to therecipient UA, which need not cause deletion. Many UA-s store both thenew and the old version, so that the recipient can choose to see theobsoleted version if he so wishes.

    The most important restriction of Usenet News is that closed groups arenot well supported.

    The Usenet News protocol is called network news transfer protocol(NNTP) and is specified in RFC 977 [46]. The standard for the format ofUsenet News articles is specified in RFC 1036 [19].

    PERL

    Perl is a high-level,general-purpose,interpreted,dynamic programming language. Perl wasoriginally developed by Larry Wall in 1987 as a general-purpose UNIXscripting language tomake report processing easier. Since then, it has undergone many changes and revisions andbecome widely popular amongst programmers. Larry Wall continues to oversee development of

    the core language, and its upcoming version,Perl 6.

    Perl borrows features from other programming languages including C,shell scripting (sh),AWK,and sed. The language provides powerful text processing facilities without the arbitrary datalength limits of many contemporary UNIX tools, facilitating easy manipulation oftext files. It isalso used forgraphics programming,system administration,network programming, applicationsthat require database access andCGI programming on theWeb. Perl is nicknamed "the SwissArmy chainsawof programming languages" due to its flexibility and adaptability.

    http://en.wikipedia.org/wiki/High-level_programming_languagehttp://en.wikipedia.org/wiki/List_of_programming_languages_by_categoryhttp://en.wikipedia.org/wiki/List_of_programming_languages_by_categoryhttp://en.wikipedia.org/wiki/List_of_programming_languages_by_categoryhttp://en.wikipedia.org/wiki/Interpreter_(computing)http://en.wikipedia.org/wiki/Interpreter_(computing)http://en.wikipedia.org/wiki/Dynamic_programming_languagehttp://en.wikipedia.org/wiki/Larry_Wallhttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Perl_6http://en.wikipedia.org/wiki/Perl_6http://en.wikipedia.org/wiki/Perl_6http://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Shell_scripthttp://en.wikipedia.org/wiki/Bourne_shellhttp://en.wikipedia.org/wiki/AWK_(programming_language)http://en.wikipedia.org/wiki/AWK_(programming_language)http://en.wikipedia.org/wiki/Sedhttp://en.wikipedia.org/wiki/Sedhttp://en.wikipedia.org/wiki/Text_filehttp://en.wikipedia.org/wiki/Text_filehttp://en.wikipedia.org/wiki/Graphicshttp://en.wikipedia.org/wiki/System_administratorhttp://en.wikipedia.org/wiki/System_administratorhttp://en.wikipedia.org/wiki/System_administratorhttp://en.wikipedia.org/wiki/Computer_network_programminghttp://en.wikipedia.org/wiki/Computer_network_programminghttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Common_Gateway_Interfacehttp://en.wikipedia.org/wiki/Common_Gateway_Interfacehttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/Swiss_Army_knifehttp://en.wikipedia.org/wiki/Swiss_Army_knifehttp://en.wikipedia.org/wiki/Swiss_Army_knifehttp://en.wikipedia.org/wiki/High-level_programming_languagehttp://en.wikipedia.org/wiki/List_of_programming_languages_by_categoryhttp://en.wikipedia.org/wiki/Interpreter_(computing)http://en.wikipedia.org/wiki/Dynamic_programming_languagehttp://en.wikipedia.org/wiki/Larry_Wallhttp://en.wikipedia.org/wiki/Unixhttp://en.wikipedia.org/wiki/Perl_6http://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/Shell_scripthttp://en.wikipedia.org/wiki/Bourne_shellhttp://en.wikipedia.org/wiki/AWK_(programming_language)http://en.wikipedia.org/wiki/Sedhttp://en.wikipedia.org/wiki/Text_filehttp://en.wikipedia.org/wiki/Graphicshttp://en.wikipedia.org/wiki/System_administratorhttp://en.wikipedia.org/wiki/Computer_network_programminghttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Common_Gateway_Interfacehttp://en.wikipedia.org/wiki/World_Wide_Webhttp://en.wikipedia.org/wiki/Swiss_Army_knifehttp://en.wikipedia.org/wiki/Swiss_Army_knife
  • 8/8/2019 Network Theory Topics Ece 7th Sem

    26/36

    Perl is a general-purpose programming language originally developed for text manipulation, butas of 2010 used for a wide range of tasks including system administration,web development,network programming, games,bioinformatics, and GUI development.

    The language is intended to be practical (easy to use, efficient, complete) rather than beautiful(tiny, elegant, minimal).[32]Its major features include support for multipleprogramming

    paradigms (procedural,object-oriented, andfunctionalstyles), reference countingmemorymanagement(without a cycle-detecting garbage collector), built-in support for text processing,and a large collection of third-party modules.

    According to Larry Wall, Perl has two slogans. The first is "There's more than one way to do it",commonly known as TMTOWTDI. The second slogan is "Easy things should be easy and hardthings should be possible".

    [edit]Features

    The overall structure of Perl derives broadly from C. Perl isproceduralin nature, withvariables,expressions,assignment statements,brace-delimitedblocks, control structures, and subroutines.

    Perl also takes features from shell programming. All variables are marked with leadingsigils,which unambiguously identify the data type (for example, scalar, array, hash) of the variable incontext. Importantly, sigils allow variables to be interpolated directly into strings. Perl has manybuilt-in functions that provide tools often used in shell programming (although many of thesetools are implemented by programs external to the shell) such as sorting, and calling on systemfacilities.

    Perl takes lists fromLisp,associative arrays(hashes) from AWK, and regular expressionsfromsed. These simplify and facilitate many parsing, text-handling, and data-management tasks.

    Perl 5 added features that support complex data structures,first-class functions (that is,closuresas values), and an object-oriented programming model. These include references, packages, class-based method dispatch, andlexically scoped variables, along with compiler directives (forexample, the strict pragma). A major additional feature introduced with Perl 5 was the ability topackage code as reusable modules. Larry Wall later stated that "The whole intent of Perl 5'smodule system was to encourage the growth of Perl culture rather than the Perl core."[33]

    All versions of Perl do automatic data-typing and automatic memory-management. Theinterpreter knows the type and storage requirements of every data object in the program; itallocates and frees storage for them as necessary using reference counting (so it cannot deallocatecircular data structures without manual intervention). Legal type-conversions for example,conversions from number to string are done automatically at run time; illegal type conversions

    are fatal errors.

    [edit]Design

    The design of Perl can be understood as a response to three broad trends in the computer industry:falling hardware costs, rising labor costs, and improvements in compiler technology. Many earliercomputer languages, such as Fortran and C, aimed to make efficient use of expensive computerhardware. In contrast, Perl is designed to make efficient use of expensive computer-programmers.

    http://en.wikipedia.org/wiki/System_administrationhttp://en.wikipedia.org/wiki/Web_developmenthttp://en.wikipedia.org/wiki/Web_developmenthttp://en.wikipedia.org/wiki/Web_developmenthttp://en.wikipedia.org/wiki/Computer_network_programminghttp://en.wikipedia.org/wiki/Bioinformaticshttp://en.wikipedia.org/wiki/GUIhttp://en.wikipedia.org/wiki/Perl#cite_note-31%23cite_note-31http://en.wikipedia.org/wiki/Perl#cite_note-31%23cite_note-31http://en.wikipedia.org/wiki/Programming_paradigmhttp://en.wikipedia.org/wiki/Programming_paradigmhttp://en.wikipedia.org/wiki/Procedural_programming_languagehttp://en.wikipedia.org/wiki/Procedural_programming_languagehttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Reference_countinghttp://en.wikipedia.org/wiki/Reference_countinghttp://en.wikipedia.org/wiki/Memory_managementhttp://en.wikipedia.org/wiki/Memory_managementhttp://en.wikipedia.org/wiki/Memory_managementhttp://en.wikipedia.org/wiki/Module_(programming)http://en.wikipedia.org/wiki/Module_(programming)http://en.wikipedia.org/wiki/There's_more_than_one_way_to_do_ithttp://en.wikipedia.org/w/index.php?title=Perl&action=edit&section=8http://en.wikipedia.org/wiki/Procedural_programminghttp://en.wikipedia.org/wiki/Procedural_programminghttp://en.wikipedia.org/wiki/Variable_(programming)http://en.wikipedia.org/wiki/Variable_(programming)http://en.wikipedia.org/wiki/Variable_(programming)http://en.wikipedia.org/wiki/Expression_(programming)http://en.wikipedia.org/wiki/Expression_(programming)http://en.wikipedia.org/wiki/Assignment_statementhttp://en.wikipedia.org/wiki/Brackethttp://en.wikipedia.org/wiki/Block_(programming)http://en.wikipedia.org/wiki/Control_structurehttp://en.wikipedia.org/wiki/Subroutinehttp://en.wikipedia.org/wiki/Sigil_(computer_programming)http://en.wikipedia.org/wiki/Sigil_(computer_programming)http://en.wikipedia.org/wiki/List_(computing)http://en.wikipedia.org/wiki/Lisp_(programming_language)http://en.wikipedia.org/wiki/Lisp_(programming_language)http://en.wikipedia.org/wiki/Associative_arrayhttp://en.wikipe