5.12 Features of User Datagram Protocol(UDP)
The User Datagram Protocol (UDP) is called a connectionless, unreliable transport protocol. It does not add anything to the services of IP except to provide process-to process communication instead of host-to-host communication. Also, it performs very limited error checking. UDP is a very simple protocol using a minimum of overhead. If a process wants to send a small message and does not care much about reliability, it can use UDP. Sending a small message by using UDP takes much less interaction between the sender and receiver than using TCP or SCTP.
1. Well-Known Ports for UDP: Table 4.1 shows some well-known port numbers used by UDP. Some port numbers can be used by both UDP and TCP1
2. User Datagram
UDP packets, called user datagrams, have a fixed-size header of 8 bytes. Figure 4.9 shows the format of a user datagram.
The fields are as follows: Source port number. This is the port number used by the process running on the sourcehost. It is 16 bits long, which means that the port number can range from 0 to 65,535. Destination port number. This is the port number used by the process running on thedestination host. It is also 16 bits long. Length. This is a 16-bit field that defines the total length of the user datagram, headerplus data. The 16 bits can define a total length of 0 to 65,535 bytes. UDP length = IP length - IP header's length Checksum. This field is used to detect errors over the entire user datagram (header plusdata).
3. Checksum The UDP checksum calculation is different from the one for IP and ICMP. Here the checksum includes three sections: a pseudoheader, the UDP header, and the data coming from the application layer
The pseudoheader is the part of the header of the IP packet in which the user datagram is to be encapsulated with some fields filled with Os .
4. UDP Operation: UDP uses concepts common to the transport layer. Connectionless Services UDP provides a connectionless service. This means that each user datagram sent by UDP is an independent datagram. There is no relationship between the different user datagrams even if they are coming from the same source process and going to the same destination program. The user datagrams are not numbered. Also, there is no connection establishment and no connection termination. This means that each user datagram can travel on a different path. Flow and Error Control UDP is a very simple, unreliable transport protocol. There is no flow control and hence no window mechanism. The receiver may overflow with incoming messages. There is no error control mechanism in UDP except for the checksum.
This means that the sender does not know if a message has been lost or duplicated. When the receiver detects an error through the checksum, the user datagram is silently discarded. The lack of flow control and error control means that the process using UDP should provide these mechanisms. Encapsulation and Decapsulation To send a message from one process to another, the UDP protocol encapsulates and decapsulates messages in an IP datagram. Queuing In UDP, queues are associated with ports.
At the client site, when a process starts, it requests a port number from the operating system. Some implementations create both an incoming and an outgoing queue associated with each process. Other implementations create only an incoming queue associated with each process. Note that even if a process wants to communicate with multiple processes, it obtains only one port number and eventually one outgoing and one incoming queue. The queues opened by the client are, in most cases, identified by ephemeral
port numbers. The queues function as long as the process is running. When the process terminates, the queues are destroyed. The client process can send messages to the outgoing queue by using the source port number specified in the request. UDP removes the messages one by one and, after adding the UDP header, delivers them to IP. An outgoing queue can overflow. If this happens, the operating system can ask the client process to wait before sending any more messages.
5. Use of UDP The following lists some uses of the UDP protocol: UDP is suitable for a process that requires simple request-response communication with little concern for flow and error control. It is not usually used for a process such as FTP that needs to send bulk data. UDP is suitable for a process with internal flow and error control mechanisms. For example, the Trivial File Transfer Protocol (TFTP) process includes flow and error control. It can easily use UDP. UDP is a suitable transport protocol for multicasting. Multicasting capability is embedded in the UDP software but not in the TCP software.
UDP is used for management processes such as SNMP.
UDP is used for some route updating protocols such as Routing Information Protocol (RIP). 5.14 USES OF GATEWAY
Gateway is a network device used to connect two or more dissimilar networks. In networking parlance, networks that use different protocols are dissimilar
networks. A gateway usually is a computer with multiple NICsconnected to different networks. A gateway can also be configured completely using software. As networks connect to a different network through gateways, these gateways are usually hosts or end points of the network.
Gateway uses packet switching technique to transmit data from one network to another. In this way it is similar to a router, the only difference being router can transmit data only over networks that use same protocols.
C) APPLICATION LAYER
5.15 Role of (DNS) Domain Name System There are several applications in the application layer of the Internet model that follow the client/server paradigm. The client/server programs can be divided into two categories: those that can be directly used by the user, such as e-mail, and those that support other application programs. The Domain Name System (DNS) is a supporting program that is used by other programs such as e-mail.
1. Need for DNS To identify an entity, TCP/IP Protocols use the IP address, which uniquely identifies the connection of a host to an internet. In the case of ARPANET, a file named hosts.txt is used to list all hosts and their IP addresses, this work suitable for
small network but not for large network due to heavy load and latency. Therefore, people prefer to use names instead of addresses that is, we need a system that can map a name to an address and conversely an address to a name. Thus, preferred system is called as Domain Name system.
2. DNS in the Internet: DNS is a protocol that can be used in different platforms. In the Internet, the domain name space is divided into three sections are 1. Generic domains 2. Country domains and 3. Inverse domain
1. Generic domain: There are 14 generic domains, each specifying an organization type. The generic domain defines registered hosts according to their generic behavior. Each node in the tree defines a domain, which is an index to the domain mane space data base.
Looking at the tree, we see that the first level in the generic domain section allows seven possible three-character labels. These labels describe the organization types as shown below
2. Country domains: Each country domain specifies a country. This section follows the same format as the generic domains but uses two-character country abbreviations in place of three character organizational abbreviations at the first level. Second level labels can be organizational, or they can be more specific, national designations. The following figure 5.3 shows the country domain section the address cs.Keio.ac.jp refers to computer science department of Keio University in Japan. To create a new domain, permission is required of the domain in which it will be included. For example, if a new university is chartered, say the University of Chennai, it must ask the manager of the edu domain to assign it unc.edu, in order to avoid conflicts and each domain can keep track of all its subdomains
Once a new domain has been created and registered, it can create subdomains, such as cs.unc.edu, without getting permission from anybody higher up the tree. 3. Inverse domain: The inverse domain finds a domain name for a given IP address. This is called address-to-name resolution. It is used to map an address to a name. This may happen, for example, when a server lists only the IP address of the client. To determine if the client is on the authorized list, it can be send a query to the DNS server and ask for a mapping of address to name in figure 5.4
3. Types of Records: There are two types of DNS records: 1. Question records 2. Resource records Question Records: The question records are used in the question section of the query and response messages. It is used by the client to get information from a server. Resource Records: Every domain whether it is a single host or a top level domain, can have a set of resource records associated with it. For a single host, the most common resource record is just its IP address, but many other kinds also exist. When a resolver gives
a domain name to DNS, what it gets back are the resource records associated with that name. Thus, the primary function of DNS is to map domain names onto resource records. The server database consists of resource records. This record is used in the answer, authoritative and additional information sections of the response message.
4. Domain Name space: DNS can be pictured as an inverted hierarchical tree structure with one root node at the top and a maximum of 128 levels. Labels: Each node in the tree has a label, which is string with a maximum of 63 characters. Domain Name: Each node in the tree has a domain name. A full domain name is a sequence of labels separated by dots (.). Fully Qualified Domain Name (FQDN): A FQDN is a domain name consisting of labels beginning with the host and going back through each level to the root node. Ex Challenger.atc.fh.da.Edu Partially Qualified Domain Name (PQDN): In PQDN is a domain name that does not include all the levels between the host and the root node. ExChallenger.
5. Name Server: In theory atleast, a single name server could contain the entire DNS database and respond to all queries about it. In practice, this server would be so overloaded as to be useless. To avoid problems associated with having only a single source of information, the DNS name space is divided into non-overlapping zones. One possible way to divide the name space, where the zone boundaries are placed within a zone is upto that zones administrator. This decision is made in larger part based on how many name servers are desired. To improve reliability, some servers for a zone can be located outside the zone. The DNS client, called a resolver, maps a name to an address, or an address to a name. When a resolver has a query about the domain name, it passes the query to one of the local name servers. If the domain being sought falls under the jurisdiction of the name server, such as ai.cs.yale.edu falling under cs.yale.edu, it returns the authoritative resource records. An authoritative record is one that comes from the authority that manages the record and it thus always correct. While, DNS helps in mapping names onto their IP addresses. It does not help locate people, resources, services or objects in general. For locating these things, another directory service has been defined, called LDAP (Light Weight Directory Access protocol).
6. DNS Messages: These are two types of DNS Messages queries and responses. Both types have the same format. Queries Messages: The query message consists of a header and question
Response Messages:
The response message consists of a header, question records, answer records, authoritative records and additional records.
7. Header Format: Both are have the same header format. The header is 12 bytes. Identification 1. Number of questions records 2. Number of authoritative records. (All 0s in query message) Flags 1. Number of answers records (All 0s in query message) 2. Number of additional records. (All 0s in query message) The identification subfield is used by the client to match the response with the query.
The flag subfield is a collection of subfields that define the types of the message, the type of answer requested, and the type of desired resolution and so on. The Number of question records subfield contains the number of queries in the question section of the message
The number of answer records subfield contains the number of answer records in the answer section of the response message. Its value is zero in the query message. The number of authoritative records subfield contains the number of authoritative records in the authoritative section of a response message. Its value is zero in the query section. The number of additional records subfield contains the number of additional records in the additional section of a response message. Its value is zero in the query message.
5.16 HOW EMAIL IS TRANSFERRED
Electronic Mail One of the most popular Internet services is electronic mail (e-mail). The designers of the Internet probably never imagined the popularity of this application program. Its architecture consists of several components. At the beginning of the Internet era, the messages sent by electronic mail were short and consisted of text only; they let people exchange quick memos.
1. Architecture To explain the architecture of e-mail, we give four scenarios. We begin with the simplest situation and add complexity as we proceed. The fourth scenario is the most common in the exchange of email. First Scenario
In the first scenario, the sender and the receiver of the e-mail are users (or application programs) on the same system; they are directly connected to a shared system. The administrator has created one mailbox for each user where the received messages are stored. A mailbox is part of a local hard drive, a special file with permission restrictions. Only the owner of the mailbox has access to it. When Alice, a user, needs to send a message to Bob, another user, Alice runs a user agent (VA) program to prepare the message and store it in Bob's mailbox. The message has the sender and recipient mailbox addresses (names of files). Bob can retrieve and read the contents of his mailbox at his convenience, using a user agent.
Second Scenario In the second scenario, the sender and the receiver of the e-mail are users (or application programs) on two different systems. The message needs to be sent over the Internet. Here we need user agents (VAs) and message transfer agents (MTAs).
Third Scenario In the third scenario, Bob, as in the second scenario, is directly connected to his system. Alice, however, is separated from her system. Either Alice is connected to the system via a point-to-point WAN, such as a dial-up modem, a DSL, or a cable modem; or she is connected to a LAN in an organization that uses one mail server for handling e-mails-all users need to send their messages to this mail server.
Fourth Scenario In the fourth and most common scenario, Bob is also connected to his mail server by a WAN or a LAN. After the message has arrived at Bob's mail server, Bob needs to retrieve it. Here, we need another set of client/server agents, which we call message access agents (MAAs). Bob uses an MAA client to retrieve his messages. The client sends a request to the MAA server, which is running all the time, and requests the transfer of the messages.
2. User Agent The first component of an electronic mail system is the user agent (VA). It provides service to the user to make the process of sending and receiving a message easier. Services Provided by a User Agent A user agent is a software package (program) that composes reads, replies to, and forwards messages. It also handles mailboxes. Composing Messages A user agent helps the user compose the e-mail message to be sent out.Most user agents provide a template on the screen to be filled in by the user. Some even have a built-in editor that can do spell checking, grammar checking, and other tasks expected from a sophisticated word processor. A user, of course, could alternatively use his or her favourite text editor or word processor to create the message and import it, or cut and paste it, into the user agent template.
Reading Messages The second duty of the user agent is to read the incoming messages. When auser invokes a user agent, it first checks the mail in the incoming mailbox. Most user agents show a one-line summary of each received mail. Each e-mail contains the following fields. 1. A number field. 2. A flag field that shows the status of the mail such as new, already read but not replied to, or read and replied to. 3. The size of the message. 4. The sender. 5. The optional subject field. Replying to Messages After reading a message, a user can use the user agent to reply to amessage. A user agent usually allows the user to reply to the original sender or to reply to all recipients of the message. The reply message may contain the original message (for quick reference) and the new message. Forwarding Messages Replying is defined as sending a message to the sender a message to thesender or recipients of the copy. Forwarding is defined as sending the message to a third party. A user agent allows the receiver to forward the message, with or without extra comments, to a third party.
3. User Agent Types There are two types of user agents: command-driven and GUI-based. Command-Driven
Command-driven user agents belong to the early days of electronic mail. They are still present as the underlying user agents in servers. A command-driven user agent normally accepts a one-character command from the keyboard to perform its task. For example, a user can type the character r, at the command prompt, to reply to the sender of the message, or type the character R to reply to the sender and all recipients. Some examples of command-driven user agents are mail, pine, and elm. GUI-Based Modem user agents are GUI-based. They contain graphical-user interface (GUI)components that allow the user to interact with the software by using both the keyboard and the mouse. They have graphical components such as icons, menu bars, and windows that make the services easy to access. Some examples of GUI-based user agents are Eudora, Microsoft's Outlook, and Netscape. Some examples of GUI·based user agents are Eudora, Outlook, and Netscape.
4. Message Transfer Agent: SMTP The actual mail transfer is done through message transfer agents. To send mail, a system must have the client MTA, and to receive mail, a system must have a server MTA. The formal protocol that defines the MTA client and server in the Internet is called the Simple Mail Transfer Protocol (SMTP). As we said before, two pairs of MTA client/server programs are used in the most common situation (fourth scenario).
SMTP is used two times, between the sender and the sender's mail server and between the two mail servers. As we will see shortly, another protocol is needed between the mail server and the receiver. SMTP simply defines how commands and responses must be sent back and forth. Each network is free to choose a software package for implementation. Commands and Responses SMTP uses commands and responses to transfer messages between an MTA client and an MTA server. Each command or reply is terminated by a two-character (carriage return and line feed) end-of-line token. Commands: Commands are sent from the client to the server. It consists of a keyword followedby zero or more arguments. SMTP defines 14 commands. The first five are mandatory; every implementation must support these five commands. The next three are often used and highly recommended. The last six are seldom used. Responses: Responses are sent from the server to the client. A response is a three digit code thatmay be followed by additional textual information.
5. Mail Transfer Phases The process of transferring a mail message occurs in three phases: connection establishment, mail transfer, and connection termination. Currently two message access protocols are available: Post Office Protocol, version 3 (POP3) and Internet Mail Access Protocol, version 4 (IMAP4).
POP3 Post Office Protocol, version 3 (POP3) is simple and limited in functionality. The client POP3 software is installed on the recipient computer; the server POP3 software is installed on the mail server. Mail access starts with the client when the user needs to download e-mail from the mailbox on the mail server. POP3 has two modes: the delete mode and the keep mode. In the delete mode, the mail is deleted from the mailbox after each retrieval. In the keep mode, the mail remains in the mailbox after retrieval. The delete mode is normally used when the user is working
at her permanent computer and can save and organize the received mail after reading or replying. The keep mode is normally used when the user accesses her mail away from her primary computer (e.g., a laptop). The mail is read but kept in the system for later retrieval and organizing. IMAP4 Another mail access protocol is Internet Mail Access Protocol, version 4 (IMAP4). IMAP4 is similar to POP3, but it has more features; IMAP4 is more powerful and more complex
POP SERVER AND SMTP SERVER: POP3 POP3 stands for Post Office Protocol. POP3 allows an email client to download an email from an email server. The POP3 protocol is simple and does not offer many features except for download. Its design assumes that the email client downloads all available email from the server, deletes them from the server and then disconnects. POP3 normally uses port 110. It provides a simple, standardized way for users to access mailboxes and download messages to their computers. When using the POP protocol all your eMail messages will be downloaded from the mail server to your local computer. You can choose to leave copies of your eMails on the server as well. The advantage is that once your messages are downloaded you can cut the internet connection and read your eMail at your leisure without incuring further communication costs. On the other hand you might have transferred a lot of message (including spam or viruses) in which you are not at all interested at this point.
Post Office Protocol (POP) is a type of computer networking and Internet standard protocol that extracts and retrieves email from a remote mail server for access by the host machine.
POP is an application layer protocol in the OSI model that provides end users the ability to fetch and receive email. Post Office Protocol is the primary protocol behind email communication. POP works through a supporting email software client that integrates POP for connecting to the remote email server and downloading email messages to the recipient’s computer machine. POP uses the TCP/IP protocol stack for network connection and works with Simple Mail Transfer Protocol (SMTP) for end-to-end email communication, where POP pulls messages and SMTP pushes them to the server. As of 2012, Post Office Protocol is in its third version known as POP 3 and is commonly used in most email client/server communication architecture.
SMTP What is an SMTP Server? SMTP is an acronym that stands for “simple mail transfer protocol”. In the simplest possible terms, an SMTP server is a server or collection of servers whose sole purpose is to send and receive messages in the form of emails. From a technical standpoint, an SMTP server is built just like any other server – it’s the function of an SMTP server that sets it apart. SMTP servers will also have their own dedicated address or set of addresses that will be determined by the client using the server.
How an Email Goes from the Sender to the Receiver Compared to many advances of the digital age, sending and receiving an email may seem like a fairly basic process. However, there’s still a lot that goes on when you hit “send”. The process for how an email goes from the sender to the receiver is as follows: You compose and send an email using your mail client from your address (i.e.
[email protected]) to the address of the email recipient (i.e.
[email protected]). Once you hit “send”, the email is sent via port 25 to an SMTP server, which has its own address (i.e. mail.websitename.com).
This SMTP server acts as a Message Transfer Agent (MTA) and is given to your mail client when you set it up. The mail client and the SMTP server relay information regarding your email back and forth, with the SMTP server checking the transmission data of the email such as its sender, its recipient, the domains of each, and so on. However, the SMTP server does not check the body content of the email. If the recipient of your email has an account where the domain is directly connected to the SMTP server then the email is delivered right away. If they do not have an account where the domain is directly connected to the SMTP server then the SMTP server relays the message to an incoming server that is closer to the recipient. This process continues until the message is delivered to a server that is connected directly to the recipient’s domain, at which point the email is delivered. If the recipient’s server is down or busy then the SMTP server simply stores the message in a backup server. If no backup server is available then the message is queued and the SMTP server will attempt to redeliver it periodically until a successful delivery is accomplished. After a certain number of unsuccessful delivery attempts, though, the message is returned to the sender and the sender is notified that it was not successfully delivered. Benefits of Using Your Own SMTP Server SMTP servers employed by Gmail, Yahoo, and others are shared among users. In most cases this is a fine solution, but when sending out mass emails it can be a problem. For one, you may end up using an IP address to deliver your messages that is also used by a spammer, which can cause them to not be delivered correctly. You may also not be able to send as many emails as you would like since email service providers often impose strict limits on the number of emails that can be sent out in a given time period. Yahoo, for example, lets you send out no more than 100 emails an hour. By setting up your own SMTP server, though, these issues are avoided since you will have your own dedicated IP address for your private use as well as no limits on the number of emails that you can send out.
Conclusion Emails and the SMTP servers that manage them play an invaluable role in modern business. If you would like to put together an email marketing campaign that is fully-functional and completely professional, setting up your own SMTP server is an excellent option to consider along with specific providers of these type of services. Servers Australia can provide you with the Underlying infrastructure that an SMTP server resides on and if you need someone who can set one up and manage it for you then we can also point you in the right direction. FILE TRANSFER OPERATION USING FTP:
File Transfer Protocol (FTP): File Transfer Transferring files from one computer to another is one of the most common tasks expected from a networking or internetworking environment. As a matter of fact, the greatest volume of data exchange in the Internet today is due to file transfer. File Transfer Protocol (FTP) is the standard mechanism provided by TCP/IP for copying a file from one host to another. Although transferring files from one system to another seems simple and straightforward, some problems must be dealt with first. FTP differs from other client/server applications in that it establishes two connections between the hosts. One connection is used for data transfer, the other for control information (commands and responses). Separation of commands and data transfer makes FTP more efficient. The control connection uses very simple rules of communication. We need to transfer only a line of command or a line of response at a time. The data connection, on the other hand, needs more complex rules due to the variety of data types transferred. However, the difference in complexity is at the FTP level, not TCP. For TCP, both connections are treated the same. FTP uses two well-known TCP ports: Port 21 is used for the control connection, and port 20 is used for the data connection.
The client has three components: user interface, client control process, and the client data transfer process. The server has two components: the server control process and the server data transfer process. The control connection is made between the control processes. The data connection is made between the data transfer processes.
The control connection remains connected during the entire interactive FTP session. The data connection is opened and then closed for each file transferred. It opens each time commands that involve transferring files are used, and it closes when the file is transferred. In other words, when a user starts an FTP session, the control connection opens. While the control connection is open, the data connection can be opened and closed multiple times if several files are transferred. 1. Communication over Control Connection FTP uses the same approach as SMTP to communicate across the control connection. It uses the 7-bit ASCII character set. Communication is achieved through commands and responses. This simple method is adequate for the control connection because we send one command (or response) at a time. Each command or response is only one short line, so we need not worry about file format or file structure. Each line is terminated with a two-character (carriage return and line feed) end-of-line token.
2. Communication over Data Connection The purpose of the data connection is different from that of the control connection. We want to transfer files through the data connection. File transfer occurs over the data connection under the control of the commands sent over the control connection. However, we should remember that file transfer in FTP means one of three things: A file is to be copied from the server to the client. This is called retrieving aft/e. It is done under the supervision of the RETR command. A file is to be copied from the client to the server. This is called storing aft/e. It is done under the supervision of the STOR command. A list of directory or file names is to be sent from the server to the client. This is done under the supervision of the LIST command. Note that FTP treats a list of directory or file names as a file. It is sent over the data connection. The client must define the type of file to be transferred, the structure of the data, and the transmission mode. Before sending the file through the data connection, we prepare for transmission through the control connection. The heterogeneity
problem is resolved by defining three attributes of communication: file type, data structure, and transmission mode
File Type: FTP can transfer one of the following file types across the data connection: an ASCII file, EBCDIC file, or image file. The ASCII file is the default format for transferring text files. Each character is encoded using 7-bit ASCII. The sender transforms the file from its own representation into ASCII characters, and the receiver transforms the ASCII characters to its own representation. Data Structure FTP can transfer a file across the data connection by using one of the following interpretations about the structure of the data: file structure, record structure, and page structure. In the file structure format, the file is a continuous stream of bytes. In the record structure, the file is divided into records. Transmission Mode FTP can transfer a file across the data connection by using one of the following three transmission modes: stream mode, block mode, and compressed mode. The stream mode is the default mode. Data are delivered from FTP to TCP as a continuous stream of bytes. TCP is responsible for chopping data into segments of appropriate size. If the data are simply a stream of bytes (file structure), no end-offile is needed. End-of-file in this case is the closing of the data connection by the sender.
WORKING OF WEB SERVER: Web server is a computer where the web content is stored. Basically web server is used to host the web sites but there exists other web servers also such as gaming, storage, FTP, email etc. Web site is collection of web pages whileweb server is a software that respond to the request for web resources.
Web Server Working Web server respond to the client request in either of the following two ways:
Sending the file to the client associated with the requested URL.
Generating response by invoking a script and communicating with database
Key Points
When client sends request for a web page, the web server search for the requested page if requested page is found then it will send it to client with an HTTP response.
If the requested web page is not found, web server will the send an HTTP response:Error 404 Not found.
If client has requested for some other resources then the web server will contact to the application server and data store to construct the HTTP response.
Architecture Web Server Architecture follows the following two approaches: 1. Concurrent Approach 2. Single-Process-Event-Driven Approach.
Concurrent Approach Concurrent approach allows the web server to handle multiple client requests at the same time. It can be achieved by following methods:
Multi-process
Multi-threaded
Hybrid method.
Multi-processing In this a single process (parent process) initiates several single-threaded child processes and distribute incoming requests to these child processes. Each of the child processes are responsible for handling single request. It is the responsibility of parent process to monitor the load and decide if processes should be killed or forked.
Multi-threaded Unlike Multi-process, it creates multiple single-threaded process.
Hybrid It is combination of above two approaches. In this approach multiple process are created and each process initiates multiple threads. Each of the threads handles one connection. Using multiple threads in single process results in less load on system resources.
Examples Following table describes the most leading web servers available today: S.N.
Web Server Descriptino
1
Apache HTTP Server This is the most popular web server in the world developed by the Apache Software Foundation. Apache web server is an open source software and can be installed on almost all operating systems including Linux, UNIX, Windows, FreeBSD, Mac OS X and more. About 60% of the web server machines run the Apache Web Server.
2.
Internet Information Services (IIS) The Internet Information Server (IIS) is a high performance Web Server from Microsoft. This web server runs on Windows NT/2000 and 2003 platforms (and may be on upcoming new Windows version also). IIS comes bundled with Windows NT/2000 and 2003; Because IIS is tightly integrated with the operating system so it is relatively easy to administer it.
3.
Lighttpd The lighttpd, pronounced lighty is also a free web server that is distributed with the FreeBSD operating system. This open source web server is fast, secure and consumes much less CPU power. Lighttpd can also run on Windows, Mac OS X, Linux and Solaris operating systems.
4.
Sun Java System Web Server This web server from Sun Microsystems is suited for medium and large web sites. Though the server is free it is not open source. It however, runs on Windows, Linux and UNIX platforms. The Sun Java System web server supports various languages, scripts and technologies required for Web 2.0 such as JSP, Java Servlets, PHP, Perl, Python, and Ruby on Rails, ASP and Coldfusion etc.
5.
Jigsaw Server Jigsaw (W3C's Server) comes from the World Wide Web Consortium. It is open source and free and can run on various platforms like Linux, UNIX, Windows, and Mac OS X Free BSD etc. Jigsaw has been written in Java and can run CGI scripts and PHP programs.
Web browser architecture:
Web Browser
web Browser is an application software that allows us to view and explore information on the web. User can request for any web page by just entering a URL into address bar. Web browser can show text, audio, video, animation and more. It is the responsibility of a web browser to interpret text and commands contained in the web page. Earlier the web browsers were text-based while now a days graphical-based or voice-based web browsers are also available. Following are the most common web browser available today: Browser
Vendor
Internet Explorer
Microsoft
Google Chrome
Google
Mozilla Firefox
Mozilla
Netscape Navigator
Netscape Communications Corp.
Opera
Opera Software
Safari
Apple
Sea Monkey
Mozilla Foundation
K-meleon
K-meleon
Architecture There are a lot of web browser available in the market. All of them interpret and display information on the screen however their capabilities and
structure varies depending upon implementation. But the most basic component that all web browser must exhibit are listed below:
Controller/Dispatcher
Interpreter
Client Programs
Controller works as a control unit in CPU. It takes input from the keyboard or mouse, interpret it and make other services to work on the basis of input it receives. Interpreter receives the information from the controller and execute the instruction line by line. Some interpreter are mandatory while some are optional For example, HTML interpreter program is mandatory and java interpreter is optional. Client Program describes the specific protocol that will be used to access a particular service. Following are the client programs tat are commonly used:
HTTP
SMTP
FTP
NNTP
POP
Starting Internet Explorer Internet explorer is a web browser developed by Microsoft. It is installed by default with the windows operating system howerver, it can be downloaded and be upgraded. To start internet explorer, follow the following steps:
Go to Start button and click Internet Explorer.
The Internet Explorer window will appear as shown in the following diagram:
Accessing Web Page Accessing web page is very simple. Just enter the URL in the address bar as shown the following diagram:
Navigation A web page may contain hyperlinks. When we click on these links other web page is opened. These hyperlinks can be in form of text or image. When we take the mouse over an hyperlink, pointer change its shape to hand.
Key Points
In case, you have accessed many web pages and willing to see the previous webpage then just click back button.
You can open a new web page in the same tab, or different tab or in a new window.
Saving Webpage You can save web page to use in future. In order to save a webpage, follow the steps given below:
Click File > Save As. Save Webpage dialog box appears.
Choose the location where you want to save your webpage from save in: list box. Then choose the folder where you want to save the webpage.
Specify the file name in the File name box.
Select the type from Save as type list box. o Webpage, complete o Web Archive o Webpage HTML only o Text File
From the encoding list box, choose the character set which will be used with your webpage. By default, Western European is selected.
Click save button and the webpage is saved.
Saving Web Elements Web elements are the pictures, links etc. In order to save these elements follow the steps given below:
Right click on the webpage element you want to save. Menu options will appear. These options may vary depending on the element you want to save.
Save Picture As: This option let you save the picture at specific location with its name. When you click this option, a dialog box is opened where you can sepcify its name and location.
Favourites The Favourites option helps to save addresses of the webpages you visited oftenly. Hence you need not to remember long and complex address of websites you visit often. In order to open any webpage, you just need to double click on the webpage that you have marked from bookmarks list. ADDING A WEB PAGE TO YOUR FAVOURITES
In ordered to add website to your favourite list, follow the steps given below:
Open webpage that you want to add to your favourite.
Click
on favourite
menu and
then
click
on Add
to
Favourites opton. Addfavourites dialog box appears. You can also click Favourites button available in the toolbar. Favourites panel will open in the left corner of the internet explorer window. Click add button, AddFavourites dialog box will apppear.
In AddFavourites dialog box, the Name: text box will contains the name of the web page that you want to add to favourites.
Click the Create in button, Favoutites folder will appear. Move to the folder where you want to store the favourites by clicking on the folder name.
Now click OK button to save the favourites.
OPENING FAVOURITES
In order to open favourites, follow the steps given below:
In the Favourite Panel, take the mouse over the site that you want to open. Now click on the address to open that site.
Favourite can also be opened from the Favourites menu by selecting the appropriate one.
ORGANIZING FAVOURITES
Favourites can be organized by categorizing web pages, creating folder for each category and then storing web pages into them. In order to organize favourites, follow the steps given below:
Click Favourites menu > Organize Favourites. Organize favourites dialog box will appears.
In order to organize the webpages, drag the individual webpage to the respective folder. Similarly to delete a favourite, Click on deletebutton.
INTERNAL ARCHITECTURE OF ISP: The architecture of the Internet is ever-changing due to continuous changes in the technologies as well as the nature of the service provided. The heterogeneity and vastness of the Internet make it difficult to describe every aspect of its architecture. The overall architecture can be described in three levels: 1. Backbone ISP (Internet Service Provider) 2. Regional ISPs 3. Clients The following diagram shows the three levels:
Backbone ISP (Internet Service Provider): Backbone ISPs are large international backbone networks. They are equipped with thousands of routers and store enormous amounts of information in data centers, connected through high bandwidth fiber optic links. Everyone needs to connect with a backbone ISP to access the entire Internet. There are different ways through which a client can connect to the ISP. A commonly used way is DSL (Digital Subscriber Line) which reuses the telephone connection of the user for transmission of digital data. The user uses a dial-up connection instead of the telephone call. Connectivity is also done by sending signals over cable TV system that reuses unused cable TV channels for data transmission. For high-speed Internet access, the connectivity can be done through FTTH (Fiber to the Home), that uses optical fibers for transmitting data. Nowadays, most Internet access is done through the wireless connection to mobile phones from fixed subscribers, who transmit data within their coverage area.
Purpose of PROXY SERVER: Proxy server is an intermediary server between client and the internet. Proxy servers offers the following basic functionalities:
Firewall and network data filtering.
Network connection sharing
Data caching
Proxy servers allow to hide, conceal and make your network id anonymous by hiding your IP address.
Purpose of Proxy Servers Following are the reasons to use proxy servers:
Monitoring and Filtering
Improving performance
Translation
Accessing services anonymously
Security
Monitoring and Filtering Proxy servers allow us to do several kind of filtering such as:
Content Filtering
Filtering encrypted data
Bypass filters
Logging and eavesdropping
Improving performance It fasten the service by process of retrieving content from the cache which was saved when previous request was made by the client.
Translation It helps to customize the source site for local users by excluding source content or substituting source content with original local content. In this the traffic from the global users is routed to the source website through Translation proxy.
Accessing services anonymously In this the destination server receives the request from the anonymzing proxy server and thus does not receive information about the end user.
Security Since the proxy server hides the identity of the user hence it protects from spam and the hacker attacks.
Type of Proxies Following table briefly describes the type of proxies:
Forward Proxies In this the client requests its internal network server to forward to the internet.
Open Proxies Open Proxies helps the clients to conceal their IP address while browsing the web.
Reverse Proxies In this the requests are forwarded to one or more proxy servers and the response from the proxy server is retrieved as if it came directly from the original Server.
Architecture The proxy server architecture is divided into several modules as shown in the following diagram:
Proxy user interface This module controls and manages the user interface and provides an easy to use graphical interface, window and a menu to the end user. This menu offers the following functionalities:
Start proxy
Stop proxy
Exit
Blocking URL
Blocking client
Manage log
Manage cache
Modify configuration
Proxy server listener It is the port where new request from the client browser is listened. This module also performs blocking of clients from the list given by the user.
Connection Manager It contains the main functionality of the proxy server. It performs the following functions:
It contains the main functionality of the proxy server. It performs the following functions:
Read request from header of the client.
Parse the URL and determine whether the URL is blocked or not.
Generate connection to the web server.
Read the reply from the web server.
If no copy of page is found in the cache then download the page from web server else will check its last modified date from the reply header and accordingly will read from the cache or server from the web.
Then it will also check whether caching is allowed or not and accordingly will cache the page.
Cache Manager This module is responsible for storing, deleting, clearing and searching of web pages in the cache.
Log Manager This module is responsible for viewing, clearing and updating the logs.
Configuration This module helps to create configuration settings which in turn let other modules to perform desired configurations such as caching.
Explain REMOTE LOGIN: A client/server model can create a mechanism that allows a user to establish a session on the remote machine and then run its applications. This application is known as remote login. This can be done by a client/server application program for the desired service. Two remote login protocols are TELNET and SSH. TELNET Protocol TELNET (terminal network) is a TCP/IP standard for establishing a connection to a remote system. TELNET allows a user to log in to a remote machine across the Internet by first making a TCP connection and then pass the detail of the application from the user to the remote machine..
Logging to Remote Servers With TELNET, an application program on the user's machine becomes the client. The user's keyboard and its monitor also attach directly to the remote server. The remotelogging operation is based on timesharing, whereby an authorized user has a login name and a password. TELNET has the following properties. • Client programs are built to use the standard client/server interfaces without knowing the details of server programs. • A client and a server can negotiate data format options. • Once a connection is established through TELNET, both ends of the connection are treated symmetrically. When a user logs in to a remote server, the client's terminal driver accepts the keystrokes and interprets them as characters by its operating system. Characters are typically transformed to a universal character set called network virtual terminal (NVT), which uses 7-bit USASCII representation for data. The client then establishes a TCP connection to the server. Texts in the NVT format are transmitted using a TCP session and are delivered to the operating system of the remote server. The server converts the characters back from NVT to the local client machine's format. Secure Shell (SSH) Protocol Secure Shell (SSH), another remote login protocol, is based on UNIX programs. SSH uses TCP for communications but is more powerful and flexible than TELNET and allows the user to more easily execute a single command on a remote client. SSH has the following advantages over TELNET. • SSH provides a secure communication by encrypting and authenticating messages. • SSH provides several additional data transfers over the same connection by multiplexing multiple channels that are used for remote login. SSH security is implemented by using public-key encryption between the client and remote servers. When a user establishes a connection to a remote server, the data being transmitted remains confidential even if an intruder obtains a copy of the packets sent over an SSH connection. SSH also implements an authentication process on messages so that a server can find out and verify the host attempting to form a connection. Normally, SSH requires users to enter a private password. The advantage of port forwarding is that application data can be passed between two sites the client and the second server without requiring a second client and
server the first server as a client and the second server.Figure 5.7 shows the format of an SSH packet.
Padding causes an intrusion to be more difficult.
• Type identifies the type of message. • CRC, or cyclic redundancy check, is an error-detection field
Length indicates the size of the packet, not including the length field or the variablelength random padding field that follows it.